:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183247;background:#f3f6f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#087e83}.shell{min-height:100vh;display:grid;grid-template-columns:234px 1fr}.sidebar{background:#10283f;color:#fff;padding:26px 16px;position:sticky;top:0;height:100vh}.brand{padding:4px 14px 28px}.brandmark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#16a3a4;color:#fff;font-weight:800;letter-spacing:-2px;margin-right:9px}.brand strong{font-size:20px;letter-spacing:-.7px}.brand small{display:block;color:#9fbbc8;margin:5px 0 0 50px;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.nav{display:grid;gap:5px}.nav button{width:100%;text-align:left;border:0;border-radius:10px;padding:12px 14px;background:transparent;color:#bed0d9;font-weight:600}.nav button.active,.nav button:hover{background:#23465a;color:#fff}.nav button span{display:inline-block;width:27px;font-size:17px}.sidebar-foot{position:absolute;bottom:24px;left:30px;color:#95b1be;font-size:12px}.main{min-width:0;padding:26px 38px 70px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;color:#647887;font-size:13px}.topbar .right{display:flex;gap:18px;align-items:center}.pill{border-radius:99px;padding:6px 10px;background:#e6f4f2;color:#087a73;font-size:12px;font-weight:700}.page-title{font-size:31px;letter-spacing:-1.1px;color:#10283f;margin:0 0 6px}.subtitle{color:#66808f;margin:0 0 26px;font-size:14px}.hero{background:#112c43;border-radius:18px;color:#fff;padding:29px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;background-image:radial-gradient(circle at 88% -10%,#176a76 0,transparent 34%)}.hero h2{font-size:25px;margin:0 0 7px;letter-spacing:-.5px}.hero p{margin:0;color:#b9d0d8;font-size:14px}.hero .btn{background:#fff;color:#123649}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #e2e9ed;border-radius:15px;box-shadow:0 4px 20px #17374b08}.card{padding:20px}.card .label{color:#6e8290;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.card .value{font-size:26px;color:#10283f;font-weight:750;margin-top:9px;letter-spacing:-.7px}.card .hint{font-size:12px;color:#708996;margin-top:7px}.panel{padding:22px;margin-top:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.panel h2{font-size:18px;margin:0;color:#143248;letter-spacing:-.3px}.btn{border:0;border-radius:9px;background:#087e83;color:#fff;font-weight:700;padding:11px 16px;white-space:nowrap}.btn:hover{filter:brightness(.95)}.btn.secondary{background:#e9f2f3;color:#12626a}.btn.ghost{background:transparent;color:#087e83;border:1px solid #c5dcdf}.btn.danger{background:#fff1f0;color:#ae403c}.btn.small{padding:7px 10px;font-size:12px}.btn.link{background:none;color:#087e83;padding:4px 0}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label{font-weight:700;color:#355266;font-size:13px}.field input,.field select,.field textarea,.filterbar input,.filterbar select{width:100%;border:1px solid #cfdae1;border-radius:9px;padding:11px 12px;background:#fff;color:#17374b;outline:none;min-height:43px}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#087e83;box-shadow:0 0 0 3px #087e8322}.helper{color:#718795;font-size:12px}.checklist{display:flex;gap:9px;flex-wrap:wrap}.check{position:relative}.check input{position:absolute;opacity:0}.check label{display:block;border:1px solid #cbdce0;border-radius:9px;padding:9px 12px;background:#fff;font-size:13px;cursor:pointer}.check input:checked+label{border-color:#087e83;background:#e8f5f4;color:#075c62;font-weight:700}.total-strip{display:flex;justify-content:space-between;align-items:center;background:#e8f3f2;border:1px solid #cce5e2;padding:18px 20px;border-radius:11px;margin:20px 0}.total-strip strong{font-size:25px;color:#0b6267}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:630px}.table th{text-align:left;background:#f5f8f9;color:#66808d;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:11px 12px}.table td{padding:13px 12px;border-top:1px solid #eaf0f2;font-size:13px;vertical-align:top}.table tr:hover td{background:#fafcfc}.table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table th.num{text-align:right}.status{display:inline-block;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:700;background:#e6f5f0;color:#157158;white-space:nowrap}.status.draft{background:#eaf0f5;color:#597084}.status.overdue{background:#fff0e9;color:#b45931}.status.part{background:#fff5dc;color:#936a18}.filterbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.filterbar>*{max-width:190px}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.draft-list{display:grid;gap:8px}.draft-item{width:100%;border:1px solid #e0e9ed;background:#fff;border-radius:10px;padding:13px;text-align:left;color:#17374b}.draft-item.active{border-color:#087e83;background:#eaf6f5}.draft-item strong{display:block}.draft-item small{display:block;margin-top:5px;color:#718794;line-height:1.45}.section-spacer{margin-top:27px}.notice{padding:13px 15px;border-radius:9px;background:#eaf4f7;color:#285568;font-size:13px;margin:13px 0}.notice.warn{background:#fff5e4;color:#8c661b}.empty{text-align:center;color:#8195a1;padding:35px 12px}.login{max-width:400px;margin:12vh auto;padding:32px}.login h1{margin:16px 0 6px}.login p{color:#6e8290}.login .field{margin:25px 0 16px}.login .btn{width:100%}.error{color:#b1423d;font-size:13px;margin:10px 0}.toast{position:fixed;right:20px;bottom:22px;background:#123a4c;color:#fff;padding:12px 18px;border-radius:9px;box-shadow:0 8px 28px #0003;z-index:9}.mobile-nav{display:none}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-list{display:grid;gap:12px}.metric-row{display:flex;justify-content:space-between;border-bottom:1px solid #eef2f4;padding:8px 0;font-size:13px}.metric-row strong{font-variant-numeric:tabular-nums}.inline-input{max-width:180px}.muted{color:#7d929e}.dialog-backdrop{position:fixed;inset:0;background:#0c2536aa;display:grid;place-items:center;padding:18px;z-index:20}.dialog{background:#fff;border-radius:15px;padding:24px;width:min(520px,100%);max-height:90vh;overflow:auto}.dialog h2{margin:0 0 16px}.dialog .actions{margin-top:20px;justify-content:flex-end}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.main{padding:24px}.split{grid-template-columns:1fr}.draft-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}.sidebar{display:none}.main{padding:20px 16px 90px}.topbar{margin-bottom:22px}.topbar .right{gap:8px}.page-title{font-size:27px}.hero{padding:22px;align-items:flex-start;flex-direction:column}.hero h2{font-size:22px}.grid{gap:10px}.card{padding:16px}.card .value{font-size:21px}.panel{padding:17px}.form-grid,.two-panels{grid-template-columns:1fr}.field.wide{grid-column:auto}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#10283f;padding:7px 6px calc(7px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;box-shadow:0 -4px 20px #0002}.mobile-nav button{color:#a9c6d1;background:none;border:0;font-size:10px;display:grid;justify-items:center;gap:2px;min-width:55px}.mobile-nav button.active{color:#fff}.mobile-nav span{font-size:20px}.filterbar>*{max-width:none;flex:1 1 130px}.draft-list{grid-template-columns:1fr}.total-strip strong{font-size:21px}}
