/* Nyx Administration visual layer. Data, permissions, and interactions stay in owner-dashboard.css. */
.nyx-owner-dashboard-overlay{
  --owner-bg:#080e18;
  --owner-panel:#121b2d;
  --owner-panel-2:#172238;
  --owner-line:#293650;
  --owner-muted:#91a0b8;
  --owner-text:#f1f5fb;
  --owner-accent:#38bdf8;
  --owner-accent-2:#22d3ee;
  --owner-danger:#fb7185;
  --owner-success:#2dd4a0;
  --owner-display-font:"Outfit","Inter","Segoe UI",sans-serif;
  background:var(--owner-bg);
  color:var(--owner-text);
  font-family:"Inter","Segoe UI",sans-serif;
  backdrop-filter:none;
}
.nyx-owner-dashboard-overlay button{background-image:none!important;box-shadow:none!important}
.nyx-owner-dashboard-overlay button:hover{transform:none!important}
.nyx-owner-dashboard{
  gap:16px;
  margin:0;
  padding:clamp(18px,2.2vw,30px);
  border:0;
  border-radius:0;
  background:
    linear-gradient(rgba(56,189,248,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,189,248,.025) 1px,transparent 1px),
    var(--owner-bg);
  background-size:32px 32px;
  box-shadow:none;
}
.nyx-owner-header{align-items:center;gap:18px;padding:2px 0 4px}
.nyx-owner-header>div:first-child{gap:5px}
.nyx-owner-eyebrow{display:flex;align-items:center;gap:7px;color:var(--owner-accent);font-size:9px;font-weight:800;letter-spacing:.16em}
.nyx-owner-eyebrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nyx-owner-header h1{font-family:var(--owner-display-font);font-size:clamp(25px,2.2vw,32px);font-weight:750;letter-spacing:-.035em}
.nyx-owner-header p{margin-top:0;color:var(--owner-muted);font-size:11px}
.nyx-owner-header-actions{gap:8px}

