/* =====================================================
   대장옥션 종합 계산기 — 통합 스타일
   ===================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1a2b4a;--navy2:#243650;--blue:#2563eb;--blue-l:#3b82f6;
  --teal:#0891b2;--green:#16a34a;--green-l:#22c55e;
  --orange:#ea580c;--red:#dc2626;--gold:#d97706;
  --g1:#f8fafc;--g2:#f1f5f9;--g3:#e2e8f0;--g4:#cbd5e1;
  --g5:#94a3b8;--g6:#64748b;--g7:#475569;--text:#1e293b;
  --r:12px;--sh:0 2px 12px rgba(26,43,74,.08);
  --tr:.2s ease;
}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans KR',sans-serif;background:#eef2f7;color:var(--text);font-size:15px;line-height:1.6}

/* ── 헤더 ── */
.site-header{background:linear-gradient(135deg,var(--navy) 0%,#1e3a5f 55%,#0891b2 100%);color:#fff;padding:1.6rem 1.5rem 1.4rem;text-align:center}
.header-inner{position:relative;z-index:1}
.brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.4rem}
.brand-badge{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.2rem .65rem;border-radius:20px;text-decoration:none}
.brand-badge-tv{background:linear-gradient(135deg,#ff0000,#cc0000);border-color:#ff4444;color:#fff;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.25rem .8rem;letter-spacing:.02em;transition:opacity .2s}
.brand-badge-tv:hover{opacity:.85}
.brand-badge-tv i{font-size:.85rem}
.brand-title{font-size:1.55rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.header-desc{color:rgba(255,255,255,.75);font-size:.87rem}

/* ── 탭 네비 ── */
.tab-nav{background:#fff;border-bottom:1px solid var(--g3);position:sticky;top:0;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,.06)}
/* PC: 가운데 정렬 */
.tab-nav-inner{display:flex;justify-content:center;overflow-x:auto;gap:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.tab-nav-inner::-webkit-scrollbar{display:none}
.tab-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem 1.1rem;border:none;background:none;font-family:inherit;font-size:.74rem;font-weight:600;color:var(--g6);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all var(--tr);min-width:72px;scroll-snap-align:start}
.tab-btn i{font-size:1rem}
.tab-btn:hover{color:var(--blue);background:#f8faff}
.tab-btn.active{color:var(--blue);border-bottom-color:var(--blue);background:#f0f6ff}
/* 모바일: 스크롤 힌트 화살표 */
.tab-nav-scroll-hint{display:none;position:absolute;right:0;top:0;height:100%;width:32px;background:linear-gradient(to right,transparent,rgba(255,255,255,.95));pointer-events:none;align-items:center;justify-content:flex-end;padding-right:4px;color:var(--g5);font-size:.75rem}

/* ── 탭 콘텐츠 ── */
.tab-content-wrap{}
.tab-pane{display:none}
.tab-pane.active{display:block}

/* ── 가이드 배너 ── */
.guide-banner{background:#fff;border-bottom:1px solid var(--g3);padding:.75rem 1rem}
.guide-grid{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}
.guide-item{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--g6);padding:.28rem .65rem;border-radius:20px;background:var(--g2)}
.guide-item.highlight{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff}
.guide-item i{font-size:.72rem}
.guide-arrow{color:var(--g4);font-size:.65rem}

/* ── 컨테이너/레이아웃 ── */
.container{max-width:1300px;margin:0 auto;padding:0 1.2rem}
.main-layout{display:grid;grid-template-columns:1fr 460px;gap:1.4rem;padding-top:1.5rem;padding-bottom:3rem;align-items:start}
.input-panel{display:flex;flex-direction:column;gap:1.1rem}
.result-panel{position:sticky;top:68px}

/* ── 계산기 레이아웃 ── */
.calc-layout{max-width:680px;padding-top:1.8rem;padding-bottom:3rem;margin-left:auto;margin-right:auto}
.calc-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--g3);overflow:hidden}
.calc-header{font-size:1.1rem;font-weight:800;color:var(--navy);padding:1.2rem 1.5rem .2rem;display:flex;align-items:center;gap:.5rem}
.calc-header i{color:var(--blue)}
.calc-desc{font-size:.82rem;color:var(--g6);padding:.1rem 1.5rem .8rem;border-bottom:1px solid var(--g2)}
.calc-body{padding:1.2rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:1rem}
.sub-title{font-size:.88rem;font-weight:700;color:var(--navy);padding:.3rem 0;border-bottom:2px solid var(--blue);margin-top:.2rem}

/* ── 카드 ── */
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--g3);overflow:hidden}
.card-header{padding:1.1rem 1.4rem .5rem;border-bottom:1px solid var(--g2);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.card-header.no-bd{border-bottom:none;padding-bottom:.15rem}
.card-header .card-title{flex:1;min-width:0}
.card-header .card-desc{width:100%;margin:0}
.step-badge{display:inline-block;font-size:.67rem;font-weight:800;letter-spacing:.08em;color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:.1rem .45rem;margin-bottom:.3rem}
.card-title{font-size:1rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.45rem}
.card-title i{color:var(--blue);font-size:.9rem}
.card-desc{font-size:.78rem;color:var(--g6);margin-top:.2rem}
.card-body{padding:1.1rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.9rem}

/* ── 필드 ── */
.field-group{display:flex;flex-direction:column;gap:.28rem}
.field-row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
label{font-size:.8rem;font-weight:600;color:var(--g7);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.req{color:var(--red);font-size:.78rem}
input[type=text],input[type=number],select{width:100%;padding:.6rem .85rem;border:1.5px solid var(--g3);border-radius:8px;font-size:.88rem;font-family:inherit;color:var(--text);background:#fff;transition:border-color var(--tr),box-shadow var(--tr);outline:none}
input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
input::placeholder{color:var(--g4)}
.input-wrap{position:relative}
.input-wrap input{padding-right:2.6rem}
.unit{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:var(--g5);pointer-events:none}

/* ── 자동계산 행 ── */
.auto-row{display:flex;flex-wrap:wrap;gap:.8rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:.5rem .85rem;margin-top:.1rem}
.auto-item{display:flex;flex-direction:column;gap:.05rem}
.auto-item b{font-size:.7rem;color:var(--teal);font-weight:700}
.auto-item em{font-size:.9rem;font-weight:700;color:var(--navy);font-style:normal}

/* ── 슬라이더 ── */
.sv-badge{display:inline-block;background:var(--blue);color:#fff;font-size:.72rem;font-weight:700;padding:.08rem .5rem;border-radius:20px;min-width:38px;text-align:center}
.slider{width:100%;-webkit-appearance:none;height:5px;border-radius:5px;background:var(--g3);outline:none;cursor:pointer;margin:.1rem 0}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:var(--blue);cursor:pointer;border:3px solid #fff;box-shadow:0 2px 6px rgba(37,99,235,.35)}
.range-lbl{display:flex;justify-content:space-between;font-size:.68rem;color:var(--g5)}

/* ── 버튼 토글 ── */
.btn-toggle-group{display:flex;flex-wrap:wrap;gap:.35rem}
.btn-toggle{padding:.38rem .8rem;border:1.5px solid var(--g3);border-radius:7px;background:#fff;font-size:.8rem;font-family:inherit;font-weight:500;color:var(--g7);cursor:pointer;transition:all var(--tr)}
.btn-toggle:hover{border-color:var(--blue);color:var(--blue);background:#eff6ff}
.btn-toggle.active{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700}

/* ── 팁 ── */
.tip{font-size:.73rem;color:var(--g5);display:flex;align-items:flex-start;gap:.28rem;line-height:1.45}
.tip i{margin-top:.13rem;flex-shrink:0}
.btn-sm-link{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;color:var(--teal);background:#f0fdff;border:1px solid #a5f3fc;border-radius:5px;padding:.12rem .45rem;cursor:pointer;transition:all var(--tr);margin-left:auto}
.btn-sm-link:hover{background:var(--teal);color:#fff}

/* ── 양도세 미리보기 ── */
.tax-preview{background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:10px;padding:1.1rem 1.2rem}
.tp-header{font-size:.85rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.35rem;margin-bottom:.8rem}
.tp-header i{color:#67e8f9}
.badge-auto{margin-left:auto;font-size:.65rem;font-weight:700;background:#22c55e;color:#fff;padding:.08rem .42rem;border-radius:20px}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.tp-item{display:flex;flex-direction:column;background:rgba(255,255,255,.07);border-radius:7px;padding:.5rem .7rem}
.tp-highlight{grid-column:span 2;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3)}
.tp-l{font-size:.7rem;color:rgba(255,255,255,.55);font-weight:500}
.tp-v{font-size:.9rem;font-weight:700;color:#fff}
.tp-v.green{color:#4ade80}
.tp-v.red{color:#f87171}
.tp-highlight .tp-l{color:#fca5a5}
.tp-highlight .tp-v{font-size:1.05rem;color:#fca5a5}
.tp-note{margin-top:.75rem;font-size:.7rem;color:rgba(255,255,255,.45);display:flex;gap:.35rem;line-height:1.5}
.tp-note i{color:#67e8f9;flex-shrink:0;margin-top:.1rem}

/* ── 버튼 ── */
.btn-row{display:flex;gap:.7rem}
.btn-primary{flex:1;padding:.85rem 1.4rem;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border:none;border-radius:9px;font-size:.96rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:all var(--tr);box-shadow:0 4px 14px rgba(37,99,235,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(37,99,235,.38)}
.btn-reset{padding:.85rem 1.1rem;background:#fff;color:var(--g6);border:1.5px solid var(--g3);border-radius:9px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all var(--tr)}
.btn-reset:hover{border-color:var(--red);color:var(--red)}

/* ── 결과 패널 플레이스홀더 ── */
.result-placeholder{background:#fff;border-radius:var(--r);box-shadow:var(--sh);border:2px dashed var(--g3);padding:2.8rem 1.8rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.result-placeholder i{font-size:2.8rem;color:var(--g3)}
.result-placeholder p{font-size:.95rem;font-weight:700;color:var(--g5)}
.result-placeholder small{font-size:.78rem;color:var(--g4);line-height:1.6}

/* ── 결과 카드 ── */
.result-content{display:flex;flex-direction:column;gap:1.1rem}
.result-card{}
.sum-cards{display:grid;grid-template-columns:1fr;gap:.65rem}
.sum-card{background:#fff;border-radius:11px;box-shadow:var(--sh);padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border-left:4px solid transparent}
.sum-card.blue{border-left-color:var(--blue)}
.sum-card.green{border-left-color:var(--green)}
.sum-card.orange{border-left-color:var(--orange)}
.sum-card i{font-size:1.3rem;width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sum-card.blue i{background:#eff6ff;color:var(--blue)}
.sum-card.green i{background:#f0fdf4;color:var(--green)}
.sum-card.orange i{background:#fff7ed;color:var(--orange)}
.sum-card>div{display:flex;flex-direction:column}
.sl{font-size:.72rem;font-weight:600;color:var(--g6)}
.sv{font-size:1.15rem;font-weight:800;color:var(--navy);margin:.05rem 0}
.sum-card small{font-size:.67rem;color:var(--g5)}

/* ── 게이지 ── */
.gauge-body{display:flex;flex-direction:column;align-items:center;gap:.7rem}
.gauge-svg{width:190px}
.roi-row-wrap{display:flex;border:1px solid var(--g3);border-radius:9px;overflow:hidden;width:100%}
.roi-cell{flex:1;display:flex;flex-direction:column;align-items:center;padding:.6rem .4rem}
.roi-divider{width:1px;background:var(--g3);align-self:stretch}
.rl{font-size:.7rem;font-weight:600;color:var(--g6)}
.rv{font-size:1.2rem;font-weight:800;color:var(--navy)}
.rv.orange{color:var(--orange)}
.grade-wrap{text-align:center}
.grade-badge{display:inline-block;padding:.3rem 1.1rem;border-radius:20px;font-size:.8rem;font-weight:700}
.grade-best{background:#d1fae5;color:#065f46}
.grade-good{background:#d1fae5;color:#166534}
.grade-ok{background:#dbeafe;color:#1e40af}
.grade-low{background:#fef3c7;color:#92400e}
.grade-loss{background:#fee2e2;color:#991b1b}

/* ── 비교 바 ── */
.cbar-wrap{display:flex;flex-direction:column;gap:.6rem}
.cbar-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:.55rem}
.cl{font-size:.76rem;font-weight:600;color:var(--g7);text-align:right}
.ct{height:19px;background:var(--g2);border-radius:9px;overflow:hidden}
.cf{height:100%;border-radius:9px;transition:width 1s ease}
.cf.blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.cf.red{background:linear-gradient(90deg,#ef4444,#fca5a5)}
.cf.green{background:linear-gradient(90deg,#16a34a,#4ade80)}
.ca{font-size:.8rem;font-weight:700;color:var(--navy);white-space:nowrap;min-width:85px;text-align:right}
.ca.red{color:var(--red)}
.ca.green{color:var(--green)}
.saving-tip{display:flex;align-items:flex-start;gap:.45rem;background:#fefce8;border:1px solid #fde68a;border-radius:7px;padding:.6rem .85rem;font-size:.76rem;color:#92400e;line-height:1.5;margin-top:.25rem}
.saving-tip i{color:var(--gold);flex-shrink:0;margin-top:.1rem}

/* ── 상세 테이블 ── */
.dtable{width:100%;border-collapse:collapse;font-size:.8rem}
.dtable td{padding:.38rem .45rem;border-bottom:1px solid var(--g2)}
.dtable td:last-child{text-align:right;font-weight:600}
.ts td{background:var(--g2);font-weight:700;font-size:.72rem;color:var(--g6);letter-spacing:.04em;padding:.32rem .45rem}
.sub td{padding-left:1.1rem;color:var(--g6);font-size:.78rem}
.sub td:last-child{color:var(--g7)}
.tot td{background:#f0f9ff;font-weight:700!important;color:var(--teal)!important}
.taxr td{color:var(--red)}
.grand td{background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff!important;font-size:.88rem;font-weight:800!important}
.grand td:last-child{color:#4ade80!important}
.hl td{background:#fff7ed;font-weight:700;border-left:3px solid #f97316}
.hl td:last-child{color:#ea580c!important}
.roitr td{background:#f0fdf4}

/* ── 자기자본 투입 항목 강조 ── */
.own-cap td{background:#fff7ed;border-left:3px solid #f97316}
.own-cap td:first-child{color:#9a3412;font-size:.79rem}
.own-cap td:last-child{color:#c2410c!important;font-weight:700}
.own-cap-label{display:inline-flex;align-items:center;gap:.3rem}
.own-cap-label::before{content:'●';color:#f97316;font-size:.6rem;line-height:1}
.own-cap-badge{display:inline-block;font-size:.6rem;font-weight:800;background:#f97316;color:#fff;padding:.05rem .3rem;border-radius:3px;margin-left:.3rem;vertical-align:middle;letter-spacing:.03em}
.roitr td:last-child{color:var(--green)!important}

/* ── 자기자본 범례 ── */
.own-cap-legend{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.72rem;color:var(--g6);background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:.45rem .75rem;margin-bottom:.6rem;line-height:1.5}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f97316;flex-shrink:0}
.legend-bank{display:inline-block;width:10px;height:10px;border-radius:50%;background:#94a3b8;flex-shrink:0;margin-left:.6rem}
.own-cap-legend b{color:#c2410c}
.sp{height:5px}
.sp td{border:none}
.red{color:var(--red)}
.green{color:var(--green)}

/* ── CTA ── */
.cta-box{background:linear-gradient(135deg,var(--navy),#1e3a5f);border-radius:11px;padding:1.2rem 1.4rem;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.cta-txt{flex:1;color:#fff;font-size:.82rem;line-height:1.6}
.cta-txt strong{font-size:.9rem}
.cta-txt small{color:rgba(255,255,255,.65)}
.btn-cta{display:inline-flex;align-items:center;gap:.38rem;padding:.6rem 1.15rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;text-decoration:none;border-radius:7px;font-size:.82rem;font-weight:700;white-space:nowrap;transition:all var(--tr)}
.btn-cta:hover{transform:scale(1.04)}

/* ── 결과 박스 (계산기용) ── */
.result-box{background:linear-gradient(135deg,#f8fafc,#f0f6ff);border:1px solid var(--g3);border-radius:10px;padding:1.1rem 1.2rem;margin-top:.3rem}
.rb-title{font-size:.88rem;font-weight:800;color:var(--navy);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue)}
.rb-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.rb-item{display:flex;flex-direction:column;background:#fff;border-radius:7px;padding:.5rem .7rem;border:1px solid var(--g3)}
.rb-item.total{background:linear-gradient(135deg,#eff6ff,#e0f2fe);border-color:#93c5fd}
.rl{font-size:.7rem;font-weight:600;color:var(--g6)}
.rv{font-size:.92rem;font-weight:700;color:var(--navy)}
.rv.red{color:var(--red)}
.rv.green{color:var(--green)}
.rb-note{margin-top:.7rem;font-size:.73rem;color:var(--g6);display:flex;align-items:flex-start;gap:.3rem;line-height:1.5}
.rb-note i{color:var(--gold);flex-shrink:0;margin-top:.1rem}
.rnt-judge{margin-top:.6rem;padding:.55rem .85rem;border-radius:7px;font-size:.8rem;font-weight:700;text-align:center}

/* ── 참고표 토글 ── */
.ref-toggle{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--teal);cursor:pointer;padding:.5rem .2rem;border-top:1px solid var(--g3);margin-top:.3rem}
.ref-toggle:hover{color:var(--blue)}
.ref-box{margin-top:.5rem}
.rtable{width:100%;border-collapse:collapse;font-size:.8rem}
.rtable th{background:var(--navy);color:#fff;padding:.38rem .6rem;text-align:left}
.rtable td{padding:.35rem .6rem;border-bottom:1px solid var(--g2)}
.rtable tr:nth-child(even) td{background:var(--g1)}
.rtable .red{color:var(--red);font-weight:700}
.rtable .green{color:var(--green);font-weight:700}

/* ── 모달 ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(4px);z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:14px;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--g3);position:sticky;top:0;background:#fff;z-index:1}
.modal-hd h3{font-size:.97rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.45rem}
.modal-hd button{width:30px;height:30px;border-radius:7px;border:none;background:var(--g2);color:var(--g6);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--tr)}
.modal-hd button:hover{background:var(--red);color:#fff}
.modal-bd{padding:1.4rem}
.mst{font-size:.83rem;font-weight:700;color:var(--navy);margin-bottom:.55rem}

/* ── 푸터 ── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.45);text-align:center;padding:1.4rem 1rem;font-size:.76rem;line-height:2}
.site-footer strong{color:rgba(255,255,255,.75)}

/* =====================================================
   양도세 계산기 전용 스타일
   ===================================================== */
/* 탭 강조 배지 */
.tab-btn-highlight{position:relative}
.tab-btn-highlight::after{content:'NEW';position:absolute;top:5px;right:4px;background:#ef4444;color:#fff;font-size:.55rem;font-weight:800;padding:.05rem .28rem;border-radius:4px;letter-spacing:.03em}
.tab-btn-highlight.active::after{background:#fff;color:#2563eb}

/* 레이아웃 */
.transfer-layout{display:grid;grid-template-columns:1fr 480px;gap:1.4rem;padding-top:1.5rem;padding-bottom:3rem;align-items:start}
.transfer-input{display:flex;flex-direction:column;gap:1.1rem}
.transfer-result{position:sticky;top:68px}

/* 보유기간 표시 */
.hold-display{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1px solid #93c5fd;border-radius:9px;padding:.6rem 1rem;margin-top:.2rem;flex-wrap:wrap;gap:.4rem}
.hd-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;color:var(--navy)}
.hd-item i{color:var(--blue)}
.hd-badge{font-size:.75rem;font-weight:700;padding:.2rem .65rem;border-radius:20px}
.badge-danger{background:#fee2e2;color:#991b1b}
.badge-warn{background:#fef3c7;color:#92400e}
.badge-ok{background:#dbeafe;color:#1e40af}
.badge-good{background:#d1fae5;color:#065f46}

/* 양도차익 미리보기 */
.gain-preview{background:#f8fafc;border:1px solid var(--g3);border-radius:9px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.3rem}
.gp-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}
.gp-row.minus .gp-label{color:var(--g6)}
.gp-row.total{padding-top:.35rem;border-top:2px solid var(--g3);margin-top:.1rem}
.gp-row.total .gp-label{font-weight:800;color:var(--navy);font-size:.9rem}
.gp-label{color:var(--g7);font-weight:500}
.gp-val{font-weight:700;color:var(--navy);font-size:.88rem}

/* 안내 박스 */
.notice-box{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border-radius:8px;font-size:.8rem;line-height:1.5}
.notice-box.warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.notice-box.warning i{color:var(--gold);flex-shrink:0;margin-top:.1rem;font-size:1rem}
.notice-box strong{display:block;font-size:.84rem;margin-bottom:.2rem}

/* 비과세 배너 */
.exempt-banner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;border-radius:11px;padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem}
.exempt-banner i{font-size:1.6rem;color:#059669;flex-shrink:0}
.exempt-banner strong{display:block;font-size:.95rem;color:#065f46;margin-bottom:.2rem}
.exempt-banner span{font-size:.8rem;color:#047857}

/* 요약카드 레드 */
.sum-card.red-card{border-left-color:var(--red)}
.sum-card.red-card i{background:#fff5f5;color:var(--red)}

/* 절세 가이드 리스트 */
.guide-list{display:flex;flex-direction:column;gap:.55rem}
.guide-item-row{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .85rem;border-radius:8px;font-size:.82rem;line-height:1.55}
.guide-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.guide-tip{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.guide-info{background:#f0fdff;border:1px solid #a5f3fc;color:#0e7490}
.guide-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.guide-danger{background:#fff5f5;border:1px solid #fecaca;color:#991b1b}
.gi-icon{font-size:1rem;flex-shrink:0;margin-top:.05rem}

/* 보유기간별 시뮬 테이블 */
.sim-table-wrap{overflow-x:auto}
.sim-table{width:100%;border-collapse:collapse;font-size:.8rem}
.sim-table th{background:var(--navy);color:#fff;padding:.38rem .6rem;text-align:center;white-space:nowrap}
.sim-table td{padding:.38rem .6rem;border-bottom:1px solid var(--g2);text-align:center}
.sim-table tr:nth-child(even) td{background:var(--g1)}
.sim-exempt td{background:#d1fae5!important;color:#065f46;font-weight:700}
.sim-current td{outline:2px solid var(--blue);font-weight:700}

/* 반응형 */
@media(max-width:960px){
  .transfer-layout{grid-template-columns:1fr}
  .transfer-result{position:static;order:-1}
}
@media(max-width:600px){
  .sim-table{font-size:.72rem}
  .sim-table th,.sim-table td{padding:.3rem .4rem}
}

/* ── 반응형 ── */
@media(max-width:960px){
  .main-layout{grid-template-columns:1fr}
  .result-panel{position:static;order:-1}
}
@media(max-width:600px){
  .brand-title{font-size:1.2rem}
  .field-row2{grid-template-columns:1fr}
  .rb-grid{grid-template-columns:1fr}
  .tp-grid{grid-template-columns:1fr}
  .tp-highlight{grid-column:span 1}
  .cta-box{flex-direction:column;text-align:center}
  .btn-cta{width:100%;justify-content:center}
  .cbar-row{grid-template-columns:65px 1fr auto}
  /* 모바일 탭: 2줄 wrap */
  .tab-nav-inner{justify-content:center;flex-wrap:wrap;overflow-x:visible}
  .tab-btn{min-width:calc(25% - 2px);padding:.55rem .3rem;font-size:.65rem}
  .tab-nav-scroll-hint{display:none}
  .tab-nav{position:relative}
}
/* 태블릿 */
@media(max-width:768px) and (min-width:601px){
  .tab-nav-inner{justify-content:center;flex-wrap:wrap;overflow-x:visible}
  .tab-btn{min-width:calc(16.66% - 2px);padding:.6rem .5rem;font-size:.68rem}
  .tab-nav-scroll-hint{display:none}
  .tab-nav{position:relative}
}

/* ── 날짜 텍스트 입력 ── */
.date-text-wrap{position:relative}
.date-text-input{width:100%;padding:.55rem .75rem;border:1px solid var(--g3);border-radius:8px;font-family:inherit;font-size:.88rem;color:var(--navy);background:#fff;transition:border .15s;letter-spacing:.04em}
.date-text-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.date-text-input::placeholder{color:var(--g4);letter-spacing:0}
.date-text-hint{display:block;font-size:.72rem;margin-top:.2rem;min-height:.9rem}
.date-text-hint.ok{color:#16a34a}
.date-text-hint.err{color:#dc2626}

/* ── 한글 금액 표기 ── */
.krw-display{
  display:none;
  font-size:.75rem;
  font-weight:700;
  color:#2563eb;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:5px;
  padding:.12rem .5rem;
  margin-top:.18rem;
  letter-spacing:-.01em;
  line-height:1.4;
}

/* ── 빠른 금액 입력 버튼 ── */
.quick-amt-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
  margin-top:.32rem;
}
.btn-quick{
  font-size:.72rem;
  font-weight:700;
  color:#1e40af;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:5px;
  padding:.2rem .55rem;
  cursor:pointer;
  transition:background .15s,transform .1s;
  white-space:nowrap;
}
.btn-quick:hover{background:#dbeafe;transform:translateY(-1px)}
.btn-quick:active{transform:translateY(0)}

/* ── 결과 복사 버튼 ── */
.btn-copy-result{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.78rem;
  font-weight:700;
  color:#475569;
  background:#f1f5f9;
  border:1px solid var(--g3);
  border-radius:6px;
  padding:.35rem .75rem;
  cursor:pointer;
  transition:background .15s;
  margin-left:.4rem;
}
.btn-copy-result:hover{background:#e2e8f0;color:var(--navy)}
.btn-copy-result.copied{color:#059669;background:#d1fae5;border-color:#6ee7b7}

/* ── 입력값 초기화 확인 토스트 ── */
.toast-msg{
  position:fixed;
  bottom:1.5rem;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--navy);
  color:#fff;
  font-size:.82rem;
  font-weight:600;
  padding:.6rem 1.3rem;
  border-radius:25px;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  opacity:0;
  transition:opacity .3s,transform .3s;
  pointer-events:none;
  z-index:9999;
  white-space:nowrap;
}
.toast-msg.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── 내보내기 버튼 행 ── */
.export-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.8rem 1.4rem .4rem;
  align-items:center;
}
.btn-export{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.8rem;
  font-weight:700;
  border:none;
  border-radius:7px;
  padding:.42rem .9rem;
  cursor:pointer;
  transition:opacity .15s,transform .1s;
  white-space:nowrap;
}
.btn-export:hover{opacity:.85;transform:translateY(-1px)}
.btn-export:active{transform:translateY(0)}
.btn-export.excel{background:#217346;color:#fff;}
.btn-export.excel i{font-size:.9rem}
.btn-export.kakao{background:#FEE500;color:#3C1E1E;}

/* ── 역산 카드 ── */
.card-reverse{border-left:4px solid var(--gold);}
.card-header-toggle{display:flex;align-items:center;gap:.55rem;transition:background .15s}
.card-header-toggle:hover{background:#fffbeb}
.rev-toggle-icon{margin-left:auto;color:var(--gold);font-size:.85rem;transition:transform .2s}
.rev-collapsed-hint{font-size:.73rem;color:#92400e;background:#fffbeb;border-top:1px dashed #fde68a;padding:.45rem 1.4rem;border-radius:0 0 10px 10px;display:flex;align-items:center;gap:.4rem;cursor:pointer;transition:background .15s}.rev-collapsed-hint:hover{background:#fef3c7}
.rev-collapsed-hint::before{content:'\f0eb';font-family:"Font Awesome 6 Free";font-weight:900;color:var(--gold);font-size:.7rem}.step-badge-rev{background:linear-gradient(135deg,var(--gold),#f59e0b);color:var(--navy)}
.rv-result-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6rem;
  margin-top:.7rem;
}
.rv-card{
  background:#f8fafc;
  border:1px solid var(--g3);
  border-radius:9px;
  padding:.6rem .85rem;
}
.rv-card.rv-main{
  grid-column:span 2;
  background:linear-gradient(135deg,#eff6ff,#e0f2fe);
  border-color:#93c5fd;
}
.rv-label{font-size:.73rem;color:var(--g6);font-weight:600;margin-bottom:.18rem}
.rv-label i{color:var(--blue);margin-right:.25rem}
.rv-value{font-size:1.35rem;font-weight:800;color:var(--navy)}
.rv-value.sm{font-size:1rem}
.rv-value.green{color:#059669}
.rv-sub{font-size:.75rem;color:#2563eb;font-weight:600;margin-top:.1rem}
.rv-note{font-size:.76rem;color:#64748b;margin-top:.55rem;padding:.45rem .7rem;background:#fffbeb;border-radius:7px;border:1px solid #fde68a}
.btn-rv-apply{
  display:block;
  width:100%;
  margin-top:.7rem;
  background:var(--blue);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:.6rem;
  font-size:.83rem;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
}
.btn-rv-apply:hover{background:#1d4ed8}
.rv-empty{font-size:.78rem;color:#94a3b8;padding:.5rem .2rem;display:flex;align-items:center;gap:.4rem}
@media(max-width:600px){
  .rv-result-grid{grid-template-columns:1fr}
  .rv-card.rv-main{grid-column:span 1}
  .export-bar{padding:.6rem 1rem .3rem}
}
