.btn[data-v-7e83cfbe]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--btn-height-md);padding:0 var(--spacing-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--radius-md);border:var(--border-width) solid transparent;background-color:transparent;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn--size-sm[data-v-7e83cfbe]{min-height:var(--btn-height-sm);padding:0 var(--spacing-md);font-size:var(--font-size-base)}.btn--size-lg[data-v-7e83cfbe]{min-height:var(--btn-height-lg)}.btn--size-icon[data-v-7e83cfbe],.btn--size-icon-sm[data-v-7e83cfbe]{padding:0;gap:0}.btn--size-icon[data-v-7e83cfbe]{width:var(--btn-height-md);min-width:var(--btn-height-md)}.btn--size-icon-sm[data-v-7e83cfbe]{width:var(--btn-height-sm);min-width:var(--btn-height-sm);min-height:var(--btn-height-sm);font-size:var(--font-size-base)}.btn[data-v-7e83cfbe]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-7e83cfbe]:focus-visible{outline:var(--border-width-focus) solid var(--color-border-focus);outline-offset:var(--border-width-focus)}.btn--full[data-v-7e83cfbe]{width:100%}.btn[data-v-7e83cfbe]:not(:disabled):active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.btn[data-v-7e83cfbe]{transition:none}.btn[data-v-7e83cfbe]:not(:disabled):active{transform:none}}.btn--primary[data-v-7e83cfbe]{background-color:var(--color-action-primary);color:var(--color-text-inverse)}.btn--secondary[data-v-7e83cfbe]{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-action-border)}.btn--ghost[data-v-7e83cfbe]{color:var(--color-primary-dark)}.btn--text[data-v-7e83cfbe]{color:var(--color-text-secondary)}.btn--primary.btn--tone-danger[data-v-7e83cfbe]{background-color:var(--color-action-danger);color:var(--color-text-inverse)}.btn--secondary.btn--tone-danger[data-v-7e83cfbe],.btn--text.btn--tone-danger[data-v-7e83cfbe]{color:var(--color-danger-dark)}@media(hover:hover)and (pointer:fine){.btn--primary[data-v-7e83cfbe]:not(:disabled):hover{background-color:var(--color-action-primary-hover)}.btn--secondary[data-v-7e83cfbe]:not(:disabled):hover{background-color:var(--color-bg-secondary);border-color:var(--color-text-disabled)}.btn--ghost[data-v-7e83cfbe]:not(:disabled):hover{background-color:var(--color-primary-light)}.btn--text[data-v-7e83cfbe]:not(:disabled):hover{color:var(--color-text-primary)}.btn--primary.btn--tone-danger[data-v-7e83cfbe]:not(:disabled):hover{background-color:var(--color-action-danger-hover)}.btn--text.btn--tone-danger[data-v-7e83cfbe]:not(:disabled):hover{color:var(--color-danger-dark);background-color:var(--color-danger-light)}}.btn--loading .btn__content[data-v-7e83cfbe]{opacity:0}.btn__content[data-v-7e83cfbe]{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-spinner[data-v-7e83cfbe]{position:absolute;top:50%;left:50%;width:var(--spacing-base);height:var(--spacing-base);margin:calc(var(--spacing-base) / -2) 0 0 calc(var(--spacing-base) / -2);border:var(--border-width-focus) solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:var(--radius-full);animation:spin-7e83cfbe .8s linear infinite}@keyframes spin-7e83cfbe{to{transform:rotate(360deg)}}.confirm-host[data-v-6cec18cc]{position:fixed;inset:0;z-index:var(--z-modal-above);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.confirm-overlay[data-v-6cec18cc]{position:absolute;inset:0;background-color:color-mix(in srgb,var(--color-black) 50%,transparent)}.confirm-panel[data-v-6cec18cc]{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-width:22rem;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg)}.confirm-title[data-v-6cec18cc]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.confirm-message[data-v-6cec18cc]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.confirm-actions[data-v-6cec18cc]{display:flex;flex-direction:column-reverse;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}@media(min-width:480px){.confirm-actions[data-v-6cec18cc]{flex-direction:row;justify-content:flex-end}}.confirm-enter-active[data-v-6cec18cc],.confirm-leave-active[data-v-6cec18cc]{transition:opacity var(--transition-fast)}.confirm-enter-from[data-v-6cec18cc],.confirm-leave-to[data-v-6cec18cc]{opacity:0}.confirm-enter-active .confirm-panel[data-v-6cec18cc],.confirm-leave-active .confirm-panel[data-v-6cec18cc]{transition:transform var(--transition-fast)}.confirm-enter-from .confirm-panel[data-v-6cec18cc],.confirm-leave-to .confirm-panel[data-v-6cec18cc]{transform:translateY(8px)}@media(prefers-reduced-motion:reduce){.confirm-enter-active[data-v-6cec18cc],.confirm-leave-active[data-v-6cec18cc],.confirm-enter-active .confirm-panel[data-v-6cec18cc],.confirm-leave-active .confirm-panel[data-v-6cec18cc]{transition:none}}.toast-host[data-v-0499cdee]{position:fixed;left:var(--page-gutter);right:var(--page-gutter);bottom:calc(var(--toast-nav-offset, 0px) + var(--spacing-md) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:flex;justify-content:center;pointer-events:none}.toast[data-v-0499cdee]{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--spacing-sm);width:100%;max-width:var(--max-content-width);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-primary)}.toast--info[data-v-0499cdee]{background-color:color-mix(in srgb,var(--color-info) 16%,var(--color-bg-secondary));border:1px solid var(--color-info)}.toast--success[data-v-0499cdee]{background-color:color-mix(in srgb,var(--color-success) 16%,var(--color-bg-secondary));border:1px solid var(--color-success);color:var(--color-success-dark)}.toast--danger[data-v-0499cdee]{background-color:color-mix(in srgb,var(--color-danger) 16%,var(--color-bg-secondary));border:1px solid var(--color-danger);color:var(--color-danger-dark)}.toast--warning[data-v-0499cdee]{background-color:color-mix(in srgb,var(--color-warning) 16%,var(--color-bg-secondary));border:1px solid var(--color-warning);color:var(--color-warning-dark)}.toast__body[data-v-0499cdee]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.toast__message[data-v-0499cdee]{flex:1;margin:0;min-width:0}.toast__action[data-v-0499cdee]{margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--font-weight-semibold);text-decoration:underline;cursor:pointer;min-height:var(--tap-target)}.toast__action[data-v-0499cdee]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.toast__dismiss[data-v-0499cdee]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target);height:var(--tap-target);margin:calc(var(--spacing-sm) * -1);margin-right:calc(var(--spacing-md) * -1);margin-top:calc(var(--spacing-md) * -1 + var(--spacing-xs));border:none;border-radius:var(--radius-base);background:transparent;color:inherit;font-size:var(--font-size-xl);line-height:1;cursor:pointer;opacity:.8}.toast__dismiss[data-v-0499cdee]:hover{opacity:1}.toast__dismiss[data-v-0499cdee]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.toast-enter-active[data-v-0499cdee],.toast-leave-active[data-v-0499cdee]{transition:opacity var(--transition-base),transform var(--transition-base)}.toast-enter-from[data-v-0499cdee],.toast-leave-to[data-v-0499cdee]{opacity:0;transform:translateY(var(--spacing-md))}@media(prefers-reduced-motion:reduce){.toast-enter-active[data-v-0499cdee],.toast-leave-active[data-v-0499cdee]{transition:opacity var(--transition-fast)}.toast-enter-from[data-v-0499cdee],.toast-leave-to[data-v-0499cdee]{transform:none}}.app-icon[data-v-2c0bf873]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;line-height:0;color:currentColor}.app-icon[data-v-2c0bf873] svg{flex-shrink:0;display:block;color:inherit}.context-switcher[data-v-8ee168da]{position:relative;z-index:var(--z-local)}.context-switcher--open[data-v-8ee168da]{z-index:var(--z-overlay)}.context-switcher-trigger[data-v-8ee168da],.context-switcher-item[data-v-8ee168da]{color:var(--color-text-primary);font:inherit;cursor:pointer}.context-switcher-trigger[data-v-8ee168da]{display:flex;align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target);padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.context-switcher-trigger .context-switcher-badge[data-v-8ee168da]{margin-left:var(--spacing-xs)}.context-switcher-menu[data-v-8ee168da]{position:absolute;top:calc(100% + var(--spacing-xs));right:0;z-index:var(--z-overlay);display:flex;flex-direction:column;min-width:280px;max-width:min(340px,calc(100vw - 2 * var(--page-gutter)));padding:var(--spacing-xs);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-primary);box-shadow:var(--shadow-md)}.context-switcher-item[data-v-8ee168da]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);min-height:var(--tap-target);padding:var(--spacing-sm);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left}.context-switcher-item__text[data-v-8ee168da]{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--spacing-xs)}.context-switcher-item small[data-v-8ee168da]{color:var(--color-text-muted);font-size:var(--font-size-xs)}.context-switcher-item[data-v-8ee168da]:hover:not(:disabled),.context-switcher-item--active[data-v-8ee168da]{background:var(--color-primary-light)}.context-switcher-footer[data-v-8ee168da]{display:flex;flex-direction:column;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-divider)}.context-switcher-item--danger[data-v-8ee168da]:hover:not(:disabled){background:var(--color-danger-light);color:var(--color-danger-dark)}.context-switcher-badge[data-v-8ee168da]{flex-shrink:0;min-width:1.5rem;padding:0 var(--spacing-xs);border-radius:var(--radius-full);background:var(--color-warning-light);color:var(--color-warning-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center}@media(min-width:1024px){.context-switcher-item--mobile-only[data-v-8ee168da]{display:none}}.profile-switcher[data-v-b83115a8]{position:relative}.profile-switcher-trigger[data-v-b83115a8]{display:flex;align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target);padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;max-width:190px}.profile-switcher-name[data-v-b83115a8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-switcher-menu[data-v-b83115a8]{position:absolute;top:calc(100% + var(--spacing-xs));right:0;z-index:var(--z-sticky);display:flex;flex-direction:column;min-width:250px;padding:var(--spacing-xs);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .15))}.profile-switcher-item[data-v-b83115a8]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);min-height:var(--tap-target);padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer}.profile-switcher-item[data-v-b83115a8]:hover:not(:disabled){background-color:var(--color-primary-light)}.profile-switcher-item--active[data-v-b83115a8]{background-color:var(--color-primary-light)}.profile-switcher-item-info[data-v-b83115a8]{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.profile-switcher-item-name[data-v-b83115a8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-switcher-item--active .profile-switcher-item-name[data-v-b83115a8]{font-weight:var(--font-weight-semibold);color:var(--color-primary-dark)}.profile-switcher-item-role[data-v-b83115a8]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.profile-switcher-item-check[data-v-b83115a8]{flex-shrink:0;color:var(--color-primary-dark)}.profile-switcher-family-link[data-v-b83115a8]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);border-top:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-dark);text-align:center}.profile-switcher-family-link[data-v-b83115a8]:hover{background-color:var(--color-primary-light)}.app-header[data-v-1417f3fe]{position:sticky;top:0;z-index:calc(var(--z-sticky) + 1);display:flex;align-items:center;gap:var(--spacing-md);min-height:var(--header-height);margin:0 calc(-1 * var(--page-gutter));padding:calc(env(safe-area-inset-top) + var(--spacing-sm)) var(--page-gutter) var(--spacing-sm);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);overflow:visible}@media(min-width:1024px){.app-header[data-v-1417f3fe]{display:none}}.app-header-brand[data-v-1417f3fe]{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.auth-layout[data-v-89958c1f]{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-bg-primary)}.auth-card[data-v-89958c1f]{position:relative;width:100%;max-width:400px;padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media(min-width:768px){.auth-card[data-v-89958c1f]{margin-block:auto}}.auth-back[data-v-89958c1f]{position:absolute;top:var(--spacing-md);left:var(--spacing-md)}.auth-brand[data-v-89958c1f]{margin-bottom:var(--spacing-lg);text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:.06em}.auth-card[data-v-89958c1f] .page-title{margin-top:0;text-align:center}.auth-card[data-v-89958c1f] .auth-footer{margin-top:var(--spacing-lg)}.nav-icon[data-v-08cb34bf]{width:24px;height:24px;display:block}.bottom-nav[data-v-fbb29d70]{position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);box-shadow:0 -4px 20px #00000026;display:flex;justify-content:space-around;z-index:var(--z-sticky)}@media(min-width:1024px){.bottom-nav[data-v-fbb29d70]{display:none}}.bottom-nav-item[data-v-fbb29d70]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;color:var(--color-text-muted);font-size:var(--font-size-xs);padding:8px 2px 0;transition:color var(--transition-fast)}.bottom-nav-item--active[data-v-fbb29d70]{color:var(--color-primary-dark)}.bottom-nav-icon[data-v-fbb29d70]{flex-shrink:0}.bottom-nav-label[data-v-fbb29d70]{display:block;width:100%;text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav[data-v-65c7728f]{display:none}@media(min-width:1024px){.side-nav[data-v-65c7728f]{position:fixed;top:0;left:0;bottom:0;width:var(--side-nav-width);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-md);background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border-light);box-shadow:4px 0 20px #00000026;z-index:var(--z-sticky)}}.side-nav-brand[data-v-65c7728f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);padding:0 var(--spacing-sm) var(--spacing-md)}.side-nav-switcher[data-v-65c7728f]{margin:0 var(--spacing-sm) var(--spacing-md)}.side-nav-context-switcher[data-v-65c7728f]{margin:0 var(--spacing-sm)}.side-nav-context-switcher[data-v-65c7728f] .context-switcher-trigger{width:100%;justify-content:space-between}.side-nav-context-switcher[data-v-65c7728f] .context-switcher-menu{left:0;right:auto}.side-nav-switcher[data-v-65c7728f] .profile-switcher-trigger{max-width:none;width:100%}.side-nav-switcher[data-v-65c7728f] .profile-switcher-menu{left:0;right:auto}.side-nav-list[data-v-65c7728f]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.side-nav-item[data-v-65c7728f]{display:flex;align-items:center;gap:var(--spacing-md);min-height:var(--tap-target);padding:0 var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast),color var(--transition-fast)}.side-nav-item[data-v-65c7728f]:hover{background-color:var(--color-primary-light);color:var(--color-text-primary)}.side-nav-item--active[data-v-65c7728f]{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.side-nav-logout[data-v-65c7728f]{display:flex;align-items:center;gap:var(--spacing-md);margin-top:auto;min-height:var(--tap-target);padding:0 var(--spacing-md);border:none;background:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.side-nav-logout[data-v-65c7728f]:hover{background-color:var(--color-danger-light);color:var(--color-danger)}.app-root--cabinet[data-v-b70183ac]{--toast-nav-offset: var(--bottom-nav-height)}@media(min-width:1024px){.app-root--cabinet[data-v-b70183ac]{--toast-nav-offset: 0px}}:root{color-scheme:dark;--color-primary: #c026d3;--color-primary-hover: #a21caf;--color-primary-light: rgba(192, 38, 211, .16);--color-primary-dark: #e879f9;--color-secondary: #7dd3fc;--color-secondary-hover: #38bdf8;--color-secondary-light: rgba(56, 189, 248, .16);--color-success: #4caf50;--color-success-light: rgba(76, 175, 80, .16);--color-success-dark: #81c784;--color-danger: #f44336;--color-danger-hover: #ef5350;--color-danger-light: rgba(244, 67, 54, .16);--color-danger-dark: #ef9a9a;--color-warning: #ff9800;--color-warning-light: rgba(255, 152, 0, .16);--color-warning-dark: #ffb74d;--color-info: #38bdf8;--color-info-light: rgba(56, 189, 248, .16);--color-teal: #14b8a6;--color-teal-light: rgba(20, 184, 166, .18);--color-teal-dark: #5eead4;--color-amber: #f59e0b;--color-amber-light: rgba(245, 158, 11, .18);--color-amber-dark: #fbbf24;--color-violet: #8b5cf6;--color-violet-light: rgba(139, 92, 246, .18);--color-violet-dark: #a78bfa;--color-accent-1: #f472b6;--color-accent-2: #a855f7;--color-accent-3: #8b5cf6;--color-accent-4: #818cf8;--color-accent-5: #60a5fa;--color-accent-6: #38bdf8;--color-accent-7: #22d3ee;--color-accent-8: #14b8a6;--color-accent-9: #22c55e;--color-accent-10: #a3e635;--color-accent-11: #f59e0b;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #1f2025;--color-gray-100: #25262c;--color-gray-200: #2a2b31;--color-gray-300: #34353c;--color-gray-400: #4a4b52;--color-gray-500: #5b5c63;--color-gray-600: #87888f;--color-gray-700: #b6b7bd;--color-gray-800: #d4d4d8;--color-gray-900: #f0f0f2;--color-text-primary: #f2f2f4;--color-text-secondary: #c8c9ce;--color-text-muted: #b0b1b8;--color-text-disabled: #87888f;--color-text-inverse: #ffffff;--color-text-on-accent: #1c1d22;--color-bg-primary: #1c1d22;--color-bg-secondary: #26272d;--color-bg-tertiary: #2e2f36;--color-border: #34353c;--color-border-light: #2a2b31;--color-border-focus: var(--color-primary);--color-divider: rgba(255, 255, 255, .2);--color-action-border: #77787f;--color-action-primary: var(--color-primary);--color-action-primary-hover: var(--color-primary-hover);--color-action-danger: #d93a2f;--color-action-danger-hover: #c62828;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.65;--radius-sm: 4px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-base: 0 2px 6px rgba(0, 0, 0, .08);--shadow-md: 0 4px 10px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-local: 1;--z-local-above: 2;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--z-modal-above: 350;--z-toast: 400;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-base: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 40px;--tap-target: 44px;--tap-target-lg: 48px;--btn-height-sm: 36px;--btn-height-md: var(--tap-target);--btn-height-lg: var(--tap-target-lg);--border-width: 1px;--border-width-focus: 2px;--page-gutter: var(--spacing-md);--max-content-width: 480px;--max-content-width-tablet: 640px;--max-content-width-desktop: 880px;--max-content-width-wide: 1280px;--app-content-max: var(--max-content-width-desktop);--bottom-nav-height: 60px;--cabinet-content-pad-bottom: calc( var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px) + var(--spacing-lg) );--side-nav-width: 240px;--header-height: 52px;--sheet-max-height: 90vh;--measure-narrow: 28ch;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--work-cal-hour-height: 56px;--work-cal-gutter: 36px;--work-cal-event-radius: var(--radius-sm);--work-cal-event-padding: 4px 6px;--work-cal-now-line: var(--color-danger);--work-cal-no-room: var(--color-bg-tertiary);--work-cal-grid-line: var(--color-border-light);--work-cal-today-tint: rgba(192, 38, 211, .06)}:root[data-content-width=wide]{--app-content-max: var(--max-content-width-wide)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;background-color:var(--color-bg-primary)}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;margin:0;list-style:none}a{color:inherit;text-decoration:none}button{font-family:inherit;border:0;background:none;cursor:pointer;padding:0;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}img,picture,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.app-container{min-height:100%;max-width:var(--max-content-width);margin:0 auto;padding:0 var(--page-gutter);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));background-color:var(--color-bg-primary);min-height:100vh;min-height:100dvh}@media(min-width:768px){.app-container{max-width:var(--max-content-width-tablet);--page-gutter: var(--spacing-xl)}}.app-root--cabinet{min-height:100vh;min-height:100dvh;background-color:var(--color-bg-primary)}.app-root--cabinet .app-container{--page-gutter: var(--spacing-lg);padding-bottom:var(--cabinet-content-pad-bottom)}@media(max-width:1023px){.app-root--cabinet .page-title{margin-top:var(--spacing-md)}}@media(min-width:1024px){.app-root--cabinet{padding-left:var(--side-nav-width)}.app-root--cabinet .app-container{max-width:var(--app-content-max);margin:0;padding:var(--spacing-xl) var(--spacing-2xl) var(--spacing-2xl)}.app-root--cabinet .page-title{margin-top:0}}body.work-cal-fullscreen{overflow:hidden}body.work-cal-fullscreen .app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));overflow:hidden}body.work-cal-fullscreen .app-root--cabinet .app-container{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}body.work-cal-fullscreen .work-cal{flex:1;min-height:0}@media(min-width:1024px){body.work-cal-fullscreen .app-root--cabinet .app-container{padding-bottom:var(--spacing-xl)}}.panel{padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card-head-with-badge{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-sm)}.card-head-with-badge>:first-child{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.card-head-with-badge .chip.chip--sm{flex:0 1 auto;white-space:normal;line-height:1.25;text-align:center}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:var(--spacing-xl) 0 var(--spacing-md);line-height:var(--line-height-tight)}.page-subtitle{margin-bottom:var(--spacing-lg)}.page-stack{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:var(--spacing-lg) 0 var(--spacing-sm);color:var(--color-text-primary)}.text-muted{color:var(--color-text-muted)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary-dark);font-weight:var(--font-weight-medium);text-decoration:none}.auth-footer a:hover{color:var(--color-primary-dark)}.auth-link{color:var(--color-primary-dark);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer}.auth-link:hover{color:var(--color-primary-dark)}.brand-neon{color:#d162df;text-shadow:0 0 6px #d946ef,0 0 14px var(--color-primary),0 0 24px rgba(192,38,211,.7)}.text-danger{color:var(--color-danger)}
