.pin-dots[data-v-04d26903]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6) 0}.pin-dot[data-v-04d26903]{width:14px;height:14px;border-radius:var(--radius-full);border:2px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) var(--ease-out)}.pin-dot__inner[data-v-04d26903]{width:0;height:0;border-radius:var(--radius-full);background:var(--color-accent);transition:all var(--duration-fast) var(--ease-spring);opacity:0}.pin-dot.filled[data-v-04d26903]{border-color:var(--color-accent)}.pin-dot.filled .pin-dot__inner[data-v-04d26903]{width:10px;height:10px;opacity:1;animation:dot-fill var(--duration-fast) var(--ease-spring) both}.pin-dots--error[data-v-04d26903]{animation:dot-shake .45s var(--ease-out) both}.pin-dots--error .pin-dot[data-v-04d26903]{border-color:var(--color-error)}.pin-dots--error .pin-dot.filled .pin-dot__inner[data-v-04d26903]{background:var(--color-error)}.keypad[data-v-584d512f]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);max-width:280px;margin:0 auto;padding:var(--space-4) 0}.key[data-v-584d512f]{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto;border-radius:var(--radius-keypad);background:var(--color-card-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-instant) var(--ease-press);user-select:none;-webkit-user-select:none;cursor:pointer}.key[data-v-584d512f]:active{transform:scale(.92);background:var(--color-accent-subtle);border-color:var(--color-border-accent)}.key[data-v-584d512f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.key[data-v-584d512f]:disabled{opacity:.35;cursor:default;transform:none}.key__label[data-v-584d512f]{line-height:1;pointer-events:none}.key__icon[data-v-584d512f]{width:22px;height:22px;pointer-events:none;opacity:.7}.key--passkey[data-v-584d512f],.key--delete[data-v-584d512f]{background:transparent;border-color:transparent}.key--passkey[data-v-584d512f]:active,.key--delete[data-v-584d512f]:active{background:var(--color-card-bg);border-color:var(--color-border)}.key--hidden[data-v-584d512f]{opacity:0;pointer-events:none}[data-v-584d512f] [data-theme=light] .key{background:var(--color-input-bg)}.lock-screen[data-v-4f44a8d6]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-base);z-index:var(--z-overlay);overflow:hidden}.lock-screen__bg[data-v-4f44a8d6]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lock-screen__orb[data-v-4f44a8d6]{position:absolute;width:280px;height:280px;border-radius:50%;background:var(--color-accent);filter:blur(100px);opacity:.12;top:50%;left:50%;transform:translate(-50%,-60%)}.lock-screen__content[data-v-4f44a8d6]{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;max-width:340px;padding:var(--spacing-page-x);padding-top:max(var(--spacing-page-x),env(safe-area-inset-top));padding-bottom:max(var(--spacing-page-x),env(safe-area-inset-bottom))}.lock-screen__identity[data-v-4f44a8d6]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.lock-screen__identity .avatar[data-v-4f44a8d6]{box-shadow:var(--shadow-accent)}.lock-screen__error[data-v-4f44a8d6]{color:var(--color-error-text);text-align:center;padding:var(--space-2) var(--space-3);background:var(--color-error-subtle);border-radius:var(--radius-sm);border:1px solid var(--color-error-border)}.lock-screen__link[data-v-4f44a8d6]{margin-top:var(--space-4);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out);background:none;border:none;padding:0;font:inherit;line-height:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lock-screen__link[data-v-4f44a8d6]:hover{color:var(--color-text-primary)}.toast[data-v-2923f700]{position:fixed;top:calc(var(--space-4) + var(--safe-top));inset-inline:var(--space-4);max-width:420px;margin:0 auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:var(--z-toast);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}.toast--success[data-v-2923f700]{background:var(--color-success-subtle);border:1px solid var(--color-success-border);color:var(--color-success-text)}.toast--error[data-v-2923f700]{background:var(--color-error-subtle);border:1px solid var(--color-error-border);color:var(--color-error-text)}.toast--info[data-v-2923f700]{background:var(--color-info-subtle);border:1px solid var(--color-info-border);color:var(--color-info-text)}.toast__icon[data-v-2923f700]{flex-shrink:0;display:flex}.toast__message[data-v-2923f700]{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}.toast__close[data-v-2923f700]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);opacity:.6;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.toast__close[data-v-2923f700]:hover{opacity:1;background:var(--color-card-bg-hover)}.portal-shell[data-v-28986c7a]{min-height:100dvh}.portal-shell__loading[data-v-28986c7a]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);background:var(--color-base);z-index:var(--z-overlay);overflow:hidden}.portal-shell__loading-orb[data-v-28986c7a]{position:absolute;width:280px;height:280px;border-radius:50%;background:var(--color-accent);filter:blur(100px);opacity:.12;top:50%;left:50%;transform:translate(-50%,-60%);pointer-events:none}.portal-shell__loading-brand[data-v-28986c7a]{position:relative;font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.02em}:root{--primitive-green-500: #00DC78;--primitive-green-600: #00b563;--primitive-green-700: #009050;--primitive-green-400: #33e393;--primitive-green-300: #66eca9;--primitive-depot-hengelo: #F7941D;--primitive-depot-apeldoorn: #3CB54A;--primitive-depot-hoogeveen: #5B9BD5;--primitive-success-500: #22c55e;--primitive-success-400: #4ade80;--primitive-warning-500: #f59e0b;--primitive-warning-400: #fbbf24;--primitive-error-500: #ef4444;--primitive-error-400: #f87171;--primitive-info-500: #38bdf8;--primitive-info-400: #7dd3fc;--primitive-success-light: #16a34a;--primitive-warning-light: #d97706;--primitive-error-light: #dc2626;--primitive-info-light: #0284c7;--primitive-font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, Roboto, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--primitive-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, Roboto, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--primitive-font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace}[data-theme=dark]{--color-void: #030810;--color-base: #080f1a;--color-surface: #0d1726;--color-elevated: #122034;--color-overlay: #1a2a42;--color-text-primary: #edf6ff;--color-text-secondary: #9bb4cc;--color-text-muted: #4d6680;--color-text-disabled: #2a3d52;--color-text-inverse: #ffffff;--color-accent: #00DC78;--color-accent-hover: #33e393;--color-accent-active: #00b563;--color-accent-subtle: rgba(0, 220, 120, .1);--color-accent-subtle-hover: rgba(0, 220, 120, .16);--color-accent-on: #030810;--color-accent-glow: rgba(0, 220, 120, .2);--color-accent-glow-lg: rgba(0, 220, 120, .12);--gradient-accent: linear-gradient(135deg, #00DC78 0%, #00f5a0 100%);--gradient-accent-alt: linear-gradient(135deg, #00DC78 0%, #38bdf8 100%);--gradient-accent-v: linear-gradient(180deg, #00DC78 0%, #00b563 100%);--color-border: rgba(255, 255, 255, .055);--color-border-hover: rgba(255, 255, 255, .1);--color-border-accent: rgba(0, 220, 120, .3);--color-border-strong: rgba(255, 255, 255, .14);--color-divider: rgba(255, 255, 255, .04);--color-input-bg: rgba(255, 255, 255, .05);--color-input-bg-focus: rgba(255, 255, 255, .07);--color-card-bg: rgba(255, 255, 255, .035);--color-card-bg-hover: rgba(255, 255, 255, .06);--color-glass-bg: rgba(255, 255, 255, .04);--color-scrim: rgba(3, 8, 16, .75);--color-success: #22c55e;--color-success-subtle: rgba(34, 197, 94, .1);--color-success-border: rgba(34, 197, 94, .25);--color-success-text: #4ade80;--color-warning: #f59e0b;--color-warning-subtle: rgba(245, 158, 11, .1);--color-warning-border: rgba(245, 158, 11, .25);--color-warning-text: #fbbf24;--color-error: #ef4444;--color-error-subtle: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .22);--color-error-text: #f87171;--color-info: #38bdf8;--color-info-subtle: rgba(56, 189, 248, .1);--color-info-border: rgba(56, 189, 248, .22);--color-info-text: #7dd3fc;--color-depot-hengelo: #F7941D;--color-depot-hengelo-subtle: rgba(247, 148, 29, .12);--color-depot-hengelo-border: rgba(247, 148, 29, .25);--color-depot-apeldoorn: #3CB54A;--color-depot-apeldoorn-subtle: rgba(60, 181, 74, .12);--color-depot-apeldoorn-border: rgba(60, 181, 74, .25);--color-depot-hoogeveen: #5B9BD5;--color-depot-hoogeveen-subtle: rgba(91, 155, 213, .12);--color-depot-hoogeveen-border: rgba(91, 155, 213, .25);--shadow-sm: 0 0 0 1px rgba(255, 255, 255, .06);--shadow-md: 0 0 0 1px rgba(255, 255, 255, .08), 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 32px rgba(0, 0, 0, .55);--shadow-accent: 0 0 20px rgba(0, 220, 120, .25), 0 0 40px rgba(0, 220, 120, .1);--shadow-accent-sm: 0 0 12px rgba(0, 220, 120, .2);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);--nav-height: 68px;--sidebar-width: 240px;--header-height: 56px}:root,[data-theme=light]{--color-void: #e8edf5;--color-base: #f0f4f8;--color-surface: #ffffff;--color-elevated: #ffffff;--color-overlay: #ffffff;--color-text-primary: #0d1829;--color-text-secondary: #3d5166;--color-text-muted: #7a92a8;--color-text-disabled: #bccad6;--color-text-inverse: #ffffff;--color-accent: #00a85c;--color-accent-hover: #009050;--color-accent-active: #007a44;--color-accent-subtle: rgba(0, 168, 92, .08);--color-accent-subtle-hover: rgba(0, 168, 92, .13);--color-accent-on: #ffffff;--color-accent-glow: rgba(0, 168, 92, .15);--color-accent-glow-lg: rgba(0, 168, 92, .08);--gradient-accent: linear-gradient(135deg, #00a85c 0%, #00d175 100%);--gradient-accent-alt: linear-gradient(135deg, #00a85c 0%, #38bdf8 100%);--gradient-accent-v: linear-gradient(180deg, #00a85c 0%, #009050 100%);--color-border: rgba(0, 0, 0, .07);--color-border-hover: rgba(0, 0, 0, .13);--color-border-accent: rgba(0, 168, 92, .3);--color-border-strong: rgba(0, 0, 0, .16);--color-divider: rgba(0, 0, 0, .04);--color-input-bg: rgba(0, 0, 0, .035);--color-input-bg-focus: rgba(0, 0, 0, .05);--color-card-bg: rgba(0, 0, 0, .018);--color-card-bg-hover: rgba(0, 0, 0, .032);--color-glass-bg: rgba(255, 255, 255, .72);--color-scrim: rgba(13, 24, 41, .5);--color-success: #16a34a;--color-success-subtle: rgba(22, 163, 74, .08);--color-success-border: rgba(22, 163, 74, .2);--color-success-text: #15803d;--color-warning: #d97706;--color-warning-subtle: rgba(217, 119, 6, .08);--color-warning-border: rgba(217, 119, 6, .2);--color-warning-text: #b45309;--color-error: #dc2626;--color-error-subtle: rgba(220, 38, 38, .07);--color-error-border: rgba(220, 38, 38, .18);--color-error-text: #b91c1c;--color-info: #0284c7;--color-info-subtle: rgba(2, 132, 199, .07);--color-info-border: rgba(2, 132, 199, .18);--color-info-text: #0369a1;--color-depot-hengelo: #e07b0a;--color-depot-hengelo-subtle: rgba(247, 148, 29, .08);--color-depot-hengelo-border: rgba(247, 148, 29, .22);--color-depot-apeldoorn: #2d9e3a;--color-depot-apeldoorn-subtle: rgba(60, 181, 74, .08);--color-depot-apeldoorn-border: rgba(60, 181, 74, .22);--color-depot-hoogeveen: #3a7fbe;--color-depot-hoogeveen-subtle: rgba(91, 155, 213, .08);--color-depot-hoogeveen-border: rgba(91, 155, 213, .22);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .07);--shadow-accent: 0 4px 20px rgba(0, 168, 92, .22);--shadow-accent-sm: 0 2px 10px rgba(0, 168, 92, .16);--glass-shadow: var(--shadow-md);--nav-height: 68px;--sidebar-width: 240px;--header-height: 56px}:root{--font-family-base: var(--primitive-font-system);--font-family-display: var(--primitive-font-display);--font-family-mono: var(--primitive-font-mono);--font-size-xs: 11px;--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-size-4xl: 34px;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-base: 1.5;--line-height-relaxed: 1.65;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--text-display: var(--font-size-3xl);--text-heading: var(--font-size-2xl);--text-subheading: var(--font-size-xl);--text-title: var(--font-size-lg);--text-body: var(--font-size-base);--text-body-sm: var(--font-size-sm);--text-caption: var(--font-size-xs);--text-overline: var(--font-size-xs);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--spacing-page-x: var(--space-5);--spacing-page-y: var(--space-5);--spacing-section-gap: var(--space-8);--spacing-card-x: var(--space-5);--spacing-card-y: var(--space-5);--spacing-card-gap: var(--space-3);--spacing-input-x: var(--space-4);--spacing-input-y: var(--space-3);--spacing-row-gap: var(--space-2);--spacing-label-gap: var(--space-2);--spacing-inline-gap: var(--space-2);--radius-none: 0px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--radius-button: var(--radius-sm);--radius-input: var(--radius-sm);--radius-card: var(--radius-md);--radius-card-lg: var(--radius-lg);--radius-modal: var(--radius-xl);--radius-badge: var(--radius-full);--radius-avatar: var(--radius-full);--radius-icon: var(--radius-xs);--radius-chip: var(--radius-sm);--radius-keypad: var(--radius-full);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--duration-page: .3s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-press: cubic-bezier(0, 0, .2, 1);--bp-mobile: 0px;--bp-tablet: 640px;--bp-desktop: 1024px;--bp-wide: 1280px;--max-content-width: 480px;--sidebar-width: 240px;--nav-height: 68px;--header-height: 56px;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--btn-height-sm: 32px;--btn-height-md: 44px;--btn-height-lg: 52px;--btn-padding-sm: 0 var(--space-3);--btn-padding-md: 0 var(--space-6);--btn-padding-lg: 0 var(--space-8);--btn-font-sm: var(--font-size-sm);--btn-font-md: var(--font-size-base);--btn-font-lg: var(--font-size-md);--input-height: 48px;--input-height-sm: 38px;--input-font: var(--font-size-base);--avatar-sm: 32px;--avatar-md: 40px;--avatar-lg: 56px;--avatar-xl: 72px;--badge-height: 22px;--badge-height-sm: 18px;--badge-font: var(--font-size-xs);--badge-padding: 0 var(--space-2);--toggle-width: 48px;--toggle-height: 28px;--toggle-knob: 22px;--toggle-travel: 20px;--nav-icon-size: 24px;--nav-label-size: var(--font-size-xs);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}@media (min-width: 640px){:root{--spacing-page-x: var(--space-8);--spacing-page-y: var(--space-8);--spacing-section-gap: var(--space-10);--font-size-base: 15px}}@media (min-width: 1024px){:root{--spacing-page-x: var(--space-10);--spacing-page-y: var(--space-10);--font-size-3xl: 32px;--font-size-4xl: 38px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none;scroll-behavior:smooth}body{background-color:var(--color-base);color:var(--color-text-primary);min-height:100dvh;overflow-x:hidden}img,video,canvas,svg{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[x-cloak]{display:none!important}.glass{background:var(--color-glass-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--color-border)}.glass-strong{background:var(--color-glass-bg);backdrop-filter:blur(32px) saturate(1.6);-webkit-backdrop-filter:blur(32px) saturate(1.6);border:1px solid var(--color-border-strong)}[data-theme=light] .glass{background:#ffffffb8;border-color:var(--color-border);box-shadow:var(--shadow-sm)}[data-theme=light] .glass-strong{box-shadow:var(--shadow-md)}[data-theme=light] .glass-strong{background:#ffffffe0;border-color:var(--color-border-hover)}[data-depot=hengelo]{--depot-color: var(--color-depot-hengelo);--depot-color-subtle: var(--color-depot-hengelo-subtle);--depot-color-border: var(--color-depot-hengelo-border)}[data-depot=apeldoorn]{--depot-color: var(--color-depot-apeldoorn);--depot-color-subtle: var(--color-depot-apeldoorn-subtle);--depot-color-border: var(--color-depot-apeldoorn-border)}[data-depot=hoogeveen]{--depot-color: var(--color-depot-hoogeveen);--depot-color-subtle: var(--color-depot-hoogeveen-subtle);--depot-color-border: var(--color-depot-hoogeveen-border)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-snug)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-base)}.text-md{font-size:var(--font-size-md);line-height:var(--line-height-base)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-snug)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-snug)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.text-3xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.text-4xl{font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.type-display{font-size:var(--text-display);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--color-text-primary)}.type-heading{font-size:var(--text-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.015em;color:var(--color-text-primary)}.type-subheading{font-size:var(--text-subheading);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);letter-spacing:-.01em;color:var(--color-text-primary)}.type-title{font-size:var(--text-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.type-body{font-size:var(--text-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-primary)}.type-body-sm{font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-secondary)}.type-caption{font-size:var(--text-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-muted)}.type-overline{font-size:var(--text-overline);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.type-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-secondary)}.type-mono{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.01em}.type-route-nr{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1;letter-spacing:-.01em;color:var(--color-text-primary)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-disabled{color:var(--color-text-disabled)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-gradient{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:var(--color-accent)}.text-gradient-alt{background:var(--gradient-accent-alt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:var(--color-accent)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap-balance{text-wrap:balance}.text-nowrap{white-space:nowrap}.text-tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.prose h1{font-size:var(--text-heading);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.prose h2{font-size:var(--text-subheading);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.prose h3{font-size:var(--text-title);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.prose p{font-size:var(--text-body);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.prose p:last-child{margin-bottom:0}.prose strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.prose em{font-style:italic;color:var(--color-text-secondary)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up-sm{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes card-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-pop{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes toggle-flip{0%{transform:scale(1)}30%{transform:scaleX(.85)}to{transform:scale(1)}}@keyframes dot-fill{0%{transform:scale(.6);opacity:.4}60%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}@keyframes dot-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes key-press{0%{transform:scale(1);background:var(--color-input-bg)}30%{transform:scale(.92);background:var(--color-accent-subtle)}to{transform:scale(1);background:var(--color-input-bg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes page-enter-forward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes page-exit-forward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-24px)}}@keyframes page-enter-back{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes page-exit-back{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #00dc7800}50%{box-shadow:0 0 0 6px #00dc782e}}@keyframes count-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.duration-instant{transition-duration:var(--duration-instant)!important}.duration-fast{transition-duration:var(--duration-fast)!important}.duration-normal{transition-duration:var(--duration-normal)!important}.duration-slow{transition-duration:var(--duration-slow)!important}.duration-slower{transition-duration:var(--duration-slower)!important}.ease-out{transition-timing-function:var(--ease-out)!important}.ease-in{transition-timing-function:var(--ease-in)!important}.ease-in-out{transition-timing-function:var(--ease-in-out)!important}.ease-spring{transition-timing-function:var(--ease-spring)!important}.ease-bounce{transition-timing-function:var(--ease-bounce)!important}.transition-all{transition:all var(--duration-normal) var(--ease-out)}.transition-colors{transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),fill var(--duration-fast) var(--ease-out)}.transition-opacity{transition:opacity var(--duration-fast) var(--ease-out)}.transition-transform{transition:transform var(--duration-fast) var(--ease-spring)}.transition-shadow{transition:box-shadow var(--duration-normal) var(--ease-out)}.no-transition,.no-transition *{transition:none!important;animation:none!important}.btn-primary .spinner{border-top-color:var(--color-accent-on)}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-border-hover) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-xs)}.skeleton-text{height:14px;border-radius:var(--radius-full)}.skeleton-text-sm{height:11px;border-radius:var(--radius-full)}.card-appear{animation:card-appear var(--duration-slow) var(--ease-spring) both}.stagger-1{animation-delay:60ms}.stagger-2{animation-delay:.11s}.stagger-3{animation-delay:.16s}.stagger-4{animation-delay:.21s}.stagger-5{animation-delay:.26s}.stagger-6{animation-delay:.31s}.anim-fade-in{animation:fade-in var(--duration-normal) var(--ease-out) both}.anim-slide-up{animation:slide-up var(--duration-slow) var(--ease-spring) both}.anim-slide-up-sm{animation:slide-up-sm var(--duration-normal) var(--ease-spring) both}.anim-bounce-in{animation:bounce-in var(--duration-slow) var(--ease-spring) both}.pin-dot-fill{animation:dot-fill var(--duration-fast) var(--ease-spring) both}.pin-dots-error{animation:dot-shake .45s var(--ease-out) both}.key-active{animation:key-press var(--duration-normal) var(--ease-out) both}.anim-glow-pulse{animation:glow-pulse 2s var(--ease-in-out) infinite}.anim-count-up{animation:count-up var(--duration-normal) var(--ease-spring) both}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-normal) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-fast-enter-active,.fade-fast-leave-active{transition:opacity var(--duration-fast) var(--ease-out)}.fade-fast-enter-from,.fade-fast-leave-to{opacity:0}.slide-up-enter-active{transition:opacity var(--duration-slow) var(--ease-spring),transform var(--duration-slow) var(--ease-spring)}.slide-up-leave-active{transition:opacity var(--duration-normal) var(--ease-in),transform var(--duration-normal) var(--ease-in)}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(12px)}.slide-down-enter-active{transition:opacity var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring)}.slide-down-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.slide-down-enter-from{opacity:0;transform:translateY(-10px)}.slide-down-leave-to{opacity:0;transform:translateY(-6px)}.bottom-sheet-enter-active{transition:transform var(--duration-slow) var(--ease-spring)}.bottom-sheet-leave-active{transition:transform var(--duration-normal) var(--ease-in)}.bottom-sheet-enter-from,.bottom-sheet-leave-to{transform:translateY(100%)}.scale-in-enter-active{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.scale-in-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.scale-in-enter-from{opacity:0;transform:scale(.94)}.scale-in-leave-to{opacity:0;transform:scale(.96)}.modal-enter-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-slow) var(--ease-spring)}.modal-leave-active{transition:opacity var(--duration-normal) var(--ease-in),transform var(--duration-normal) var(--ease-in)}.modal-enter-from{opacity:0;transform:scale(.94) translateY(12px)}.modal-leave-to{opacity:0;transform:scale(.97) translateY(6px)}.page-forward-enter-active{transition:opacity var(--duration-page) var(--ease-out),transform var(--duration-page) var(--ease-spring)}.page-forward-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in);position:absolute;width:100%}.page-forward-enter-from{opacity:0;transform:translate(16px)}.page-forward-leave-to{opacity:0;transform:translate(-8px)}.page-back-enter-active{transition:opacity var(--duration-page) var(--ease-out),transform var(--duration-page) var(--ease-out)}.page-back-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in);position:absolute;width:100%}.page-back-enter-from{opacity:0;transform:translate(-16px)}.page-back-leave-to{opacity:0;transform:translate(8px)}.list-enter-active{transition:opacity var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring)}.list-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in);position:absolute;width:100%}.list-move{transition:transform var(--duration-normal) var(--ease-spring)}.list-enter-from{opacity:0;transform:translateY(10px)}.list-leave-to{opacity:0;transform:translateY(-4px)}.toast-enter-active{transition:opacity var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring)}.toast-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(calc(100% + 16px))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-enter-active,.fade-leave-active,.fade-fast-enter-active,.fade-fast-leave-active{transition-duration:var(--duration-fast)!important}.slide-up-enter-active,.slide-up-leave-active,.slide-down-enter-active,.slide-down-leave-active,.bottom-sheet-enter-active,.bottom-sheet-leave-active,.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active,.modal-enter-active,.modal-leave-active,.list-enter-active,.list-leave-active,.list-move{transition:opacity var(--duration-fast)!important}.slide-up-enter-from,.slide-up-leave-to,.slide-down-enter-from,.slide-down-leave-to,.page-forward-enter-from,.page-forward-leave-to,.page-back-enter-from,.page-back-leave-to,.modal-enter-from,.modal-leave-to,.list-enter-from,.list-leave-to{transform:none!important}}.avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-avatar);background:var(--gradient-accent);color:var(--color-accent-on);font-weight:var(--font-weight-bold);letter-spacing:-.02em;flex-shrink:0}.avatar--sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:var(--font-size-sm)}.avatar--md{width:var(--avatar-md);height:var(--avatar-md);font-size:var(--font-size-md)}.avatar--lg{width:var(--avatar-lg);height:var(--avatar-lg);font-size:var(--font-size-xl)}.avatar--xl{width:var(--avatar-xl);height:var(--avatar-xl);font-size:var(--font-size-2xl)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:var(--btn-height-md);padding:var(--btn-padding-md);border-radius:var(--radius-button);background:var(--gradient-accent);color:var(--color-accent-on);font-size:var(--btn-font-md);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-accent-sm);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-instant) var(--ease-press)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.45;cursor:default}.spinner{display:inline-block;width:20px;height:20px;border-radius:var(--radius-full);border:2px solid transparent;border-top-color:currentColor;animation:spin .65s linear infinite;flex-shrink:0}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:28px;height:28px;border-width:3px}
