
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=DM+Sans:wght@300;400;500;600;700&display=swap');
#rb-container *{box-sizing:border-box;margin:0;padding:0}
#rb-container :root{
  --bg:#0e0c16;--bg2:#171420;--bg3:#1e1a2b;--bg4:#282136;--bg5:#382d52;
  --border:#2a2438;--border2:#3c3450;--border3:#544a72;
  --text:#efe9fb;--text2:#a99fc2;--text3:#756a8f;--text4:#453a5c;
  --ms:#132a1d;--ms-t:#4ade80;--ms-b:#22c55e;
  --as:#33210f;--as-t:#fb923c;--as-b:#f97316;
  --ns:#241a3d;--ns-t:#b39ff5;--ns-b:#7c3aed;
  --gs:#0f2819;--gs-t:#34d399;--gs-b:#10b981;
  --wo:#211d2e;--wo-t:#9186ab;--wo-b:#453a5c;
  --wb:#1a1726;--wb-t:#544a72;--wb-b:#2a2438;
  --co:#33210f;--co-t:#fb923c;
  --leave:#211d2c;--leave-t:#8f84a6;
  --gh:#2e2610;--gh-t:#eab308;
  --warn-bg:#301416;--warn-b:#7f1d1d;--warn-t:#f87171;
  --ok-bg:#0e2618;--ok-b:#166534;--ok-t:#4ade80;
  --accent:#8b5cf6;--accent2:#7c3aed;--accent3:#6d28d9;
  --ease:cubic-bezier(.2,.8,.2,1);--ease-fast:.15s var(--ease);--ease-med:.25s var(--ease);
  --fs-xs:10px;--fs-sm:11.5px;--fs-base:13px;--fs-md:15px;--fs-lg:19px;--fs-xl:26px;
  font-family:'DM Sans',sans-serif;
}
#rb-container body{background:var(--bg);color:var(--text);min-height:100vh;font-size:13px}
#rb-container input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,
#rb-container input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
#rb-container ::-webkit-scrollbar{width:5px;height:5px}
#rb-container ::-webkit-scrollbar-track{background:var(--bg)}
#rb-container ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}

/* NAV */
#rb-container .nav{background:var(--bg2);border-bottom:1px solid var(--border);height:50px;
  display:flex;align-items:center;padding:0 20px;gap:0;position:sticky;top:0;z-index:50}
#rb-container .brand{font-family:'JetBrains Mono',monospace;font-size:var(--fs-md);font-weight:700;
  margin-right:28px;white-space:nowrap;letter-spacing:-.2px}
#rb-container .brand .hi{color:var(--accent)}.brand .lo{color:var(--text2)}
#rb-container .sysbar{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;
  font-size:9px;color:var(--text3);letter-spacing:.4px;margin-right:22px;white-space:nowrap}
#rb-container .sysbar .dot{width:6px;height:6px;border-radius:50%;background:var(--text4);flex:none}
#rb-container .sysbar .dot.ok{background:var(--ok-t);box-shadow:0 0 6px rgba(52,217,116,.7);
  animation:pulseDot 2.2s var(--ease) infinite}
#rb-container .sysbar .dot.warn{background:var(--warn-t);box-shadow:0 0 6px rgba(248,113,113,.7)}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.35}}
#rb-container .ntab{height:50px;padding:0 16px;display:flex;align-items:center;font-size:var(--fs-sm);
  font-weight:600;color:var(--text3);cursor:pointer;position:relative;
  transition:color var(--ease-fast);white-space:nowrap;letter-spacing:.8px;text-transform:uppercase}
#rb-container .ntab:hover{color:var(--text2)}
#rb-container .ntab.active{color:var(--accent)}
#rb-container .ntab.active::after{
  content:'';position:absolute;left:16px;right:16px;bottom:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  box-shadow:0 0 8px rgba(124,58,237,.45)}
#rb-container .ntab::after{transition:opacity var(--ease-fast);opacity:0}
#rb-container .ntab.active::after{opacity:1}
#rb-container .nav-r{margin-left:auto;display:flex;gap:8px;align-items:center}

/* BUTTONS */
#rb-container .btn{padding:7px 16px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);
  color:var(--text);cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;
  font-weight:500;transition:background var(--ease-fast),border-color var(--ease-fast),
  transform var(--ease-fast),box-shadow var(--ease-fast);white-space:nowrap;
  box-shadow:none}
