:root{
  --bg:#f7f8fb;--surface:#fff;--surface2:#f0f3f8;--text:#171a21;--muted:#687386;--line:#dfe4ec;
  --brand:#315efb;--brand2:#2447c8;--good:#14804a;--warn:#9a6200;--danger:#b42318;--shadow:0 12px 35px rgba(21,33,55,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--brand)}[hidden]{display:none!important}.native-app #printBtn{display:none}.service-name,.variant-list,.normalize-card,.organize-item{overflow-wrap:anywhere}
.container{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:30;background:rgba(247,248,251,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,228,236,.9)}
.topbar-inner{height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;text-decoration:none;color:var(--text);font-size:18px}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center}.top-actions{display:flex;gap:8px;align-items:center}
.lang-switch{display:flex;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:3px}.lang-switch button{border:0;background:transparent;padding:6px 9px;border-radius:7px;color:var(--muted)}.lang-switch button.active{background:var(--surface2);color:var(--text);font-weight:800}
.hero{padding:62px 0 30px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;background:#eef2ff;color:#2447c8;border-radius:999px;font-weight:800;font-size:13px}.hero h1{font-size:clamp(38px,7vw,68px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 18px}.hero p{font-size:clamp(18px,2.5vw,23px);color:var(--muted);margin:0 0 24px;max-width:650px}.trust-row{display:flex;flex-wrap:wrap;gap:9px}.trust{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:14px;font-weight:700}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.upload-card{padding:20px}.dropzone{border:2px dashed #b8c3d6;border-radius:17px;padding:28px 18px;text-align:center;background:#fbfcff;transition:.2s}.dropzone.drag{border-color:var(--brand);background:#eef2ff}.dropzone strong{display:block;font-size:18px;margin-bottom:5px}.dropzone small{color:var(--muted)}
.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:850;min-height:46px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn:hover{background:var(--brand2)}.btn.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.danger{background:#fff2f1;color:var(--danger);border:1px solid #f4c7c3}.btn.small{padding:8px 11px;min-height:36px;font-size:13px}.btn.full{width:100%}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.privacy-note{display:flex;gap:9px;align-items:flex-start;background:#eefaf3;color:#175c39;border-radius:12px;padding:11px 12px;margin-top:12px;font-size:13px}
.section{padding:24px 0}.section-title{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}.section-sub{color:var(--muted);margin:0 0 18px}.panel{padding:20px}.input-area{width:100%;min-height:180px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;padding:14px;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stack{display:grid;gap:12px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.field select,.field input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.notice{padding:12px 14px;border-radius:12px;background:#fff8e7;color:#6d4a00;border:1px solid #f0dba2}.success{background:#eefaf3;color:#175c39;border-color:#bde7ce}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#f7f9fc;color:var(--muted);font-size:12px;text-transform:none}.amount{text-align:right;font-variant-numeric:tabular-nums}.preview-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.count{font-weight:850}
.progress{display:flex;align-items:center;gap:12px;padding:16px}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid #dce4ff;border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.results-shell{padding-top:18px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:17px}.metric small{color:var(--muted);font-weight:700}.metric strong{display:block;font-size:clamp(24px,4vw,34px);margin-top:6px;letter-spacing:-.03em}.metric.primary{background:#172554;color:#fff;border-color:#172554}.metric.primary small{color:#cbd5ff}.tabs{display:flex;gap:7px;overflow:auto;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:16px 0}.tab{border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:800;color:var(--muted);white-space:nowrap}.tab.active{background:var(--surface2);color:var(--text)}
.chart-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin:14px 0}.chart-card{padding:18px;min-height:260px}.donut-wrap{display:flex;gap:20px;align-items:center;margin-top:18px}.donut{width:150px;aspect-ratio:1;border-radius:50%;position:relative;background:#e8ecf3}.donut::after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff}.legend{display:grid;gap:7px;flex:1}.legend-row{display:flex;justify-content:space-between;gap:10px;font-size:13px}.legend-row span:first-child{display:flex;align-items:center;gap:7px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.bars{display:flex;align-items:end;gap:7px;height:165px;margin-top:20px;border-bottom:1px solid var(--line)}.bar-col{flex:1;min-width:0;display:flex;height:100%;align-items:end;position:relative}.bar{width:100%;min-height:2px;background:#5e7cf8;border-radius:5px 5px 0 0}.bar-col small{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);margin-top:5px}.chart-value{font-size:12px;color:var(--muted)}
.candidate-list{display:grid;gap:12px}.candidate{padding:18px}.candidate-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.service-name{font-size:21px;font-weight:900;letter-spacing:-.02em}.price{font-size:21px;font-weight:900;text-align:right}.muted{color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#eff2f7;color:#495468}.badge.good{background:#e9f8ef;color:var(--good)}.badge.warn{background:#fff5d9;color:var(--warn)}.badge.info{background:#eef2ff;color:#2447c8}.candidate-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.meta{background:#f7f9fc;border-radius:10px;padding:10px}.meta small{display:block;color:var(--muted);font-size:11px}.meta b{display:block;margin-top:2px;font-size:14px}.decision-row{display:flex;gap:7px;flex-wrap:wrap}.choice{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:10px;font-weight:750}.choice.active.yes{border-color:#76c798;background:#eefaf3;color:#12673b}.choice.active.no{border-color:#efaaa5;background:#fff2f1;color:#9f1d16}.choice.active.unknown{border-color:#e4c671;background:#fff9e9;color:#785000}.candidate details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.candidate summary{cursor:pointer;font-weight:800}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.history{display:flex;gap:6px;flex-wrap:wrap}.history span{font-size:12px;background:#f0f3f8;border-radius:8px;padding:6px 7px}.price-change{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff6df;color:#7a5200}.controls-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.controls-row select{padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}
.organize-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.organize-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px;border-bottom:1px solid var(--line)}.organize-item:last-child{border:0}.bigcheck{width:21px;height:21px}.normalize-card{padding:15px;border-bottom:1px solid var(--line)}.normalize-card:last-child{border:0}.variant-list{font-size:13px;color:var(--muted);margin:7px 0}.merge-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:14px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-box{padding:16px}.settings-box h3{margin-top:0}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.faq{padding:52px 0}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin:9px 0}.faq summary{font-weight:850;cursor:pointer}.faq p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 0 45px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.footer-links{display:flex;gap:14px;flex-wrap:wrap}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#17202f;color:#fff;padding:11px 15px;border-radius:11px;box-shadow:var(--shadow);z-index:80}.install-btn{display:none}.install-btn.show{display:inline-flex}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.confidence-factors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.confidence-factors span{font-size:12px;background:#f7f9fc;border-radius:8px;padding:7px}
.recurring-summary{grid-template-columns:repeat(3,1fr)}.essential-metric{border-color:#bde7ce;background:#f5fcf8}.supporting-summary{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px;padding:10px 3px}.optional-badge{background:#eef2ff;color:#2447c8}.essential-badge{background:#e9f8ef;color:#12673b}.suggestion{display:block;margin-top:7px;color:var(--muted);font-size:12px}.essential-fields{margin-top:14px;padding:14px;border:1px solid #bde7ce;background:#f5fcf8;border-radius:12px}.essential-fields h4{margin:0 0 11px}.essential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.essential-grid label,.account-edit label{font-size:12px;font-weight:800}.essential-grid input,.essential-grid select,.account-edit input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.wide-field{grid-column:span 2}.essential-cancel{display:block;margin-top:12px;font-size:13px;font-weight:750}.payment-heading h2{margin-bottom:4px}.payment-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upcoming-list,.account-list{display:grid;gap:10px}.upcoming-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px}.upcoming-amount{text-align:right}.upcoming-amount span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.account-card,.account-form{padding:16px}.account-card-head{display:flex;justify-content:space-between;gap:10px}.status{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:850;height:max-content}.status.enough{background:#e9f8ef;color:#12673b}.status.shortage{background:#fff2f1;color:#9f1d16}.status.unknown{background:#fff9e9;color:#785000}.account-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.account-numbers>div{background:#f7f9fc;border-radius:10px;padding:9px;min-width:0}.account-numbers small,.account-numbers strong{display:block}.account-numbers small{color:var(--muted);font-size:11px}.account-numbers strong{font-size:16px;margin-top:3px;overflow-wrap:anywhere}.account-edit{margin-bottom:10px}.account-form{margin-top:12px}.account-form .btn{margin-top:12px}
@media(max-width:850px){.hero-grid,.grid-2,.chart-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.hero{padding-top:38px}.hero-visual{order:-1}.candidate-meta{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.merge-grid{grid-template-columns:1fr}.organize-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:850px){.payment-layout{grid-template-columns:1fr}.essential-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 20px,1120px)}.topbar-inner{height:56px}.brand span:last-child{display:none}.hero{padding:30px 0 18px}.hero h1{font-size:42px}.upload-actions{grid-template-columns:1fr}.summary-grid,.payment-metrics{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric strong{font-size:23px}.candidate{padding:15px}.candidate-head{display:block}.price{text-align:left;margin-top:7px}.candidate-meta{grid-template-columns:1fr 1fr}.detail-grid,.essential-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.decision-row{display:grid;grid-template-columns:1fr 1fr 1fr}.choice{padding:10px 7px;font-size:12px}.donut-wrap{align-items:flex-start}.donut{width:120px}.organize-summary{grid-template-columns:1fr}.organize-item{grid-template-columns:auto 1fr}.organize-item>strong{grid-column:2}.upcoming-item{align-items:flex-start}.account-numbers{grid-template-columns:1fr 1fr}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block}.table-wrap thead{display:none}.table-wrap tr{padding:10px;border-bottom:1px solid var(--line)}.table-wrap td{border:0;padding:5px 7px;white-space:normal}.table-wrap td::before{content:attr(data-label);display:inline-block;width:75px;color:var(--muted);font-size:11px;font-weight:800}.table-wrap td.amount{text-align:left}.faq{padding-top:35px}}
@media print{.topbar,.hero,.tabs,.decision-row,.controls-row,.settings-grid,.footer-links,.btn,.faq{display:none!important}body{background:#fff}.card{box-shadow:none}.results-shell{padding-top:0}.tab-panel[hidden]{display:none!important}#panel-results{display:block!important}}

