/* admin-dark v1 (2026-10-21): the admin panel gets the client portal's dark look.
   admin.html loads portal-dark.css and portal-scroll-fix.css (same files as the portal), then this file.
   portal-dark already themes the shell, sidebar, top bar, panels, buttons, inputs, tables and toasts; this file covers
   the admin-only components that app.css paints light. Colours only, plus two spacing fixes (system panel head, KPI tiles).
   Status meanings are kept: active/available = green, blocked/unavailable = red, applied/selected = blue, Gold/DTC = amber. */

/* Top bar and toolbar */
body[data-page=admin] .health-pill{background:var(--pd-panel)!important;border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}
body[data-page=admin] .health-pill.bad{color:var(--pd-red)!important;border-color:#7a2028!important}
body[data-page=admin] .search-box{background:var(--pd-shell)!important;border-color:var(--pd-border2)!important;color:var(--pd-faint)!important}
body[data-page=admin] .search-box:focus-within{border-color:var(--pd-blue)!important;box-shadow:0 0 0 2px rgba(47,111,214,.25)!important}
body[data-page=admin] .search-box input{border-color:transparent!important;background:transparent!important}
body[data-page=admin] .nav-count{background:var(--pd-blue)!important;color:#fff!important;box-shadow:none!important}
body[data-page=admin] .nav-item.danger:hover{background:#2c0a10!important;color:#ff8095!important}
body[data-page=admin] .icon-btn{color:var(--pd-faint)!important}
body[data-page=admin] .icon-btn:hover{color:#fff!important}
body[data-page=admin] .form-error{color:#ff8a95!important}

/* Shared surfaces, panel heads, scroll areas */
body[data-page=admin] .panel-head{border-bottom-color:var(--pd-border2)!important}
body[data-page=admin] :is(.table-wrap,.editor-panel,.activity-content,.json-view){scrollbar-color:#5a5a62 var(--pd-panel)}
body[data-page=admin] .btn-danger{background:#3b0d12!important;color:#ffc2c6!important;border-color:#7a2028!important}
body[data-page=admin] .btn-danger:hover:not(:disabled){background:#4d1219!important;color:#fff!important}
body[data-page=admin] .busy-overlay{background:rgba(10,10,11,.86)!important}
body[data-page=admin] .busy-overlay b{color:#fff!important}
body[data-page=admin] .busy-overlay span{color:var(--pd-muted)!important}
body[data-page=admin] .spinner{border-color:var(--pd-border2)!important;border-top-color:var(--pd-blue-text)!important}

/* Users table */
body[data-page=admin] #usersRows td b{color:#fff!important}
body[data-page=admin] #usersRows td small{color:var(--pd-faint)!important}
body[data-page=admin] tbody tr.selected td{background:#0f1d33!important}
body[data-page=admin] tbody tr.selected td:first-child{box-shadow:inset 3px 0 var(--pd-blue)}
body[data-page=admin] .empty-row td{color:var(--pd-muted)!important}
body[data-page=admin] .badge:not(.success):not(.neutral){background:#2c0a10!important;color:#ff8095!important;border-color:#7a2028!important}

/* User editor */
body[data-page=admin] .check-line span{color:var(--pd-text)!important}
body[data-page=admin] .account-meta span{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}
body[data-page=admin] .account-meta b{color:#d6d6da!important}
body[data-page=admin] .account-meta code{color:var(--pd-blue-text)!important}
body[data-page=admin] .paid-credits-editor{background:#2a2210!important;border-color:#9a7a22!important;color:#f3d98d!important}
body[data-page=admin] .paid-credits-editor .eyebrow{color:var(--pd-gold)!important}
body[data-page=admin] .paid-credits-editor h4{color:#fff!important}
body[data-page=admin] .paid-credits-editor label{color:#f3d98d!important}
body[data-page=admin] .paid-credits-editor input{border-color:#9a7a22!important}
body[data-page=admin] .paid-credits-editor input[readonly]{background:#1d1a0f!important;color:var(--pd-gold)!important}
body[data-page=admin] .device-item{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}
body[data-page=admin] .device-item :is(b,strong){color:#fff!important}
body[data-page=admin] .danger-zone{border-top-color:#5a1d25!important}
body[data-page=admin] .danger-zone h4{color:#ff8095!important}
body[data-page=admin] .inline-key-panel{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:var(--pd-text)!important}
body[data-page=admin] .inline-key-panel h4{color:#fff!important}
body[data-page=admin] .inline-key-panel p{color:var(--pd-muted)!important}
body[data-page=admin] .inline-key-panel .inline-key-warning{color:var(--pd-gold)!important}
body[data-page=admin] .inline-key-panel.is-success{background:#10261a!important;border-color:#2c6b44!important}
body[data-page=admin] .inline-key-result input{color:var(--pd-blue-text)!important;border-color:var(--pd-blue)!important}

/* User activity */
body[data-page=admin] .user-activity{border-top-color:var(--pd-border2)!important}
body[data-page=admin] .user-activity h4{color:#fff!important}
body[data-page=admin] .activity-summary>div{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;box-shadow:inset 0 3px var(--pd-blue)}
body[data-page=admin] .activity-summary span{color:var(--pd-muted)!important}
body[data-page=admin] .activity-summary strong{color:var(--pd-blue-text)!important}
body[data-page=admin] .activity-tabs button{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:#d6d6da!important}
body[data-page=admin] .activity-tabs button:hover{background:var(--pd-hover)!important;color:#fff!important}
body[data-page=admin] .activity-tabs button.active{background:var(--pd-blue)!important;border-color:var(--pd-blue-text)!important;color:#fff!important}
body[data-page=admin] .activity-row{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}
body[data-page=admin] .activity-row-head strong{color:#fff!important}
body[data-page=admin] :is(.activity-row-head>span,.activity-row-head>time,.activity-line,.activity-row small,.activity-file-meta){color:var(--pd-faint)!important}
body[data-page=admin] .activity-row p{color:var(--pd-muted)!important}
body[data-page=admin] .activity-line code,body[data-page=admin] .activity-file-meta code{color:var(--pd-blue-text)!important}
body[data-page=admin] .activity-filename{color:#e6e6e9!important}
body[data-page=admin] .activity-tags span{background:#10213d!important;border-color:var(--pd-blue)!important;color:#cfe0ff!important}
body[data-page=admin] .activity-tags.applied span{background:#10261a!important;border-color:#2c6b44!important;color:#9fe7b4!important}
body[data-page=admin] .activity-tags.already span{background:#2a2210!important;border-color:#9a7a22!important;color:#f3d98d!important}
body[data-page=admin] .activity-tags.failed span{background:#2c0a10!important;border-color:#7a2028!important;color:#ff8095!important}
body[data-page=admin] .activity-tags.dtc span{background:#21183a!important;border-color:#6b4fa3!important;color:#d4c2ff!important}
body[data-page=admin] .activity-json{background:#0d0d0f!important;color:#c9c9d0!important}
body[data-page=admin] .activity-empty{border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}

/* Intake explorer */
body[data-page=admin] .intake-hero{background:var(--pd-panel)!important;border-color:var(--pd-border)!important;box-shadow:inset 0 3px var(--pd-accent)!important}
body[data-page=admin] .intake-hero:after{border-color:rgba(255,255,255,.03)!important}
body[data-page=admin] .intake-hero-copy .eyebrow{color:#e4d327!important}
body[data-page=admin] .intake-hero-copy h3{color:#fff!important}
body[data-page=admin] .intake-hero-copy>p:last-child{color:var(--pd-muted)!important}
body[data-page=admin] .intake-kpis>div{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;box-shadow:inset 0 3px var(--pd-blue)!important;backdrop-filter:none!important}
body[data-page=admin] .intake-kpis span{color:var(--pd-muted)!important}
body[data-page=admin] .intake-kpis strong{color:var(--pd-blue-text)!important}
body[data-page=admin] .intake-kpis small{color:var(--pd-faint)!important}
body[data-page=admin] .intake-filter-head h3{color:#fff!important}
body[data-page=admin] .intake-filter-grid label{color:var(--pd-faint)!important}
body[data-page=admin] .intake-bulkbar{background:var(--pd-shell)!important;border-color:var(--pd-border2)!important;box-shadow:0 6px 18px rgba(0,0,0,.35)!important}
body[data-page=admin] .intake-select-page{color:var(--pd-text)!important}
body[data-page=admin] .intake-selection-copy strong{color:var(--pd-blue-text)!important}
body[data-page=admin] .intake-selection-copy span{color:var(--pd-faint)!important}
body[data-page=admin] :is(.intake-loading,.intake-empty){color:var(--pd-muted)!important}
body[data-page=admin] .intake-record{background:var(--pd-panel)!important;border-color:var(--pd-border2)!important;box-shadow:none!important}
body[data-page=admin] .intake-record:hover{border-color:#5a5a62!important}
body[data-page=admin] .intake-record.selected{border-color:var(--pd-blue)!important;box-shadow:inset 4px 0 var(--pd-blue),0 0 0 2px rgba(47,111,214,.25)!important}
body[data-page=admin] .intake-file-icon{background:#163061!important;border-color:var(--pd-blue)!important;color:#cfe0ff!important}
body[data-page=admin] .intake-file h3{color:#fff!important}
body[data-page=admin] :is(.intake-file-meta,.intake-record-context){color:var(--pd-faint)!important}
body[data-page=admin] .intake-file-meta code{color:var(--pd-blue-text)!important}
body[data-page=admin] .intake-ecu strong{background:#0f1d33!important;border-color:var(--pd-blue)!important;color:#cfe0ff!important}
body[data-page=admin] .intake-ecu small{color:var(--pd-faint)!important}
body[data-page=admin] .intake-counts span{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:var(--pd-muted)!important}
body[data-page=admin] .intake-counts b{color:#fff!important}
body[data-page=admin] .intake-counts .available{background:#10261a!important;border-color:#2c6b44!important;color:#9fe7b4!important}
body[data-page=admin] .intake-counts .unavailable{background:#2c0a10!important;border-color:#7a2028!important;color:#ff8095!important}
body[data-page=admin] .intake-counts .applied{background:#0f1d33!important;border-color:var(--pd-blue)!important;color:var(--pd-blue-text)!important}
body[data-page=admin] .intake-counts :is(.available,.unavailable,.applied) b{color:inherit!important}
body[data-page=admin] :is(.intake-record details[open]>.intake-detail-toggle,.intake-detail-button.active){background:#10213d!important;border-color:var(--pd-blue)!important;color:#fff!important}
body[data-page=admin] .intake-details{background:var(--pd-shell)!important;border-top-color:var(--pd-border2)!important}
body[data-page=admin] .intake-details-head h4{color:#fff!important}
body[data-page=admin] .intake-details-head p{color:var(--pd-faint)!important}
body[data-page=admin] .intake-dtc span{background:#2a2210!important;border-color:#9a7a22!important;color:#f3d98d!important}
body[data-page=admin] .intake-fix{background:var(--pd-panel)!important;border-color:var(--pd-border2)!important}
body[data-page=admin] .intake-fix strong{color:#fff!important}
body[data-page=admin] .intake-fix p{color:var(--pd-muted)!important}
body[data-page=admin] .intake-fix em{background:var(--pd-hover)!important;color:#d6d6da!important}
body[data-page=admin] .intake-fix.available{background:#0f1f15!important;border-color:#2f8f55!important}
body[data-page=admin] .intake-fix.available em{background:#174a2a!important;color:#9fe7b4!important}
body[data-page=admin] .intake-fix.unavailable{background:#1f0d10!important;border-color:#a3283a!important}
body[data-page=admin] .intake-fix.unavailable em{background:#4a141d!important;color:#ff9aa9!important}
body[data-page=admin] .intake-fix.applied{background:#0f1a2c!important;border-color:var(--pd-blue)!important}
body[data-page=admin] .intake-fix.applied em{background:#163061!important;color:#cfe0ff!important}
body[data-page=admin] .intake-fix.unknown{background:var(--pd-panel)!important;border-color:#5a5a62!important}
body[data-page=admin] .intake-pagination{color:var(--pd-muted)!important}

/* Gold orders */
body[data-page=admin] .support-order>header,body[data-page=admin] .support-order>footer{border-color:var(--pd-border)!important}
body[data-page=admin] .support-order-user{color:var(--pd-blue-text)!important}
body[data-page=admin] .support-order-meta>span{background:var(--pd-raised)!important;border-color:var(--pd-border2)!important;color:#e6e6e9!important}
body[data-page=admin] :is(.support-order-meta b,.support-order-work b){color:var(--pd-faint)!important}
body[data-page=admin] .support-order-work{background:var(--pd-shell)!important;border-color:var(--pd-border2)!important;color:var(--pd-text)!important}
body[data-page=admin] .support-order-description{color:var(--pd-muted)!important;background:transparent!important}
body[data-page=admin] .support-tags span{background:#10213d!important;border-color:var(--pd-blue)!important;color:#cfe0ff!important}
body[data-page=admin] .support-tags.dtc span{background:#2a2210!important;border-color:#9a7a22!important;color:#f3d98d!important}
body[data-page=admin] .support-tags em{color:var(--pd-faint)!important}

/* System */
body[data-page=admin] .metric{background:var(--pd-panel)!important;border-color:var(--pd-border)!important;box-shadow:inset 0 3px var(--pd-blue)!important}
body[data-page=admin] .metric span{color:var(--pd-muted)!important;text-transform:uppercase}
body[data-page=admin] .metric strong{color:var(--pd-blue-text)!important}
body[data-page=admin] #adminSystemView .panel>.panel-head{margin:0;padding:20px 20px 14px}
body[data-page=admin] .json-view{background:#0d0d0f!important;color:#e6e6e9!important;border-top:1px solid var(--pd-border)}

/* Login */
body[data-page=admin] .auth-card label{color:var(--pd-text)!important}

/* Layout: the users table fits beside the editor (the Status column was cut off at 1440 px), the selected row wins
   over the hover colour, and on phones the search icon stays inside the search field. */
@media(min-width:1201px){body[data-page=admin] .admin-grid{grid-template-columns:minmax(0,1fr) clamp(360px,30vw,440px)}}
/* Long tables scroll inside the window height, so their horizontal scrollbar is always on screen (header stays sticky). */
body[data-page=admin] .users-panel{min-height:0}
body[data-page=admin] #adminUsersView .table-wrap{max-height:calc(100vh - 205px)}
body[data-page=admin] #adminAuditView .table-wrap{max-height:calc(100vh - 140px)}
@media(max-width:850px){body[data-page=admin] :is(#adminUsersView,#adminAuditView) .table-wrap{max-height:calc(100vh - 150px)}}
body[data-page=admin] #adminUsersView :is(th,td){padding-left:10px;padding-right:10px}
body[data-page=admin] #usersRows td:nth-child(3){white-space:nowrap}
body[data-page=admin] #adminApp tbody tr.selected td{background:#0f1d33!important}
body[data-page=admin] .search-box{flex-direction:row!important;flex-wrap:nowrap!important}
body[data-page=admin] .search-box input{flex:1 1 auto;min-width:0}

/* Access control editor (2026-10-22): time suspensions, allowed-hours window and session revoke in the user panel. */
body[data-page=admin] .access-control-editor{display:grid;gap:10px;margin-top:18px;padding:14px;border:2px solid #5a4a6b;border-radius:9px;background:#1a1526}
body[data-page=admin] .access-control-editor .eyebrow{color:#c9b6ff!important}
body[data-page=admin] .access-control-editor h4{margin:2px 0 0;color:#fff!important;font-size:14px}
body[data-page=admin] .access-control-editor label{color:#d7ccf0!important;font-size:11px;font-weight:800;display:flex;flex-direction:column;gap:6px}
body[data-page=admin] .access-control-editor .two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body[data-page=admin] .access-control-editor input{min-height:40px;padding:9px 10px;border:2px solid #6b5a85!important;border-radius:7px;background:#120f1c!important;color:#efeaf9!important;font-size:13px;font-weight:600}
body[data-page=admin] .access-control-editor input:focus{border-color:#9f86e0!important;box-shadow:0 0 0 2px rgba(159,134,224,.25)!important}
body[data-page=admin] .access-status{font-size:11px;font-weight:800;min-height:16px}
body[data-page=admin] .access-status.ok{color:#9fe7b4}
body[data-page=admin] .access-status.denied{color:#ff8095}
body[data-page=admin] .access-actions{display:flex;flex-wrap:wrap;gap:8px}
body[data-page=admin] .access-actions .btn{flex:1 1 auto;min-width:120px}
@media(max-width:560px){body[data-page=admin] .access-control-editor .two-fields{grid-template-columns:1fr}}