#rb-container .btn:hover{background:var(--bg4);border-color:var(--border3);transform:translateY(-1px);
  box-shadow:0 4px 10px -4px rgba(76,29,149,.15)}
#rb-container .btn:active{transform:translateY(0) scale(.97);box-shadow:none}
#rb-container .btn.primary{background:linear-gradient(180deg,var(--accent2),var(--accent3));
  border-color:var(--accent);color:#fff;font-weight:600}
#rb-container .btn.primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent2));
  box-shadow:0 4px 14px -4px rgba(124,58,237,.35)}
#rb-container .btn.success{background:#0e2618;border-color:#166534;color:#4ade80;font-weight:600}
#rb-container .btn.success:hover{background:#153a24;box-shadow:0 4px 14px -4px rgba(74,222,128,.25)}
#rb-container .btn.danger{background:#301416;border-color:#7f1d1d;color:#f87171}
#rb-container .btn.sm{padding:4px 12px;font-size:11px}
#rb-container .btn.xs{padding:3px 9px;font-size:10px}

/* PAGES */
#rb-container .page{display:none;padding:20px}
#rb-container .page.active{display:block}

/* CARDS */
#rb-container .card{background:linear-gradient(180deg,var(--bg3) 0%,var(--bg2) 100%);
  border:1px solid var(--border);border-radius:12px;
  padding:18px;margin-bottom:16px;
  box-shadow:0 1px 2px rgba(76,29,149,.06),0 8px 24px -12px rgba(76,29,149,.14);
  transition:box-shadow var(--ease-med)}
#rb-container .card-hd{font-size:var(--fs-sm);font-weight:700;color:var(--text2);margin-bottom:14px;
  display:flex;align-items:center;gap:8px;letter-spacing:1px;text-transform:uppercase}
#rb-container .card-hd .ct{font-size:10px;padding:2px 9px;border-radius:20px;background:var(--bg4);
  color:var(--text2);text-transform:none;letter-spacing:0;font-weight:400}

/* FORM */
#rb-container .frow{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
#rb-container .fg{display:flex;flex-direction:column;gap:5px}
#rb-container .fg label{font-size:10px;color:var(--text2);font-weight:700;letter-spacing:.8px;text-transform:uppercase}
#rb-container .fg select,.fg input{background:var(--bg3);border:1px solid var(--border);color:var(--text);
  border-radius:6px;padding:7px 11px;font-size:12px;font-family:'DM Sans',sans-serif;
  outline:none;transition:border .15s}
#rb-container .fg select:focus,.fg input:focus{border-color:var(--accent)}
#rb-container .fg input[readonly]{color:var(--accent);font-weight:700;font-family:'JetBrains Mono',monospace}

/* EMP TABLE */
#rb-container .etbl{width:100%;border-collapse:collapse}
#rb-container .etbl th{background:var(--bg3);padding:8px 12px;text-align:left;font-size:10px;
  color:var(--text2);font-weight:700;border-bottom:1px solid var(--border);
  letter-spacing:.8px;text-transform:uppercase}
#rb-container .etbl td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle}
#rb-container .etbl tr:last-child td{border-bottom:none}
#rb-container .etbl tr:hover td{background:rgba(124,58,237,.05)}

/* BADGES */
#rb-container .b-nsoc{background:#2e2450;color:#c4b5fd;padding:2px 8px;border-radius:20px;
  font-size:10px;font-weight:700;letter-spacing:.3px}
#rb-container .b-digi{background:#1c2c4d;color:#93c5fd;padding:2px 8px;border-radius:20px;
  font-size:10px;font-weight:700;letter-spacing:.3px}
#rb-container .b-rot{background:#0e2618;color:#4ade80;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}
#rb-container .b-gen{background:#332a10;color:#facc15;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}

/* CARRY */
#rb-container .carry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:10px}
#rb-container .ccard{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:13px}
#rb-container .ccard-name{font-size:12px;font-weight:600;margin-bottom:6px}
#rb-container .ccard-hint{margin-top:8px;font-size:10px;color:#b39ff5;font-family:'JetBrains Mono',monospace;min-height:14px}
#rb-container .ccard.imported{border-color:var(--ok-b);background:rgba(6,20,16,.6)}
#rb-container .ccard.imported-warn{border-color:var(--warn-b)}

