:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f0e;--bg-glow:#2dd4bf0e;--surface:#101816;--surface-2:#16211f;--surface-3:#1d2b28;--border:#22302d;--border-strong:#2e403c;--text:#e8f0ee;--text-muted:#93a8a3;--text-faint:#6d827c;--accent:#2dd4bf;--accent-strong:#5eead4;--accent-dim:#2dd4bf24;--danger:#f87171;--danger-strong:#fca5a5;--danger-dim:#f871711f;--warning:#fbbf24;--warning-strong:#fcd34d;--warning-dim:#fbbf241f;--ok:#34d399;--ok-strong:#6ee7b7;--ok-dim:#34d3991f;--info:#60a5fa;--info-dim:#60a5fa1f;--critical:#fb7185;--critical-dim:#fb71851f;--tone-mint:#34d399;--tone-mint-bg:#34d39921;--tone-cyan:#67e8f9;--tone-cyan-bg:#67e8f921;--tone-orange:#fb923c;--tone-orange-bg:#fb923c21;--tone-violet:#a78bfa;--tone-violet-bg:#a78bfa21;--on-accent:#06201c;--on-danger:#2b0c0c;--on-warning:#2c1e05;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 24px 64px #00000073;--shadow-accent:0 10px 30px #2dd4bf2e;--shadow-inset:inset 0 1px 0 #ffffff0b;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:24px;--transition:.15s ease;--transition-slow:.25s cubic-bezier(.4, 0, .2, 1);--z-header:30;--z-drawer:90;--z-dialog:100;--z-toast:120;--font-sans:-apple-system, "SF Pro", "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f6f4;--bg-glow:#0d948814;--surface:#fff;--surface-2:#edf3f1;--surface-3:#e2ebe8;--border:#d3dfdb;--border-strong:#b3c6c0;--text:#162420;--text-muted:#4d625c;--text-faint:#71837d;--accent:#0d9488;--accent-strong:#0f766e;--accent-dim:#0d94881f;--danger:#dc2626;--danger-strong:#b91c1c;--danger-dim:#dc26261a;--warning:#b45309;--warning-strong:#92400e;--warning-dim:#b453091a;--ok:#059669;--ok-strong:#047857;--ok-dim:#0596691a;--info:#2563eb;--info-dim:#2563eb1a;--critical:#be123c;--critical-dim:#be123c1a;--tone-mint:#059669;--tone-mint-bg:#0596691c;--tone-cyan:#0891b2;--tone-cyan-bg:#0891b21c;--tone-orange:#c2410c;--tone-orange-bg:#c2410c1c;--tone-violet:#7c3aed;--tone-violet-bg:#7c3aed1c;--on-accent:#fff;--on-danger:#fff;--on-warning:#fff;--shadow-sm:0 1px 2px #102a2414;--shadow-md:0 8px 24px #102a241a;--shadow-lg:0 24px 64px #102a242e;--shadow-accent:0 10px 30px #0d948833;--shadow-inset:inset 0 1px 0 #fffc}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text);background:radial-gradient(1100px 480px at 72% -8%, var(--bg-glow), transparent 62%), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}::selection{color:var(--on-accent);background:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--border-strong);border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}[hidden]{display:none!important}.app-shell{min-height:100vh}.main-content{min-height:100vh;margin-left:240px}.page-wrap{width:min(1380px,100%);padding:28px var(--space-6) 48px;margin:0 auto}.page-stack{flex-direction:column;gap:22px;display:flex}.sidebar{width:240px;padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 92%, transparent);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:var(--z-header);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-5);display:flex}.sidebar-brand>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.sidebar-brand strong{letter-spacing:.08em;font-size:17px}.sidebar-brand span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.08em}.sidebar-brand .icon-button{margin-left:auto}.brand-mark{width:58px;height:58px;color:var(--on-accent);background:linear-gradient(145deg, var(--accent-strong), var(--accent));box-shadow:var(--shadow-accent);border-radius:18px;flex:none;place-items:center;display:grid;position:relative}.brand-mark svg{stroke-width:2.2px;width:30px;height:30px}.brand-mark span{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:22px;position:absolute;inset:-5px}.brand-mark.small{border-radius:13px;width:40px;height:40px}.brand-mark.small svg{width:22px;height:22px}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar-group-label{margin:var(--space-4) var(--space-3) var(--space-1);color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700}.sidebar-group-label:first-child{margin-top:0}.sidebar nav button{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;display:flex;position:relative}.sidebar nav button svg{flex:none;width:19px;height:19px}.sidebar nav button:hover{color:var(--text);background:var(--surface-2)}.sidebar nav button[aria-current=page],.sidebar nav button.active{color:var(--text);background:linear-gradient(90deg, var(--accent-dim), transparent 85%);font-weight:650}.sidebar nav button[aria-current=page] svg,.sidebar nav button.active svg{color:var(--accent)}.sidebar nav button i{background:var(--accent);width:3px;height:22px;box-shadow:0 0 12px var(--accent);border-radius:4px;position:absolute;right:0}.sidebar-status{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--ok) 5%, var(--surface));margin-top:auto}.sidebar-status>div{align-items:center;gap:var(--space-2);display:flex}.sidebar-status strong{font-size:var(--font-size-xs)}.sidebar-status p{color:var(--text-muted);font-size:var(--font-size-xs);margin:8px 0 0;line-height:1.65}.status-dot,.live-pill i,.hero-chip i{background:var(--ok);width:7px;height:7px;box-shadow:0 0 12px var(--ok);border-radius:50%;flex:none}.sidebar-user{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.sidebar-user-avatar{width:36px;height:36px;color:var(--on-accent);background:linear-gradient(145deg, var(--accent-strong), var(--accent));font-size:var(--font-size-md);border-radius:11px;flex:none;place-items:center;font-weight:800;display:grid}.sidebar-user>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.sidebar-user strong{font-size:var(--font-size-xs)}.sidebar-user span{color:var(--text-muted);font-size:var(--font-size-xs)}.logout-button{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border-radius:10px;flex:none;margin-left:auto;padding:0;display:flex}.logout-button:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.logout-button svg{width:17px;height:17px}.sidebar-backdrop{display:none}.topbar{z-index:var(--z-header);align-items:center;gap:var(--space-3);min-height:68px;padding:0 var(--space-6);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;position:sticky;top:0}.topbar-title{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar-title strong{font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.eyebrow{color:var(--accent);font-size:var(--font-size-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:800}.page-heading{padding:8px 2px 4px}.page-heading h1,.page-header h1{letter-spacing:-.03em;margin:9px 0 8px;font-size:clamp(26px,2.6vw,36px);line-height:1.14}.page-heading p,.page-header p{max-width:640px;color:var(--text-muted);margin:0;line-height:1.7}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;padding:8px 2px 4px;display:flex}.page-header h1{margin-bottom:0}.page-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hero{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(520px 260px at 88% 0%, var(--accent-dim), transparent 70%), linear-gradient(115deg, color-mix(in srgb, var(--accent) 8%, var(--surface)), var(--surface) 58%, color-mix(in srgb, var(--accent) 4%, var(--surface)));min-height:195px;box-shadow:var(--shadow-md), var(--shadow-inset);align-items:center;padding:36px 40px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);width:340px;height:340px;box-shadow:0 0 0 40px color-mix(in srgb, var(--accent) 3%, transparent), 0 0 0 90px color-mix(in srgb, var(--accent) 2%, transparent);border-radius:50%;position:absolute;right:-100px}.hero h1{letter-spacing:-.04em;margin:9px 0 8px;font-size:clamp(28px,3vw,42px);line-height:1.12}.hero p{color:var(--text-muted);margin:0;line-height:1.7}.hero-meta{z-index:2;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex;position:relative}.hero-chip{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);background:color-mix(in srgb, var(--surface) 78%, transparent);font-size:var(--font-size-xs);align-items:center;gap:7px;padding:7px 12px;font-weight:600;display:inline-flex}.hero-chip b{color:var(--text);font-weight:700}.hero-shield{z-index:2;align-items:center;gap:var(--space-2);color:var(--accent);flex-direction:column;margin-left:auto;display:flex;position:relative}.hero-shield svg{width:78px;height:78px;filter:drop-shadow(0 0 25px var(--accent-dim))}.hero-shield span{letter-spacing:.3em;font-size:11px}.ok{color:var(--ok)}.danger{color:var(--danger)}.warning{color:var(--warning)}.muted{color:var(--text-muted)}.ok-text{color:var(--ok)}.danger-text{color:var(--danger)}.live-pill{align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--ok) 22%, transparent);border-radius:var(--radius-full);color:var(--ok-strong);background:var(--ok-dim);font-size:var(--font-size-xs);white-space:nowrap;padding:8px 12px;font-weight:650;display:inline-flex}.live-pill.danger{color:var(--danger-strong);border-color:color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-dim)}.live-pill.danger i{background:var(--danger);box-shadow:0 0 12px color-mix(in srgb, var(--danger) 55%, transparent)}.live-pill.muted{color:var(--text-muted);border-color:var(--border);background:var(--surface-2)}.live-pill.muted i{background:var(--text-faint);box-shadow:none}.error-banner{align-items:center;gap:var(--space-2);margin:18px var(--space-6) 0;border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-md);color:var(--danger-strong);background:var(--danger-dim);font-size:var(--font-size-xs);padding:12px 15px;display:flex}.error-banner svg{flex:none;width:17px;height:17px}.error-banner button{cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;margin-left:auto;padding:0;display:grid}.success-banner,.inline-error{align-items:center;gap:var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-xs);padding:12px 14px;line-height:1.6;display:flex}.success-banner{color:var(--ok-strong);border:1px solid color-mix(in srgb, var(--ok) 24%, transparent);background:var(--ok-dim)}.inline-error{color:var(--danger-strong);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-dim)}.success-banner svg,.inline-error svg{flex:none;width:16px;height:16px}.success-banner button,.inline-error button{cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;margin-left:auto;padding:0;display:grid}.form-message{border:1px solid color-mix(in srgb, var(--ok) 24%, transparent);border-radius:var(--radius-md);color:var(--ok-strong);background:var(--ok-dim);font-size:var(--font-size-xs);padding:12px 14px;line-height:1.6}.loading-state{justify-content:center;align-items:center;gap:var(--space-3);min-height:260px;color:var(--text-muted);font-size:var(--font-size-xs);flex-direction:column;display:flex}.loading-state svg{width:27px;height:27px;color:var(--accent)}.primary-button,.secondary-button,.danger-button,.safe-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:42px;padding:10px var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), opacity var(--transition);border:1px solid #0000;font-weight:700;display:inline-flex}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.safe-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.danger-button:active,.safe-button:active{transform:translateY(0)}.primary-button{color:var(--on-accent);background:linear-gradient(135deg, var(--accent-strong), var(--accent));box-shadow:var(--shadow-accent)}.primary-button:hover{box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 28%, transparent)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.safe-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.secondary-button{color:var(--text);border-color:var(--border);background:var(--surface-2)}.secondary-button:hover{border-color:var(--border-strong);background:var(--surface-3)}.danger-button{color:var(--danger-strong);border-color:color-mix(in srgb, var(--danger) 30%, transparent);background:var(--danger-dim)}.danger-button:hover{background:color-mix(in srgb, var(--danger) 18%, var(--surface-2))}.safe-button{color:var(--ok-strong);border-color:color-mix(in srgb, var(--ok) 32%, transparent);background:var(--ok-dim)}.safe-button:hover{background:color-mix(in srgb, var(--ok) 18%, var(--surface-2))}.primary-button svg,.secondary-button svg,.danger-button svg,.safe-button svg{flex:none;width:17px;height:17px}.secondary-button.compact,.danger-button,.safe-button{min-height:36px;font-size:var(--font-size-xs);padding:8px 12px}.safe-button.primary,.danger-button.primary{min-height:42px;padding:10px var(--space-4);font-size:var(--font-size-sm)}.icon-button,.avatar-button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;width:38px;height:38px;transition:border-color var(--transition), background var(--transition), transform var(--transition);border-radius:11px;flex:none;place-items:center;padding:0;display:grid}.icon-button:hover,.avatar-button:hover{border-color:var(--border-strong);background:var(--surface-3)}.icon-button svg{width:18px;height:18px}.avatar-button{border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--on-accent);background:linear-gradient(145deg, var(--accent-strong), var(--accent));font-weight:800}.settings-form input,.settings-form select,.settings-form textarea,.blacklist-form input,.filter-grid input,.filter-grid select,.direct-revoke-form input,.direct-revoke-form select,.ttl-form input,.application-audiences textarea,.audit-search input,.console-toolbar select,.dialog-reason textarea{width:100%;min-width:0;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);padding:11px 13px}.settings-form input:hover,.settings-form select:hover,.settings-form textarea:hover,.blacklist-form input:hover,.filter-grid input:hover,.filter-grid select:hover,.direct-revoke-form input:hover,.direct-revoke-form select:hover,.ttl-form input:hover,.application-audiences textarea:hover,.audit-search input:hover,.console-toolbar select:hover,.dialog-reason textarea:hover{border-color:var(--border-strong)}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.blacklist-form input:focus,.filter-grid input:focus,.filter-grid select:focus,.direct-revoke-form input:focus,.direct-revoke-form select:focus,.ttl-form input:focus,.application-audiences textarea:focus,.audit-search input:focus,.console-toolbar select:focus,.dialog-reason textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);background:var(--surface-2)}select option{background:var(--surface-2)}::placeholder{color:var(--text-faint)}textarea{resize:vertical}.panel{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm), var(--shadow-inset)}.panel-title{align-items:center;gap:var(--space-3);display:flex}.panel-title-icon{width:36px;height:36px;color:var(--accent);background:var(--accent-dim);border-radius:10px;flex:none;place-items:center;display:grid}.panel-title-icon svg{width:18px;height:18px}.panel-title h2{font-size:var(--font-size-md);margin:0;line-height:1.35}.panel-title p{color:var(--text-muted);font-size:var(--font-size-xs);margin:3px 0 0;line-height:1.55}.panel-title button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);font-size:var(--font-size-xs);cursor:pointer;background:0 0;align-items:center;gap:4px;margin-left:auto;padding:8px 10px;font-weight:650;display:flex}.panel-title button:hover{background:var(--surface-2)}.panel-title button svg{width:14px;height:14px}.dashboard-grid{gap:var(--space-4);grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);display:grid}.dashboard-grid.wasm-grid{grid-template-columns:1.15fr .85fr}.protection-panel{gap:var(--space-4);display:grid}.protection-list{flex-direction:column;justify-content:center;display:flex}.status-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);padding:10px 0;display:flex}.status-row:last-child{border-bottom:0}.status-row span{align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.status-row i{background:var(--accent);border-radius:50%;width:5px;height:5px}.status-row strong{color:var(--accent-strong);font-size:var(--font-size-xs)}.quick-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.quick-card{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm), var(--shadow-inset);text-align:left;cursor:pointer;transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);display:flex}.quick-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-card>div{width:38px;height:38px;color:var(--accent);background:var(--accent-dim);border-radius:11px;flex:none;place-items:center;display:grid}.quick-card>div svg{width:18px;height:18px}.quick-card>span{min-width:0;display:grid}.quick-card strong{font-size:var(--font-size-xs)}.quick-card small{color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.quick-card>svg{width:16px;height:16px;color:var(--text-faint);flex:none;margin-left:auto}.metric-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.metric-grid.compact{grid-template-columns:repeat(2,minmax(250px,360px))}.metric-card{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm), var(--shadow-inset);display:flex}.metric-icon{border-radius:13px;flex:none;place-items:center;width:46px;height:46px;display:grid}.metric-icon svg{width:21px;height:21px}.metric-icon.mint{color:var(--tone-mint);background:var(--tone-mint-bg)}.metric-icon.cyan{color:var(--tone-cyan);background:var(--tone-cyan-bg)}.metric-icon.orange{color:var(--tone-orange);background:var(--tone-orange-bg)}.metric-icon.violet{color:var(--tone-violet);background:var(--tone-violet-bg)}.metric-card>div:last-child{min-width:0;display:grid}.metric-card span{color:var(--text-muted);font-size:var(--font-size-xs)}.metric-card strong{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:24px;line-height:1.3;overflow:hidden}.metric-card small{color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{align-items:flex-start;gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm), var(--shadow-inset);transition:border-color var(--transition), transform var(--transition);display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--stat-tone,var(--accent)), transparent 80%);opacity:.75;height:2px;position:absolute;inset:0 0 auto}.stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex:none;place-items:center;width:42px;height:42px;display:grid}.stat-icon svg{width:20px;height:20px}.stat-icon.ok{--stat-tone:var(--ok);color:var(--ok);background:var(--ok-dim)}.stat-icon.warning{--stat-tone:var(--warning);color:var(--warning);background:var(--warning-dim)}.stat-icon.danger{--stat-tone:var(--danger);color:var(--danger);background:var(--danger-dim)}.stat-icon.info{--stat-tone:var(--info);color:var(--info);background:var(--info-dim)}.stat-icon.accent{--stat-tone:var(--accent);color:var(--accent);background:var(--accent-dim)}.stat-icon.muted{--stat-tone:var(--text-muted);color:var(--text-muted);background:var(--surface-2)}.stat-body{flex:1;min-width:0;display:grid}.stat-label{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600}.stat-value{font-size:var(--font-size-xl);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.stat-sub{color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{border-radius:var(--radius-full);width:max-content;max-width:100%;font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-weight:650;line-height:1.5;display:inline-flex}.badge>svg{flex:none;width:13px;height:13px}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px}.badge-ok{color:var(--ok-strong);border-color:color-mix(in srgb, var(--ok) 28%, transparent);background:var(--ok-dim)}.badge-warning{color:var(--warning-strong);border-color:color-mix(in srgb, var(--warning) 30%, transparent);background:var(--warning-dim)}.badge-danger{color:var(--danger-strong);border-color:color-mix(in srgb, var(--danger) 30%, transparent);background:var(--danger-dim)}.badge-accent{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 32%, transparent);background:var(--accent-dim)}.badge-info{color:var(--info);border-color:color-mix(in srgb, var(--info) 30%, transparent);background:var(--info-dim)}.badge-muted{color:var(--text-muted);border-color:var(--border);background:var(--surface-2)}.data-table{margin-top:var(--space-4)}.table-head,.table-row{gap:var(--space-4);grid-template-columns:1fr 1.4fr 180px;align-items:center;padding:13px 10px;display:grid}.table-head{color:var(--text-muted);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.table-row{border-bottom:1px solid var(--border);font-size:var(--font-size-xs)}.table-row:last-child{border-bottom:0}.table-row span,.table-row time{color:var(--text-muted)}.table-row>div:first-child{gap:3px;min-width:0;display:grid}.table-row small{color:var(--text-muted);font-size:var(--font-size-xs)}.ban-list{margin-top:var(--space-3)}.ban-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;padding:12px 0;display:grid}.ban-row:last-child{border-bottom:0}.ban-icon{width:32px;height:32px;color:var(--danger);background:var(--danger-dim);border-radius:9px;place-items:center;display:grid}.ban-icon svg{width:15px;height:15px}.ban-row>div:nth-child(2){min-width:0;display:grid}.ban-row strong{font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ban-row span,.ban-row time{color:var(--text-muted);font-size:var(--font-size-xs)}.ban-row time{white-space:nowrap}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-xs);display:flex}.pagination>div{gap:var(--space-2);display:flex}.pagination button{min-height:38px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--font-size-xs);cursor:pointer;transition:border-color var(--transition), background var(--transition);justify-content:center;align-items:center;gap:5px;padding:8px 12px;font-weight:600;display:flex}.pagination button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-3)}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination button svg{width:13px;height:13px}.console-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:flex}.console-toolbar.stacked{flex-direction:column;align-items:stretch}.console-toolbar>div{align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.console-toolbar>div>svg{width:17px;height:17px;color:var(--accent);flex:none}.console-toolbar label{font-size:var(--font-size-xs);white-space:nowrap}.console-toolbar select{min-width:210px}.toolbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.filter-grid>div{align-items:center;gap:var(--space-2);min-width:0;color:var(--text-muted);display:flex}.filter-grid>div>svg{width:16px;height:16px;color:var(--accent);flex:none}.filter-grid label{font-size:var(--font-size-xs);flex:none}.filter-grid select,.filter-grid input{min-width:0}.direct-revoke-form{align-items:end;gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:minmax(180px,.8fr) minmax(240px,1.4fr) auto;display:grid}.direct-revoke-form label,.ttl-form label,.application-audiences label{gap:6px;display:grid}.direct-revoke-form label span,.ttl-form label span,.application-audiences label span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;font-weight:650}.direct-revoke-form label small,.ttl-form label small,.settings-form label small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.device-list{margin-top:var(--space-2)}.device-list-head,.device-row{gap:var(--space-4);grid-template-columns:minmax(240px,1.25fr) minmax(180px,1fr) minmax(145px,.7fr) minmax(190px,.9fr) minmax(175px,.75fr);display:grid}.device-list-head{color:var(--text-muted);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;padding:12px 10px;font-weight:700}.device-row{border-bottom:1px solid var(--border);align-items:center;padding:15px 10px}.device-row:last-child{border-bottom:0}.device-row.selected{background:var(--accent-dim)}.device-identity{align-items:center;gap:var(--space-2);grid-template-columns:38px minmax(0,1fr) auto;min-width:0;display:grid}.device-identity.as-button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.device-platform{width:36px;height:36px;color:var(--accent);background:var(--accent-dim);border-radius:10px;place-items:center;display:grid}.device-platform svg{width:17px;height:17px}.device-identity>div:nth-child(2),.device-scope,.lease-cell{gap:3px;min-width:0;display:grid}.device-identity strong,.device-scope strong,.lease-cell strong{font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-identity span,.device-scope span,.lease-cell span{color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-scope code{color:var(--ok);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.state-pill{border-radius:var(--radius-full);width:max-content;font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:6px;padding:5px 9px;font-style:normal;font-weight:650;line-height:1.5;display:inline-flex}.state-pill i{background:currentColor;border-radius:50%;width:5px;height:5px}.state-pill.ok{color:var(--ok-strong);background:var(--ok-dim)}.state-pill.danger{color:var(--danger-strong);background:var(--danger-dim)}.state-pill.critical{color:var(--critical);background:var(--critical-dim)}.state-pill.warning,.state-pill.pending{color:var(--warning-strong);background:var(--warning-dim)}.state-pill.muted{color:var(--text-muted);background:var(--surface-2)}.risk-cell{grid-template-columns:1fr 1fr;gap:3px 12px;display:grid}.risk-cell>div{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.risk-cell span{color:var(--text-muted);font-size:var(--font-size-xs)}.risk-cell strong{font-size:var(--font-size-sm)}.risk-cell small{color:var(--text-muted);font-size:var(--font-size-xs);grid-column:1/-1}.lease-cell code{width:max-content;max-width:100%;color:var(--ok);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 6px;overflow:hidden}.device-actions{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.device-actions button{min-height:38px}.block-reason{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent);background:var(--danger-dim);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;padding:6px 8px;line-height:1.45;overflow:hidden}.drawer-backdrop{z-index:var(--z-drawer);background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--transition) ease;justify-content:flex-end;display:flex;position:fixed;inset:0}.device-drawer{width:min(520px,100%);height:100%;padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-left:1px solid var(--border);background:var(--surface);animation:drawer-in var(--transition-slow) ease;overflow-y:auto;box-shadow:-20px 0 60px #0000004d}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.drawer-head h2{font-size:var(--font-size-lg);margin:4px 0 6px}.drawer-head p{color:var(--text-muted);font-size:var(--font-size-xs);margin:0;line-height:1.6}.drawer-status{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.detail-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.detail-field{min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:5px;display:grid}.detail-field span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;font-weight:650}.detail-field strong,.detail-field code{overflow-wrap:anywhere;font-size:var(--font-size-xs)}.detail-field code{color:var(--ok);font-family:var(--font-mono)}.drawer-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.physical-policy{align-items:center;gap:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--radius-md);background:linear-gradient(100deg, var(--accent-dim), color-mix(in srgb, var(--accent) 2%, transparent));grid-template-columns:42px minmax(0,1fr) auto;padding:15px 17px;display:grid}.physical-policy>div{width:42px;height:42px;color:var(--accent);background:var(--accent-dim);border-radius:12px;place-items:center;display:grid}.physical-policy svg{width:20px;height:20px}.physical-policy p{gap:4px;margin:0;display:grid}.physical-policy strong{font-size:var(--font-size-xs)}.physical-policy span{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.65}.physical-policy em{width:max-content;color:var(--accent-strong);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:var(--radius-full);background:color-mix(in srgb, var(--surface) 60%, transparent);font-size:var(--font-size-xs);letter-spacing:.08em;padding:5px 9px;font-style:normal}.audit-search{flex:1}.audit-action-filter{align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.audit-action-filter>svg{width:17px;height:17px;color:var(--accent);flex:none}.audit-action-filter label{font-size:var(--font-size-xs);white-space:nowrap}.audit-search input{width:min(480px,100%)}.audit-timeline{margin-top:var(--space-3)}.audit-event{gap:var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto;padding:15px 6px;display:grid}.audit-event:last-child{border-bottom:0}.audit-node{justify-content:center;display:flex;position:relative}.audit-node:after{content:"";background:var(--border);width:1px;position:absolute;top:18px;bottom:-31px}.audit-event:last-child .audit-node:after{display:none}.audit-node i{z-index:1;border:3px solid var(--surface);background:var(--text-faint);width:10px;height:10px;box-shadow:0 0 0 3px var(--border);border-radius:50%;margin-top:4px;position:relative}.audit-node.ok i{background:var(--ok);box-shadow:0 0 0 3px var(--border), 0 0 10px var(--ok)}.audit-node.pending i{background:var(--warning);box-shadow:0 0 0 3px var(--border)}.audit-node.warning i,.audit-node.danger i{background:var(--danger);box-shadow:0 0 0 3px var(--border)}.audit-main{min-width:0}.audit-main>div:first-child{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.audit-main strong{font-size:var(--font-size-xs)}.audit-main p{color:var(--text-muted);font-size:var(--font-size-xs);margin:6px 0;line-height:1.6}.audit-meta{color:var(--text-muted);font-size:var(--font-size-xs);flex-wrap:wrap;gap:8px 16px;display:flex}.audit-meta code{color:var(--ok);font-family:var(--font-mono)}.audit-time{color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap;align-content:start;justify-items:end;gap:4px;display:grid}.audit-time span{color:var(--text-muted)}.blacklist-form{align-items:center;gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:1fr 1.2fr auto;display:grid}.blacklist-form input{min-width:0}.blacklist-form label{gap:6px;min-width:0;display:grid}.blacklist-form label span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;font-weight:650}.posture-grid{gap:var(--space-4);grid-template-columns:1.15fr .85fr;align-items:start;display:grid}.gate-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.gate-item{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);grid-template-columns:40px minmax(0,1fr) auto;display:grid}.gate-icon{border-radius:var(--radius-md);place-items:center;width:40px;height:40px;display:grid}.gate-icon svg{width:19px;height:19px}.gate-icon.ok{color:var(--ok);background:var(--ok-dim)}.gate-icon.danger{color:var(--danger);background:var(--danger-dim)}.gate-icon.info{color:var(--info);background:var(--info-dim)}.gate-main{min-width:0}.gate-main strong{font-size:var(--font-size-xs);display:block}.gate-main p{color:var(--text-muted);font-size:var(--font-size-xs);margin:3px 0 0;line-height:1.55}.threshold-readout{align-items:baseline;gap:var(--space-2);margin-top:var(--space-5);display:flex}.threshold-readout strong{letter-spacing:-.04em;font-size:44px;line-height:1}.threshold-readout span{color:var(--text-muted);font-size:var(--font-size-sm)}.threshold-track{height:10px;margin-top:var(--space-4);border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);position:relative;overflow:visible}.threshold-fill{width:var(--w,0%);border-radius:var(--radius-full);background:linear-gradient(90deg, color-mix(in srgb, var(--warning) 45%, var(--ok)), var(--warning));height:100%;transition:width var(--transition-slow)}.threshold-marker{top:50%;left:var(--left,0%);border:3px solid var(--surface);background:var(--text);width:18px;height:18px;box-shadow:0 0 0 2px var(--border-strong), var(--shadow-sm);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.threshold-scale{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--font-size-xs);justify-content:space-between;display:flex}.posture-note{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.7}.settings-form{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.settings-form label{gap:var(--space-2);display:grid}.settings-form label>span{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:650}.settings-form label>small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.ttl-form{align-items:end;gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1fr auto;display:grid}.isolation-flow{overflow:hidden}.flow-steps{align-items:center;gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;display:grid}.flow-steps>div{min-height:112px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.flow-steps i{width:27px;height:27px;margin-bottom:var(--space-3);color:var(--on-accent);border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent-strong), var(--accent));font-size:var(--font-size-xs);place-items:center;font-style:normal;font-weight:900;display:grid}.flow-steps strong,.flow-steps span{display:block}.flow-steps strong{font-size:var(--font-size-xs)}.flow-steps span{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:6px;line-height:1.65}.flow-steps>b{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent), var(--accent), color-mix(in srgb, var(--accent) 16%, transparent));height:1px;box-shadow:0 0 10px var(--accent-dim)}.application-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.application-card{gap:var(--space-4);flex-direction:column;display:flex}.application-head{align-items:center;gap:var(--space-3);display:flex}.app-glyph{width:42px;height:42px;color:var(--accent);background:var(--accent-dim);border-radius:13px;flex:none;place-items:center;display:grid}.app-glyph svg{width:20px;height:20px}.application-head>div:nth-child(2){min-width:0}.application-head span,.application-detail>span,.application-audiences>span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;font-weight:700;display:block}.application-head h2{font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.application-head .badge{margin-left:auto}.application-head em{color:var(--ok-strong);border:1px solid color-mix(in srgb, var(--ok) 26%, transparent);border-radius:var(--radius-full);background:var(--ok-dim);font-size:var(--font-size-xs);align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-style:normal;display:inline-flex}.application-head em i{background:var(--ok);width:6px;height:6px;box-shadow:0 0 9px var(--ok);border-radius:50%}.application-detail{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.application-detail>div{align-items:center;gap:var(--space-2);margin-top:var(--space-2);min-width:0;display:flex}.application-detail code{min-width:0;color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.application-detail .badge{text-overflow:ellipsis;overflow:hidden}.application-detail button{color:var(--accent-strong);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--font-size-xs);cursor:pointer;flex:none;align-items:center;gap:5px;padding:7px 10px;font-weight:650;display:flex}.application-detail button:hover{border-color:var(--border-strong)}.application-detail button svg{width:12px;height:12px}.app-ttl{gap:var(--space-2);flex-wrap:wrap;display:flex}.app-ttl span{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);background:var(--surface-2);font-size:var(--font-size-xs);align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.app-ttl svg{width:14px;height:14px;color:var(--accent)}.app-ttl b{color:var(--text);font-weight:700}.application-audiences>div{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.audience-matrix{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.audience-col{min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:6px;display:flex}.audience-col b{color:var(--accent-strong);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:800}.audience-col code{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;overflow:hidden}.audience-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.application-audiences textarea{min-height:96px;font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.6}.application-policy{gap:var(--space-2);flex-wrap:wrap;display:flex}.operator-note{align-items:flex-start;gap:var(--space-4);border-color:color-mix(in srgb, var(--warning) 26%, transparent);background:linear-gradient(145deg, var(--warning-dim), var(--surface) 65%);display:flex}.operator-note>svg{width:22px;height:22px;color:var(--warning);flex:none;margin-top:2px}.operator-note strong{font-size:var(--font-size-xs)}.operator-note p{color:var(--text-muted);font-size:var(--font-size-xs);margin:7px 0 0;line-height:1.75}.health-panel{gap:var(--space-4);display:grid}.health-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.health-item{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.health-item>span{font-size:var(--font-size-xs);font-weight:650}.health-item small{color:var(--text-muted);font-size:var(--font-size-xs);grid-column:1/-1}.empty-state{text-align:center;min-height:210px;padding:var(--space-5);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state>div{width:54px;height:54px;color:var(--accent);border-radius:var(--radius-lg);background:var(--accent-dim);place-items:center;display:grid}.empty-state>div svg{width:24px;height:24px}.empty-state strong{margin-top:var(--space-3);font-size:var(--font-size-sm)}.empty-state p{max-width:320px;color:var(--text-muted);font-size:var(--font-size-xs);margin:6px 0 0;line-height:1.7}.empty-hint{margin-top:var(--space-2);color:var(--text-faint);font-size:var(--font-size-xs)}.error-boundary{justify-content:center;align-items:center;gap:var(--space-3);min-height:320px;padding:var(--space-5);text-align:center;flex-direction:column;display:flex}.error-boundary-icon{width:54px;height:54px;color:var(--danger);border-radius:var(--radius-lg);background:var(--danger-dim);place-items:center;display:grid}.error-boundary-icon svg{width:24px;height:24px}.error-boundary strong{font-size:var(--font-size-sm)}.error-boundary p{max-width:420px;color:var(--text-muted);font-size:var(--font-size-xs);margin:0;line-height:1.7}.error-boundary-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.skeleton{width:var(--w,100%);height:var(--h,14px);border-radius:var(--radius-sm);background:var(--surface-2);display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--border) 70%, transparent), transparent);animation:1.6s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.dialog-backdrop{z-index:var(--z-dialog);padding:var(--space-5);background:color-mix(in srgb, var(--bg) 58%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in var(--transition) ease;place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(490px,100%);max-height:calc(100dvh - 40px);padding:var(--space-5);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg), var(--shadow-inset);animation:dialog-in var(--transition-slow) ease;overflow-y:auto}.dialog-icon{width:48px;height:48px;margin-bottom:var(--space-4);color:var(--danger);background:var(--danger-dim);border-radius:14px;place-items:center;display:grid}.dialog-icon.safe{color:var(--ok);background:var(--ok-dim)}.dialog-icon.warning{color:var(--warning);background:var(--warning-dim)}.dialog-icon svg{width:22px;height:22px}.confirm-dialog h2{font-size:var(--font-size-lg);letter-spacing:-.02em;margin:8px 0}.confirm-dialog>p{color:var(--text-muted);font-size:var(--font-size-xs);margin:0;line-height:1.75}.dialog-target{margin:var(--space-5) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);gap:5px;display:grid}.dialog-target span,.dialog-reason span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:650}.dialog-target code{color:var(--accent-strong);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-target small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.dialog-reason{gap:var(--space-2);display:grid}.dialog-reason textarea{min-height:92px;line-height:1.6}.dialog-reason small{color:var(--text-muted);font-size:var(--font-size-xs);text-align:right}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}.login-page{min-height:100vh;min-height:100dvh;padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));background:radial-gradient(720px 380px at 50% -10%, var(--accent-dim), transparent 62%), radial-gradient(480px 300px at 110% 110%, color-mix(in srgb, var(--tone-violet) 9%, transparent), transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--bg) 92%, #04110d), var(--bg));place-items:center;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--accent) 3%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 3%, transparent) 1px, transparent 1px);pointer-events:none;background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.login-orb{pointer-events:none;border-radius:50%;position:absolute}.orb-one{border:1px solid color-mix(in srgb, var(--accent) 13%, transparent);width:380px;height:380px;box-shadow:0 0 0 50px color-mix(in srgb, var(--accent) 2.5%, transparent), 0 0 0 110px color-mix(in srgb, var(--accent) 1.6%, transparent);top:-130px;right:-130px}.orb-two{background:var(--accent-dim);filter:blur(56px);width:240px;height:240px;bottom:-90px;left:-110px}.orb-three{border:1px solid color-mix(in srgb, var(--tone-violet) 14%, transparent);width:190px;height:190px;box-shadow:0 0 0 32px color-mix(in srgb, var(--tone-violet) 2%, transparent);top:22%;left:12%}.login-card{z-index:2;border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--surface) 90%, transparent);width:min(430px,100%);box-shadow:var(--shadow-lg), var(--shadow-inset);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:dialog-in var(--transition-slow) ease;padding:38px;position:relative}.login-card>.brand-mark{margin:0 auto}.login-shield{stroke-width:2.1px;width:32px;height:32px}.login-heading{text-align:center;margin:25px 0 28px}.login-heading h1{letter-spacing:.04em;margin:8px 0;font-size:29px}.login-heading p{color:var(--text-muted);font-size:var(--font-size-xs);margin:0;line-height:1.7}.login-card form{gap:var(--space-4);flex-direction:column;display:flex}.login-card label{gap:7px;display:grid}.login-card label>span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:650}.input-wrap{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);transition:border-color var(--transition), box-shadow var(--transition);padding:0 14px;display:flex}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.input-wrap>svg{width:17px;height:17px;color:var(--text-muted);flex:none}.input-wrap input{width:100%;min-width:0;color:var(--text);font-size:var(--font-size-sm);background:0 0;border:0;outline:0;padding:13px 0}.input-wrap button{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.input-wrap button:hover{color:var(--text)}.input-wrap button svg{width:16px;height:16px}.login-button{width:100%;margin-top:4px}.login-error{align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);border-radius:var(--radius-md);color:var(--danger-strong);background:var(--danger-dim);font-size:var(--font-size-xs);padding:10px 12px;display:flex}.login-error svg{flex:none;width:15px;height:15px}.login-foot{margin-top:var(--space-5);color:var(--text-muted);font-size:var(--font-size-xs);text-align:center;justify-content:center;align-items:center;gap:7px;display:flex}.login-foot svg{flex:none;width:13px;height:13px}.system-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.system-card{align-content:start;display:grid}.system-icon{width:42px;height:42px;margin-bottom:var(--space-5);color:var(--accent);border-radius:var(--radius-md);background:var(--accent-dim);place-items:center;display:grid}.system-icon svg{width:20px;height:20px}.system-card span{color:var(--text-muted);font-size:var(--font-size-xs)}.system-card strong{text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:17px;overflow:hidden}.system-card small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.endpoint-row{gap:var(--space-3);margin-top:var(--space-5);display:flex}.endpoint-row code{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;color:var(--accent-strong);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;align-self:center;padding:13px 15px;overflow:hidden}.warning-panel{position:relative;overflow:hidden}.warning-icon{width:52px;height:52px;color:var(--warning);background:var(--warning-dim);border-radius:15px;place-items:center;display:grid}.warning-icon svg{width:24px;height:24px}.warning-panel h3{font-size:var(--font-size-md);margin:18px 0 12px}.warning-panel ul{padding-left:var(--space-5);color:var(--text-muted);font-size:var(--font-size-xs);margin:0;line-height:2.1}.warning-panel p{padding-top:var(--space-4);margin:var(--space-4) 0 0;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.7}.toast-container{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);align-items:stretch;gap:var(--space-2);flex-direction:column;width:min(380px,100vw - 40px);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-lg);font-size:var(--font-size-xs);animation:toast-in var(--transition-slow) ease;padding:13px 14px;line-height:1.6;display:flex}.toast-success{color:var(--ok-strong);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.toast-error{color:var(--danger-strong);border-color:color-mix(in srgb, var(--danger) 32%, transparent)}.toast-info{color:var(--info);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.toast-close{border-radius:var(--radius-sm);color:currentColor;opacity:.7;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:26px;height:26px;margin-left:auto;padding:0;display:grid}.toast-close:hover{opacity:1;background:color-mix(in srgb, var(--border) 45%, transparent)}.toast-close svg{width:14px;height:14px}.toast-message{overflow-wrap:anywhere;flex:1;min-width:0}.sparkline{width:100%;height:34px;margin-top:var(--space-4);display:block;overflow:visible}.sparkline-line{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.sparkline-baseline{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.sparkline-empty{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--font-size-xs);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);padding:18px}.policy-strip{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm), var(--shadow-inset);flex-wrap:wrap;display:flex}.policy-badge{border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);border-radius:var(--radius-full);color:var(--accent-strong);background:var(--accent-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:7px;padding:7px 12px;font-weight:700;display:inline-flex}.policy-badge svg,.policy-binding svg{width:14px;height:14px}.policy-strip-note{color:var(--text-muted);font-size:var(--font-size-xs)}.policy-binding{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);background:var(--surface-2);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-style:normal;display:inline-flex}.policy-edit-button{margin-left:auto}.policy-form{max-width:640px}.policy-form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.policy-actions{gap:var(--space-2);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.policy-canary-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-5);display:flex}.policy-canary-head span{color:var(--text-muted);font-size:var(--font-size-xs)}.policy-canary-head strong{letter-spacing:-.03em;font-size:30px;line-height:1}.policy-canary-track{height:10px;margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);overflow:hidden}.policy-canary-fill{width:var(--w,0%);border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;transition:width var(--transition-slow)}.policy-canary-note,.policy-threshold-note{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.7}.policy-threshold-map{margin-top:var(--space-5)}.policy-threshold-track{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);height:14px;display:flex;position:relative;overflow:hidden}.policy-threshold-seg{width:var(--w,0%);height:100%}.policy-threshold-seg.low{background:var(--ok)}.policy-threshold-seg.medium{background:var(--warning)}.policy-threshold-seg.high{background:var(--danger)}.policy-threshold-seg.reject{background:color-mix(in srgb, var(--critical) 70%, var(--bg))}.policy-threshold-ticks{height:20px;margin-top:var(--space-2);position:relative}.policy-threshold-ticks span{top:0;left:var(--left,0%);color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.policy-threshold-ticks span:first-child{transform:none}.policy-threshold-ticks i{background:var(--border-strong);width:1px;height:14px}.audit-badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.audit-search-hint{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.empty-action{margin-top:var(--space-4)}.tap-target{min-height:44px}.scan-limit-banner{align-items:center;gap:var(--space-2);margin-top:var(--space-4);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:var(--radius-md);color:var(--warning-strong);background:var(--warning-dim);font-size:var(--font-size-xs);padding:12px 14px;line-height:1.6;display:flex}.scan-limit-banner svg{flex:none;width:16px;height:16px}.scan-limit-banner strong{white-space:nowrap;font-weight:700}.scan-limit-banner span{color:var(--text-muted)}.filter-panel{display:block}.success-banner-body{gap:3px;min-width:0;display:grid}.success-banner-body strong{font-size:var(--font-size-xs)}.success-banner-body small{color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.health-note{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.7}.config-section{gap:var(--space-3);padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--border);display:grid}.config-section:first-of-type{margin-top:var(--space-5);border-top:0;padding-top:0}.config-section h3{font-size:var(--font-size-sm);margin:0}.config-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.config-chips code{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-strong);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--font-size-xs);overflow-wrap:anywhere;padding:6px 10px}.application-audiences.editable{gap:var(--space-3);display:grid}.audience-current{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.drawer-body{gap:var(--space-3);display:grid}.filter-toggle{justify-content:center}.spin{animation:.8s linear infinite spin}.mobile-only{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (max-width:1100px){.metric-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid.wasm-grid{grid-template-columns:1fr}.quick-grid,.system-grid{grid-template-columns:1fr 1fr}.posture-grid{grid-template-columns:1fr}.flow-steps{grid-template-columns:1fr 18px 1fr}.flow-steps>b:nth-of-type(2){display:none}.flow-steps>div:nth-of-type(3){grid-column:1}.flow-steps>b:nth-of-type(3){grid-column:2}.flow-steps>div:nth-of-type(4){grid-column:3}.filter-grid{grid-template-columns:1fr 1fr}.direct-revoke-form,.ttl-form{grid-template-columns:1fr}.device-list-head{display:none}.device-list{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.device-row{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);grid-template-columns:1fr 1fr}.device-identity{grid-column:1/-1}.device-actions{flex-direction:row;grid-column:1/-1}.device-actions>*{flex:1}}@media (max-width:760px){.mobile-only{display:grid}.sidebar{width:min(290px,86vw);transition:transform var(--transition-slow);box-shadow:var(--shadow-lg);transform:translate(-105%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:calc(var(--z-header) - 1);background:color-mix(in srgb, var(--bg) 55%, transparent);opacity:0;pointer-events:none;transition:opacity var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:block;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.main-content{margin-left:0}.topbar{min-height:calc(60px + env(safe-area-inset-top,0px));padding:calc(env(safe-area-inset-top,0px) + 8px) var(--space-4) 8px}.topbar-title .eyebrow,.live-pill{display:none}.icon-button,.avatar-button{width:44px;height:44px}.primary-button,.secondary-button,.danger-button,.safe-button{min-height:44px}.sidebar nav button{min-height:48px}.pagination button{min-height:44px}.page-wrap{padding:var(--space-4) var(--space-4) calc(28px + env(safe-area-inset-bottom,0px))}.page-stack{gap:var(--space-4)}.hero{min-height:0;padding:26px 24px}.hero-shield{display:none}.hero h1{font-size:29px}.hero p{font-size:var(--font-size-xs)}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.metric-card{padding:var(--space-4);gap:var(--space-3)}.metric-icon{width:40px;height:40px}.metric-card strong{font-size:19px}.stat-grid{gap:var(--space-3);grid-template-columns:1fr 1fr}.stat-card{padding:var(--space-4);gap:var(--space-3)}.stat-icon{width:38px;height:38px}.stat-value{font-size:var(--font-size-lg)}.quick-grid,.system-grid{grid-template-columns:1fr}.panel{padding:var(--space-4)}.page-heading h1{font-size:28px}.table-head{display:none}.table-row{gap:var(--space-2);grid-template-columns:1fr;padding:14px 0}.table-row>span{padding-left:var(--space-3);border-left:3px solid var(--border)}.blacklist-form{grid-template-columns:1fr}.console-toolbar,.console-toolbar>div{flex-direction:column;align-items:stretch}.console-toolbar select,.audit-search input{width:100%;min-width:0}.filter-panel{display:none}.filter-panel.open{display:block}.policy-threshold-ticks{height:auto;margin-top:var(--space-3);flex-wrap:wrap;gap:6px 18px;display:flex}.policy-threshold-ticks span{position:static;transform:none}.policy-threshold-ticks i{background:var(--text-faint);border-radius:50%;width:5px;height:5px}.toolbar-actions,.audience-actions{width:100%}.toolbar-actions button,.audience-actions button{flex:1}.filter-grid,.detail-grid,.device-list,.device-row{grid-template-columns:1fr}.device-identity,.device-actions{grid-column:1}.device-identity{grid-template-columns:36px minmax(0,1fr)}.device-identity .state-pill{grid-column:2}.device-actions{flex-direction:column}.device-actions>*{flex:none}.drawer-backdrop{justify-content:stretch}.device-drawer{border-left:0;width:100%}.dialog-backdrop{align-items:stretch;padding:0}.confirm-dialog{width:100%;max-height:none;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));border:0;border-radius:0;animation-name:dialog-in}.dialog-actions{flex-direction:column-reverse}.dialog-actions>*{width:100%;min-height:44px}.toast-container{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;left:12px}.toast{border-radius:var(--radius-lg)}.audit-event{grid-template-columns:18px 1fr}.audit-time{justify-content:flex-start;gap:var(--space-2);flex-wrap:wrap;grid-column:2;display:flex}.audit-meta{gap:5px;display:grid}.flow-steps{grid-template-columns:1fr}.flow-steps>div,.flow-steps>div:nth-of-type(3),.flow-steps>div:nth-of-type(4){grid-column:1;min-height:0}.flow-steps>b{background:linear-gradient(color-mix(in srgb, var(--accent) 16%, transparent), var(--accent), color-mix(in srgb, var(--accent) 16%, transparent));width:1px;height:18px;margin:auto}.flow-steps>b:nth-of-type(2){display:block}.application-grid{grid-template-columns:1fr}.application-head{align-items:flex-start}.application-head .badge{white-space:normal}.operator-note{padding:var(--space-4)}.gate-grid,.health-grid{grid-template-columns:1fr}.physical-policy{grid-template-columns:38px minmax(0,1fr);align-items:start;padding:14px}.physical-policy>div{width:38px;height:38px}.physical-policy em{grid-column:2}.block-reason{white-space:normal}.pagination{flex-direction:column;align-items:flex-start}.pagination>div{width:100%}.pagination button{flex:1}.login-card{padding:30px 24px}.login-orb.orb-three{display:none}.endpoint-row{flex-direction:column}.error-banner{margin:var(--space-3) var(--space-4) 0}}@media (max-width:480px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.topbar-title strong{font-size:var(--font-size-sm)}.topbar-actions{gap:var(--space-2)}.page-stack{gap:var(--space-3)}.hero{border-radius:var(--radius-lg);padding:22px 18px}.hero h1{font-size:26px}.hero-chip{padding:6px 10px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:var(--space-3);gap:var(--space-2)}.stat-icon{width:34px;height:34px}.stat-icon svg{width:17px;height:17px}.stat-value{font-size:18px}.quick-card{padding:14px}.ban-row{grid-template-columns:34px minmax(0,1fr)}.ban-row time{grid-column:2}.application-detail>div{flex-wrap:wrap}.audience-matrix{grid-template-columns:1fr}.login-card{border-radius:var(--radius-lg);padding:28px 20px}.login-heading h1{font-size:26px}.threshold-readout strong{font-size:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
