:root{color-scheme:dark;font-family:Arial,system-ui,sans-serif;background:#10141b;color:#edf2fa;font-size:18px;--muted:#a9b6c9;--line:#303c4e;--blue:#83b5fc;--panel:#1a222e}*{box-sizing:border-box}body{margin:0;line-height:1.5}header,main,nav,footer{max-width:1200px;margin:auto}header{padding:36px 24px 20px;display:flex;justify-content:space-between;align-items:center}h1{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.04em;margin:6px 0}h2{font-size:1.2rem;margin:0 0 18px;letter-spacing:-.02em}h3{font-size:1rem}p{margin:10px 0}header p,.hint,.eyebrow,footer{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:bold}.version{border:1px solid var(--line);padding:8px 14px;border-radius:12px;color:var(--blue)}nav{display:flex;gap:6px;position:sticky;top:0;padding:10px 24px;background:#10141bf5;backdrop-filter:blur(14px);z-index:5;border-bottom:1px solid var(--line)}button,input,select{font:inherit;min-height:48px;border-radius:10px;color:inherit}button{cursor:pointer;background:#4679bc;border:1px solid transparent;padding:11px 17px;font-weight:bold}button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:default}button.secondary{background:#283447;border:1px solid #41516a}nav button{background:transparent;color:var(--muted);flex:1;padding:10px 8px}nav .active{background:#263a56;color:#dbeaff}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #83b5fc;outline-offset:3px}input,select{width:100%;background:#111925;border:1px solid #45536a;padding:10px 12px}label{display:block;font-size:.92rem;margin:14px 0;color:#c3cedf}label input,label select{margin-top:7px}main{padding:20px 24px 40px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px}.controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:16px 20px}.controls label{margin:0;flex:1;min-width:170px}.controls #rangeLabel{width:100%;font-size:.85rem;color:var(--muted);margin:0}.steps{display:flex;gap:8px}.steps button{min-width:48px}.hero,.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{background:linear-gradient(145deg,#202d40,#18212e);border:1px solid #354965;border-radius:15px;padding:19px;text-align:left;position:relative;min-height:135px;color:inherit;font-weight:normal}.metric.primary{background:linear-gradient(135deg,#2f4b72,#1d304b)}.metric strong{display:block;font-size:clamp(1.35rem,3vw,1.85rem);letter-spacing:-.03em;margin:9px 0;line-height:1.2;font-variant-numeric:tabular-nums}.metric span{font-size:.84rem;color:#c0cee0}.metric small{font-size:.75rem;color:#a3b7d2;display:block}.metric::after{content:'↗';position:absolute;right:14px;top:14px;color:#839dbf}.metrics .metric{background:#18212e;min-height:116px}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.sectionHead h2{margin:0}.sectionHead span{font-size:.8rem;color:var(--muted)}.sectionHead input{max-width:280px}.barRow{display:grid;grid-template-columns:75px 1fr 70px;gap:10px;align-items:center;margin:13px 0;font-size:.8rem}.barRow button{background:none;padding:0;text-align:left;font-weight:normal;min-height:30px}.track{height:15px;background:#101823;border-radius:4px;position:relative}.fill{height:100%;background:#6c9fdf;border-radius:4px;max-width:100%}.targetLine{position:absolute;top:-3px;bottom:-3px;border-left:2px solid #e6c287}.legend{display:flex;gap:16px;font-size:.75rem;color:var(--muted);margin:12px 0}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.distribution{margin:17px 0}.distribution .line{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:7px}.distribution .track{height:10px}.insight{border-left:3px solid #527fb7;padding:4px 0 4px 17px;margin:18px 0}.insight strong{display:block}.hint{font-size:.82rem;line-height:1.55}.notice{background:#122238;border:1px solid #345475;color:#c2d9f6;padding:14px;border-radius:12px;margin:18px 0;font-size:.9rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.buttonGrid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:20px 0}.tableScroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem;white-space:nowrap}td,th{padding:14px 12px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}td:first-child,th:first-child{text-align:left}th{color:var(--muted);font-weight:normal;font-size:.78rem}td button{background:transparent;color:var(--blue);padding:0;min-height:30px}.positive{color:#a9d7bb}.negative{color:#f2bc92}.day{padding:15px 0;border-bottom:1px solid var(--line)}.day:last-child{border:0}.day summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:normal}.day summary b{font-size:.95rem}.day small{display:block;color:var(--muted);font-size:.8rem}.day .actions{display:flex;gap:10px;margin-top:12px}.day .actions button{font-size:.85rem}details.panel summary{cursor:pointer;font-weight:bold}details.panel[open]>summary{margin-bottom:15px}.check{display:flex;gap:12px;align-items:start}.check input{width:23px;min-height:23px;flex-shrink:0;margin-top:3px}.taxRow{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.taxRow label{margin:0;font-size:.82rem}.taxRow small{font-size:.75rem;color:var(--muted)}.taxRow select{font-size:.85rem}.narrow{max-width:750px;margin:auto}.block{background:#111925;border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}.block .remove{background:none;color:#eebba7;font-size:.8rem;padding:0}form button{margin:10px 0;width:100%}footer{display:flex;justify-content:space-between;padding:24px;font-size:.75rem;border-top:1px solid var(--line)}a{color:var(--blue)}.hidden{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:92%;border-radius:12px;background:#d8e8fd;color:#15243a;padding:14px 20px;box-shadow:0 8px 40px #0008;z-index:20;display:none}dialog{background:#18212d;color:inherit;border:1px solid #4d6482;border-radius:20px;width:min(800px,94vw);max-height:88vh;padding:24px}dialog::backdrop{background:#000b}.empty{color:var(--muted);padding:24px 0}.printOnly{display:none}ol{padding-left:23px}li{margin:12px 0}
@media(max-width:850px){.split{grid-template-columns:1fr}.hero,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.buttonGrid{grid-template-columns:1fr}.metric strong{font-size:1.6rem}}
@media(max-width:540px){:root{font-size:18px}header{padding:24px 16px 12px}header .eyebrow{font-size:.6rem}h1{font-size:1.85rem}nav{padding:8px 10px;gap:1px}nav button{font-size:.88rem;padding:10px 4px}main{padding:14px 12px}.panel{padding:18px 15px;border-radius:15px}.hero,.metrics{gap:9px}.metric{padding:16px 12px;min-height:127px}.metric strong{font-size:1.4rem}.metric span{font-size:.8rem}.metric small{font-size:.7rem}.controls{gap:10px}.controls label{min-width:130px}.steps{width:100%}.steps button{flex:1}.taxRow{grid-template-columns:1fr 1fr}.taxRow>div{grid-column:1/-1}.two{gap:10px}footer{padding:20px 14px;display:block}footer span{display:block}.barRow{grid-template-columns:68px 1fr 65px}}
@media print{body{background:white;color:black;font-size:11pt}header,nav,footer,#periodBar,.view,.noPrint,dialog,#toast{display:none!important}#tax{display:block!important}#tax>.panel{display:none}#tax>.panel:first-child,#tax>.panel:nth-child(3){display:block!important;background:white;border:1px solid #ddd;color:black}.metric,.notice{background:white!important;color:black!important;border-color:#aaa}.metric span,.metric small,.hint{color:#444}.taxRow{break-inside:avoid}.taxRow select{border:0;background:white;color:black}.taxRow label{color:black}.taxRow input{color:black}.sectionHead button,#taxMore{display:none}main{padding:0}.metrics{grid-template-columns:repeat(4,1fr)}.panel{margin:0 0 12px}}