/* IMPORT PANEL */
#rb-container .drop-zone{border:2px dashed var(--border2);border-radius:8px;padding:28px;text-align:center;
  cursor:pointer;transition:all .2s;background:var(--bg3);user-select:none}
#rb-container .drop-zone:hover,.drop-zone.dz-over{border-color:var(--accent);background:rgba(124,58,237,.06)}
#rb-container .import-rows{display:flex;flex-direction:column;gap:5px}
#rb-container .import-row{display:flex;align-items:center;gap:8px;padding:6px 10px;
  background:var(--bg3);border:1px solid var(--border);border-radius:6px;
  font-size:11px;flex-wrap:wrap}
#rb-container .import-row.ok{border-color:rgba(13,92,46,.5)}
#rb-container .import-row.warn{border-color:rgba(74,15,15,.6)}
#rb-container .import-name{font-weight:600;min-width:150px;font-size:11px}
#rb-container .import-streak{font-family:'JetBrains Mono',monospace;font-size:10px}
#rb-container .import-exhausted{color:var(--warn-t);font-size:9px;margin-left:4px}
#rb-container .import-miss{color:var(--warn-t);font-size:10px}
#rb-container .import-team-box{margin-top:10px;padding:10px 12px;background:rgba(10,26,74,.5);
  border:1px solid var(--ns-b);border-radius:6px}
#rb-container .import-team-lbl{font-size:10px;font-weight:700;color:var(--ns-t);letter-spacing:.8px;
  text-transform:uppercase;margin-bottom:5px}
#rb-container .import-team-entry{font-size:10px;color:var(--text2);font-family:'JetBrains Mono',monospace;
  padding:2px 0}

/* ROSTER TABLE */
#rb-container .rwrap{overflow:auto;max-height:calc(100vh - 230px);border-radius:8px;border:1px solid var(--border)}
#rb-container .rtbl{border-collapse:collapse;font-size:11px;white-space:nowrap}
#rb-container .rtbl th{background:var(--bg3);padding:5px 3px;text-align:center;border:1px solid var(--border);
  position:sticky;top:0;z-index:10;color:var(--text2);min-width:37px}
#rb-container .rtbl th.nc{min-width:172px;text-align:left;padding-left:10px;position:sticky;
  left:30px;z-index:21;background:var(--bg3);box-shadow:2px 0 6px rgba(76,29,149,.10)}
#rb-container .rtbl th.sc{min-width:30px;position:sticky;left:0;z-index:22;background:var(--bg3)}
#rb-container .rtbl th.xc{min-width:38px;background:var(--bg4);font-size:10px;color:var(--text3)}
#rb-container .rtbl td{padding:2px 2px;border:1px solid var(--border);text-align:center;vertical-align:middle;
  transition:background var(--ease-fast)}
#rb-container .rtbl td.nc{text-align:left;padding:5px 10px;background:var(--bg2);position:sticky;
  left:30px;z-index:5;min-width:172px;font-size:11px;box-shadow:2px 0 6px rgba(76,29,149,.10)}
#rb-container .rtbl td.sc{background:var(--bg2);position:sticky;left:0;z-index:6;width:30px;
  color:var(--text3);font-size:10px;text-align:center;font-family:'JetBrains Mono',monospace}
#rb-container .rtbl td.xc{background:var(--bg3);font-weight:700;font-size:11px;
  font-family:'JetBrains Mono',monospace}
#rb-container .rtbl .we td,.rtbl .we th{background:rgba(124,58,237,.05)}
#rb-container .rtbl .we th{color:#b39ff5}
#rb-container .rtbl tbody tr:hover td{background:rgba(124,58,237,.05)}
#rb-container .rtbl tbody tr:hover td.nc,.rtbl tbody tr:hover td.sc{background:#2e2740}
#rb-container .dh{font-size:9px;color:var(--text3);line-height:1.3}
#rb-container .dn{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace}

/* SHIFT CELLS */
#rb-container .shc{display:inline-flex;align-items:center;justify-content:center;width:33px;height:25px;
  border-radius:5px;cursor:pointer;font-size:10px;font-weight:700;
  transition:transform .12s var(--ease),box-shadow .12s var(--ease),border-color .12s var(--ease);
  user-select:none;border:1px solid transparent;font-family:'JetBrains Mono',monospace;
  box-shadow:none}
