:root{--color-primary: #166534;--color-primary-dark: #14532D;--color-primary-light: #DCFCE7;--color-primary-text: #DCFCE7;--color-accent: #F59E0B;--color-accent-dark: #B45309;--color-accent-light: #FEF3C7;--color-danger: #DC2626;--color-danger-light: #FEE2E2;--color-danger-text: #991B1B;--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-text-disabled: #9CA3AF;--color-text-inverse: #FFFFFF;--color-surface: #FFFFFF;--color-background: #F9FAFB;--color-border: #E5E7EB;--color-border-focus: #166534;--color-overlay: rgba(17, 24, 39, .5);--font-family: "Nunito", "Poppins", sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.1875rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--font-normal: 400;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-tight: 1.25;--leading-normal: 1.6;--leading-relaxed: 1.85;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--spacing-xs: var(--space-2);--spacing-sm: var(--space-3);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-12);--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.125rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 2px 6px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.05);--shadow-primary: 0 6px 20px rgba(22, 101, 52, .35);--shadow-danger: 0 6px 20px rgba(220, 38, 38, .28);--shadow-accent: 0 6px 20px rgba(245, 158, 11, .32);--transition-fast: .18s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .45s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--header-height: 64px;--bottom-nav-height: 72px;--content-height: calc(100dvh - var(--header-height) - var(--bottom-nav-height));--content-max-width: 480px;--touch-target-min: 48px;--status-en-cours-bg: var(--color-accent-light);--status-en-cours-text: var(--color-accent-dark);--status-terminee-bg: var(--color-primary-light);--status-terminee-text: var(--color-primary);--status-annulee-bg: var(--color-danger-light);--status-annulee-text: var(--color-danger-text);--btn-height-sm: 44px;--btn-height-md: 56px;--btn-height-lg: 64px;--btn-radius: var(--radius-md);--btn-font-size: var(--text-base);--btn-font-weight: var(--font-bold);--input-height: 56px;--input-radius: var(--radius-md);--input-border: 1.5px solid var(--color-border);--input-border-focus: 1.5px solid var(--color-border-focus);--input-bg: var(--color-surface);--input-padding-x: var(--space-4);--card-radius: var(--radius-lg);--card-padding: var(--spacing-md);--card-shadow: var(--shadow-md);--card-bg: var(--color-surface);--card-border: 1px solid var(--color-border);--badge-radius: var(--radius-sm);--badge-font-size: var(--text-xs);--badge-font-weight: var(--font-bold);--sheet-radius: var(--radius-2xl) var(--radius-2xl) 0 0;--wifi-online-color: rgba(255, 255, 255, .9);--wifi-syncing-color: var(--color-accent);--wifi-offline-color: #FCA5A5;--logout-color: #FCA5A5;--toast-radius: var(--radius-md);--toast-padding: var(--spacing-sm) var(--spacing-md);--toast-shadow: var(--shadow-lg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-background);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;touch-action:manipulation}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none;-webkit-appearance:none;appearance:none}img,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}*{-webkit-tap-highlight-color:transparent}::selection{background-color:var(--color-primary-light);color:var(--color-primary)}@font-face{font-family:Nunito;src:url(/fonts/Nunito-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}.text-page-title{font-size:var(--text-2xl);font-weight:var(--font-extrabold);line-height:var(--leading-tight);color:var(--color-text-primary)}.text-section-title{font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text-primary)}.text-body{font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary)}.text-secondary{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--color-text-secondary)}.text-label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-primary)}.text-amount{font-size:var(--text-3xl);font-weight:var(--font-black);line-height:1;color:var(--color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.text-id{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-text-secondary);letter-spacing:.05em;font-variant-numeric:tabular-nums}.text-empty{font-size:var(--text-base);color:var(--color-text-disabled);text-align:center;line-height:var(--leading-relaxed)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-row{display:flex;align-items:center;gap:var(--spacing-sm)}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.flex-col-gap{display:flex;flex-direction:column;gap:var(--spacing-md)}.page-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-md);padding-bottom:calc(var(--bottom-nav-height) + var(--spacing-xl))}.page-scroll{height:var(--content-height);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.touch-target{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{height:1px;background-color:var(--color-border);width:100%}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-background) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--transition-normal) ease forwards}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slide-up var(--transition-normal) ease forwards}
