:root{color-scheme:dark;--theme-bg: #080810;--theme-surface: #101018;--theme-line: #2c3448;--theme-line-strong: #3a4558;--theme-elevated: rgba(255, 255, 255, .03);--theme-elevated-strong: rgba(255, 255, 255, .06);--theme-text: #d8e0ea;--theme-muted: #8a96a8;--theme-faint: #6b7588;--theme-portal: #6eb8d4;--theme-portal-soft: rgba(110, 184, 212, .12);--theme-portal-border: rgba(110, 184, 212, .45);--theme-auth: #a888d8;--theme-auth-soft: rgba(168, 136, 216, .12);--theme-auth-border: rgba(168, 136, 216, .45);--theme-proxy: #56b8ad;--theme-proxy-soft: rgba(86, 184, 173, .12);--theme-proxy-border: rgba(86, 184, 173, .45);--theme-control: #9b8bb8;--theme-control-soft: rgba(155, 139, 184, .12);--theme-control-border: rgba(155, 139, 184, .45);--theme-mikrotik: #f0906b;--theme-mikrotik-soft: rgba(240, 144, 107, .12);--theme-mikrotik-border: rgba(240, 144, 107, .45);--theme-ok: #86efac;--theme-warn: #e8c878;--theme-danger: #f0a0a0;--theme-warn-bg: rgba(232, 200, 120, .08);--theme-warn-line: rgba(232, 200, 120, .22)}:root[data-hmvm-theme=light]{color-scheme:light;--theme-bg: #e8edf3;--theme-surface: #f6f8fb;--theme-line: #c5ceda;--theme-line-strong: #a8b4c4;--theme-elevated: rgba(15, 23, 42, .04);--theme-elevated-strong: rgba(15, 23, 42, .07);--theme-text: #141c28;--theme-muted: #4f5d6f;--theme-faint: #6b7788;--theme-portal: #2d7a96;--theme-portal-soft: rgba(45, 122, 150, .1);--theme-portal-border: rgba(45, 122, 150, .42);--theme-auth: #6f52a0;--theme-auth-soft: rgba(111, 82, 160, .1);--theme-auth-border: rgba(111, 82, 160, .4);--theme-proxy: #2d7a70;--theme-proxy-soft: rgba(45, 122, 112, .1);--theme-proxy-border: rgba(45, 122, 112, .4);--theme-control: #6a5a88;--theme-control-soft: rgba(106, 90, 136, .1);--theme-control-border: rgba(106, 90, 136, .4);--theme-mikrotik: #b85a38;--theme-mikrotik-soft: rgba(184, 90, 56, .1);--theme-mikrotik-border: rgba(184, 90, 56, .4);--theme-ok: #1f7a42;--theme-warn: #9a7209;--theme-danger: #b83838;--theme-warn-bg: rgba(154, 114, 9, .1);--theme-warn-line: rgba(154, 114, 9, .25)}@media (prefers-color-scheme: light){:root[data-hmvm-theme=system]{color-scheme:light;--theme-bg: #e8edf3;--theme-surface: #f6f8fb;--theme-line: #c5ceda;--theme-line-strong: #a8b4c4;--theme-elevated: rgba(15, 23, 42, .04);--theme-elevated-strong: rgba(15, 23, 42, .07);--theme-text: #141c28;--theme-muted: #4f5d6f;--theme-faint: #6b7788;--theme-portal: #2d7a96;--theme-portal-soft: rgba(45, 122, 150, .1);--theme-portal-border: rgba(45, 122, 150, .42);--theme-auth: #6f52a0;--theme-auth-soft: rgba(111, 82, 160, .1);--theme-auth-border: rgba(111, 82, 160, .4);--theme-proxy: #2d7a70;--theme-proxy-soft: rgba(45, 122, 112, .1);--theme-proxy-border: rgba(45, 122, 112, .4);--theme-control: #6a5a88;--theme-control-soft: rgba(106, 90, 136, .1);--theme-control-border: rgba(106, 90, 136, .4);--theme-mikrotik: #b85a38;--theme-mikrotik-soft: rgba(184, 90, 56, .1);--theme-mikrotik-border: rgba(184, 90, 56, .4);--theme-ok: #1f7a42;--theme-warn: #9a7209;--theme-danger: #b83838;--theme-warn-bg: rgba(154, 114, 9, .1);--theme-warn-line: rgba(154, 114, 9, .25)}}@media (prefers-color-scheme: dark){:root[data-hmvm-theme=system]{color-scheme:dark}}:root{--bg: var(--theme-bg);--surface: var(--theme-surface);--line: var(--theme-line);--line-strong: var(--theme-line-strong);--elevated: var(--theme-elevated);--elevated-strong: var(--theme-elevated-strong);--text: var(--theme-text);--muted: var(--theme-muted);--faint: var(--theme-faint);--portal: var(--theme-portal);--portal-soft: var(--theme-portal-soft);--portal-border: var(--theme-portal-border);--auth: var(--theme-auth);--auth-soft: var(--theme-auth-soft);--auth-border: var(--theme-auth-border);--proxy: var(--theme-proxy);--proxy-soft: var(--theme-proxy-soft);--proxy-border: var(--theme-proxy-border);--control: var(--theme-control);--control-soft: var(--theme-control-soft);--control-border: var(--theme-control-border);--mikrotik: var(--theme-mikrotik);--mikrotik-soft: var(--theme-mikrotik-soft);--mikrotik-border: var(--theme-mikrotik-border);--ok: var(--theme-ok);--warn: var(--theme-warn);--danger: var(--theme-danger);--warn-bg: var(--theme-warn-bg);--warn-line: var(--theme-warn-line);--border: var(--line);--border-strong: var(--line-strong);--card: var(--surface);--card-dim: var(--surface);--text-muted: var(--muted);--accent: var(--portal)}.hmvm-theme-toggle{display:flex;flex-direction:column;gap:.35rem;padding:.35rem .25rem .5rem;border-top:1px solid var(--clk-border, var(--line))}.hmvm-theme-toggle--compact{padding-top:.5rem}.hmvm-theme-toggle-label{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--clk-muted, var(--muted))}.hmvm-theme-toggle-hint{font-weight:400;text-transform:none;letter-spacing:normal;color:var(--faint);font-size:.65rem}.hmvm-theme-toggle-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.hmvm-theme-toggle-btn{min-height:1.65rem;padding:.2rem .35rem;border:1px solid var(--clk-border, var(--line));border-radius:var(--radius, 0);background:var(--elevated);color:var(--clk-muted, var(--muted));font:inherit;font-size:.65rem;letter-spacing:.03em;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.hmvm-theme-toggle-btn:hover{border-color:var(--line-strong);color:var(--clk-text, var(--text));background:var(--elevated-strong)}.hmvm-theme-toggle-btn.is-active{border-color:var(--theme-toggle-border, var(--portal-border));color:var(--theme-toggle-accent, var(--portal));background:var(--theme-toggle-soft, var(--portal-soft));font-weight:500}.auth-theme-row{padding:0 1.25rem .75rem;max-width:var(--w, 26rem);margin:0 auto;width:100%}.auth-theme-row .hmvm-theme-toggle{border-top:none;padding-top:0}:root{--hmvm-portal-from: #3d6a9e;--hmvm-portal-to: #2a4d73;--hmvm-portal-accent: #5b8ec4;--hmvm-portal-active: rgba(61, 106, 158, .18);--hmvm-portal-active-border: rgba(91, 142, 196, .42);--hmvm-control-from: #6b5b8a;--hmvm-control-to: #4a3d66;--hmvm-control-accent: #9b8bb8;--hmvm-control-active: rgba(107, 91, 138, .18);--hmvm-control-active-border: rgba(155, 139, 184, .42);--hmvm-mikrotik-from: #e11d48;--hmvm-mikrotik-mid: #be123c;--hmvm-mikrotik-to: #881337;--hmvm-mikrotik-accent: #f0906b;--hmvm-mikrotik-active: rgba(225, 29, 72, .14);--hmvm-mikrotik-active-border: rgba(240, 144, 107, .4);--hmvm-proxy-from: #2a7a72;--hmvm-proxy-to: #1a554f;--hmvm-proxy-accent: #56b8ad;--hmvm-proxy-active: rgba(42, 122, 114, .18);--hmvm-proxy-active-border: rgba(86, 184, 173, .42);--hmvm-platform-from: #4a6fa5;--hmvm-platform-to: #334f75;--hmvm-platform-accent: #79a0d4;--hmvm-platform-active: rgba(74, 111, 165, .18);--hmvm-conv-from: #9a5a7a;--hmvm-conv-to: #6e3f58;--hmvm-conv-accent: #c48aa8;--hmvm-auth-from: #3b82f6;--hmvm-auth-mid: #8b5cf6;--hmvm-auth-to: #10b981;--hmvm-brand-title: #f1f5f9;--hmvm-brand-sub: #64748b;--hmvm-brand-mark-text: #ffffff}.hmvm-brand{display:flex;align-items:center;gap:.65rem;min-width:0}.hmvm-brand-mark{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:.55rem;display:grid;place-items:center;font-size:.72rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--hmvm-brand-mark-text);box-shadow:0 0 0 1px #ffffff14}.hmvm-brand-mark--sm{width:1.55rem;height:1.55rem;font-size:.52rem;border-radius:.4rem}.hmvm-brand-mark--portal{background:linear-gradient(135deg,var(--hmvm-portal-from) 0%,var(--hmvm-portal-to) 100%)}.hmvm-brand-mark--control{background:linear-gradient(135deg,var(--hmvm-control-from) 0%,var(--hmvm-control-to) 100%);font-size:.62rem}.hmvm-brand-mark--mikrotik{background:linear-gradient(135deg,var(--hmvm-mikrotik-from) 0%,var(--hmvm-mikrotik-mid) 55%,var(--hmvm-mikrotik-to) 100%)}.hmvm-brand-mark--proxy{background:linear-gradient(135deg,var(--hmvm-proxy-from) 0%,var(--hmvm-proxy-to) 100%);font-size:.58rem}.hmvm-brand-mark--platform{background:linear-gradient(135deg,var(--hmvm-platform-from) 0%,var(--hmvm-platform-to) 100%)}.hmvm-brand-mark--conv{background:linear-gradient(135deg,var(--hmvm-conv-from) 0%,var(--hmvm-conv-to) 100%);font-size:.58rem}.hmvm-brand-mark--auth{background:linear-gradient(135deg,var(--hmvm-auth-from) 0%,var(--hmvm-auth-mid) 55%,var(--hmvm-auth-to) 100%)}.hmvm-brand-text{min-width:0}.hmvm-brand-title{display:block;font-size:.9rem;font-weight:600;color:var(--hmvm-brand-title);line-height:1.2}.hmvm-brand-sub{display:block;margin-top:.15rem;font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--hmvm-brand-sub);line-height:1.3}.hmvm-brand-sub--natural{text-transform:none;letter-spacing:normal;font-size:.8rem;color:#94a3b8}.hmvm-side-group-head{display:flex;align-items:center;gap:.45rem;padding:.35rem .65rem .2rem}.hmvm-side-group-title{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--hmvm-brand-sub)}.hmvm-side-group-title--portal{color:var(--hmvm-portal-accent)}.hmvm-side-group-title--control{color:var(--hmvm-control-accent)}.hmvm-side-group-title--mikrotik{color:var(--hmvm-mikrotik-accent)}.hmvm-side-group-title--proxy{color:var(--hmvm-proxy-accent)}.hmvm-side-group-title--conv{color:var(--hmvm-conv-accent)}.hmvm-side-group-title--platform{color:var(--hmvm-platform-accent)}:root{--bg-card: var(--surface);--bg-elevated: var(--elevated);--bg-card-inner: var(--elevated);--border: var(--line);--border-strong: var(--line-strong);--text-muted: var(--muted);--text-faint: var(--faint);--accent: var(--auth);--accent-dim: var(--auth-soft);--auth-accent: var(--auth);--radius: 0;--radius-sm: 0;--shadow: none;--w: 26rem;--font: "IBM Plex Mono", ui-monospace, "Courier New", monospace;--mono: var(--font)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100dvh;color:var(--text);background:var(--bg);font-family:var(--font);font-size:.9375rem;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}.skip{position:absolute;left:-9999px;top:0;padding:.5rem 1rem;background:var(--portal);color:var(--bg);z-index:100}.skip:focus{left:.5rem;top:.5rem}.auth-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.top{border-bottom:1px solid var(--line);padding:.75rem 1.25rem;text-align:center}.brand{display:inline-block;color:var(--text);text-decoration:none;font-size:.875rem;letter-spacing:.04em}.gate{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:var(--w);margin:0 auto;padding:2rem 1.25rem 1.5rem}.gate--compact{justify-content:flex-start;padding-top:max(1.5rem,env(safe-area-inset-top))}.gate-head{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin:0 0 1rem;min-width:0}.gate-head--with-back{flex-direction:row;align-items:center;gap:.85rem}.gate-head--with-back .lead{flex:1;min-width:0;font-size:clamp(1.05rem,3.8vw,1.28rem);line-height:1.3}.auth-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.125rem;height:2.125rem;border:1px solid var(--line);background:#1010188c;color:var(--text-muted);cursor:pointer;padding:0;margin:0;line-height:0;transition:border-color .15s ease,color .15s ease,background .15s ease}.auth-back-mark{display:block;width:.45rem;height:.45rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.auth-back:hover{color:var(--auth-accent);border-color:#a888d873;background:#a888d814}.auth-back:focus-visible{outline:2px solid var(--portal);outline-offset:2px}.lead{margin:0;width:100%;font-size:clamp(1.15rem,4vw,1.35rem);font-weight:500;line-height:1.35;letter-spacing:-.01em;color:var(--text)}.gate>.lead{margin:0 0 1rem}.gate-body{display:flex;flex-direction:column;gap:.5rem}.auth-page--gate{position:relative;overflow-x:hidden}.auth-glow{position:fixed;border-radius:50%;filter:blur(88px);pointer-events:none;z-index:0;opacity:.38}.auth-glow--portal{width:min(28rem,75vw);height:min(28rem,75vw);top:-6rem;left:-5rem;background:radial-gradient(circle,rgba(110,184,212,.22) 0%,transparent 68%)}.auth-glow--auth{width:min(24rem,65vw);height:min(24rem,65vw);right:-4rem;bottom:18%;background:radial-gradient(circle,rgba(168,136,216,.16) 0%,transparent 70%)}.auth-page--gate .top,.auth-page--gate .gate,.auth-page--gate .foot{position:relative;z-index:1}.gate--framed{--w: 28rem;justify-content:center;padding:1.5rem 1.35rem 1.25rem}.auth-shell-card{width:100%;border:1px solid var(--line);background:#101018b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-shell-head{padding:1.5rem 1.4rem 1.25rem;border-bottom:1px solid var(--line)}.auth-shell-head .gate-head{margin:0;gap:.15rem}.auth-shell-head .gate-head--with-back{gap:.9rem}.auth-shell-head .lead{font-size:clamp(1.2rem,4.5vw,1.45rem)}.auth-shell-head .gate-head--with-back .lead{font-size:clamp(1.05rem,3.8vw,1.28rem)}.auth-shell-body{padding:1.25rem 1.4rem 1.4rem}.auth-shell-body.gate-body{gap:0}.auth-shell-body .auth-hub-lead{margin:0 0 1.25rem;font-size:.9375rem;line-height:1.55}.auth-shell-card .account-list--services{gap:0;margin:0}.auth-shell-card .service-row-wrap{border:1px solid transparent;border-bottom-color:var(--line);margin:0;padding:0}.auth-shell-card .service-row-wrap:last-child{border-bottom-color:transparent}.auth-shell-card .account-row{border-left:0;padding:1rem .2rem;min-height:3.25rem;gap:1rem}.auth-shell-card .account-list .account-row{border-left:0}.auth-shell-card .account-list{gap:0;margin:0 0 .35rem}.auth-shell-card .account-list>*+*{border-top:1px solid var(--line)}.auth-shell-card .passkey-cta{margin:0;padding:1rem .2rem}.auth-shell-card .passkey-cta-hint{margin-top:.65rem}.auth-shell-card .account-avatar{width:2.35rem;height:2.35rem;font-size:.72rem}.auth-shell-card .account-avatar--custom .service-mark{font-size:.72rem}.auth-shell-card .account-title{font-size:.9375rem}.auth-shell-card .account-subtitle{font-size:.8125rem}.auth-shell-card .service-row-wrap--open{margin:.5rem 0;padding:.55rem .8rem .8rem;border-color:var(--border);background:#ffffff05}.auth-shell-card .service-row-wrap--open .account-row{border-left-color:transparent;padding:.15rem 0 .55rem;min-height:0}.auth-shell-card .service-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.35rem 0 .1rem}.auth-shell-card .service-row-actions .btn-full{grid-column:1 / -1}.auth-hub-lead{margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.foot{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--text-muted);text-align:center}.foot-meta{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem}.foot-sep{color:var(--line);-webkit-user-select:none;user-select:none}.foot a{color:var(--text-muted);text-decoration:none}.foot a:hover{color:var(--text)}.adm-corner{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:20;margin:0;padding:.35rem .5rem;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;letter-spacing:.06em;text-transform:lowercase;cursor:pointer}.adm-corner:hover{color:var(--auth-accent)}.adm-corner:focus-visible{outline:2px solid var(--portal);outline-offset:2px}.auth-stage,.auth-card,.auth-card-header,.auth-card-brand,.auth-card-title,.auth-card-lead,.auth-card-body,.auth-card-footer,.auth-back-icon{all:unset;display:contents}.hmvm-brand-mark--card{display:none}.auth-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.auth-actions--compact{margin-top:.5rem}.auth-inline-msg{margin:.5rem 0 0;text-align:center;font-size:.85rem}.account-list{display:flex;flex-direction:column;gap:.5rem}.account-list--services{gap:.65rem;margin-bottom:.35rem}.account-row{display:flex;align-items:center;gap:.85rem;width:100%;padding:.55rem 0 .55rem 1rem;min-height:2.75rem;border:0;border-left:2px solid var(--line);border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.account-row:hover:not(:disabled){background:var(--bg-elevated)}.account-row:disabled{opacity:.5;cursor:not-allowed}.account-avatar{width:2rem;height:2rem;flex-shrink:0;border-radius:0;border:1px solid var(--line);display:grid;place-items:center;font-weight:500;font-size:.68rem;color:var(--text);background:var(--surface);box-shadow:none}.account-avatar--add{background:var(--surface);color:var(--text-muted);font-size:1rem;font-weight:400;box-shadow:none;border:1px dashed var(--line)}.account-avatar--custom .service-mark{font-size:.68rem;font-weight:700;letter-spacing:-.03em}.account-copy{min-width:0;display:flex;flex-direction:column;gap:.2rem;padding:.05rem 0}.account-title{font-size:.875rem;font-weight:500;line-height:1.3}.account-subtitle{font-size:.75rem;color:var(--text-muted);line-height:1.35;white-space:normal;overflow:visible;text-overflow:unset}.service-row-wrap{border:1px solid transparent;border-radius:0;transition:border-color .15s ease,background .15s ease;margin:0}.service-row-wrap--open{border-color:var(--border);background:var(--bg-elevated);padding-bottom:.15rem}.service-row-wrap--open .account-row{border-left-color:var(--border-strong);background:transparent}.service-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.5rem .65rem .85rem}.passkey-cta{margin:.25rem 0}.passkey-cta-hint{margin:.55rem 0 0;text-align:center;font-size:.78rem}.auth-shell{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem max(2rem,env(safe-area-inset-bottom));min-height:100vh;display:flex;flex-direction:column}.auth-bg,.auth-bg-orb{display:none}.service-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,transform .2s}.service-card:hover{border-color:var(--border-strong)}.service-card-top{display:flex;gap:.85rem;margin-bottom:.9rem}.service-icon{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.95rem;color:#fff;box-shadow:0 8px 20px #00000040}.service-copy{min-width:0;flex:1}.service-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.service-head h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em}.service-role{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .45rem;border-radius:999px;background:var(--accent-dim);color:var(--accent)}.service-domain{margin:.15rem 0 0;font-size:.78rem;font-family:var(--mono);color:var(--text-faint)}.service-tagline{margin:.35rem 0 0;font-size:.82rem;color:var(--text-muted);line-height:1.4}.service-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1rem;border-radius:0;min-height:2.75rem;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:.875rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.btn:focus-visible{outline:2px solid var(--portal);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-passkey{box-shadow:none}.btn-passkey:hover:not(:disabled){filter:none;background:var(--bg-elevated)}.btn-passkey:active:not(:disabled){filter:none}.btn-auth{background:var(--surface);color:var(--auth-accent);border-color:#a888d873;box-shadow:none}.btn-auth:hover:not(:disabled){filter:none;background:#a888d814;border-color:var(--auth-accent)}.btn-primary{background:var(--surface);color:var(--portal);border-color:#6eb8d48c}.btn-primary:hover:not(:disabled){filter:none;background:#6eb8d414;border-color:var(--portal)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-elevated)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.btn-full{width:100%}.btn-sm{padding:.35rem .65rem;font-size:.75rem}.btn-inline{width:auto}.btn.danger,.danger.btn-ghost{color:var(--danger);border-color:#f8717159}.input{width:100%;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000040;color:var(--text);font:inherit;font-size:.9rem}.input:focus{outline:none;border-color:#8eb8e866;box-shadow:0 0 0 3px #8eb8e81a}.input-mono{font-family:var(--mono);font-size:.82rem;letter-spacing:.06em}.select{font-family:inherit}.admin-fold{margin-top:1.35rem;border:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--surface);scroll-margin-bottom:1.5rem}.admin-fold-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;min-height:3rem}.admin-fold-toggle:hover{color:var(--text);background:var(--bg-elevated)}.admin-fold-chevron{display:inline-block;transform:rotate(90deg);transition:transform .2s;font-size:1.1rem;color:var(--text-faint)}.admin-fold-chevron[data-open=true]{transform:rotate(-90deg)}.admin-fold-body{padding:1.05rem 1.1rem 1.2rem;border-top:1px solid var(--border)}.admin-session{display:flex;align-items:center;gap:.5rem;margin:.15rem 0 1rem;font-size:.88rem}.admin-session-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px #4ade8080}.admin-actions-row{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.admin-actions-row .btn{flex:1;min-width:120px}.hex-form{margin-top:0}.hex-label{display:block;font-size:.78rem;color:var(--text-muted);margin-bottom:.55rem}.hex-row{display:flex;gap:.55rem;align-items:stretch}.hex-row .input{flex:1;min-width:0}.hex-hint{margin:.65rem 0 0;font-size:.75rem;line-height:1.4}.admin-login{display:flex;flex-direction:column;gap:1rem}.admin-login-lead{margin:0;font-size:.82rem;line-height:1.55}.admin-login-divider{display:flex;align-items:center;gap:.75rem;margin:.15rem 0;color:var(--text-faint);font-size:.75rem}.admin-login-divider:before,.admin-login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.admin-login .hex-form{margin-top:0;display:flex;flex-direction:column;gap:.55rem}.admin-login .error{margin:.25rem 0 0}.error{color:var(--danger);font-size:.85rem;margin:.65rem 0 0}.ok{color:var(--ok);font-size:.85rem}.warn{color:var(--warn);font-size:.85rem}.flow-panel{background:var(--bg-card-inner);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.flow-lead{margin:0 0 1rem;font-family:var(--mono);font-size:.82rem;color:var(--text-muted);text-align:center}.flow-icon{display:flex;justify-content:center;margin:.5rem 0 1rem;color:var(--accent)}.flow-icon--pulse{animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.flow-actions{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.steps{font-size:.84rem;color:var(--text-muted);padding-left:1.15rem;margin:0 0 1rem;line-height:1.6}.qr-wrap{display:flex;justify-content:center;margin:.5rem 0 .75rem}.qr-wrap canvas{background:#fff;border-radius:14px;padding:.65rem;box-shadow:0 12px 40px #00000059}.qr-wrap canvas.dim{opacity:.35}.timer{text-align:center;font-size:.75rem;font-family:var(--mono);color:var(--text-faint);margin-bottom:.75rem}.awaiting{background:#fbbf241a;color:var(--warn);padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;text-align:center;margin:.75rem 0}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}code{font-family:var(--mono);font-size:.85em}.mt{margin-top:.5rem}.passkey-manage{margin-top:1.15rem;padding-top:1.1rem;border-top:1px solid var(--border)}.passkey-manage h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.passkey-manage>.muted{margin:0 0 .75rem;line-height:1.45}.passkey-list{list-style:none;padding:0;margin:.85rem 0 1rem;display:flex;flex-direction:column;gap:.45rem}.passkey-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.passkey-register{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.passkey-register h2{margin:0 0 .5rem;font-size:1.1rem}.shell,.admin-shell{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:1.5rem 1rem 3rem;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-actions{justify-content:flex-end}.admin-create{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.create-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin-top:.75rem}.tiny{font-size:.75rem}.check-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.identity-list{display:flex;flex-direction:column;gap:.75rem}.identity-card{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;background:var(--bg-card)}.identity-card.disabled{opacity:.65}.identity-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.identity-head .row{gap:.45rem;justify-content:flex-end}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin-tab{border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font:inherit;font-size:.86rem;font-weight:500;padding:.55rem 1rem;border-radius:0;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.admin-tab:hover{color:var(--text);border-color:var(--border-strong)}.admin-tab--active{border-color:#a888d873;color:var(--auth-accent);background:#a888d814;box-shadow:none}.admin-audit{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);padding:1.1rem 1.15rem}.admin-audit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.admin-audit h2{margin:0 0 .35rem;font-size:1.05rem}.admin-audit-lead{margin:0;font-size:.82rem;line-height:1.45;max-width:36rem}.audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.audit-row{border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;background:#0000001f}.audit-row-main{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin-bottom:.35rem}.audit-time{font-family:var(--mono);font-size:.78rem;color:var(--text-muted)}.audit-row-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:.25rem}.audit-pill{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--accent-dim);color:var(--accent)}.audit-pill--hex{background:#8b7cf829;color:#c4b5fd}.audit-pill--passkey_admin{background:#5fd4a424;color:#86efac}.audit-pill--passkey{background:#6fa8f524;color:#93c5fd}.audit-pill--qr{background:#fbbf241f;color:#fcd34d}.audit-ip{font-family:var(--mono);font-size:.75rem;color:var(--text-muted)}.audit-ua{font-size:.72rem;line-height:1.4;word-break:break-word}.grant-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.badge{font-size:.7rem;padding:.15rem .45rem;border-radius:999px;background:var(--bg-elevated);color:var(--text-muted)}.badge.on{background:var(--accent-dim);color:var(--accent)}.grant-editor{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.grant-row{display:grid;grid-template-columns:minmax(140px,1fr) 140px;gap:.5rem;align-items:start}.grant-row .extra-json{grid-column:1 / -1;font-size:.75rem}.admin-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.search-input{flex:1;min-width:200px}.profile-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin-bottom:1rem}.grant-block{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.5rem}.manager-grant-editor{margin-top:.5rem;display:grid;gap:.5rem}.manager-grant-editor .field-label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.grant-editor h4{margin:1rem 0 .5rem;font-size:.9rem;color:var(--text-muted)}.control-matrix{margin-top:.5rem}.matrix-table{font-size:.8rem}.matrix-head,.matrix-row{display:grid;grid-template-columns:1fr 48px 48px;gap:.35rem;align-items:center}.matrix-head{color:var(--text-muted);margin-bottom:.25rem}.matrix-group-label{margin-top:.5rem;font-weight:600;color:#7dd3fc;font-size:.75rem}@media (min-width: 768px){:root{--w: 28rem}.gate{padding:3rem 1.5rem 2rem}.gate--framed{--w: 30rem;padding:2rem 1.65rem 1.5rem}.auth-shell-head{padding:1.65rem 1.55rem 1.35rem}.auth-shell-body{padding:1.35rem 1.55rem 1.5rem}.auth-shell-card .service-row-wrap--open{margin:.55rem 0;padding:.65rem .9rem .9rem}}@media (prefers-reduced-motion: reduce){.btn,.account-row{transition:none}.auth-glow{opacity:.18;filter:blur(60px)}}
