@import"https://fonts.googleapis.com/css2?family=DM Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=light]{color-scheme:light;--profile-b: goldenrod;--accent: #00c896;--accent-dim: #00a87e;--accent-vivid: #00e5a0;--accent-glow: rgba(0, 200, 150, .12);--accent-glow-md: rgba(0, 200, 150, .2);--accent-glow-lg: rgba(0, 200, 150, .3);--bg-page: #e4e4ff;--bg-surface: #ffffff;--bg-surface-2: #f8f8fc;--bg-surface-3: #f0f0f6;--bg-overlay: rgba(255, 255, 255, .85);--bg-invert: #0f0f18;--text-primary: #0e0e1a;--text-secondary: #4a4a65;--text-tertiary: #8888a8;--text-disabled: #b8b8cc;--text-on-accent: #000000;--text-on-dark: #f0f0f8;--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--border-accent: rgba(0, 200, 150, .4);--status-green: #10b981;--status-green-bg: rgba(16, 185, 129, .12);--status-green-text: #10b981;--status-amber: #f59e0b;--status-amber-bg: rgba(245, 158, 11, .12);--status-amber-text: #f59e0b;--status-red: #ef4444;--status-red-bg: rgba(239, 68, 68, .12);--status-red-text: #ef4444;--status-blue: #60a5fa;--status-blue-bg: rgba(96, 165, 250, .12);--status-blue-text: #60a5fa;--status-gray: #6b7280;--status-gray-bg: rgba(107, 114, 128, .12);--status-gray-text: #6b7280;--chart-series-invoiced: #2a78d6;--chart-series-collected: #1baf7a;--card-header-from: #1e3a5f;--card-header-to: #2563a8;--card-header-text: #ffffff;--card-header-sub: rgba(255, 255, 255, .7);--card-header-icon: rgba(255, 255, 255, .18);--card-bg: #ffffff;--card-footer-bg: #f8f8fc;--card-footer-text: #6b6b88;--card-shadow: 0 4px 6px -1px rgba(0,0,0,.06), 0 20px 60px -10px rgba(0,0,0,.12);--font: "DM Sans", sans-serif;--icon: #342858;--icon-active: #a89cf2;--nav-active: #a89cf2;--glass-tint: #6656cf0e;--glass-light: #6656cf;--glass-dark: #000000;--glass-blur: 18px;--saturation: 150%;--bg: #e4e4ff;--surface: #f6fafe;--card: var(--bg-surface, #ffffff);--card-border: rgba(0,0,0,.06);--accent-icon-hover: #a89cf2;--accent-hover: rgba(168,156,242,.08);--text: rgba(14,14,26,.82);--text-dim: rgba(14,14,26,.45);--text-faint: rgba(14,14,26,.32);--main-text: rgba(14,14,26,.82);--wordmark: #0e0e1a;--header-title: rgba(14,14,26,.8);--header-icon: rgba(14,14,26,.55);--notif: #ff5100;--nav-text: rgba(14,14,26,.45);--nav-hover-bg: rgba(0,0,0,.045);--avatar-bg: rgba(0,0,0,.05);--profile-name: rgba(14,14,26,.82);--profile-email: rgba(14,14,26,.35);--chevron: rgba(14,14,26,.4);--menu-bg: rgba(245,247,247,.98);--menu-text: rgba(17,23,31,.7);--menu-text-hover: rgba(17,23,31,.95);--menu-hover-bg: rgba(0,0,0,.06);--danger: #d32f2f;--danger-hover: rgba(211,47,47,.1);--divider: rgba(0,0,0,.08);--switch-idle: rgba(14,14,26,.45);--switch-active: rgba(14,14,26,.92);--logo-body: #8074c0;--logo-mark: #050508;--sidebar-w: 218px;--sidebar-collapsed: 72px;--header-h: 60px;--radius: 14px;--t: .32s cubic-bezier(.4,0,.2,1);--fast: .18s ease;--pill: .28s cubic-bezier(.22,1,.36,1);--glass-shadow: inset 0 0 0 1px color-mix(in srgb, var(--glass-light) 10%, transparent), inset 1.8px 3px 0 -2px color-mix(in srgb, var(--glass-light) 90%, transparent), inset -2px -2px 0 -2px color-mix(in srgb, var(--glass-light) 80%, transparent), inset -3px -8px 1px -6px color-mix(in srgb, var(--glass-light) 60%, transparent), inset -.3px -1px 4px 0 color-mix(in srgb, var(--glass-dark) 12%, transparent), inset 0 3px 4px -2px color-mix(in srgb, var(--glass-dark) 20%, transparent), 0 1px 5px 0 color-mix(in srgb, var(--glass-dark) 10%, transparent), 0 6px 16px 0 color-mix(in srgb, var(--glass-dark) 8%, transparent);--nav-glass-shadow: inset 0 0 0 1px color-mix(in srgb, var(--glass-light) 12%, transparent), inset 1.5px 2px 0 -1px color-mix(in srgb, var(--glass-light) 70%, transparent), 0 2px 6px 0 color-mix(in srgb, var(--glass-dark) 12%, transparent);--input-bg: #ffffff;--input-border: #d4d4e0;--input-border-focus: #00c896;--input-border-error: #e53e3e;--input-text: #0e0e1a;--input-placeholder:#9090b0;--input-shadow-focus: 0 0 0 3px rgba(0, 200, 150, .15);--input-shadow-error: 0 0 0 3px rgba(229, 62, 62, .12);--btn-primary-bg: #1e3a5f;--btn-primary-hover:#162d4a;--btn-primary-text: #ffffff;--btn-accent-bg: #00c896;--btn-accent-hover: #00a87e;--btn-accent-text: #000000;--btn-ghost-border: #d4d4e0;--btn-ghost-hover: #f0f0f6;--btn-ghost-text: #4a4a65;--success-bg: #f0faf6;--success-border: #b3e8d4;--success-text: #1a6b4a;--warning-bg: #fffbeb;--warning-border: #f6d860;--warning-text: #854d0e;--error-bg: #fff5f5;--error-border: #fecaca;--error-text: #c53030;--info-bg: #eff6ff;--info-border: #bfdbfe;--info-text: #1d4ed8;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}[data-theme=dark]{color-scheme:dark;--accent: #00e5a0;--accent-dim: #00c896;--accent-vivid: #00ffc0;--accent-glow: rgba(0, 229, 160, .1);--accent-glow-md: rgba(0, 229, 160, .18);--accent-glow-lg: rgba(0, 229, 160, .28);--chart-series-invoiced: #3987e5;--chart-series-collected: #199e70;--bg-page: #0d0d16;--bg-surface: #111118;--bg-surface-2: #18181f;--bg-surface-3: #222230;--bg-overlay: rgba(17, 17, 24, .9);--bg-invert: #f4f4f8;--text-primary: #f0f0f8;--text-secondary: #a0a0c0;--text-tertiary: #60607a;--text-disabled: #404058;--text-on-accent: #000000;--text-on-dark: #f0f0f8;--border-subtle: rgba(255, 255, 255, .04);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--border-accent: rgba(0, 229, 160, .3);--card-header-from: #0d1b2e;--card-header-to: #1a2f4a;--card-header-text: #ffffff;--card-header-sub: rgba(255, 255, 255, .55);--card-header-icon: rgba(255, 255, 255, .12);--card-bg: #111118;--card-footer-bg: #0e0e15;--card-footer-text: #60607a;--card-shadow: 0 4px 6px -1px rgba(0,0,0,.4), 0 20px 60px -10px rgba(0,0,0,.6);--bg: #0d0d16;--surface: #111318;--card: var(--bg-surface, #111118);--card-border: rgba(255,255,255,.05);--accent-hover: rgba(168,156,242,.1);--text: rgba(255,255,255,.82);--text-dim: rgba(255,255,255,.45);--text-faint: rgba(255,255,255,.32);--main-text: rgba(255,255,255,.82);--wordmark: #ffffff;--header-title: rgba(255,255,255,.8);--header-icon: rgba(255,255,255,.55);--nav-text: rgba(255,255,255,.45);--nav-hover-bg: rgba(255,255,255,.06);--avatar-bg: rgba(255,255,255,.06);--profile-name: rgba(255,255,255,.82);--profile-email: rgba(255,255,255,.35);--chevron: rgba(255,255,255,.4);--menu-bg: rgba(18,24,30,.98);--menu-text: rgba(255,255,255,.7);--menu-text-hover: rgba(255,255,255,.95);--menu-hover-bg: rgba(255,255,255,.07);--danger: #ff4d4d;--danger-hover: rgba(255,77,77,.1);--divider: rgba(255,255,255,.08);--switch-idle: rgba(255,255,255,.45);--switch-active: rgba(255,255,255,.92);--input-bg: #18181f;--input-border: #2a2a3a;--input-border-focus: #00e5a0;--input-border-error: #fc8181;--input-text: #f0f0f8;--input-placeholder:#50507a;--input-shadow-focus: 0 0 0 3px rgba(0, 229, 160, .12);--input-shadow-error: 0 0 0 3px rgba(252, 129, 129, .1);--btn-primary-bg: #2563a8;--btn-primary-hover:#1e4f8a;--btn-primary-text: #ffffff;--btn-accent-bg: #00e5a0;--btn-accent-hover: #00c896;--btn-accent-text: #000000;--btn-ghost-border: #2a2a3a;--btn-ghost-hover: #1a1a28;--btn-ghost-text: #a0a0c0;--success-bg: rgba(0, 229, 160, .08);--success-border: rgba(0, 229, 160, .2);--success-text: #00e5a0;--warning-bg: rgba(251, 191, 36, .08);--warning-border: rgba(251, 191, 36, .2);--warning-text: #fbbf24;--error-bg: rgba(252, 129, 129, .08);--error-border: rgba(252, 129, 129, .2);--error-text: #fc8181;--info-bg: rgba(96, 165, 250, .08);--info-border: rgba(96, 165, 250, .2);--info-text: #60a5fa}body{font-family:var(--font);font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--bg-page);transition:background var(--transition-base),color var(--transition-base)}body.app-shell-active,html.app-shell-active{overflow:hidden;height:100%}.font-display{font-family:DM Sans,sans-serif}.font-mono{font-family:JetBrains Mono,monospace}.fos-input{width:100%;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-md);padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-base);outline:none}.fos-input::placeholder{color:var(--input-placeholder)}.fos-input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.fos-input.error{border-color:var(--input-border-error);box-shadow:var(--input-shadow-error)}.fos-input:disabled{background:var(--bg-surface-3);color:var(--text-disabled);cursor:not-allowed}.fos-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238888a8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.fos-label{display:block;font-size:.78rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.01em}.fos-label .required{color:var(--error-text);margin-left:2px}.fos-error{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--error-text);margin-top:5px}.fos-hint{font-size:.78rem;color:var(--text-tertiary);margin-top:5px}.fos-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;border:none;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.fos-btn:active:not(:disabled){transform:scale(.985)}.fos-btn:disabled{opacity:.5;cursor:not-allowed}.fos-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}@media(hover:hover){.fos-btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}}.fos-btn-accent{background:var(--btn-accent-bg);color:var(--btn-accent-text)}@media(hover:hover){.fos-btn-accent:hover:not(:disabled){background:var(--btn-accent-hover);box-shadow:0 4px 20px var(--accent-glow-md)}}.fos-btn-ghost{background:transparent;border:1.5px solid var(--btn-ghost-border);color:var(--btn-ghost-text)}@media(hover:hover){.fos-btn-ghost:hover:not(:disabled){background:var(--btn-ghost-hover)}}.fos-btn-danger{background:var(--error-text);color:#fff}@media(hover:hover){.fos-btn-danger:hover:not(:disabled){filter:brightness(.88)}}.fos-btn-full{width:100%}.fos-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:fos-spin .7s linear infinite;flex-shrink:0}@keyframes fos-spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes panel-slide-in{0%{transform:translate(12px);opacity:0}to{transform:none;opacity:1}}@keyframes modal-in{0%{transform:scale(.95) translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes bell-ping{0%{transform:scale(1)}35%{transform:scale(1.22)}65%{transform:scale(.94)}to{transform:scale(1)}}.fos-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;line-height:1.5;border:1px solid}.fos-alert-error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.fos-alert-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.fos-alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.fos-alert-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.fos-theme-toggle{position:relative;width:48px;height:26px;cursor:pointer;flex-shrink:0}.fos-theme-toggle__track{position:absolute;inset:0;border-radius:13px;background:var(--bg-surface-3);border:1px solid var(--border-default);transition:background var(--transition-base)}.fos-theme-toggle__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--accent);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:11px;box-shadow:0 1px 4px #00000040}.fos-theme-toggle__thumb.is-light{transform:translate(22px)}.fos-divider{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.fos-divider:before,.fos-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-glow-md);color:var(--text-primary)}.bg-gray-50{background-color:var(--bg-surface-2)!important}.bg-white{background-color:var(--bg-surface)!important}.text-gray-800{color:var(--text-primary)!important}.text-gray-600,.text-gray-500{color:var(--text-secondary)!important}.text-gray-400{color:var(--text-tertiary)!important}.border-gray-200{border-color:var(--border-default)!important}.border-gray-300{border-color:var(--border-strong)!important}@media(max-width:768px){input,select,textarea{font-size:16px!important}}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:10px;border-radius:99em;color:var(--nav-text);font-size:13.5px;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;font-family:var(--font);transform:translateZ(0);transition:color .22s ease,background .22s ease,box-shadow .22s ease}@media(hover:hover){.nav-item:hover:not(.active){color:var(--nav-active);background:color-mix(in srgb,var(--glass-tint) 34%,transparent);-webkit-backdrop-filter:blur(8px) saturate(var(--saturation));backdrop-filter:blur(8px) saturate(var(--saturation));box-shadow:var(--glass-shadow)}}.nav-item.active{color:var(--nav-active)}.nav-item .nav-icon{color:var(--icon);transition:color .22s ease}.nav-item.active .nav-icon{color:var(--icon-active)}@media(hover:hover){.nav-item:hover .nav-icon{color:var(--icon-active)}}.popup-item .nav-icon{color:var(--icon);transition:color var(--fast)}@media(hover:hover){.popup-item:hover .nav-icon{color:var(--icon-active)}}.popup-item.danger .nav-icon,.popup-item.danger:hover .nav-icon{color:var(--danger)!important}.group-label{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:2px 8px 4px;height:20px;margin-bottom:2px;white-space:nowrap;overflow:hidden;font-family:var(--font)}@media(min-width:769px)and (hover:hover)and (pointer:fine){body.collapsed .nav-item[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%) translate(-6px) scale(.96);background:var(--menu-bg);color:var(--menu-text-hover);font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:9px;white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;backdrop-filter:blur(18px) saturate(var(--saturation));-webkit-backdrop-filter:blur(18px) saturate(var(--saturation));box-shadow:0 6px 20px #00000073,inset 0 1px #ffffff0f;font-family:var(--font);transition:opacity var(--fast),transform .22s cubic-bezier(.34,1.56,.64,1)}body.collapsed .nav-item[data-tip]:before{content:"";position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-6px) rotate(45deg);width:8px;height:8px;background:var(--menu-bg);border-radius:2px;pointer-events:none;opacity:0;z-index:9999;transition:opacity var(--fast),transform .22s cubic-bezier(.34,1.56,.64,1)}body.collapsed .nav-item[data-tip]:is(:hover,:focus-visible):after{opacity:1;transform:translateY(-50%) translate(0) scale(1);transition-delay:.5s}body.collapsed .nav-item[data-tip]:is(:hover,:focus-visible):before{opacity:1;transform:translateY(-50%) translate(0) rotate(45deg);transition-delay:.5s}}@media(min-width:769px){body.collapsed aside{overflow:visible!important}body.collapsed .shell-nav{overflow:visible!important}}@media(max-width:768px){:root{--sidebar-w: 240px;--sidebar-collapsed: 0px;--header-h: 56px}.shell-nav .nav-item,.shell-nav .group-label{opacity:0;transform:translate(-18px)}}@media(min-width:769px){.shell-hamburger,.shell-mobile-logo{display:none!important}.shell-nav .nav-item,.shell-nav .group-label{opacity:1;transform:none}}.mobile-nav-open .nav-item,.mobile-nav-open .group-label{animation:navIn .42s cubic-bezier(.22,1,.36,1) forwards}@keyframes navIn{to{opacity:1;transform:translate(0)}}.nav-pill{position:absolute;top:0;left:0;z-index:0;pointer-events:none;opacity:0;border-radius:99em;background:color-mix(in srgb,var(--glass-tint) 34%,transparent);-webkit-backdrop-filter:blur(8px) saturate(var(--saturation));backdrop-filter:blur(8px) saturate(var(--saturation));box-shadow:var(--glass-shadow);transition:transform var(--pill),width var(--pill),height var(--pill),border-radius var(--pill)}.nav-pill.no-anim{transition:none!important}@media(prefers-reduced-motion:reduce){.nav-item,.nav-item.active,.nav-pill{transition:none!important}}@media(min-width:769px){body.collapsed .nav-item{width:44px;height:44px;padding:0;justify-content:center;gap:0;border-radius:50%}}.shell-nav::-webkit-scrollbar{display:none}.app-tooltip{position:fixed;z-index:100002;pointer-events:none;padding:6px 10px;border-radius:8px;font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.01em;white-space:nowrap;color:var(--menu-text-hover);background:var(--menu-bg);box-shadow:0 6px 20px #00000073,inset 0 1px #ffffff0f;backdrop-filter:blur(18px) saturate(var(--saturation));-webkit-backdrop-filter:blur(18px) saturate(var(--saturation));opacity:0;transform:translateY(-4px) scale(.96);transition:opacity var(--fast),transform .2s cubic-bezier(.34,1.56,.64,1)}.app-tooltip.show{opacity:1;transform:translateY(0) scale(1)}[data-portal-theme=light]{color-scheme:light;--portal-bg: #f8fafc;--portal-card-bg: #ffffff;--portal-card-border: rgba(0, 0, 0, .08);--portal-divider: rgba(0, 0, 0, .07);--portal-input-border: rgba(0, 0, 0, .15);--portal-hover-bg: #f1f5f9;--portal-heading: #1e3a5f;--portal-heading-secondary: #2e5987;--portal-text: #334155;--portal-muted-text: #64748b;--portal-button-bg: #1e3a5f;--portal-accent: #00c896;--portal-accent-tint: rgba(0, 200, 150, .12);--portal-accent-border-tint: rgba(0, 200, 150, .3);--portal-error: #c0392b;--portal-error-tint: rgba(192, 57, 43, .08);--portal-error-border-tint: rgba(192, 57, 43, .25);--portal-warning: #8a7d5c;--portal-warning-tint: rgba(138, 125, 92, .14);--portal-skeleton: rgba(30, 58, 95, .08);--portal-card-shadow: 0 2px 12px rgba(0, 0, 0, .07);--portal-modal-shadow: 0 8px 40px rgba(0, 0, 0, .25);--portal-menu-shadow: 0 8px 28px rgba(0, 0, 0, .14);--portal-bubble-other: #f8fafc;--portal-wordmark: #0e0e1a}[data-portal-theme=dark]{color-scheme:dark;--portal-bg: #0d0d16;--portal-card-bg: #17171f;--portal-card-border: rgba(255, 255, 255, .1);--portal-divider: rgba(255, 255, 255, .08);--portal-input-border: rgba(255, 255, 255, .16);--portal-hover-bg: rgba(255, 255, 255, .06);--portal-heading: #f4f4fa;--portal-heading-secondary: #c9c9ea;--portal-text: #cfcfe0;--portal-muted-text: #9292ab;--portal-button-bg: #2e5987;--portal-accent: #00c896;--portal-accent-tint: rgba(0, 200, 150, .16);--portal-accent-border-tint: rgba(0, 200, 150, .35);--portal-error: #ff6b6b;--portal-error-tint: rgba(255, 107, 107, .14);--portal-error-border-tint: rgba(255, 107, 107, .3);--portal-warning: #d4b483;--portal-warning-tint: rgba(212, 180, 131, .16);--portal-skeleton: rgba(255, 255, 255, .08);--portal-card-shadow: 0 2px 12px rgba(0, 0, 0, .5);--portal-modal-shadow: 0 8px 40px rgba(0, 0, 0, .7);--portal-menu-shadow: 0 8px 28px rgba(0, 0, 0, .55);--portal-bubble-other: #1c1c28;--portal-wordmark: #ffffff}.portal-theme-root{min-height:100vh;background:var(--portal-bg);transition:background-color .15s ease}
