@charset "UTF-8";@font-face{font-family:Filson Pro;src:url(/fonts/filson-pro-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Filson Pro;src:url(/fonts/filson-pro-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Filson Pro;src:url(/fonts/filson-pro-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Filson Pro;src:url(/fonts/filson-pro-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root,:root[data-theme=light]{--bg: #f2f2f2;--surface: #ffffff;--surface-raised: #ffffff;--surface-sunken: #e9e9ee;--border: #dedee6;--border-strong: #c5c5d2;--text: #110c3c;--text-muted: #565273;--text-subtle: #8a87a1;--primary: #8d1a58;--primary-hover: #741648;--primary-soft: #f5ecf1;--on-primary: #ffffff;--primary-text: #8d1a58;--accent: #23a3bc;--accent-strong: #1b7f92;--accent-soft: #edf7f9;--secondary: #7b93cb;--secondary-strong: #5f729e;--secondary-soft: #f4f6fa;--danger: #b85138;--danger-soft: #fdf2f0;--success: #1b7f92;--success-soft: #edf7f9;--shadow-sm: 0 1px 2px rgb(17 12 60 / .07);--shadow-md: 0 4px 12px rgb(17 12 60 / .1);--shadow-lg: 0 16px 40px rgb(17 12 60 / .16);--logo-url: url(/logo-fouche-travel.png);color-scheme:light}:root[data-theme=dark]{--bg: #0a0726;--surface: #110c3c;--surface-raised: #191244;--surface-sunken: #0c0930;--border: #2a2359;--border-strong: #3d3572;--text: #f2f2f2;--text-muted: #a9a4c6;--text-subtle: #7b76a0;--primary: #b02a72;--primary-hover: #c23a82;--primary-soft: #2a071a;--on-primary: #ffffff;--primary-text: #ce6b9c;--accent: #23a3bc;--accent-strong: #23a3bc;--accent-soft: #0a3038;--secondary: #7b93cb;--secondary-strong: #7b93cb;--secondary-soft: #242c3c;--danger: #ed6849;--danger-soft: #3d1a12;--success: #23a3bc;--success-soft: #0a3038;--shadow-sm: 0 1px 2px rgb(0 0 0 / .45);--shadow-md: 0 4px 12px rgb(0 0 0 / .5);--shadow-lg: 0 16px 40px rgb(0 0 0 / .6);--logo-url: url(/logo-fouche-travel-blanc.png);color-scheme:dark}:root{--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--sidebar-width: 264px;--sidebar-width-collapsed: 76px;--topbar-height: 64px;--sidebar-bg: #110c3c;--sidebar-border: #2a2359;--sidebar-text: #b9b5d2;--sidebar-text-hover: #ffffff;--sidebar-hover-bg: #1d1650;--sidebar-active-bg: #8d1a58;--sidebar-active-text: #ffffff;--font-sans: "Filson Pro", "Avenir Next", Avenir, "Century Gothic", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--h1-size: 56px;--h2-size: 40px;--h3-size: 35px;--h4-size: 28px;--h5-size: 28px;--h6-size: 23px;--weight-black: 800;--weight-medium: 500;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--transition),color var(--transition)}h1,h2,h3,h4,h5,h6{margin:0;letter-spacing:-.01em;line-height:1.2}h1{font-size:var(--h1-size);font-weight:var(--weight-black)}h2{font-size:var(--h2-size);font-weight:var(--weight-black)}h3{font-size:var(--h3-size);font-weight:var(--weight-medium)}h4{font-size:var(--h4-size);font-weight:var(--weight-medium)}h5{font-size:var(--h5-size);font-weight:var(--weight-medium)}h6{font-size:var(--h6-size);font-weight:400}.page-title{font-size:20px;font-weight:700;color:var(--text)}.page-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:13px}.cell-overdue{color:var(--danger);font-weight:600}.cell-soon{color:var(--accent);font-weight:600}.cell-ok,.cell-settled,.cell-accepted{color:var(--success)}.cell-accepted{font-weight:600}.cell-declined{color:var(--text-muted)}.cell-cancelled{text-decoration:line-through}.cell-note{color:var(--text-muted);font-size:.86rem}.cell-eligible{font-weight:600}.cell-full{color:var(--accent);font-weight:600}.cell-over{color:var(--danger);font-weight:700}.cell-past,.cell-done{color:var(--text-muted)}.due-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.6;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}.due-badge--overdue{background:#c62828}.due-badge--soon{background:#f0ad00;color:#2b2000}.due-badge--ok{background:#1f8a4c}.due-badge--missing{background:#8a8a96}button{font:inherit;cursor:pointer}a{color:var(--primary-text)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-radius:var(--radius);font-weight:500;font-size:14px;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--surface-sunken)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000)}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:500;color:var(--text-muted)}.input{width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder{color:var(--text-subtle)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.input.is-invalid{border-color:var(--danger)}.alert{padding:11px 14px;border-radius:var(--radius);font-size:13px}.alert-danger{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
