/* Desktop administration: shared visual and interaction layer. */
.admin-shell{--bg:#f3f6fb;--surface:#fff;--soft:#f6f8fc;--border:#e2e8f0;--text:#192b43;--secondary:#6b7c91;--selected:#e3f4f8;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.6}
[data-theme=dark] .admin-shell{--bg:#0e1929;--surface:#152338;--soft:#1b2d44;--border:#2a3d55;--text:#e3edf8;--secondary:#9cadc3;--selected:#193e52}
.admin-shell #admin-sidebar{background:linear-gradient(165deg,#142e49,#0c1b30)!important;--text:#e8f1fa;--secondary:#9bb0c7;--hover:#203b55;--selected:#184e62;border:0;box-shadow:5px 0 24px #10243a0c;padding-top:30px}
.admin-shell .sidebar-brand{color:#fff!important;margin-bottom:20px}.admin-shell .sidebar-brand small{color:#9bb0c7!important}.admin-shell #tabs button{min-height:41px;border-radius:8px;margin-bottom:3px;transition:background .15s,color .15s}
.admin-shell #tabs button.active{background:#164d63!important;color:#8decf2!important;box-shadow:inset 3px 0 #34ccda!important}
.admin-shell #tabs .nav-group{color:#c1d0e2!important;letter-spacing:.2px;min-height:40px;font-size:13px;margin-top:18px}.admin-shell .sidebar-footer{color:#8ea5bf!important;border-color:#2b4058}
.admin-shell .admin-topbar{height:70px;background:var(--surface)!important;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px}
.admin-shell #identity{font-size:12px!important;margin:0;padding:7px 13px;background:var(--soft);border-radius:20px}.admin-shell .admin-breadcrumb{font-size:13px;color:var(--secondary)!important}
.admin-shell main{padding:30px 34px!important}.admin-shell .heading{margin-bottom:25px;align-items:center}.admin-shell .heading small{display:none}.admin-shell h1{font-size:27px;letter-spacing:-.7px;margin:0 0 7px}.admin-description{margin:0;font-size:13px}
.admin-shell .panel{background:var(--surface)!important;border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 16px #142e4905;padding:24px;margin-top:22px}.admin-shell .panel h2{font-size:18px}.admin-shell .panel h3{font-size:16px;margin-top:26px}
.admin-shell .metric{background:var(--surface)!important;border:1px solid var(--border);border-radius:12px;box-shadow:none;padding:20px 24px;border-top:3px solid #28aabd}.admin-shell .metric strong{font-size:30px;letter-spacing:-1px;margin-top:5px;display:block}.admin-shell .metric span{font-size:12px;color:var(--secondary)}
.admin-shell button{border-radius:8px;min-height:36px;padding:7px 14px;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s}.admin-shell button:disabled{cursor:not-allowed;opacity:.5}.admin-shell button.primary,.admin-shell form>button[type=submit],.admin-shell #user-search button,.admin-shell #create-user{background:#087f94!important;color:#fff!important;border-color:#087f94!important}.admin-shell button:hover:not(:disabled){filter:brightness(.96)}
.admin-shell input,.admin-shell select,.admin-shell textarea{border:1px solid var(--border)!important;border-radius:8px!important;min-height:39px;padding:9px 12px!important;background:var(--surface)!important;color:var(--text)!important;font:inherit;font-size:13px;max-width:100%}.admin-shell input[type=checkbox]{min-height:0;width:16px;height:16px;accent-color:#07899c}.admin-shell :is(button,input,select,textarea,a):focus-visible{outline:3px solid #25b7cf66;outline-offset:2px}
.admin-shell label{font-size:13px}.admin-shell fieldset{border:1px solid var(--border);border-radius:10px;padding:22px;margin:18px 0;background:var(--surface)}.admin-shell legend{font-size:15px;font-weight:650;padding:0 8px}.admin-shell fieldset>label:not(.check){display:flex;flex-direction:column;gap:7px;margin:16px 0;max-width:760px}.admin-shell .check{display:flex;align-items:center;gap:10px;margin:14px 0}.admin-shell fieldset>p{font-size:12px;margin:0 0 18px}
.admin-shell .table-wrap{border:1px solid var(--border);border-radius:10px;overflow:auto}.admin-shell table{font-size:12px;width:100%;border-collapse:collapse;white-space:nowrap}.admin-shell th{background:var(--soft)!important;color:var(--secondary)!important;font-size:11px;font-weight:600;position:sticky;top:0;padding:13px 16px}.admin-shell td{padding:15px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-shell tbody tr:hover,.admin-shell table tr:not(:first-child):hover{background:var(--soft)}.admin-shell td button{font-size:12px;min-height:30px;padding:4px 9px;margin:2px}.admin-shell .pager{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:20px;font-size:12px}
.admin-shell #notice:empty{display:none}.admin-shell #notice:not(:empty){padding:12px 16px;background:var(--selected);border:1px solid #1ca0b344;border-radius:8px;margin-bottom:18px;color:var(--text)!important}.admin-shell .empty-state{padding:58px 24px;text-align:center;border:1px dashed var(--border);border-radius:10px;color:var(--secondary)}
.admin-shell dialog{border:1px solid var(--border);border-radius:16px;padding:28px;width:480px;max-width:80vw;background:var(--surface);color:var(--text);box-shadow:0 30px 90px #07172744}.admin-shell dialog::backdrop{background:#0b1e3566;backdrop-filter:blur(3px)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.admin-shell .unsaved-note{color:#ae6806!important;font-size:12px;margin:8px 0}
.admin-shell #user-table table{table-layout:fixed;min-width:0!important;width:100%!important;white-space:normal}.admin-shell #user-table th,.admin-shell #user-table td{padding:14px 10px;overflow-wrap:anywhere}.admin-shell #user-table :is(th,td):first-child{width:23%}.admin-shell #user-table :is(th,td):nth-child(2){width:8%}.admin-shell #user-table :is(th,td):nth-child(3){width:10%}.admin-shell #user-table :is(th,td):nth-child(4){width:11%}.admin-shell #user-table :is(th,td):nth-child(5){width:11%}.admin-shell #user-table :is(th,td):nth-child(6){width:13%}.admin-shell #user-table :is(th,td):last-child{width:24%}.admin-shell dialog h2{overflow-wrap:anywhere;font-size:18px}.admin-shell dialog dl{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;font-size:13px}.admin-shell dialog dt{color:var(--secondary)}.admin-shell dialog dd{margin:0;overflow-wrap:anywhere}
/* Collapsible desktop navigation and distinct menu icons. */
.admin-shell #sidebar-collapse{display:flex;align-items:center;gap:12px;min-height:38px;width:100%;padding:8px 14px;border:1px solid #38516a;background:#ffffff06;color:#b4c9dd;border-radius:8px;margin:0 0 14px;font-size:12px}
#sidebar-collapse svg{width:19px;height:19px;flex:none}.admin-shell #tabs button.nav-group{border-top:1px solid #38516a;border-radius:0;padding-top:18px;margin-top:15px;min-height:52px}.admin-shell #tabs button[data-menu-group]{border-bottom:1px solid #9bb0c71a}.admin-shell #tabs .menu-label{min-width:0}.admin-shell.sidebar-collapsed{--nav-width:76px}.admin-shell.sidebar-collapsed #admin-sidebar{padding-left:10px;padding-right:10px}.sidebar-collapsed .sidebar-brand{padding:0 8px 14px!important;gap:0!important;overflow:hidden}.sidebar-collapsed .sidebar-brand>:not(.brand-mark){display:none}.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .menu-label{display:none}.admin-shell.sidebar-collapsed #tabs button,.admin-shell.sidebar-collapsed #sidebar-collapse{justify-content:center;padding-left:0;padding-right:0;gap:0}.sidebar-collapsed #tabs button.nav-group::after{display:none}.sidebar-collapsed #sidebar-collapse svg{transform:rotate(180deg)}
/* Refined navigation: quiet surface, compact hierarchy, restrained separators. */
.admin-shell #admin-sidebar{background:#fff!important;--text:#21364e;--secondary:#75859a;--hover:#f1f6fa;--selected:#e8f7f9;border-right:1px solid #e3eaf1;padding-top:27px;box-shadow:none}
.admin-shell .sidebar-brand{padding:0 10px 25px;gap:10px;margin:0 30px 14px 0;color:#17334f!important;font-size:19px;font-weight:700;letter-spacing:-.5px}.admin-shell .sidebar-brand .brand-mark{width:33px;height:33px;border-radius:10px;background:#e7f6f8;color:#098d9d;font-size:23px}.admin-shell .sidebar-brand small{color:#91a0b1!important;font-size:10px;letter-spacing:1px;margin-top:2px}
.admin-shell #sidebar-collapse{position:absolute;right:15px;top:29px;width:29px;height:29px;min-height:29px;padding:5px;justify-content:center;background:transparent;color:#8192a6;border:0;margin:0;border-radius:7px}.admin-shell #sidebar-collapse .menu-label{display:none}.admin-shell #sidebar-collapse:hover{background:#edf4f8}
.admin-shell #tabs{gap:3px}.admin-shell #tabs button{color:#728298;font-size:13px;border-radius:7px;min-height:39px;margin:0;line-height:1.5}.admin-shell #tabs button svg{width:18px;height:18px;stroke-width:1.65}.admin-shell #tabs button.nav-group{padding:15px 11px 10px;min-height:46px;margin:13px 0 3px;border-top:1px solid #e8edf3;color:#2c435d!important;font-size:13px;font-weight:650;border-radius:0}.admin-shell #tabs button.nav-group:first-child{border-top:0;margin-top:0;padding-top:6px}.admin-shell #tabs button.nav-group svg{color:#5f809d}.admin-shell #tabs button.nav-group::after{width:5px;height:5px;color:#92a2b4;margin-right:3px}.admin-shell #tabs button[data-menu-group]{padding:9px 12px 9px 22px;border-bottom:0;gap:12px;font-size:12px;font-weight:400}.admin-shell #tabs button[data-menu-group]:hover{background:#f2f7fa;color:#26465d}.admin-shell #tabs button.active{background:#e9f7f9!important;color:#087f91!important;box-shadow:inset 2px 0 #19aaba!important;font-weight:600}.admin-shell #tabs button.active svg{color:#0994a6}.admin-shell .sidebar-footer{border-color:#e8edf3;color:#99a7b7!important;font-size:10px;padding-top:17px;margin-top:24px}
.admin-shell.sidebar-collapsed #admin-sidebar{padding-top:23px}.admin-shell.sidebar-collapsed .sidebar-brand{margin:0!important;padding:0 11px 19px!important}.admin-shell.sidebar-collapsed #sidebar-collapse{position:static;width:100%;margin:0 0 13px;min-height:30px}.admin-shell.sidebar-collapsed #tabs button.nav-group{padding:15px 0 10px}.admin-shell.sidebar-collapsed #tabs button[data-menu-group]{padding:9px 0}.admin-shell.sidebar-collapsed #tabs button.nav-group:first-child{padding-top:6px}
[data-theme=dark] .admin-shell #admin-sidebar{background:#122237!important;--text:#d8e5f5;--secondary:#91a4bc;--hover:#1d334c;border-color:#263a53}[data-theme=dark] .admin-shell .sidebar-brand{color:#e4eefb!important}[data-theme=dark] .admin-shell .sidebar-brand .brand-mark{background:#1b3b50;color:#67d6df}[data-theme=dark] .admin-shell #tabs button.nav-group{color:#bfd1e7!important;border-color:#293d55}[data-theme=dark] .admin-shell #tabs button.active{background:#1b4053!important;color:#8ce5eb!important}[data-theme=dark] .admin-shell #tabs button[data-menu-group]:hover{background:#1c334a;color:#e5f1fc}[data-theme=dark] .admin-shell .sidebar-footer{border-color:#293d55}
.device-security-card{max-width:700px;border-top:1px solid var(--border);padding-top:14px;margin-top:12px}.device-security-card>p{font-size:12px;line-height:1.8;max-width:600px}.device-switch-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:13px}.admin-shell #device-lock-toggle{position:relative;min-height:24px;width:42px;height:24px;border:0;padding:0;border-radius:20px;background:#c4ceda!important;box-shadow:none}.admin-shell #device-lock-toggle:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;background:white;border-radius:50%;box-shadow:0 1px 3px #0e203c33;transition:transform .15s}.admin-shell #device-lock-toggle[aria-checked=true]{background:#0991a4!important}.admin-shell #device-lock-toggle[aria-checked=true]:after{transform:translateX(18px)}