.nyx-owner-header-actions button,.nyx-owner-quick-actions button,.nyx-owner-pagination button,.nyx-owner-error button{
  min-height:34px;
  border:1px solid var(--owner-line);
  border-radius:10px;
  background-color:#10192a!important;
  color:#dce6f5;
  font-weight:650;
  box-shadow:none;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease;
}
.nyx-owner-header-actions [data-owner-refresh]{border-color:#38bdf8;background-color:var(--owner-accent)!important;color:#03131e}
.nyx-owner-header-actions button:hover,.nyx-owner-quick-actions button:hover,.nyx-owner-pagination button:not(:disabled):hover,.nyx-owner-error button:hover{border-color:#4ec8fa;background:#17263b;color:#fff;transform:translateY(-1px)}
.nyx-owner-header-actions [data-owner-refresh]:hover{background-color:#62cef9!important;color:#03131e}
.nyx-owner-header-actions .nyx-owner-close{border-color:var(--owner-line);background-color:#0d1625!important;color:var(--owner-muted)}
.nyx-owner-header-actions .nyx-owner-close:hover{border-color:rgba(251,113,133,.55);background-color:rgba(251,113,133,.1)!important;color:#fecdd3}
.nyx-owner-header-actions svg,.nyx-owner-quick-actions svg{stroke-width:2}

.nyx-owner-metrics{grid-template-columns:repeat(6,minmax(118px,1fr));gap:9px}
.nyx-owner-metric,.nyx-owner-metric:first-child,.nyx-owner-metric:nth-child(n+4){
  min-height:76px;
  gap:10px;
  padding:12px;
  border:1px solid var(--owner-line);
  border-radius:13px;
  background-color:rgba(18,27,45,.94)!important;
  box-shadow:none;
  animation:none;
}
.nyx-owner-metric:hover{border-color:#3d5874;background-color:#16243a!important;box-shadow:none}
.nyx-owner-metric.active{border-color:rgba(56,189,248,.72);background-color:#13283a!important;box-shadow:0 0 0 2px rgba(56,189,248,.07)}
.nyx-owner-metric:first-child{background-color:rgba(18,27,45,.94)!important}
.nyx-owner-metric>svg,.nyx-owner-metric:first-child>svg,.nyx-owner-metric:nth-child(n+4)>svg{
  width:34px;height:34px;flex-basis:34px;padding:8px;border:1px solid rgba(56,189,248,.16);border-radius:10px;background:rgba(56,189,248,.09);color:var(--owner-accent)
}
.nyx-owner-metric span{font-size:9px;font-weight:650;letter-spacing:0;text-transform:none}
.nyx-owner-metric strong,.nyx-owner-metric:first-child strong,.nyx-owner-metric:nth-child(n+4) strong{font-family:var(--owner-display-font);font-size:20px;font-weight:700}

.nyx-owner-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:13px}
.nyx-owner-users-panel,.nyx-owner-activity-panel{
  border:1px solid var(--owner-line);
  border-radius:16px;
  background:rgba(18,27,45,.97);
  box-shadow:0 16px 44px rgba(0,0,0,.2);
  animation:none;
}
.nyx-owner-panel-head,.nyx-owner-activity-panel>header{min-height:66px;padding:14px 16px;border-bottom-color:var(--owner-line)}
.nyx-owner-panel-head>div:first-child,.nyx-owner-activity-panel>header>div{gap:4px}
.nyx-owner-panel-head h2,.nyx-owner-activity-panel h2{display:flex;align-items:center;gap:8px;font-family:var(--owner-display-font);font-size:15px;font-weight:700;letter-spacing:-.01em}
.nyx-owner-panel-head h2 svg,.nyx-owner-activity-panel h2 svg{width:18px;height:18px;fill:none;stroke:var(--owner-accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nyx-owner-panel-head span,.nyx-owner-activity-panel header span{color:var(--owner-muted);font-size:9px}
.nyx-owner-quick-actions{gap:6px}
.nyx-owner-quick-actions button{min-height:31px;padding:5px 9px;background-color:#0e1727!important;font-size:9px}
.nyx-owner-quick-actions button svg{color:var(--owner-accent)}
.nyx-owner-filters{gap:8px;padding:11px 13px;border-bottom-color:var(--owner-line);background:#0e1727}
.nyx-owner-search,.nyx-owner-filters select{border:1px solid var(--owner-line);border-radius:9px;background:#0a1220;box-shadow:none}
.nyx-owner-search:hover,.nyx-owner-filters select:hover{border-color:#3c4d69;background:#0c1727}
.nyx-owner-search:focus-within,.nyx-owner-filters select:focus{border-color:var(--owner-accent);box-shadow:0 0 0 3px rgba(56,189,248,.1)}

.nyx-owner-table{font-size:10px}
.nyx-owner-table th{padding:11px 13px;border-bottom-color:var(--owner-line);background:#0d1625}
.nyx-owner-table th button{font-size:8px;font-weight:800;letter-spacing:.08em}
.nyx-owner-table td{height:60px;padding:9px 13px;border-bottom-color:rgba(41,54,80,.7);color:#d5deec}
.nyx-owner-table tbody tr{transition:background-color .16s ease}
.nyx-owner-table tbody tr:hover{background:rgba(56,189,248,.055);box-shadow:inset 3px 0 var(--owner-accent)}
.nyx-owner-avatar{width:35px;height:35px;flex-basis:35px;border-radius:10px;box-shadow:0 5px 12px rgba(0,0,0,.24)}
.nyx-owner-user-cell strong{font-size:11px}
.nyx-owner-user-cell small{font-size:8.5px}
.nyx-owner-mobile-access{display:none}
.nyx-owner-badge{min-height:22px;padding:3px 7px;border-radius:999px;font-size:8px}
.nyx-owner-row-action{border:1px solid var(--owner-line);border-radius:8px;background-color:#0d1727!important;color:var(--owner-muted)}
.nyx-owner-row-action:hover{border-color:rgba(56,189,248,.55);background-color:rgba(56,189,248,.1)!important;color:var(--owner-accent)}
.nyx-owner-pagination{min-height:48px;padding:8px 13px;border-top-color:var(--owner-line);background:#0e1727}
.nyx-owner-pagination select{border-color:var(--owner-line);background:#091220}

.nyx-owner-activity-list{padding:11px;gap:9px}
.nyx-owner-activity-group{display:grid;gap:7px}
.nyx-owner-activity-group>header{display:flex;align-items:center;justify-content:space-between;padding:2px 3px;color:var(--owner-muted)}
.nyx-owner-activity-group>header strong{color:#b9c7da;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.nyx-owner-activity-group>header span{font-size:8px}
.nyx-owner-activity-item{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:9px;border:1px solid rgba(41,54,80,.65);border-radius:10px;background:#0d1626}
.nyx-owner-activity-item:not(:last-child)::after{display:none}
.nyx-owner-activity-item:hover{border-color:#344866;background:#101c2e;transform:none}
.nyx-owner-activity-dot{display:grid;width:27px;height:27px;margin:0;place-items:center;border:1px solid rgba(56,189,248,.18);border-radius:8px;background:rgba(56,189,248,.09);box-shadow:none}
.nyx-owner-activity-dot svg{width:13px;height:13px;fill:none;stroke:var(--owner-accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nyx-owner-activity-item>div{gap:3px}
.nyx-owner-activity-item strong{font-size:9px}.nyx-owner-activity-item p{font-size:8px}.nyx-owner-activity-item span{font-size:8px}

.nyx-owner-user-drawer{border:1px solid var(--owner-line);border-radius:16px;background:#0b1321;box-shadow:-24px 0 70px rgba(0,0,0,.58)}
.nyx-owner-user-drawer.show{animation:none}
.nyx-owner-user-drawer>header{border-bottom-color:var(--owner-line);background:#111c2e}
.nyx-owner-detail-value,.nyx-owner-detail-section{border-color:var(--owner-line);background:#111b2c;box-shadow:none}
.nyx-owner-detail-section{border-radius:12px}
.nyx-owner-detail-section h3{font-family:var(--owner-display-font);font-size:11px}
.nyx-owner-role-options button{border-color:var(--owner-line);background-color:#0d1727!important;box-shadow:none}
.nyx-owner-role-options button.active{border-color:rgba(56,189,248,.7);background-color:rgba(56,189,248,.1)!important;box-shadow:none}
.nyx-owner-detail-actions button{display:flex;align-items:center;justify-content:center;gap:7px;border-color:#38bdf8;background-color:var(--owner-accent)!important;color:#04131e}
.nyx-owner-detail-actions button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nyx-owner-detail-actions button:hover{background-color:#62cef9!important;box-shadow:none}
.nyx-owner-action-grid button{display:flex;align-items:center;justify-content:center;gap:7px;border-color:var(--owner-line);border-radius:9px;background-color:#162238!important;box-shadow:none}
.nyx-owner-action-grid button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nyx-owner-action-grid button:hover{border-color:#3d5874;background-color:#1a2a43!important;box-shadow:none}
.nyx-owner-action-grid button.danger{border-color:rgba(251,113,133,.35);background-color:rgba(251,113,133,.09)!important;color:#fda4af}
.nyx-owner-action-grid button.danger:hover{border-color:rgba(251,113,133,.6);background-color:rgba(251,113,133,.14)!important;box-shadow:none}
.nyx-owner-ip-ban-form,.nyx-owner-ip-ban-list article{border-radius:11px;background:#0e1828;box-shadow:inset 0 0 0 1px var(--owner-line)}
.nyx-owner-ip-ban-form input{border-color:var(--owner-line);background:#091220;box-shadow:none}
.nyx-owner-ip-ban-form input:focus{border-color:var(--owner-accent);box-shadow:0 0 0 3px rgba(56,189,248,.1)}
.nyx-owner-ip-ban-list button{display:flex;align-items:center;gap:6px}
.nyx-owner-ip-ban-list button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.nyx-owner-confirm{background:rgba(3,8,15,.8);backdrop-filter:blur(6px)}
.nyx-owner-confirm form{border-color:var(--owner-line);border-radius:15px;background:#111b2c;box-shadow:0 24px 70px rgba(0,0,0,.6);animation:none}
.nyx-owner-confirm input{border-color:var(--owner-line);background:#08111e;box-shadow:none}
.nyx-owner-confirm input:focus{border-color:var(--owner-accent);box-shadow:0 0 0 3px rgba(56,189,248,.1)}
.nyx-owner-confirm button[type=submit]{border-color:#38bdf8;background-color:var(--owner-accent)!important;color:#04131e;box-shadow:none}
.nyx-owner-confirm button.danger{border-color:rgba(251,113,133,.5);background-color:#7f2d3c!important;box-shadow:none}
.nyx-owner-toast{border-color:rgba(45,212,160,.3);background:#10261f;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.nyx-owner-toast-error{border-color:rgba(251,113,133,.34);background:#301820}
.nyx-owner-dashboard-overlay ::-webkit-scrollbar{width:8px;height:8px}
.nyx-owner-dashboard-overlay ::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#34445f;background-clip:padding-box}

/* The browser shell has intentionally strong global button rules. Keep administration controls self-contained. */
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-header-actions button,
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-quick-actions button,
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-pagination button{background-color:#10192a!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-header-actions [data-owner-refresh]{border-color:#38bdf8!important;background-color:var(--owner-accent)!important;color:#03131e!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-header-actions .nyx-owner-close{border-color:var(--owner-line)!important;background-color:#0d1625!important;color:var(--owner-muted)!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-metric{background-color:rgba(18,27,45,.94)!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-metric.active{background-color:#13283a!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-row-action,
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-role-options button{background-color:#0d1727!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-role-options button.active{background-color:rgba(56,189,248,.1)!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-detail-actions button,
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-confirm button[type=submit]{background-color:var(--owner-accent)!important;color:#04131e!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-action-grid button{background-color:#162238!important}
body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-action-grid button.danger{background-color:rgba(251,113,133,.09)!important;color:#fda4af!important}

@media(max-width:1180px){
  .nyx-owner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nyx-owner-workspace{grid-template-columns:minmax(0,1fr) 280px}
}
@media(max-width:900px){
  .nyx-owner-dashboard{display:flex;overflow-y:auto;flex-direction:column;padding:18px}
  .nyx-owner-workspace{grid-template-columns:1fr;overflow:visible}
  .nyx-owner-users-panel{min-height:620px}
  .nyx-owner-activity-panel{display:grid;min-height:320px;max-height:540px}
  .nyx-owner-table-wrap{max-height:470px}
}
@media(max-width:620px){
  .nyx-owner-dashboard{gap:13px;padding:0 12px 18px;background:var(--owner-bg)}
  .nyx-owner-header{position:sticky;z-index:3;top:0;margin:0 -12px;padding:13px 12px;border-bottom:1px solid var(--owner-line);background:rgba(8,14,24,.96);backdrop-filter:blur(12px)}
  .nyx-owner-eyebrow{font-size:7px;letter-spacing:.12em}.nyx-owner-eyebrow svg{width:12px;height:12px}
  .nyx-owner-header h1{font-size:20px}.nyx-owner-header p{display:none}
  .nyx-owner-header-actions button{width:36px;min-height:36px;padding:0}.nyx-owner-header-actions button span{display:none}
  .nyx-owner-header-actions [data-owner-refresh]{border-color:var(--owner-line);background-color:#101a2b!important;color:var(--owner-accent)}
  .nyx-owner-metrics{display:flex;gap:8px;margin:0 -12px;padding:1px 12px 8px;overflow-x:auto;scroll-snap-type:x proximity}
  .nyx-owner-metric,.nyx-owner-metric:first-child,.nyx-owner-metric:nth-child(n+4){min-width:148px;min-height:66px;padding:9px;scroll-snap-align:start}
  .nyx-owner-metric>svg,.nyx-owner-metric:first-child>svg,.nyx-owner-metric:nth-child(n+4)>svg{width:30px;height:30px;flex-basis:30px;padding:7px}
  .nyx-owner-metric strong,.nyx-owner-metric:first-child strong,.nyx-owner-metric:nth-child(n+4) strong{font-size:17px}
  .nyx-owner-users-panel,.nyx-owner-activity-panel{border-radius:14px}
  .nyx-owner-users-panel{min-height:610px}
  .nyx-owner-panel-head{align-items:flex-start;flex-direction:column;padding:14px}
  .nyx-owner-quick-actions{display:flex;width:100%;flex-wrap:wrap}
  .nyx-owner-quick-actions button{display:flex;flex:1 1 auto;min-height:34px}
  .nyx-owner-filters{grid-template-columns:1fr;padding:10px}.nyx-owner-search{grid-column:auto}
  .nyx-owner-table{min-width:0}
  .nyx-owner-table th,.nyx-owner-table td{padding-left:11px;padding-right:11px}
  .nyx-owner-table th:nth-child(n+2):not(:last-child),.nyx-owner-table td:nth-child(n+2):not(:last-child){display:none!important}
  .nyx-owner-table td{height:76px}
  .nyx-owner-user-cell small{max-width:min(220px,58vw)}
  .nyx-owner-mobile-access{display:flex!important;align-items:center;gap:5px;margin-top:5px}
  .nyx-owner-mobile-access .nyx-owner-badge{min-height:19px;padding:2px 6px;font-size:7px}
  .nyx-owner-mobile-access .nyx-owner-role-icon{width:11px;height:11px}
  .nyx-owner-pagination{align-items:flex-start;gap:6px}.nyx-owner-pagination>div{flex-wrap:wrap;justify-content:flex-end}
  .nyx-owner-activity-panel{display:grid;min-height:340px;max-height:none}
  .nyx-owner-activity-list{overflow:visible}
  .nyx-owner-user-drawer{inset:0;width:100%;border:0;border-radius:0}
  .nyx-owner-user-drawer>header{padding:14px}
  .nyx-owner-drawer-scroll{padding:12px}
  body.browser-shell .nyx-owner-dashboard-overlay .nyx-owner-header-actions [data-owner-refresh]{border-color:var(--owner-line)!important;background-color:#101a2b!important;color:var(--owner-accent)!important}
}
@media(prefers-reduced-motion:reduce){
  .nyx-owner-dashboard-overlay *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
