.app-shell { min-height: 100vh; display: flex; }
.sidebar {
  position: fixed; inset: 0 auto 0 0; width: 260px; z-index: 30;
  background: linear-gradient(180deg, var(--sidebar), #091827);
  color: var(--sidebar-text); display: flex; flex-direction: column;
}
.brand { padding: 22px 18px 16px; display: flex; gap: 12px; align-items: center; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center;
  background: linear-gradient(135deg, #1677d2, #0b4f98); color: white; font-size: 21px;
}
.brand-copy { display: grid; gap: 2px; min-width: 0; }
.brand-copy strong { color: white; font-size: 15px; }
.brand-copy span { color: #8fa4bb; font-size: 11px; }
.tournament-mini { margin: 8px 14px 14px; padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.04); }
.eyebrow { display:block; color:#7f96ad; font-size:9px; font-weight:800; letter-spacing:.09em; margin-bottom:6px; }
.tournament-mini strong { display:block; color:#fff; font-size:13px; margin-bottom:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.text-button { border:0; background:none; color:#72b5ff; padding:0; font-size:11px; }
.main-nav { padding: 2px 10px; overflow:auto; flex:1; }
.nav-section { padding: 15px 10px 6px; color:#627b95; font-size:9px; font-weight:800; letter-spacing:.12em; }
.nav-item {
  width:100%; border:0; background:transparent; color:#aebfd0; display:flex; align-items:center; gap:11px;
  padding:10px 12px; border-radius:10px; text-align:left; font-size:13px; margin:2px 0;
}
.nav-item span { width:20px; text-align:center; }
.nav-item:hover { background:rgba(255,255,255,.06); color:#fff; }
.nav-item.active { background:linear-gradient(90deg, rgba(28,125,221,.24), rgba(28,125,221,.08)); color:#fff; box-shadow: inset 3px 0 #2d91ed; }
.sidebar-footer { padding: 13px 14px 16px; border-top:1px solid rgba(255,255,255,.07); }
.sidebar-footer > small { color:#60778f; font-size:9px; display:block; margin-top:10px; text-align:center; }
.license-badge { display:flex; align-items:center; gap:8px; padding:9px; background:rgba(255,255,255,.04); border-radius:10px; }
.license-badge div { display:grid; gap:2px; }
.license-badge strong { font-size:10px; color:#c9d8e8; }
.license-badge small { font-size:9px; color:#71869b; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#f59e0b; box-shadow:0 0 0 4px rgba(245,158,11,.1); }

.main-area { width:100%; margin-left:260px; min-height:100vh; }
.topbar {
  height:68px; background:var(--surface); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; padding:0 30px;
  position:sticky; top:0; z-index:20;
}
.breadcrumb { display:flex; align-items:baseline; gap:9px; }
.breadcrumb span { color:var(--muted); font-size:12px; }
.breadcrumb strong { font-size:15px; }
.topbar-actions { display:flex; align-items:center; gap:8px; }
.icon-button { border:1px solid var(--line); background:var(--surface); color:var(--text); width:38px; height:38px; border-radius:10px; }
.profile-button { border:0; background:transparent; display:flex; align-items:center; gap:9px; padding:4px; color:var(--text); }
.avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#e7f1fb; color:#0754a1; font-size:11px; font-weight:800; }
.profile-text { display:grid; text-align:left; gap:2px; }
.profile-text strong { font-size:11px; }
.profile-text small { color:var(--muted); font-size:9px; }
.view-container { padding: 28px 30px 40px; max-width: 1500px; margin:auto; }
.mobile-only, .sidebar-overlay { display:none; }

@media (max-width: 900px) {
  .sidebar { transform:translateX(-100%); transition:transform .22s ease; box-shadow:20px 0 50px rgba(0,0,0,.18); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-overlay { position:fixed; inset:0; z-index:25; background:rgba(2,8,23,.5); }
  .sidebar-overlay.open { display:block; }
  .main-area { margin-left:0; }
  .mobile-only { display:inline-grid; place-items:center; }
  .topbar { padding:0 15px; gap:10px; }
  .breadcrumb { margin-right:auto; }
  .profile-text { display:none; }
  .view-container { padding:20px 15px 30px; }
}
@media (max-width: 520px) {
  .topbar { height:60px; }
  .theme-toggle { display:none; }
}
