:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:#f4f4f3}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}svg{display:block;flex:0 0 auto}.theme-light{--bg: #f4f4f3;--surface: #ffffff;--surface-raised: #fafafa;--text: #0a0a0a;--muted: #686868;--subtle: #8a8a8a;--border: #dededc;--border-strong: #b9b9b7;--hover: #f0f0ef;--active: #e9e9e7;--primary: #0a0a0a;--primary-text: #ffffff;--shadow: rgba(0, 0, 0, .16);--modal-backdrop: rgba(0, 0, 0, .52)}.theme-dark{color-scheme:dark;--bg: #080808;--surface: #121212;--surface-raised: #181818;--text: #f5f5f5;--muted: #a4a4a4;--subtle: #7c7c7c;--border: #303030;--border-strong: #555555;--hover: #1d1d1d;--active: #242424;--primary: #f5f5f5;--primary-text: #080808;--shadow: rgba(0, 0, 0, .44);--modal-backdrop: rgba(0, 0, 0, .68)}.admin-app{min-height:100vh;background:var(--bg);color:var(--text)}.admin-app:not(.loading-shell){--sidebar-width: 216px}.admin-app.sidebar-collapsed{--sidebar-width: 80px}.loading-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-width);height:100vh;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:16px;padding:14px 12px;transition:width .18s ease,transform .18s ease}.sidebar-brand{min-height:48px;display:flex;align-items:center;gap:10px}.brand-mark,.avatar{display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--border-strong);background:var(--primary);color:var(--primary-text);font-weight:900}.brand-mark{width:36px;height:36px;border-radius:8px;font-size:12px}.avatar{width:30px;height:30px;border-radius:50%;font-size:11px}.brand-copy,.profile-copy,.profile-dropdown-head div{min-width:0;display:grid;gap:2px}.brand-copy strong,.profile-copy strong,.profile-dropdown-head strong{color:var(--text);font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-copy span,.profile-copy small,.profile-dropdown-head span{color:var(--muted);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-collapse{margin-left:auto}.sidebar-nav{display:grid;gap:12px;min-height:0;overflow-y:auto;padding:2px 0}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:12px}.language-switcher,.auth-language-switcher{border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--muted);display:flex;align-items:center;gap:8px}.language-switcher{min-height:40px;padding:0 9px}.language-switcher span{min-width:0;color:var(--text);font-size:12px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-switcher select,.auth-language-switcher select{min-width:0;border:0;outline:none;background:transparent;color:var(--text);font:inherit}.language-switcher select{width:100%;font-size:12px;font-weight:760}.auth-language-switcher{height:38px;padding:0 9px}.auth-language-switcher select{width:112px;font-size:12px;font-weight:760}.nav-group{display:grid;gap:6px}.nav-group-trigger{width:100%;height:26px;border:0;border-radius:6px;background:transparent;color:var(--subtle);display:flex;align-items:center;gap:7px;padding:0 8px;font-size:11px;font-weight:800;text-transform:uppercase}.nav-group-trigger:hover{background:var(--hover);color:var(--text)}.nav-subitems{position:relative;display:grid;gap:4px;margin-left:9px;padding-left:9px}.nav-subitems:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--border)}.nav-item{width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:760;text-align:left}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--active);color:var(--text);font-weight:880}.nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-cue{margin-left:auto;color:var(--muted)}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-group-trigger,.sidebar-collapsed .nav-item span,.sidebar-collapsed .language-switcher span,.sidebar-collapsed .active-cue{display:none}.sidebar-collapsed .sidebar{align-items:center}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .sidebar-nav,.sidebar-collapsed .nav-group,.sidebar-collapsed .nav-subitems{width:100%}.sidebar-collapsed .sidebar-collapse{margin-left:0}.sidebar-collapsed .nav-subitems{margin-left:0;padding-left:0}.sidebar-collapsed .nav-subitems:before{display:none}.sidebar-collapsed .nav-item,.sidebar-collapsed .language-switcher{justify-content:center;padding:0}.sidebar-collapsed .language-switcher select{width:32px}.sidebar-overlay{display:none}.admin-workspace{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .18s ease}.top-header{position:sticky;top:0;z-index:20;min-height:64px;border-bottom:1px solid var(--border);background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px) minmax(0,1fr);align-items:center;gap:16px;padding:0 24px}.header-left,.header-actions,.profile-trigger,.auth-card-top,.auth-controls,.settings-card-header,.panel-header,.toolbar,.modal-header,.modal-actions{display:flex;align-items:center}.header-left{min-width:0;gap:12px}.header-title{min-width:0}.header-title h1{margin:0;color:var(--text);font-size:18px;line-height:1.15}.header-title p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{justify-content:flex-end;min-width:0;gap:8px}.header-search,.search-field{height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--muted);display:flex;align-items:center;gap:8px;padding:0 10px}.header-search{width:100%;min-width:0}.search-field{min-width:min(100%,320px)}.header-search input,.search-field input,.toolbar select,.status-filter,.auth-card input,.settings-card input,.modal-grid input,.modal-grid select{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font-size:13px}.header-search input::placeholder,.search-field input::placeholder,.auth-card input::placeholder,.modal-grid input::placeholder{color:var(--subtle)}.icon-button{width:38px;height:38px;min-width:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--muted);display:inline-grid;place-items:center;padding:0}.icon-button:hover{background:var(--hover);color:var(--text)}.profile-menu{position:relative}.profile-trigger{height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);gap:8px;padding:0 9px}.profile-trigger:hover{background:var(--hover)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:260px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 50px var(--shadow);padding:8px}.profile-dropdown-head{border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:10px}.profile-dropdown button{width:100%;height:38px;border:0;border-radius:8px;background:transparent;color:var(--text);display:flex;align-items:center;gap:9px;padding:0 10px;font-size:13px;font-weight:760}.profile-dropdown button:hover{background:var(--hover)}.admin-main{padding:24px}.admin-content{width:min(100%,1240px)}.page-stack{display:grid;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card,.panel,.settings-card,.add-user-modal,.auth-card,.auth-intro{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.stat-card{position:relative;min-height:126px;padding:16px;display:block}.stat-card>div{min-width:0;max-width:calc(100% - 50px)}.stat-icon{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);display:grid;place-items:center}.stat-icon svg{width:18px;height:18px}.stat-card small,.compact-signal-grid small,.panel-header span{display:block;color:var(--muted);font-size:11px;font-weight:850;line-height:1.2;text-transform:uppercase}.stat-card strong{display:block;margin-top:9px;color:var(--text);font-size:28px;line-height:1}.stat-card span:not(.stat-icon),.compact-signal-grid span{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35}.tone-success .stat-icon,.tone-warning .stat-icon,.tone-danger .stat-icon{background:var(--active)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.panel{min-width:0;padding:16px}.panel-wide{min-height:260px}.dashboard-grid .panel-wide:last-child{grid-column:1 / -1;min-height:0}.panel-header{justify-content:space-between;gap:14px;margin-bottom:16px}.panel-header h2,.settings-card h2,.auth-title h2{margin:4px 0 0;color:var(--text);font-size:16px;line-height:1.2}.panel-header>svg,.settings-card-header>svg{color:var(--muted)}.segmented-control{height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);display:inline-flex;align-items:center;padding:3px}.segmented-control button{height:26px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 10px;font-size:12px;font-weight:780}.segmented-control button.active{background:var(--primary);color:var(--primary-text)}.bar-chart{display:grid;gap:18px;padding-top:8px}.chart-row{display:grid;grid-template-columns:88px minmax(0,1fr) 58px;align-items:center;gap:12px}.chart-row>span,.chart-row strong{color:var(--muted);font-size:12px;font-weight:850}.chart-row strong{color:var(--text);text-align:right}.chart-track{height:10px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised)}.chart-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.activity-list{display:grid;gap:10px}.activity-row{min-height:54px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);display:flex;align-items:center;gap:10px;padding:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text)}.activity-row strong,.person-cell strong{display:block;color:var(--text);font-size:13px;line-height:1.2}.activity-row small,.person-cell small,.period small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.25}.compact-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-signal-grid>div{min-height:112px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);padding:14px}.compact-signal-grid strong{display:block;margin-top:10px;color:var(--text);font-size:24px;line-height:1}.toolbar{justify-content:space-between;gap:10px;margin-bottom:12px}.toolbar-count{min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--muted);display:inline-flex;align-items:center;padding:0 12px;font-size:12px;font-weight:850}.toolbar select{width:152px;height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);padding:0 10px}.table-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.status-filter{width:152px;height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);padding:0 10px}.table-panel-header{align-items:flex-start}.table{overflow:hidden}.table-head,.table-row{display:grid;align-items:center;gap:14px}.users-table .table-head,.users-table .table-row{grid-template-columns:minmax(220px,1.35fr) minmax(120px,.8fr) 100px minmax(160px,1fr) 132px}.admin-table .table-head,.admin-table .table-row{grid-template-columns:minmax(220px,1.35fr) minmax(120px,.8fr) 112px 98px 100px}.table-head{min-height:40px;border:1px solid var(--border);border-radius:8px 8px 0 0;background:var(--surface-raised);color:var(--muted);padding:0 14px;font-size:11px;font-weight:850;text-transform:uppercase}.table-row{min-height:64px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);padding:12px 14px}.table-row:last-child{border-radius:0 0 8px 8px}.table-row:hover{background:var(--surface-raised)}.table-empty{border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;color:var(--muted);font-size:13px;font-weight:780;padding:20px 14px}.person-cell{min-width:0;display:flex;align-items:center;gap:10px}.person-cell>div{min-width:0}.person-cell strong,.person-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period{color:var(--text);font-size:13px;font-weight:780}.badge,.role-badge{width:max-content;max-width:100%;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text);display:inline-flex;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:850;line-height:1;text-transform:uppercase}.badge:before{content:"";width:6px;height:6px;border:1px solid var(--text);border-radius:50%;background:transparent}.badge.disabled,.badge.expired,.role-badge.superadmin{background:var(--active)}.actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.actions button{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);display:grid;place-items:center;padding:0}.actions button:hover{background:var(--hover)}.actions .table-status-toggle{width:46px;height:30px;border:0;border-radius:999px;background:transparent;display:flex;align-items:center;justify-content:center;padding:0}.actions .table-status-toggle:hover{background:transparent}.toggle-track{width:44px;height:26px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);display:flex;align-items:center;padding:3px}.toggle-track span{width:18px;height:18px;border-radius:999px;background:var(--muted);transition:transform .16s ease,background .16s ease}.actions .table-status-toggle.on .toggle-track span,.toggle-field input:checked+.toggle-track span{background:var(--primary);transform:translate(14px)}.actions svg{width:16px;height:16px}.pagination-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.pagination-bar span{color:var(--muted);font-size:12px;font-weight:850}.notice{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:760;padding:12px 14px}.notice.error{border-style:dashed;color:var(--text)}.notice.success{background:var(--surface-raised);color:var(--text)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{display:grid;gap:16px;padding:16px}.settings-card-header{justify-content:space-between;align-items:flex-start;gap:14px}.settings-card-header p,.auth-title p,.auth-intro-copy p,.modal-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.form-grid,.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-card label,.auth-card label,.modal-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:850}.settings-card input,.auth-card input,.modal-grid input,.modal-grid select{height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);padding:0 11px}.toggle-field{position:relative;grid-template-columns:1fr auto auto;align-items:center;column-gap:10px}.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-field strong{color:var(--text);font-size:13px;line-height:1}.settings-card input:focus,.auth-card input:focus,.modal-grid input:focus,.modal-grid select:focus,.search-field:focus-within,.header-search:focus-within,.language-switcher:focus-within,.auth-language-switcher:focus-within,.toolbar select:focus,.status-filter:focus,.toggle-field:focus-within .toggle-track{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--active)}.modal-wide{grid-column:1 / -1}.form-submit{justify-self:start}.primary-action,.secondary-action{min-height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-size:13px;font-weight:850}.primary-action{border:1px solid var(--primary);background:var(--primary);color:var(--primary-text)}.primary-action:hover{opacity:.88}.secondary-action{border:1px solid var(--border);background:var(--surface-raised);color:var(--text)}.secondary-action:hover{background:var(--hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--modal-backdrop);padding:16px}.add-user-modal{width:min(100%,620px);max-height:min(88vh,760px);overflow-y:auto;box-shadow:0 24px 80px var(--shadow);padding:18px}.modal-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.modal-header h2{margin:0;color:var(--text);font-size:17px;line-height:1.2}.modal-actions{justify-content:flex-end;gap:9px;margin-top:16px}.auth-screen{min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text);padding:18px}.auth-layout{width:min(100%,920px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:16px}.auth-intro,.auth-card{min-height:420px;padding:22px}.auth-intro{display:flex;flex-direction:column;justify-content:space-between}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand strong{display:block;font-size:14px}.auth-brand span:not(.brand-mark){color:var(--muted);display:block;font-size:12px;margin-top:2px}.auth-intro-copy h1{max-width:360px;margin:0;color:var(--text);font-size:34px;line-height:1.05}.auth-intro-copy p{max-width:420px}.auth-checklist{display:grid;gap:8px}.auth-checklist div{min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--text);font-size:13px;font-weight:780}.auth-card{display:grid;align-content:center;gap:14px;box-shadow:0 18px 52px var(--shadow)}.auth-card-top{justify-content:space-between}.auth-controls{gap:8px}.auth-mark{width:42px;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);display:grid;place-items:center}.auth-title h2{font-size:20px}.auth-submit{width:100%}.empty-state{min-height:260px;border:1px dashed var(--border);border-radius:8px;background:var(--surface);color:var(--muted);display:grid;place-items:center;align-content:center;gap:12px;padding:20px;text-align:center}.empty-state h2{margin:0;color:var(--text);font-size:18px}@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.settings-grid{grid-template-columns:1fr}}@media(max-width:900px){.admin-app:not(.loading-shell),.admin-app.sidebar-collapsed{--sidebar-width: 216px}.sidebar{transform:translate(-100%)}.mobile-sidebar-open .sidebar{transform:translate(0)}.admin-workspace{margin-left:0}.sidebar-collapse{display:none}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:none;border:0;background:var(--modal-backdrop)}.mobile-sidebar-open .sidebar-overlay{display:block}.top-header{grid-template-columns:minmax(0,1fr) minmax(180px,280px) auto;padding:0 16px}}@media(max-width:720px){.top-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:12px;padding-bottom:12px}.header-search{grid-column:1 / -1;grid-row:2;margin-bottom:10px}.header-title p,.profile-copy{display:none}.header-actions{gap:6px}.admin-main{padding:16px}.stats-grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity}.stat-card{min-width:214px;scroll-snap-align:start}.compact-signal-grid,.form-grid,.modal-grid{grid-template-columns:1fr}.modal-wide{grid-column:auto}.toolbar,.table-panel-header,.modal-actions,.table-header-actions,.pagination-bar{align-items:stretch;flex-direction:column}.table-panel-header .primary-action,.pagination-bar .secondary-action,.table-header-actions,.status-filter,.toolbar select,.search-field,.form-submit,.modal-actions .primary-action,.modal-actions .secondary-action{width:100%}.table-head{display:none}.table{display:grid;gap:10px}.users-table .table-row,.admin-table .table-row{grid-template-columns:1fr}.table-row{min-height:0;border:1px solid var(--border);border-radius:8px;gap:11px}.table-row:last-child{border-radius:8px}.table-row>[data-label]{display:flex;align-items:center;justify-content:space-between;gap:14px}.table-row>[data-label]:before{content:attr(data-label);flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.person-cell{align-items:flex-start}.person-cell:before{padding-top:8px}.person-cell>.avatar{margin-left:auto}.actions{justify-content:flex-end}.table-empty{border:1px solid var(--border);border-radius:8px}.auth-layout{grid-template-columns:1fr}.auth-intro,.auth-card{min-height:auto}.auth-intro-copy h1{font-size:28px}}@media(max-width:460px){.profile-trigger{padding:0 7px}.auth-screen{padding:12px}.auth-intro,.auth-card,.panel,.settings-card{padding:14px}}
