@charset "UTF-8";:root{--token-color-primary: #2053fe;--token-color-primary-dark: #1642e0;--token-color-primary-light: #5b8bff;--token-color-primary-bg: #eef2ff;--token-color-primary-mid: #c7d4ff;--token-color-primary-50: rgba(32, 83, 254, .05);--token-color-primary-100: rgba(32, 83, 254, .1);--token-color-primary-200: rgba(32, 83, 254, .2);--token-color-onPrimary: #ffffff;--token-color-neutral-900: #040606;--token-color-neutral-800: #1a1f2e;--token-color-neutral-700: #374151;--token-color-neutral-600: #626875;--token-color-neutral-500: #9ca3af;--token-color-neutral-300: #c9cdd6;--token-color-neutral-200: #e8eaed;--token-color-neutral-100: #f8f9fb;--token-color-neutral-50: #fefefe;--token-color-success: #22c55e;--token-color-success-text: #16a34a;--token-color-success-dark: #15803d;--token-color-success-bg: #edfaf3;--token-color-success-border: #86efac;--token-color-warning: #ff6b2b;--token-color-warning-text: #d95010;--token-color-warning-dark: #c2410c;--token-color-warning-bg: #fff0e8;--token-color-warning-border: #fdba74;--token-color-danger: #dc2626;--token-color-danger-dark: #991b1b;--token-color-danger-light: #f87171;--token-color-danger-bg: #fef2f2;--token-color-danger-border: #fecaca;--token-color-info: #2053fe;--token-color-info-text: #1742cc;--token-color-info-bg: #eef2ff;--token-color-info-border: #c7d4ff;--token-color-secondary: #374151;--token-color-secondary-dark: #1a1f2e;--token-color-onSecondary: #ffffff;--token-color-bg: #fefefe;--token-color-bg-secondary: #f8f9fb;--token-color-surface: #ffffff;--token-color-surface-hover: #f8f9fb;--token-color-onBg: #040606;--token-color-onSurface: #040606;--token-color-border: #e8eaed;--token-color-border-strong: #c9cdd6;--token-color-border-focus: var(--token-color-primary);--token-color-divider: #e8eaed;--token-color-text-primary: #040606;--token-color-text-secondary: #626875;--token-color-text-tertiary: #9ca3af;--token-color-text-inverse: #fefefe;--token-color-text-link: #2053fe;--token-typography-fontFamily: "Poppins", "Poppins Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--token-typography-fontFamily-display: "Poppins", "Poppins Fallback", sans-serif;--token-typography-fontFamily-mono: "Source Code Pro", "JetBrains Mono", "Consolas", monospace;--token-typography-baseSize: 16px;--token-typography-lineHeight: 1.6;--token-typography-lineHeight-tight: 1;--token-typography-lineHeight-relaxed: 1.75;--token-scale-2xs: .6875rem;--token-scale-xs: .75rem;--token-scale-sm: .875rem;--token-scale-base: 1rem;--token-scale-md: 1.0625rem;--token-scale-lg: 1.125rem;--token-scale-xl: 1.375rem;--token-scale-2xl: 2.125rem;--token-scale-3xl: 3.25rem;--token-scale-4xl: 4.25rem;--token-scale-5xl: clamp(2rem, 5vw, 4.25rem);--token-font-weight-light: 300;--token-font-weight-normal: 400;--token-font-weight-medium: 500;--token-font-weight-semibold: 600;--token-font-weight-bold: 700;--token-font-weight-extrabold: 800;--token-font-weight-black: 900;--token-space-2xs: 2px;--token-space-xs: 4px;--token-space-sm: 8px;--token-space-md: 12px;--token-space-lg: 16px;--token-space-xl: 24px;--token-space-2xl: 32px;--token-space-3xl: 48px;--token-space-4xl: 64px;--token-space-5xl: 80px;--token-space-6xl: 96px;--token-radius-xs: 3px;--token-radius-sm: 6px;--token-radius-md: 10px;--token-radius-lg: 16px;--token-radius-xl: 24px;--token-radius-2xl: 32px;--token-radius-full: 9999px;--token-shadow-xs: 0 1px 2px rgba(4, 6, 6, .05);--token-shadow-sm: 0 1px 4px rgba(4, 6, 6, .06), 0 1px 2px rgba(4, 6, 6, .04);--token-shadow-md: 0 4px 16px rgba(4, 6, 6, .08), 0 1px 4px rgba(4, 6, 6, .04);--token-shadow-lg: 0 12px 40px rgba(4, 6, 6, .1), 0 4px 12px rgba(4, 6, 6, .06);--token-shadow-xl: 0 20px 50px rgba(4, 6, 6, .12), 0 8px 20px rgba(4, 6, 6, .07);--token-shadow-2xl: 0 25px 50px rgba(4, 6, 6, .15);--token-shadow-blue: 0 4px 20px rgba(32, 83, 254, .25);--token-shadow-inner: inset 0 2px 4px rgba(4, 6, 6, .06);--token-shadow-focus: 0 0 0 3px rgba(32, 83, 254, .1);--token-transition-fast: .15s ease;--token-transition-base: .25s ease;--token-transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--token-transition-slower: .5s ease;--token-z-dropdown: 1000;--token-z-sticky: 1020;--token-z-fixed: 1030;--token-z-modal-backdrop: 1040;--token-z-modal: 1050;--token-z-popover: 1060;--token-z-tooltip: 1070;--token-breakpoint-xs: 375px;--token-breakpoint-sm: 640px;--token-breakpoint-md: 768px;--token-breakpoint-lg: 1024px;--token-breakpoint-xl: 1280px;--token-breakpoint-2xl: 1536px;--token-container-max: 1280px;--token-container-padding: 24px;--token-container-padding-mobile: 16px;--token-sidebar-width: 240px;--token-sidebar-width-collapsed: 64px;--token-navbar-height: 64px;--token-color-accent: var(--token-color-warning);--token-color-accent-bg: var(--token-color-warning-bg);--token-color-accent-text: var(--token-color-warning-dark);--token-color-cat-transport: var(--token-color-primary);--token-color-cat-transport-bg: var(--token-color-primary-bg);--token-color-cat-transport-text: var(--token-color-primary);--token-color-cat-accommodation: #e11d48;--token-color-cat-accommodation-bg: #fff1f2;--token-color-cat-accommodation-text: #be123c;--token-color-cat-meal: var(--token-color-warning);--token-color-cat-meal-bg: var(--token-color-warning-bg);--token-color-cat-meal-text: var(--token-color-warning-text);--token-color-cat-fuel: #7c3aed;--token-color-cat-fuel-bg: #f5f3ff;--token-color-cat-fuel-text: #6d28d9;--token-color-cat-office: var(--token-color-success-text);--token-color-cat-office-bg: var(--token-color-success-bg);--token-color-cat-office-text: var(--token-color-success-text);--token-color-cat-postal: #0891b2;--token-color-cat-postal-bg: #ecfeff;--token-color-cat-postal-text: #0e7490;--token-color-cat-phone: #2563eb;--token-color-cat-phone-bg: #eff6ff;--token-color-cat-phone-text: #1d4ed8;--token-color-cat-training: #d97706;--token-color-cat-training-bg: #fffbeb;--token-color-cat-training-text: #b45309;--token-color-cat-entertainment: #db2777;--token-color-cat-entertainment-bg: #fdf2f8;--token-color-cat-entertainment-text: #be185d;--token-color-cat-parking: var(--token-color-neutral-700);--token-color-cat-parking-bg: var(--token-color-neutral-100);--token-color-cat-parking-text: var(--token-color-neutral-700);--token-color-cat-other: var(--token-color-neutral-600);--token-color-cat-other-bg: var(--token-color-neutral-100);--token-color-cat-other-text: var(--token-color-neutral-700);--comp-btn-primary-bg: var(--token-color-primary);--comp-btn-primary-color: var(--token-color-onPrimary);--comp-btn-primary-shadow: var(--token-shadow-blue);--comp-btn-primary-hover-bg: var(--token-color-primary-dark);--comp-btn-height-sm: 36px;--comp-btn-height-md: 44px;--comp-btn-height-lg: 52px;--comp-btn-radius: var(--token-radius-sm);--comp-btn-font-weight: var(--token-font-weight-semibold);--comp-input-height: 44px;--comp-input-radius: var(--token-radius-md);--comp-input-border: var(--token-color-border);--comp-input-border-focus: var(--token-color-primary);--comp-input-border-error: var(--token-color-danger);--comp-input-bg: var(--token-color-surface);--comp-input-bg-disabled: var(--token-color-bg-secondary);--comp-badge-radius: var(--token-radius-full);--comp-badge-font-size: var(--token-scale-xs);--comp-badge-font-weight: var(--token-font-weight-semibold);--comp-badge-padding: 3px 10px;--comp-card-radius: var(--token-radius-lg);--comp-card-shadow: var(--token-shadow-md);--comp-card-bg: var(--token-color-surface);--comp-card-border: var(--token-color-border);--comp-card-padding: var(--token-space-2xl);--comp-focus-ring: 0 0 0 3px rgba(32, 83, 254, .25);--comp-focus-ring-offset: 2px}:root[data-theme=dark]{--token-color-primary: #5b8bff;--token-color-primary-dark: #4070e0;--token-color-primary-light: #7ba3ff;--token-color-primary-200: rgba(91, 139, 255, .25);--token-color-onPrimary: #ffffff;--token-color-bg: #0a0c0c;--token-color-bg-secondary: #141618;--token-color-surface: #1c1f22;--token-color-surface-hover: #252830;--token-color-onBg: #f8f9fb;--token-color-onSurface: #f0f1f3;--token-color-border: #2a2d33;--token-color-border-strong: #3a3e47;--token-color-border-focus: var(--token-color-primary);--token-color-divider: #2a2d33;--token-color-text-primary: #f0f1f3;--token-color-text-secondary: #9ca3af;--token-color-text-tertiary: #6b7280;--token-color-text-inverse: #040606;--token-color-text-link: #5b8bff;--token-shadow-focus: 0 0 0 3px rgba(91, 139, 255, .25);--token-shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--token-shadow-sm: 0 2px 4px rgba(0, 0, 0, .35);--token-shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--token-shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--token-shadow-xl: 0 20px 50px rgba(0, 0, 0, .6);--token-shadow-blue: 0 4px 20px rgba(91, 139, 255, .3);--token-color-success-text: #4ade80;--token-color-success-dark: #86efac;--token-color-success-bg: rgba(22, 163, 74, .15);--token-color-success-border: rgba(74, 222, 128, .25);--token-color-warning-text: #fb923c;--token-color-warning-dark: #fdba74;--token-color-warning-bg: rgba(217, 80, 16, .15);--token-color-warning-border: rgba(251, 146, 60, .25);--token-color-danger-dark: #f87171;--token-color-danger-bg: rgba(220, 38, 38, .15);--token-color-danger-border: rgba(248, 113, 113, .25);--token-color-info-text: #93c5fd;--token-color-info-bg: rgba(91, 139, 255, .12);--token-color-info-border: rgba(91, 139, 255, .25);--token-color-primary-bg: rgba(91, 139, 255, .12);--token-color-primary-mid: rgba(91, 139, 255, .2);--token-color-primary-50: rgba(91, 139, 255, .05);--token-color-primary-100: rgba(91, 139, 255, .1);--token-color-secondary: #252830;--token-color-secondary-dark: #1c1f22;--token-color-onSecondary: #f0f1f3;--token-color-accent: var(--token-color-warning-text);--token-color-cat-accommodation-bg: rgba(225, 29, 72, .15);--token-color-cat-accommodation-text: #fb7185;--token-color-cat-fuel-bg: rgba(124, 58, 237, .15);--token-color-cat-fuel-text: #a78bfa;--token-color-cat-postal-bg: rgba(8, 145, 178, .15);--token-color-cat-postal-text: #67e8f9;--token-color-cat-phone-bg: rgba(37, 99, 235, .15);--token-color-cat-phone-text: #93c5fd;--token-color-cat-training-bg: rgba(217, 119, 6, .15);--token-color-cat-training-text: #fcd34d;--token-color-cat-entertainment-bg: rgba(219, 39, 119, .15);--token-color-cat-entertainment-text: #f9a8d4;--token-color-cat-parking-bg: var(--token-color-bg-secondary);--token-color-cat-other-bg: var(--token-color-bg-secondary);--comp-focus-ring: 0 0 0 3px rgba(91, 139, 255, .35);--comp-input-bg: var(--token-color-surface);--comp-input-bg-disabled: var(--token-color-bg-secondary);--comp-card-bg: var(--token-color-surface);--comp-card-border: var(--token-color-border);--comp-btn-primary-shadow: var(--token-shadow-blue)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--token-typography-baseSize);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--token-typography-fontFamily);line-height:var(--token-typography-lineHeight);color:var(--token-color-text-primary);background-color:var(--token-color-bg);transition:background-color var(--token-transition-base),color var(--token-transition-base)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}@font-face{font-family:Poppins Fallback;src:local("Segoe UI"),local("Arial"),local("-apple-system");size-adjust:95%;ascent-override:93%;descent-override:20%;line-gap-override:0%}h1,h2,h3,h4,h5,h6{font-family:var(--token-typography-fontFamily);color:var(--token-color-text-primary);margin-bottom:var(--token-space-md);line-height:var(--token-typography-lineHeight-tight)}h1{font-size:var(--token-scale-3xl);font-weight:var(--token-font-weight-extrabold);letter-spacing:-.03em;line-height:1}h2{font-size:var(--token-scale-2xl);font-weight:var(--token-font-weight-bold);letter-spacing:-.025em;line-height:1.1}h3{font-size:var(--token-scale-xl);font-weight:var(--token-font-weight-semibold);line-height:1.25}h4{font-size:var(--token-scale-md);font-weight:var(--token-font-weight-semibold);line-height:1.3}h5{font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold)}h6{font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-semibold)}@media (max-width: 768px){h1{font-size:2rem;letter-spacing:-.02em}h2{font-size:1.625rem;letter-spacing:-.015em}h3{font-size:1.25rem}h4{font-size:1rem}}.hero-title,.display-title{font-family:var(--token-typography-fontFamily);font-size:var(--token-scale-5xl);font-weight:var(--token-font-weight-extrabold);letter-spacing:-.04em;line-height:.95;color:var(--token-color-text-primary)}p{margin-bottom:var(--token-space-lg);color:var(--token-color-text-secondary);line-height:var(--token-typography-lineHeight-relaxed);font-size:var(--token-scale-sm)}p.lead{font-size:var(--token-scale-base);line-height:1.7}a{color:var(--token-color-text-link);text-decoration:none;transition:color var(--token-transition-fast)}a:hover{color:var(--token-color-primary-dark);text-decoration:underline}a:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px;border-radius:var(--token-radius-xs)}.text-2xs{font-size:var(--token-scale-2xs)}.text-xs{font-size:var(--token-scale-xs)}.text-sm{font-size:var(--token-scale-sm)}.text-base{font-size:var(--token-scale-base)}.text-lg{font-size:var(--token-scale-lg)}.text-xl{font-size:var(--token-scale-xl)}.text-2xl{font-size:var(--token-scale-2xl)}.text-3xl{font-size:var(--token-scale-3xl)}.text-primary{color:var(--token-color-text-primary)}.text-secondary{color:var(--token-color-text-secondary)}.text-link{color:var(--token-color-text-link)}.text-inverse{color:var(--token-color-text-inverse)}.text-success{color:var(--token-color-success-text)}.text-warning{color:var(--token-color-warning-text)}.text-danger{color:var(--token-color-danger)}.text-info{color:var(--token-color-info-text)}.font-light{font-weight:var(--token-font-weight-light)}.font-normal{font-weight:var(--token-font-weight-normal)}.font-medium{font-weight:var(--token-font-weight-medium)}.font-semibold{font-weight:var(--token-font-weight-semibold)}.font-bold{font-weight:var(--token-font-weight-bold)}.font-extrabold{font-weight:var(--token-font-weight-extrabold)}.font-black{font-weight:var(--token-font-weight-black)}.font-mono{font-family:var(--token-typography-fontFamily-mono)}.tracking-tight{letter-spacing:-.03em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.1em}.tracking-widest{letter-spacing:.2em}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:var(--token-typography-lineHeight)}.leading-relaxed{line-height:var(--token-typography-lineHeight-relaxed)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.label-caps{font-size:var(--token-scale-2xs);font-weight:var(--token-font-weight-bold);text-transform:uppercase;letter-spacing:.15em;color:var(--token-color-text-secondary)}.focus-visible-ring:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px;border-radius:var(--token-radius-xs)}.text-gradient{background:linear-gradient(135deg,var(--token-color-primary) 0%,var(--token-color-primary-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@supports not (background-clip: text){.text-gradient{color:var(--token-color-primary)}}.text-gradient-inverse{background:linear-gradient(135deg,#7b9ffe,#c7d4ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@supports not (background-clip: text){.text-gradient-inverse{color:var(--token-color-primary-light)}}.container{width:100%;max-width:var(--token-container-max);margin:0 auto;padding:0 clamp(var(--token-container-padding-mobile),5vw,var(--token-container-padding))}.section{padding:var(--token-space-4xl) clamp(var(--token-space-2xl),5vw,var(--token-space-4xl))}@media (max-width: 768px){.section{padding:var(--token-space-3xl) var(--token-space-lg)}}.section-title{font-family:var(--token-typography-fontFamily);font-size:clamp(1.5rem,3vw,2.375rem);font-weight:var(--token-font-weight-extrabold);color:var(--token-color-text-primary);letter-spacing:-.025em;line-height:1.05}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.navbar{background:var(--token-color-surface);border-bottom:1px solid var(--token-color-border);position:sticky;top:0;z-index:var(--token-z-sticky);box-shadow:var(--token-shadow-sm)}.navbar-container{max-width:1280px;margin:0 auto;padding:0 var(--token-space-xl);height:64px;display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:var(--token-space-md)}.logo{display:flex;align-items:center;gap:var(--token-space-md);font-weight:var(--token-font-weight-bold);font-size:var(--token-scale-lg);color:var(--token-color-text-primary)}.logo-icon{width:32px;height:32px;position:relative;display:flex;align-items:center;justify-content:center}.logo-stripe{position:absolute;width:24px;height:3px;border-radius:var(--token-radius-full)}.logo-stripe--yellow{background:gold;transform:rotate(-15deg) translateY(-6px)}.logo-stripe--red{background:#ff5a5f;transform:rotate(0)}.logo-stripe--blue{background:var(--token-color-primary);transform:rotate(15deg) translateY(6px)}.navbar-menu{display:flex;gap:var(--token-space-2xl)}.nav-link{color:var(--token-color-text-secondary);font-weight:var(--token-font-weight-medium);font-size:var(--token-scale-sm);transition:color var(--token-transition-fast)}.nav-link:hover{color:var(--token-color-text-primary);text-decoration:none}.nav-link.active{color:var(--token-color-primary-dark);position:relative}.nav-link.active:after{content:"";position:absolute;bottom:-21px;left:0;right:0;height:3px;background:var(--token-color-primary);border-radius:var(--token-radius-full)}.navbar-actions{display:flex;align-items:center;gap:var(--token-space-xl)}.user-menu{display:flex;align-items:center;gap:var(--token-space-md);padding:var(--token-space-sm) var(--token-space-md);border-radius:var(--token-radius-full);cursor:pointer;transition:background var(--token-transition-fast)}.user-menu:hover{background:var(--token-color-surface-hover)}.avatar{width:32px;height:32px;border-radius:var(--token-radius-full);object-fit:cover}.user-name{font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium);color:var(--token-color-text-primary)}.notification-btn{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--token-color-accent);color:var(--token-color-onPrimary);font-size:var(--token-scale-2xs);font-weight:var(--token-font-weight-bold);padding:2px 6px;border-radius:var(--token-radius-full);min-width:18px;text-align:center}.hero-section{padding:var(--token-space-4xl) 0}.hero-content{text-align:center;margin-bottom:var(--token-space-3xl)}.hero-title{font-size:var(--token-scale-5xl);font-weight:var(--token-font-weight-bold);margin-bottom:var(--token-space-xl);letter-spacing:-.03em;line-height:1.1}.text-gradient{background:linear-gradient(135deg,var(--token-color-primary),var(--token-color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:var(--token-scale-lg);color:var(--token-color-text-secondary);max-width:600px;margin:0 auto var(--token-space-2xl)}.hero-actions{display:flex;gap:var(--token-space-lg);justify-content:center}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--token-space-xl)}.stat-card{background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-xl);display:flex;align-items:center;gap:var(--token-space-lg);position:relative;transition:all var(--token-transition-base)}.stat-card:hover{box-shadow:var(--token-shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--token-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon--blue{background:var(--token-color-primary-bg);color:var(--token-color-primary)}.stat-icon--yellow{background:var(--token-color-warning-bg);color:var(--token-color-warning-text)}.stat-icon--green{background:var(--token-color-success-bg);color:var(--token-color-success-text)}.stat-icon--warning{background:var(--token-color-warning-bg);color:var(--token-color-warning-text)}.stat-icon--danger{background:var(--token-color-danger-bg);color:var(--token-color-danger)}.stat-content{flex:1}.stat-value{font-size:var(--token-scale-xl);font-weight:var(--token-font-weight-bold);color:var(--token-color-text-primary);margin-bottom:var(--token-space-xs)}.stat-label{font-size:var(--token-scale-sm);color:var(--token-color-text-tertiary)}.stat-trend{position:absolute;top:var(--token-space-lg);right:var(--token-space-lg);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-semibold);padding:var(--token-space-xs) var(--token-space-sm);border-radius:var(--token-radius-full)}.stat-trend--up{color:var(--token-color-success-text);background:var(--token-color-success-bg)}.stat-trend--down{color:var(--token-color-danger);background:var(--token-color-danger-bg)}.stat-trend--neutral{color:var(--token-color-text-tertiary);background:var(--token-color-surface-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--token-space-sm);padding:var(--token-space-md) var(--token-space-xl);border:none;border-radius:var(--token-radius-md);font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium);line-height:1;text-decoration:none;cursor:pointer;transition:all var(--token-transition-fast);position:relative;overflow:hidden;font-family:inherit;min-height:var(--comp-btn-height-md)}.btn:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;pointer-events:none}.btn:not(:disabled):active{transform:scale(.98)}.btn-full{width:100%}.btn-primary{background:var(--token-color-primary);color:var(--token-color-onPrimary);box-shadow:var(--token-shadow-blue);font-weight:var(--token-font-weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--token-color-primary-dark);box-shadow:0 6px 28px #2053fe59;transform:translateY(-1px)}.btn-primary:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px}.btn-primary:disabled{background:#2053fe66;box-shadow:none;color:#ffffffe6}.btn-link{background:transparent;border:none;color:var(--token-color-text-secondary);font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-normal);cursor:pointer;padding:var(--token-space-xs) 0;min-height:var(--comp-btn-height-md);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:color var(--token-transition-fast)}.btn-link:hover{color:var(--token-color-primary);text-decoration:underline}.btn-link:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px;border-radius:var(--token-radius-sm)}.btn-secondary{background:var(--token-color-surface);color:var(--token-color-text-primary);border:1.5px solid var(--token-color-border-strong);box-shadow:var(--token-shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--token-color-primary);color:var(--token-color-primary);box-shadow:var(--token-shadow-sm);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--token-color-text-primary);border:1px solid var(--token-color-border)}.btn-outline:hover:not(:disabled){background:var(--token-color-surface-hover);border-color:var(--token-color-text-tertiary)}.btn-ghost{background:transparent;color:var(--token-color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--token-color-surface-hover);color:var(--token-color-text-primary)}.btn-danger{background:var(--token-color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--token-color-danger-dark);box-shadow:0 4px 16px #dc26264d;transform:translateY(-1px)}.btn-danger:focus-visible{outline:3px solid rgba(220,38,38,.4);outline-offset:2px}.btn-success{background:var(--token-color-success-text);color:#fff}.btn-success:hover:not(:disabled){background:var(--token-color-success-dark);box-shadow:0 4px 16px #16a34a4d;transform:translateY(-1px)}.btn-success:focus-visible{outline:3px solid rgba(22,163,74,.4);outline-offset:2px}.btn-large{padding:var(--token-space-lg) var(--token-space-2xl);font-size:var(--token-scale-base)}.btn-loading .spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--token-radius-full);animation:spin .6s linear infinite}.btn-icon{padding:var(--token-space-sm);min-width:44px;min-height:44px;background:transparent;border:none;border-radius:var(--token-radius-md);color:var(--token-color-text-secondary);cursor:pointer;transition:all var(--token-transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--token-color-surface-hover);color:var(--token-color-text-primary)}.btn-icon:focus-visible{outline:3px solid rgba(32,83,254,.4);outline-offset:2px}.form-group{margin-bottom:var(--token-space-xl)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--token-space-xl)}.form-row{display:flex;gap:var(--token-space-xl);align-items:center;margin-bottom:var(--token-space-xl)}.form-label{display:block;font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium);color:var(--token-color-text-primary);margin-bottom:var(--token-space-sm)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--token-space-md) var(--token-space-lg);background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-md);font-size:var(--token-scale-base);color:var(--token-color-text-primary);transition:all var(--token-transition-fast)}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--token-color-text-tertiary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--token-color-border-focus);box-shadow:var(--token-shadow-focus)}.form-input:hover:not(:focus),.form-textarea:hover:not(:focus),.form-select:hover:not(:focus){border-color:var(--token-color-text-tertiary)}.form-input.error,.error.form-textarea,.error.form-select{border-color:var(--token-color-danger);background:var(--token-color-danger-bg)}.form-input.error:focus,.error.form-textarea:focus,.error.form-select:focus{border-color:var(--token-color-danger);box-shadow:0 0 0 3px #dc262626}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--token-space-lg) center;padding-right:var(--token-space-3xl)}.form-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:var(--token-typography-lineHeight)}.form-textarea.error{border-color:var(--token-color-danger);background:var(--token-color-danger-bg)}.form-textarea.error:focus{border-color:var(--token-color-danger);box-shadow:0 0 0 3px #dc262626}.form-helper{display:block;font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary);margin-top:var(--token-space-xs)}.form-error{display:block;font-size:var(--token-scale-xs);color:var(--token-color-danger);font-weight:var(--token-font-weight-medium);margin-top:var(--token-space-xs)}.input-group{display:flex;align-items:center;position:relative}.input-group .input-addon{position:absolute;left:var(--token-space-lg);color:var(--token-color-text-tertiary);font-weight:var(--token-font-weight-medium)}.input-group .form-input,.input-group .form-select,.input-group .form-textarea{padding-left:var(--token-space-2xl)}.input-group-suffix{display:flex;align-items:stretch;position:relative;width:100%}.input-group-suffix .form-input,.input-group-suffix .form-select,.input-group-suffix .form-textarea{flex:1 1 auto;min-width:0;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important;padding-left:var(--token-space-md);padding-right:var(--token-space-md)}.input-group-suffix .input-addon{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0 var(--token-space-lg);background:var(--token-color-bg);border:1px solid var(--token-color-border);border-left:none;border-top-right-radius:var(--token-radius-md);border-bottom-right-radius:var(--token-radius-md);font-size:var(--token-scale-lg);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);min-width:48px}.checkbox-group,.radio-group{display:inline-flex;align-items:center;gap:var(--token-space-sm);cursor:pointer}.form-checkbox,.form-radio{width:20px;height:20px;accent-color:var(--token-color-primary);cursor:pointer}.checkbox-label,.radio-label{font-size:var(--token-scale-sm);color:var(--token-color-text-primary)}.switch-group{display:inline-flex;align-items:center;gap:var(--token-space-md);cursor:pointer}.form-switch{position:relative;width:44px;height:24px;appearance:none;background:var(--token-color-border);border-radius:var(--token-radius-full);cursor:pointer;transition:background var(--token-transition-fast)}.form-switch:before{content:"";position:absolute;width:20px;height:20px;border-radius:var(--token-radius-full);background:var(--token-color-surface);top:2px;left:2px;transition:transform var(--token-transition-fast);box-shadow:var(--token-shadow-sm)}.form-switch:checked{background:var(--token-color-primary)}.form-switch:checked:before{transform:translate(20px)}.switch-label{font-size:var(--token-scale-sm);color:var(--token-color-text-primary)}.expense-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--token-space-xl)}.expense-card{background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-xl);transition:all var(--token-transition-base)}.expense-card:hover{box-shadow:var(--token-shadow-lg);transform:translateY(-4px);border-color:var(--token-color-primary)}.expense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--token-space-md)}.expense-category{width:40px;height:40px;border-radius:var(--token-radius-md);display:flex;align-items:center;justify-content:center}.expense-category[data-category=transport],.expense-category[data-category=transport_flight],.expense-category[data-category=transport_train],.expense-category[data-category=transport_personal_vehicle],.expense-category[data-category=transport_taxi],.expense-category[data-category=transport_public]{background:var(--token-color-cat-transport-bg);color:var(--token-color-cat-transport-text)}.expense-category[data-category=accommodation],.expense-category[data-category=accommodation_hotel]{background:var(--token-color-cat-accommodation-bg);color:var(--token-color-cat-accommodation-text)}.expense-category[data-category=meal],.expense-category[data-category=meal_breakfast],.expense-category[data-category=meal_lunch],.expense-category[data-category=meal_dinner],.expense-category[data-category=food]{background:var(--token-color-cat-meal-bg);color:var(--token-color-cat-meal-text)}.expense-category[data-category=fuel]{background:var(--token-color-cat-fuel-bg);color:var(--token-color-cat-fuel-text)}.expense-category[data-category=office],.expense-category[data-category=office_supplies],.expense-category[data-category=material]{background:var(--token-color-cat-office-bg);color:var(--token-color-cat-office-text)}.expense-category[data-category=postal]{background:var(--token-color-cat-postal-bg);color:var(--token-color-cat-postal-text)}.expense-category[data-category=phone]{background:var(--token-color-cat-phone-bg);color:var(--token-color-cat-phone-text)}.expense-category[data-category=training]{background:var(--token-color-cat-training-bg);color:var(--token-color-cat-training-text)}.expense-category[data-category=entertainment]{background:var(--token-color-cat-entertainment-bg);color:var(--token-color-cat-entertainment-text)}.expense-category[data-category=parking],.expense-category[data-category=toll],.expense-category[data-category=mileage]{background:var(--token-color-cat-parking-bg);color:var(--token-color-cat-parking-text)}.expense-category[data-category=other]{background:var(--token-color-cat-other-bg);color:var(--token-color-cat-other-text)}.expense-status{padding:var(--token-space-xs) var(--token-space-md);border-radius:var(--token-radius-full);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-semibold)}.expense-status[data-status=pending]{background:var(--token-color-warning-bg);color:var(--token-color-warning-text)}.expense-status[data-status=approved]{background:var(--token-color-success-bg);color:var(--token-color-success-text)}.expense-status[data-status=rejected]{background:var(--token-color-danger-bg);color:var(--token-color-danger)}.expense-title{font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin-bottom:var(--token-space-xs)}.expense-merchant{font-size:var(--token-scale-sm);color:var(--token-color-text-tertiary);margin-bottom:var(--token-space-lg)}.expense-details{display:flex;justify-content:space-between;align-items:center;padding-top:var(--token-space-md);border-top:1px solid var(--token-color-border);margin-bottom:var(--token-space-md)}.expense-amount{font-size:var(--token-scale-lg);font-weight:var(--token-font-weight-bold);color:var(--token-color-text-primary)}.expense-date{font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary)}.expense-actions{display:flex;gap:var(--token-space-sm)}.alert{display:flex;gap:var(--token-space-md);padding:var(--token-space-lg);border-radius:var(--token-radius-md);margin-bottom:var(--token-space-lg);border:1px solid}.alert div{flex:1}.alert strong{display:block;font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-semibold);margin-bottom:var(--token-space-xs)}.alert p{font-size:var(--token-scale-sm);margin:0}.alert-info{background:var(--token-color-info-bg);border-color:var(--token-color-info-border);color:var(--token-color-info-text)}.alert-info strong{color:var(--token-color-info-text)}.alert-info p{color:var(--token-color-text-secondary)}.alert-success{background:var(--token-color-success-bg);border-color:var(--token-color-success-border);color:var(--token-color-success-text)}.alert-success strong{color:var(--token-color-success-text)}.alert-success p{color:var(--token-color-text-secondary)}.alert-warning{background:var(--token-color-warning-bg);border-color:var(--token-color-warning-border);color:var(--token-color-warning-text)}.alert-warning strong{color:var(--token-color-warning-text)}.alert-warning p{color:var(--token-color-text-secondary)}.alert-danger,.alert-error{background:var(--token-color-danger-bg);border-color:var(--token-color-danger-border);color:var(--token-color-danger)}.alert-danger strong,.alert-error strong{color:var(--token-color-danger)}.alert-danger p,.alert-error p{color:var(--token-color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--token-z-modal-backdrop);animation:fadeIn var(--token-transition-fast)}.modal{background:var(--token-color-surface);border-radius:var(--token-radius-xl);box-shadow:var(--token-shadow-2xl);max-width:500px;width:90%;max-height:90vh;overflow:hidden;z-index:var(--token-z-modal);animation:slideUp var(--token-transition-base)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--token-space-xl);border-bottom:1px solid var(--token-color-border)}.modal-title{font-size:var(--token-scale-lg);font-weight:var(--token-font-weight-semibold);margin:0}.modal-body{padding:var(--token-space-xl);overflow-y:auto;max-height:60vh}.modal-footer{display:flex;justify-content:flex-end;gap:var(--token-space-md);padding:var(--token-space-xl);border-top:1px solid var(--token-color-border)}.upload-zone{border:2px dashed var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-3xl);text-align:center;transition:all var(--token-transition-fast);cursor:pointer}.upload-zone:hover{border-color:var(--token-color-primary);background:var(--token-color-surface-hover)}.upload-zone svg{color:var(--token-color-text-tertiary);margin-bottom:var(--token-space-lg)}.upload-zone p{color:var(--token-color-text-secondary);margin-bottom:var(--token-space-lg)}.table-container{background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--token-color-bg-secondary);border-bottom:1px solid var(--token-color-border)}.data-table th{text-align:left;padding:var(--token-space-md) var(--token-space-lg);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:var(--token-space-lg);font-size:var(--token-scale-sm);color:var(--token-color-text-primary)}.data-table td.text-right{text-align:right}.table-text{display:flex;flex-direction:column;gap:var(--token-space-xs)}.table-title{font-weight:var(--token-font-weight-medium);color:var(--token-color-text-primary)}.table-subtitle{font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary)}.table-actions{display:flex;justify-content:flex-end}.badge{display:inline-flex;align-items:center;padding:var(--token-space-xs) var(--token-space-md);border-radius:var(--token-radius-full);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-semibold);line-height:1.4;white-space:nowrap;transition:all var(--token-transition-fast)}.badge[data-status=pending]{background:var(--token-color-warning-bg);color:var(--token-color-warning-text);border:1px solid var(--token-color-warning-border)}.badge[data-status=approved]{background:var(--token-color-success-bg);color:var(--token-color-success-text);border:1px solid var(--token-color-success-border)}.badge[data-status=rejected]{background:var(--token-color-danger-bg);color:var(--token-color-danger-dark);border:1px solid var(--token-color-danger-border)}.badge:not(.badge-neutral):hover{transform:translateY(-1px);box-shadow:var(--token-shadow-sm)}.badge-category{background:var(--token-color-bg-secondary);color:var(--token-color-text-secondary);border:1px solid var(--token-color-border)}.component-group{margin-bottom:var(--token-space-4xl)}.component-group h3{font-size:var(--token-scale-lg);font-weight:var(--token-font-weight-semibold);margin-bottom:var(--token-space-xl);padding-bottom:var(--token-space-md);border-bottom:2px solid var(--token-color-border)}.component-preview{background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-2xl)}.component-preview>*+*{margin-top:var(--token-space-xl)}.button-group{display:flex;flex-wrap:wrap;gap:var(--token-space-md);align-items:center}.theme-controls{display:flex;gap:var(--token-space-2xl);align-items:center}.color-swatches{display:flex;gap:var(--token-space-md)}.color-swatch{width:40px;height:40px;border-radius:var(--token-radius-full);background:var(--swatch-color);border:3px solid transparent;cursor:pointer;transition:all var(--token-transition-fast);box-shadow:var(--token-shadow-sm)}.color-swatch:hover{transform:scale(1.1);box-shadow:var(--token-shadow-md)}.color-swatch:active{transform:scale(.95)}.btn-sm{font-size:var(--token-scale-xs);padding:var(--token-space-sm) var(--token-space-md);min-height:var(--comp-btn-height-sm)}.btn-md{font-size:var(--token-scale-sm);padding:var(--token-space-md) var(--token-space-xl);min-height:var(--comp-btn-height-md)}.btn-lg{font-size:var(--token-scale-base);padding:var(--token-space-lg) var(--token-space-2xl);min-height:var(--comp-btn-height-lg)}.btn-xl{font-size:var(--token-scale-md);padding:15px 34px;min-height:56px}.btn-orange{background:var(--token-color-warning);color:var(--token-color-onPrimary);box-shadow:0 4px 16px #ff6b2b40}.btn-orange:hover:not(:disabled){background:var(--token-color-warning-dark);transform:translateY(-1px)}.btn-orange:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px}.btn-white{background:var(--token-color-neutral-50);color:var(--token-color-neutral-900);box-shadow:var(--token-shadow-md)}.btn-white:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--token-shadow-lg)}.btn-outline-white{background:transparent;color:var(--token-color-text-inverse);border:1.5px solid rgba(254,254,254,.25)}.btn-outline-white:hover:not(:disabled){border-color:#fefefeb3;background:#fefefe14}.badge-blue{background:var(--token-color-primary-bg);color:var(--token-color-primary);border:1px solid var(--token-color-primary-mid)}.badge-green{background:var(--token-color-success-bg);color:var(--token-color-success-text);border:1px solid var(--token-color-success-border)}.badge-orange{background:var(--token-color-warning-bg);color:var(--token-color-warning-text);border:1px solid var(--token-color-warning-border)}.badge-danger{background:var(--token-color-danger-bg);color:var(--token-color-danger-dark);border:1px solid var(--token-color-danger-border)}.badge-neutral{background:var(--token-color-bg-secondary);color:var(--token-color-text-secondary);border:1px solid var(--token-color-border)}.badge-black{background:var(--token-color-neutral-900);color:var(--token-color-text-inverse);border:none}.badge-outline{background:transparent;color:var(--token-color-primary);border:1.5px solid var(--token-color-primary)}.badge-dot{display:inline-block;width:5px;height:5px;border-radius:var(--token-radius-full);background:currentColor;opacity:.7;margin-right:var(--token-space-xs);vertical-align:middle}.tag{display:inline-flex;align-items:center;gap:var(--token-space-xs);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-medium);padding:3px var(--token-space-sm);border-radius:var(--token-radius-xs);background:var(--token-color-bg-secondary);color:var(--token-color-text-secondary);border:1px solid var(--token-color-border);white-space:nowrap;line-height:1.4}.tag-close{font-size:var(--token-scale-2xs);cursor:pointer;opacity:.5;margin-left:var(--token-space-xs);transition:opacity var(--token-transition-fast)}.tag-close:hover{opacity:1}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--token-radius-full) var(--token-radius-full) 0 0}.stat-card.stat-card--blue:before{background:var(--token-color-primary)}.stat-card.stat-card--green:before{background:var(--token-color-success)}.stat-card.stat-card--orange:before{background:var(--token-color-warning)}.stat-card.stat-card--red:before{background:var(--token-color-danger)}.stat-card.stat-card--dark:before{background:var(--token-color-neutral-900)}.avatar{border-radius:var(--token-radius-full);background:var(--token-color-primary);color:var(--token-color-onPrimary);font-weight:var(--token-font-weight-bold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:32px;height:32px;font-size:var(--token-scale-xs)}.avatar-md{width:40px;height:40px;font-size:var(--token-scale-sm)}.avatar-lg{width:52px;height:52px;font-size:var(--token-scale-lg)}.avatar-xl{width:64px;height:64px;font-size:var(--token-scale-xl)}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-8px;border:2px solid var(--token-color-surface)}.avatar-stack .avatar:first-child{margin-left:0}.progress{width:100%;height:5px;background:var(--token-color-bg-secondary);border-radius:var(--token-radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--token-radius-full);transition:width var(--token-transition-slow);background:var(--token-color-primary)}.progress-fill.progress-fill--success{background:var(--token-color-success)}.progress-fill.progress-fill--warning{background:var(--token-color-warning)}.progress-fill.progress-fill--danger{background:var(--token-color-danger)}.progress-label{display:flex;justify-content:space-between;font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary);margin-bottom:var(--token-space-sm)}.divider{border:none;border-top:1px solid var(--token-color-divider);margin:var(--token-space-xl) 0}.btn-auth{width:100%;min-height:var(--comp-btn-height-lg);font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);border-radius:var(--token-radius-md);padding:var(--token-space-md) var(--token-space-xl)}.form-auth-actions{margin-top:var(--token-space-xl);display:flex;flex-direction:column;gap:var(--token-space-md)}.form-auth-footer{margin-top:var(--token-space-xl);padding-top:var(--token-space-lg);border-top:1px solid var(--token-color-divider);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--token-space-sm)}.btn-spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--token-radius-full);animation:spin .6s linear infinite;flex-shrink:0}@media (prefers-reduced-motion: reduce){.btn-spinner{animation:none;opacity:.5}}.lang-selector{display:flex;justify-content:flex-end;gap:var(--token-space-xs);margin-bottom:var(--token-space-lg)}.lang-btn{padding:var(--token-space-xs) var(--token-space-md);border:1px solid var(--token-color-border);border-radius:var(--token-radius-md);background:transparent;color:var(--token-color-text-secondary);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-semibold);cursor:pointer;transition:all var(--token-transition-fast);text-transform:uppercase;letter-spacing:.05em;min-height:var(--comp-btn-height-md);font-family:inherit}.lang-btn:hover:not(.lang-btn--active){background:var(--token-color-surface-hover);border-color:var(--token-color-text-secondary);color:var(--token-color-text-primary)}.lang-btn:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:2px}.lang-btn--active{background:var(--token-color-primary);border-color:var(--token-color-primary);color:var(--token-color-onPrimary);cursor:default;pointer-events:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.navbar-menu{display:none}.hero-title{font-size:var(--token-scale-3xl)}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats,.expense-grid,.form-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.data-table{min-width:600px}}@media print{.navbar,.btn,.modal-overlay,.theme-controls{display:none!important}body{font-size:12pt;color:#000;background:#fff}.expense-card{break-inside:avoid}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--token-color-border: #000;--token-shadow-sm: 0 0 0 1px #000;--token-shadow-md: 0 0 0 2px #000}.btn:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{outline:3px solid currentColor;outline-offset:2px}}:focus-visible{outline:2px solid var(--token-color-primary);outline-offset:2px}::selection{background:var(--token-color-primary);color:var(--token-color-onPrimary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--token-color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--token-color-border);border-radius:var(--token-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--token-color-text-tertiary)}.container{max-width:1280px;margin:0 auto;padding:var(--token-space-2xl) var(--token-space-xl)}.filters-section{margin-bottom:var(--token-space-xl)}.filters-section .filters-card{background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-lg);margin-bottom:0}.filters-section .filters-row{display:flex;gap:var(--token-space-md);align-items:flex-end;flex-wrap:wrap}.filters-section .filter-group{flex:1;min-width:200px}.filters-section .search-group{flex:2}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--token-space-md)}.btn{display:inline-flex;align-items:center;gap:var(--token-space-sm);padding:var(--token-space-md) var(--token-space-lg);border-radius:var(--token-radius-md);font-weight:var(--token-font-weight-semibold);font-size:var(--token-scale-sm);transition:all var(--token-transition-fast);cursor:pointer;border:none;line-height:1.5;white-space:nowrap}.btn svg{flex-shrink:0;stroke-width:2}.btn.btn-primary{background:var(--token-color-primary);color:var(--token-color-onPrimary);box-shadow:var(--token-shadow-blue)}.btn.btn-primary:hover:not(:disabled){background:var(--token-color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2053fe66}.btn.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--token-shadow-blue)}.btn.btn-secondary{background:var(--token-color-secondary);color:var(--token-color-onSecondary)}.btn.btn-secondary:hover:not(:disabled){background:var(--token-color-secondary-dark);transform:translateY(-1px);box-shadow:var(--token-shadow-md)}.btn.btn-success{background:var(--token-color-success-text);color:#fff}.btn.btn-success:hover:not(:disabled){background:var(--token-color-success-dark);transform:translateY(-1px);box-shadow:var(--token-shadow-md)}.btn.btn-danger{background:var(--token-color-danger);color:#fff}.btn.btn-danger:hover:not(:disabled){background:var(--token-color-danger-dark);transform:translateY(-1px);box-shadow:var(--token-shadow-md)}.btn.btn-outline{background:transparent;border:1px solid var(--token-color-border);color:var(--token-color-text-primary)}.btn.btn-outline:hover:not(:disabled){background:var(--token-color-surface-hover);border-color:var(--token-color-primary)}.btn.btn-ghost{background:transparent;border:none;color:var(--token-color-text-secondary)}.btn.btn-ghost:hover:not(:disabled){background:var(--token-color-surface-hover);color:var(--token-color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--token-color-primary);outline-offset:2px}@media (max-width: 640px){.btn.btn-icon-only-mobile{padding:var(--token-space-sm);border-radius:var(--token-radius-full);min-width:44px;min-height:44px;aspect-ratio:1/1;justify-content:center}.btn.btn-icon-only-mobile>span:not(.sr-only){display:none}.btn.btn-icon-only-mobile svg{margin:0}}.table-section{margin-top:var(--token-space-lg)}.table-section table{margin-top:var(--token-space-md)}.section{margin-bottom:var(--token-space-xl)}.form-input,.form-select{width:100%;padding:var(--token-space-sm) var(--token-space-md);border:1px solid var(--token-color-border);border-radius:var(--token-radius-md);background:var(--token-color-surface);color:var(--token-color-text-primary);font-size:var(--token-scale-base);transition:all var(--token-transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--token-color-primary);box-shadow:0 0 0 3px #2053fe26}.form-input::placeholder,.form-select::placeholder{color:var(--token-color-text-tertiary)}.form-label{display:block;margin-bottom:var(--token-space-xs);font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium);color:var(--token-color-text-secondary)}.form-helper{display:block;margin-top:var(--token-space-xs);font-size:var(--token-scale-sm);color:var(--token-color-text-tertiary)}.data-table{width:100%;border-collapse:collapse;border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);overflow:hidden;background:var(--token-color-surface)}.data-table thead{background:var(--token-color-surface-hover)}.data-table thead th{padding:var(--token-space-md);text-align:left;font-weight:var(--token-font-weight-semibold);font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--token-color-border)}.data-table tbody tr{border-bottom:1px solid var(--token-color-border);transition:background var(--token-transition-fast)}.data-table tbody tr:hover{background:var(--token-color-surface-hover)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody td{padding:var(--token-space-md);font-size:var(--token-scale-base);color:var(--token-color-text-primary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--token-space-2xl);gap:var(--token-space-md)}.loading-container .spinner{width:40px;height:40px;border:3px solid var(--token-color-border);border-top-color:var(--token-color-primary);border-radius:50%;animation:spin .8s linear infinite}.alert{display:flex;gap:var(--token-space-md);padding:var(--token-space-md);border-radius:var(--token-radius-md);border:1px solid}.alert.alert-danger{background:#ef44441a;border-color:var(--token-color-danger);color:var(--token-color-danger)}.alert svg{flex-shrink:0}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--token-space-sm);margin-top:var(--token-space-xl)}.pagination button{min-width:44px;height:44px}.table-actions{display:flex;gap:var(--token-space-xs);justify-content:flex-end;align-items:center}.btn-sm{padding:var(--token-space-xs) var(--token-space-sm);font-size:var(--token-scale-sm);min-width:auto;height:32px}.btn-sm svg{width:16px;height:16px}.btn-sm.btn-icon-only{width:32px;padding:var(--token-space-xs)}.btn-sm.btn-icon-only svg{margin:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--token-radius-full);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.badge:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7;flex-shrink:0}.badge.badge-neutral{background:#f3f4f6;color:#626875}.badge.badge-neutral:before{background:#626875}:root[data-theme=dark] .badge.badge-neutral{background:#62687526;color:#9ca3af}:root[data-theme=dark] .badge.badge-neutral:before{background:#9ca3af}.badge.badge-outline{background:transparent;color:#2053fe;border:1.5px solid #2053fe}.badge.badge-outline:before{background:#2053fe}:root[data-theme=dark] .badge.badge-outline{color:#6b8aff;border-color:#6b8aff}:root[data-theme=dark] .badge.badge-outline:before{background:#6b8aff}.badge.badge-blue{background:#eef2ff;color:#2053fe}.badge.badge-blue:before{background:#2053fe}:root[data-theme=dark] .badge.badge-blue{background:#2053fe1f;color:#6b8aff}:root[data-theme=dark] .badge.badge-blue:before{background:#6b8aff}.badge.badge-orange{background:#fff0e8;color:#d95010}.badge.badge-orange:before{background:#d95010}:root[data-theme=dark] .badge.badge-orange{background:#ff6b2b1f;color:#ff8a50}:root[data-theme=dark] .badge.badge-orange:before{background:#ff8a50}.badge.badge-green{background:#edfaf3;color:#16a34a}.badge.badge-green:before{background:#16a34a}:root[data-theme=dark] .badge.badge-green{background:#22c55e1f;color:#4ade80}:root[data-theme=dark] .badge.badge-green:before{background:#4ade80}.badge.badge-accounting{background:#eef7f0;color:#15803d;font-weight:700}.badge.badge-accounting:before{background:#15803d}:root[data-theme=dark] .badge.badge-accounting{background:#15803d26;color:#4ade80}:root[data-theme=dark] .badge.badge-accounting:before{background:#4ade80}.badge.badge-danger,.badge.badge-inactive{background:#fef2f2;color:#dc2626}.badge.badge-danger:before,.badge.badge-inactive:before{background:#dc2626}:root[data-theme=dark] .badge.badge-danger,:root[data-theme=dark] .badge.badge-inactive{background:#ef44441f;color:#f87171}:root[data-theme=dark] .badge.badge-danger:before,:root[data-theme=dark] .badge.badge-inactive:before{background:#f87171}.badge.badge-black{background:#040606;color:#fefefe}.badge.badge-black:before{background:#fefefe}:root[data-theme=dark] .badge.badge-black{background:#fefefe;color:#040606}:root[data-theme=dark] .badge.badge-black:before{background:#040606}.badge.badge-success,.badge.badge-active{background:#edfaf3;color:#16a34a}.badge.badge-success:before,.badge.badge-active:before{background:#16a34a}.badge.badge-warning,.badge.badge-pending{background:#fff0e8;color:#d95010}.badge.badge-warning:before,.badge.badge-pending:before{background:#d95010}.badge.badge-info{background:#eef2ff;color:#2053fe}.badge.badge-info:before{background:#2053fe}.badge.badge-primary{background:#eef2ff;color:#2053fe;font-weight:700}.badge.badge-primary:before{background:#2053fe}.link-button{background:none;border:none;padding:0;color:var(--token-color-primary);font-weight:var(--token-font-weight-medium);cursor:pointer;text-decoration:none;transition:all var(--token-transition-fast)}.link-button:hover{color:var(--token-color-primary-dark);text-decoration:underline}.link-button:focus-visible{outline:3px solid rgba(32,83,254,.4);outline-offset:2px;border-radius:var(--token-radius-sm)}.text-muted{color:var(--token-color-text-tertiary)}.text-right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;background:var(--token-color-surface);border-radius:var(--token-radius-lg);overflow:hidden;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.table thead{position:sticky;top:0;z-index:10}.table thead th{padding:13px 16px;text-align:left;font-weight:600;font-size:9.5px;color:#626875;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--token-color-border);white-space:nowrap;background:var(--token-color-surface)}:root[data-theme=dark] .table thead th{color:var(--token-color-text-tertiary);background:var(--token-color-surface)}.table thead th.checkbox-column{width:40px;text-align:center;padding-left:16px;padding-right:16px}.table thead th.actions-column{text-align:right;width:1%;padding-right:16px}.table thead th.text-right{text-align:right}.table tbody{background:var(--token-color-surface)}.table tbody tr{border-bottom:1px solid var(--token-color-border);transition:background var(--token-transition-fast)}.table tbody tr:hover{background:#2053fe08}.table tbody tr:last-child{border-bottom:none}:root[data-theme=dark] .table tbody tr:hover{background:#2053fe0f}.table tbody td{padding:13px 16px;font-size:13px;color:var(--token-color-text-primary);vertical-align:middle}.table tbody td.checkbox-column{width:40px;text-align:center;padding-left:16px;padding-right:16px}.table tbody td.checkbox-column input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--token-color-primary)}.table tbody td.actions-column,.table tbody td.actions-cell{text-align:right;white-space:nowrap;padding-right:16px}.table tbody td.text-right{text-align:right;font-family:Courier New,monospace;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.table tbody td.text-right strong{font-family:Courier New,monospace;font-weight:700;color:var(--token-color-text-primary)}.table tbody td time{color:var(--token-color-text-secondary);font-size:13px;font-variant-numeric:tabular-nums}@media (max-width: 768px){.hide-mobile{display:none!important}}.pagination-info{display:flex;align-items:center;gap:var(--token-space-sm);padding:var(--token-space-sm) var(--token-space-md);color:var(--token-color-text-secondary);font-size:var(--token-scale-sm)}.action-buttons,.btn-group{display:flex;gap:var(--token-space-xs);align-items:center}.bulk-actions-bar{background:var(--token-color-primary-bg);border:2px solid var(--token-color-primary);border-radius:var(--token-radius-lg);padding:var(--token-space-lg) var(--token-space-xl);margin-bottom:var(--token-space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--token-space-lg);box-shadow:0 4px 12px #2053fe26;animation:slideDown .3s ease-out}.bulk-actions-bar .bulk-selection{display:flex;align-items:center;gap:var(--token-space-md)}.bulk-actions-bar .bulk-selection .bulk-count{font-weight:var(--token-font-weight-bold);font-size:var(--token-scale-base);color:var(--token-color-text-primary)}.bulk-actions-bar .bulk-selection .bulk-count:before{content:"\2713";display:inline-block;margin-right:var(--token-space-sm);color:var(--token-color-primary);font-size:var(--token-scale-lg)}.bulk-actions-bar .bulk-actions{display:flex;gap:var(--token-space-sm);flex-wrap:wrap}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.table-section{margin-top:var(--token-space-xl);animation:fadeIn .4s ease-out}.results-info{margin-bottom:var(--token-space-lg);padding:var(--token-space-md) var(--token-space-lg);background:var(--token-color-surface-hover);border-left:4px solid var(--token-color-primary);border-radius:var(--token-radius-sm)}.results-info p{margin:0;font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);font-weight:var(--token-font-weight-medium)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root[data-theme=dark] .table{background:var(--token-color-surface);box-shadow:var(--token-shadow-lg)}:root[data-theme=dark] .table thead{background:var(--token-color-bg-secondary)}:root[data-theme=dark] .table tbody{background:var(--token-color-surface)}:root[data-theme=dark] .table tbody tr:hover{background:var(--token-color-surface-hover)}:root[data-theme=dark] .link-button{color:var(--token-color-primary-light)}:root[data-theme=dark] .link-button:hover{color:var(--token-color-primary)}:root[data-theme=dark] .alert.alert-danger{background:var(--token-color-danger-bg);border-color:var(--token-color-danger-border);color:var(--token-color-danger)}:root[data-theme=dark] .alert.alert-danger p{color:var(--token-color-danger)}@media (max-width: 768px){.container{padding:var(--token-space-xl) var(--token-space-md)}.filters-row{flex-direction:column}.filters-row .filter-group{width:100%}.form-grid{grid-template-columns:1fr}.table{font-size:var(--token-scale-xs)}.table th,.table td{padding:var(--token-space-sm) var(--token-space-md)}.btn-sm{padding:var(--token-space-2xs) var(--token-space-xs);font-size:var(--token-scale-xs)}.btn-sm svg{width:14px;height:14px}.bulk-actions-bar{flex-direction:column;align-items:stretch}.bulk-actions-bar .bulk-selection,.bulk-actions-bar .bulk-actions{justify-content:center}.pagination .btn{justify-content:center;min-width:44px}.pagination .btn .pagination-label{display:none}}.form-container{max-width:800px;margin:0 auto;padding:var(--token-space-2xl) 0}.form-section{border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);padding:var(--token-space-xl);margin-bottom:var(--token-space-xl);background:var(--token-color-surface)}.form-section-title{display:flex;align-items:center;gap:var(--token-space-sm);font-size:var(--token-scale-lg);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin-bottom:var(--token-space-lg);padding-bottom:var(--token-space-md);border-bottom:2px solid var(--token-color-border)}.form-section-title svg{color:var(--token-color-primary);flex-shrink:0}.page-header{margin-bottom:var(--token-space-2xl)}.page-header h1{font-size:var(--token-scale-3xl);font-weight:var(--token-font-weight-bold);color:var(--token-color-text-primary);margin:0}.breadcrumb{display:flex;align-items:center;gap:var(--token-space-sm);font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);margin-bottom:var(--token-space-md)}.breadcrumb a{color:var(--token-color-primary);text-decoration:none;transition:color var(--token-transition-fast)}.breadcrumb a:hover{color:var(--token-color-primary-dark);text-decoration:underline}.breadcrumb span[aria-current=page]{color:var(--token-color-text-primary);font-weight:var(--token-font-weight-medium)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--token-space-xl)}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid.form-grid-1{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:var(--token-space-sm)}.form-group.form-group-full{grid-column:1/-1}.form-label{display:block;margin-bottom:var(--token-space-sm);font-family:inherit;font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary)}.form-label .required,.form-label .form-label__required{color:var(--token-color-danger);font-weight:var(--token-font-weight-bold);margin-left:-.2em}.form-label .optional,.form-label .form-label__optional{margin-left:var(--token-space-sm);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-normal);color:var(--token-color-text-tertiary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--token-space-md) var(--token-space-lg);background:var(--token-color-surface);border:2px solid var(--token-color-border);border-radius:var(--token-radius-md);font-size:var(--token-scale-base);color:var(--token-color-text-primary);font-family:inherit;transition:all var(--token-transition-fast)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--token-color-text-tertiary)}.form-input:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus),.form-textarea:hover:not(:disabled):not(:focus){border-color:var(--token-color-text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--token-color-primary);box-shadow:0 0 0 3px #2053fe26;background:var(--token-color-bg)}.form-input.error,.form-input[aria-invalid=true],.form-select.error,.form-select[aria-invalid=true],.form-textarea.error,.form-textarea[aria-invalid=true]{border-color:var(--token-color-danger);background:var(--token-color-danger-bg)}.form-input.error:focus,.form-input[aria-invalid=true]:focus,.form-select.error:focus,.form-select[aria-invalid=true]:focus,.form-textarea.error:focus,.form-textarea[aria-invalid=true]:focus{border-color:var(--token-color-danger);box-shadow:0 0 0 3px #dc262626}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--token-color-surface-hover);border-color:var(--token-color-border);color:var(--token-color-text-tertiary);cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px;line-height:var(--token-typography-lineHeight)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--token-space-lg) center;padding-right:calc(var(--token-space-lg) * 2 + 12px);cursor:pointer}.form-select:disabled{cursor:not-allowed}.form-select-multiple{background-image:none;padding-right:var(--token-space-lg)}.form-select-multiple option{padding:var(--token-space-sm)}.form-helper{display:flex;align-items:center;gap:var(--token-space-xs);font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary);line-height:1.4}.form-helper .spinner-inline{width:12px;height:12px;border:2px solid var(--token-color-border);border-top-color:var(--token-color-primary);border-radius:50%;animation:spin .6s linear infinite}.form-helper .text-success{color:var(--token-color-success-text);font-weight:var(--token-font-weight-medium)}.form-helper .text-danger{color:var(--token-color-danger);font-weight:var(--token-font-weight-medium)}.form-error{display:flex;align-items:flex-start;gap:var(--token-space-xs);font-size:var(--token-scale-xs);color:var(--token-color-danger);font-weight:var(--token-font-weight-medium);padding:var(--token-space-sm) var(--token-space-md);background:var(--token-color-danger-bg);border-left:3px solid var(--token-color-danger);border-radius:var(--token-radius-sm)}.form-error:before{content:"\26a0";flex-shrink:0}.form-error .password-requirements{list-style:none;padding:0;margin:var(--token-space-xs) 0 0 0}.form-error .password-requirements li{padding-left:var(--token-space-md);position:relative}.form-error .password-requirements li:before{content:"\2717";position:absolute;left:0;color:var(--token-color-danger)}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:var(--token-space-md);top:50%;transform:translateY(-50%);color:var(--token-color-text-tertiary);pointer-events:none}.input-with-icon .input-icon svg{width:20px;height:20px}.input-with-icon .form-input{padding-left:calc(var(--token-space-md) * 2 + 20px)}.info-box{padding:var(--token-space-xl);background:var(--token-color-surface);border:1px solid var(--token-color-border);border-radius:var(--token-radius-lg);margin-top:var(--token-space-xl)}.info-box.info-box-primary{background:var(--token-color-primary-50);border-color:var(--token-color-primary-100)}.info-box.info-box-warning{background:var(--token-color-warning-bg);border-color:var(--token-color-warning-border)}.info-box.info-box-success{background:var(--token-color-success-bg);border-color:var(--token-color-success-border)}.info-title{font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin:0 0 var(--token-space-md) 0}.info-title:before{content:"\2139\fe0f";margin-right:var(--token-space-sm)}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--token-space-sm)}.info-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--token-space-sm) 0;border-bottom:1px solid var(--token-color-border);font-size:var(--token-scale-sm)}.info-list li:last-child{border-bottom:none}.info-list li span{color:var(--token-color-text-secondary)}.info-list li strong{color:var(--token-color-text-primary);font-weight:var(--token-font-weight-semibold)}.info-icon{font-size:var(--token-scale-2xl);margin:0 0 var(--token-space-md) 0;text-align:center}.form-actions{display:flex;gap:var(--token-space-md);justify-content:flex-end;align-items:center;margin-top:var(--token-space-2xl);padding-top:var(--token-space-xl);border-top:1px solid var(--token-color-border)}@media (max-width: 768px){.form-actions{position:sticky;bottom:0;background:var(--token-color-bg);padding:var(--token-space-lg);margin:var(--token-space-xl) calc(var(--token-space-lg) * -1) 0;box-shadow:0 -2px 8px #0000001a;z-index:10}}.required-note{font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary);text-align:center;margin-top:var(--token-space-lg)}.required-note .required{color:var(--token-color-danger)}.char-counter{font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary)}.char-counter.char-counter-warning{color:var(--token-color-warning)}.char-counter.char-counter-danger{color:var(--token-color-danger)}.form-checkbox-group,.form-radio-group{display:flex;align-items:flex-start;gap:var(--token-space-sm);cursor:pointer;padding:var(--token-space-sm);border-radius:var(--token-radius-md);transition:background var(--token-transition-fast)}.form-checkbox-group:hover,.form-radio-group:hover{background:var(--token-color-surface-hover)}.form-checkbox-group input[type=checkbox],.form-checkbox-group input[type=radio],.form-radio-group input[type=checkbox],.form-radio-group input[type=radio]{width:20px;height:20px;margin-top:2px;accent-color:var(--token-color-primary);cursor:pointer}.form-checkbox-group label,.form-radio-group label{flex:1;cursor:pointer;font-size:var(--token-scale-sm);color:var(--token-color-text-primary)}.form-group-inline{display:flex;gap:var(--token-space-md);align-items:flex-end}.form-group-inline>*{flex:1}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.form-container{max-width:100%;margin:0;padding:var(--token-space-xl) var(--token-space-lg)}.form-grid{gap:var(--token-space-lg)}.form-input,.form-select,.form-textarea{padding:var(--token-space-sm) var(--token-space-md);font-size:var(--token-scale-sm)}.form-group-inline{flex-direction:column;align-items:stretch}}@media (prefers-color-scheme: dark){.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px #2053fe33}.form-input.error:focus,.form-input[aria-invalid=true]:focus,.form-select.error:focus,.form-select[aria-invalid=true]:focus,.form-textarea.error:focus,.form-textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc262633}}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.form-checkbox-group input:focus-visible,.form-radio-group input:focus-visible{outline:3px solid rgba(32,83,254,.4);outline-offset:2px}.create-form-page{min-height:100vh;padding:var(--token-space-xl) var(--token-space-2xl);background:var(--token-color-bg)}@media (max-width: 767px){.create-form-page{padding:var(--token-space-lg) var(--token-space-md);padding-bottom:calc(var(--token-space-lg) + 72px)}}@media (min-width: 768px) and (max-width: 1024px){.create-form-page{padding:var(--token-space-xl)}}.create-form-header{display:flex;align-items:center;gap:var(--token-space-lg);margin-bottom:var(--token-space-2xl)}@media (max-width: 480px){.create-form-header{gap:var(--token-space-md);margin-bottom:var(--token-space-xl)}}.create-form-header__text{min-width:0;flex:1}.create-form-header__back{margin-left:auto;flex-shrink:0}.create-form-back-btn{display:inline-flex;align-items:center;gap:var(--token-space-xs);background:none;border:none;cursor:pointer;color:var(--token-color-text-secondary);font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium);font-family:inherit;padding:var(--token-space-xs) var(--token-space-sm);border-radius:var(--token-radius-md);transition:color var(--token-transition-fast),background var(--token-transition-fast);white-space:nowrap;min-height:44px}.create-form-back-btn:hover{color:var(--token-color-primary);background:var(--token-color-surface-hover)}.create-form-back-btn:hover svg{transform:translate(-3px)}.create-form-back-btn:focus-visible{outline:3px solid var(--token-color-primary);outline-offset:3px;border-radius:var(--token-radius-xs)}.create-form-back-btn svg{transition:transform var(--token-transition-fast);flex-shrink:0}.create-form-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--token-radius-lg);background:linear-gradient(135deg,var(--token-color-primary) 0%,var(--token-color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #2053fe47}@media (max-width: 480px){.create-form-icon{width:44px;height:44px}.create-form-icon svg{width:22px;height:22px}}.create-form-title{font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin:0 0 var(--token-space-xs) 0;line-height:1.5}.create-form-subtitle{font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);margin:0;line-height:1.5}.create-form-alert{display:flex;align-items:flex-start;gap:var(--token-space-sm);padding:var(--token-space-md);border-radius:var(--token-radius-md);border:1px solid;margin-bottom:var(--token-space-lg);font-size:var(--token-scale-sm)}.create-form-alert svg{flex-shrink:0;margin-top:1px}.create-form-alert--error{background:var(--token-color-danger-bg);border-color:var(--token-color-danger);color:var(--token-color-danger)}.create-form-alert--warning{background:var(--token-color-warning-bg);border-color:var(--token-color-warning);color:var(--token-color-warning-text)}.create-form-alert--info{background:var(--token-color-primary-bg);border-color:var(--token-color-primary);color:var(--token-color-primary-dark)}.create-form-alert__message{margin:0;font-weight:var(--token-font-weight-medium);line-height:1.5}.create-form-grid{display:grid;grid-template-columns:1fr 300px;gap:var(--token-space-2xl);align-items:start}@media (max-width: 1024px){.create-form-grid{grid-template-columns:1fr;gap:var(--token-space-xl)}}.create-form-card{background:var(--token-color-surface);border-radius:var(--token-radius-xl);border:1px solid var(--token-color-border);box-shadow:var(--token-shadow-md);overflow:hidden}.create-form-fields{border:none;padding:var(--token-space-2xl);margin:0}.create-form-fields+.create-form-fields{padding-top:0}@media (max-width: 480px){.create-form-fields{padding:var(--token-space-xl) var(--token-space-lg)}}.create-form-legend{display:flex;align-items:center;gap:var(--token-space-sm);font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin-bottom:var(--token-space-lg);padding-bottom:var(--token-space-sm);border-bottom:1px solid var(--token-color-divider);width:100%}.create-form-legend svg{color:var(--token-color-primary);flex-shrink:0}.create-form-divider{border:none;border-top:1px solid var(--token-color-divider);margin:0 0 var(--token-space-xl) 0}.create-form-label__optional{margin-left:var(--token-space-sm);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-normal);color:var(--token-color-text-tertiary);background:var(--token-color-surface-hover);padding:1px var(--token-space-sm);border-radius:var(--token-radius-full);vertical-align:middle}.create-form-label__required{color:var(--token-color-danger);font-weight:var(--token-font-weight-bold);margin-left:-.2em}.create-form-group{margin-bottom:var(--token-space-xl);display:flex;flex-direction:column}.create-form-group--no-margin{margin-bottom:0}.create-form-group--row{display:grid;grid-template-columns:1fr 1fr;gap:var(--token-space-md)}@media (max-width: 600px){.create-form-group--row{grid-template-columns:1fr}}.create-form-label{display:block;font-family:inherit;font-size:var(--token-scale-base);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin-bottom:var(--token-space-sm)}.create-form-input,.create-form-select{width:100%;min-height:48px;padding:var(--token-space-sm) var(--token-space-md);border:1.5px solid var(--token-color-border-strong);border-radius:var(--token-radius-md);font-size:var(--token-scale-base);font-family:inherit;color:var(--token-color-text-primary);background:var(--token-color-bg-secondary);transition:border-color var(--token-transition-fast),box-shadow var(--token-transition-fast),background var(--token-transition-fast)}.create-form-input::placeholder,.create-form-select::placeholder{color:var(--token-color-text-tertiary)}.create-form-input:hover:not(:focus):not(:disabled),.create-form-select:hover:not(:focus):not(:disabled){border-color:var(--token-color-text-tertiary);background:var(--token-color-surface)}.create-form-input:focus,.create-form-select:focus{outline:none;border-color:var(--token-color-border-focus, var(--token-color-primary));box-shadow:var(--token-shadow-focus);background:var(--token-color-surface)}.create-form-input--error,.create-form-select--error{border-color:var(--token-color-danger)}.create-form-input--error:focus,.create-form-select--error:focus{border-color:var(--token-color-danger);box-shadow:0 0 0 3px var(--token-color-danger-bg)}.create-form-input--with-icon,.create-form-select--with-icon{padding-left:calc(var(--token-space-md) + 26px)}.create-form-input:disabled,.create-form-select:disabled{background:var(--token-color-surface-hover);color:var(--token-color-text-tertiary);cursor:not-allowed;opacity:.6}@media (max-width: 767px){.create-form-input,.create-form-select{font-size:16px}}.create-form-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23808080' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--token-space-md) center;padding-right:calc(var(--token-space-md) * 2 + 12px)}.create-form-input-wrapper{position:relative}.create-form-input-wrapper .create-form-input-icon{position:absolute;left:var(--token-space-md);top:50%;transform:translateY(-50%);color:var(--token-color-text-tertiary);pointer-events:none;z-index:1}.create-form-input-wrapper .create-form-input-suffix{position:absolute;right:var(--token-space-md);top:50%;transform:translateY(-50%);color:var(--token-color-text-tertiary);pointer-events:none;font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-medium)}.create-form-textarea{width:100%;padding:var(--token-space-md);border:1.5px solid var(--token-color-border-strong);border-radius:var(--token-radius-md);font-size:var(--token-scale-sm);font-family:inherit;color:var(--token-color-text-primary);background:var(--token-color-bg-secondary);resize:vertical;min-height:120px;line-height:1.6;transition:border-color var(--token-transition-fast),box-shadow var(--token-transition-fast),background var(--token-transition-fast)}.create-form-textarea::placeholder{color:var(--token-color-text-tertiary)}.create-form-textarea:focus{outline:none;border-color:var(--token-color-border-focus, var(--token-color-primary));box-shadow:var(--token-shadow-focus);background:var(--token-color-surface)}.create-form-textarea--error{border-color:var(--token-color-danger)}.create-form-textarea--error:focus{box-shadow:0 0 0 3px var(--token-color-danger-bg)}@media (max-width: 767px){.create-form-textarea{font-size:16px}}.create-form-checkbox-group{display:flex;align-items:flex-start;gap:var(--token-space-sm);padding:var(--token-space-md);border:1.5px solid var(--token-color-border);border-radius:var(--token-radius-md);background:var(--token-color-bg-secondary);cursor:pointer;transition:border-color var(--token-transition-fast),background var(--token-transition-fast)}.create-form-checkbox-group:hover{border-color:var(--token-color-text-tertiary);background:var(--token-color-surface)}.create-form-checkbox-group input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:2px;accent-color:var(--token-color-primary);cursor:pointer}.create-form-checkbox-group__text{flex:1;font-size:var(--token-scale-sm);color:var(--token-color-text-primary);line-height:1.5}.create-form-checkbox-group__hint{display:block;font-size:var(--token-scale-xs);color:var(--token-color-text-secondary);margin-top:2px}.create-form-field-error{display:flex;align-items:center;gap:var(--token-space-xs);color:var(--token-color-danger);font-size:var(--token-scale-xs);font-weight:var(--token-font-weight-medium);margin-top:var(--token-space-xs)}.create-form-field-error svg{flex-shrink:0}.create-form-hint{display:block;font-size:var(--token-scale-xs);color:var(--token-color-text-secondary);margin-top:var(--token-space-xs);line-height:1.5}.create-form-footer-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--token-space-xs);gap:var(--token-space-md)}.create-form-char-counter{font-size:var(--token-scale-xs);color:var(--token-color-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.create-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--token-space-md);padding:var(--token-space-xl) var(--token-space-2xl);border-top:1px solid var(--token-color-divider);background:var(--token-color-surface-hover)}@media (max-width: 767px){.create-form-actions{display:none}}.create-form-sidebar{display:flex;flex-direction:column;gap:var(--token-space-lg)}@media (max-width: 1024px){.create-form-sidebar{order:2}}.create-sidebar-card{background:var(--token-color-surface);border-radius:var(--token-radius-lg);border:1px solid var(--token-color-border);padding:var(--token-space-lg)}.create-sidebar-card--info{border-left:3px solid var(--token-color-primary)}.create-sidebar-card--limits{border-left:3px solid var(--token-color-warning)}.create-sidebar-card--tips{border-left:3px solid var(--token-color-success-text)}.create-sidebar-card__title{display:flex;align-items:center;gap:var(--token-space-sm);font-size:var(--token-scale-sm);font-weight:var(--token-font-weight-semibold);color:var(--token-color-text-primary);margin:0 0 var(--token-space-md) 0}.create-sidebar-card__title svg{color:var(--token-color-primary);flex-shrink:0}.create-info-list{display:grid;grid-template-columns:auto 1fr;gap:var(--token-space-sm) var(--token-space-md);margin:0;font-size:var(--token-scale-sm)}.create-info-list dt{color:var(--token-color-text-secondary);font-weight:var(--token-font-weight-medium);align-self:center}.create-info-list dd{margin:0;color:var(--token-color-text-primary);align-self:center}.create-tips-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--token-space-sm);font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);line-height:1.5}.create-tips-list li{padding-left:var(--token-space-md);position:relative}.create-tips-list li:before{content:"\2192";position:absolute;left:0;color:var(--token-color-success-text);font-size:var(--token-scale-xs);top:2px}.create-tips-list li strong{color:var(--token-color-text-primary)}.create-sidebar-description{margin:0;font-size:var(--token-scale-sm);color:var(--token-color-text-secondary);line-height:1.6}.create-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:create-spin .7s linear infinite;margin-right:var(--token-space-xs);vertical-align:middle}@keyframes create-spin{to{transform:rotate(360deg)}}.create-form-actions-mobile{display:none}@media (max-width: 767px){.create-form-actions-mobile{display:flex;position:fixed;bottom:var(--mobile-nav-height, 0px);left:0;right:0;gap:var(--token-space-sm);padding:var(--token-space-md) var(--token-space-lg);background:var(--token-color-surface);border-top:1px solid var(--token-color-border);box-shadow:0 -4px 16px #00000012;z-index:var(--token-z-sticky)}.create-form-actions-mobile .btn{flex:1}}:root[data-theme=dark] .create-form-actions-mobile{box-shadow:0 -4px 16px #00000059}:root[data-theme=dark] .create-form-icon{box-shadow:0 4px 12px #2053fe73}:root[data-theme=dark] .create-form-input,:root[data-theme=dark] .create-form-select,:root[data-theme=dark] .create-form-textarea{color-scheme:dark}:root[data-theme=dark] .create-form-card{box-shadow:var(--token-shadow-lg)}:root[data-theme=dark] .create-sidebar-card{box-shadow:var(--token-shadow-sm)}:root[data-theme=dark] .create-form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23a0a0a0' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E")}@media (prefers-reduced-motion: reduce){.create-form-back-btn svg,.create-btn-spinner{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-contrast: high){.create-form-input,.create-form-select,.create-form-textarea{border-width:3px}}@media print{.create-form-actions,.create-form-actions-mobile,.create-form-sidebar,.create-form-header__back{display:none}.create-form-grid{display:block}.create-form-card{box-shadow:none;border:1px solid #000}}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--mobile-nav-height: 0px}app-mobile-layout{--mobile-nav-height: calc(60px + var(--safe-area-bottom, 0px))}
