/* v75 VVIP Deep-Blue Luxe (global overrides) */
:root{
  --vvip-bg:#ffffff;
  --vvip-panel:#F5F6F8;
  --vvip-panel-2:#EEF2F7;
  --vvip-border:#E2E8F0;
  --vvip-text:#0F172A;
  --vvip-muted:#5B6472;
  --vvip-accent:#1E3A8A;   /* deep blue */
  --vvip-accent-2:#2563EB; /* blue */
  --vvip-danger:#B91C1C;
  --vvip-warn:#B45309;
  --vvip-ok:#166534;
  --vvip-shadow: 0 14px 40px rgba(15,23,42,.08);
  --vvip-shadow-2: 0 10px 28px rgba(15,23,42,.06);
  --vvip-radius: 18px;
  --vvip-radius-sm: 14px;
  --vvip-focus: 0 0 0 3px rgba(37,99,235,.18);
}
html,body{background:var(--vvip-bg)!important;color:var(--vvip-text)!important;}
body{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", Arial, "Apple SD Gothic Neo", sans-serif;}
a{color:inherit;}
/* common card/panel look */
.card,.panel,.box,.kvBox,.kvBoard,.st-card,.tile,.sectionCard{
  border-radius: var(--vvip-radius)!important;
}
.card,.panel,.box,.sectionCard{
  background: var(--vvip-panel)!important;
  border:1px solid var(--vvip-border)!important;
  box-shadow: var(--vvip-shadow-2)!important;
}
input,select,textarea{
  background: #FFFFFF!important;
  border:1px solid var(--vvip-border)!important;
  border-radius: 14px!important;
  color: var(--vvip-text)!important;
}
input:focus,select:focus,textarea:focus{outline:none!important; box-shadow: var(--vvip-focus)!important;}
/* buttons */
.btn,button,.st-btn,.st-shell-btn,.pillBtn,.chipBtn{
  border-radius: 14px!important;
}
.btn, .st-btn{
  border:1px solid var(--vvip-border);
  background:#fff;
}
.btn.primary,.btnPrimary,.st-btn.primary,.vvip-primary{
  background: var(--vvip-accent)!important;
  border-color: rgba(30,58,138,.9)!important;
  color:#fff!important;
  box-shadow: 0 10px 24px rgba(30,58,138,.18)!important;
}
.btn.primary:hover,.st-btn.primary:hover{filter: brightness(1.03);}
.btn.secondary,.st-btn.secondary{background:#fff!important;}

/* header 문의 CTA (always visible) */
.st-shell-actions{display:flex; gap:10px; align-items:center;}
.st-shell-btn.cta{
  padding: 10px 14px!important;
  border-radius: 999px!important;
  background: linear-gradient(180deg, rgba(30,58,138,1), rgba(37,99,235,1))!important;
  border: 1px solid rgba(30,58,138,.55)!important;
  color:#fff!important;
  font-weight: 900!important;
  box-shadow: 0 12px 26px rgba(30,58,138,.18)!important;
}
.st-shell-btn.cta:hover{ filter: brightness(1.03); }
.st-shell-btn.cta:active{ transform: translateY(1px); }
/* shell header */
.st-shell{
  position: sticky;
  top: 0;
  z-index: 1200;
  background: rgba(255,255,255,.82)!important;
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(226,232,240,.75);
}
.st-shell-inner{max-width: 1180px;}
.st-shell-link{
  border-radius: 12px;
}
.st-shell-link:hover{
  background: rgba(37,99,235,.08)!important;
}
.st-shell-menu{
  background:#fff!important;
  border:1px solid var(--vvip-border)!important;
  border-radius: 18px!important;
  box-shadow: var(--vvip-shadow)!important;
}
.st-shell-menu a{
  border-radius: 14px;
}
.st-shell-menu a:hover{
  background: rgba(37,99,235,.08)!important;
}
.st-shell-menu-title{
  color: var(--vvip-muted)!important;
  letter-spacing: .02em;
}
/* calculator accordion */
.st-shell-mega-acc{padding: 14px 14px 18px!important; min-width: 360px;}
.st-shell-acc{display:flex; flex-direction:column; gap:12px;}
.st-acc{
  background: var(--vvip-panel);
  border:1px solid var(--vvip-border);
  border-radius: 18px;
  overflow:hidden;
}
.st-acc[open]{box-shadow: var(--vvip-shadow-2);}
.st-acc-sum{
  list-style:none;
  cursor:pointer;
  padding: 14px 16px;
  display:flex; align-items:center; justify-content:space-between;
  color: var(--vvip-text);
  font-weight: 700;
}
.st-acc-sum::-webkit-details-marker{display:none;}
.st-acc .chev{color: var(--vvip-accent); font-weight:900;}
.st-acc-body{padding: 6px 10px 12px; display:flex; flex-direction:column; gap:6px;}
.st-acc-body a{
  display:flex; justify-content:space-between; align-items:center;
  padding: 10px 12px;
  background: #fff;
  border:1px solid rgba(226,232,240,.85);
  border-radius: 14px;
}
.st-acc-body a .hint{color: var(--vvip-accent); opacity:.85;}
/* footer CTA dock (v76: disabled, kept for backward compatibility) */
.vvip-cta-dock{
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 14px;
  z-index: 1300;
  display:flex;
  gap:10px;
  padding: 10px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border:1px solid rgba(226,232,240,.9);
  border-radius: 999px;
  box-shadow: var(--vvip-shadow);
}

/* v76: ensure legacy bottom CTAs are not visible even if injected by cache */
.vvip-cta-dock,
.vvip-tools-backdrop,
.vvip-tools-sheet,
.st-certdock{
  display:none!important;
}
.vvip-cta-btn{
  appearance:none;
  border:1px solid rgba(226,232,240,.9);
  background:#fff;
  color: var(--vvip-text);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .01em;
  display:inline-flex;
  gap:8px;
  align-items:center;
  cursor:pointer;
}
.vvip-cta-btn.primary{
  background: var(--vvip-accent);
  border-color: rgba(30,58,138,.9);
  color:#fff;
  box-shadow: 0 10px 22px rgba(30,58,138,.18);
}
.vvip-cta-btn.primary:hover{filter: brightness(1.03);}
.vvip-cta-btn:hover{background: rgba(37,99,235,.07);}
.vvip-tools-backdrop{
  position: fixed; inset: 0;
  z-index: 1290;
  background: rgba(15,23,42,.28);
  backdrop-filter: blur(2px);
}
.vvip-tools-sheet{
  position: fixed;
  left:50%; transform: translateX(-50%);
  bottom: 74px;
  z-index: 1295;
  width: min(520px, calc(100vw - 28px));
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: 22px;
  box-shadow: var(--vvip-shadow);
  padding: 14px;
}
.vvip-tools-grid{display:grid; grid-template-columns: 1fr 1fr; gap:10px;}
.vvip-tools-grid a{
  border-radius: 16px;
  border:1px solid rgba(226,232,240,.9);
  background: var(--vvip-panel);
  padding: 12px 12px;
  font-weight: 800;
  display:flex; justify-content:space-between; align-items:center;
}
.vvip-tools-grid a:hover{background: rgba(37,99,235,.08);}
.vvip-tools-title{font-weight: 900; margin: 2px 4px 10px; color: var(--vvip-text);}
.vvip-tools-sub{margin: 0 4px 12px; color: var(--vvip-muted); font-size: 13px;}
/* prevent overlap with existing bottom bars */
body{padding-bottom: 92px;}
@media (max-width: 520px){
  .vvip-cta-dock{bottom: 10px; padding: 8px;}
  .vvip-cta-btn{padding: 9px 12px; font-size: 13px;}
  body{padding-bottom: 104px;}
}

/* dark theme support */
html[data-theme="dark"], html[data-theme="dark"] body{
  background:#0B1220!important;
  color:#E5E7EB!important;
}
html[data-theme="dark"] .st-shell{
  background: rgba(11,18,32,.78)!important;
  border-bottom:1px solid rgba(148,163,184,.18);
}
html[data-theme="dark"] .st-shell-menu{
  background:#0F172A!important;
  border-color: rgba(148,163,184,.18)!important;
}
html[data-theme="dark"] .card, html[data-theme="dark"] .panel, html[data-theme="dark"] .box, html[data-theme="dark"] .sectionCard{
  background:#0F172A!important;
  border-color: rgba(148,163,184,.18)!important;
  box-shadow: 0 18px 46px rgba(0,0,0,.35)!important;
}
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea{
  background:#0B1220!important;
  border-color: rgba(148,163,184,.22)!important;
  color:#E5E7EB!important;
}
html[data-theme="dark"] .vvip-cta-dock{
  background: rgba(11,18,32,.78);
  border-color: rgba(148,163,184,.22);
}
html[data-theme="dark"] .vvip-cta-btn{
  background:#0F172A;
  border-color: rgba(148,163,184,.22);
  color:#E5E7EB;
}
html[data-theme="dark"] .vvip-tools-sheet{
  background:#0F172A;
  border-color: rgba(148,163,184,.22);
}
html[data-theme="dark"] .vvip-tools-grid a{
  background:#0B1220;
  border-color: rgba(148,163,184,.22);
}


/* v86: 최근 입력 1클릭 복원 */

.vvip-restore-bar{
  width: min(1180px, calc(100% - 32px));
  margin: 14px auto 0;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 18px;
  box-shadow: 0 16px 44px rgba(15,23,42,.08);
  padding: 12px 14px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.vvip-restore-left{display:flex; align-items:baseline; gap:10px; color: var(--vvip-text, #0f172a);}
.vvip-restore-left b{font-weight: 1000; letter-spacing:-.01em;}
.vvip-restore-time{font-size: 12.5px; font-weight: 900; color: rgba(15,23,42,.55);}
.vvip-restore-right{display:flex; align-items:center; gap:10px;}
.vvip-restore-btn{
  appearance:none; border: 0;
  padding: 10px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0B1B3A, #0F2B66);
  color: #fff;
  font-weight: 1000;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow: 0 14px 32px rgba(11,27,58,.22);
}
.vvip-restore-btn:hover{filter: brightness(1.03);}
.vvip-restore-clear{
  appearance:none;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.35);
  background: rgba(255,255,255,.8);
  color: rgba(15,23,42,.78);
  font-weight: 950;
  cursor:pointer;
}
.vvip-restore-clear:hover{background: rgba(37,99,235,.06);}

.vvip-recent-grid .hub-card .desc{opacity:.75; font-size:12px;}

@media (max-width: 740px){
  .vvip-restore-bar{flex-direction: column; align-items:flex-start;}
  .vvip-restore-right{width:100%; justify-content:flex-end;}
}

html[data-theme="dark"] .vvip-restore-bar{
  background: rgba(15,23,42,.68);
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 20px 48px rgba(0,0,0,.35);
}
html[data-theme="dark"] .vvip-restore-time{color: rgba(226,232,240,.62);}
html[data-theme="dark"] .vvip-restore-clear{background: rgba(15,23,42,.6); border-color: rgba(148,163,184,.22); color: rgba(226,232,240,.86);} 


/* v87: inline recent-restore (subtle) */
.vvip-restore-inline{display:inline-flex;align-items:center;gap:8px;margin-left:10px;vertical-align:middle;}
.vvip-inline-btn{border:1px solid var(--vvip-border);background:rgba(255,255,255,.72);padding:8px 12px;border-radius:999px;font-weight:800;font-size:13px;color:var(--vvip-text);box-shadow:0 10px 22px rgba(15,23,42,.08);cursor:pointer;transition:transform .12s ease, background .12s ease, border-color .12s ease;}
.vvip-inline-btn:hover{background:#fff;transform:translateY(-1px);}
.vvip-inline-btn.done{background:rgba(30,58,138,.10);border-color:rgba(30,58,138,.25);color:var(--vvip-accent);} 
.vvip-inline-menu{border:1px solid var(--vvip-border);background:rgba(255,255,255,.55);padding:8px 10px;border-radius:999px;font-weight:900;font-size:14px;line-height:1;color:var(--vvip-muted);cursor:pointer;box-shadow:0 10px 22px rgba(15,23,42,.06);}
.vvip-inline-menu:hover{background:#fff;}
@media (max-width:520px){.vvip-restore-inline{gap:6px;margin-left:6px}.vvip-inline-btn{padding:7px 10px;font-size:12px}.vvip-inline-menu{padding:7px 9px}}
