.scroll-to-top[data-v-fb536573]{z-index:1;border:1px solid color-mix(in srgb, var(--line) 50%, transparent);width:40px;height:40px;color:var(--accent-contrast,#fff);background:var(--accent,#2563eb);cursor:pointer;box-shadow:0 4px 16px var(--shadow);border-radius:12px;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex;position:relative}.scroll-to-top[data-v-fb536573]:hover{background:var(--accent-hover,#1d4ed8);box-shadow:0 8px 22px color-mix(in srgb, var(--accent,#2563eb) 36%, transparent);transform:translateY(-2px)}.scroll-to-top[data-v-fb536573]:focus-visible{outline:2px solid var(--focus-ring,#1d4ed8);outline-offset:3px}.scroll-top-fade-enter-active[data-v-fb536573],.scroll-top-fade-leave-active[data-v-fb536573]{transition:opacity .3s,transform .3s}.scroll-top-fade-enter-from[data-v-fb536573],.scroll-top-fade-leave-to[data-v-fb536573]{opacity:0;transform:translateY(12px)scale(.9)}.toast[data-v-41e2c3b1]{align-items:flex-start;gap:var(--space-3);min-width:300px;max-width:420px;padding:var(--space-4);background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-lg);box-shadow:0 20px 25px var(--admin-shadow-lg), 0 10px 10px var(--admin-shadow);opacity:0;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);display:flex;transform:translate(100%)}.toast--visible[data-v-41e2c3b1]{opacity:1;transform:translate(0)}.toast--leaving[data-v-41e2c3b1]{opacity:0;transform:translate(100%)}.toast__icon[data-v-41e2c3b1]{flex-shrink:0;margin-top:2px}.toast--success .toast__icon[data-v-41e2c3b1]{color:var(--status-success)}.toast--error .toast__icon[data-v-41e2c3b1]{color:var(--status-danger)}.toast--warning .toast__icon[data-v-41e2c3b1]{color:var(--status-warning)}.toast--info .toast__icon[data-v-41e2c3b1]{color:var(--status-info)}.toast__content[data-v-41e2c3b1]{flex:1;min-width:0}.toast__title[data-v-41e2c3b1]{color:var(--admin-ink);font-size:var(--text-sm);font-weight:700;line-height:var(--leading-normal);margin:0}.toast__message[data-v-41e2c3b1]{margin:var(--space-1) 0 0;color:var(--admin-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.toast__dismiss[data-v-41e2c3b1]{width:28px;height:28px;color:var(--admin-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.toast__dismiss[data-v-41e2c3b1]:hover{color:var(--admin-ink);background:var(--admin-panel-muted)}@media (width<=480px){.toast[data-v-41e2c3b1]{min-width:auto;width:calc(100vw - var(--space-8));max-width:none}}.toast-container[data-v-d4b475eb]{top:var(--space-4);right:var(--space-4);z-index:9999;gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast-stack[data-v-d4b475eb]{gap:var(--space-3);flex-direction:column;display:flex}.toast-list-enter-active[data-v-d4b475eb]{animation:slide-in-right .25s var(--ease-out)}.toast-list-leave-active[data-v-d4b475eb]{animation:slide-out-right .2s var(--ease-out)}.toast-list-move[data-v-d4b475eb]{transition:transform .25s var(--ease-out)}@media (width<=480px){.toast-container[data-v-d4b475eb]{top:var(--space-2);right:var(--space-2);left:var(--space-2)}.toast-stack[data-v-d4b475eb]{gap:var(--space-2)}}.bottom-nav[data-v-17677848]{z-index:40;padding:var(--space-2);padding-bottom:max(var(--space-2), env(safe-area-inset-bottom));background:var(--admin-panel);border-top:1px solid var(--admin-line);display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=768px){.bottom-nav[data-v-17677848]{display:flex}}.bottom-nav__item[data-v-17677848]{justify-content:center;align-items:center;gap:var(--space-1);min-height:56px;padding:var(--space-2);color:var(--admin-muted);transition:color var(--duration-fast) ease;flex-direction:column;flex:1;text-decoration:none;display:flex}.bottom-nav__item[data-v-17677848]:hover{color:var(--admin-ink)}.bottom-nav__item--active[data-v-17677848]{color:var(--admin-accent)}.bottom-nav__icon[data-v-17677848]{transition:transform var(--duration-fast) ease}.bottom-nav__item--active .bottom-nav__icon[data-v-17677848]{transform:scale(1.1)}.bottom-nav__label[data-v-17677848]{font-size:11px;font-weight:600}.command-palette-backdrop[data-v-b9125e61]{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.command-palette[data-v-b9125e61]{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-xl);width:100%;max-width:560px;box-shadow:0 25px 50px var(--admin-shadow-lg);overflow:hidden}.command-palette__header[data-v-b9125e61]{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--admin-line);display:flex}.command-palette__search-icon[data-v-b9125e61]{color:var(--admin-muted);flex-shrink:0}.command-palette__input[data-v-b9125e61]{height:36px;color:var(--admin-ink);font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1;padding:0}.command-palette__input[data-v-b9125e61]::placeholder{color:var(--admin-muted)}.command-palette__close[data-v-b9125e61]{width:32px;height:32px;color:var(--admin-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.command-palette__close[data-v-b9125e61]:hover{color:var(--admin-ink);background:var(--admin-panel-muted)}.command-palette__body[data-v-b9125e61]{max-height:400px;padding:var(--space-2);overflow-y:auto}.command-palette__category[data-v-b9125e61]{padding:var(--space-2) var(--space-3);color:var(--admin-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.command-palette__item[data-v-b9125e61]{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--admin-muted);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--duration-fast) ease;background:0 0;border:0;display:flex}.command-palette__item[data-v-b9125e61]:hover,.command-palette__item--selected[data-v-b9125e61]{color:var(--admin-ink);background:var(--admin-panel-muted)}.command-palette__item--selected[data-v-b9125e61]{background:var(--admin-accent-soft)}.command-palette__empty[data-v-b9125e61]{padding:var(--space-8);text-align:center;color:var(--admin-muted)}.command-palette__footer[data-v-b9125e61]{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-3);border-top:1px solid var(--admin-line);color:var(--admin-subtle);font-size:var(--text-xs);display:flex}.command-palette__footer kbd[data-v-b9125e61]{background:var(--admin-panel-muted);border:1px solid var(--admin-line);border-radius:var(--radius-sm);padding:2px 6px;font-family:inherit;font-size:11px}.command-palette-trigger[data-v-b9125e61]{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);color:var(--admin-muted);background:var(--admin-panel-muted);border:1px solid var(--admin-line);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) ease;display:none}@media (width>=769px){.command-palette-trigger[data-v-b9125e61]{display:flex}}.command-palette-trigger[data-v-b9125e61]:hover{color:var(--admin-ink);border-color:var(--admin-line-strong)}.command-palette-trigger__text[data-v-b9125e61]{flex:1}.command-palette-trigger kbd[data-v-b9125e61]{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-sm);padding:2px 6px;font-family:inherit;font-size:11px}.command-palette-enter-active[data-v-b9125e61],.command-palette-leave-active[data-v-b9125e61]{transition:opacity .15s}.command-palette-enter-active .command-palette[data-v-b9125e61],.command-palette-leave-active .command-palette[data-v-b9125e61]{transition:transform .15s var(--ease-out), opacity .15s ease}.command-palette-enter-from[data-v-b9125e61],.command-palette-leave-to[data-v-b9125e61]{opacity:0}.command-palette-enter-from .command-palette[data-v-b9125e61],.command-palette-leave-to .command-palette[data-v-b9125e61]{opacity:0;transform:scale(.95)translateY(-10px)}@media (width<=640px){.command-palette-backdrop[data-v-b9125e61]{align-items:flex-end;padding-top:0}.command-palette[data-v-b9125e61]{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;max-height:80vh}}.admin-header[data-v-63ff5012]{z-index:30;justify-content:space-between;align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-8);background:var(--admin-panel);border-bottom:1px solid var(--admin-line);flex-shrink:0;display:flex;position:sticky;top:0}.admin-header__left[data-v-63ff5012]{align-items:center;gap:var(--space-4);display:flex}.admin-header__right[data-v-63ff5012]{align-items:center;gap:var(--space-3);display:flex}.admin-header__right[data-v-63ff5012] .theme-toggle{width:36px;height:36px;color:var(--admin-muted);background:var(--admin-panel-muted);border:1px solid var(--admin-line);border-radius:var(--radius-md);box-shadow:none}.admin-header__right[data-v-63ff5012] .theme-toggle:hover{color:var(--admin-ink);background:color-mix(in srgb, var(--admin-panel-muted) 80%, var(--admin-accent-soft));border-color:var(--admin-accent);transform:none}.admin-header__right[data-v-63ff5012] .theme-toggle:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px;box-shadow:none}.admin-header__breadcrumbs ol[data-v-63ff5012]{align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.admin-header__breadcrumbs li[data-v-63ff5012]{align-items:center;gap:var(--space-1);display:flex}.admin-header__breadcrumbs a[data-v-63ff5012]{color:var(--admin-muted);font-size:var(--text-sm);transition:color var(--duration-fast) ease;font-weight:500;text-decoration:none}.admin-header__breadcrumbs a[data-v-63ff5012]:hover{color:var(--admin-accent)}.admin-header__breadcrumbs li:last-child span[data-v-63ff5012]{color:var(--admin-ink);font-size:var(--text-sm);font-weight:600}.admin-header__separator[data-v-63ff5012]{color:var(--admin-subtle)}.admin-header__user[data-v-63ff5012]{align-items:center;gap:var(--space-2);display:flex}.admin-header__avatar[data-v-63ff5012]{width:36px;height:36px;color:var(--admin-accent-ink);background:var(--admin-accent);border-radius:var(--radius-full);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:flex}@media (width<=768px){.admin-header[data-v-63ff5012]{padding:0 var(--space-4)}.admin-header__breadcrumbs[data-v-63ff5012]{display:none}}@media (width>=1024px){.admin-header[data-v-63ff5012]{padding:0 var(--space-10)}}@media (width>=1280px){.admin-header[data-v-63ff5012]{padding:0 var(--space-12)}}@media (width>=1440px){.admin-header[data-v-63ff5012]{padding:0 var(--space-14)}}.fade-enter-active[data-v-b4225cb2],.fade-leave-active[data-v-b4225cb2]{transition:opacity .2s}.fade-enter-from[data-v-b4225cb2],.fade-leave-to[data-v-b4225cb2]{opacity:0}.page-enter-active[data-v-b4225cb2],.page-leave-active[data-v-b4225cb2]{transition:opacity .18s,transform .18s}.page-enter-from[data-v-b4225cb2]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-b4225cb2]{opacity:0;transform:translateY(-4px)}:root{--canvas:#f8fafc;--canvas-raised:#fff;--card:#fff;--card-hover:#f1f5f9;--ink:#0f172a;--ink-secondary:#334155;--muted:#475569;--subtle:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-contrast:#fff;--accent-soft:#dbeafe;--accent-muted:#93c5fd;--line:#64748b;--line-strong:#475569;--focus-ring:#2563eb;--shadow:#0f172a14;--shadow-lg:#0f172a1f;--status-success:#15803d;--status-success-soft:#dcfce7;--status-success-border:#86efac;--status-danger:#b91c1c;--status-danger-soft:#fef2f2;--status-danger-border:#fca5a5;--status-warning:#92400e;--status-warning-soft:#fffbeb;--status-warning-border:#fbbf24;--status-info:#1d4ed8;--status-info-soft:#dbeafe;--status-info-border:#93c5fd;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.625;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--ink);background:var(--canvas);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-theme=dark]{--canvas:#0f172a;--canvas-raised:#1e293b;--card:#1e293b;--card-hover:#334155;--ink:#f1f5f9;--ink-secondary:#cbd5e1;--muted:#94a3b8;--subtle:#64748b;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-contrast:#0f172a;--accent-soft:#1e3a5f;--accent-muted:#3b82f6;--line:#94a3b8;--line-strong:#cbd5e1;--focus-ring:#60a5fa;--shadow:#0000003d;--shadow-lg:#0000005c;--status-success:#4ade80;--status-success-soft:#052e16;--status-success-border:#166534;--status-danger:#fca5a5;--status-danger-soft:#450a0a;--status-danger-border:#7f1d1d;--status-warning:#fbbf24;--status-warning-soft:#451a03;--status-warning-border:#78350f;--status-info:#93c5fd;--status-info-soft:#172554;--status-info-border:#1e40af;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}html{background:var(--canvas);scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);line-height:var(--leading-normal);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.skip-link{top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--accent-contrast);background:var(--accent);font-weight:700;font-size:var(--text-sm);transition:top var(--duration-fast) var(--ease-out);text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-4)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.app-shell--responsive{width:100%;max-width:100vw;overflow-x:clip}:root,[data-theme=dark],[data-theme=light]{--space-0:0;--space-px:1px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--touch-target-min:44px;--touch-target-comfortable:48px;--content-sm:640px;--content-md:768px;--content-lg:1024px;--content-xl:1280px;--content-2xl:1536px}.app-shell--auth{min-height:100dvh;display:block}.app-shell--admin{--admin-sidebar-width:272px;--admin-sidebar-collapsed-width:88px;--admin-shell-gutter:16px;--admin-canvas:#0f172a;--admin-sidebar:#1e293b;--admin-panel:#1e293b;--admin-panel-muted:#0f172a;--admin-ink:#f1f5f9;--admin-ink-secondary:#cbd5e1;--admin-muted:#cbd5e1;--admin-subtle:#94a3b8;--admin-line:#94a3b8;--admin-line-strong:#cbd5e1;--admin-accent:#60a5fa;--admin-accent-hover:#93c5fd;--admin-accent-soft:#1e3a5f;--admin-accent-strong:#3b82f6;--admin-accent-ink:#0f172a;--admin-shadow:#0003;--admin-shadow-lg:#0000004d;min-height:100dvh;color:var(--admin-ink);background:var(--admin-canvas);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;display:block}html[data-theme=dark] .app-shell--admin,.dark .app-shell--admin{--admin-canvas:#0f172a;--admin-sidebar:#1e293b;--admin-panel:#1e293b;--admin-panel-muted:#0f172a;--admin-ink:#f1f5f9;--admin-ink-secondary:#cbd5e1;--admin-muted:#cbd5e1;--admin-subtle:#94a3b8;--admin-line:#94a3b8;--admin-line-strong:#cbd5e1;--admin-accent:#60a5fa;--admin-accent-hover:#93c5fd;--admin-accent-soft:#1e3a5f;--admin-accent-strong:#3b82f6;--admin-accent-ink:#0f172a;--admin-shadow:#0003;--admin-shadow-lg:#0000004d;background:var(--admin-canvas);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light] .app-shell--admin{--admin-sidebar-width:272px;--admin-sidebar-collapsed-width:88px;--admin-shell-gutter:16px;--admin-canvas:#f8fafc;--admin-sidebar:#fff;--admin-panel:#fff;--admin-panel-muted:#f1f5f9;--admin-ink:#0f172a;--admin-ink-secondary:#334155;--admin-muted:#475569;--admin-subtle:#64748b;--admin-line:#64748b;--admin-line-strong:#475569;--admin-accent:#2563eb;--admin-accent-hover:#1d4ed8;--admin-accent-soft:#dbeafe;--admin-accent-strong:#2563eb;--admin-accent-ink:#fff;--admin-shadow:#0f172a0f;--admin-shadow-lg:#0f172a1a;background:var(--admin-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] .app-shell--admin .brand{color:var(--admin-accent);background:var(--admin-accent-soft);border-color:var(--admin-line)}html[data-theme=light] .app-shell--admin .principal strong{color:var(--admin-ink)}html[data-theme=light] .app-shell--admin .principal span{color:var(--admin-subtle)}html[data-theme=light] .app-shell--admin .sidebar .icon-button,html[data-theme=light] .app-shell--admin .sidebar-close{color:var(--admin-ink);background:var(--admin-panel-muted);border-color:var(--admin-line)}.sidebar{z-index:50;gap:var(--space-5);overscroll-behavior:contain;width:min(304px,100vw - 48px);height:100dvh;max-height:100vh;padding:var(--space-4);color:var(--admin-ink);background:var(--admin-sidebar);border-right:1px solid color-mix(in srgb, var(--admin-line) 18%, transparent);box-shadow:6px 0 24px var(--admin-shadow-lg);transition:transform .28s var(--ease-out);will-change:transform;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;position:fixed;inset:0}.sidebar-header{align-items:center;gap:var(--space-3);display:flex}.brand{align-items:center;gap:var(--space-3);width:100%;min-width:0;min-height:56px;padding:var(--space-2);color:var(--admin-ink);border:1px solid color-mix(in srgb, var(--admin-line) 18%, transparent);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--admin-panel) 72%, transparent);transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;display:inline-flex}.brand:hover{border-color:color-mix(in srgb, var(--admin-accent) 44%, transparent);background:color-mix(in srgb, var(--admin-panel-muted) 68%, var(--admin-accent-soft))}.brand-mark,.nav-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--admin-accent-ink);background:var(--admin-accent);border-radius:var(--radius-lg)}.brand-copy{gap:1px;min-width:0;display:grid}.brand-copy strong,.brand-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-copy strong{color:var(--admin-ink);font-size:var(--text-sm);font-weight:800}.brand-copy small{color:var(--admin-muted);font-size:var(--text-xs);font-weight:600}.nav-list{gap:var(--space-2);display:grid}.nav-list a{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-3);color:var(--admin-muted);border-radius:var(--radius-xl);font-size:var(--text-sm);transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;border:1px solid #0000;font-weight:700;display:flex}.nav-icon{width:32px;height:32px;color:inherit;border-radius:var(--radius-lg)}.nav-list a:hover{color:var(--admin-ink);background:color-mix(in srgb, var(--admin-panel-muted) 78%, transparent)}.nav-list a.router-link-active{color:var(--admin-ink);background:color-mix(in srgb, var(--admin-accent-soft) 82%, var(--admin-panel));border-color:color-mix(in srgb, var(--admin-accent) 36%, transparent);font-weight:800}.nav-list a.router-link-active .nav-icon{color:var(--admin-accent);background:color-mix(in srgb, var(--admin-accent-soft) 60%, transparent)}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--admin-line) 18%, transparent);grid-template-columns:minmax(0,1fr);margin-top:auto;display:grid}.principal{gap:2px;min-width:0;display:grid}.principal strong,.principal span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.principal strong{color:var(--admin-ink);font-size:var(--text-sm);font-weight:700}.principal span{color:var(--admin-subtle);font-size:var(--text-xs)}.sidebar-actions{gap:var(--space-2);justify-content:flex-start;display:flex}.sidebar-collapse,.sidebar-close{width:40px;height:40px;color:var(--admin-muted);background:color-mix(in srgb, var(--admin-panel-muted) 72%, transparent);border:1px solid color-mix(in srgb, var(--admin-line) 18%, transparent);border-radius:var(--radius-lg);transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;justify-content:center;align-items:center;display:inline-flex}.sidebar-collapse:hover,.sidebar-close:hover{color:var(--admin-ink);background:var(--admin-panel-muted);border-color:color-mix(in srgb, var(--admin-accent) 36%, transparent)}.admin-content-shell{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.admin-content-shell--responsive{width:100%;max-width:100vw;overflow-x:clip}.main-surface{min-width:0;padding:72px var(--space-5) 120px}.main-surface--responsive{width:100%;max-width:100vw;overflow-x:clip}.app-shell--admin .main-surface{background:0 0;flex:1 0 auto}.main-surface--auth{height:100%;min-height:100%;padding:0}.content-stack{gap:var(--space-6);max-width:1200px;display:grid}.page-header{gap:var(--space-2);display:grid}.page-header span{color:var(--admin-accent);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.page-header h1,.login-copy h1{color:var(--admin-ink);font-size:var(--text-3xl);letter-spacing:0;font-weight:800;line-height:var(--leading-tight);margin:0}.page-header p,.login-copy p,.login-panel p{color:var(--admin-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.glass{-webkit-backdrop-filter:blur(12px)saturate(180%);background:#ffffff14;border:1px solid #ffffff1f}.glass--strong{-webkit-backdrop-filter:blur(20px)saturate(200%);background:#ffffff1f;border:1px solid #ffffff2e}[data-theme=light] .glass{-webkit-backdrop-filter:blur(12px)saturate(180%);background:#ffffffb8;border:1px solid #00000014}[data-theme=light] .glass--strong{-webkit-backdrop-filter:blur(20px)saturate(200%);background:#ffffffd9;border:1px solid #0000001a}.overlay-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.shadow-depth-1{box-shadow:0 1px 2px #0000000d,0 1px 3px #0000001a}.shadow-depth-2{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f}.shadow-depth-3{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d}.shadow-depth-4{box-shadow:0 20px 25px #0000001a,0 8px 10px #0000000f}.shadow-depth-5{box-shadow:0 25px 50px #00000026,0 15px 20px #0000001a}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes bounce-in{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out) forwards}.animate-fade-in-up{animation:fade-in-up var(--duration-normal) var(--ease-out) forwards}.animate-fade-in-down{animation:fade-in-down var(--duration-normal) var(--ease-out) forwards}.animate-slide-in-right{animation:slide-in-right var(--duration-normal) var(--ease-out) forwards}.animate-slide-out-right{animation:slide-out-right var(--duration-normal) var(--ease-out) forwards}.animate-slide-in-up{animation:slide-in-up var(--duration-normal) var(--ease-out) forwards}.animate-scale-in{animation:scale-in var(--duration-normal) var(--ease-out) forwards}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-bounce-in{animation:bounce-in var(--duration-normal) var(--ease-out) forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.badge{justify-content:center;align-items:center;gap:var(--space-1-5);min-width:20px;min-height:20px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;font-weight:700;line-height:1;display:inline-flex}.badge--sm{min-width:16px;min-height:16px;padding:1px var(--space-1-5);font-size:10px}.badge--lg{min-width:24px;min-height:24px;padding:3px var(--space-3);font-size:var(--text-sm)}.badge--success{color:var(--status-success);background:var(--status-success-soft)}.badge--warning{color:var(--status-warning);background:var(--status-warning-soft)}.badge--danger{color:var(--status-danger);background:var(--status-danger-soft)}.badge--info{color:var(--status-info);background:var(--status-info-soft)}.badge--neutral{color:var(--admin-muted);background:var(--admin-panel-muted)}.badge__dot{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.badge--pulse .badge__dot{animation:2s ease-in-out infinite pulse}.status-pill{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;display:inline-flex}.status-pill:before{content:"";border-radius:var(--radius-full);background:currentColor;width:8px;height:8px}.status-pill--active{color:var(--status-success);background:var(--status-success-soft)}.status-pill--active:before{animation:2s ease-in-out infinite pulse}.status-pill--inactive{color:var(--admin-subtle);background:var(--admin-panel-muted)}.status-pill--warning{color:var(--status-warning);background:var(--status-warning-soft)}.status-pill--danger{color:var(--status-danger);background:var(--status-danger-soft)}.focus-ring:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--admin-accent) 20%, transparent)}.focus-high-contrast:focus-visible{outline:3px solid var(--admin-accent);outline-offset:3px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}@supports (container-type:inline-size){.card-container{container:card/inline-size}.card-compact{padding:var(--space-3)}.card-expanded{padding:var(--space-5)}}.app-shell--admin .admin-auth-footer{color:var(--admin-subtle);flex:none;margin-top:auto}.app-shell--admin .admin-auth-footer a{color:var(--admin-accent);pointer-events:auto}.toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.button,.icon-button{cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease, border-color var(--duration-fast) ease;border:0;justify-content:center;align-items:center;display:inline-flex}.button{gap:var(--space-2);min-height:var(--touch-target-min);padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);white-space:nowrap;font-weight:700}.button--primary{color:var(--admin-accent-ink);background:var(--admin-accent)}.button--primary:hover:not(:disabled){background:var(--admin-accent-hover);box-shadow:0 4px 12px color-mix(in srgb, var(--admin-accent) 24%, transparent);transform:translateY(-1px)}.button--primary:active:not(:disabled){box-shadow:none;transform:translateY(0)}.button--secondary{color:var(--admin-ink);background:var(--admin-panel-muted);border:1px solid var(--admin-line)}.button--secondary:hover:not(:disabled){background:var(--admin-line);border-color:var(--admin-line-strong)}.button--danger{color:#fff;background:var(--status-danger)}.button--danger:hover:not(:disabled){background:#991b1b}.button--ghost{color:var(--admin-muted);background:0 0;border:1px solid #0000}.button--ghost:hover:not(:disabled){color:var(--admin-ink);background:var(--admin-panel-muted)}.button--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-xs)}.button--lg{min-height:52px;padding:0 var(--space-6);font-size:var(--text-base)}.button--loading{color:#0000;pointer-events:none;position:relative}.button--loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;position:absolute}.button--primary.button--loading:after{border-color:var(--admin-accent-ink);border-right-color:#0000}.button:disabled,.icon-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.icon-button{width:var(--touch-target-min);height:var(--touch-target-min);color:var(--admin-muted);background:var(--admin-panel-muted);border:1px solid var(--admin-line);border-radius:var(--radius-md);flex-shrink:0}.icon-button--sm{width:36px;height:36px}.icon-button--lg{width:52px;height:52px}.icon-button:hover:not(:disabled){color:var(--admin-ink);background:var(--admin-line);border-color:var(--admin-line-strong)}.icon-button--danger{color:var(--status-danger)}.icon-button--danger:hover:not(:disabled){color:#fff;background:var(--status-danger);border-color:var(--status-danger)}.icon-button--success{color:var(--status-success)}.icon-button--success:hover:not(:disabled){color:#fff;background:var(--status-success);border-color:var(--status-success)}.sidebar .icon-button{color:var(--admin-muted);background:var(--admin-panel-muted);border:1px solid var(--admin-line)}.sidebar .icon-button:hover:not(:disabled){color:var(--admin-ink);background:var(--admin-line)}.sidebar-close,.hamburger-toggle{width:var(--touch-target-min);height:var(--touch-target-min);color:var(--admin-ink);background:var(--admin-sidebar);border:1px solid var(--admin-line);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.sidebar-close{color:var(--admin-muted);background:var(--admin-panel-muted);flex:none;margin-left:auto}.sidebar-close:hover,.hamburger-toggle:hover{color:var(--admin-ink);background:var(--admin-panel-muted)}.hamburger-toggle{top:var(--space-4);left:var(--space-4);z-index:35;box-shadow:0 2px 8px var(--admin-shadow);position:fixed}.hamburger-toggle:hover{box-shadow:0 4px 12px var(--admin-shadow-lg)}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-tile,.panel,.login-panel{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-lg);box-shadow:0 1px 3px var(--admin-shadow);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease}.stat-tile{gap:var(--space-1);padding:var(--space-5);display:grid}@media (hover:hover) and (pointer:fine){.stat-tile:hover{box-shadow:0 8px 24px var(--admin-shadow-lg);transform:translateY(-2px)}}.stat-tile span{color:var(--admin-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.stat-tile strong{color:var(--admin-ink);font-size:var(--text-3xl);letter-spacing:0;font-weight:800;line-height:1}.stat-tile small{color:var(--admin-subtle);font-size:var(--text-xs)}.panel-grid,.apps-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.panel{min-width:0;padding:var(--space-5)}.panel-title{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-title h2{color:var(--admin-ink);font-size:var(--text-lg);margin:0;font-weight:700}.list-table{gap:var(--space-1);display:grid}.list-table a,.data-row{align-items:center;gap:var(--space-4);min-height:52px;padding:var(--space-3) var(--space-4);background:var(--admin-panel-muted);border-radius:var(--radius-md);transition:background-color var(--duration-fast) ease, transform .1s ease;grid-template-columns:minmax(0,1.7fr) minmax(90px,.7fr) minmax(90px,.6fr) minmax(160px,1fr);display:grid}.list-table a:hover,.data-row:hover:not(.data-row--head){background:color-mix(in srgb, var(--admin-accent-soft) 50%, var(--admin-panel-muted))}.list-table a{grid-template-columns:minmax(0,1fr) auto}.data-row--sessions{grid-template-columns:minmax(130px,.9fr) minmax(0,1.4fr) minmax(110px,.8fr) minmax(150px,1fr) 48px}.data-row--head{min-height:40px;color:var(--admin-subtle);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;background:0 0;font-weight:700}.data-row span{overflow-wrap:anywhere;min-width:0}.data-row strong{color:var(--admin-ink);font-weight:600;display:block}.detail-grid span,.data-row small{color:var(--admin-subtle)}.data-row small{font-size:var(--text-xs);display:block}.toggle{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex;position:relative}.toggle__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle__track{background:var(--admin-panel-muted);border:1px solid var(--admin-line);border-radius:var(--radius-full);width:44px;height:24px;transition:background-color var(--duration-fast) ease;align-items:center;padding:2px;display:flex}.toggle__thumb{background:var(--admin-muted);border-radius:var(--radius-full);width:18px;height:18px;transition:transform var(--duration-fast) ease, background-color var(--duration-fast) ease}.toggle__input:checked+.toggle__track{background:var(--admin-accent);border-color:var(--admin-accent)}.toggle__input:checked+.toggle__track .toggle__thumb{background:var(--admin-accent-ink);transform:translate(20px)}.toggle__input:focus-visible+.toggle__track{outline:2px solid var(--admin-accent);outline-offset:2px}.toggle__input:disabled+.toggle__track{opacity:.5;cursor:not-allowed}.dropdown{display:inline-flex;position:relative}.dropdown__menu{top:calc(100% + var(--space-1));z-index:50;min-width:180px;padding:var(--space-1);background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-md);box-shadow:0 10px 15px var(--admin-shadow-lg);animation:fade-in-down var(--duration-fast) var(--ease-out);position:absolute;right:0}.dropdown__menu--left{left:0;right:auto}.dropdown__item{align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);color:var(--admin-muted);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:0;font-weight:500;display:flex}.dropdown__item:hover{color:var(--admin-ink);background:var(--admin-panel-muted)}.dropdown__item--danger{color:var(--status-danger)}.dropdown__item--danger:hover{background:var(--status-danger-soft)}.dropdown__divider{height:1px;margin:var(--space-1) 0;background:var(--admin-line)}.spinner{border:2px solid var(--admin-line);border-top-color:var(--admin-accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.spinner--sm{border-width:2px;width:16px;height:16px}.spinner--lg{border-width:3px;width:32px;height:32px}.app-shell--admin .admin-auth-footer a:hover{color:var(--admin-accent-hover)}.sessions-list{gap:var(--space-4);display:grid}.session-card{align-items:stretch;gap:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg, color-mix(in srgb, var(--admin-accent-soft) 28%, transparent), transparent 42%), var(--admin-panel);border:1px solid var(--admin-line);border-radius:var(--radius-lg);box-shadow:0 14px 34px var(--admin-shadow);grid-template-columns:minmax(0,1fr) auto;display:grid}.session-card__main{gap:var(--space-4);min-width:0;display:grid}.session-card__identity{gap:var(--space-1);min-width:0;display:grid}.session-card__eyebrow{color:var(--admin-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.session-card__identity h2{overflow-wrap:anywhere;color:var(--admin-ink);font-size:var(--text-xl);font-weight:800;line-height:var(--leading-tight);margin:0}.session-card__identity p{overflow-wrap:anywhere;color:var(--admin-muted);font-size:var(--text-sm);margin:0}.session-card__meta{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.session-detail{min-width:0;padding:var(--space-3);background:color-mix(in srgb, var(--admin-panel-muted) 82%, transparent);border:1px solid var(--admin-line);border-radius:var(--radius-md);align-content:start;gap:4px;display:grid}.session-detail dt{color:var(--admin-subtle);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.session-detail dd{overflow-wrap:anywhere;color:var(--admin-ink-secondary);font-size:var(--text-sm);font-weight:700;line-height:var(--leading-normal);margin:0}.session-detail--client dd{color:var(--admin-accent)}.session-detail--mono dd{font-family:var(--font-mono);font-size:var(--text-xs)}.session-card__actions{padding-left:var(--space-5);border-left:1px solid var(--admin-line);justify-content:flex-end;align-items:center;display:flex}.session-card__revoke{white-space:nowrap}.detail-grid{gap:var(--space-3) var(--space-5);grid-template-columns:150px minmax(0,1fr);display:grid}.detail-grid span{color:var(--admin-subtle);font-size:var(--text-sm);font-weight:600}.detail-grid strong{overflow-wrap:anywhere;color:var(--admin-ink)}.pill{padding:3px var(--space-3);color:var(--admin-accent);background:var(--admin-accent-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;font-weight:700;display:inline-flex}.skeleton{background:linear-gradient(90deg, var(--admin-panel-muted) 0%, var(--admin-panel-hover) 50%, var(--admin-panel-muted) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer;display:block}.skeleton--text{width:60%;height:16px}.skeleton--number{width:48px;height:36px}.error-banner,.info-banner{align-items:start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.error-banner{color:var(--status-danger);background:var(--status-danger-soft);border:1px solid var(--status-danger-border)}.info-banner{color:var(--status-info);background:var(--status-info-soft);border:1px solid var(--status-info-border)}.error-banner p,.info-banner p{color:inherit;margin:0}.panel-empty,.panel-empty--large{justify-items:center;gap:var(--space-2);color:var(--admin-subtle);text-align:center;display:grid}.panel-empty{padding:var(--space-8) var(--space-4)}.panel-empty p,.panel-empty--large p{line-height:var(--leading-relaxed);margin:0}.panel-empty p{font-size:var(--text-sm)}.panel-empty svg,.panel-empty--large svg{opacity:.5}.panel-empty--large{padding:var(--space-12) var(--space-6)}.panel-empty--large h3{margin:var(--space-2) 0 0;color:var(--admin-ink);font-size:var(--text-lg);font-weight:700}.panel-empty--large p{max-width:360px;color:var(--admin-muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.integration-runbook{gap:var(--space-5,20px);display:grid}.integration-header{gap:var(--space-4,16px);grid-template-columns:44px minmax(0,1fr);align-items:start;display:grid}.integration-icon{width:44px;height:44px;color:var(--admin-accent);border:1px solid var(--admin-line);border-radius:var(--radius-md,10px);background:var(--admin-accent-soft);justify-content:center;align-items:center;display:inline-flex}.integration-eyebrow{margin-bottom:var(--space-1,4px);color:var(--admin-accent);font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.04em;font-weight:700;display:block}.integration-header h2,.integration-track h3{letter-spacing:0;margin:0}.integration-header h2{font-size:24px}.integration-header p,.integration-track p,.integration-steps span{color:var(--admin-muted);line-height:1.55}.integration-header p,.integration-track p{margin:6px 0 0}.integration-tracks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.integration-track{border:1px solid color-mix(in srgb, var(--admin-line) 72%, transparent);background:var(--admin-panel-muted);border-radius:8px;gap:12px;padding:16px;display:grid}.integration-track .pill{width:fit-content}.integration-steps{gap:10px;margin:0;padding-left:22px;display:grid}.integration-steps li::marker{color:var(--admin-accent);font-weight:800}.integration-steps strong,.integration-steps span{display:block}.integration-steps strong{margin-bottom:2px}.integration-guardrails{flex-wrap:wrap;gap:10px;display:flex}.integration-guardrails span{min-height:36px;color:var(--admin-ink);border:1px solid color-mix(in srgb, var(--admin-accent) 26%, transparent);background:color-mix(in srgb, var(--admin-accent) 10%, transparent);border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.integration-wizard{gap:16px;padding-top:4px;display:grid}.integration-wizard__intro{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;display:grid}.integration-wizard__intro h3{letter-spacing:0;margin:0;font-size:22px}.integration-wizard__intro p{color:var(--admin-muted);margin:6px 0 0;line-height:1.55}.integration-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.integration-form label,.integration-form fieldset,.integration-contract article{border:1px solid color-mix(in srgb, var(--admin-line) 72%, transparent);background:var(--admin-panel-muted);border-radius:8px;gap:8px;min-width:0;padding:14px;display:grid}.integration-form span,.integration-form legend,.integration-contract h4{color:var(--admin-ink);font-size:13px;font-weight:800}.integration-form input{width:100%;min-height:42px;color:var(--admin-ink);border:1px solid color-mix(in srgb, var(--admin-line) 82%, transparent);background:var(--admin-panel);border-radius:8px;padding:0 12px}.integration-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.integration-form legend{grid-column:1/-1;padding:0}.integration-form button{min-height:40px;color:var(--admin-muted);border:1px solid color-mix(in srgb, var(--admin-line) 70%, transparent);background:var(--admin-panel);cursor:pointer;border-radius:8px}.integration-form button.is-active{color:var(--admin-accent-ink);border-color:var(--admin-accent);background:var(--admin-accent)}.integration-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.integration-actions .button:disabled{cursor:not-allowed;opacity:.64}.integration-status{min-height:36px;color:var(--admin-accent);align-items:center;font-size:13px;font-weight:800;display:inline-flex}.integration-errors{color:var(--admin-ink);background:color-mix(in srgb, #f59e0b 16%, var(--admin-panel));border:1px solid #f59e0b80;border-radius:8px;padding:14px}.integration-errors ul{margin:8px 0 0;padding-left:20px}.integration-contract{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.integration-contract h4,.integration-contract dl,.integration-contract ol{margin:0}.integration-contract dl,.integration-contract ol{gap:8px;display:grid}.integration-contract div{gap:2px;display:grid}.integration-contract dt{color:var(--admin-subtle);text-transform:uppercase;font-size:12px;font-weight:800}.integration-contract dd{overflow-wrap:anywhere;margin:0}.integration-contract pre{color:var(--admin-ink);background:var(--admin-panel);border-radius:8px;margin:0;padding:12px;overflow-x:auto}.integration-readiness{grid-column:1/-1}.integration-readiness p{color:var(--admin-muted);margin:0;line-height:1.55}.integration-readiness__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.integration-readiness__grid section{border:1px solid color-mix(in srgb, var(--admin-line) 64%, transparent);background:var(--admin-panel);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.integration-readiness h5{color:var(--admin-ink);margin:0;font-size:13px}.integration-readiness ul{gap:8px;margin:0;padding-left:18px;display:grid}.integration-lifecycle{border:1px solid color-mix(in srgb, var(--admin-line) 72%, transparent);background:var(--admin-panel-muted);border-radius:8px;gap:14px;padding:16px;display:grid}.integration-lifecycle__header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;display:grid}.integration-lifecycle__header h4,.integration-lifecycle__header p{margin:0}.integration-lifecycle__header p{color:var(--admin-muted);margin-top:6px;line-height:1.55}.integration-lifecycle__message{margin:0;font-weight:800}.integration-lifecycle__message.is-ready{color:var(--admin-accent)}.integration-lifecycle__message.is-error{color:#b45309}.integration-registration-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.integration-registration{border:1px solid color-mix(in srgb, var(--admin-line) 72%, transparent);background:var(--admin-panel);border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.integration-registration__title,.integration-registration__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.integration-registration__title span{color:var(--admin-muted);font-size:13px;display:block}.integration-registration dl{gap:8px;margin:0;display:grid}.integration-registration dt{color:var(--admin-subtle);text-transform:uppercase;font-size:12px;font-weight:800}.integration-registration dd{overflow-wrap:anywhere;margin:0}.integration-registration label{gap:8px;display:grid}.integration-registration input{min-height:42px;color:var(--admin-ink);border:1px solid color-mix(in srgb, var(--admin-line) 82%, transparent);background:var(--admin-panel-muted);border-radius:8px;padding:0 12px}@media (width<=768px){.integration-header,.integration-tracks,.integration-wizard__intro,.integration-form,.integration-contract,.integration-readiness__grid,.integration-lifecycle__header,.integration-registration-list{grid-template-columns:1fr}}@media (width<=320px){.stat-grid{gap:var(--space-2);grid-template-columns:1fr}.main-surface{padding:60px var(--space-3) 80px}.panel{padding:var(--space-3)}.page-header h1{font-size:var(--text-2xl)}.stat-tile{padding:var(--space-3)}.stat-tile strong{font-size:var(--text-2xl)}}@media (width<=375px){.main-surface{padding:64px var(--space-3) 90px}.content-stack{gap:var(--space-5)}.panel-grid,.apps-grid{gap:var(--space-3)}.toolbar{flex-direction:column;align-items:stretch}.toolbar .button{justify-content:center;width:100%}}@media (width<=480px){.stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.main-surface{padding:64px var(--space-4) 100px}.stat-tile,.panel{padding:var(--space-4)}.page-header h1{font-size:var(--text-2xl)}.data-row,.data-row--sessions{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);grid-template-columns:1fr}.data-row--head{display:none}.data-row:not(.data-row--head) span[data-label]:before{content:attr(data-label);color:var(--admin-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:700;display:block}.session-card{gap:var(--space-4);padding:var(--space-4);grid-template-columns:1fr}.session-card__meta{grid-template-columns:1fr}.session-card__actions{padding-left:0;padding-top:var(--space-4);border-left:0;border-top:1px solid var(--admin-line);justify-content:stretch}.session-card__revoke{width:100%}.integration-tracks,.integration-form,.integration-contract{grid-template-columns:1fr}.detail-grid{gap:var(--space-2);grid-template-columns:1fr}}@media (width<=640px){.main-surface{padding:72px var(--space-5) 110px}.panel-grid,.apps-grid{grid-template-columns:1fr}.content-stack{max-width:100%}.stat-tile strong{font-size:var(--text-2xl)}.integration-lifecycle__header,.integration-readiness__grid,.integration-registration-list{grid-template-columns:1fr}}@media (width<=768px){.stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid,.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-row,.data-row--sessions{gap:var(--space-2);grid-template-columns:1fr}.data-row--head{display:none}.data-row:not(.data-row--head) span:before{content:attr(data-label);color:var(--admin-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-weight:700;display:block}.session-card{gap:var(--space-4);grid-template-columns:1fr}.session-card__meta{grid-template-columns:1fr}.session-card__actions{padding-left:0;padding-top:var(--space-4);border-left:0;border-top:1px solid var(--admin-line);justify-content:stretch}.session-card__revoke{width:100%}.detail-grid{gap:var(--space-2);grid-template-columns:1fr}.page-header h1,.login-copy h1{font-size:var(--text-2xl)}.content-stack{gap:var(--space-5)}.sidebar{width:min(300px,100vw - 56px)}}@media (width>=769px){.app-shell--admin .admin-content-shell{margin-left:var(--admin-sidebar-width);min-height:100dvh;transition:margin-left .22s}.app-shell--admin.app-shell--admin-collapsed .admin-content-shell{margin-left:var(--admin-sidebar-collapsed-width)}.app-shell--admin .content-stack{max-width:min(1200px, calc(100vw - var(--admin-sidebar-width) - 80px))}.app-shell--admin .sidebar{width:var(--admin-sidebar-width);height:100dvh;max-height:none;box-shadow:none;transition:width .22s;position:fixed;inset:0 auto 0 0;overflow:hidden auto;transform:none}.app-shell--admin .sidebar--collapsed{width:var(--admin-sidebar-collapsed-width);align-items:center}.app-shell--admin .sidebar--collapsed .sidebar-header,.app-shell--admin .sidebar--collapsed .nav-list,.app-shell--admin .sidebar--collapsed .sidebar-actions{width:100%}.app-shell--admin .sidebar--collapsed .sidebar-header{justify-items:center;gap:var(--space-2);display:grid}.app-shell--admin .sidebar--collapsed .brand,.app-shell--admin .sidebar--collapsed .nav-list a,.app-shell--admin .sidebar--collapsed .sidebar-actions{justify-content:center}.app-shell--admin .sidebar--collapsed .brand{width:56px;padding:var(--space-1)}.app-shell--admin .sidebar--collapsed .brand-copy,.app-shell--admin .sidebar--collapsed .nav-label,.app-shell--admin .sidebar--collapsed .principal{display:none}.app-shell--admin .sidebar--collapsed .sidebar-footer{justify-items:center;width:100%}.sidebar-footer{align-items:center;display:grid}.sidebar-actions{margin-left:auto}.hamburger-toggle,.sidebar-close,.sidebar-backdrop{display:none}.sidebar-collapse{display:inline-flex}.main-surface{padding:var(--space-8) var(--space-8) 120px}}@media (width>=1024px){.panel-grid,.apps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main-surface{padding:var(--space-8) var(--space-10) 120px}}@media (width>=1280px){.main-surface{padding:var(--space-10) var(--space-12) 120px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1440px){.app-shell--admin .content-stack{max-width:min(1400px, calc(100vw - var(--admin-sidebar-width) - 100px))}.main-surface{padding:var(--space-10) var(--space-14) 140px}}@media (hover:none) and (pointer:coarse){.button,.icon-button{min-height:var(--touch-target-comfortable)}.nav-list a{min-height:var(--touch-target-comfortable);padding:var(--space-3)}.stat-tile:hover,.stat-tile:focus-within{box-shadow:0 1px 3px var(--admin-shadow);transform:none}.button:hover,.icon-button:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-fade-in,.animate-fade-in-up,.animate-fade-in-down,.animate-slide-in-right,.animate-slide-in-up,.animate-scale-in,.animate-bounce-in{opacity:1;animation:none;transform:none}}@media (prefers-contrast:high){.stat-tile,.panel{border-width:2px;border-color:var(--admin-line-strong)}.button--primary{border:2px solid}.nav-list a.router-link-active{border:2px solid var(--admin-accent)}}@media print{.sidebar,.hamburger-toggle,.sidebar-backdrop,.admin-auth-footer{display:none!important}.admin-content-shell{margin-left:0!important}.main-surface{padding:20px!important}}.portal-login{isolation:isolate;color:#0f172a;background:#f8fafc;justify-content:center;align-items:center;min-height:100dvh;padding:3rem 1rem;display:flex;position:relative;overflow:clip}.portal-login__backdrop{z-index:-1;background:radial-gradient(circle at top,#2563eb24 0%,#0000 54%),linear-gradient(#fff 0%,#f8fafc 58%,#f1f5f9 100%);position:absolute;inset:0}.portal-login__theme-toggle{color:#334155;cursor:pointer;background:#ffffffe0;border:1px solid #e2e8f0;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:border-color .15s,background-color .15s,transform .15s;display:inline-flex;position:absolute;top:1rem;right:1rem;box-shadow:0 1px 3px #00000012,0 1px 2px -1px #00000012}.portal-login__theme-toggle:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-1px)}.portal-login__shell{width:min(100%,28rem)}.portal-login__brand{text-align:center;justify-items:center;gap:.25rem;margin-bottom:1.5rem;display:grid}.portal-login__logo{color:#fff;background:#0f172a;border-radius:1rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:.75rem;display:inline-flex;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d}.portal-login__brand h2{color:#0f172a;font-family:var(--font-sans);letter-spacing:0;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.portal-login__brand p{color:#64748b;margin:.25rem 0 0;font-size:.875rem;line-height:1.6}.portal-login__card{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;gap:1.25rem;padding:2rem;display:grid;box-shadow:0 1px 3px #00000012,0 1px 2px -1px #00000012}.portal-login__card-header{text-align:center;gap:.5rem;display:grid}.portal-login__card-header h1{color:#0f172a;letter-spacing:0;margin:0;font-size:1.875rem;font-weight:700;line-height:1.2}.portal-login__card-header p{color:#64748b;margin:0;font-size:.875rem;line-height:1.65}.portal-login__alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;align-items:flex-start;gap:.5rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.5;display:flex}.portal-login__attempts{color:#64748b}.portal-login__field{gap:.5rem;display:grid}.portal-login__field label{color:#334155;font-size:.875rem;font-weight:600;line-height:1.5}.portal-login__field input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;width:100%;min-height:3rem;padding:0 1rem;font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s,background-color .15s}.portal-login__field input::placeholder{color:#64748b}.portal-login__field input:focus{background:#eff6ff;border-color:#3b82f6;outline:0;box-shadow:0 0 0 3px #3b82f640}.portal-login__field input:disabled{cursor:not-allowed;opacity:.6;background:#f1f5f9}.portal-login__password-control{position:relative}.portal-login__password-control input{padding-right:3rem}.portal-login__password-toggle{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.portal-login__password-toggle:hover{color:#0f172a;background:#f1f5f9}.portal-login__submit{color:#fff;cursor:pointer;background:#0f172a;border:1px solid #0f172a;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:3rem;padding:0 1.5rem;font-size:1rem;font-weight:600;line-height:1.5;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.portal-login__submit:hover:not(:disabled){background:#1e40af;border-color:#1e40af;transform:translateY(-1px)}.portal-login__submit:disabled{cursor:not-allowed;opacity:.42}.portal-login__submit-label{align-items:center;gap:.5rem;display:inline-flex}.portal-login__register{color:#64748b;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center;gap:.25rem;padding-top:1.5rem;font-size:.75rem;line-height:1.6;display:flex}.portal-login__register a{color:#2563eb;font-weight:600}.portal-login__register a:hover{color:#1d4ed8;text-decoration:underline}.dark .portal-login{color:#f8fafc;background:#020617}.dark .portal-login__backdrop{background:radial-gradient(circle at top,#60a5fa29 0%,#0000 54%),linear-gradient(#020617 0%,#0f172a 100%)}.dark .portal-login__theme-toggle,.dark .portal-login__card{background:#1e293b;border-color:#ffffff1a}.dark .portal-login__theme-toggle,.dark .portal-login__brand p,.dark .portal-login__card-header p,.dark .portal-login__register{color:#94a3b8}.dark .portal-login__brand h2,.dark .portal-login__card-header h1,.dark .portal-login__field label,.dark .portal-login__field input{color:#f8fafc}.dark .portal-login__logo,.dark .portal-login__submit{color:#0f172a;background:#f8fafc;border-color:#f8fafc}.dark .portal-login__field input{background:#0f172a;border-color:#ffffff26}.dark .portal-login__field input:focus{background:#172554;border-color:#60a5fa}.dark .portal-login__field input::placeholder{color:#94a3b8}.dark .portal-login__submit:hover:not(:disabled){background:#bfdbfe;border-color:#bfdbfe}@media (width<=640px){.portal-login{align-items:flex-start;padding:4.5rem 1rem 2rem}.portal-login__card{padding:1.5rem}}:root{--theme-toggle-edge-right:max(24px, calc(env(safe-area-inset-right,0px) + 24px));--theme-toggle-edge-bottom:max(24px, calc(env(safe-area-inset-bottom,0px) + 24px))}html:has(.app-shell--auth){height:100%;max-height:100dvh;overflow:clip}body:has(.app-shell--auth){height:100%;max-height:100dvh;overflow:clip}body:has(.app-shell--auth) #app{height:100%;max-height:100dvh;overflow:clip}.app-shell--auth,.main-surface--auth{height:100dvh;max-height:100dvh;overflow:clip}.main-surface--auth{padding:0}.legacy-login{flex:auto;height:100dvh;max-height:100dvh;overflow:clip}.legacy-login__frame{flex:auto;min-height:0}.floating-actions{right:var(--theme-toggle-edge-right);bottom:var(--theme-toggle-edge-bottom);z-index:40;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex;position:fixed}.floating-actions>*{pointer-events:auto}.theme-toggle-anchor{justify-content:center;padding:0;display:flex}.theme-toggle-anchor>.theme-toggle{pointer-events:auto;position:relative}@media (width>=769px){.app-shell--admin .floating-actions{right:max(var(--space-8,32px), calc(env(safe-area-inset-right,0px) + var(--space-8,32px)));bottom:max(24px, calc(env(safe-area-inset-bottom,0px) + 24px))}}@media (width>=1024px){.app-shell--admin .floating-actions{right:max(var(--space-10,40px), calc(env(safe-area-inset-right,0px) + var(--space-10,40px)))}}@media (width>=1280px){.app-shell--admin .floating-actions{right:max(var(--space-12,48px), calc(env(safe-area-inset-right,0px) + var(--space-12,48px)))}}@media (width>=1440px){.app-shell--admin .floating-actions{right:max(var(--space-14,56px), calc(env(safe-area-inset-right,0px) + var(--space-14,56px)))}}@media (width<=768px){.app-shell--admin .floating-actions{right:max(20px, calc(env(safe-area-inset-right,0px) + 20px));bottom:max(20px, calc(env(safe-area-inset-bottom,0px) + 20px))}}@media (width<=640px){:root{--theme-toggle-edge-right:max(12px, calc(env(safe-area-inset-right,0px) + 12px));--theme-toggle-edge-bottom:max(12px, calc(env(safe-area-inset-bottom,0px) + 12px))}}
