:root {
  --mc-black: #050505;
  --mc-panel: #111111;
  --mc-panel-2: #191919;
  --mc-line: rgba(255,255,255,.12);
  --mc-muted: rgba(255,255,255,.64);
  --mc-orange: #ff5a00;
  --mc-hot: #ff7a00;
  --mc-red: #ff2a00;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  color: #fff;
  background: radial-gradient(circle at 82% -10%, rgba(255,90,0,.19), transparent 30rem), linear-gradient(180deg, #111 0, var(--mc-black) 70%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: #ffc4a5; }
.boot-screen { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 1rem; color: var(--mc-muted); }
.boot-screen img { width: min(280px, 72vw); filter: drop-shadow(0 18px 35px rgba(255,90,0,.25)); }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1040; width: 276px; padding: 1.25rem 1rem; background: linear-gradient(180deg,#191919,#090909 72%,#050505); border-right: 1px solid var(--mc-line); transition: transform .2s ease; }
.sidebar-brand { display: block; padding: .4rem .5rem 1.5rem; }
.sidebar-brand img { width: 190px; max-width: 100%; }
.sidebar-user { padding: .8rem; margin-bottom: 1.25rem; border: 1px solid rgba(255,90,0,.3); border-radius: 1rem; background: radial-gradient(circle at top right, rgba(255,90,0,.2), transparent 60%), rgba(255,255,255,.04); }
.avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg,var(--mc-hot),var(--mc-red)); font-weight: 900; }
.sidebar-nav { display: grid; gap: .35rem; overflow-y: auto; max-height: calc(100vh - 230px); }
.nav-label { margin: .8rem .7rem .3rem; color: #ffad84; font-size: .68rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.nav-link { display: flex; gap: .7rem; align-items: center; padding: .72rem .8rem; border-radius: .75rem; color: rgba(255,255,255,.68); text-decoration: none; font-weight: 700; }
.nav-link:hover, .nav-link.active { color: #fff; background: linear-gradient(135deg,rgba(255,90,0,.9),rgba(255,42,0,.86)); box-shadow: 0 10px 24px rgba(255,90,0,.18); }
.nav-link .nav-icon { width: 22px; text-align: center; color: #ff9b70; }
.nav-link.active .nav-icon { color: #fff; }
.topbar { position: sticky; top: 0; z-index: 1000; min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.5rem; border-bottom: 1px solid var(--mc-line); background: rgba(5,5,5,.84); backdrop-filter: blur(16px); }
.main { min-width: 0; margin-left: 276px; overflow-x: hidden; }
.content { max-width: 1700px; min-width: 0; padding: 1.5rem; }
.eyebrow { color: #ffad84; font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.page-title { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(1.8rem, 3vw, 3.2rem); line-height: 1; font-weight: 950; letter-spacing: -.05em; }
.panel, .stat, .media-card, .session-card { border: 1px solid var(--mc-line); border-radius: 1rem; background: linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),var(--mc-panel); box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.panel { padding: 1.35rem; }
.stat { padding: 1rem 1.1rem; }
.stat strong { display: block; font-size: 2rem; line-height: 1; }
.stat span, .muted { color: var(--mc-muted); }
.hero-panel { overflow: hidden; position: relative; background: radial-gradient(circle at top right,rgba(255,90,0,.2),transparent 30%),linear-gradient(135deg,#1b1715,#101010 60%); }
.hero-panel:after { content: "LIVE PRODUCTION"; position: absolute; right: 1.25rem; bottom: .8rem; color: rgba(255,255,255,.06); font-size: clamp(2rem,7vw,6rem); font-weight: 950; letter-spacing: -.08em; pointer-events: none; }
.btn-mc { --bs-btn-color:#fff; --bs-btn-bg:var(--mc-orange); --bs-btn-border-color:var(--mc-orange); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--mc-hot); --bs-btn-hover-border-color:var(--mc-hot); font-weight: 800; }
.btn-outline-mc { --bs-btn-color:#ffc0a0; --bs-btn-border-color:rgba(255,122,0,.42); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:rgba(255,90,0,.16); --bs-btn-hover-border-color:var(--mc-orange); }
.form-control, .form-select { color:#fff; background:#0b0b0b; border-color:var(--mc-line); }
.form-control:focus, .form-select:focus { color:#fff; background:#111; border-color:var(--mc-orange); box-shadow:0 0 0 .2rem rgba(255,90,0,.16); }
.table { --bs-table-bg:transparent; --bs-table-color:#fff; --bs-table-border-color:rgba(255,255,255,.1); }
.table thead th { color:#ffad84; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.badge-live { color:#fff; background:var(--mc-red); }
.badge-soft { color:#ffc4a5; background:rgba(255,90,0,.13); border:1px solid rgba(255,90,0,.28); }
.score-strip { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.7rem; padding:1rem; border:1px solid var(--mc-line); border-radius:.8rem; background:rgba(0,0,0,.24); }
.score-strip .score { font-size:2rem; font-weight:950; letter-spacing:.08em; }
.team { display:flex; align-items:center; gap:.55rem; min-width:0; font-weight:800; }
.team:last-child { justify-content:flex-end; text-align:right; }
.team-logo { width:34px; height:34px; display:grid; place-items:center; flex:0 0 34px; overflow:hidden; border:1px solid var(--mc-line); border-radius:10px; background:#222; }
.team-logo img { width:100%; height:100%; object-fit:contain; }
.detail { min-height:58px; padding:.65rem .75rem; border:1px solid rgba(255,255,255,.08); border-radius:.7rem; background:rgba(255,255,255,.035); }
.detail small { display:block; color:var(--mc-muted); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.detail strong { display:block; overflow:hidden; margin-top:.2rem; text-overflow:ellipsis; white-space:nowrap; }
.auth-layout { min-height:calc(100vh - 74px); display:grid; place-items:center; padding:2rem 1rem 5rem; }
.auth-card { width:min(460px,100%); padding:2rem; }
.social-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.modal-backdrop-custom { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; padding:1rem; background:rgba(0,0,0,.8); backdrop-filter:blur(8px); }
.modal-card-custom { width:min(680px,100%); max-height:calc(100vh - 2rem); overflow:auto; padding:1.5rem; }
.toast-area { position:fixed; right:1rem; bottom:1rem; z-index:1300; width:min(390px,calc(100vw - 2rem)); }
.mobile-only { display:none; }
@media (max-width: 991.98px) {
  .sidebar { transform:translateX(-100%); box-shadow:20px 0 60px rgba(0,0,0,.45); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-shade { position:fixed; inset:0; z-index:1030; background:rgba(0,0,0,.72); }
  .main { margin-left:0; }
  .content { padding:1rem; }
  .mobile-only { display:inline-flex; }
}
@media (max-width: 575.98px) {
  .topbar { padding:.75rem 1rem; }
  .panel { padding:1rem; }
  .auth-card { padding:1.25rem; }
  .team { font-size:.8rem; }
  .team-logo { width:28px; height:28px; flex-basis:28px; }
}
