/* 운영 지표 화면: 게임 첫 화면과 같은 남색 · 샴페인 금. 인쇄(PDF)는 흰 바탕으로 */
:root{--bg:#121722;--panel:#1a2130;--line:#ffffff14;--ink:#f3ead8;--sub:#a99f8b;--gold:#e8c26a;--blue:#7fb6d8}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1200px 600px at 20% -10%,#253049 0,transparent 60%),var(--bg);color:var(--ink);font:14px/1.5 "Noto Sans KR",system-ui,sans-serif;min-height:100vh}
.sb{max-width:1280px;margin:0 auto;padding:28px 24px 60px}
.sb-wait,.sb-empty{color:var(--sub);text-align:center;padding:40px 0}.sb-empty{padding:10px 0;font-size:12px}
.sb-login{max-width:380px;margin:12vh auto 0;padding:30px 28px;border-radius:18px;background:linear-gradient(180deg,#1f2536,#161b28);border:1px solid #e8c26a55;box-shadow:0 24px 60px #0007}
.sb-login small,.sb-head small{color:var(--gold);font:700 10px/1 Outfit,sans-serif;letter-spacing:.2em}
.sb-login h1{margin:6px 0 4px;font-size:26px}.sb-login p{color:var(--sub);font-size:13px;margin:0 0 16px}
.sb-login form{display:flex;gap:8px}.sb-login input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid #e8c26a66;background:#0e121b;color:var(--ink);font:14px Outfit,monospace}
.sb-login button,.sb-tools button{padding:10px 16px;border-radius:10px;border:1px solid #fff3cf;background:linear-gradient(180deg,#fbe09a,#e0ab4a);color:#3a2a10;font:800 13px "Noto Sans KR",sans-serif;cursor:pointer}
.sb-err{color:#ffb4a8;font-size:12.5px;min-height:1em;margin:10px 0 0}.sb-err.float{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:10px 16px;border-radius:10px;background:#3a1f24}
.sb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.sb-head h1{margin:6px 0 2px;font-size:26px;letter-spacing:-.02em}.sb-head p{margin:0;color:var(--sub);font-size:12.5px}
.sb-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sb-tools span{width:10px}
.sb-tools button{padding:7px 12px;background:#ffffff0d;border-color:#ffffff22;color:var(--ink);font-weight:700}
.sb-tools button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1d1c2e}
.sb-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:14px}
.sb-card{padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#202839,#1a2130);border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff0d}
.sb-card small{display:block;color:var(--sub);font-size:11.5px;font-weight:700}.sb-card b{display:block;margin:4px 0 2px;font:800 26px/1.1 Outfit,"Noto Sans KR",sans-serif;color:#fff3d6}
.sb-card span{font-size:11.5px;color:var(--gold)}
.sb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sb-panel{padding:16px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line);min-width:0}.sb-panel.wide{grid-column:1/-1}
.sb-panel h2{margin:0 0 10px;font-size:15px;color:#fff3d6}.sb-panel h2 small{margin-left:6px;color:var(--sub);font-size:11.5px;font-weight:400}
.sb-panel h3{margin:14px 0 6px;font-size:12.5px;color:var(--gold)}
.sb-chart{width:100%;height:auto;display:block}.sb-chart text{fill:#8d8574;font:10px Outfit,sans-serif}.sb-chart .ax{stroke:#ffffff22}.sb-chart .mx{fill:#bfb39b}
.sb-legend{display:flex;gap:14px;align-items:center;margin:4px 0 0;font-size:11.5px;color:var(--sub)}.sb-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:-8px}
.sb-scroll{overflow:auto;max-height:420px}
.sb-ret,.sb-tbl{width:100%;border-collapse:separate;border-spacing:3px;font-size:12.5px}
.sb-ret th,.sb-tbl th{text-align:left;font-weight:700;color:#d8cdb6;white-space:nowrap;padding:5px 8px}.sb-ret thead th,.sb-tbl thead th{color:var(--sub);font-size:11.5px}
.sb-ret td,.sb-tbl td{padding:6px 8px;text-align:right;border-radius:6px;background:#ffffff08;font-variant-numeric:tabular-nums}
.sb-ret td[style]{background:rgba(232,194,106,calc(var(--h)*.85));color:#fff}.sb-ret td.na{color:#5d6478}.sb-ret tr.avg th,.sb-ret tr.avg td{font-weight:800;color:#fff3d6}
.sb-hbars{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sb-hbars li{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:10px;align-items:center;font-size:12.5px}
.sb-hbars .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8cdb6}
.sb-hbars .bar{height:9px;border-radius:9px;background:#ffffff0d;overflow:hidden}.sb-hbars .bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#e0ab4a,#fbe09a)}
.sb-hbars b{font:700 12.5px Outfit,"Noto Sans KR",sans-serif;white-space:nowrap}.sb-hbars b small{margin-left:6px;color:var(--sub);font-weight:400}
.sb-note{margin:10px 0 0;font-size:12px;color:var(--sub)}
.sb-hours{display:grid;grid-template-columns:repeat(24,1fr);gap:4px}
.sb-hours span{display:grid;place-items:center;padding:8px 0;border-radius:8px;background:rgba(127,182,216,calc(.08 + var(--h)*.8))}.sb-hours b{font:700 11px Outfit,sans-serif}.sb-hours small{font-size:10px;color:#e9f3fa}
.defs dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:0;font-size:12.5px}.defs dt{color:var(--gold);font-weight:700}.defs dd{margin:0;color:#cfc4ae}
@media (max-width:820px){.sb-grid{grid-template-columns:1fr}.defs dl{grid-template-columns:1fr}.sb-hours{grid-template-columns:repeat(12,1fr)}}
@media print{
  :root{--bg:#fff;--panel:#fff;--line:#d9d4c8;--ink:#1d2433;--sub:#6b6457}
  body{background:#fff;color:#1d2433}.no-print{display:none!important}.sb{max-width:none;padding:0}
  .sb-card,.sb-panel{background:#fff!important;box-shadow:none;break-inside:avoid}.sb-card b,.sb-panel h2,.sb-head h1{color:#1d2433!important}
  .sb-chart text{fill:#6b6457}.sb-hbars .k,.sb-ret th,.sb-tbl th{color:#1d2433}.sb-ret td[style]{color:#1d2433}.sb-hours small{color:#1d2433}
  .sb-scroll{max-height:none;overflow:visible}
}
