:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17314b;background:#f2f6fa;font-size:14px;--blue:#1767c0;--line:#dbe4ed}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,.button{font:inherit;border:0;border-radius:7px;background:var(--blue);color:white;padding:11px 17px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}.secondary{background:#e9f0f8;color:#24486c}input,select{font:inherit;padding:10px;border:1px solid #cbd9e5;border-radius:6px;background:white;color:#17314b;min-width:0}input:focus,select:focus{outline:2px solid #8ebef1;outline-offset:1px}label{display:block;margin-bottom:12px}label input{display:block;width:100%;margin-top:6px}h1{font-size:29px;letter-spacing:-1px;margin:8px 0 10px}p{line-height:1.6;color:#657b90}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:#4e82b4}.setup{max-width:560px;margin:7vh auto;background:white;padding:40px;border:1px solid var(--line);border-radius:15px}.setup form{margin-top:25px}.setup button{width:100%}#app{display:flex;min-height:100vh}aside{width:245px;flex-shrink:0;background:#102d49;color:#d4e5f4;padding:26px 20px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh;overflow:auto}.logo{font-weight:800;font-size:24px;color:#82b9f2;display:flex;align-items:center;gap:12px;margin-bottom:25px}.logo span{font-size:19px;color:white;font-weight:600}.side-label{font-size:11px;color:#a7bfd5;letter-spacing:1px;margin:12px 0 4px}#reports button{width:100%;text-align:left;margin:4px 0;background:transparent;color:#c5d9ea;font-weight:400}#reports button.selected{background:#244d75;color:white}#reports small{display:block;margin-top:6px;color:#97b4cf}.aside-bottom{margin-top:auto;display:grid;gap:7px;padding-top:24px}.aside-bottom .secondary{background:#1c3c5b;color:#bed3e5}.aside-bottom small{margin-top:12px}main{min-width:0;flex:1;padding:35px 32px}header{display:flex;align-items:center;justify-content:space-between;gap:20px}header p{margin:0 0 24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:8px 0 25px}.metrics article{background:white;padding:20px;border:1px solid var(--line);border-radius:10px}.metrics small{color:#6b8297;display:block;margin-bottom:12px}.metrics strong{font-size:22px;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:17px}.toolbar label{margin:0}.toolbar select{display:block;margin-top:6px;min-width:170px}.toolbar button{font-size:12px}.cellbar{display:flex;gap:10px;align-items:center;background:#e7eef6;padding:10px;border-radius:8px}.cellbar b{min-width:100px}.cellbar input{flex:1}.hint{font-size:12px}.grid-scroll{overflow:auto;max-height:64vh;background:white;border:1px solid #cad7e3;border-radius:9px}table{border-collapse:separate;border-spacing:0;white-space:nowrap}#grid th{position:sticky;top:0;background:#163c61;color:#dceafb;padding:9px;z-index:2;font-size:12px;font-weight:500}#grid th:first-child{left:0;z-index:3}#grid td{height:36px;min-width:122px;max-width:300px;padding:0 9px;border-right:1px solid #dde5ed;border-bottom:1px solid #dde5ed;font-size:13px;overflow:hidden;text-overflow:ellipsis}#grid td.rowno{min-width:42px;background:#edf3f8;color:#72889b;position:sticky;left:0;z-index:1;text-align:center}#grid td.input{background:#eff7ff}#grid td.formula{background:white;color:#175b83}#grid td.chosen{outline:2px solid #237acf;outline-offset:-2px}#grid td.dirty{background:#fff0cb}#grid td.error{color:#b52b37;background:#fff0f0}.empty{padding:80px 20px;text-align:center;background:white;border:1px dashed #bdcedf;border-radius:15px;margin-top:30px}.notice{padding:15px;background:#e7f5ed;color:#22683e}.error{color:#b52b37}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;max-width:900px;width:90vw;max-height:85vh;color:#17314b}dialog::backdrop{background:#102d4988}.close{float:right;padding:6px 12px}dialog table{white-space:normal;width:100%}dialog td,dialog th{text-align:left;padding:10px;border-bottom:1px solid var(--line)}dialog pre{white-space:pre-wrap;font-size:12px}#toast{position:fixed;bottom:25px;right:25px;max-width:480px;background:#163c61;color:white;padding:16px 22px;border-radius:9px;z-index:20;box-shadow:0 4px 25px #0002}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media(max-width:900px){aside{width:190px;padding:20px 12px}main{padding:22px 14px}.metrics{grid-template-columns:1fr 1fr}.metrics strong{font-size:18px}header{align-items:start}h1{font-size:23px}}@media(max-width:600px){#app{display:block}aside{position:static;width:auto;height:auto;max-height:300px}.logo{margin:0}.aside-bottom{display:flex;flex-wrap:wrap;padding:0}#reports{max-height:95px;overflow:auto}.cellbar{flex-wrap:wrap}.setup{margin:20px 10px;padding:25px}.toolbar button{padding:9px}.form-row{grid-template-columns:1fr}}@media print{aside,header button,.toolbar,.cellbar,.hint,#toast{display:none!important}main{padding:0}.grid-scroll{max-height:none;overflow:visible;border:0}#grid td{min-width:0;font-size:8px;padding:3px}#grid th{position:static}h1{font-size:20px}.metrics article{padding:10px}.metrics strong{font-size:15px}@page{size:landscape;margin:8mm}}