#rb-container .shc:hover{transform:translateY(-1px) scale(1.07);box-shadow:0 4px 10px -4px rgba(76,29,149,.25)}
#rb-container .shc:active{transform:translateY(0) scale(.96)}
#rb-container .shc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#rb-container .s-MS{background:var(--ms);color:var(--ms-t);border-color:var(--ms-b)}
#rb-container .s-AS{background:var(--as);color:var(--as-t);border-color:var(--as-b)}
#rb-container .s-NS{background:var(--ns);color:var(--ns-t);border-color:var(--ns-b)}
#rb-container .s-GS{background:var(--gs);color:var(--gs-t);border-color:var(--gs-b)}
#rb-container .s-WO{background:var(--wo);color:var(--wo-t);border-color:var(--wo-b)}
#rb-container .s-CO{background:var(--co);color:var(--co-t);border-color:#fdba74}
#rb-container .s-SL,.s-CL,.s-VL,.s-HL{background:var(--leave);color:var(--leave-t);border-color:#d8d3e0}
#rb-container .s-GH{background:var(--gh);color:var(--gh-t);border-color:#eab308}
#rb-container .s-EX{background:#241a3d;color:#c4b5fd;border-color:#7c3aed}
#rb-container .s-RH{background:#0f2819;color:#4ade80;border-color:#16a34a}
#rb-container .s-WFH{background:#241a3d;color:#c4b5fd;border-color:#9333ea}
#rb-container .s-WFH-MS{background:#0f2819;color:#4ade80;border-color:#15803d;font-size:9px}
#rb-container .s-WFH-AS{background:#33210f;color:#fb923c;border-color:#c2410c;font-size:9px}
#rb-container .s-WFH-NS{background:#241a3d;color:#c4b5fd;border-color:#7c3aed;font-size:9px}
#rb-container .s-empty{background:var(--bg4);color:var(--text4);border-color:var(--border)}
#rb-container .s-WARN{box-shadow:0 0 0 2px #f87171 inset!important}

/* TOTAL ROWS */
#rb-container .trow td{background:var(--bg4)!important;font-weight:700;font-size:10px;padding:3px 2px;
  font-family:'JetBrains Mono',monospace}
#rb-container .sep-r td{background:var(--border2)!important;height:2px;padding:0}
#rb-container .t-MS{color:var(--ms-t)}.t-AS{color:var(--as-t)}.t-NS{color:var(--ns-t)}.t-GS{color:var(--gs-t)}

/* WARN */
#rb-container .warn-panel{background:var(--bg2);border:1px solid var(--border);
  border-left:3px solid var(--warn-t);border-radius:8px;
  padding:12px;margin-bottom:12px;box-shadow:0 4px 14px -8px rgba(220,38,38,.12)}
#rb-container .warn-title{color:var(--warn-t);font-size:12px;font-weight:700;margin-bottom:8px}
#rb-container .warn-item{color:#f87171;font-size:10px;padding:3px 0;border-bottom:1px solid #3a1418;
  font-family:'JetBrains Mono',monospace}
#rb-container .warn-item:last-child{border-bottom:none}
#rb-container .ok-panel{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--ok-t);
  border-radius:8px;padding:10px 14px;margin-bottom:12px;color:var(--ok-t);
  font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px}
#rb-container .ok-panel::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;background:rgba(52,217,116,.15);
  font-size:11px;flex:none}
#rb-container .info-panel{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:8px;padding:10px 14px;margin-bottom:12px;color:#c4b5fd;font-size:11px}

/* STATS */
#rb-container .stats-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#rb-container .stat{background:var(--bg2);border:1px solid var(--border);border-radius:9px;
  padding:12px 16px;flex:1;min-width:110px;position:relative;overflow:hidden;
  transition:transform var(--ease-fast),box-shadow var(--ease-fast)}
#rb-container .stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--stat-color,var(--accent))}
#rb-container .stat:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(76,29,149,.20)}
#rb-container .stat .sv{font-size:var(--fs-xl);font-weight:700;font-family:'JetBrains Mono',monospace;
  letter-spacing:-.5px}
#rb-container .stat .sl{font-size:10px;color:var(--text2);margin-top:3px;font-weight:500;letter-spacing:.3px}

