:root{--fluent-color-brand-background:#0078d4;--fluent-color-brand-background-hover:#106ebe;--fluent-color-brand-background-pressed:#005a9e;--fluent-color-brand-background-selected:#106ebe;--fluent-color-brand-foreground-1:#0078d4;--fluent-color-brand-foreground-2:#115ea3;--fluent-color-brand-stroke-1:#0078d4;--fluent-color-brand-stroke-2:#115ea3;--fluent-color-neutral-background-1:light-dark(#fff,#292929);--fluent-color-neutral-background-1-hover:light-dark(#f5f5f5,#3d3d3d);--fluent-color-neutral-background-1-pressed:light-dark(#e0e0e0,#1f1f1f);--fluent-color-neutral-background-2:light-dark(#fafafa,#1f1f1f);--fluent-color-neutral-background-3:light-dark(#f5f5f5,#141414);--fluent-color-neutral-background-4:light-dark(#f0f0f0,#0a0a0a);--fluent-color-neutral-background-5:light-dark(#ebebeb,#000);--fluent-color-neutral-background-6:light-dark(#e6e6e6,#0a0a0a);--fluent-color-neutral-background-subtle:transparent;--fluent-color-neutral-background-inverted:light-dark(#292929,#fff);--fluent-color-neutral-foreground-1:light-dark(#242424,#fff);--fluent-color-neutral-foreground-2:light-dark(#424242,#d6d6d6);--fluent-color-neutral-foreground-3:light-dark(#616161,#adadad);--fluent-color-neutral-foreground-4:light-dark(#707070,#999);--fluent-color-neutral-foreground-disabled:light-dark(#bdbdbd,#5c5c5c);--fluent-color-neutral-foreground-inverted:light-dark(#fff,#242424);--fluent-color-neutral-foreground-on-brand:#fff;--fluent-color-neutral-stroke-1:light-dark(#d1d1d1,#666);--fluent-color-neutral-stroke-1-hover:light-dark(#c7c7c7,#757575);--fluent-color-neutral-stroke-1-pressed:light-dark(#b3b3b3,#6b6b6b);--fluent-color-neutral-stroke-2:light-dark(#e0e0e0,#525252);--fluent-color-neutral-stroke-3:light-dark(#f0f0f0,#3d3d3d);--fluent-color-neutral-stroke-accessible:light-dark(#616161,#adadad);--fluent-color-neutral-stroke-focus-1:light-dark(#fff,#000);--fluent-color-neutral-stroke-focus-2:light-dark(#000,#fff);--fluent-color-status-success-background-1:light-dark(#dff6dd,#052505);--fluent-color-status-success-background-2:light-dark(#c3eac0,#0a3d0a);--fluent-color-status-success-foreground-1:light-dark(#107c10,#54b054);--fluent-color-status-success-foreground-2:light-dark(#0e6a0e,#9fd89f);--fluent-color-status-success-foreground-3:light-dark(#094509,#b7e0b7);--fluent-color-status-success-stroke-1:light-dark(#9fd89f,#107c10);--fluent-color-status-warning-background-1:light-dark(#fff4ce,#4a1e04);--fluent-color-status-warning-background-2:light-dark(#fdecb5,#6e3206);--fluent-color-status-warning-foreground-1:light-dark(#8a6116,#fde300);--fluent-color-status-warning-foreground-2:light-dark(#6c4c0d,#fdea6d);--fluent-color-status-warning-foreground-3:light-dark(#4c3508,#fdf181);--fluent-color-status-warning-stroke-1:light-dark(#fde300,#8a6116);--fluent-color-status-danger-background-1:light-dark(#fde7e9,#3b0509);--fluent-color-status-danger-background-2:light-dark(#f9d9dc,#5c0a0f);--fluent-color-status-danger-foreground-1:light-dark(#bc2f32,#dc626d);--fluent-color-status-danger-foreground-2:light-dark(#a42427,#eeacb2);--fluent-color-status-danger-foreground-3:light-dark(#751d1f,#f4bfc3);--fluent-color-status-danger-stroke-1:light-dark(#dc626d,#bc2f32);--fluent-spacing-none:0;--fluent-spacing-xxs:2px;--fluent-spacing-xs:4px;--fluent-spacing-s-nudge:6px;--fluent-spacing-s:8px;--fluent-spacing-m-nudge:10px;--fluent-spacing-m:12px;--fluent-spacing-l:16px;--fluent-spacing-xl:20px;--fluent-spacing-xxl:24px;--fluent-spacing-xxxl:32px;--fluent-border-radius-none:0;--fluent-border-radius-small:2px;--fluent-border-radius-medium:4px;--fluent-border-radius-large:6px;--fluent-border-radius-xlarge:8px;--fluent-border-radius-circular:10000px;--fluent-font-family-base:"Segoe UI","Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;--fluent-font-family-monospace:Consolas,"Courier New",Courier,monospace;--fluent-font-family-numeric:Bahnschrift,"Segoe UI","Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;--fluent-font-size-base-100:10px;--fluent-font-size-base-200:12px;--fluent-font-size-base-300:14px;--fluent-font-size-base-400:16px;--fluent-font-size-base-500:20px;--fluent-font-size-base-600:24px;--fluent-font-size-hero-700:28px;--fluent-font-size-hero-800:32px;--fluent-font-size-hero-900:40px;--fluent-font-size-hero-1000:68px;--fluent-font-weight-regular:400;--fluent-font-weight-medium:500;--fluent-font-weight-semibold:600;--fluent-font-weight-bold:700;--fluent-line-height-base-100:14px;--fluent-line-height-base-200:16px;--fluent-line-height-base-300:20px;--fluent-line-height-base-400:22px;--fluent-line-height-base-500:28px;--fluent-line-height-base-600:32px;--fluent-line-height-hero-700:36px;--fluent-line-height-hero-800:40px;--fluent-line-height-hero-900:52px;--fluent-line-height-hero-1000:92px;--fluent-shadow-2:0 1px 2px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--fluent-shadow-4:0 2px 4px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--fluent-shadow-8:0 4px 8px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--fluent-shadow-16:0 8px 16px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--fluent-shadow-28:0 14px 28px rgba(0,0,0,.24),0 0 8px rgba(0,0,0,.12);--fluent-shadow-64:0 32px 64px rgba(0,0,0,.24),0 0 8px rgba(0,0,0,.12);--fluent-shadow-2-dark:0 1px 2px rgba(0,0,0,.28),0 0 2px rgba(0,0,0,.24);--fluent-shadow-4-dark:0 2px 4px rgba(0,0,0,.28),0 0 2px rgba(0,0,0,.24);--fluent-shadow-8-dark:0 4px 8px rgba(0,0,0,.28),0 0 2px rgba(0,0,0,.24);--fluent-shadow-16-dark:0 8px 16px rgba(0,0,0,.28),0 0 2px rgba(0,0,0,.24);--fluent-duration-ultra-fast:50ms;--fluent-duration-faster:100ms;--fluent-duration-fast:150ms;--fluent-duration-normal:200ms;--fluent-duration-gentle:250ms;--fluent-duration-slow:300ms;--fluent-duration-slower:400ms;--fluent-duration-ultra-slow:500ms;--fluent-easing-accelerate-max:cubic-bezier(0.9,0.1,1,0.2);--fluent-easing-accelerate-mid:cubic-bezier(1,0,1,1);--fluent-easing-accelerate-min:cubic-bezier(0.8,0,0.78,1);--fluent-easing-decelerate-max:cubic-bezier(0.1,0.9,0.2,1);--fluent-easing-decelerate-mid:cubic-bezier(0,0,0,1);--fluent-easing-decelerate-min:cubic-bezier(0.33,0,0.1,1);--fluent-easing-ease:cubic-bezier(0.33,0,0.67,1);--fluent-easing-linear:linear;--fluent-stroke-width-thin:1px;--fluent-stroke-width-thick:2px;--fluent-stroke-width-thicker:3px;--fluent-stroke-width-thickest:4px;--fluent-animation-fade-in:var(--fluent-duration-normal) var(--fluent-easing-decelerate-mid);--fluent-animation-fade-out:var(--fluent-duration-fast) var(--fluent-easing-accelerate-mid);--fluent-animation-slide-in:var(--fluent-duration-normal) var(--fluent-easing-decelerate-max);--fluent-animation-slide-out:var(--fluent-duration-fast) var(--fluent-easing-accelerate-max);--fluent-animation-scale-in:var(--fluent-duration-normal) var(--fluent-easing-decelerate-mid);--fluent-animation-scale-out:var(--fluent-duration-fast) var(--fluent-easing-accelerate-mid);--fluent-animation-spin:var(--fluent-duration-ultra-slow) var(--fluent-easing-linear) infinite;--fluent-animation-fill-none:none;--fluent-animation-fill-forwards:forwards;--fluent-animation-fill-backwards:backwards;--fluent-animation-fill-both:both;--fluent-animation-direction-normal:normal;--fluent-animation-direction-reverse:reverse;--fluent-animation-direction-alternate:alternate;--fluent-animation-iteration-once:1;--fluent-animation-iteration-infinite:infinite;--fluent-skeleton-background:light-dark(#e0e0e0,#3d3d3d);--fluent-skeleton-background-subtle:light-dark(#f0f0f0,#2d2d2d);--fluent-skeleton-shimmer-start:light-dark(hsla(0,0%,100%,0),hsla(0,0%,100%,0));--fluent-skeleton-shimmer-middle:light-dark(hsla(0,0%,100%,.5),hsla(0,0%,100%,.08));--fluent-skeleton-shimmer-end:light-dark(hsla(0,0%,100%,0),hsla(0,0%,100%,0));--fluent-skeleton-shimmer-gradient:linear-gradient(90deg,var(--fluent-skeleton-shimmer-start) 0%,var(--fluent-skeleton-shimmer-middle) 50%,var(--fluent-skeleton-shimmer-end) 100%);--fluent-skeleton-animation-duration:1.5s;--fluent-skeleton-animation-timing:var(--fluent-easing-linear);--fluent-skeleton-animation-delay:0s;--fluent-skeleton-border-radius:var(--fluent-border-radius-medium);--fluent-skeleton-height-text:1em;--fluent-skeleton-height-heading:1.5em;--fluent-skeleton-height-avatar-small:24px;--fluent-skeleton-height-avatar-medium:32px;--fluent-skeleton-height-avatar-large:48px}.fluent-button{align-items:center;border:var(--fluent-stroke-width-thin) solid transparent;border-radius:var(--fluent-border-radius-medium);box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:var(--fluent-font-family-base);font-size:var(--fluent-font-size-base-300);font-weight:var(--fluent-font-weight-semibold);gap:var(--fluent-spacing-xs);justify-content:center;line-height:var(--fluent-line-height-base-300);min-height:32px;padding:5px 12px;text-decoration:none;transition:background-color var(--fluent-duration-faster) var(--fluent-easing-ease),border-color var(--fluent-duration-faster) var(--fluent-easing-ease),color var(--fluent-duration-faster) var(--fluent-easing-ease);vertical-align:middle}.fluent-button-primary{background-color:var(--fluent-color-brand-background);border-color:transparent;color:var(--fluent-color-neutral-foreground-on-brand)}.fluent-button-primary:hover{background-color:var(--fluent-color-brand-background-hover)}.fluent-button-primary:active{background-color:var(--fluent-color-brand-background-pressed)}.fluent-button-primary:disabled{background-color:var(--fluent-color-neutral-background-5);color:var(--fluent-color-neutral-foreground-disabled);cursor:not-allowed}.fluent-button-secondary{background-color:var(--fluent-color-neutral-background-1);border-color:var(--fluent-color-neutral-stroke-1);color:var(--fluent-color-neutral-foreground-1)}.fluent-button-secondary:hover{background-color:var(--fluent-color-neutral-background-1-hover);border-color:var(--fluent-color-neutral-stroke-1-hover)}.fluent-button-secondary:active{background-color:var(--fluent-color-neutral-background-1-pressed);border-color:var(--fluent-color-neutral-stroke-1-pressed)}.fluent-button-subtle{background-color:transparent;border-color:transparent;color:var(--fluent-color-neutral-foreground-2)}.fluent-button-subtle:hover{background-color:var(--fluent-color-neutral-background-1-hover)}.fluent-button-subtle:hover,.fluent-input{color:var(--fluent-color-neutral-foreground-1)}.fluent-input{background-color:var(--fluent-color-neutral-background-1);border:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-1);border-bottom-width:var(--fluent-stroke-width-thick);border-radius:var(--fluent-border-radius-medium);box-sizing:border-box;font-family:var(--fluent-font-family-base);font-size:var(--fluent-font-size-base-300);line-height:var(--fluent-line-height-base-300);min-height:32px;padding:5px 12px 7px;transition:border-color var(--fluent-duration-faster) var(--fluent-easing-ease)}.fluent-input::placeholder{color:var(--fluent-color-neutral-foreground-4)}.fluent-input:hover{border-color:var(--fluent-color-neutral-stroke-1-hover)}.fluent-input:focus{border-bottom-color:var(--fluent-color-brand-stroke-1);outline:none}.fluent-input:disabled{background-color:var(--fluent-color-neutral-background-5);border-color:var(--fluent-color-neutral-stroke-2);color:var(--fluent-color-neutral-foreground-disabled);cursor:not-allowed}.fluent-card{background-color:var(--fluent-color-neutral-background-1);border:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-2);border-radius:var(--fluent-border-radius-xlarge);box-shadow:var(--fluent-shadow-4);padding:var(--fluent-spacing-m)}.fluent-focus-visible:focus-visible{box-shadow:inset 0 0 0 1px var(--fluent-color-neutral-stroke-focus-2),0 0 0 2px var(--fluent-color-neutral-stroke-focus-1);outline:none}:root{color-scheme:light dark;--md-sys-color-primary:light-dark(#1a73e8,#005a9e);--md-sys-color-primary-text:light-dark(#1a73e8,#569cd6);--md-sys-color-primary-container:light-dark(#a8c7fa,#004a77);--md-sys-color-on-primary:#fff;--md-sys-color-on-primary-container:light-dark(#041e49,#a8c7fa);--md-sys-color-secondary:light-dark(#5f6368,#bdc1c6);--md-sys-color-secondary-container:light-dark(#e8eaed,#3c4043);--md-sys-color-on-secondary:light-dark(#fff,#303030);--md-sys-color-on-secondary-container:light-dark(#1f1f1f,#e8eaed);--md-sys-color-tertiary:#22c55e;--md-sys-color-tertiary-container:light-dark(#ceead6,#0d5223);--md-sys-color-on-tertiary:light-dark(#fff,#003914);--md-sys-color-on-tertiary-container:light-dark(#0d3f1a,#ceead6);--md-sys-color-error:light-dark(#d42314,#f04438);--md-sys-color-error-container:light-dark(#fce8e6,#8c1d18);--md-sys-color-on-error:light-dark(#fff,#601410);--md-sys-color-on-error-container:light-dark(#5c0011,#fce8e6);--md-sys-color-surface:light-dark(#fff,#1f1f1f);--md-sys-color-surface-dim:light-dark(#e0e0e0,#141414);--md-sys-color-surface-bright:light-dark(#fafafa,#3c3c3c);--md-sys-color-surface-container-lowest:light-dark(#fff,#0e0e0e);--md-sys-color-surface-container-low:light-dark(#f5f5f5,#1c1c1c);--md-sys-color-surface-container:light-dark(#eee,#242424);--md-sys-color-surface-container-high:light-dark(#e8e8e8,#2e2e2e);--md-sys-color-surface-container-highest:light-dark(#e0e0e0,#393939);--md-sys-color-on-surface:light-dark(#1f2937,#e3e3e3);--md-sys-color-on-surface-variant:light-dark(#44474e,#c4c7c5);--md-sys-color-outline:light-dark(#74777f,#8e918f);--md-sys-color-outline-variant:light-dark(#c4c7c5,#44474e);--md-sys-color-inverse-surface:light-dark(#2f3033,#e3e3e3);--md-sys-color-inverse-on-surface:light-dark(#f2f2f2,#303030);--md-sys-color-inverse-primary:light-dark(#005a9e,#0b57d0);--color-primary:var(--md-sys-color-primary);--color-primary-text:var(--md-sys-color-primary-text);--color-primary-hover:light-dark(#1557b0,#3380c4);--color-primary-active:light-dark(#0d47a1,#4d94d0);--color-success:var(--md-sys-color-tertiary);--color-danger:var(--md-sys-color-error);--color-danger-hover:light-dark(#b3261e,#f5a9a4);--color-warning:light-dark(#e37400,#fdd663);--color-text:var(--md-sys-color-on-surface);--color-text-muted:var(--md-sys-color-on-surface-variant);--color-border:var(--md-sys-color-outline-variant);--color-background:var(--md-sys-color-surface);--color-surface:var(--md-sys-color-surface-container-low);--color-surface-hover:var(--md-sys-color-surface-container);--color-info-bg:var(--md-sys-color-primary-container);--color-success-bg:var(--md-sys-color-tertiary-container);--color-warning-bg:light-dark(#fef7e0,#3d3200);--color-danger-bg:var(--md-sys-color-error-container);--color-accent:light-dark(#7c4dff,#b388ff);--color-accent-hover:light-dark(#651fff,#d1b3ff);--color-error:var(--md-sys-color-error);--color-button-hover:var(--md-sys-color-surface-container-high);--color-overlay-light:light-dark(rgba(0,0,0,.08),hsla(0,0%,100%,.08));--color-danger-overlay:light-dark(rgba(217,48,37,.12),hsla(5,81%,73%,.16));--space-xs:4px;--space-sm:8px;--space-sm-md:10px;--space-md:12px;--space-lg:16px;--space-lg-xl:20px;--space-xl:24px;--space-2xl:32px;--space-3xl:40px;--radius-xs:2px;--radius-sm:4px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:8px;--radius-full:4px;--elevation-1:0 1px 2px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--elevation-2:0 2px 4px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--elevation-3:0 4px 8px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--elevation-4:0 8px 16px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--elevation-5:0 14px 28px rgba(0,0,0,.24),0 0 8px rgba(0,0,0,.12);--shadow-sm:var(--elevation-1);--shadow-md:var(--elevation-2);--shadow-lg:var(--elevation-3);--shadow-focus-color:light-dark(rgba(26,115,232,.38),rgba(168,199,250,.38));--shadow-focus:0 0 0 3px var(--shadow-focus-color);--shadow-card:light-dark(0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.3));--shadow-card-hover:light-dark(0 4px 6px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06),0 4px 6px rgba(0,0,0,.4));--state-hover-opacity:0.08;--state-focus-opacity:0.12;--state-pressed-opacity:0.12;--state-dragged-opacity:0.16;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--motion-easing-emphasized:cubic-bezier(0.2,0,0,1);--motion-easing-emphasized-decelerate:cubic-bezier(0.05,0.7,0.1,1);--motion-easing-emphasized-accelerate:cubic-bezier(0.3,0,0.8,0.15);--motion-duration-short1:50ms;--motion-duration-short2:100ms;--motion-duration-short3:150ms;--motion-duration-short4:200ms;--motion-duration-medium1:250ms;--motion-duration-medium2:300ms;--motion-duration-medium3:350ms;--motion-duration-medium4:400ms;--motion-duration-long1:450ms;--motion-duration-long2:500ms;--transition-fast:var(--motion-duration-short3) var(--motion-easing-standard);--transition-normal:var(--motion-duration-short4) var(--motion-easing-standard);--transition-slow:var(--motion-duration-medium2) var(--motion-easing-emphasized);--font-family:"Segoe UI","Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:10px;--font-size-sm:11px;--font-size-md:12px;--font-size-md-lg:13px;--font-size-base:14px;--font-size-base-lg:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:24px;--font-size-icon:40px;--size-input-min-height:48px;--size-button-min-height:40px;--size-button-sm-min-height:36px;--size-icon-sm:14px;--size-icon-md:20px;--size-icon-lg:30px;--size-spinner:30px;--size-max-width-container:500px;--size-max-width-modal:700px;--spinner-track:hsla(0,0%,100%,.3);--spinner-head:#fff;--overlay-bg:light-dark(rgba(0,0,0,.32),rgba(0,0,0,.56))}:root.dark-mode{color-scheme:dark}:root.light-mode{color-scheme:light}html{transition:background-color .2s ease,color .2s ease}.btn,.btn-icon,.btn-tertiary,.card,.expense-entry{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}body{background-color:var(--md-sys-color-surface-container-low);color:var(--color-text);font-family:var(--font-family);line-height:1.5;margin:0;min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container,body{box-sizing:border-box;padding:var(--space-xl)}.container{background:var(--md-sys-color-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-2);margin-left:auto;margin-right:auto;max-width:var(--size-max-width-container);transition:background-color var(--transition-normal),box-shadow var(--transition-normal)}h1{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);letter-spacing:-.02em;margin:0 0 var(--space-xs) 0}.tagline,h1{text-align:center}.tagline{color:#569cd6;font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-regular);margin:0 0 var(--space-lg) 0}.tagline,label{letter-spacing:.01em}label{color:var(--color-text);display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.login-section{padding:40px 20px;text-align:center}.login-section h2{color:var(--color-text);font-size:var(--font-size-xl);margin-bottom:10px}.login-section p{color:var(--color-text-muted);font-size:var(--font-size-base);margin-bottom:20px}.user-info{background-color:var(--color-surface);border-radius:var(--radius-xs);display:none;margin-bottom:10px;margin-top:5px;padding:5px 10px;text-align:center}.user-info p{color:var(--color-text-muted);font-size:var(--font-size-md);margin:2px 0}.main-form{display:none}.form-group{margin-bottom:var(--space-lg)}input,select,textarea{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-lg);padding:var(--space-md) var(--space-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:hover,select:hover,textarea:hover{border-color:var(--color-text)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}textarea{min-height:80px;resize:vertical}input:disabled,select:disabled,textarea:disabled{background-color:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline-variant);color:var(--color-text-muted);cursor:not-allowed;opacity:.7;-webkit-text-fill-color:var(--color-text-muted)}input.input-disabled{background-color:var(--md-sys-color-primary-container);border-color:var(--color-primary);color:var(--color-text);opacity:1;-webkit-text-fill-color:var(--color-text);font-weight:var(--font-weight-medium)}input[type=date]{color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;height:var(--space-xl);opacity:1;width:var(--space-xl)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.7}@media (prefers-color-scheme:dark){:root:not(.light-mode) input[type=date]{color-scheme:dark}}:root.dark-mode input[type=date]{color-scheme:dark}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 4px 4px;border-top:none;box-shadow:var(--shadow-md);display:none;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-dropdown.show{display:block}.autocomplete-item{border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:var(--space-sm-md)}.autocomplete-item:hover{background-color:var(--color-surface-hover)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.selected{background-color:var(--color-info-bg)}.autocomplete-item.autocomplete-active{background-color:var(--color-surface-hover);outline:2px solid var(--color-primary);outline-offset:-2px}.autocomplete-item-label{font-weight:500}.autocomplete-item-sublabel{color:var(--color-text-muted);font-size:var(--font-size-sm,12px);font-style:italic}.autocomplete-no-results{color:var(--color-text-muted);font-style:italic;padding:var(--space-sm-md);text-align:center}.form-group.has-error{animation:field-shake .4s ease-out}.form-group.field-error .form-label,.form-group.has-error .form-label{color:var(--fluent-color-status-danger-foreground-1,var(--md-sys-color-error))}.form-group.field-valid .form-label,.form-group.has-success .form-label{color:var(--fluent-color-status-success-foreground-1)}input.field-error,input.invalid,select.field-error,select.invalid,textarea.field-error,textarea.invalid{background-color:var(--fluent-color-status-danger-background-1,var(--md-sys-color-error-container));border-color:var(--fluent-color-status-danger-stroke-1,var(--md-sys-color-error))}input.field-error:focus,input.invalid:focus,select.field-error:focus,select.invalid:focus,textarea.field-error:focus,textarea.invalid:focus{border-color:var(--fluent-color-status-danger-foreground-1,var(--md-sys-color-error));box-shadow:0 0 0 1px var(--fluent-color-status-danger-stroke-1,var(--md-sys-color-error));outline:none}input.field-valid,input.valid,select.field-valid,select.valid,textarea.field-valid,textarea.valid{border-color:var(--fluent-color-status-success-stroke-1)}.field-error-message,.form-error-message,.validation-message{animation:validation-message-appear .2s ease-out;color:var(--fluent-color-status-danger-foreground-1,var(--md-sys-color-error));display:block;font-size:var(--fluent-font-size-base-200,12px);line-height:var(--fluent-line-height-base-200,16px);margin-top:var(--fluent-spacing-xs,4px);padding-left:var(--fluent-spacing-xxs,2px)}.form-label.required:after,label.required:after{color:var(--fluent-color-status-danger-foreground-1,var(--md-sys-color-error));content:" *";font-weight:var(--fluent-font-weight-semibold,600)}@keyframes field-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes validation-message-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.field-error-message,.field-shake,.form-error-message,.form-group.has-error,.shake,.validation-message{animation:none}input,select,textarea{transition:none}}button{background-color:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-md);color:var(--md-sys-color-on-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);letter-spacing:.01em;margin-top:var(--space-md);min-height:var(--size-button-min-height);overflow:hidden;padding:var(--space-sm) var(--space-lg);position:relative;text-transform:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-decelerate-min,cubic-bezier(.33,0,.1,1));width:100%}button:hover:not(:disabled){background-color:var(--color-primary-hover)}button:active:not(:disabled){background-color:var(--color-primary-active);transform:scale(.98)}button:disabled{background-color:var(--fluent-color-neutral-background-5,#ebebeb);border-color:transparent;color:var(--fluent-color-neutral-foreground-disabled,#bdbdbd);cursor:not-allowed}.login-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;display:inline-block;font-size:var(--font-size-lg);font-weight:600;padding:12px 24px;transition:all var(--transition-fast)}.login-btn:hover{background-color:var(--color-primary-hover)}.login-btn:active{background-color:var(--color-primary-active);transform:scale(.98)}.logout-btn{background-color:var(--fluent-color-neutral-background-1,#fff);border:1px solid var(--fluent-color-neutral-stroke-1,#d1d1d1);border-radius:var(--radius-md);color:var(--fluent-color-neutral-foreground-1,#242424);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-top:var(--space-sm);min-height:var(--size-button-sm-min-height);padding:var(--space-sm) var(--space-lg);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-decelerate-min,cubic-bezier(.33,0,.1,1))}.logout-btn:hover{background-color:var(--fluent-color-neutral-background-1-hover,#f5f5f5);border-color:var(--fluent-color-neutral-stroke-1-hover,#c7c7c7)}.logout-btn:active{background-color:var(--fluent-color-neutral-background-1-pressed,#e0e0e0);transform:scale(.98)}.expense-action-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:4px;justify-content:center;padding:8px 16px;transition:all var(--transition-fast)}.expense-action-btn:hover:not(:disabled){background:var(--color-primary-hover)}.expense-action-btn:active:not(:disabled){background:var(--color-primary-active);transform:scale(.97)}.expense-action-btn:disabled{background:var(--color-border);cursor:not-allowed}.expense-action-btn svg{height:16px;width:16px}.btn-tertiary{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--md-sys-color-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0;min-height:auto;padding:var(--space-xs) var(--space-sm);transition:background-color var(--transition-fast),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-decelerate-min,cubic-bezier(.33,0,.1,1));width:auto}.btn-tertiary:hover:not(:disabled){background:var(--md-sys-color-primary-container)}.btn-tertiary:active:not(:disabled){background:var(--md-sys-color-surface-container-high);transform:scale(.97)}.btn-tertiary:disabled{cursor:not-allowed;opacity:.5}.btn-icon,.btn-tertiary:disabled{color:var(--md-sys-color-on-surface-variant)}.btn-icon{align-items:center;background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;justify-content:center;margin:0;min-height:auto;padding:var(--space-xs);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-decelerate-min,cubic-bezier(.33,0,.1,1));width:auto}.btn-icon:hover:not(:disabled){background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.btn-icon:active:not(:disabled){background:var(--md-sys-color-surface-container-highest);transform:scale(.92)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.icon-btn{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin:0;min-height:auto;padding:4px;transition:background-color var(--transition-fast),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-decelerate-min,cubic-bezier(.33,0,.1,1));width:auto}.icon-btn:hover{background:var(--md-sys-color-surface-container-high)}.icon-btn:active{background:var(--md-sys-color-surface-container-highest);transform:scale(.92)}.icon-btn .material-icons{font-size:18px}@media (prefers-reduced-motion:reduce){.btn-icon,.btn-tertiary,.expense-action-btn,.icon-btn,.login-btn,.logout-btn,button{transition:none}.btn-icon:active:not(:disabled),.btn-tertiary:active:not(:disabled),.expense-action-btn:active:not(:disabled),.icon-btn:active,.login-btn:active,.logout-btn:active,button:active:not(:disabled){transform:none}}.card{background-color:var(--fluent-color-neutral-background-1);border:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-2);border-radius:var(--fluent-border-radius-xlarge);box-shadow:var(--fluent-shadow-4);padding:var(--fluent-spacing-l);transition:box-shadow var(--fluent-duration-normal) var(--fluent-easing-ease),border-color var(--fluent-duration-normal) var(--fluent-easing-ease),transform var(--fluent-duration-normal) var(--fluent-easing-ease)}.card:hover{border-color:var(--fluent-color-neutral-stroke-1-hover);box-shadow:var(--fluent-shadow-8)}.card:active{border-color:var(--fluent-color-neutral-stroke-1-pressed);box-shadow:var(--fluent-shadow-2)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-1px)}.card--interactive:active{transform:translateY(0)}.card--elevated{box-shadow:var(--fluent-shadow-8)}.card--elevated:hover{box-shadow:var(--fluent-shadow-16)}.card--flat{box-shadow:var(--fluent-shadow-2)}.card--flat:hover{box-shadow:var(--fluent-shadow-4)}.card--outlined{border-color:var(--fluent-color-neutral-stroke-1);box-shadow:none}.card--outlined:hover{background-color:var(--fluent-color-neutral-background-1-hover);box-shadow:var(--fluent-shadow-4)}.info-box{background-color:var(--md-sys-color-surface-container-low);border-left:none;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);box-shadow:var(--fluent-shadow-2);margin:var(--space-lg) 0;padding:var(--space-lg);transition:box-shadow var(--fluent-duration-normal) var(--fluent-easing-ease),border-color var(--fluent-duration-normal) var(--fluent-easing-ease),background-color var(--fluent-duration-normal) var(--fluent-easing-ease)}.info-box:hover{border-color:var(--md-sys-color-outline);box-shadow:var(--fluent-shadow-4)}.info-box p{font-size:var(--font-size-base);line-height:1.5;margin:0}.info-box p,.info-box strong{color:var(--md-sys-color-on-primary-container)}.info-box strong{font-weight:var(--font-weight-medium)}.card--small{border-radius:var(--fluent-border-radius-medium);padding:var(--fluent-spacing-s)}.card--large{border-radius:var(--fluent-border-radius-xlarge);padding:var(--fluent-spacing-xxl)}.card--success{background-color:var(--fluent-color-status-success-background-1);border-left:var(--fluent-stroke-width-thicker) solid var(--fluent-color-status-success-stroke-1)}.card--success:hover{background-color:var(--fluent-color-status-success-background-2)}.card--warning{background-color:var(--fluent-color-status-warning-background-1);border-left:var(--fluent-stroke-width-thicker) solid var(--fluent-color-status-warning-stroke-1)}.card--warning:hover{background-color:var(--fluent-color-status-warning-background-2)}.card--danger{background-color:var(--fluent-color-status-danger-background-1);border-left:var(--fluent-stroke-width-thicker) solid var(--fluent-color-status-danger-stroke-1)}.card--danger:hover{background-color:var(--fluent-color-status-danger-background-2)}.card__header{border-bottom:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-2);margin-bottom:var(--fluent-spacing-m);padding-bottom:var(--fluent-spacing-m)}.card__title{color:var(--fluent-color-neutral-foreground-1);font-family:var(--fluent-font-family-base);font-size:var(--fluent-font-size-base-400);font-weight:var(--fluent-font-weight-semibold);line-height:var(--fluent-line-height-base-400);margin:0}.card__subtitle{color:var(--fluent-color-neutral-foreground-3);font-size:var(--fluent-font-size-base-200);margin:var(--fluent-spacing-xs) 0 0 0}.card__body{color:var(--fluent-color-neutral-foreground-2);font-size:var(--fluent-font-size-base-300);line-height:var(--fluent-line-height-base-300)}.card__footer{border-top:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-2);margin-top:var(--fluent-spacing-m);padding-top:var(--fluent-spacing-m)}.card--interactive:focus-visible,.card:focus-visible{box-shadow:var(--fluent-shadow-4),inset 0 0 0 1px var(--fluent-color-neutral-stroke-focus-2),0 0 0 2px var(--fluent-color-neutral-stroke-focus-1);outline:none}@media (prefers-reduced-motion:reduce){.card,.card--interactive,.info-box{transition:none}.card--interactive:hover{transform:none}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalScaleOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-header.modal-header-danger{background-color:var(--color-danger)}.modal-header.modal-header-warning{background-color:var(--color-warning);color:#1a1a00}.modal-header.modal-header-info{background-color:var(--color-primary)}.modal-header.modal-header-success{background-color:var(--color-success)}button.modal-btn-danger{background-color:var(--color-danger)}button.modal-btn-warning{background-color:var(--color-warning);color:#1a1a00}button.modal-btn-info{background-color:var(--color-primary)}button.modal-btn-success{background-color:var(--color-success)}.modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:none;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity var(--fluent-duration-normal,.2s) var(--fluent-easing-decelerate-mid,cubic-bezier(0,0,0,1));z-index:10001}.modal-overlay.show{animation:modalFadeIn var(--fluent-duration-normal,.2s) var(--fluent-easing-decelerate-mid,cubic-bezier(0,0,0,1)) forwards;display:flex;opacity:1;pointer-events:auto;touch-action:none}.modal-overlay.hiding{animation:modalFadeOut var(--fluent-duration-fast,.15s) var(--fluent-easing-accelerate-mid,cubic-bezier(1,0,1,1)) forwards;pointer-events:none}#confirmModal.modal-overlay,#errorModal.modal-overlay,#successModal.modal-overlay{z-index:10003}.modal-dialog{background:var(--md-sys-color-surface);border-radius:var(--radius-2xl);box-shadow:var(--elevation-3);max-height:80vh;max-width:var(--size-max-width-container);opacity:0;overflow-y:auto;transform:scale(.9) translateY(20px);transition:transform var(--fluent-duration-slow,.3s) var(--fluent-easing-decelerate-max,cubic-bezier(.1,.9,.2,1)),opacity var(--fluent-duration-normal,.2s) var(--fluent-easing-decelerate-mid,cubic-bezier(0,0,0,1)),box-shadow var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1));width:90%;will-change:transform,opacity}.modal-overlay.show .modal-dialog{animation:modalScaleIn var(--fluent-duration-slow,.3s) var(--fluent-easing-decelerate-max,cubic-bezier(.1,.9,.2,1)) forwards;opacity:1;transform:scale(1) translateY(0)}.modal-overlay.hiding .modal-dialog{animation:modalScaleOut var(--fluent-duration-fast,.15s) var(--fluent-easing-accelerate-max,cubic-bezier(.9,.1,1,.2)) forwards}.modal-header{align-items:center;background-color:var(--color-success);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;color:#fff;display:flex;padding:var(--space-lg) var(--space-xl);transition:background-color var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1))}.modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);letter-spacing:.01em;margin:0}.modal-header .success-icon{font-size:var(--font-size-3xl);margin-right:var(--space-md)}.modal-body{padding:var(--space-xl) var(--space-xl);transition:background-color var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),color var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1))}.modal-summary-item{border-bottom:1px solid var(--md-sys-color-outline-variant);padding:var(--space-md) 0;transition:border-color var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1))}.modal-summary-item:last-child{border-bottom:none}.modal-summary-label{color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);letter-spacing:.02em;margin-bottom:var(--space-xs)}.modal-summary-value{color:var(--color-text);font-size:var(--font-size-base)}.modal-footer{border-top:none;display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-lg) var(--space-xl);text-align:right}.modal-footer button{margin:0;min-height:var(--size-button-min-height);padding:var(--space-md) var(--space-xl);width:auto}.modal-content{background:var(--md-sys-color-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-3);opacity:0;overscroll-behavior:contain;touch-action:auto;transform:scale(.9) translateY(20px);transition:transform var(--fluent-duration-slow,.3s) var(--fluent-easing-decelerate-max,cubic-bezier(.1,.9,.2,1)),opacity var(--fluent-duration-normal,.2s) var(--fluent-easing-decelerate-mid,cubic-bezier(0,0,0,1)),background-color var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),box-shadow var(--fluent-duration-normal,.2s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1));will-change:transform,opacity}.modal-overlay.show .modal-content{animation:modalScaleIn var(--fluent-duration-slow,.3s) var(--fluent-easing-decelerate-max,cubic-bezier(.1,.9,.2,1)) forwards;opacity:1;transform:scale(1) translateY(0)}.modal-overlay.hiding .modal-content{animation:modalScaleOut var(--fluent-duration-fast,.15s) var(--fluent-easing-accelerate-max,cubic-bezier(.9,.1,1,.2)) forwards}.modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;line-height:1;margin:0 0 0 auto;min-height:auto;padding:0;transition:opacity var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1));width:auto}.modal-close:hover{opacity:.8;transform:scale(1.1)}.modal-close:active{transform:scale(.95)}.modal-close:focus-visible{box-shadow:0 0 0 var(--fluent-stroke-width-thin,1px) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick,3px) var(--fluent-color-neutral-stroke-focus-2);opacity:1;outline:none}.modal-subtitle{font-size:14px;margin-left:12px;opacity:.9}.modal-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;margin:0;min-height:36px;padding:8px 16px;transition:background-color var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),border-color var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),color var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),transform var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1)),box-shadow var(--fluent-duration-faster,.1s) var(--fluent-easing-ease,cubic-bezier(.33,0,.67,1));width:auto}.modal-btn:active:not(:disabled){transform:scale(.98)}.modal-btn:focus-visible{box-shadow:inset 0 0 0 1px var(--fluent-color-neutral-stroke-focus-2),0 0 0 2px var(--fluent-color-neutral-stroke-focus-1);outline:none}.modal-btn-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.modal-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.modal-btn-primary:disabled{cursor:not-allowed;opacity:.5}.modal-btn-secondary{background:#9e9e9e;border:1px solid var(--md-sys-color-outline);color:#1a1a1a}.modal-btn-secondary:hover{background:#b0b0b0;color:#1a1a1a}.modal-btn-warning,.modal-btn-warning:hover{background:var(--color-warning);color:#1a1a00}.modal-btn-warning:hover{filter:brightness(.9)}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-overlay.hiding,.modal-overlay.show{animation:none;transition:none}.modal-content,.modal-dialog,.modal-overlay.hiding .modal-content,.modal-overlay.hiding .modal-dialog,.modal-overlay.show .modal-content,.modal-overlay.show .modal-dialog{animation:none;transform:none;transition:none}.modal-body,.modal-btn,.modal-close,.modal-header,.modal-summary-item{transition:none}.modal-btn:active:not(:disabled),.modal-close:active,.modal-close:hover{transform:none}}#toast-container{align-items:center;bottom:var(--fluent-spacing-xl);display:flex;flex-direction:column;gap:var(--fluent-spacing-s);left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:9999}.toast{animation:toastSlideIn var(--fluent-animation-slide-in) var(--fluent-animation-fill-both);background:var(--color-text);border-radius:var(--fluent-border-radius-medium);box-shadow:var(--fluent-shadow-16);color:var(--color-background);cursor:pointer;padding:var(--fluent-spacing-m) var(--fluent-spacing-l);pointer-events:auto;transition:transform var(--fluent-duration-fast) var(--fluent-easing-ease),box-shadow var(--fluent-duration-fast) var(--fluent-easing-ease)}.toast:hover{box-shadow:var(--fluent-shadow-28);transform:scale(1.02)}.toast-success{background:var(--fluent-color-status-success-foreground-1);color:#fff}.toast-error{background:var(--fluent-color-status-danger-foreground-1);color:#fff}.toast-warning{background:var(--fluent-color-status-warning-foreground-1);color:var(--fluent-color-neutral-foreground-1)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(var(--fluent-spacing-xxl))}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--fluent-spacing-l)*-1))}}@keyframes toastFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes toastShake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}.toast.fading{animation:toastSlideOut var(--fluent-animation-slide-out) var(--fluent-animation-fill-forwards)}.toast-error.shake{animation:toastSlideIn var(--fluent-animation-slide-in) var(--fluent-animation-fill-both),toastShake var(--fluent-duration-slow) var(--fluent-easing-ease) .2s}@media (prefers-reduced-motion:reduce){.toast{animation:toastFadeIn var(--fluent-duration-fast) var(--fluent-easing-ease) var(--fluent-animation-fill-both)}.toast.fading{animation:toastFadeOut var(--fluent-duration-fast) var(--fluent-easing-ease) var(--fluent-animation-fill-forwards)}.toast:hover{transform:none}.toast-error.shake{animation:toastFadeIn var(--fluent-duration-fast) var(--fluent-easing-ease) var(--fluent-animation-fill-both)}@keyframes toastFadeIn{0%{opacity:0}to{opacity:1}}}.spinner-inline{animation:spin .8s linear infinite;border:2px solid var(--spinner-track);border-radius:50%;border-top-color:var(--spinner-head);display:inline-block;height:14px;margin-right:6px;vertical-align:middle;width:14px}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:30px;margin:0 auto 10px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#loading{align-items:center;background-color:hsla(0,0%,100%,.9);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10004}.dark-mode #loading,:root[data-theme=dark] #loading{background-color:rgba(32,33,36,.9)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background-color:var(--fluent-skeleton-background);border-radius:var(--fluent-skeleton-border-radius);overflow:hidden;position:relative}.skeleton-shimmer,.skeleton.animated{animation:skeleton-shimmer var(--fluent-skeleton-animation-duration) var(--fluent-skeleton-animation-timing) infinite;background-image:var(--fluent-skeleton-shimmer-gradient);background-size:200% 100%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:skeleton-pulse var(--fluent-skeleton-animation-duration) var(--fluent-easing-ease) infinite;background-color:var(--fluent-skeleton-background);border-radius:var(--fluent-skeleton-border-radius)}.skeleton-line{height:var(--fluent-skeleton-height-text);width:100%}.skeleton-line,.skeleton-line-heading{animation:skeleton-shimmer var(--fluent-skeleton-animation-duration) var(--fluent-skeleton-animation-timing) infinite;background-color:var(--fluent-skeleton-background);background-image:var(--fluent-skeleton-shimmer-gradient);background-size:200% 100%;border-radius:var(--fluent-skeleton-border-radius)}.skeleton-line-heading{height:var(--fluent-skeleton-height-heading);width:60%}.skeleton-line-short{width:40%}.skeleton-line-medium,.skeleton-line-short{animation:skeleton-shimmer var(--fluent-skeleton-animation-duration) var(--fluent-skeleton-animation-timing) infinite;background-color:var(--fluent-skeleton-background);background-image:var(--fluent-skeleton-shimmer-gradient);background-size:200% 100%;border-radius:var(--fluent-skeleton-border-radius);height:var(--fluent-skeleton-height-text)}.skeleton-line-medium{width:70%}.skeleton-card{background-color:var(--fluent-skeleton-background-subtle);border-radius:var(--fluent-border-radius-xlarge);flex-direction:column;gap:var(--fluent-spacing-s)}.skeleton-card,.skeleton-entry{display:flex;padding:var(--fluent-spacing-m)}.skeleton-entry{align-items:center;background-color:var(--fluent-color-neutral-background-1);border:var(--fluent-stroke-width-thin) solid var(--fluent-color-neutral-stroke-2);border-radius:var(--fluent-border-radius-large);gap:var(--fluent-spacing-m)}.skeleton-entry-content{display:flex;flex:1;flex-direction:column;gap:var(--fluent-spacing-xs)}.skeleton-entry-amount{border-radius:var(--fluent-skeleton-border-radius);height:24px;width:48px}.skeleton-avatar,.skeleton-entry-amount{animation:skeleton-shimmer var(--fluent-skeleton-animation-duration) var(--fluent-skeleton-animation-timing) infinite;background-color:var(--fluent-skeleton-background);background-image:var(--fluent-skeleton-shimmer-gradient);background-size:200% 100%}.skeleton-avatar{border-radius:var(--fluent-border-radius-circular);flex-shrink:0}.skeleton-avatar-small{height:var(--fluent-skeleton-height-avatar-small);width:var(--fluent-skeleton-height-avatar-small)}.skeleton-avatar-medium{height:var(--fluent-skeleton-height-avatar-medium);width:var(--fluent-skeleton-height-avatar-medium)}.skeleton-avatar-large{height:var(--fluent-skeleton-height-avatar-large);width:var(--fluent-skeleton-height-avatar-large)}.skeleton-button{animation:skeleton-shimmer var(--fluent-skeleton-animation-duration) var(--fluent-skeleton-animation-timing) infinite;background-color:var(--fluent-skeleton-background);background-image:var(--fluent-skeleton-shimmer-gradient);background-size:200% 100%;border-radius:var(--fluent-border-radius-medium);height:32px;width:80px}@media (prefers-reduced-motion:reduce){.skeleton-avatar,.skeleton-button,.skeleton-entry-amount,.skeleton-line,.skeleton-line-heading,.skeleton-line-medium,.skeleton-line-short,.skeleton-shimmer,.skeleton.animated{animation:none;background-image:none}.skeleton-pulse{animation:none}}.skeleton-container{display:flex;flex-direction:column;gap:var(--fluent-spacing-m);padding:var(--fluent-spacing-m)}.skeleton-hidden{display:none!important}.expense-header{background:var(--color-primary);border-radius:8px 8px 0 0;color:#fff;padding:16px 20px}.expense-header h2{font-size:var(--font-size-xl);font-weight:600;margin:0;text-align:center}.expense-list-container{margin-top:var(--space-md)}.expense-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.expense-list-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.expense-list-body{display:flex;flex-direction:column;gap:var(--space-sm)}.expense-list-item{align-items:center;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-md);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.expense-list-item:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline);box-shadow:var(--shadow-sm)}.expense-item-main{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);min-width:0}.expense-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.expense-tranid{color:var(--color-text);font-size:var(--font-size-base)}.expense-status,.expense-tranid{font-weight:var(--font-weight-medium)}.expense-status{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.expense-status.status-draft{background:var(--md-sys-color-surface-container);color:var(--color-text-muted)}.expense-status.status-pending{background:var(--color-warning-bg);color:var(--color-warning)}.expense-status.status-accounting{background:#fff3e0;color:#e65100}.expense-status.status-approved{background:var(--color-success-bg);color:var(--color-success)}.expense-status.status-rejected{background:var(--color-danger-bg);color:var(--color-danger)}.expense-item-details{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--space-md)}.expense-date,.expense-memo{white-space:nowrap}.expense-memo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.expense-item-summary{align-items:center;display:flex;gap:var(--space-md);margin-top:var(--space-xs)}.expense-total{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.expense-lines{color:var(--color-text-muted);font-size:var(--font-size-sm)}.expense-item-actions{display:flex;flex-shrink:0;gap:var(--space-xs);margin-left:var(--space-md)}.expense-item-actions .btn-icon{background:transparent;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-sm);transition:background-color var(--transition-fast)}.expense-item-actions .btn-icon:hover{background:var(--md-sys-color-surface-container-high)}.expense-item-actions .delete-expense:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.expense-entry{align-items:center;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-md);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.expense-entry:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline);box-shadow:var(--shadow-sm)}.expense-entry-info{display:flex;flex:1;flex-direction:column;gap:var(--space-xs)}.expense-entry-title{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.expense-entry-meta{color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--space-md)}.expense-entry-amount{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.expense-entry-status{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm)}.expense-entry-status.status-draft{background:var(--md-sys-color-surface-container);color:var(--color-text-muted)}.expense-entry-status.status-pending{background:var(--color-warning-bg);color:var(--color-warning)}.expense-entry-status.status-approved{background:var(--color-success-bg);color:var(--color-success)}.expense-entry-status.status-rejected{background:var(--color-danger-bg);color:var(--color-danger)}.expense-entry-actions{display:flex;gap:var(--space-xs)}.expense-form-container{margin-top:var(--space-md)}.expense-form-header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.expense-form-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.billable-toggle{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.billable-toggle-label{align-items:center;cursor:pointer;display:flex;font-weight:var(--font-weight-medium);gap:var(--space-sm)}.billable-toggle-switch{background:var(--md-sys-color-outline);border-radius:12px;height:24px;position:relative;transition:background var(--transition-fast);width:44px}.billable-toggle-switch:after{background:#fff;border-radius:50%;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:20px}.billable-toggle input:checked+.billable-toggle-switch{background:var(--color-primary)}.billable-toggle input:checked+.billable-toggle-switch:after{transform:translateX(20px)}.billable-toggle input{height:0;opacity:0;position:absolute;width:0}.budget-info-box{background:var(--md-sys-color-primary-container);border:1px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.budget-info-header{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.budget-info-header,.budget-info-row{color:var(--md-sys-color-on-primary-container)}.budget-info-row{display:flex;font-size:var(--font-size-md);justify-content:space-between;padding:var(--space-xs) 0}.budget-info-row.highlight{border-top:1px solid var(--color-border);color:var(--color-success);font-weight:var(--font-weight-medium);margin-top:var(--space-xs);padding-top:var(--space-sm)}.budget-info-row.warning{color:var(--color-warning)}.budget-info-row.danger{color:var(--color-danger)}.expense-lines-section{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.expense-lines-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.expense-lines-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0}.expense-line-row{align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md)}.expense-line-row:last-child{margin-bottom:0}.expense-line-info{display:flex;flex:1;flex-direction:column;gap:var(--space-xs)}.expense-line-category{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.expense-line-date{color:var(--color-text-muted);font-size:var(--font-size-sm)}.expense-line-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.expense-lines-total{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;font-weight:var(--font-weight-medium);gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-md);padding-top:var(--space-md)}.no-lines-message{color:var(--color-text-muted);font-style:italic;padding:var(--space-lg);text-align:center}.expense-line-item{align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md)}.expense-line-item:last-child{margin-bottom:0}.expense-line-item .line-info{align-items:center;display:flex;flex:1;gap:var(--space-sm);min-width:0}.expense-line-item .line-date{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.expense-line-item .line-category{flex:1;overflow:hidden;text-overflow:ellipsis}.expense-line-item .line-amount,.expense-line-item .line-category{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap}.expense-line-item .line-actions{display:flex;gap:var(--space-xs);margin-left:var(--space-sm)}.icon-edit:before{content:"✏️";font-size:var(--font-size-base)}.icon-delete:before{content:"🗑️";font-size:var(--font-size-base)}.icon-view:before{content:"👁️";font-size:var(--font-size-base)}.expense-line-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10002}.expense-line-overlay.show{display:flex}.expense-line-dialog{background:var(--md-sys-color-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-4);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.expense-line-header{align-items:center;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;justify-content:space-between;padding:var(--space-lg)}.expense-line-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.expense-line-header,.expense-line-modal .modal-header{background-color:var(--color-primary)!important;border-bottom:none;border-radius:8px 8px 0 0;color:#fff!important;padding:16px 20px}.expense-line-header h3,.expense-line-modal .modal-header h3{font-size:var(--font-size-xl);font-weight:600;margin:0;text-align:center}.expense-line-header .modal-close,.expense-line-modal .modal-close{color:#fff!important}.expense-line-body{padding:var(--space-lg)}.expense-line-footer{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-md) var(--space-lg)}.receipt-upload{border:2px dashed var(--md-sys-color-outline);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-lg);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.receipt-upload:hover{background:var(--md-sys-color-primary-container);border-color:var(--color-primary)}.receipt-upload-icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-sm)}.receipt-upload-text{color:var(--color-text-muted);font-size:var(--font-size-md)}.receipt-preview{margin-top:var(--space-md);position:relative}.receipt-preview img{border-radius:var(--radius-sm);max-height:150px;max-width:100%;object-fit:contain}.receipt-remove{align-items:center;background:var(--color-danger);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);height:24px;justify-content:center;position:absolute;right:var(--space-xs);top:var(--space-xs);width:24px}.status-filter{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.status-filter-btn{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);margin-top:0;min-height:auto;padding:var(--space-xs) var(--space-sm);transition:background var(--transition-fast),border-color var(--transition-fast);width:auto}.status-filter-btn:hover{background:var(--md-sys-color-surface-container-high)}.status-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.empty-state{color:var(--color-text-muted);padding:var(--space-2xl);text-align:center}.empty-state-icon{font-size:var(--font-size-icon);margin-bottom:var(--space-md);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.empty-state-text{font-size:var(--font-size-base);margin-bottom:var(--space-lg)}.mileage-calculator{background:var(--md-sys-color-secondary-container);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.mileage-header{align-items:center;background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);display:flex;font-weight:var(--font-weight-medium);gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.mileage-icon{font-size:var(--font-size-lg)}.mileage-body{padding:var(--space-md)}.mileage-rate-info{align-items:center;background:var(--md-sys-color-surface);border-radius:var(--radius-sm);display:flex;font-size:var(--font-size-sm);justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-sm)}.mileage-rate-info #mileageRate{color:var(--color-primary);font-weight:var(--font-weight-medium)}.mileage-total{align-items:center;background:var(--md-sys-color-surface);border-radius:var(--radius-sm);display:flex;font-weight:var(--font-weight-medium);justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-md)}.mileage-total #mileageTotal{color:var(--color-success);font-size:var(--font-size-xl)}.mileage-calculator .form-group{margin-bottom:var(--space-sm)}.mileage-calculator #applyMileageBtn{background:var(--color-primary);border:none;color:#fff;width:100%}.mileage-calculator #applyMileageBtn:hover{background:var(--color-primary-dark)}@media (prefers-reduced-motion:reduce){.billable-toggle-switch,.billable-toggle-switch:after,.expense-entry,.receipt-upload,.status-filter-btn{transition:none}}.tap-tooltip{background-color:var(--md-sys-color-inverse-surface);border-radius:var(--fluent-border-radius-medium);box-shadow:var(--fluent-shadow-8);color:var(--md-sys-color-inverse-on-surface);font-size:var(--fluent-font-size-caption);line-height:1.4;max-width:280px;opacity:0;padding:var(--fluent-spacing-s) var(--fluent-spacing-m);pointer-events:none;position:fixed;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:10005;word-wrap:break-word}.tap-tooltip.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.tap-tooltip:before{border:6px solid transparent;content:"";height:0;position:absolute;width:0}.tap-tooltip.arrow-up:before{border-bottom-color:var(--md-sys-color-inverse-surface);bottom:100%;left:50%;transform:translateX(-50%)}.tap-tooltip.arrow-down:before{border-top-color:var(--md-sys-color-inverse-surface);left:50%;top:100%;transform:translateX(-50%)}.tap-tooltip.arrow-left:before{border-right-color:var(--md-sys-color-inverse-surface);right:100%;top:50%;transform:translateY(-50%)}.tap-tooltip.arrow-right:before{border-left-color:var(--md-sys-color-inverse-surface);left:100%;top:50%;transform:translateY(-50%)}[data-tooltip]{cursor:help;text-decoration-color:var(--md-sys-color-outline);text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:2px}.btn[data-tooltip],.expense-entry[data-tooltip],[role=button][data-tooltip],button[data-tooltip]{cursor:pointer;text-decoration:none}.tap-tooltip-overlay{background:transparent;inset:0;position:fixed;z-index:10004}@media (prefers-reduced-motion:reduce){.tap-tooltip{transition:none}}[data-theme=dark] .tap-tooltip{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}[data-theme=dark] .tap-tooltip.arrow-up:before{border-bottom-color:var(--md-sys-color-surface-container-high)}[data-theme=dark] .tap-tooltip.arrow-down:before{border-top-color:var(--md-sys-color-surface-container-high)}[data-theme=dark] .tap-tooltip.arrow-left:before{border-right-color:var(--md-sys-color-surface-container-high)}[data-theme=dark] .tap-tooltip.arrow-right:before{border-left-color:var(--md-sys-color-surface-container-high)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,50%,.3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,50%,.5)}*{scrollbar-color:hsla(0,0%,50%,.3) transparent;scrollbar-width:thin}.amount-red.amount-red{color:var(--color-danger)}.amount-green.amount-green{color:var(--color-success)}.error{background-color:var(--color-danger-bg);border-left:4px solid var(--color-danger);color:var(--color-danger)}.error,.success{border-radius:var(--radius-xs);display:none;margin:15px 0;padding:12px}.success{background-color:var(--color-success-bg);border-left:4px solid var(--color-success);color:var(--color-success)}.warning{background-color:var(--color-warning-bg);border-left:4px solid var(--color-warning);border-radius:var(--radius-xs);color:var(--color-warning);display:none;margin:15px 0;padding:12px}.loading{color:var(--color-text-muted);padding:var(--space-lg-xl);text-align:center}button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-neutral-stroke-focus-2);outline:none}@supports selector(:focus-visible){button:focus,input:focus,select:focus,textarea:focus{box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-neutral-stroke-focus-2);outline:none}}.fluent-focus-ring:focus-visible{box-shadow:0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-neutral-stroke-focus-2);outline:none}.fluent-focus-ring-inset:focus-visible{box-shadow:inset 0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-2),inset 0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-neutral-stroke-focus-1);outline:none}.fluent-focus-ring-brand:focus-visible{box-shadow:0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-brand-stroke-1);outline:none}.fluent-focus-ring-rounded:focus-visible{border-radius:var(--fluent-border-radius-circular);box-shadow:0 0 0 var(--fluent-stroke-width-thin) var(--fluent-color-neutral-stroke-focus-1),0 0 0 var(--fluent-stroke-width-thick) var(--fluent-color-neutral-stroke-focus-2);outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.expense-line-overlay,.modal-overlay{transition:opacity .01ms}.expense-line-dialog,.modal-dialog{transform:none!important}}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.skip-link{background:var(--color-primary);color:#fff;font-weight:600;left:0;padding:var(--space-sm) var(--space-md);position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-fast);z-index:10000}.skip-link:focus{top:0}@media (forced-colors:active){.expense-entry{border:1px solid CanvasText}button{border:1px solid ButtonText}.expense-line-dialog,.modal-dialog{border:2px solid CanvasText}.toast{border:1px solid CanvasText}}