/* ============================================================
   IBK 기업은행 — 유가증권 리스크 인사이트
   Enterprise web theme (Riskweather DS · IBK brand)
   ============================================================ */
@font-face{font-family:"Pretendard";font-weight:400;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2") format("woff2");}
@font-face{font-family:"Pretendard";font-weight:500;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Medium.woff2") format("woff2");}
@font-face{font-family:"Pretendard";font-weight:600;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-SemiBold.woff2") format("woff2");}
@font-face{font-family:"Pretendard";font-weight:700;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2") format("woff2");}

:root{
  /* neutrals — cool slate ramp */
  --c-900:#0F1722; --c-800:#1B2533; --c-700:#2B3848; --c-600:#475569;
  --c-500:#64748B; --c-400:#94A3B8; --c-300:#CBD5E1; --c-250:#DCE3EC;
  --c-200:#E6EBF1; --c-150:#EEF2F6; --c-100:#F4F6F8; --c-50:#F9FBFC; --white:#FFFFFF;

  /* IBK brand */
  --ibk-navy:#003B7E; --ibk-blue:#0A4FA3; --ibk-cyan:#00A0E0;
  --nav-bg:#0A2B57; --nav-bg-2:#072044; --nav-line:rgba(255,255,255,.10);
  --nav-fg:#AEC2DC; --nav-fg-dim:#6E86A6; --nav-active:#00A0E0;

  /* primary (IBK blue) */
  --blue:#0A4FA3; --blue-600:#073C7E; --blue-surface:#E8F0FA; --blue-line:#C2D7EE;

  /* market direction (KR convention: RED=up/gain, BLUE=down/loss) */
  --up:#D8232A; --up-surface:#FBEAEA; --down:#1F6FD0; --down-surface:#E9F1FB;

  /* status (regulatory) */
  --ok:#11865B;    --ok-surface:#E4F4EC;    --ok-line:#BCE3CF;
  --warn:#D9822B;  --warn-surface:#FBEFDD;  --warn-line:#F0D2A4;
  --alert:#C8363C; --alert-surface:#FBE8E8; --alert-line:#F0C2C2;
  --info:#1F6FB2;  --info-surface:#E6F1F9;

  /* text */
  --t-strong:#0F1722; --t:#1B2533; --t-2:#475569; --t-3:#64748B; --t-4:#94A3B8;
  --line:#E6EBF1; --line-2:#DCE3EC;

  --font:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;

  --r-sm:6px; --r-md:8px; --r-lg:12px;
  --sh-card:0 1px 2px rgba(15,23,34,.04), 0 1px 3px rgba(15,23,34,.06);
  --sh-pop:0 8px 28px rgba(15,23,34,.16);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);background:var(--c-100);color:var(--t);-webkit-font-smoothing:antialiased;}
button{font-family:inherit}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.mono{font-family:var(--mono);font-feature-settings:"tnum"}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#C7D0DA;border-radius:8px;border:3px solid var(--c-100)}
::-webkit-scrollbar-thumb:hover{background:#AEB9C8}

/* utility text classes */
.h1{font-weight:700;font-size:21px;line-height:28px;color:var(--t-strong);letter-spacing:-.01em}
.h2{font-weight:700;font-size:16px;line-height:22px;color:var(--t-strong);letter-spacing:-.01em}
.h3{font-weight:600;font-size:13.5px;line-height:18px;color:var(--t-strong)}
.lbl{font-weight:600;font-size:11px;line-height:14px;color:var(--t-3);letter-spacing:.04em;text-transform:uppercase}
.body{font-weight:500;font-size:13.5px;line-height:20px;color:var(--t)}
.sub{font-weight:500;font-size:12px;line-height:16px;color:var(--t-3)}
.reg{font-family:var(--mono);font-size:11px;color:var(--t-4);letter-spacing:.01em}

/* Report tab animations */
@keyframes rspin{to{transform:rotate(360deg)}}
@keyframes rfade{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes rtoast{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
