:root{font:16px/1.5 system-ui,sans-serif;color:#142622;background:#f0f4f2;--ink:#142622;--muted:#526760;--line:#d7e2dd;--green:#155a46}
*{box-sizing:border-box}
body{margin:0}
header{background:#143d33;color:white;padding:1rem 1.25rem}
header div,main{max-width:1024px;margin:auto}
.brand{font-size:.78rem;font-weight:750;letter-spacing:.14em;margin-right:1rem}
main{padding:2.25rem 1.25rem 4rem}
.intro{margin-bottom:1.65rem}
h1,h2,p{margin:0}
h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.035em;margin:.25rem 0 .65rem}
h2{font-size:1.15rem;margin-bottom:.75rem}
.eyebrow{color:var(--green);font-size:.75rem;font-weight:750;letter-spacing:.13em}
.intro p:last-child,.hint,.empty,small{color:var(--muted)}
section{background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.4rem;margin-bottom:1rem}
.month{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}
label{font-size:.88rem;font-weight:650;display:grid;gap:.25rem}
input,select,button{font:inherit;color:var(--ink);border-radius:6px;border:1px solid #a3b8b0;padding:.49rem .68rem;background:white}
button{background:var(--green);border-color:var(--green);color:white;cursor:pointer;font-weight:650}
button.secondary{background:white;color:var(--green)}
button:hover,a:hover{filter:brightness(.85)}
a{color:var(--green);text-underline-offset:.18em}
.hint{font-size:.88rem;margin-top:.6rem;overflow-wrap:anywhere}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.85rem}
.metrics div{border-top:2px solid var(--line);padding-top:.65rem}
.metrics span{display:block;font-size:.9rem;color:var(--muted)}
.metrics strong{font-size:clamp(1.1rem,3vw,1.65rem);font-variant-numeric:tabular-nums}
.table{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .25rem;vertical-align:top;overflow-wrap:anywhere}
th{font-size:.85rem;color:var(--muted)}
small{display:block;margin-top:.2rem}
.table+button{margin-top:1rem}
.notice{padding:.65rem 1rem;border:1px solid #b0d5c3;background:#e8f7ef;border-radius:7px;margin-bottom:1rem}
.notice.error{background:#fff0ef;border-color:#e6a7a3;color:#742e2b}
@media(max-width:560px){section{padding:1rem}.metrics{grid-template-columns:1fr}th:first-child,td:first-child{min-width:170px}}

:root{color:#182943;background:#f2f5f9;--ink:#182943;--muted:#576b89;--line:#d7e1ef;--green:#1258c8}
.workspace{display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh}
.sidebar{background:#112039;color:#b9c9e0;padding:26px 14px;display:flex;flex-direction:column}
.sidebar .brand{display:block;margin:0}
.brand img{display:block;width:176px;max-width:100%;height:auto}
.product,.sidebar nav p{text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;font-weight:650}
.product{margin-top:14px}
.sidebar nav{margin-top:36px;display:grid;gap:7px}
.sidebar nav p{margin:0 12px 9px}
.sidebar nav a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:8px;color:inherit;text-decoration:none;font-size:.9rem;font-weight:650}
.sidebar nav a[aria-current],.sidebar nav a:hover{background:#223c61;color:white;filter:none}
.sidebar-user{margin-top:auto;padding-top:18px;border-top:1px solid #2d4262;font-size:.85rem;overflow-wrap:anywhere}
.work-area{min-width:0}
.topbar{min-height:71px;background:white;color:var(--muted);padding:10px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem}
.topbar div{margin:0}
.top-actions,.user-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#344b6a;color:white;font-weight:700}
main{max-width:1300px;margin:0 auto;padding:32px 36px 48px}
h1{font-size:clamp(1.65rem,3vw,2rem);letter-spacing:-.035em}
input,select,button{border-color:#cbd8e9}
button{border-color:var(--green)}
button.secondary{color:var(--ink);border-color:var(--line)}
input{min-width:0;width:100%}
.stack{display:grid;gap:14px;justify-items:start}
.stack label,.form-grid{width:100%}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.login-panel{max-width:540px}
.user-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.user-row strong,.user-row small{overflow-wrap:anywhere}
.user-actions details{min-width:160px}
.user-actions summary{color:var(--green);cursor:pointer}
.user-actions details form{padding-top:8px}
@media(max-width:760px){.workspace{grid-template-columns:1fr}.sidebar{padding:16px}.brand img{width:145px}.product,.sidebar nav p,.sidebar-user{display:none}.sidebar nav{display:flex;flex-wrap:wrap;margin-top:10px}.sidebar nav a{padding:7px 9px}.topbar{padding:10px 16px;min-height:56px}main{padding:24px 16px}.user-row{flex-direction:column}}
@media(max-width:460px){.form-grid{grid-template-columns:1fr}.top-actions{gap:6px}.avatar{display:none}}
