:root{--color-primary: #004241;--color-primary-hover: #066864;--color-primary-dark: #002626;--color-primary-light: #0a6a67;--color-primary-soft: #e8eef1;--color-primary-softer: #f4f7f8;--color-primary-bg: #d0dde2;--color-primary-border: #b9cdd2;--color-gold: #e5bf04;--color-gold-soft: #fbf4cf;--color-flag-red: #ad1917;--color-flag-green: #066864;--font-display: "Roboto Condensed", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--text-strong: #1f2937;--text-default: #374151;--text-muted: #5b6472;--text-subtle: #6f7480;--neutral-600: #4b5563;--border-default: #d1d5db;--border-subtle: #e5e7eb;--surface-muted: #f3f4f6;--surface-alt: #f8fafc;--surface-page: #f9fafb;--surface-card: #ffffff;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-dark: #991b1b;--color-danger-soft: #fef2f2;--color-danger-bg: #fee2e2;--color-danger-border: #fecaca;--color-warning: #eab308;--color-warning-alt: #f59e0b;--color-warning-hover: #d97706;--color-warning-soft: #fef3c7;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-info: #3b82f6;--color-info-hover: #2563eb;--color-info-text: #1e40af;--color-info-soft: #dbeafe;--color-info-softer: #f0f9ff;--color-info-border: #bfdbfe;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .15)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);line-height:1.6;color:#1f2937;background:var(--surface-page, #f4f7f8);overflow-x:hidden;-webkit-text-size-adjust:100%}img,svg,video,canvas{max-width:100%;height:auto}@media(max-width:768px){input,select,textarea{font-size:16px}}.container{max-width:1200px;margin:0 auto;padding:0 1rem}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;font-weight:600;border-radius:0 0 var(--radius-md) 0;text-decoration:none}.skip-link:focus{left:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[role=button]{cursor:pointer}html{scroll-behavior:smooth}@media print{.no-print{display:none!important}}@media(prefers-contrast:high){*{border-width:2px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f1}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#15803d}.loading{opacity:.7;pointer-events:none}.skeleton{background:linear-gradient(90deg,#f0f9f0 25%,#e0f2e0,#f0f9f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error{color:#dc2626;border-color:#dc2626!important;background-color:#fef2f2}.error-message{color:#dc2626;font-size:.875rem;margin-top:.25rem}.success{color:var(--color-primary);border-color:var(--color-primary)!important;background-color:#f0fdf4}.success-message{color:var(--color-primary);font-size:.875rem;margin-top:.25rem}.mobile-only{display:none}.desktop-only{display:block}@media(max-width:768px){.mobile-only{display:block}.desktop-only{display:none}}.fade-in{animation:fadeIn .3s ease-in-out}.slide-up{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.25rem;border:1px solid transparent;border-radius:999px;font:inherit;font-weight:600;font-size:.9rem;line-height:1.2;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .1s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--secondary{background:#fff;color:var(--text-strong);border-color:var(--border-default)}.btn--secondary:hover:not(:disabled){background:var(--surface-muted)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-strong)}.btn--sm{padding:.35rem .7rem;font-size:.8rem;border-radius:6px}.civilite{border:0;padding:0;margin:0;min-width:0}.civilite__legend{padding:0;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-strong)}.civilite__cases{display:flex;flex-wrap:wrap;gap:.75rem}.civilite__case{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1rem;min-height:44px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.civilite__case:hover{border-color:var(--color-primary-light)}.civilite__case input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.civilite__marque{flex:none;width:20px;height:20px;border:2px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);position:relative;transition:border-color .15s,background .15s}.civilite__marque:after{content:"";position:absolute;inset:0;margin:auto;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg);opacity:0;transition:opacity .15s}.civilite__case:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-softer)}.civilite__case:has(input:checked) .civilite__marque{border-color:var(--color-primary);background:var(--color-primary)}.civilite__case:has(input:checked) .civilite__marque:after{opacity:1}.civilite__case:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.civilite__erreur{display:block;margin-top:.5rem;color:var(--color-danger-dark);font-size:.8rem;font-weight:600;line-height:1.4}.civilite--error .civilite__legend{color:var(--color-danger-dark)}.civilite--error .civilite__case,.civilite--error .civilite__marque{border-color:var(--color-danger)}@media(pointer:coarse){button,[role=button],.btn{min-height:44px}button,[role=button],.btn{min-width:44px}.btn--sm{padding-top:.5rem;padding-bottom:.5rem}a.btn,a.footer-link,.footer-coords a{min-height:44px;display:inline-flex;align-items:center}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:44px}}@media(max-width:640px){.modal-overlay,.modal-backdrop,.fiche-overlay{padding:0}[aria-modal=true]:not(.cd-modal):not(.denied-overlay):not(.modal){width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;overflow-y:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.modal[aria-modal=true]{width:100%;max-width:none;border-radius:14px 14px 0 0;margin-top:auto;max-height:90dvh;overflow-y:auto;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}
