*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#142b4d;font:15px 'Segoe UI',sans-serif}aside{width:244px;background:#102541;position:fixed;inset:0 auto 0 0;padding:40px 25px;color:white}.brand{font-size:40px;letter-spacing:-2px;color:white;text-decoration:none;font-weight:800}.brand span{font-size:12px;letter-spacing:3px;display:block}.version{font-size:9px;letter-spacing:1px;color:#91a6c4;margin:24px 0 40px}nav button{display:block;width:100%;text-align:left;color:#b9c8dc;background:none;border:0;margin:7px 0;padding:14px}nav button.active{background:#254266;color:white;border-radius:8px}.aside-foot{position:absolute;bottom:30px;font-size:13px;color:#a7bbd5;line-height:1.8}small{font-size:11px;letter-spacing:1px;color:#6a7e98}main{margin-left:244px;padding:35px 46px;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}h1{font-size:30px;margin:9px 0}h2{font-size:21px}h3{font-size:16px}button,.button{cursor:pointer;border:1px solid #d7dfea;background:white;color:#173453;padding:11px 17px;border-radius:7px;font:inherit;text-decoration:none}button:hover{background:#eaf0f7}.primary{background:#173c68;color:white;border-color:#173c68}.primary:hover{background:#285382}.hero{background:#173758;color:white;border-radius:14px;padding:32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.hero h2{font-size:30px;margin:8px 0}.hero p{color:#c7d6e8;max-width:580px;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2px;color:#a9c6e8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.panel{background:white;border:1px solid #e0e6ee;border-radius:12px;padding:24px;margin-bottom:20px}.metric{font-size:32px;font-weight:650;margin:16px 0 4px}.muted{color:#72829a;font-size:13px;line-height:1.6}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.tag{background:#eaf0f7;padding:5px 9px;border-radius:5px;font-size:11px}.notice{background:#edf3fa;border-left:3px solid #6488b2;padding:16px 20px;font-size:13px;line-height:1.6;margin:20px 0}.warning{background:#fff5e3;border-color:#c59438;color:#795621}.empty{text-align:center;padding:40px;color:#7788a0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:15px 10px;border-bottom:1px solid #e5eaf1}th{font-size:11px;color:#6e819a;text-transform:uppercase}.scroll{overflow:auto}label{display:block;font-size:12px;color:#62748d;margin:12px 0 6px}input,select,textarea{width:100%;padding:11px;border:1px solid #cdd8e5;border-radius:6px;font:inherit;color:#142b4d;background:white}input[type=checkbox]{width:auto}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.two{grid-template-columns:repeat(2,1fr)}dialog{border:0;border-radius:14px;max-width:850px;width:92%;max-height:90vh;padding:28px}dialog::backdrop{background:#10254188}footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.split{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.result{position:sticky;top:20px;align-self:start;background:#102f51;color:white}.result small,.result .muted{color:#bbcee4}.result .metric{font-size:35px}.costline{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ffffff20}.print-line{border:1px solid #d9e2ee;padding:18px;border-radius:8px;margin:16px 0}.danger{color:#b03e43}.help{font-size:12px;color:#637990;line-height:1.7}#toast{position:fixed;bottom:25px;right:25px;background:#163c63;color:white;padding:14px 22px;border-radius:8px;display:none}.tools{margin:20px 0;display:flex;gap:10px}.check{display:flex;align-items:center;gap:8px}hr{border:0;border-top:1px solid #dce3ed;margin:24px 0}@media(max-width:1100px){main{padding:25px}aside{width:200px}main{margin-left:200px}.split{grid-template-columns:1fr}.result{position:static}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:20px}.brand{font-size:26px}.version,.aside-foot{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}main{margin:0;padding:20px}.grid,.form-grid{grid-template-columns:1fr}header{gap:15px}h1{font-size:25px}.hero{padding:24px}.hero h2{font-size:25px}}@media print{aside,header button,.tools,button,.notice{display:none}main{margin:0;padding:0}.split{display:block}.result{background:white;color:#102541}.result small,.result .muted{color:#555}.panel{break-inside:avoid}}
