:root{--ink:#142b36;--ink2:#284552;--paper:#f5f3ee;--card:#fff;--gold:#b18c4f;--line:#e1e4df;--muted:#526670;--soft:#eef3f3;--radius:19px;--shadow:0 8px 30px #142b3607;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:#315d69;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#87632e}button:focus-visible,a:focus-visible{outline:3px solid #b18c4f;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #a9864b;outline-offset:1px}input[type=checkbox]{accent-color:var(--ink);width:20px;height:20px;flex:0 0 20px;margin:2px 0}input,select,textarea{border:1px solid #cbd3d5;border-radius:10px;background:#fff;color:var(--ink);padding:12px 13px;width:100%;min-width:0;min-height:48px}select{padding-right:32px}textarea{resize:vertical}label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:7px;margin-bottom:17px}label input,label select,label textarea{font-size:16px;font-weight:400}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.22}h1{font-family:Georgia,serif;font-size:clamp(32px,4vw,45px);font-weight:400;margin:7px 0 9px;letter-spacing:-1px}h2{font-size:20px;margin:0 0 18px;font-weight:650;letter-spacing:-.3px}h3{font-size:17px;margin:0 0 14px}p{margin-bottom:14px}small,.subtle{font-size:12px;line-height:1.6;color:var(--muted)}.subtle{margin:10px 0}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:99}.skip:focus{top:10px}.masthead{background:var(--ink);color:white;border-bottom:2px solid var(--gold)}.header-inner{max-width:1120px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none}.brand:hover{color:#fff}.brand b{font-size:20px;letter-spacing:3px;font-weight:600}.brand small{display:block;font-size:9px;color:#c5cdd0;letter-spacing:2.4px;line-height:1.7}.brand-mark{height:44px;width:40px;position:relative;display:grid;place-items:center;font:36px Georgia;color:#d4b37c;border:1px solid #8c7756}.brand-mark span{position:absolute;bottom:6px;left:6px;right:6px;border-bottom:1px solid #8c7756}.header-button{background:transparent;border:1px solid #566b74;color:#eef3f3;border-radius:9px;padding:9px 13px;font-size:12px;min-height:42px}.header-button span{margin-left:6px;color:#d4b37c}.shell{max-width:1120px;margin:auto;padding:30px 28px 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.intro p{font-size:14px;color:var(--muted);margin:0}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:750;color:#847046}.local-badge{font-size:11px;color:#52636b;white-space:nowrap;display:flex;align-items:center;gap:7px}.local-badge i{width:6px;height:6px;background:#608d76;border-radius:50%}.tabs{display:flex;gap:6px;border-bottom:1px solid #d6dcd9;margin-bottom:27px}.tabs button{border:0;background:transparent;padding:14px 22px;color:#5f6e74;font-size:13px;font-weight:600;border-bottom:2px solid transparent;min-height:50px;margin-bottom:-1px;white-space:nowrap}.tabs button span{font-size:16px;margin-right:7px}.tabs button.active{border-bottom-color:var(--ink);color:var(--ink);background:#e9edeb;border-radius:10px 10px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:24px;align-items:start}.form-stack{display:grid;gap:20px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);min-width:0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-title h2{margin:0;font-size:17px}.step{border:1px solid #d7c9af;font-size:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#826532;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.law-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;flex-wrap:wrap;margin:0 0 15px}.law-line>span{color:var(--muted)}.rate-box{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;background:var(--soft);border:1px solid #dde7e6;border-radius:12px}.small-label{display:block;font-size:10px;font-weight:650;letter-spacing:.5px;color:#516871}.rate-box strong{display:block;font-size:27px;letter-spacing:-.7px;margin:2px 0}.rate-box p{font-size:10px;color:#536872;margin:0}.rate-detail{display:flex;flex-wrap:wrap;gap:6px 15px;justify-content:space-between;margin:12px 0 0;font-size:10px;color:var(--muted)}.notice{padding:14px 16px;background:#edf3f4;border:1px solid #d5e1e4;border-radius:11px;font-size:12px;line-height:1.6;margin:14px 0;color:#35515c;overflow-wrap:anywhere}.notice.compact{padding:11px 13px;margin:13px 0;font-size:11px}.notice.warning{background:#fcf6e8;border-color:#eddfbd;color:#725820}.notice.error{background:#fff0ed;color:#8d2d21;border-color:#f2cbc3}.button{border:1px solid transparent;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:47px;text-decoration:none;line-height:1.4}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:var(--ink2)}.button.secondary{background:white;border-color:#cbd5d6;color:var(--ink)}.button.secondary:hover{background:#f2f5f4}.button.small{font-size:10px;padding:9px 11px;min-height:39px;flex-shrink:0}.full{width:100%;grid-column:1/-1}.text-button{border:0;background:transparent;color:#315b68;padding:10px 0;min-height:44px;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:4px}.icon-button{width:40px;height:40px;border:1px solid #dbe0dd;border-radius:9px;background:transparent;color:var(--ink);font-size:23px;line-height:1}.segments{display:grid;grid-template-columns:1fr 1.25fr 1fr;background:#f0f3f1;border:1px solid #e3e7e3;border-radius:10px;padding:4px;margin-bottom:17px;gap:4px}.segments button{border:0;background:transparent;border-radius:7px;color:#576972;min-height:40px;padding:8px 5px;font-size:12px;font-weight:600}.segments button.active{background:#fff;box-shadow:0 2px 5px #142b3610;color:var(--ink)}.concept-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 32px;gap:10px;align-items:end;margin-top:14px}.concept-row label{margin:0}.concept-row .remove-concept{margin-bottom:6px;border:0;background:transparent;color:#9a5a4b;font-size:22px;height:38px;width:32px}.concept-row input{font-size:14px}.quick-units{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:8px}.quick-units button{background:#f5f5f0;color:#536772;border:1px solid #e2e6de;border-radius:7px;font-size:10px;padding:7px 10px;min-height:34px}.details-grid{margin-top:22px}.check-row{display:flex;flex-direction:row;align-items:flex-start;gap:11px;font-size:12px;font-weight:400;margin:12px 0 20px}.confirmation{background:#f6f5ef;border-radius:10px;padding:13px;line-height:1.5;color:#4c5c61}.result-column{position:sticky;top:22px;min-width:0}.result-card{background:var(--ink);color:white;padding:27px;border-radius:var(--radius);border:1px solid #1f3b48;box-shadow:0 14px 30px #142b3610;overflow:hidden}.result-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:28px}.result-topline .eyebrow{color:#d6b681;font-size:8px;letter-spacing:1.6px}.mini-mark{font:17px Georgia;color:#bda577;border:1px solid #587079;padding:4px 8px}.result-card h2{font:26px Georgia;margin-bottom:19px;font-weight:400;line-height:1.3}.result-card p{color:#bdccd1;font-size:12px;line-height:1.7}.empty-number{font-size:51px;font-weight:300;color:#81949b;margin:35px 0 30px}.result-card .light{font-size:11px;color:#9fb3bb}.result-net{margin:14px 0 20px}.result-net span{font-size:10px;color:#b1c3ca;display:block}.result-net strong{font-size:clamp(22px,2.8vw,34px);font-weight:500;letter-spacing:-1px;overflow-wrap:anywhere;line-height:1.5}.result-net .units{color:#d7b780;font-size:13px;margin-top:4px}.result-divider{border:0;border-top:1px solid #3d5560;margin:20px 0}.breakdown-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-size:12px;margin:12px 0;color:#c3d0d4}.breakdown-row strong{font-weight:500;color:white;text-align:right;overflow-wrap:anywhere}.breakdown-row.total{font-size:16px;padding-top:14px;border-top:1px solid #3d5560}.breakdown-row.total strong{color:#dfc18d;font-size:18px}.result-card .result-caption{font-size:10px;line-height:1.6;color:#9eb4bd;margin:18px 0 0}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.result-actions .button{font-size:11px;padding:10px}.aside-note{font-size:10px;line-height:1.7;color:#65767b;margin:17px 6px}.page-heading{display:flex;gap:25px;justify-content:space-between;align-items:center;margin:6px 0 24px}.page-heading h2{font:32px Georgia;margin:7px 0 10px}.page-heading p{max-width:700px;color:var(--muted);font-size:13px;margin:0}.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.value-card{padding:22px;background:white;border-radius:14px;border:1px solid var(--line)}.value-card h3{font-size:15px;margin:0 0 5px}.value-card p{font-size:11px;color:var(--muted)}.value-amount{font-size:29px;letter-spacing:-1px;margin:14px 0}.value-card .button{margin-top:10px}.value-card a{font-size:11px}.manual-entry{border-top:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px}.manual-entry p{margin:4px 0;font-size:11px;color:var(--muted)}.empty-state{text-align:center;padding:38px 20px;background:#fff;border:1px dashed #cbd4d0;border-radius:17px;color:var(--muted);font-size:13px}.empty-state h3{font:25px Georgia;color:var(--ink)}.history-card{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:13px;gap:16px;min-width:0}.history-card h3{font-size:15px;margin:0 0 6px;overflow-wrap:anywhere}.history-card p{font-size:11px;margin:0;color:var(--muted)}.history-total{font-size:21px;font-weight:600;white-space:nowrap}.history-controls{display:flex;gap:8px;align-items:center;margin-top:8px}.history-controls button{font-size:11px;min-height:36px;padding:7px 11px}.backup-tools{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.danger{color:#984b40}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-grid p{font-size:13px;color:#52636c;line-height:1.8}.guide-grid h3:not(:first-child){margin-top:28px}.source-card{margin-top:20px}.legal-source{padding:17px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2.2fr;gap:25px;font-size:12px}.legal-source b{display:block}.legal-source small{display:block;font-size:11px}.legal-source p{font-size:12px;margin:0 0 8px;color:var(--muted)}.legal-source a{margin-right:15px}.tech-sources{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;font-size:11px}.footer{display:flex;justify-content:space-between;gap:15px;padding:25px 0 0;font-size:10px;color:#728087;margin-top:20px;border-top:1px solid #dce0da}.footer b{color:var(--gold)}dialog{border:1px solid #d4dcd8;border-radius:19px;padding:26px;color:var(--ink);background:white;max-width:560px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #142b3655}dialog::backdrop{background:#142b3699;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.dialog-heading h2{margin:0}.dialog-actions{display:flex;gap:10px;margin-top:20px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#142b36;color:white;padding:13px 20px;border:1px solid #526b75;border-radius:11px;max-width:90vw;z-index:200;font-size:13px;box-shadow:0 10px 30px #142b3633}.report-meta{font-size:12px;color:#4f626c}.report-table{width:100%;border-collapse:collapse;margin:15px 0;font-size:12px}.report-table td,.report-table th{border-bottom:1px solid #dae0dc;padding:9px 4px;text-align:left;overflow-wrap:anywhere}.report-table td:last-child,.report-table th:last-child{text-align:right}.report-total{font-size:23px;font-weight:650;margin:14px 0}.report-source{font-size:10px;overflow-wrap:anywhere;color:#53656d}.report-note{font-size:11px;color:#52636b;white-space:pre-wrap;overflow-wrap:anywhere}#printArea{display:none}[hidden]{display:none!important}@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:17px}.shell{padding:25px 20px}.card{padding:21px}.result-card{padding:22px}.local-badge{display:none}.tabs button{padding:13px 16px;font-size:12px}.rate-box{padding:15px}.rate-box strong{font-size:24px}.grid2{gap:11px}.rate-box .button{max-width:80px}.segments button{font-size:11px}}@media(max-width:650px){.header-inner{padding:15px 19px}.brand b{font-size:18px}.brand-mark{height:39px;width:35px;font-size:31px}.header-button{font-size:10px;padding:8px 10px}.shell{padding:23px 16px 95px}.intro{margin:0 0 23px}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.intro h1{font-size:34px}.intro p{font-size:12px}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:50;justify-content:space-around;background:#fcfcf9;border:0;border-top:1px solid #d7ded8;margin:0;padding:7px 4px calc(6px + env(safe-area-inset-bottom))}.tabs button{display:flex;flex:1;align-items:center;flex-direction:column;gap:3px;padding:6px 2px;margin:0;font-size:9px;border:0;min-height:49px;white-space:normal;line-height:1.3;max-width:110px}.tabs button span{margin:0;font-size:19px;line-height:1.2}.tabs button.active{border:0;border-radius:8px;background:#e9eeeb}.workspace{display:flex;flex-direction:column;gap:18px}.form-stack,.result-column{width:100%}.result-column{position:static}.card{border-radius:15px;padding:20px 17px}.section-title{margin-bottom:18px}.section-title h2{font-size:16px}.grid2{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px}label{font-size:11px}.grid2 select,.grid2 input{font-size:14px;padding:11px 9px}.rate-box{padding:14px}.rate-box strong{font-size:28px}.rate-box .button{max-width:none;font-size:10px}.rate-box p{font-size:10px}.small-label{font-size:9px}.law-line{font-size:10px}.subtle{font-size:11px}.rate-detail{font-size:10px}.concept-row{grid-template-columns:minmax(0,1fr) 84px 25px;gap:7px}.concept-row input{padding:11px 9px;font-size:14px}.concept-row .remove-concept{width:25px}.segments{gap:2px}.segments button{font-size:11px}.result-card{padding:24px}.result-card h2{font-size:29px}.result-net strong{font-size:37px}.result-actions .button{font-size:12px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-heading h2{font-size:31px}.page-heading p{font-size:12px}.value-grid,.guide-grid{grid-template-columns:1fr}.value-card{padding:21px}.history-card{padding:17px;flex-direction:column;align-items:stretch;gap:12px}.history-total{font-size:25px}.history-controls{justify-content:flex-start}.manual-entry{align-items:flex-start}.legal-source{grid-template-columns:1fr;gap:9px}.footer{flex-direction:column;font-size:9px;gap:6px}.toast{bottom:90px;min-width:240px;text-align:center;font-size:12px}.notice{font-size:11px}.backup-tools{flex-direction:column;gap:2px;align-items:flex-start}.confirmation{font-size:11px}.guide-grid p{font-size:12px}.form-stack{gap:16px}}@media(max-width:360px){.header-button{max-width:95px}.intro h1{font-size:30px}.grid2{grid-template-columns:1fr}.rate-box strong{font-size:24px}.result-net strong{font-size:31px}.concept-row{grid-template-columns:minmax(0,1fr) 72px 22px}.button.small{padding:7px}.segments button{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{@page{size:A4;margin:16mm}body{background:white;font:11pt Arial;color:#172a34}#appShell,dialog,.toast,noscript,.skip{display:none!important}#printArea{display:block!important}#printArea h1{font:25pt Georgia;letter-spacing:-.5px}#printArea h2{font:17pt Georgia}#printArea .print-brand{font-size:10pt;letter-spacing:2px;margin-bottom:20px}#printArea .report-meta{font-size:10pt}#printArea .report-table{font-size:10pt}#printArea .report-note{font-size:9pt}#printArea .report-source{font-size:8pt}#printArea a{color:#172a34;text-decoration:none}#printArea .report-total{font-size:22pt}#printArea p{line-height:1.5}#printArea tr{break-inside:avoid}#printArea .report-table thead{display:table-header-group}}