/* SUMMARY TABLE */
#rb-container .stbl{width:100%;border-collapse:collapse;font-size:11px}
#rb-container .stbl th{background:var(--bg3);padding:8px 10px;text-align:left;font-size:10px;
  color:var(--text2);font-weight:700;border-bottom:1px solid var(--border);
  white-space:nowrap;letter-spacing:.6px;text-transform:uppercase}
#rb-container .stbl td{padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
#rb-container .stbl tr:hover td{background:rgba(124,58,237,.05)}
#rb-container .stbl .tot td{background:var(--bg4)!important;font-weight:700;border-top:1px solid var(--border2)}
#rb-container .mono{font-family:'JetBrains Mono',monospace;font-weight:600}
#rb-container .amt{color:#4ade80;font-family:'JetBrains Mono',monospace;font-weight:700}

/* DROPDOWN */
#rb-container .ddover{position:fixed;inset:0;z-index:100;display:none}
#rb-container .ddover.open{display:block}
#rb-container .ddmenu{position:fixed;background:var(--bg2);border:1px solid var(--border2);
  border-radius:10px;padding:8px;z-index:101;display:none;
  grid-template-columns:repeat(4,1fr);gap:4px;width:196px;
  box-shadow:0 16px 48px rgba(76,29,149,.22)}
#rb-container .ddmenu.open{display:grid}
#rb-container .ddi{padding:5px 3px;border-radius:4px;cursor:pointer;font-size:10px;font-weight:700;
  text-align:center;font-family:'JetBrains Mono',monospace;transition:all .1s}
#rb-container .ddi:hover{transform:scale(1.1)}

/* MODAL */
#rb-container .mdbg{position:fixed;inset:0;background:rgba(36,27,61,.45);z-index:200;
  display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#rb-container .mdbg.open{display:flex}
#rb-container .md{background:var(--bg2);border:1px solid var(--border2);border-radius:12px;
  padding:22px;width:460px;max-width:95vw}
#rb-container .md h3{font-size:15px;font-weight:700;margin-bottom:18px}
#rb-container .md-ft{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;
  padding-top:14px;border-top:1px solid var(--border)}

/* CHIPS */
#rb-container .chips{display:flex;gap:6px}
#rb-container .chip{padding:5px 14px;border-radius:20px;font-size:11px;cursor:pointer;
  border:1px solid var(--border);background:var(--bg3);color:var(--text2);
  transition:all .15s;font-weight:600}
#rb-container .chip.active{border-color:var(--accent);color:var(--accent);background:rgba(124,58,237,.1)}

/* LEGEND */
#rb-container .leg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
#rb-container .leg-i{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text2)}

/* TOOLBAR */
#rb-container .toolbar{display:flex;gap:10px;margin-bottom:12px;align-items:center;flex-wrap:wrap}
#rb-container .toolbar-t{font-size:14px;font-weight:700;color:var(--text);letter-spacing:.3px}

#rb-container .sep{height:1px;background:var(--border);margin:14px 0}
/* ── GOOGLE AUTH + PUSH ── */
#rb-container .auth-bar{background:var(--bg2);border-bottom:1px solid var(--border);
  padding:8px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#rb-container .auth-user{font-size:11px;color:var(--text2);display:flex;align-items:center;gap:7px}
#rb-container .auth-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;
  border:1px solid var(--border2)}
#rb-container .auth-name{font-weight:600;color:var(--text)}
#rb-container .auth-badge{font-size:10px;padding:2px 8px;border-radius:20px;
  background:#0e2618;color:#4ade80;border:1px solid #166534}
#rb-container .auth-badge.admin{background:#0e2618;color:#4ade80;border-color:#166534}
#rb-container .auth-badge.user{background:#33210f;color:#fb923c;border-color:#c2410c}
#rb-container .push-status{font-size:11px;padding:5px 12px;border-radius:6px;
  border:1px solid var(--border);background:var(--bg3);color:var(--text2)}
#rb-container .push-status.ok{background:#0e2618;border-color:#166534;color:#4ade80}
#rb-container .push-status.err{background:var(--warn-bg);border-color:var(--warn-b);color:var(--warn-t)}
#rb-container .push-status.loading{color:var(--accent)}
#rb-container .btn.sheets{background:#0e2618;border-color:#22c55e;color:#4ade80;font-weight:600}
#rb-container .btn.sheets:hover{background:#153a24}
#rb-container .btn.sheets:disabled{opacity:.5;cursor:not-allowed}
