/* Device-directory additions. Kept separate so the original dashboard theme remains intact. */
.device-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:18px;padding:14px 16px;background:#0a1d1e;border:1px solid var(--line)}
.device-filters label{display:grid;gap:6px;min-width:150px;color:#829b97;font:9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.device-filters select{height:36px;padding:0 9px;border:1px solid var(--line);background:#0d2728;color:var(--ink);outline:0;font:10px "DM Mono",monospace}
.device-filters select:focus{border-color:var(--aqua)}
.device-filters .outline{min-height:36px}
.compact-actions{margin-top:0;align-items:center}
.playlist-help{margin:14px 0 0!important}
.playlist-list{display:flex;gap:7px;overflow-x:auto;margin-top:13px;padding-bottom:4px}
.playlist-card{min-width:178px;padding:10px;border:1px solid var(--line);background:#092021;color:#b8cfca;text-align:left;cursor:pointer}
.playlist-card:hover,.playlist-card.selected{border-color:var(--aqua);background:#103133;color:var(--ink)}
.playlist-card b,.playlist-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playlist-card b{font-size:10px}
.playlist-card small{margin-top:5px;color:#819895;font:8px "DM Mono",monospace}
.playlist-card .protected{color:var(--yellow)}
@media(max-width:760px){.device-filters{align-items:stretch}.device-filters label{flex:1}.compact-actions{flex-direction:row}.compact-actions .outline{width:auto}}
.source-picker{margin:17px 0 0;padding:12px;border:1px solid var(--line)}
.source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.source-choice{min-height:76px;padding:13px;border:1px solid var(--line);background:#092021;color:#a5bbb8;text-align:left;cursor:pointer}
.source-choice strong,.source-choice small{display:block}
.source-choice strong{font:700 12px Manrope,sans-serif;color:#dcefeb}
.source-choice small{margin-top:6px;font:8px "DM Mono",monospace;color:#819895}
.source-choice:hover,.source-choice.selected{border-color:var(--aqua);background:#103133}
.source-choice.selected strong{color:var(--aqua)}
.source-fields{margin-top:16px}
.source-url-editor{margin-top:16px}
.source-field-label{display:block;color:#c3d5d2;font-size:10px;font-weight:800}
.source-field-help{display:block;margin-top:6px;color:#819895;font:8px "DM Mono",monospace;line-height:1.5}
.source-url-list{display:grid;gap:8px;margin-top:9px}
.source-url-row{display:grid;grid-template-columns:minmax(0,1fr) 37px;gap:8px;align-items:center}
.source-url-row .source-url-input{width:100%;margin:0}
.source-remove-url,.source-add-url{display:grid;place-items:center;border:1px solid var(--line);background:#092021;color:var(--aqua);cursor:pointer;font:18px "DM Mono",monospace}
.source-remove-url{width:37px;height:42px}
.source-add-url{width:42px;height:34px;margin-top:10px}
.source-remove-url:hover,.source-add-url:hover{border-color:var(--aqua);background:#103133}
.brand-logo{width:58px;height:34px;object-fit:contain;background:#061718}
#devices table{min-width:1160px}
.device-record-details{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:17px}
.device-record-details span{min-width:0;padding:10px;border:1px solid var(--line);background:#092021}
.device-record-details small,.device-record-details b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-record-details small{color:#829b97;font:8px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.04em}
.device-record-details b{margin-top:5px;color:#dcefeb;font:10px "DM Mono",monospace}
@media(max-width:760px){.device-record-details{grid-template-columns:repeat(2,1fr)}.brand-logo{width:48px}}

/* Manage-device dialog: keep the existing dashboard layout, but use the screen efficiently. */
#device-dialog{width:min(1080px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;overflow:hidden}
#device-dialog .modal-card.wide{width:100%;max-height:calc(100dvh - 28px);padding:clamp(22px,3vw,38px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
#device-dialog .modal-head{align-items:center}
#device-dialog .modal-head>div:first-child{min-width:0}
#device-dialog .modal-actions{flex-wrap:wrap}
#device-dialog .modal-actions .button,#device-dialog .modal-actions .outline{flex:1 1 170px}
#device-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#device-dialog textarea,#device-dialog input,#device-dialog select{max-width:100%;box-sizing:border-box}
#device-dialog [hidden]{display:none!important}
.device-transfer{margin-top:24px;padding:18px;border:1px solid rgba(44,226,195,.23);background:#092021}
.device-transfer h3{margin:5px 0 0;font-size:18px;letter-spacing:-.04em}
.device-transfer p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.device-transfer .form-grid{margin-top:3px;align-items:end}
.transfer-action{padding-top:16px}
.transfer-action .outline{width:100%;min-height:42px}
@media(min-width:761px) and (max-width:1024px){#device-dialog{width:min(920px,calc(100vw - 36px))}}
@media(max-width:760px){#device-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}#device-dialog .modal-card.wide{max-height:calc(100dvh - 18px);padding:22px 17px}#device-dialog .form-grid{grid-template-columns:1fr}#device-dialog .modal-head{align-items:flex-start;flex-direction:column}#device-dialog .compact-actions{width:100%;flex-wrap:wrap}#device-dialog .compact-actions .outline{flex:1 1 145px;width:auto}#device-dialog .modal-actions:not(.compact-actions){flex-direction:column}#device-dialog .modal-actions:not(.compact-actions) .button,#device-dialog .modal-actions:not(.compact-actions) .outline{width:100%}#device-dialog .playlist-card{min-width:min(78vw,260px)}.source-options{grid-template-columns:1fr}.device-transfer{padding:15px}.transfer-action{padding-top:0}.source-url-row{grid-template-columns:minmax(0,1fr) 34px}.source-remove-url{width:34px}}

/* Dedicated admin access pages mirror the reseller workflow without exposing a device list first. */
.admin-access-form{max-width:760px}
.admin-access-form label{display:block;margin-top:16px;color:#c3d5d2;font-size:10px;font-weight:800}
.admin-access-form label small{color:#819895;font-size:9px;font-weight:500}
.admin-access-form input,.admin-access-form select{display:block;width:100%;height:43px;margin-top:7px;padding:10px 12px;border:1px solid var(--line);background:#071718;color:var(--ink);outline:0;font:12px "DM Mono",monospace}
.admin-access-form input:focus,.admin-access-form select:focus{border-color:var(--aqua)}
.admin-access-form .button{margin-top:22px}
.access-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.access-panel-head h3{margin:4px 0 0;font-size:22px;letter-spacing:-.055em}
.access-badge{padding:6px 8px;border:1px solid rgba(44,226,195,.42);color:var(--aqua);font:9px "DM Mono",monospace;letter-spacing:.08em}
.reseller-child-row td{background:rgba(13,48,49,.28)}
.reseller-tree{display:flex;align-items:flex-start;gap:9px;margin-left:calc((var(--reseller-tree-depth,1) - 1) * 18px)}
.reseller-tree .tree-branch{padding-top:1px;color:var(--aqua);font:15px "DM Mono",monospace}
.reseller-tree small{margin-top:4px}
@media(max-width:760px){.admin-access-form .form-grid{grid-template-columns:1fr}.access-panel-head{align-items:flex-start}.admin-access-form{padding:20px}.access-panel-head h3{font-size:19px}}
