:root {
  --nova-cyan:#00ead4;
  --nova-cyan-rgb:0,234,212;
  --nova-bg:#02080d;
  --nova-panel:#071722;
  --nova-panel-2:#0a202c;
  --nova-border:rgba(80,170,188,.20);
  --nova-text:#f5fbff;
  --nova-muted:#86a9b7;
}
body.app-body {
  background:
    linear-gradient(rgba(0,234,212,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,234,212,.028) 1px,transparent 1px),
    radial-gradient(circle at 84% 0,rgba(0,234,212,.09),transparent 34rem),
    var(--nova-bg);
  background-size:52px 52px,52px 52px,auto,auto;
}
.app-shell { grid-template-columns:290px minmax(0,1fr); }
.nova-main-column { min-width:0; display:flex; flex-direction:column; min-height:100vh; }
.nova-sidebar-v2 {
  z-index:70;
  background:linear-gradient(180deg,rgba(5,20,29,.98),rgba(2,8,13,.99));
  box-shadow:18px 0 60px rgba(0,0,0,.18);
}
.nova-logo-brand { padding:6px 10px 22px; }
.nova-logo-brand img {
  width:62px;height:62px;object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(var(--nova-cyan-rgb),.24));
}
.nova-logo-brand strong { letter-spacing:.08em; font-size:15px; }
.nova-logo-brand small { margin-top:4px; font-size:10px; }
.nova-topbar {
  position:sticky;top:0;z-index:50;
  min-height:74px;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-bottom:1px solid var(--nova-border);
  background:rgba(2,9,14,.86);backdrop-filter:blur(18px);
}
.nova-breadcrumb span,.nova-breadcrumb strong { display:block; }
.nova-breadcrumb span { color:var(--nova-cyan);font-size:10px;font-weight:900;letter-spacing:.16em; }
.nova-breadcrumb strong { margin-top:3px;font-size:16px; }
.nova-topbar-actions { display:flex;align-items:center;gap:10px; }
.nova-topbar-button {
  display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--nova-border);
  border-radius:12px;text-decoration:none;color:var(--nova-cyan);background:rgba(0,234,212,.04);
}
.nova-topbar-profile { display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border:1px solid var(--nova-border);border-radius:13px;text-decoration:none; }
.nova-topbar-profile strong,.nova-topbar-profile small { display:block; }
.nova-topbar-profile small { color:var(--nova-muted);font-size:10px; }
.nova-mobile-menu { display:none;border:1px solid var(--nova-border);border-radius:10px;background:#071722;color:var(--nova-cyan);padding:9px 12px; }
.content { padding:24px; }
.hero,.card,.stats article,.module-card,.support-panel,.team-card {
  box-shadow:0 16px 50px rgba(0,0,0,.14);
}
.hero {
  background:
    radial-gradient(circle at 88% 0,rgba(0,234,212,.12),transparent 26rem),
    linear-gradient(145deg,rgba(8,31,42,.96),rgba(3,12,18,.98));
}
.content > header:not(.hero), .content > section:not(.card) { max-width:100%; }
.content button,.content .btn {
  min-height:40px;padding:9px 14px;border:1px solid rgba(0,234,212,.30);
  border-radius:10px;background:rgba(0,234,212,.07);color:var(--nova-cyan);
  font-weight:800;text-decoration:none;cursor:pointer;
}
.content .btn-primary,.content button[type=submit]:not(.danger-button) {
  color:#001310;background:linear-gradient(135deg,#6bf6e8,#00cbb8);border-color:transparent;
}
.content input,.content select,.content textarea {
  width:100%;padding:11px 12px;border:1px solid var(--nova-border);border-radius:10px;
  background:#05121a;color:#fff;outline:none;
}
.content input:focus,.content select:focus,.content textarea:focus {
  border-color:rgba(0,234,212,.62);box-shadow:0 0 0 3px rgba(0,234,212,.08);
}
.content label { color:#9db8c3; }
.content table { width:100%;border-collapse:collapse; }
.content th,.content td { padding:14px;border-bottom:1px solid var(--nova-border);text-align:left; }
.creator-grid,.team-grid,.module-grid { align-items:stretch; }
.creator-card,.team-card,.module-card {
  border:1px solid var(--nova-border)!important;border-radius:16px!important;background:linear-gradient(145deg,var(--nova-panel),#040d13)!important;
}
.creator-card img,.team-card img { max-width:100%;border-radius:13px;object-fit:cover; }
.nova-list-card {
  margin-top:16px;padding:18px;border:1px solid var(--nova-border);border-radius:16px;background:linear-gradient(145deg,var(--nova-panel),#040d13);
}
.nova-notification {
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;border-bottom:1px solid var(--nova-border);
}
.nova-notification:last-child { border-bottom:0; }
.nova-notification.is-read { opacity:.58; }
.nova-notification-icon,.nova-user-avatar {
  display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(0,234,212,.3);border-radius:12px;color:var(--nova-cyan);background:rgba(0,234,212,.06);font-weight:900;
}
.nova-notification p { margin:5px 0;color:var(--nova-muted); }
.nova-notification small { color:#607f8c; }
.nova-empty-state { padding:45px;text-align:center;color:var(--nova-muted); }
.nova-empty-state strong { color:#fff;font-size:20px; }
.nova-section-heading { display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px; }
.nova-section-heading small { color:var(--nova-cyan);font-weight:900;letter-spacing:.14em; }
.nova-section-heading h2 { margin:5px 0; }
.nova-section-heading p { margin:0; }
.nova-user-search { max-width:340px; }
.nova-user-role-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.nova-user-role-card { padding:16px;border:1px solid var(--nova-border);border-radius:14px;background:rgba(255,255,255,.015); }
.nova-user-role-card > header { display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;margin-bottom:14px; }
.nova-user-role-card header strong,.nova-user-role-card header small { display:block; }
.nova-user-role-card header small { color:var(--nova-muted); }
.nova-legacy-role { color:var(--nova-cyan);font-size:10px;font-weight:900; }
.nova-role-checkbox-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:12px; }
.nova-role-checkbox-grid label { display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--nova-border);border-radius:9px;cursor:pointer; }
.nova-role-checkbox-grid input { width:auto; }
.nova-role-checkbox-grid i { width:7px;height:30px;border-radius:999px;background:var(--role-color); }
.nova-role-checkbox-grid strong,.nova-role-checkbox-grid small { display:block; }
.nova-role-checkbox-grid small { color:var(--nova-muted);font-size:9px; }
.nova-sidebar-backdrop { display:none;position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.58); }
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .nova-sidebar-v2{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .2s ease}
  body.sidebar-open .nova-sidebar-v2{transform:translateX(0)}
  body.sidebar-open .nova-sidebar-backdrop{display:block}
  .nova-mobile-menu{display:block}
  .content{padding:15px}
  .nova-user-role-grid{grid-template-columns:1fr}
  .nova-section-heading{flex-direction:column}
  .nova-user-search{max-width:none}
}
@media(max-width:620px){
  .nova-topbar{padding:10px 13px}
  .nova-topbar-profile>span:last-child{display:none}
  .nova-role-checkbox-grid{grid-template-columns:1fr}
}