:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf0fa;background:#0b1220;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:radial-gradient(circle at 85% 0%,#172948 0,transparent 34rem),#0b1220}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.45}
a{color:#9addbf}
:focus-visible{outline:3px solid #a7e9b9;outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell{max-width:1200px;margin:auto;padding:0 28px}
.site-header{display:flex;justify-content:space-between;align-items:center;min-height:82px;border-bottom:1px solid #29394e}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.07em;font-size:18px}
.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#b6edc5;color:#101e24;font-size:17px;letter-spacing:-.07em}
.brand-dot{color:#a7e9b9}.header-note{font-size:13px;color:#97a7bc}
.hero{padding:57px 0 44px}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:750;color:#a7e9b9;margin:0 0 14px;text-transform:uppercase}
h1{font-size:clamp(43px,6vw,77px);letter-spacing:-.065em;line-height:1.02;margin:0;font-weight:780}
h1 em{font-style:normal;color:#b6edc5}
.hero-copy{max-width:600px;color:#aab8cc;line-height:1.65;margin:21px 0 0;font-size:16px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #29394e;border-bottom:1px solid #29394e}
.period-controls,.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
select,input,textarea{background:#152238;border:1px solid #374963;border-radius:10px;color:#eaf0fa;padding:11px 12px;min-height:43px}
input::placeholder,textarea::placeholder{color:#7f91a8}
#month{min-width:143px}#year{width:90px}
.icon-button{border:1px solid #374963;background:#152238;color:#eaf0fa;border-radius:10px;min-height:43px;min-width:43px;font-size:26px;line-height:1}
.icon-button:hover,.button:hover,.text-button:hover{filter:brightness(1.15)}
.button{border:1px solid #455872;background:#1a2a42;color:#eef5ff;border-radius:10px;padding:10px 14px;min-height:43px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.button-primary{background:#b6edc5;border-color:#b6edc5;color:#11221a}
.button-danger{border-color:#894c5a;background:transparent;color:#ffb8c4}
.upload-label{cursor:pointer}
.text-button{padding:0;border:0;background:transparent;color:#a7e9b9;text-decoration:underline;font-weight:700}
.notice{margin:18px 0;padding:14px 17px;border-left:3px solid #b6edc5;background:#16263b;border-radius:4px;color:#cbd9e8;line-height:1.5}
.notice[hidden],.empty-state[hidden]{display:none}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:27px 0 46px}
.metric{border:1px solid #344761;border-radius:15px;padding:22px 24px;min-height:138px;background:#142237}
.metric>span{display:block;color:#9caec4;font-size:11px;font-weight:750;letter-spacing:.13em}
.metric>strong{display:block;margin:12px 0 4px;font-size:33px;letter-spacing:-.05em;line-height:1.1;font-variant-numeric:tabular-nums}
.metric>small{color:#95a6bc;font-size:12px}
.section{margin:42px 0 54px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 11px}
.section-heading .eyebrow{margin-bottom:6px}
h2{font-size:28px;letter-spacing:-.045em;margin:0;font-weight:730}
.section-intro{color:#9eafc4;font-size:14px;line-height:1.6;margin:0 0 20px;max-width:860px}
.section-intro strong{color:#eaf0fa;font-weight:650}
.compact-select{display:flex;align-items:center;gap:10px;font-size:13px;color:#a6b6ca}
.compact-select select{min-width:85px}
.count{font-size:13px;color:#9eafc4}
.table-scroll{overflow-x:auto;border:1px solid #344761;border-radius:14px;background:#101c2e}
.data-table{border-collapse:collapse;width:100%;min-width:730px;text-align:left;font-size:13px}
.data-table th{background:#16253a;color:#91a6bd;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:740}
.data-table th,.data-table td{padding:17px 16px;border-bottom:1px solid #26394f;vertical-align:middle}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#17283d}
.cell-main{font-weight:700;color:#eff5fa;white-space:nowrap}
.cell-sub{display:block;font-size:11px;color:#93a5ba;margin-top:5px;line-height:1.45}
.number{white-space:nowrap;font-variant-numeric:tabular-nums}
.over{color:#ffb2b6;font-weight:750}.review{color:#f6ce8c}.good{color:#b6edc5}
.progress-track{width:110px;height:6px;border-radius:50px;background:#304158;margin-top:8px;overflow:hidden}
.progress-fill{height:100%;background:#a7e9b9;border-radius:50px}
.progress-fill.over-fill{background:#f3a3a8}
.badge{display:inline-block;border:1px solid #48607a;border-radius:999px;padding:5px 8px;color:#b8c9dd;white-space:nowrap;font-size:11px;font-weight:700}
.badge.worked{border-color:#447763;color:#a7e9b9}.badge.offered{border-color:#75613f;color:#f6ce8c}.badge.cancelled{opacity:.65}
.actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.small-button{background:#192b42;border:1px solid #3b526e;color:#dce9f7;border-radius:8px;padding:8px 10px;min-height:35px;font-size:12px;font-weight:650}
.small-button.active{color:#111d19;background:#b6edc5;border-color:#b6edc5}
.attention{color:#f6ce8c;line-height:1.45}.muted-row{opacity:.56}
.footnote{font-size:12px;color:#8fa2b8;line-height:1.55;margin:13px 0 0}
.empty-state{padding:20px;color:#aab8cc}
.source-note{border-top:1px solid #344761;padding:25px 0 36px;color:#a8bad0;line-height:1.6;font-size:13px}
.source-note strong{color:#eaf0fa}.source-note p{max-width:920px;margin:9px 0}
footer{padding:21px 0 35px;border-top:1px solid #29394e;color:#8092a9;font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
dialog{width:min(690px,calc(100vw - 24px));max-height:min(92vh,900px);overflow-y:auto;border:1px solid #4c6179;border-radius:18px;background:#101c2e;color:#eaf0fa;padding:24px 27px;box-shadow:0 25px 70px #0009}
dialog::backdrop{background:#020714c9}
.dialog-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-top .eyebrow{margin-bottom:5px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#b9c9dc}
.form-grid label input,.form-grid label select,.form-grid label textarea{width:100%;min-width:0;font-weight:400}
.form-grid .full-width{grid-column:1/-1}
.form-help{font-size:12px;line-height:1.55;color:#96aabe;margin:18px 0}
.dialog-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.spacer{flex:1}
@media(max-width:740px){.shell{padding:0 17px}.hero{padding:43px 0 35px}.overview{gap:9px;margin-bottom:38px}.metric{padding:18px;min-height:123px}.metric>strong{font-size:25px}.toolbar{align-items:stretch}.toolbar-actions{width:100%}.section{margin:35px 0 43px}}
@media(max-width:520px){.header-note{font-size:11px}.overview{grid-template-columns:1fr}.metric{min-height:0}.metric>strong{font-size:30px}.toolbar-actions .button{flex:1}.form-grid{grid-template-columns:1fr}.section-heading{align-items:start}.compact-select{width:100%;justify-content:space-between}}
