@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f7fb;background:#0a0f18;font-synthesis:none;--bg: #0a0f18;--sidebar: #0c131f;--surface: #111a28;--surface-raised: #162132;--surface-hover: #1b293d;--border: #24334a;--border-strong: #344963;--text: #f4f7fb;--text-secondary: #aebcd0;--text-muted: #8494ab;--primary: #33b6ff;--primary-dark: #087db9;--primary-soft: #12324a;--success: #4ade9a;--success-soft: #12372e;--warning: #f4bd5b;--warning-soft: #3c2d17;--danger: #ff747d;--danger-soft: #411e27;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-lg: 0 24px 60px rgb(0 0 0 / 30%)}*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100svh;background:radial-gradient(circle at 70% -20%,#132a42 0,transparent 32%),var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,p{margin-block-start:0}h1,h2,h3,.brand strong{font-family:Space Grotesk,Manrope,sans-serif}h1{margin-block-end:8px;font-size:clamp(1.75rem,1.45rem + 1.1vw,2.35rem);line-height:1.15;letter-spacing:-.035em}h2{margin-block-end:4px;font-size:1.05rem;line-height:1.25}h3{font-size:1rem}svg{width:20px;height:20px;stroke-width:1.8;flex:0 0 auto}code{color:#b7dfff;font-family:Cascadia Code,Consolas,monospace;font-size:.82rem}input,select{min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:#0c1420;color:var(--text);padding:10px 12px;outline:none}input::placeholder{color:#71829a}input:hover,select:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px #33b6ff2e}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}:target,:focus{scroll-margin-block:80px}.sr-only,.live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;inset-block-start:-80px;inset-inline-start:16px;z-index:1000;padding:12px 16px;border-radius:var(--radius-md);background:var(--primary);color:#00131e;font-weight:700;text-decoration:none}.skip-link:focus{inset-block-start:16px}.app-shell{min-height:100svh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;display:flex;width:248px;flex-direction:column;border-inline-end:1px solid var(--border);background:#0c131ff5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;min-height:88px;align-items:center;gap:12px;padding:16px 24px;border-block-end:1px solid var(--border)}.brand-mark,.login-brand>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #299fdc;border-radius:12px;background:linear-gradient(145deg,#133c59,#0b2235);color:var(--primary);box-shadow:inset 0 1px #ffffff17,0 10px 24px #0003}.brand strong{display:block;font-size:1.15rem;letter-spacing:-.03em}.brand small{display:block;margin-block-start:2px;color:var(--primary);font-size:.55rem;font-weight:700;letter-spacing:.26em}.sidebar nav{flex:1;overflow-y:auto;padding:20px 12px}.nav-section{margin-block-end:24px}.nav-section>p{margin:0 12px 8px;color:#6f829d;font-size:.62rem;font-weight:700;letter-spacing:.14em}.nav-section ul{margin:0;padding:0;list-style:none}.nav-section a{display:flex;min-height:44px;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.84rem;font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease}.nav-section a:hover{background:var(--surface-hover);color:var(--text)}.nav-section a.active{background:linear-gradient(90deg,#17354c,#102b42);color:#70caff;box-shadow:inset 2px 0 var(--primary)}.nav-section a svg{width:18px;height:18px}.sidebar-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px;border-block-start:1px solid var(--border)}.avatar{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:700}.user-meta{min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:.76rem}.user-meta small{color:var(--text-muted);font-size:.65rem}.icon-button{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary)}.icon-button:hover{background:var(--surface-hover);color:var(--text)}.mobile-header{display:none}.main-content{width:calc(100% - 248px);min-height:100svh;margin-inline-start:248px;padding:clamp(20px,3vw,40px);outline:none}.main-content>*{max-width:1500px;margin-inline:auto}.breadcrumb{display:flex;align-items:center;gap:6px;margin-block-end:16px;color:var(--text-muted);font-size:.72rem}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--primary)}.breadcrumb svg{width:13px;height:13px}.page-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-block-end:24px}.page-header>div:first-child{max-width:68ch}.page-header p:not(.eyebrow){margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.6}.eyebrow{margin-block-end:8px;color:var(--primary);font-size:.64rem;font-weight:700;letter-spacing:.18em}.page-actions,.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);padding:9px 15px;color:var(--text);font-size:.78rem;font-weight:700;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .1s ease}.button:active{transform:translateY(1px)}.button svg{width:17px;height:17px}.button.primary{border-color:#46bfff;background:linear-gradient(145deg,#28a9ed,#108ac8);color:#03121c;box-shadow:0 8px 20px #0b8ecd38}.button.primary:hover{background:linear-gradient(145deg,#57c6ff,#19a2e6)}.button.secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text-secondary)}.button.secondary:hover{border-color:#496582;background:var(--surface-raised);color:var(--text)}.button.danger{border-color:#ff8f96;background:#c84350;color:#fff}.button.danger-quiet{border-color:#6b3340;background:var(--danger-soft);color:#ff9ca3}.warning-banner,.danger-banner{display:flex;min-height:56px;align-items:center;gap:12px;margin-block-end:24px;border:1px solid #1d617f;border-radius:var(--radius-md);background:linear-gradient(90deg,#10293d,#101e2e);padding:10px 16px;color:#9bdfff}.warning-banner>span,.danger-banner>span{flex:1}.warning-banner strong,.warning-banner small,.danger-banner strong,.danger-banner small{display:block}.warning-banner strong,.danger-banner strong{color:var(--text);font-size:.78rem}.warning-banner small,.danger-banner small{margin-block-start:2px;color:var(--text-secondary);font-size:.68rem}.warning-banner{border-color:#6a5527;background:linear-gradient(90deg,#352b17,#1f1d18);color:var(--warning)}.danger-banner{border-color:#73333d;background:linear-gradient(90deg,#3a1d25,#231820);color:var(--danger)}.metrics-grid,.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block-end:24px}.metric-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-raised),var(--surface));padding:18px}.metric-card:after{position:absolute;inset:auto -25px -35px auto;width:90px;height:90px;border-radius:50%;background:#33b6ff0a;content:""}.metric-card>p{margin:14px 0 3px;color:var(--text-secondary);font-size:.72rem}.metric-card>strong{display:block;margin-block-end:5px;font-family:Space Grotesk;font-size:clamp(1.55rem,1.2rem + 1vw,2rem);letter-spacing:-.04em}.metric-card>small{color:var(--text-muted);font-size:.64rem}.metric-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:var(--primary-soft);color:var(--primary)}.metric-icon.green{background:var(--success-soft);color:var(--success)}.metric-icon.amber{background:var(--warning-soft);color:var(--warning)}.metric-icon.red{background:var(--danger-soft);color:var(--danger)}.panel{container-type:inline-size;margin-block-end:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(155deg,#162132eb,#0f1825f5);box-shadow:0 1px 1px #ffffff05}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-block-end:1px solid var(--border)}.panel>header h2{margin:0}.panel>header p{margin:4px 0 0;color:var(--text-muted);font-size:.68rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:24px}.access-chart{height:280px;margin:0;padding:28px 24px 20px;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),var(--border) 25%)}.chart-bars{display:flex;height:100%;align-items:end;justify-content:space-around;gap:12px}.bar-column{display:grid;width:min(54px,10%);height:100%;grid-template-rows:24px 1fr 24px;align-items:end;justify-items:center}.bar{width:100%;min-height:4px;border-radius:5px 5px 2px 2px;background:linear-gradient(to top,#1287c1,#48c2ff);box-shadow:0 0 20px #33b6ff1f}.bar-column:last-child .bar{background:linear-gradient(to top,#1ca66f,#52e8a1)}.bar-value,.bar-column small{color:var(--text-muted);font-size:.64rem}.bar-column:last-child .bar-value{color:var(--success);font-weight:700}.inactivity-stack{display:grid;gap:20px;padding:24px}.inactivity-metric{display:grid;grid-template-columns:1fr auto;gap:8px}.inactivity-metric strong,.inactivity-metric span{display:block}.inactivity-metric strong{font-size:.75rem}.inactivity-metric span{margin-block-start:3px;color:var(--text-muted);font-size:.65rem}.inactivity-metric b{color:var(--text-secondary);font-size:.72rem}.progress{grid-column:1 / -1;overflow:hidden;height:6px;border-radius:999px;background:#09111b}.progress span,.progress i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.progress span.amber{background:var(--warning)}.progress span.red{background:var(--danger)}.panel-link{display:block;padding:14px 24px;border-block-start:1px solid var(--border);color:var(--primary);font-size:.7rem;font-weight:700;text-decoration:none}.status{display:inline-flex;min-height:24px;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:3px 8px;color:var(--text-secondary);font-size:.62rem;font-weight:700;white-space:nowrap}.status>span{width:6px;height:6px;border-radius:50%;background:currentColor}.status.success{border-color:#235d49;background:#113128;color:#6de5ac}.status.danger{border-color:#713540;background:#361a22;color:#ff9aa1}.status.warning{border-color:#685226;background:#322816;color:#f4c96f}.status.info{border-color:#235a76;background:#112c40;color:#79d2ff}.status.neutral{background:#172131}.toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px;border-block-end:1px solid var(--border)}.search-field{position:relative;display:flex;min-width:min(340px,100%);flex:1}.search-field svg{position:absolute;inset-block-start:12px;inset-inline-start:12px;width:18px;color:var(--text-muted);pointer-events:none}.search-field input{width:100%;padding-inline-start:40px}.select-field{display:grid;gap:5px;color:var(--text-muted);font-size:.62rem;font-weight:600}.select-field select,.select-field input{min-width:140px}.table-wrap{max-width:100%;overflow-x:auto;outline:none}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:13px 20px;border-block-end:1px solid var(--border);text-align:start;vertical-align:middle}th{color:#8498b2;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}td{color:var(--text-secondary);font-size:.72rem}td strong{color:var(--text);font-weight:600}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#1d2c4173}tbody tr:last-child td{border-block-end:0}.cell-subtitle{display:block;margin-block-start:3px;color:var(--text-muted);font-size:.62rem}.muted{color:var(--text-muted);font-size:.66rem}.empty-state,.result-state{display:grid;justify-items:center;padding:48px 24px;text-align:center}.empty-state>svg,.result-state>svg{width:42px;height:42px;margin-block-end:16px;color:var(--primary)}.empty-state p,.result-state p{max-width:58ch;color:var(--text-muted);font-size:.75rem;line-height:1.65}.error-notice{display:flex;gap:10px;border:1px solid #763640;border-radius:var(--radius-md);background:var(--danger-soft);padding:12px;color:var(--danger)}.error-notice strong{color:#ffdce0;font-size:.72rem}.error-notice p{margin:4px 0;color:#e5aab0;font-size:.66rem}.error-notice code{color:#ffabb1}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:24px}.downloads-page h1{margin:0 0 24px}.downloads-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.download-card{display:flex;min-width:0;min-height:180px;flex-direction:column;align-items:stretch;justify-content:space-between;gap:32px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(155deg,#162132eb,#0f1825f5);padding:24px;box-shadow:0 1px 1px #ffffff05}.download-card h2{margin:0}.download-card .button{width:100%;white-space:normal;text-align:center}.downloads-error{margin:16px 0 0;color:#ff9ca3;font-size:.78rem}.device-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-raised),var(--surface))}.device-card>header{display:flex;align-items:center;gap:12px;padding:20px;border-block-end:1px solid var(--border)}.device-card>header>div{flex:1}.device-card h2{margin:0 0 3px}.device-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:var(--primary-soft);color:var(--primary)}.device-card dl,.about-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:20px;gap:18px}dt{margin-block-end:4px;color:var(--text-muted);font-size:.62rem}dd{margin:0;color:var(--text);font-size:.75rem;font-weight:600}.capacity{padding:0 20px 20px}.capacity>span{display:flex;justify-content:space-between;margin-block-end:8px;color:var(--text-secondary);font-size:.66rem}.device-card footer{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;border-block-start:1px solid var(--border)}.form-grid,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.form-grid label,.mapping-grid label,.login-form label,.confirmation-box label{display:grid;gap:7px;color:var(--text-secondary);font-size:.68rem;font-weight:600}.form-actions{grid-column:1 / -1;padding:16px 20px;border-block-start:1px solid var(--border)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px;margin:0 auto 24px}.steps span{position:relative;display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.65rem;font-weight:600}.steps span:not(:last-child):after{height:1px;flex:1;margin-inline:8px;background:var(--border);content:""}.steps b{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%}.steps .active{color:var(--primary)}.steps .active b{border-color:var(--primary);background:var(--primary-soft)}.upload-zone{position:relative;display:grid;justify-items:center;margin:24px;border:1px dashed #3b5571;border-radius:var(--radius-lg);background:#0d1724;padding:48px 24px;text-align:center;cursor:pointer}.upload-zone:hover{border-color:var(--primary);background:#102034}.upload-zone>svg{width:40px;height:40px;margin-block-end:12px;color:var(--primary)}.upload-zone strong{font-size:.85rem}.upload-zone span{margin-block-start:6px;color:var(--text-muted);font-size:.68rem}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.summary-row{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;border-block-start:1px solid var(--border)}.preview-grid{grid-template-columns:repeat(3,1fr);padding:20px;margin:0}.validation-list{display:grid;gap:10px;margin:0;padding:0 20px 20px;list-style:none;color:var(--text-secondary);font-size:.72rem}.validation-list li{display:flex;align-items:center;gap:8px}.validation-list svg{color:var(--success)}.validation-list li:last-child svg{color:var(--danger)}.confirmation-box{display:grid;gap:16px;max-width:520px;padding:24px}.confirmation-box>code{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:#09111a;padding:16px;text-align:center;color:var(--danger);font-size:.85rem;font-weight:700}.confirmation-box small{color:var(--text-muted);font-size:.65rem}.cleanup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 24px;padding:0;list-style:none}.cleanup-steps li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 16px;color:var(--text-muted);font-size:.7rem;font-weight:600}.cleanup-steps li.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.check-control{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--text-secondary);font-size:.68rem}.check-control input,.cleanup-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.cleanup-table{min-width:1320px}.event-detail-table{min-width:1180px}.cleanup-table td{vertical-align:top}.button.compact{min-height:36px;padding:7px 10px}.alert-list{display:grid;gap:16px}.alert-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px}.alert-card.warning>svg{color:var(--warning)}.alert-card.info>svg{color:var(--primary)}.alert-card h2{margin:10px 0 5px}.alert-card p{margin:0 0 8px;color:var(--text-secondary);font-size:.72rem}.alert-card small{color:var(--text-muted);font-size:.62rem}.settings-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px}.settings-nav{align-self:start;display:grid;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:8px}.settings-nav a{min-height:40px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.72rem;font-weight:600;text-decoration:none}.settings-nav a.active{background:var(--primary-soft);color:var(--primary)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-block-end:1px solid var(--border)}.setting-row:last-child{border:0}.setting-row strong{font-size:.75rem}.setting-row p{margin:4px 0 0;color:var(--text-muted);font-size:.65rem}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.diagnostic-grid .panel,.diagnostic-list{margin:0}.diagnostic-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 20px;border-block-end:1px solid var(--border)}.diagnostic-list>div:last-child{border:0}.diagnostic-list dt{margin:0}.installation-steps{display:grid;gap:8px;max-width:72ch;margin:16px 20px 24px;padding-inline-start:24px;color:var(--text-soft);line-height:1.6}.capability-list{margin:0;padding:8px 20px;list-style:none}.capability-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:48px;border-block-end:1px solid var(--border);font-size:.72rem}.capability-list li:last-child{border:0}.capability-list li>svg{color:var(--success)}.capacity-large{display:grid;justify-items:center;padding:28px;text-align:center}.capacity-large>svg{width:40px;height:40px;color:var(--primary)}.capacity-large>strong{margin:12px 0 18px;font-family:Space Grotesk;font-size:2rem}.capacity-large>strong small{color:var(--text-muted);font-size:.75rem}.capacity-large .progress{width:min(100%,360px)}.capacity-large>span{margin-block-start:9px;color:var(--text-muted);font-size:.65rem}.about-card{max-width:680px;margin-inline:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-raised),var(--surface));padding:32px;text-align:center}.about-logo{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border:1px solid #2c80a9;border-radius:18px;background:var(--primary-soft);color:var(--primary)}.about-logo svg{width:34px;height:34px}.about-card h2{margin:16px 0 8px;font-size:1.45rem}.about-card>p{max-width:58ch;margin:20px auto;color:var(--text-secondary);font-size:.75rem;line-height:1.7}.about-card dl{text-align:start}.privacy-note{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--success)!important}.login-page{display:grid;min-height:100svh;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr)}.login-aside{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between;border-inline-end:1px solid var(--border);background:radial-gradient(circle at 20% 65%,rgb(17 126 183 / 19%),transparent 36%),linear-gradient(145deg,#0a121e,#0c1827);padding:clamp(32px,5vw,72px)}.login-aside:after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:linear-gradient(#29435e 1px,transparent 1px),linear-gradient(90deg,#29435e 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to right,transparent,#000 60%,transparent);mask-image:linear-gradient(to right,transparent,#000 60%,transparent);content:"";pointer-events:none}.login-brand,.login-message,.login-aside>small{position:relative;z-index:1}.login-brand{display:flex;align-items:center;gap:12px}.login-brand strong{font-family:Space Grotesk;font-size:1.15rem}.login-brand em{color:var(--primary);font-style:normal;font-weight:500}.login-message{max-width:650px}.login-message h1{font-size:clamp(2.2rem,2rem + 2vw,4rem);line-height:1.08}.login-message h1 span{color:#50c4ff}.login-message>p:not(.eyebrow){max-width:55ch;color:var(--text-secondary);font-size:.9rem;line-height:1.75}.login-message ul{display:grid;gap:14px;margin:32px 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:.75rem}.login-message li{display:flex;align-items:center;gap:10px}.login-message li svg{color:var(--success)}.login-aside>small{color:var(--text-muted);font-size:.65rem}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:32px}.login-form{display:grid;width:min(100%,410px);gap:18px}.login-form h2{margin:0;font-size:1.65rem}.login-form>p:not(.eyebrow){margin:-10px 0 6px;color:var(--text-muted);font-size:.75rem}.login-form .button{width:100%}.separator{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.65rem}.separator:before,.separator:after{height:1px;flex:1;background:var(--border);content:""}.security-note{display:flex;align-items:center;gap:10px;margin-block-start:10px;border-block-start:1px solid var(--border);padding-block-start:18px;color:var(--success)}.security-note strong,.security-note small{display:block}.security-note strong{color:var(--text-secondary);font-size:.68rem}.security-note small{margin-block-start:2px;color:var(--text-muted);font-size:.6rem}.mobile-login-brand{display:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.event-photo{display:inline-flex;overflow:hidden;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);padding:0;color:var(--text-secondary);cursor:pointer}.event-photo:disabled{cursor:default}.event-photo img{width:100%;height:100%;object-fit:cover}.event-photo-initials{font-size:.7rem;font-weight:600;letter-spacing:.04em}.photo-modal{position:fixed;z-index:60;display:flex;align-items:center;justify-content:center;top:0;right:0;bottom:0;left:0;padding:24px}.photo-modal-backdrop{position:absolute;border:0;background:#02080fbd;top:0;right:0;bottom:0;left:0}.photo-modal-card{position:relative;z-index:1;display:grid;width:min(100%,520px);gap:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:18px}.photo-modal-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-modal-body{display:grid;min-height:180px;align-content:center;justify-items:center;gap:12px;text-align:center}.photo-modal-card img{max-width:100%;max-height:60vh;border-radius:var(--radius-md);object-fit:contain}.event-photo-loading{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.generated-password{display:inline-block;margin-block-start:4px;border-radius:var(--radius-md);background:var(--surface-raised);padding:6px 10px;color:var(--text);font-size:.82rem;letter-spacing:.06em;-webkit-user-select:all;user-select:all}.sidebar-footer .user-meta{flex:1;text-decoration:none}.sidebar-footer .user-meta:hover small{color:var(--primary)}.device-menu{position:relative}.device-menu-list{position:absolute;z-index:20;inset-inline-end:0;top:calc(100% + 6px);min-width:210px;margin:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);padding:6px;list-style:none;box-shadow:0 14px 32px #0000006b}.device-menu-list button{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:var(--radius-md);background:transparent;padding:9px 10px;color:var(--text);font-size:.74rem;text-align:start;cursor:pointer}.device-menu-list button:hover{background:var(--surface-hover)}.device-menu-list button.danger-quiet{color:#ff9ca3}@container (max-width: 700px){.panel>header{align-items:start;flex-direction:column}.form-grid,.mapping-grid{grid-template-columns:1fr}}@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.diagnostic-grid,.login-page{grid-template-columns:1fr}.login-aside{display:none}.mobile-login-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-block-end:20px;color:var(--primary)}}@media(max-width:820px){.mobile-header{position:sticky;inset-block-start:0;z-index:40;display:flex;height:64px;align-items:center;justify-content:space-between;border-block-end:1px solid var(--border);background:#0a0f18eb;padding:8px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-header .brand{min-height:auto;border:0;padding:0}.brand.compact .brand-mark{width:36px;height:36px}.brand.compact small{display:none}.sidebar{width:min(310px,88vw);transform:translate(-105%);transition:transform .18s ease-out;box-shadow:var(--shadow-lg)}.sidebar.is-open{transform:translate(0)}.nav-backdrop{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;border:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-content{width:100%;margin:0;padding:20px 16px 40px}.breadcrumb{display:none}.page-header{align-items:start;flex-direction:column}.page-actions{width:100%;justify-content:start}.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto}.settings-nav a{white-space:nowrap}.alert-card{grid-template-columns:auto 1fr}.alert-card .button{grid-column:1 / -1}}@media(max-width:640px){.downloads-grid{grid-template-columns:1fr}.download-card{min-height:160px}}@media(max-width:560px){.cleanup-steps{grid-template-columns:1fr 1fr}.metrics-grid,.preview-grid{grid-template-columns:1fr}.metric-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.metric-card .metric-icon{grid-row:1 / 4}.metric-card>p{margin:0}.metric-card>strong{font-size:1.45rem}.warning-banner,.danger-banner{align-items:start}.steps span{justify-content:center;font-size:0}.steps span:not(:last-child):after{margin-inline:4px}.steps b{font-size:.65rem}.toolbar{align-items:stretch;flex-direction:column}.search-field{min-width:100%}.select-field select,.select-field input{width:100%}.diagnostic-list>div{align-items:flex-start;flex-direction:column;gap:4px;padding:16px}.installation-steps{margin-inline:16px}.form-grid,.mapping-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .button{flex:1}.device-card dl,.about-card dl{grid-template-columns:1fr}.about-card{padding:24px 16px}.login-form-wrap{align-items:start;padding:28px 20px}.login-form{margin-block-start:6vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.status,.button,.panel,.metric-card{border:1px solid CanvasText}.progress span,.progress i{background:Highlight}}.admin-users-panel{overflow:visible}.admin-table{min-width:980px}.admin-table th,.admin-table td{padding:9px 14px;vertical-align:middle}.admin-table td{line-height:1.35}.admin-table .actions-column{width:64px;text-align:center}.admin-email{overflow-wrap:anywhere;color:#c7d3e2}.panel-message{padding:20px}.role-badge{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--border-strong);border-radius:999px;padding:3px 8px;background:#172131;color:#cbd6e5;font-size:.62rem;font-weight:700;white-space:nowrap}.role-administrator{border-color:#2c607e;background:#112d41;color:#80d4ff}.role-operator{border-color:#375947;background:#173025;color:#82e2ad}.role-auditor{border-color:#62522f;background:#302819;color:#e8c577}.admin-actions-menu{position:relative;display:inline-flex}.admin-actions-trigger{width:36px;height:36px;min-width:36px}.admin-actions-list{position:absolute;z-index:35;inset-inline-end:0;top:calc(100% + 4px);display:grid;width:max-content;min-width:220px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#172334;padding:6px;box-shadow:0 16px 38px #0000007a}.admin-actions-list button{display:flex;min-height:38px;align-items:center;gap:9px;border:0;border-radius:7px;background:transparent;padding:8px 10px;color:var(--text-secondary);font-size:.72rem;text-align:start}.admin-actions-list button:hover:not(:disabled),.admin-actions-list button:focus-visible{background:var(--surface-hover);color:var(--text)}.admin-actions-list button svg{width:16px;height:16px}.admin-mobile-list{display:none}.admin-card{border-block-end:1px solid var(--border);padding:16px}.admin-card>header{display:flex;align-items:start;justify-content:space-between;gap:12px}.admin-card>header strong,.admin-card>header span{display:block}.admin-card>header span{margin-block-start:3px;color:var(--text-muted);font-size:.7rem;overflow-wrap:anywhere}.admin-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-block:12px}.admin-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.admin-card p{margin:12px 0 0;color:var(--warning);font-size:.65rem}.admin-modal-layer{position:fixed;z-index:200;display:grid;align-items:center;justify-items:center;background:#02080fc2;top:0;right:0;bottom:0;left:0;padding:clamp(12px,3vw,32px)}.admin-modal-overlay{position:absolute;border:0;background:transparent;top:0;right:0;bottom:0;left:0}.admin-modal-card{position:relative;z-index:1;display:flex;overflow:hidden;width:min(100%,680px);max-height:calc(100dvh - 32px);flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#111b29;box-shadow:0 28px 80px #00000094}.admin-modal-card>header{display:flex;flex:0 0 auto;align-items:start;justify-content:space-between;gap:16px;border-block-end:1px solid var(--border);padding:16px 20px}.admin-modal-card>header h2{margin:0}.admin-modal-card>header p{margin:4px 0 0;color:var(--text-muted);font-size:.68rem}.admin-modal-body{overflow-y:auto;overscroll-behavior:contain}.admin-modal-body>.error-notice{margin:16px 20px 0}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.admin-form>label,.password-field label{display:grid;gap:7px;color:var(--text-secondary);font-size:.68rem;font-weight:600}.password-field{display:grid;gap:7px}.password-input{display:grid;grid-template-columns:minmax(0,1fr) 44px}.password-input input{border-start-end-radius:0;border-end-end-radius:0}.password-input .icon-button{height:44px;border:1px solid var(--border);border-inline-start:0;border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md);background:#0c1420}.password-requirements{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;list-style:none;color:var(--text-muted);font-size:.6rem}.password-requirements li:before{content:"○ "}.password-requirements li.met{color:var(--success)}.password-requirements li.met:before{content:"✓ "}.field-error{margin:0;color:#ff9ca3;font-size:.64rem}.generate-password-button{align-self:end}.generated-password-box{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;border:1px solid #6a5527;border-radius:var(--radius-md);background:linear-gradient(90deg,#352b17,#211e18);padding:14px}.generated-password-box strong,.generated-password-box small{display:block}.generated-password-box small{margin-block-start:5px;color:var(--text-muted);font-size:.62rem}.generated-password-box>p{grid-column:1 / -1;margin:0;color:var(--success);font-size:.66rem}.generated-password{display:block;margin-block-start:7px;border-radius:var(--radius-md);background:#0a111a;padding:9px 11px;color:var(--text);font-size:.82rem;letter-spacing:.06em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.admin-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;border-block-start:1px solid var(--border);margin:4px -20px -20px;padding:16px 20px}.protected-note{grid-column:1 / -1;margin:0;color:var(--warning);font-size:.66rem}.password-receipt{display:grid;gap:16px;padding:20px}.password-receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.password-receipt .warning-banner{margin:0}.password-receipt>p{margin:0;color:var(--success);font-size:.68rem}.admin-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--border)}.admin-details>div{min-width:0;background:#111b29;padding:14px 18px}.admin-details dd{overflow-wrap:anywhere}.admin-details-wide{grid-column:1 / -1}.audit-table{min-width:760px}.cleanup-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.cleanup-table{min-width:980px}.cleanup-table th,.cleanup-table td{padding:9px 12px;vertical-align:middle}.cleanup-table .selection-column{width:96px}.table-select-all{display:grid;justify-items:start;gap:4px;color:var(--text-secondary);font-size:.58rem;text-transform:none;white-space:normal}.table-select-all input,.cleanup-card input{width:20px;height:20px}.page-selection-summary{align-self:end;margin-inline-start:auto;color:var(--text-secondary);font-size:.68rem}.mobile-page-select{display:none}.blocked-reason{display:flex;min-height:28px;align-items:center;gap:5px;margin-block-start:5px;border:0;background:transparent;padding:2px 0;color:#edc36c;font-size:.6rem;text-align:start}.blocked-reason:hover{color:#ffe1a0;text-decoration:underline}.blocked-reason svg{width:14px;height:14px}.cleanup-mobile-list{display:none}.select-all-results{display:flex;align-items:center;justify-content:space-between;gap:16px;border-block-start:1px solid #34526b;background:#102439;padding:14px 20px;color:var(--text-secondary);font-size:.7rem}.select-all-results strong{display:block;margin-block-end:3px;color:var(--text)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-block-start:1px solid var(--border);padding:12px 20px}.pagination span{color:var(--text-muted);font-size:.66rem}.selection-bar{position:sticky;z-index:25;bottom:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 16px;max-width:1120px!important;margin:0 auto 24px;border:1px solid #2e6585;border-radius:var(--radius-lg);background:#0f2131f5;padding:12px 16px;box-shadow:0 18px 46px #0000006b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.selection-bar strong{font-size:.78rem}.selection-bar>span{color:var(--text-muted);font-size:.64rem}.selection-bar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.dry-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 20px 20px;background:var(--border)}.dry-run-summary>div{background:var(--surface);padding:12px}.dry-run-summary dd{font-size:1rem}.cleanup-review-modal{width:min(100%,900px)}.review-list{display:grid;gap:10px;padding:16px}.review-list article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(300px,1.5fr) auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px}.review-list article>div strong,.review-list article>div code,.review-list article>div span{display:block}.review-list article>div code,.review-list article>div span{margin-block-start:3px;color:var(--text-muted);font-size:.62rem}.review-list article dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.review-list article dd{font-size:.68rem}.modal-footer{display:flex;justify-content:flex-end;border-block-start:1px solid var(--border);padding:14px 20px}@media(max-width:820px){.admin-desktop-table,.cleanup-desktop-table{display:none}.admin-mobile-list,.cleanup-mobile-list{display:grid}.mobile-page-select{display:inline-flex}.cleanup-card{display:grid;gap:12px;border-block-end:1px solid var(--border);padding:16px}.cleanup-card>header{display:flex;align-items:start;justify-content:space-between;gap:10px}.cleanup-card-check{display:flex;align-items:start;gap:10px}.cleanup-card-check span strong,.cleanup-card-check span code{display:block}.cleanup-card-check code{margin-block-start:4px;color:var(--text-muted);font-size:.65rem}.cleanup-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.cleanup-card dd{font-size:.68rem}.selection-bar{grid-template-columns:1fr;bottom:8px}.selection-bar>div{justify-content:flex-start}.review-list article{grid-template-columns:1fr}}@media(max-width:560px){.admin-modal-layer{padding:8px}.admin-modal-card{max-height:calc(100dvh - 16px);border-radius:var(--radius-md)}.admin-form{grid-template-columns:1fr;padding:16px}.admin-form-actions{margin:4px -16px -16px;padding:14px 16px}.generated-password-box,.password-receipt dl,.admin-details{grid-template-columns:1fr}.admin-details-wide{grid-column:auto}.admin-card dl,.cleanup-card dl{grid-template-columns:1fr}.select-all-results{align-items:stretch;flex-direction:column}.select-all-results .button{width:100%;white-space:normal}.pagination{justify-content:space-between;padding-inline:12px}.dry-run-summary{grid-template-columns:1fr 1fr;margin-inline:12px}.selection-bar .button{flex:1}}
