.ic-tool { max-width: 1120px; margin: 0 auto; padding: 0 var(--s3); letter-spacing: 0; }
.ic-tool h1 { font-size: 2.5rem; letter-spacing: 0; max-width: 820px; margin: var(--s2) 0; }
.ic-tool h2,.ic-tool h3,.ic-tool h4 { letter-spacing: 0; }
.ic-topline { display:flex; justify-content:space-between; gap:var(--s2); align-items:center; font-size:.75rem; font-weight:600; color:var(--aqua-700); }
.ic-topline > span:first-child { display:flex; align-items:center; gap:var(--s1); }
.ic-privacy,.ic-memory { color:var(--slate-700); font-size:.875rem; }
.ic-toolbar { display:flex; gap:12px; margin:24px 0; }
.ic-progress { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:0; list-style:none; gap:8px; margin:32px 0; }
.ic-progress li { margin:0; border-bottom:3px solid var(--slate-300); }
.ic-progress li[aria-current] { border-color:var(--aqua-700); }
.ic-progress button { display:flex; gap:8px; align-items:flex-start; border:0; background:none; color:var(--slate-700); font:inherit; font-size:.875rem; text-align:left; padding:12px 4px; min-height:75px; cursor:pointer; }
.ic-progress [aria-current] button { color:var(--ink); font-weight:600; }
.ic-progress button span { flex:none; background:var(--lapis-100); color:var(--ink); width:24px; height:24px; border-radius:50%; display:grid; place-items:center; }
.ic-progress [aria-current] button span { background:var(--aqua-200); }
.ic-step { outline:none; }
.ic-step-kicker { color:var(--aqua-700); font-weight:600; font-size:.75rem; margin:0 0 8px; }
.ic-grid,.ic-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; }
.ic-grid { margin:20px 0; }
.ic-field { min-width:0; margin-bottom:14px; }
.ic-field label { display:block; font-size:.9375rem; font-weight:600; margin-bottom:6px; }
.ic-field input,.ic-field select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--field-border); background:var(--white); color:var(--ink); border-radius:6px; font:inherit; font-size:.9375rem; }
.ic-field .hint { font-size:.8125rem; line-height:1.5; margin:5px 0 0; color:var(--slate-700); }
.ic-field [aria-invalid=true] { border-color:var(--error-700); }
.ic-plan { border-top:4px solid var(--aqua-700); padding:24px 0; min-width:0; }
.ic-plan:nth-child(2) { border-color:var(--gold-700); }
.ic-plan-title { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.ic-plan-title h3 { margin:0; }
.ic-letter { background:var(--lapis-900); color:var(--white); width:36px; height:36px; display:grid; place-items:center; border-radius:6px; }
.ic-premium { padding:12px; background:var(--aqua-100); font-weight:600; font-size:.875rem; }
.ic-tool h4 { font:600 1rem var(--font-body); margin:24px 0 14px; }
.ic-tool details { border-top:1px solid var(--slate-300); padding:16px 0; }
.ic-tool summary { cursor:pointer; font-weight:600; margin-bottom:12px; }
.ic-note { background:var(--lapis-50); border-left:3px solid var(--aqua-700); padding:16px; font-size:.9375rem; margin:24px 0; }
.ic-actions,.ic-navigation { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:24px 0; }
.ic-navigation { border-top:1px solid var(--slate-300); padding-top:24px; justify-content:space-between; }
.ic-navigation span { font-size:.875rem; color:var(--slate-700); }
.ic-service { border:1px solid var(--slate-300); background:var(--white); border-radius:8px; padding:24px; margin:24px 0; }
.ic-service-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ic-service-heading h3 { margin:0; }
.ic-service-plan { min-width:0; }
.ic-error { color:var(--error-700); background:var(--error-50); padding:16px; }
.ic-scenarios { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.ic-result-summary { padding:24px 0; border-top:3px solid var(--aqua-700); }
.ic-result-summary h3 { font-size:1.625rem; }
.ic-example-label { font-size:.875rem; color:var(--gold-700); font-weight:600; }
.ic-comparison { margin:24px 0; }
.ic-metric { display:grid; grid-template-columns:1.35fr 1fr 1fr; border-bottom:1px solid var(--slate-300); }
.ic-metric > div { padding:16px 12px; min-width:0; overflow-wrap:anywhere; }
.ic-metric > div:nth-child(2) { background:var(--aqua-100); }
.ic-metric > div:nth-child(3) { background:var(--gold-50); }
.ic-metric-label { font-size:.9375rem; }
.ic-table-head { font-size:1.0625rem; }
.ic-status { font-size:.8125rem; margin:6px 0 0; color:var(--slate-700); }
.ic-total { font-size:1.5rem; font-variant-numeric:tabular-nums; }
.ic-mobile-name,.ic-print-alias { display:none; }
.ic-bars { display:grid; gap:20px; margin:20px 0; }
.ic-bar { display:flex; height:26px; gap:3px; margin-top:8px; }
.ic-bar progress { appearance:none; height:26px; width:25%; border:0; background:var(--slate-100); }
.ic-bar progress::-webkit-progress-bar { background:var(--slate-100); }
.ic-bar-premium::-webkit-progress-value { background:var(--lapis-700); }
.ic-bar-medical::-webkit-progress-value { background:var(--aqua-700); }
.ic-bar-drug::-webkit-progress-value { background:var(--gold-700); }
.ic-bar-outside::-webkit-progress-value { background:var(--slate-700); }
.ic-care-priority { border-top:1px solid var(--slate-300); padding:10px 0; }
.ic-print-controls { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:24px 0; }
.ic-print-controls label { font-size:.9375rem; }
.ic-tool table { width:100%; font-size:.8125rem; border-collapse:collapse; }
.ic-tool th,.ic-tool td { padding:8px; border-bottom:1px solid var(--slate-300); text-align:left; overflow-wrap:anywhere; }
.ic-estimate-notice { font-size:.9375rem; padding:16px 0; border-top:1px solid var(--slate-300); }
.ic-tool .btn { border-radius:6px; letter-spacing:0; white-space:normal; min-height:44px; }
@media(max-width:700px) {
 .ic-tool { padding:0 18px; }
 .ic-tool h1 { font-size:2rem; }
 .ic-topline { display:block; }
 .ic-privacy { display:block; margin-top:8px; }
 .ic-progress { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .ic-progress button { font-size:0; min-height:50px; justify-content:center; }
 .ic-progress button span { font-size:.9375rem; }
 .ic-grid,.ic-plans { grid-template-columns:1fr; }
 .ic-service { padding:18px; }
 .ic-metric { grid-template-columns:1fr 1fr; }
 .ic-metric-label,.ic-table-head>div:first-child { grid-column:1/-1; padding-bottom:6px; }
 .ic-mobile-name { display:block; font-size:.75rem; font-weight:600; margin-bottom:4px; }
 .ic-total { font-size:1.25rem; }
 .ic-service-heading { align-items:flex-start; }
}
@media print {
 .ic-toolbar,.ic-progress,.ic-navigation,.ic-memory { display:none!important; }
 .ic-tool { max-width:none; padding:0; font-size:10pt; }
 .ic-tool h1 { font-size:22pt; }
 .ic-metric { break-inside:avoid; }
 .ic-plans { grid-template-columns:1fr 1fr; }
 .ic-omit-labels .ic-private-label { display:none; }
 .ic-omit-labels .ic-print-alias { display:inline; }
 .ic-tool details { break-inside:auto; }
}
@media(max-width:700px) {
 body:has(.ic-tool) .header-row { flex-wrap:wrap; }
 body:has(.ic-tool) .brand { min-width:0; max-width:100%; }
 body:has(.ic-tool) .brand-text { min-width:0; }
 body:has(.ic-tool) .brand-name { font-size:1.125rem; letter-spacing:0; }
 body:has(.ic-tool) .brand-sub { white-space:normal; line-height:1.5; letter-spacing:0; }
 body:has(.ic-tool) .header-actions { width:100%; justify-content:space-between; }
 body:has(.ic-tool) .lang-panel { left:0; right:auto; }
}
@media print { .ic-scenarios { display:none!important; } }
.ic-provisional { display:block; font-size:.75rem; font-weight:400; line-height:1.4; margin-top:6px; }
/* FSA worksheet compatibility: shared paper, field, input-wrap and sheet-foot styles. */
.ic-tool { max-width:var(--wrap,1120px); }
.ic-tool h1 { font-size:2.25rem; }
.ic-worksheet { grid-template-columns:minmax(0,1.7fr) minmax(220px,.7fr); }
.ic-worksheet:has(.tool-result) { display:block; }
.ic-worksheet .ic-grid { display:block; margin:0; }
.ic-worksheet .ic-plans { gap:var(--s3); }
.ic-worksheet .ic-plan { border:0; padding:0; }
.ic-worksheet .ic-plan>h3 { font:600 1.25rem var(--font-head); padding-bottom:12px; border-bottom:2px solid var(--ink); }
.ic-worksheet .ic-field { margin:0; }
.ic-worksheet .paper .ic-plan .field,.ic-worksheet .paper .ic-service-plan .field { grid-template-columns:1fr; align-items:start; }
.ic-worksheet .paper .ic-field label { font-weight:400; font-size:1rem; margin:0; }
.ic-worksheet .paper .ic-field input { border:0; border-radius:0; min-height:44px; padding:8px 10px; background:transparent; font:inherit; }
.ic-worksheet .paper .ic-field select { border:0; border-bottom:2px solid var(--field-border); border-radius:2px 2px 0 0; width:100%; font-size:.9375rem; }
.ic-worksheet .ic-service { border:0; border-top:2px solid var(--slate-300); border-radius:0; padding:24px 0 0; background:none; }
.ic-worksheet .ic-premium { background:none; border-bottom:1px solid var(--slate-300); padding:12px 0; font-size:.8125rem; }
.ic-worksheet .ic-tool h4 { margin-top:16px; }
.ic-worksheet .result-empty { position:sticky; top:24px; }
.ic-worksheet .result-empty h2 { font-size:1.375rem; }
.ic-worksheet .ic-metric>div:nth-child(2),.ic-worksheet .ic-metric>div:nth-child(3) { background:var(--lapis-50); }
.ic-worksheet .ic-service-heading h3 { font-size:1.25rem; }
.ic-worksheet details>summary { font-size:.9375rem; }
.ic-worksheet .tool-result { min-width:0; }
@media(max-width:1000px) { .ic-worksheet { grid-template-columns:1fr; } .ic-worksheet .result-empty { display:none; } }
@media(max-width:700px) { .ic-tool { padding:0 18px; } .ic-tool h1 { font-size:2rem; } .ic-worksheet .ic-plans { grid-template-columns:1fr; } }
@media print { .ic-toolbar,.ic-worksheet form,.ic-worksheet .result-empty { display:none!important; } }

.ic-worksheet .tool-result { position:static; animation:none; }
@media(prefers-reduced-motion:reduce) { .ic-worksheet * { animation:none; transition:none; } }
