:root{--cfrs-red:#b71924;--cfrs-red-dark:#8f121b;--cfrs-dark:#292a2a;--cfrs-grey:#505252;--cfrs-muted:#6d7171;--cfrs-bg:#f4f5f5;--cfrs-border:#dfe2e2;--cfrs-green:#18794e;--cfrs-amber:#a85d00;--space:8px}*{box-sizing:border-box}body{background:var(--cfrs-bg);color:var(--cfrs-dark)}.portal-header{height:64px;background:var(--cfrs-dark);color:#fff;padding:0 max(3vw,20px);display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:1020;border-bottom:3px solid var(--cfrs-red)}.portal-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.05rem;font-weight:750;white-space:nowrap}.brand-mark{background:var(--cfrs-red);border-radius:5px;padding:5px 7px;font-size:.78rem;letter-spacing:.06em}.portal-topnav{display:flex;align-items:stretch;height:100%;gap:4px;margin-right:auto}.portal-topnav a{display:flex;align-items:center;color:#e7e9e9;text-decoration:none;padding:0 12px;border-bottom:3px solid transparent;font-size:.9rem}.portal-topnav a:hover,.portal-topnav a:focus-visible{color:#fff;border-color:var(--cfrs-red)}.portal-account{position:relative}.portal-account summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer}.portal-account summary::-webkit-details-marker{display:none}.account-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--cfrs-red);font-weight:800}.account-name{font-size:.9rem}.account-menu{position:absolute;right:0;top:45px;width:230px;background:#fff;color:var(--cfrs-dark);border:1px solid var(--cfrs-border);border-radius:10px;padding:16px;box-shadow:0 14px 35px #0002}.account-menu small{display:block;color:var(--cfrs-muted);margin:2px 0 14px}.account-menu form{margin:0}.portal-main{max-width:1240px;margin:auto;padding:26px 24px 72px}.mobile-nav{display:none}.dashboard-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.dashboard-intro h1{font-size:clamp(1.55rem,3vw,2rem);line-height:1.15;margin:2px 0 5px}.dashboard-intro p{margin:0;color:var(--cfrs-muted)}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;color:var(--cfrs-red)!important}.dashboard-section,.attention-panel{margin-bottom:30px;scroll-margin-top:82px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:1.18rem;margin:0;font-weight:750}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.status-card{background:#fff;border:1px solid var(--cfrs-border);border-radius:12px;padding:16px;color:var(--cfrs-dark);text-decoration:none;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;min-height:88px}.status-card:hover{border-color:#aeb4b4;box-shadow:0 4px 14px #0000000c}.status-number{font-size:1.8rem;font-weight:800;grid-row:span 2;color:var(--cfrs-dark)}.status-danger .status-number{color:var(--cfrs-red)}.status-card strong{font-size:.96rem}.status-card small{color:var(--cfrs-muted)}.status-card.status-danger{border-left:4px solid var(--cfrs-red);background:#fff8f8}.attention-panel{background:#fff;border:1px solid #edc3c6;border-radius:12px;padding:18px}.attention-panel .section-heading{margin-bottom:8px}.attention-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 8px;color:var(--cfrs-dark);text-decoration:none;border-top:1px solid #eceeee}.attention-row strong,.attention-row small{display:block}.attention-row small{color:var(--cfrs-muted);margin-top:2px}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--cfrs-red)}.attention-warning .status-dot{background:#df8500}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-tile{position:relative;background:#fff;border-radius:12px;border:1px solid var(--cfrs-border);padding:16px;text-decoration:none;color:var(--cfrs-dark);min-height:104px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;box-shadow:0 2px 8px #00000006;transition:transform .15s,border-color .15s,box-shadow .15s}.portal-tile:hover{border-color:#bdc2c2;transform:translateY(-1px);box-shadow:0 5px 15px #0000000d;color:var(--cfrs-dark)}.tile-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#f8e8e9;color:var(--cfrs-red)}.tile-icon svg{width:23px;height:23px}.tile-copy{min-width:0}.tile-copy strong{display:block;font-size:1.02rem;line-height:1.25}.tile-status{display:flex;align-items:center;gap:5px;color:var(--cfrs-muted);font-size:.82rem;margin-top:7px}.tile-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#929797;flex:none}.tile-status-danger{color:var(--cfrs-red)}.tile-status-danger:before{background:var(--cfrs-red)}.tile-status-warning{color:var(--cfrs-amber)}.tile-status-warning:before{background:#df8500}.tile-status-success{color:var(--cfrs-green)}.tile-status-success:before{background:var(--cfrs-green)}.tile-arrow{color:#858a8a;font-size:1.2rem}.tile-badge{position:absolute;right:10px;top:8px;background:var(--cfrs-red);color:#fff;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:bold}.dashboard-admin-links{display:flex;gap:18px;flex-wrap:wrap;padding-top:4px}.portal-panel{background:#fff;border:1px solid var(--cfrs-border);border-radius:12px;padding:22px;margin-bottom:20px}.portal-search{display:flex;gap:10px;margin-bottom:22px}.portal-search input{min-width:0}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalog-card{background:#fff;border:1px solid var(--cfrs-border);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--cfrs-dark)}.catalog-card img{width:100%;height:150px;object-fit:contain;background:#f0f1f1}.catalog-card .body{padding:16px}.catalog-card h2{font-size:1.1rem}.portal-main .table{min-width:600px}.muted{color:var(--cfrs-muted)}.form-control,.form-select{min-height:44px}.portal-main .btn{min-height:40px}.service-result,.record-details{white-space:pre-wrap}.compact-form{max-width:760px}.module-empty{padding:28px;border:1px dashed #bdbfbe;border-radius:10px;background:#fafafa}.portal-main a:focus-visible,.portal-main button:focus-visible,.portal-header a:focus-visible,.portal-account summary:focus-visible{outline:3px solid #2777ad;outline-offset:3px}.portal-login{background:var(--cfrs-red);min-height:100vh}.portal-login .portal-main{max-width:530px;padding-top:clamp(35px,8vh,85px)}.login-card{background:#fff;border-radius:16px;padding:36px;box-shadow:0 16px 48px #55000840}.login-card h1{font-size:2rem;font-weight:750}.login-crest{height:78px;width:auto;margin-bottom:24px}.login-public{display:block;border:1px solid #ffffff99;color:#fff;border-radius:9px;text-align:center;padding:15px;margin-top:24px;text-decoration:none}.login-public:hover{color:#fff;background:#ffffff15}.portal-hero{background:var(--cfrs-red);color:#fff;padding:24px;border-radius:12px;margin-bottom:24px}.portal-hero p{margin:0;color:#ffe2e4}
@media(max-width:900px){.portal-topnav{display:none}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-name{display:none}}
@media(max-width:600px){body{padding-bottom:66px}.portal-header{height:56px;padding:0 14px}.portal-brand{font-size:.96rem}.portal-main{padding:20px 14px 72px}.dashboard-intro{align-items:start}.dashboard-intro .btn{display:none}.dashboard-intro h1{font-size:1.45rem}.status-grid{gap:9px}.status-card{min-height:82px;padding:12px;grid-template-columns:auto 1fr;column-gap:9px}.status-number{font-size:1.5rem}.portal-grid{gap:9px}.portal-tile{min-height:94px;padding:12px;grid-template-columns:34px 1fr auto;gap:10px}.tile-icon{width:34px;height:34px}.tile-icon svg{width:21px;height:21px}.tile-copy strong{font-size:.94rem}.tile-status{font-size:.75rem;margin-top:5px}.portal-panel{padding:18px}.catalog-grid{gap:10px}.catalog-card img{height:120px}.catalog-card .body{padding:12px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--cfrs-border);z-index:1030;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#555;font-size:.67rem}.mobile-nav svg{width:20px;height:20px}.mobile-nav a:first-child{color:var(--cfrs-red)}.attention-panel{padding:14px}.login-card{padding:24px}.portal-search{gap:7px}}
