:root{--couleur-primaire: #1a1a1a;--couleur-primaire-fonce: #000000;--couleur-primaire-clair: #6b6b6b;--couleur-fond: #f0efec;--couleur-carte: #ffffff;--couleur-texte: #1a1a1a;--couleur-bordure: #cfcac2;--couleur-erreur: #b3261e;--rayon: 0px;--police-titre: Georgia, "Times New Roman", serif}*{box-sizing:border-box}input[type=checkbox],input[type=radio]{accent-color:var(--couleur-primaire);width:16px;height:16px}html,body{margin:0;min-height:100%}body{display:flex;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--couleur-fond);color:var(--couleur-texte)}#root{width:100%;display:flex;justify-content:center}.page-loading{padding:2rem;text-align:center}.wizard-layout{width:100%;max-width:760px;margin:0 auto;padding:1.5rem 1rem 6rem}.wizard-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.wizard-header-title{display:flex;align-items:center;gap:.75rem}.wizard-logo{width:48px;height:48px;object-fit:contain;border-radius:50%}.wizard-header-actions{display:flex;align-items:center;gap:1rem}.lang-switch{display:flex;border:2px solid var(--couleur-primaire)}.lang-switch button{border:none;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.lang-switch .lang-active{background:var(--couleur-primaire);color:#fff}.lang-switch .lang-inactive{background:#fff;color:var(--couleur-primaire)}.lang-switch .lang-inactive:hover{background:var(--couleur-fond);color:var(--couleur-primaire)}.wizard-header h1{font-family:var(--police-titre);font-size:1.5rem;font-weight:700;margin:0;color:var(--couleur-primaire);letter-spacing:.01em}.progress-bar-wrap{margin-bottom:1.5rem}.progress-bar-label{font-size:.78rem;margin-bottom:.3rem;color:#666;text-transform:uppercase;letter-spacing:.08em}.progress-bar-track{background:var(--couleur-bordure);height:3px;overflow:hidden;display:flex;gap:3px}.progress-bar-fill{background:var(--couleur-primaire);height:100%;transition:width .2s ease}.step-card{background:var(--couleur-carte);border:2px solid var(--couleur-primaire);border-radius:var(--rayon);padding:1.5rem;margin-bottom:1rem}.step-card h2{margin-top:0;color:var(--couleur-primaire);font-family:var(--police-titre);text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;border-bottom:2px solid var(--couleur-primaire);padding-bottom:.6rem}.field-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-bottom:.9rem}@media (min-width: 640px){.field-grid{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field-grid .field{margin-bottom:0}.field label{font-weight:600;font-size:.9rem}input[type=text],input[type=email],input[type=number],input[type=date],input[type=tel],input[type=password],input:not([type]),select,textarea{padding:.55rem .7rem;border:1px solid var(--couleur-primaire);border-radius:var(--rayon);font-size:1rem;background:#fff;color:var(--couleur-texte);width:100%}textarea{min-height:4.5rem;resize:vertical}.field-hint{font-size:.82rem;color:#5b6b74;margin:.15rem 0 0}.field-error{font-size:.85rem;color:var(--couleur-erreur);margin:.15rem 0 0}.field-warning{font-size:.85rem;color:#8a5a00;margin:.15rem 0 0}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1rem;font-size:.95rem}.checkbox-row input{margin-top:.2rem}.radio-row{display:flex;flex-wrap:wrap;gap:1rem}.radio-row.wrap{row-gap:.5rem}.radio-row label{display:flex;align-items:center;gap:.4rem;font-weight:400}.sub-section{border-left:3px solid var(--couleur-primaire-clair);padding-left:1rem;margin:1rem 0 1.4rem}.sub-section h3{margin-top:0}.checkbox-grid{display:grid;grid-template-columns:1fr;gap:.3rem 1.2rem}@media (min-width: 640px){.checkbox-grid{grid-template-columns:1fr 1fr}}.checkbox-grid .checkbox-row{margin-bottom:0}.cat-card{border:1px solid var(--couleur-primaire);border-radius:var(--rayon);padding:1rem;margin-bottom:1rem;background:#fafaf8}.cat-card-header{display:flex;justify-content:space-between;align-items:center}.cat-card-header h3{margin:0;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.add-cat{margin-bottom:1rem}.step-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem}button{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.7rem 1.2rem;border-radius:var(--rayon);border:2px solid var(--couleur-primaire);background:var(--couleur-primaire);color:#fff;cursor:pointer;transition:background .15s ease,color .15s ease}button:hover:not(:disabled):not(.link):not(.link-danger){background:#fff;color:var(--couleur-primaire)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:transparent;border:2px solid var(--couleur-primaire);color:var(--couleur-primaire)}button.secondary:hover:not(:disabled){background:var(--couleur-primaire);color:#fff}button.link,a.button-link{background:none;border:none;color:var(--couleur-primaire);padding:0;text-decoration:underline;text-transform:none;letter-spacing:normal;font-weight:400}button.link-danger{background:none;border:none;color:var(--couleur-erreur);padding:0;text-decoration:underline;text-transform:none;letter-spacing:normal;font-weight:400}a.button-link{display:inline-block;background:var(--couleur-primaire);border:2px solid var(--couleur-primaire);color:#fff!important;padding:.55rem .95rem;border-radius:var(--rayon);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.total-banner{position:fixed;bottom:0;left:0;right:0;background:var(--couleur-primaire);color:#fff;padding:.85rem 1.25rem;display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;box-shadow:0 -2px 8px #00000026;z-index:50}.total-banner strong{font-size:1.3rem;display:flex;align-items:baseline;gap:.5rem}.total-banner .badge-periode{display:inline-block;margin-left:.6rem;padding:.15rem .55rem;border-radius:var(--rayon);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.badge-periode-reduction{background:#1e7d3a;color:#fff}.badge-periode-majoration{background:#a15c00;color:#fff}.total-barre{font-size:.85em;opacity:.75;font-weight:400}.relance-brouillon{font-size:.85rem}.recap-table{width:100%;border-collapse:collapse;margin-bottom:1.2rem}.recap-table td{padding:.4rem .3rem;border-bottom:1px solid var(--couleur-bordure)}.recap-table .amount{text-align:right;font-variant-numeric:tabular-nums}.recap-table .recap-total td{font-weight:700;border-top:2px solid var(--couleur-primaire);border-bottom:none}.recap-table .recap-sous-total td{color:#6b6b6b}.recap-table .recap-sous-total .amount s{text-decoration-color:#b3261e;text-decoration-thickness:2px}.recap-table .recap-ajustement td{font-weight:600}.recap-table .recap-ajustement-reduction td{color:#1e7d3a}.recap-table .recap-ajustement-majoration td{color:#a15c00}.alert-info.badge-periode-reduction,.alert-info.badge-periode-majoration{background:#fff;border-width:2px;font-weight:700}.alert-info.badge-periode-reduction{border-color:#1e7d3a;color:#1e7d3a}.alert-info.badge-periode-majoration{border-color:#a15c00;color:#a15c00}.alert-error{background:#fbe9e7;border:1px solid var(--couleur-erreur);color:var(--couleur-erreur);border-radius:var(--rayon);padding:.8rem 1rem;margin-bottom:1rem}.alert-info{background:#ecebe6;border:1px solid var(--couleur-primaire);color:var(--couleur-primaire);border-radius:var(--rayon);padding:.8rem 1rem;margin-bottom:1.2rem;font-weight:600}.admin-layout{width:100%;max-width:1100px;margin:0 auto;padding:1rem}.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;padding:.8rem 0;border-bottom:1px solid var(--couleur-bordure);margin-bottom:1.2rem}.admin-nav-title{font-weight:700;color:var(--couleur-primaire);margin-right:auto}.admin-nav a{color:var(--couleur-texte);text-decoration:none}.admin-nav a.active{color:var(--couleur-primaire);font-weight:700}.admin-login{display:flex;justify-content:center;padding-top:3rem}.admin-login .step-card{width:100%;max-width:380px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.admin-table-wrap{width:100%;overflow-x:auto;margin-bottom:1rem}.admin-table{width:100%;min-width:640px;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--couleur-bordure);font-size:.92rem;white-space:nowrap}.admin-table tr.ligne-annulee{background:#fbe9e7;color:#8a8a8a;text-decoration:line-through}.admin-table tr.ligne-annulee a{color:inherit}.statut-panel{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.4rem}.statut-panel button.statut-on{background:#2f8f5b}.statut-panel button.secondary{border-color:var(--couleur-bordure);color:var(--couleur-texte)}.stats-panel{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.2rem}.stat-tile{background:var(--couleur-carte);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:.8rem 1.1rem;display:flex;flex-direction:column;min-width:120px}.stat-tile strong{font-size:1.4rem;color:var(--couleur-primaire)}.stat-detail{flex-basis:100%}.detail-list{padding-left:1.1rem}.detail-chat{border-top:1px solid var(--couleur-bordure);padding-top:.6rem;margin-top:.6rem}.info-expo{display:grid;grid-template-columns:1fr;border:1px solid var(--couleur-bordure);border-radius:var(--rayon);overflow:hidden;margin:1.2rem 0}@media (min-width: 640px){.info-expo{grid-template-columns:2fr 1fr}}.info-expo-main{padding:1.1rem 1.3rem;background:#fff}.info-expo-side{padding:1.1rem 1.3rem;background:var(--couleur-primaire-fonce);color:#fff}.info-expo-side h4{margin:0 0 .2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#b9cbe6}.info-expo-side p{margin:0 0 .9rem}.info-expo-side a{color:#fff}.info-expo-dates,.info-expo-lieu{font-weight:700;margin:0 0 .5rem;display:flex;gap:.5rem;align-items:flex-start;color:var(--couleur-primaire)}.info-expo-icon{flex-shrink:0}.info-expo-mentions{margin:.7rem 0;padding-left:1.1rem;font-weight:600;font-size:.92rem}.info-expo-main h4{margin:.9rem 0 .2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#5b6b74}.info-expo-juges{font-size:.9rem;color:#445;margin:.2rem 0 0}
