:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1b2940;background:#f3f5f8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}
.shell{min-height:100vh}.topbar{background:#131c31;color:white;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1.5rem,calc((100vw - 1380px)/2));box-shadow:0 4px 16px #0b153018}.brand{display:flex;gap:.75rem;align-items:center;font-weight:800;letter-spacing:.02em;font-size:1.1rem}.mark{height:32px;width:32px;border-radius:9px;background:#d8ad53;display:grid;place-items:center;color:#131c31}.topright{display:flex;gap:1rem;align-items:center;font-size:.9rem;color:#dbe2ef}.topright button{border:1px solid #64718b;color:white;background:transparent;border-radius:8px;padding:.55rem .85rem}
main{max-width:1380px;margin:auto;padding:1.5rem}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.35rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#66758e;font-size:.75rem;font-weight:800;margin:0 0 .35rem}.toolbar h1{font-size:clamp(1.55rem,2.3vw,2.2rem);margin:0;letter-spacing:-.035em}.subtitle{color:#647189;margin:.35rem 0 0}.filters{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.field{display:grid;gap:.35rem}.field label{font-size:.8rem;color:#5d6a81;font-weight:700}.field input,.field select,.field textarea{background:#fff;color:#1b2940;border:1px solid #ccd4e0;border-radius:9px;padding:.7rem .8rem;min-height:42px;max-width:100%}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b58b35;outline-offset:1px}
.btn{border:0;background:#131c31;color:white;border-radius:9px;padding:.76rem 1rem;font-weight:700;min-height:42px}.btn.secondary{background:white;border:1px solid #ccd4e0;color:#23314a}.btn.gold{background:#d8ad53;color:#172036}.btn:hover{filter:brightness(1.08)}
.checkline{display:flex;align-items:center;gap:.55rem;margin:.8rem 0;font-size:.85rem;font-weight:700;color:#394762;line-height:1.35}.checkline input{width:18px;height:18px;accent-color:#17233b;flex:none}
.banner{background:#fff7e7;border:1px solid #ead5a4;color:#634912;padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem;display:flex;gap:.8rem;align-items:center}.banner strong{font-weight:800}.banner .pill{white-space:nowrap}.pill{display:inline-flex;border-radius:99px;padding:.3rem .6rem;font-size:.78rem;font-weight:800;background:#e8edf4;color:#53617a}.pill.warn{background:#fae4b6;color:#664811}.pill.good{background:#dcefe7;color:#1d604b}.pill.bad{background:#fce1df;color:#a3342b}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.card,.panel{background:white;border:1px solid #e0e5ed;border-radius:14px;box-shadow:0 4px 14px #1d315008}.card{padding:1.2rem}.card .label{color:#68758a;font-size:.84rem;font-weight:700}.card .value{font-size:clamp(1.4rem,2vw,2rem);font-weight:800;letter-spacing:-.035em;margin:.45rem 0}.card .detail{font-size:.83rem;color:#68758a}.card.featured{background:#17233b;color:#fff;border-color:#17233b}.card.featured .label,.card.featured .detail{color:#c4cee0}.card.featured .value{color:#f1c665}
.progress{height:8px;background:#e6eaf1;border-radius:99px;overflow:hidden;margin-top:.75rem}.progress span{display:block;height:100%;background:#d6a747;border-radius:99px;min-width:0}.card.featured .progress{background:#3d4860}
.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:1rem}.panel{padding:1.25rem;margin-bottom:1rem;min-width:0}.panelhead{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.9rem}.panel h2{font-size:1.1rem;margin:0;letter-spacing:-.02em}.muted{color:#68758a;font-size:.84rem}.tablewrap{overflow-x:auto}.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.data th{text-align:right;color:#627087;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;white-space:nowrap;border-bottom:1px solid #e7ebf1;padding:.7rem .55rem}.data th:first-child,.data td:first-child{text-align:left}.data td{padding:.8rem .55rem;border-bottom:1px solid #edf0f4;text-align:right;white-space:nowrap;font-size:.88rem}.data tbody tr:last-child td{border-bottom:0}.data tfoot td{font-weight:800;border-top:2px solid #dfe4ec;text-align:right;padding:.8rem .55rem}.data tfoot td:first-child{text-align:left}.data .name{font-weight:700}.data .sub{display:block;color:#8792a4;font-size:.72rem;font-weight:500;margin-top:.2rem}.money-good{color:#196d51;font-weight:800}.money-warn{color:#a45220;font-weight:800}.empty{color:#68758a;padding:1.5rem 0;line-height:1.5}.small{font-size:.78rem}.chart{height:190px;display:flex;align-items:end;gap:.35rem;padding:1rem .2rem .3rem;border-bottom:1px solid #e4e9f0}.barcol{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;min-width:12px}.bar{width:min(100%,24px);border-radius:5px 5px 0 0;background:#8998b4;min-height:2px}.bar.today{background:#d8ad53}.barlabel{font-size:.66rem;color:#8792a4;margin-top:.35rem}.notice{padding:.9rem 0;border-top:1px solid #ebeff3}.notice:first-of-type{border-top:0}.notice strong{display:block;margin-bottom:.3rem}.notice p{margin:0;color:#526078;font-size:.88rem;line-height:1.5}.notice time{display:block;color:#8b96a6;font-size:.74rem;margin-top:.45rem}
.tabs{display:flex;gap:.35rem;border-bottom:1px solid #dfe5ed;margin:1rem 0}.tabs button{background:transparent;border:0;padding:.8rem 1rem;font-weight:700;color:#69768a;border-bottom:3px solid transparent}.tabs button.active{color:#18243c;border-bottom-color:#d2a347}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.formbox{border:1px solid #e1e7ef;border-radius:12px;padding:1rem;margin:1rem 0}.formbox h3{margin:0 0 .75rem;font-size:.98rem}.formbox .btn{margin-top:.8rem}.formbox p{margin:.1rem 0 .8rem}.loginwrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#15213a,#263857 55%,#424953);padding:1.2rem}.login{background:white;border-radius:18px;padding:2rem;width:min(100%,440px);box-shadow:0 20px 70px #0c14205e}.login h1{margin:.4rem 0;font-size:1.65rem}.login p{color:#647189;line-height:1.45}.login .field{margin:1rem 0}.login .btn{width:100%;margin-top:.5rem}.error{color:#a3322a;background:#fdf0ee;padding:.75rem;border-radius:8px;margin-top:1rem}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.overview .panel{margin:0}.overview h2{margin:.4rem 0}.overview .value{font-size:1.5rem;font-weight:800;margin:.5rem 0}.kicker{font-size:.78rem;color:#69768a;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
#toast{position:fixed;bottom:1.2rem;right:1.2rem;background:#1b2940;color:white;border-radius:10px;padding:.75rem 1rem;box-shadow:0 10px 30px #1d31502b;display:none;max-width:380px;z-index:10}#toast.show{display:block}
@media(max-width:1000px){.cards,.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}}@media(max-width:600px){main{padding:1rem}.topbar{padding:.8rem 1rem}.topright span{display:none}.cards,.overview{grid-template-columns:1fr 1fr;gap:.6rem}.card{padding:.9rem}.card .value{font-size:1.25rem}.panel{padding:1rem}.toolbar{align-items:stretch}.filters{width:100%}.filters .field{flex:1}.filters input,.filters select{width:100%}.data td,.data th{padding:.65rem .4rem}.login{padding:1.4rem}}
