@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f3;--surface-3:#e3e6ea;--border:#dde1e6;--border-strong:#c4cad2;--text:#1f2328;--text-2:#4a525c;--muted:#737c87;--primary:#434a54;--primary-hover:#353b43;--primary-contrast:#fff;--primary-soft:#e6e9ed;--primary-soft-text:#3a414a;--accent:#f59e0b;--accent-text:#92400e;--accent-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--success:#047857;--success-soft:#d1fae5;--warning:#b45309;--warning-soft:#fef3c7;--shadow:0 1px 2px #1f23280f, 0 8px 24px #1f232814;--shadow-lg:0 24px 64px #1f232838;--hero:linear-gradient(145deg, #2b3038 0%, #434a54 60%, #5a6370 100%);--radius:12px;--radius-sm:8px;--font:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171b;--surface:#1b1f24;--surface-2:#23282e;--surface-3:#2c323a;--border:#30363e;--border-strong:#434a54;--text:#eef1f4;--text-2:#c3c9d1;--muted:#8b95a1;--primary:#6b7685;--primary-hover:#7d8897;--primary-contrast:#fff;--primary-soft:#2c333c;--primary-soft-text:#d0d6de;--accent:#fbbf24;--accent-text:#fcd34d;--accent-soft:#3a2a0a;--danger:#f87171;--danger-soft:#3b1219;--success:#34d399;--success-soft:#0b2f25;--warning:#fbbf24;--warning-soft:#3a2a0a;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d;--shadow-lg:0 24px 64px #0000008c;--hero:linear-gradient(145deg, #1b1f24 0%, #2b3038 55%, #434a54 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14171b;--surface:#1b1f24;--surface-2:#23282e;--surface-3:#2c323a;--border:#30363e;--border-strong:#434a54;--text:#eef1f4;--text-2:#c3c9d1;--muted:#8b95a1;--primary:#6b7685;--primary-hover:#7d8897;--primary-contrast:#fff;--primary-soft:#2c333c;--primary-soft-text:#d0d6de;--accent:#fbbf24;--accent-text:#fcd34d;--accent-soft:#3a2a0a;--danger:#f87171;--danger-soft:#3b1219;--success:#34d399;--success-soft:#0b2f25;--warning:#fbbf24;--warning-soft:#3a2a0a;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d;--shadow-lg:0 24px 64px #0000008c;--hero:linear-gradient(145deg, #1b1f24 0%, #2b3038 55%, #434a54 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:1.6rem;font-weight:750}h2{font-size:1.2rem;font-weight:700}h3{font-size:1rem;font-weight:650}p{margin:0}a{color:var(--primary)}button{font:inherit;color:inherit}code,.mono{font-family:var(--mono);font-size:.92em}::selection{background:var(--accent);color:#1f2328}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:12px}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:38px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#1f2328}.btn-accent:hover:not(:disabled){filter:brightness(1.05);background:var(--accent)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-block{width:100%;height:44px;font-size:15px}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.btn-link:hover{text-decoration:underline}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.active{color:var(--accent)}.field{flex-direction:column;gap:6px;display:flex}.field>label,.label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.input,select.input,textarea.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:40px;color:var(--text);font:inherit;padding:0 12px;font-size:14px}textarea.input{resize:vertical;height:auto;min-height:90px;padding:10px 12px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input.mono{font-family:var(--mono)}.input-lg{height:46px;font-size:15px}.input-group{align-items:center;display:flex;position:relative}.input-group .input{padding-right:76px}.input-group .actions{gap:2px;display:flex;position:absolute;right:4px}.code-input{text-align:center;font-family:var(--mono);letter-spacing:.4em;height:54px;font-size:24px}.checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox input{accent-color:var(--primary);width:16px;height:16px}.hint{color:var(--muted);font-size:12px}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.alert svg{flex:none;margin-top:2px}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.alert-info{background:var(--primary-soft);color:var(--primary-soft-text)}.alert-success{background:var(--success-soft);color:var(--success)}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand .pass{color:var(--accent)}.brand-lg{gap:14px;font-size:28px}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100%;display:grid}.auth-hero{background:var(--hero);color:#f4f5f7;flex-direction:column;justify-content:space-between;gap:32px;padding:48px;display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"";opacity:.14;background:url(/hex-pattern.svg) 50%/contain no-repeat;width:420px;height:420px;position:absolute;bottom:-120px;right:-120px}.auth-hero .brand .pass{color:#fbbf24}.auth-hero h2{letter-spacing:-.02em;max-width:420px;font-size:2rem;font-weight:750}.auth-hero h2 em{color:#fbbf24;font-style:normal}.auth-hero ul{z-index:1;gap:14px;max-width:420px;margin:0;padding:0;list-style:none;display:grid;position:relative}.auth-hero li{color:#d5dae0;gap:12px;display:flex}.auth-hero li svg{color:#fbbf24;flex:none;margin-top:2px}.auth-hero .foot{color:#9aa4b1;font-size:12px}.auth-main{place-items:center;padding:32px 16px;display:grid}.auth-card{width:100%;max-width:420px}.auth-card h1{margin-bottom:6px}.steps{gap:6px;margin-bottom:20px;display:flex}.steps span{background:var(--surface-3);border-radius:4px;flex:1;height:4px}.steps span.on{background:var(--accent)}.qr{border-radius:var(--radius);width:max-content;box-shadow:var(--shadow);background:#fff;place-items:center;margin:0 auto;padding:12px;display:grid}.qr img{width:200px;height:200px;display:block}.secret-box{font-family:var(--mono);word-break:break-all;background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.codes{background:var(--surface-2);border-radius:var(--radius);font-family:var(--mono);text-align:center;grid-template-columns:1fr 1fr;gap:8px;padding:16px;font-size:15px;display:grid}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-hero{padding:24px 16px}.auth-hero h2,.auth-hero ul,.auth-hero .foot{display:none}}.meter{gap:4px;display:flex}.meter span{background:var(--surface-3);border-radius:4px;flex:1;height:4px}.meter[data-score="0"] span:nth-child(-n+1),.meter[data-score="1"] span:nth-child(-n+2){background:var(--danger)}.meter[data-score="2"] span:nth-child(-n+3){background:var(--accent)}.meter[data-score="3"] span:nth-child(-n+4),.meter[data-score="4"] span{background:var(--success)}.shell{grid-template-columns:248px minmax(0,1fr);height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.sidebar-head{padding:18px 16px 12px}.sidebar-scroll{flex:1;padding:4px 10px 12px;overflow-y:auto}.nav-section{margin-top:14px}.nav-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;padding:0 8px 4px;font-size:11px;font-weight:700;display:flex}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;font-weight:550;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary-soft-text)}.nav-item .count{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.nav-item svg{flex:none}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:10px;display:flex}.user-chip{align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;padding:12px 20px;display:flex}.search{flex:1;max-width:520px;margin-right:auto;position:relative}.search svg{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{background:var(--surface-2);border-color:#0000;padding-left:38px}.search .input:focus{background:var(--surface)}.menu-btn{display:none}.content{flex:1;min-height:0;overflow-y:auto}.page{max-width:1080px;padding:24px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.split{grid-template-columns:clamp(340px,38%,560px) minmax(0,1fr);height:100%;display:grid}.list-pane{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto}.list-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);padding:14px 16px 10px;position:sticky;top:0}.item-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex}.item-row:hover{background:var(--surface-2)}.item-row.active{background:var(--primary-soft)}.item-icon{background:var(--surface-3);width:36px;height:36px;color:var(--primary-soft-text);border-radius:10px;flex:none;place-items:center;display:grid}.item-icon.lg{border-radius:14px;width:52px;height:52px}.item-row .title{color:var(--text);font-weight:650}.item-row .sub{color:var(--muted);font-size:12px}.detail-pane{overflow-y:auto}.detail{max-width:720px;padding:24px}.detail-head{align-items:center;gap:16px;margin-bottom:20px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:20px}.fields{flex-direction:column;display:flex}.field-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:58px;padding:10px 16px;display:flex}.field-row:last-child{border-bottom:0}.field-row .label{margin-bottom:2px;display:block}.field-row .value{word-break:break-all;white-space:pre-wrap}.field-row .value.secret{font-family:var(--mono);letter-spacing:.05em}.field-row .actions{opacity:.55;gap:2px;transition:opacity .15s;display:flex}.field-row:hover .actions,.field-row:focus-within .actions{opacity:1}.totp-code{font-family:var(--mono);letter-spacing:.12em;color:var(--primary-soft-text);font-size:20px;font-weight:700}.ring{width:22px;height:22px}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-primary{background:var(--primary-soft);color:var(--primary-soft-text)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-success{background:var(--success-soft);color:var(--success)}.empty{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:64px 24px;display:grid}.empty svg{color:var(--border-strong)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.table tr:last-child td{border-bottom:0}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:650}.tab.active{color:var(--text);border-color:var(--accent)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14171b8c;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;animation:.14s ease-out pop;display:flex}.modal-lg{max-width:720px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-body{padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-sm);color:#f4f5f7;box-shadow:var(--shadow-lg);background:#1f2328;align-items:center;gap:10px;padding:10px 14px;font-weight:550;animation:.14s ease-out pop;display:flex}.toast svg{color:#fbbf24}.toast.error svg{color:#f87171}.popover{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:320px;box-shadow:var(--shadow-lg);padding:16px;position:absolute;top:calc(100% + 6px);right:0}.gen-output{font-family:var(--mono);word-break:break-all;background:var(--surface-2);border-radius:var(--radius-sm);min-height:44px;padding:10px 12px;font-size:15px}input[type=range]{accent-color:var(--primary);width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=960px){.split{grid-template-columns:1fr}.split.has-detail .list-pane,.split:not(.has-detail) .detail-pane{display:none}.back-btn{display:inline-grid!important}}@media (width>=961px){.back-btn{display:none!important}}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{z-index:45;width:min(300px,85vw);box-shadow:var(--shadow-lg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-scrim{z-index:44;background:#14171b73;position:fixed;inset:0}.menu-btn{display:inline-grid}.topbar{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));gap:6px}.search{min-width:0}.page,.detail{padding:16px max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.list-pane{padding-bottom:env(safe-area-inset-bottom)}.field-row .actions{opacity:1}.field-row{flex-wrap:wrap}.detail-head{flex-wrap:wrap;gap:10px}.detail-head .grow{min-width:60%}.page-head{margin-bottom:14px}.item-row{min-height:60px}.toasts{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.popover{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;position:fixed}.modal-backdrop{padding:0;padding-top:env(safe-area-inset-top);align-items:end}.modal,.modal-lg{max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:18px 18px 0 0}.modal-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1}.modal-body{padding:16px}.auth-main{padding:24px 16px calc(32px + env(safe-area-inset-bottom));place-items:start center}.auth-hero{padding-top:max(20px, env(safe-area-inset-top))}}@media (width<=480px){.hide-sm{display:none}.topbar .btn-primary{width:40px;padding:0}.codes{padding:12px;font-size:14px}.qr img{width:180px;height:180px}}@media (pointer:coarse){.icon-btn{width:40px;height:40px}.input,select.input,textarea.input{font-size:16px}.input,select.input{height:44px}.btn{height:42px}.btn-sm{height:36px}.nav-item{padding:10px 12px}.code-input{height:58px;font-size:26px}}@media (display-mode:standalone){.sidebar,.topbar,.tabs,.nav-item,.btn{-webkit-user-select:none;user-select:none}}html{font-size:15px}body,.input,select.input,textarea.input{font-size:13px}.input-lg,.btn-block{font-size:14px}.btn-sm{font-size:12px}@media (pointer:coarse){.input,select.input,textarea.input{font-size:16px}}.brand-logo{flex:none;display:block}.status{align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.status .dot{border-radius:50%;flex:none;width:8px;height:8px}.status.on{color:var(--success)}.status.on .dot{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.status.off{color:var(--muted)}.status.off .dot{background:var(--border-strong)}.item-icon.is-off{opacity:.55}.page-wide{max-width:1280px}.detail-wide{max-width:860px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;column-gap:12px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.stat:hover{border-color:var(--border-strong);transform:translateY(-1px)}.stat-icon{background:var(--surface-3);width:40px;height:40px;color:var(--text-2);border-radius:10px;grid-row:1/4;place-items:center;display:grid}.stat-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1.1}.stat-label{color:var(--text-2);font-weight:650}.tone-success .stat-icon{background:var(--success-soft);color:var(--success)}.tone-danger .stat-icon{background:var(--danger-soft);color:var(--danger)}.tone-accent .stat-icon{background:var(--accent-soft);color:var(--accent-text)}.dash-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;display:grid}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.list-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}a.list-row:hover{background:var(--surface-2)}.alert-icon{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.lvl-critical{background:var(--danger-soft);color:var(--danger)}.lvl-warning{background:var(--accent-soft);color:var(--accent-text)}.lvl-info{background:var(--primary-soft);color:var(--primary-soft-text)}.health-line{align-items:center;gap:12px;display:flex}.health-icon{background:var(--success-soft);width:32px;height:32px;color:var(--success);border-radius:8px;flex:none;place-items:center;display:grid}.health-icon.bad{background:var(--danger-soft);color:var(--danger)}.usage{flex-direction:column;gap:6px;display:flex}.bar{background:var(--surface-3);border-radius:6px;height:6px;margin-top:4px;overflow:hidden}.bar>span{background:var(--success);border-radius:6px;height:100%;transition:width .3s;display:block}.bar[data-level=warn]>span{background:var(--accent)}.bar[data-level=crit]>span{background:var(--danger)}a.item-row{color:inherit;text-decoration:none}.seg{background:var(--surface-2);border-radius:var(--radius-sm);flex:none;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:650}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.action-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn:disabled:hover{color:var(--muted);background:0 0}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.info{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;min-height:62px;padding:12px 16px;display:flex}.info:nth-child(odd){border-right:1px solid var(--border)}.info:nth-last-child(-n+2){border-bottom:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.modal-xl{max-width:1040px}.viewer{aspect-ratio:16/9;border-radius:var(--radius-sm);color:#c3c9d1;background:#0d1014;overflow:hidden}.viewer-placeholder{text-align:center;place-content:center;justify-items:center;gap:8px;height:100%;padding:24px;display:grid}.viewer-placeholder svg{color:#fbbf24}.viewer iframe{background:#0d1014;border:0;width:100%;height:100%;display:block}.session{z-index:60;background:#0d1014;flex-direction:column;display:flex;position:fixed;inset:0}.session-bar{background:var(--surface,#16191e);border-bottom:1px solid var(--border,#262b33);min-height:48px;color:var(--text,#e6e9ee);align-items:center;gap:12px;padding:8px 12px;display:flex}.session-title{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.session-title strong{text-overflow:ellipsis;overflow:hidden}.session-hint{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.session-actions{gap:6px;margin-left:auto;display:inline-flex}.session-body{flex:1;min-height:0}.session-body iframe{background:#0d1014;border:0;width:100%;height:100%;display:block}.session-body iframe[hidden]{display:none}.session-tabs{border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;padding:2px;display:inline-flex}.session-tab{border-radius:var(--radius-sm);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.session-tab:hover{color:var(--text)}.session-tab.active{background:var(--primary);color:var(--primary-contrast)}@media (width<=1100px){.session-hint{display:none}}@media (width<=760px){.session-tab span,.session-actions .btn span{display:none}}.modal-xl .modal-body{padding:12px}.modal-foot .grow{min-width:0}@media (width<=1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}}@media (width<=560px){.stat-grid{gap:10px}.stat{column-gap:10px;padding:12px}.stat-icon{width:34px;height:34px}.stat-value{font-size:1.4rem}.info-grid{grid-template-columns:1fr}.info:nth-child(odd){border-right:0}.info:nth-last-child(2){border-bottom:1px solid var(--border)}.action-bar .btn{flex:1}.action-bar .grow{display:none}}.nv{background:#0d1014;flex-direction:column;width:100%;height:100%;display:flex}.nv[hidden]{display:none}.nv-bar{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:6px 12px;display:flex}.nv-phase{align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.nv-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%}.nv-failed{color:var(--danger)}.nv-stats{font-variant-numeric:tabular-nums;gap:10px;display:inline-flex}.nv-quality{align-items:center;gap:4px;display:inline-flex}.nv-quality select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;padding:3px 6px}.nv-screen{outline:none;flex:1;min-height:0;position:relative}.nv-screen:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.nv-screen video{object-fit:contain;cursor:default;touch-action:none;background:#000;width:100%;height:100%;display:block}.nv-overlay{text-align:center;color:#c3c9d1;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}@media (width<=760px){.nv-bar .btn span,.nv-stats{display:none}}.nv-screen.nv-actual{overflow:auto}.nv-screen.nv-actual video{object-fit:fill;max-width:none}.nv-main{flex:1;min-height:0;display:flex;position:relative}.nv-main .nv-screen{flex:1;min-width:0}.nv-drop{box-shadow:inset 0 0 0 3px var(--primary)}.nv-drop-hint{pointer-events:none;background:#0d1014b3}.nf{background:var(--surface);border-left:1px solid var(--border);width:340px;color:var(--text);flex-direction:column;flex:none;min-height:0;display:flex}.nf-head,.nf-path{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 10px;display:flex}.nf-path span{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;overflow:hidden}.nf-list{flex:1;min-height:0;padding:4px 0;overflow:auto}.nf-row{align-items:center;gap:8px;padding:4px 10px;display:flex}.nf-row:hover{background:var(--surface-2)}.nf-name{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:2px 0;overflow:hidden}.nf-empty{place-content:center;padding:24px;display:grid}.nf-foot{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:10px;display:flex}.nf-transfers{border-top:1px solid var(--border);flex-direction:column;gap:6px;max-height:35%;padding:10px;display:flex;overflow:auto}.nf-tr{grid-template-columns:1fr auto;gap:2px 8px;display:grid}.nf-tr>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nf-error>span:last-child{color:var(--danger)}.nf-ok>span:last-child{color:var(--success)}.nf-bar{background:var(--surface-3);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.nf-bar span{background:var(--primary);height:100%;display:block}@media (width<=760px){.nf{z-index:2;width:100%;position:absolute;top:0;bottom:0;right:0}}.perm-table{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:55vh;overflow:auto}.perm-table th{background:var(--surface-2);z-index:1;vertical-align:bottom;font-size:11px;line-height:1.2;position:sticky;top:0}.perm-cell{text-align:center;width:80px}.perm-cell input{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.perm-company td{background:var(--surface-2);font-weight:650}.audit-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audit-filters>select,.audit-filters>input{width:auto;min-width:150px}.nv-clip-note{color:#fff;pointer-events:none;box-shadow:var(--shadow);background:#0d1014d9;border-radius:999px;padding:8px 14px;font-size:12px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.nv-perm{z-index:3;border-radius:var(--radius);background:var(--surface);width:min(520px,100% - 32px);color:var(--text);border:1px solid var(--warning);box-shadow:var(--shadow-lg);flex-direction:column;gap:6px;padding:16px 18px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.nv-perm ul{gap:4px;margin:0;padding-left:4px;list-style:none;display:grid}
