:root{--sg-navy:#102744;--sg-deep:#0c2b50;--sg-gold:#e1b350;--sg-red:#ca1f34;--sg-blue:#175ab0;--sg-line:#d6e1ed;--sg-grey:#526b86}
.savings-page{font-family:'Noto Sans KR','Noto Sans CJK KR',system-ui,-apple-system,sans-serif;line-height:1.5}
.savings-page .brand{display:flex;align-items:center;gap:10px;max-width:285px;min-width:225px;white-space:nowrap;text-decoration:none}
.savings-page .brand img{height:58px;width:58px;object-fit:contain;flex:none}
.savings-page .brand-copy{display:flex;flex-direction:column;gap:2px;font-size:20px;font-weight:900;line-height:1.22;letter-spacing:-.65px}
.savings-page .brand-copy small{font-size:14px;letter-spacing:-.4px;color:#f0c267;font-weight:900}
.savings-page .nav{justify-content:flex-end}.savings-page .nav a{font-size:11px;padding:6px 8px}.savings-page .nav a[aria-current=page]{background:#fff;color:var(--sg-deep)}
.savings-page .page{max-width:1230px;padding-top:20px}.savings-page .intro{border-top:5px solid var(--sg-navy);padding:24px 30px}
.savings-page .intro h1{font-size:31px;font-weight:900;margin:7px 0}.savings-page .intro p{font-size:14px;line-height:1.6}
.savings-page .bigstamp{background:var(--sg-navy);font-size:19px;min-width:184px}
.savings-page .principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0 20px}
.savings-page .principle{background:#fff;border:1px solid #cddbe9;border-top:4px solid var(--sg-navy);border-radius:11px;padding:11px 12px;min-width:0}
.savings-page .principle:nth-child(4){border-top-color:var(--sg-red)}.savings-page .principle strong{display:block;font-size:13px;color:var(--sg-deep)}
.savings-page .principle span{font-size:11px;color:#5c7189;line-height:1.45;display:block;margin-top:5px}
.savings-page .sf-section{border:1px solid var(--sg-line);background:#fff;border-radius:14px;padding:20px;box-shadow:0 3px 12px #10274409;margin-bottom:15px;min-width:0}
.savings-page .sf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.savings-page .sf-head h2{margin:0;font-size:19px;line-height:1.4;color:var(--sg-deep)}
.savings-page .sf-head small{font-size:12px;color:#536d88;display:block;margin-top:3px}
.savings-page .sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.savings-page .sf-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.savings-page .sf-field{display:block;min-width:0;font-size:12px;font-weight:800;color:#3d5471;line-height:1.5}
.savings-page .sf-field select,.savings-page .sf-field input{display:block;width:100%;min-width:0;border:1.5px solid #afc3d8;border-radius:8px;background:#fff;color:#102744;height:44px;padding:8px 10px;margin-top:5px;font-size:15px;font-weight:800;outline-offset:2px}
.savings-page .sf-field select:focus,.savings-page .sf-field input:focus{border-color:#124fa0}
.savings-page .sf-mini{font-size:12px;color:#60758d}.savings-page .sf-btn{border:1px solid var(--sg-navy);color:var(--sg-navy);background:#fff;padding:10px 14px;border-radius:9px;font-weight:900;font-size:13px;cursor:pointer}
.savings-page .sf-btn.primary{background:var(--sg-navy);color:#fff}.savings-page .sf-btn.remove{color:#a61b2d;border-color:#e6b8bf;padding:7px 10px}
.savings-page .goal-card{padding:16px;border:1.5px solid #b9cadd;border-radius:11px;margin:12px 0;background:#fbfdff}
.savings-page .goal-card:focus-within{border-color:#144d90}.savings-page .goal-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
.savings-page .goal-card-top strong{font-size:16px;color:var(--sg-deep)}.savings-page .goal-card .sf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.savings-page .goal-output{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.savings-page .goal-pill{background:#fff;border:1px solid #d6e1ed;border-radius:9px;padding:10px}
.savings-page .goal-pill small{display:block;font-weight:750;color:#617790;font-size:11px}.savings-page .goal-pill b{color:var(--sg-navy);font-size:20px;font-weight:950;white-space:nowrap}
.savings-page .goal-pill.highlight{background:#102744;border-color:#102744}.savings-page .goal-pill.highlight b,.savings-page .goal-pill.highlight small{color:#fff}
.savings-page .sf-callout{padding:12px 14px;background:#fff5e5;border-left:4px solid #db9f27;border-radius:8px;color:#584521;font-size:12px;margin:12px 0;line-height:1.55}
.savings-page .sf-statrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.savings-page .sf-stat{border:1px solid #c6d6e5;background:#f9fbfe;border-radius:12px;padding:13px;min-width:0}
.savings-page .sf-stat label{display:block;font-size:11px;color:#5b718b;font-weight:850}.savings-page .sf-stat b{display:block;font-size:24px;font-weight:950;color:#102744;margin-top:5px;letter-spacing:-1px;overflow-wrap:anywhere}
.savings-page .sf-stat .red{color:var(--sg-red)}.savings-page .sf-stat small{display:block;font-size:11px;color:#60758c;line-height:1.4}
.savings-page .sf-status{background:#e9f3fc;color:#133e70;border-left:4px solid #255eaa;font-size:13px;font-weight:750;padding:12px 15px;border-radius:6px;margin-bottom:12px}
.savings-page .sf-status.warn{background:#fff4ed;color:#a32d22;border-color:#c62832}
.savings-page .sf-chart-wrap{position:relative;width:100%;min-width:0}
.savings-page .sf-chart{width:100%;height:auto;min-height:255px;display:block;background:#fff;border:1px solid #d6e2ef;border-radius:11px;overflow:visible}
.savings-page .legend{display:flex;gap:17px;flex-wrap:wrap;margin-bottom:8px;color:#36516a;font-weight:900;font-size:12px}
.savings-page .legend i{display:inline-block;width:19px;height:5px;border-radius:3px;margin-right:7px;vertical-align:middle}
.savings-page .compare-table{width:100%;min-width:0;border-collapse:collapse;font-size:13px}.savings-page .compare-table th{background:#0f2b50;color:#fff;text-align:center;position:static}.savings-page .compare-table td{text-align:center;background:#fff;border-bottom:1px solid #e3e9f0;font-weight:750}.savings-page .compare-table tr.current td{background:#fff3d9;color:#9d2b1d;font-weight:900}
.savings-page .sf-compact{margin-top:16px;padding:14px;background:#f5f8fc;border:1px solid #d8e3ee;border-radius:11px;font-size:13px;color:#36516a}
.savings-page .sf-compact strong{color:#102744}.savings-page .sf-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.savings-page .sf-story div{padding:14px;background:#f6f9fd;border:1px solid #d8e2ed;border-radius:10px;min-width:0}.savings-page .sf-story b{display:block;color:var(--sg-navy);font-size:14px;margin-bottom:5px}.savings-page .sf-story small{font-size:12px;color:#4c637d;line-height:1.5}
.savings-page .sf-bottomnote{font-size:11px;color:#68788c;line-height:1.65;margin-top:8px}.savings-page .sf-two{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}
@media(max-width:1050px){.savings-page .sf-grid,.savings-page .principles{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-page .sf-two{grid-template-columns:1fr}.savings-page .sf-statrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:710px){.savings-page .head{display:block}.savings-page .brand{margin-bottom:12px}.savings-page .nav{justify-content:flex-start}.savings-page .page{padding:12px 12px 36px}.savings-page .intro{padding:17px 18px}.savings-page .intro h1{font-size:24px}.savings-page .intro .bigstamp{display:none}.savings-page .sf-section{padding:13px}.savings-page .goal-card{padding:11px}.savings-page .goal-card .sf-grid,.savings-page .sf-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-page .goal-output{grid-template-columns:1fr 1fr}.savings-page .goal-output .goal-pill:last-child{grid-column:1/-1}.savings-page .sf-statrow{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-page .sf-stat b{font-size:21px}.savings-page .sf-story{grid-template-columns:1fr}.savings-page .sf-chart{min-height:205px}}
@media(max-width:410px){.savings-page .principles{grid-template-columns:1fr 1fr}.savings-page .sf-grid,.savings-page .goal-card .sf-grid{grid-template-columns:1fr 1fr}.savings-page .sf-field input,.savings-page .sf-field select{font-size:14px}.savings-page .sf-stat b{font-size:19px}}
@media print{@page{size:A4 landscape;margin:10mm}.savings-page header,.savings-page .sf-btn,.savings-page .no-print{display:none!important}.savings-page .page{max-width:none;padding:0}.savings-page .sf-section,.savings-page .goal-card,.savings-page .sf-stat,.savings-page .sf-compact{break-inside:avoid}.savings-page *, .savings-page .sf-stat,.savings-page .sf-chart{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.savings-page .sf-section{box-shadow:none}.savings-page .principles{display:none}.savings-page .sf-chart{max-height:265px}}

/* v5.5 · 목표형 납입/거치기간 및 합산기간 표시 */
.savings-page .sf-total-years output{display:flex;align-items:center;min-height:44px;padding:8px 12px;margin-top:5px;border:1.5px solid #b9cfe3;background:#eaf2fc;border-radius:8px;color:#123c69;font-weight:950;font-size:17px;white-space:nowrap}
@media print{.savings-page .sf-total-years output{background:#eaf2fc!important;color:#123c69!important}}
