.csc {
    --csc-ink: #172337;
    --csc-muted: #667184;
    --csc-navy: #183b56;
    --csc-blue: #356f9f;
    --csc-green: #2f7a62;
    --csc-mint: #edf8f4;
    --csc-sky: #eef6fb;
    --csc-line: #dce4ea;
    --csc-warm: #fff8e8;
    color: var(--csc-ink);
    font-family: inherit;
}
.csc * { box-sizing: border-box; }
.csc-shell { overflow: hidden; border: 1px solid var(--csc-line); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(24,59,86,.08); }
.csc-hero { display: grid; grid-template-columns: minmax(0,1fr) 160px; gap: 26px; align-items: center; padding: 36px 38px; color: #fff; background: linear-gradient(135deg, #183b56, #245d77 58%, #2f7a62); }
.csc-eyebrow,.csc-kicker { display: inline-block; font-size: 12px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.csc-eyebrow { color: #c7f0df; }
.csc-kicker { color: var(--csc-green); }
.csc-hero h2 { margin: 8px 0 10px; font-size: clamp(30px,4.5vw,45px); line-height: 1.07; }
.csc-hero p { max-width: 760px; margin: 0; color: #eaf1f4; line-height: 1.65; }
.csc-hero-mark { position: relative; height: 122px; border: 1px solid rgba(255,255,255,.22); border-radius: 22px; background: rgba(255,255,255,.07); }
.csc-cap { position:absolute; left:29px; top:31px; width:68px; height:42px; background:#d9f4e9; clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%); }
.csc-cap:after { content:''; position:absolute; left:20px; top:23px; width:34px; height:17px; border-bottom:4px solid #d9f4e9; border-radius:0 0 50% 50%; }
.csc-path { position:absolute; left:71px; top:76px; width:56px; height:4px; border-radius:4px; background:#9ee0ca; transform:rotate(-17deg); transform-origin:left center; }
.csc-dot { position:absolute; right:25px; top:54px; width:16px; height:16px; border:4px solid #9ee0ca; border-radius:50%; }
.csc-form { padding: 28px 36px 18px; }
.csc-grid,.csc-helper-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.csc-wide { grid-column:1/-1; }
.csc-field { display:block; min-width:0; padding:17px; border:1px solid var(--csc-line); border-radius:14px; background:#fff; }
.csc-label { display:block; margin-bottom:8px; font-weight:850; line-height:1.35; }
.csc-label b { color:#b23b33; }
.csc-money,.csc-number { display:flex; align-items:center; min-height:50px; border:1px solid #bcc8d0; border-radius:10px; overflow:hidden; background:#fff; }
.csc-money>span,.csc-number>span { align-self:stretch; display:flex; align-items:center; padding:0 13px; color:#566574; background:#f5f8fa; font-weight:800; white-space:nowrap; }
.csc-money>span { border-right:1px solid var(--csc-line); }
.csc-number>span { border-left:1px solid var(--csc-line); }
.csc input { width:100%; min-width:0; padding:13px 14px; border:0; outline:0; color:var(--csc-ink); background:transparent; font:inherit; font-size:16px; }
.csc-money:focus-within,.csc-number:focus-within { border-color:var(--csc-blue); box-shadow:0 0 0 3px rgba(53,111,159,.12); }
.csc-field small { display:block; margin-top:8px; color:var(--csc-muted); line-height:1.48; }
.csc-error { display:block; min-height:18px; margin-top:5px; color:#af3b33; font-size:12px; font-style:normal; font-weight:750; }
.csc-quick { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.csc-quick button,.csc-secondary { appearance:none; border:1px solid #c6d0d8; border-radius:9px; background:#fff; color:var(--csc-ink); font:inherit; font-weight:760; cursor:pointer; }
.csc-quick button { padding:7px 11px; font-size:13px; }
.csc-quick button:hover,.csc-secondary:hover { background:var(--csc-sky); }
.csc-helper { margin-top:16px; border:1px solid #cfdde3; border-radius:14px; background:#fbfdfe; overflow:hidden; }
.csc-helper summary { padding:15px 17px; cursor:pointer; font-weight:850; color:var(--csc-navy); }
.csc-helper summary span { margin-left:6px; color:var(--csc-muted); font-size:12px; font-weight:650; }
.csc-helper-body { padding:0 17px 17px; }
.csc-helper-body>p { margin:0 0 13px; color:var(--csc-muted); line-height:1.55; }
.csc-helper-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:13px; }
.csc-helper-actions span { color:var(--csc-green); font-size:13px; font-weight:750; }
.csc-actions { display:flex; gap:10px; padding-top:18px; }
.csc-primary,.csc-secondary { min-height:48px; padding:0 18px; }
.csc-primary { flex:1; border:0; border-radius:10px; background:var(--csc-navy); color:#fff; font:inherit; font-weight:850; cursor:pointer; }
.csc-primary:hover { background:#245d77; }
.csc-results { margin:14px 36px 28px; padding:23px; border:1px solid #d4e1e5; border-radius:17px; background:#fbfdfd; }
.csc-result-top { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.csc-result-top h3 { margin:5px 0 4px; color:var(--csc-navy); font-size:clamp(36px,6vw,54px); line-height:1; }
.csc-result-top p { max-width:670px; margin:8px 0 0; color:var(--csc-muted); line-height:1.55; }
.csc-result-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.csc-small { min-height:38px; padding:0 12px; font-size:13px; }
.csc-progress-wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:15px; align-items:center; margin:20px 0 16px; }
.csc-progress-track { height:14px; overflow:hidden; border-radius:999px; background:#e7edf1; }
.csc-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--csc-blue),var(--csc-green)); transition:width .35s ease; }
.csc-progress-text { display:flex; align-items:baseline; gap:6px; white-space:nowrap; }
.csc-progress-text strong { color:var(--csc-green); font-size:20px; }
.csc-progress-text span { color:var(--csc-muted); font-size:12px; }
.csc-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.csc-card { min-width:0; padding:15px; border:1px solid var(--csc-line); border-radius:12px; background:#fff; }
.csc-card span { display:block; min-height:34px; color:var(--csc-muted); font-size:12px; line-height:1.35; }
.csc-card strong { display:block; margin-top:4px; font-size:20px; color:var(--csc-ink); word-break:break-word; }
.csc-card small { display:block; margin-top:5px; color:#7a8791; font-size:11px; line-height:1.35; }
.csc-gap { border-color:#ead0c8; background:#fffaf8; }
.csc-surplus { border-color:#c7e3d7; background:var(--csc-mint); }
.csc-breakdown { margin-top:17px; padding:18px; border:1px solid var(--csc-line); border-radius:13px; background:#fff; }
.csc-breakdown h4 { margin:0 0 10px; font-size:18px; }
.csc-break-list>div { display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-bottom:1px dashed #dce4e7; }
.csc-break-list>div:last-child { border-bottom:0; }
.csc-break-list span { color:var(--csc-muted); }
.csc-break-list strong { text-align:right; }
.csc-break-list .csc-total span,.csc-break-list .csc-total strong { color:var(--csc-navy); font-weight:850; }
.csc-inline-note { margin:12px 0 0; padding:12px 13px; border-radius:9px; background:var(--csc-warm); color:#6a5428; font-size:13px; line-height:1.55; }
.csc-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:0 36px 26px; }
.csc-info-grid article { padding:18px; border:1px solid var(--csc-line); border-radius:13px; background:#fff; }
.csc-info-grid article>span { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:50%; color:var(--csc-green); background:var(--csc-mint); font-size:12px; font-weight:850; }
.csc-info-grid strong { display:block; margin-top:11px; color:var(--csc-navy); }
.csc-info-grid p { margin:7px 0 0; color:var(--csc-muted); font-size:13px; line-height:1.55; }
.csc-disclaimer { margin:0 36px 36px; padding:18px 20px; border:1px solid #eadfbd; border-radius:13px; background:#fffaf0; }
.csc-disclaimer strong { color:#6d5520; }
.csc-disclaimer p { margin:7px 0 0; color:#63583e; font-size:13px; line-height:1.62; }
@media (max-width:760px) {
    .csc-hero { grid-template-columns:1fr; padding:28px 22px; }
    .csc-hero-mark { display:none; }
    .csc-form { padding:22px 18px 14px; }
    .csc-grid,.csc-helper-grid,.csc-cards,.csc-info-grid { grid-template-columns:1fr; }
    .csc-wide { grid-column:auto; }
    .csc-results { margin:12px 18px 24px; padding:18px; }
    .csc-info-grid { padding:0 18px 22px; }
    .csc-disclaimer { margin:0 18px 24px; }
    .csc-result-top { flex-direction:column; }
    .csc-result-actions { justify-content:flex-start; }
    .csc-progress-wrap { grid-template-columns:1fr; }
    .csc-actions { flex-direction:column; }
}
@media print {
    .csc-form,.csc-info-grid,.csc-disclaimer,.csc-result-actions { display:none !important; }
    .csc-shell { box-shadow:none; border:0; }
    .csc-results { margin:0; border:0; }
}
