:root{
  --ink:#183044;--muted:#607286;--line:#d9e1e8;--canvas:#f3f6f8;--card:#ffffff;
  --brand:#0f4c70;--brand-deep:#0b3854;--brand-soft:#e7f0f5;--good:#1b6a52;
  --danger:#a84136;--warn:#9a6410;--focus:#276d99;
}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.003em;background:var(--canvas)}
body::before{display:none}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:20;background:#fff;color:var(--brand-deep);padding:.65rem .85rem;border:1px solid var(--line);border-radius:.35rem;font-weight:700}.skip-link:focus{top:1rem}
.sidebar{width:16.5rem;padding:1.35rem .8rem;background:#123752;box-shadow:none}.brand{margin:0 .65rem 1.85rem}.brand span,.mark{background:#d6e7ee;color:#123752;border-radius:.45rem}.brand b{font-size:1rem;letter-spacing:.06em}.brand small{color:#aec4d1}.sidebar nav{gap:.18rem}.sidebar nav a{border-radius:.35rem;padding:.66rem .75rem;font-size:.88rem;transition:background-color .16s ease,color .16s ease}.sidebar nav a:hover{transform:none;background:#1e4a67}.sidebar nav a.active{background:#285b79;box-shadow:inset 3px 0 0 #8dc3cf}.profile{margin:.9rem .15rem 0;padding:1rem .6rem;border-color:#41657d}
.main{margin-left:16.5rem;padding:2rem clamp(1.25rem,3vw,3rem) 3.5rem;max-width:108rem}header{padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}h1{font-size:clamp(1.5rem,2vw,1.9rem);font-weight:720;letter-spacing:-.025em}h2{letter-spacing:-.012em}.role-pill{border:1px solid #c8dce6;background:var(--brand-soft);color:var(--brand-deep);border-radius:.35rem}
.filter,.toolbar{padding:.85rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:.45rem;box-shadow:none}.filter{margin-bottom:1.2rem}.toolbar{margin-bottom:1.2rem}.filter label{font-size:.76rem}input,select,textarea{border-color:#bdcad4;border-radius:.35rem;min-height:2.45rem}input:hover,select:hover,textarea:hover{border-color:#829caf}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px #276d991f;outline:0}
.cards{gap:.75rem;margin-bottom:1rem}.cards article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:.45rem;padding:1.1rem 1.15rem;box-shadow:none}.cards article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#6d91a6}.cards article:nth-child(2)::before{background:#39789e}.cards article:nth-child(3)::before{background:#4d8a79}.cards article:nth-child(4)::before{background:#ad7252}.cards b{font-size:1.42rem;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.cards small{font-size:.77rem}
.grid{gap:1rem}.panel{border:1px solid var(--line);border-radius:.45rem;padding:1.1rem 1.15rem;box-shadow:none}.panel-title{padding-bottom:.8rem;margin-bottom:.1rem;border-bottom:1px solid #e9eef2}.panel-title h2{font-size:1rem}.panel-title a{color:var(--brand);text-decoration:none;font-weight:650}.panel-title a:hover{text-decoration:underline}
table{font-size:.86rem}th{background:#f6f8fa;color:#506477;font-weight:750;letter-spacing:.045em;padding:.7rem .65rem}td{padding:.78rem .65rem}tbody tr{transition:background-color .14s ease}tbody tr:hover{background:#f1f6f8}td,th{font-variant-numeric:tabular-nums}.meter{vertical-align:middle}.meter i{background:#367a70}.alert-row{padding:.85rem 0}.status{border-radius:.3rem;font-size:.71rem;letter-spacing:.02em}.note{padding:1rem 0}.note>div:first-child b{font-size:.94rem}.note-actions{margin-top:.7rem}
button,.button{border-radius:.35rem;padding:.58rem .85rem;font-size:.86rem;box-shadow:none}.secondary{border:1px solid #cbd6de;background:#f8fafb;color:#27445a}.success{background:var(--good)}.form{gap:.85rem}.form h2{font-size:1.08rem}.form label{font-size:.78rem}.empty{padding:2rem 0;text-align:center}.report-head{padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:.45rem;margin:0 0 1rem}.report-head h2{font-size:1.42rem}
.auth{position:relative;isolation:isolate;background:#123752;overflow:hidden}.auth::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 4.8rem,#ffffff08 4.8rem,#ffffff08 4.86rem);pointer-events:none}.auth::after{content:"";position:absolute;width:28rem;height:28rem;right:-16rem;bottom:-18rem;border:1px solid #ffffff2e;border-radius:50%;pointer-events:none}.auth-card{position:relative;width:min(27rem,100%);border:0;border-radius:.55rem;padding:2.2rem;background:#fff;box-shadow:0 1.5rem 3.5rem #061d302e}.auth-card::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#8dc3cf;border-radius:.55rem .55rem 0 0}.auth-card .mark{box-shadow:none}.auth-card h1{font-size:clamp(1.5rem,4vw,1.85rem);line-height:1.12;margin:.3rem 0 .65rem}.auth-card p{line-height:1.55}.auth-card button{width:100%;margin-top:.35rem}.auth-card small{line-height:1.5}.eyebrow{margin:0!important;color:var(--brand)!important;font-size:.72rem;font-weight:800;letter-spacing:.095em;text-transform:uppercase}.setup-card{width:min(34rem,100%)}.setup-list{margin:1rem 0 1.25rem;padding:0;list-style:none;display:grid;gap:.55rem}.setup-list li{position:relative;padding:.7rem .8rem .7rem 2.2rem;border:1px solid #ead2bc;border-radius:.35rem;background:#fff8f1;color:#804a12;font-size:.85rem;line-height:1.45}.setup-list li::before{content:"!";position:absolute;left:.75rem;top:.66rem;display:grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:#9a6410;color:#fff;font-size:.72rem;font-weight:800}
.onboarding{max-width:48rem;padding:clamp(1.5rem,4vw,2.5rem);background:#fff;border-left:4px solid #8dc3cf}.onboarding h2{font-size:clamp(1.25rem,3vw,1.65rem);margin:.4rem 0 .7rem}.onboarding .muted{max-width:38rem;line-height:1.65;margin-bottom:1.25rem}.onboarding .button{margin-top:.25rem}
.trend-panel{margin-top:1rem}.trend-bars{height:10rem;display:grid;grid-template-columns:repeat(12,minmax(1.3rem,1fr));gap:.65rem;align-items:end;padding:.9rem .25rem 0}.trend-bar{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.trend-bar span{display:block;width:100%;min-height:3px;background:#39789e;border-radius:.18rem .18rem 0 0;transition:height .2s ease}.trend-bar small{color:var(--muted);font-size:.68rem}
@media(max-width:1020px){.sidebar{width:14rem}.main{margin-left:14rem}}@media(max-width:720px){.sidebar{width:auto;box-shadow:none}.main{margin:0;padding:1rem}.main header{padding-top:.5rem}.filter,.toolbar{border-radius:.4rem}.cards{gap:.7rem}table{font-size:.8rem}.auth-card{padding:1.65rem}}
