@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Open+Sans:wght@300;400;600&display=swap";:root{--bleu-marine: #0A1929;--bleu-marine-clair: #1B2838;--beige: #D4C5A9;--beige-fonce: #B8A689;--blanc: #FFFFFF;--noir: #1A1A1A;--font-titres: "Playfair Display", serif;--font-texte: "Open Sans", sans-serif;--border-radius: 8px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .3);--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-texte);color:var(--noir);background-color:var(--bleu-marine);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-titres);line-height:1.2;color:var(--bleu-marine);margin-bottom:1rem}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:600}h3{font-size:1.5rem;font-weight:600}p{margin-bottom:1rem;line-height:1.5}button{font-family:var(--font-texte);cursor:pointer;border:none;transition:var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:var(--font-texte);padding:.75rem;border:2px solid var(--beige);border-radius:var(--border-radius);font-size:1rem;transition:var(--transition);width:100%;background-color:var(--blanc)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--beige-fonce);box-shadow:0 0 0 3px #d4c5a933}a{color:var(--beige-fonce);text-decoration:none;transition:var(--transition)}a:hover{color:var(--beige)}.btn-primary{background-color:var(--beige-fonce);color:var(--blanc);padding:1rem 2rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;transition:var(--transition);border:2px solid var(--blanc)}.btn-primary:hover:not(:disabled){background-color:var(--beige);transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.btn-secondary{background-color:var(--bleu-marine-clair);color:var(--blanc);padding:1rem 2rem;border-radius:var(--border-radius);border:2px solid var(--beige);font-size:1rem;font-weight:600;transition:var(--transition)}.btn-secondary:hover:not(:disabled){background-color:var(--bleu-marine);border-color:var(--blanc);transform:translateY(-2px)}.card{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow);transition:var(--transition);border:2px solid var(--blanc)}.card:hover{box-shadow:0 4px 16px #fff3;transform:translateY(-2px);border-color:var(--beige-fonce)}.container{max-width:1200px;margin:0 auto;padding:2rem}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:var(--beige-fonce)}.error{background-color:#fee;color:#c33;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.success{background-color:#efe;color:#3c3;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.header{background-color:var(--bleu-marine);box-shadow:var(--box-shadow);position:sticky;top:0;z-index:100;border-bottom:3px solid var(--blanc)}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{cursor:pointer;transition:var(--transition)}.logo:hover{opacity:.85}.logo h1{font-size:1.8rem;margin:0;color:var(--beige)}.logo-image{max-height:90px;max-width:300px;object-fit:contain;transition:var(--transition)}.logo:hover .logo-image{opacity:.9}.nav{display:flex;gap:1.5rem;align-items:center}.nav a{font-weight:600;transition:var(--transition);color:var(--beige)}.nav a:hover{color:var(--blanc)}.nav button{padding:.5rem 1rem}@media(max-width:768px){.header-content{flex-direction:column;gap:1rem}.nav{flex-wrap:wrap;justify-content:center;gap:1rem}}.sejour-entry{min-height:100vh;width:100%;position:relative}.sejour-entry-header-logo{position:absolute;top:2rem;left:2rem;z-index:100;transition:opacity .3s ease}.sejour-entry-header-logo:hover{opacity:.8}.sejour-entry-header-logo .logo-image{height:80px;width:auto;object-fit:contain;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.sejour-entry-header-logo h1{color:var(--beige);font-size:1.8rem;font-weight:300;letter-spacing:1px;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.sejour-entry-hero{min-height:100vh;background:linear-gradient(#0a192980,#0a192980),url(https://images.pexels.com/photos/258154/pexels-photo-258154.jpeg?auto=compress&cs=tinysrgb&w=1920) center/cover;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.sejour-entry-overlay{width:100%;max-width:600px;padding:2rem;text-align:center}.sejour-entry-title{color:var(--beige-fonce);font-size:3rem;font-weight:700;letter-spacing:2px;margin:0 0 2rem;text-shadow:2px 2px 8px rgba(255,255,255,.9);font-family:var(--font-titres)}.sejour-entry-content{background:#d4c5a9f2;border-radius:var(--border-radius);padding:3rem 2rem;box-shadow:0 10px 40px #0006;border:2px solid var(--blanc)}.sejour-entry-content h2{color:var(--bleu-marine);font-size:2rem;font-weight:600;margin-bottom:1rem;font-family:var(--font-titres);line-height:1.3}.entry-title-name{font-size:2.2rem}.entry-title-tagline{font-size:1.6rem;font-style:italic;font-weight:400}.sejour-entry-subtitle{color:var(--bleu-marine);font-size:1.1rem;line-height:1.6;margin-bottom:2.5rem}.sejour-entry-form{width:100%}.code-input-wrapper{position:relative;margin-bottom:1rem}.code-input{width:100%;padding:1.25rem 1.5rem;font-size:1.5rem;font-weight:600;text-align:center;letter-spacing:.5rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);background:var(--blanc);color:var(--bleu-marine);transition:var(--transition);font-family:Courier New,monospace}.code-input:focus{outline:none;border-color:var(--bleu-marine);box-shadow:0 0 0 3px #0a192933}.code-input.error{border-color:#c33}.code-input::placeholder{color:#bbb;letter-spacing:.3rem;font-weight:400}.code-counter{position:absolute;bottom:-1.5rem;right:.5rem;font-size:.875rem;color:var(--bleu-marine);opacity:.7}.error-message{color:#c33;font-size:.95rem;margin-bottom:1.5rem;padding:.75rem;background:#fee;border-radius:var(--border-radius);border-left:4px solid #c33}.btn-validate{width:100%;padding:1.25rem 2rem;font-size:1.1rem;font-weight:600;color:var(--blanc);background:linear-gradient(135deg,var(--beige-fonce) 0%,var(--beige) 100%);border:2px solid var(--blanc);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);margin-top:1.5rem}.btn-validate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #fff6;background:linear-gradient(135deg,var(--beige) 0%,var(--beige-fonce) 100%)}.btn-validate:active:not(:disabled){transform:translateY(0)}.btn-validate:disabled{opacity:.6;cursor:not-allowed}.sejour-entry-links{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--blanc)}.link-histoire{color:var(--bleu-marine);text-decoration:none;font-size:1rem;font-weight:600;transition:var(--transition)}.link-histoire:hover{color:var(--bleu-marine-clair);text-decoration:underline}@media(max-width:768px){.sejour-entry-header-logo{top:1rem;left:1rem}.sejour-entry-header-logo .logo-image{height:60px}.sejour-entry-header-logo h1{font-size:1.4rem}.sejour-entry-title{font-size:2rem}.sejour-entry-content{padding:2rem 1.5rem}.sejour-entry-content h2{font-size:1.6rem}.entry-title-name{font-size:1.8rem}.entry-title-tagline{font-size:1.2rem}.sejour-entry-subtitle{font-size:1rem}.code-input{font-size:1.25rem;letter-spacing:.3rem;padding:1rem}.btn-validate{padding:1rem 1.5rem;font-size:1rem}}.meteo-section{padding:2rem 1rem;background:var(--beige-fonce)}.meteo-card{max-width:1000px;margin:0 auto;background:var(--blanc);border:1px solid rgba(10,25,41,.1);border-radius:var(--border-radius);padding:2rem;box-shadow:0 2px 12px #00000014}.meteo-title{color:var(--bleu-marine);font-size:1.4rem;text-align:center;margin-bottom:.5rem}.meteo-subtitle{text-align:center;color:#888;font-size:.85rem;font-style:italic;margin:0 0 1.5rem}.meteo-card:not(:has(.meteo-subtitle)) .meteo-title{margin-bottom:1.5rem}.meteo-forecast-grid{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.meteo-day{flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#0a192908;border-radius:6px;transition:background .2s ease}.meteo-day:hover{background:#0a192912}.meteo-day-average{background:#0a192905;border:1px dashed rgba(10,25,41,.12)}.meteo-day-average:hover{background:#0a19290d}.meteo-day-average .meteo-day-icon{opacity:.6}.meteo-day-name{color:var(--bleu-marine);font-size:.85rem;font-weight:600;text-transform:capitalize}.meteo-day-date{color:var(--beige-fonce);font-size:.75rem}.meteo-day-icon{font-size:1.8rem;line-height:1;margin:4px 0}.meteo-day-label{color:var(--bleu-marine);font-size:.7rem;text-align:center;line-height:1.2;min-height:28px;display:flex;align-items:center}.meteo-day-average .meteo-day-label{color:#999;font-style:italic}.meteo-day-temps{display:flex;gap:8px;align-items:baseline;margin-top:4px}.temp-max{color:var(--bleu-marine);font-size:1rem;font-weight:700}.temp-min{color:var(--beige-fonce);font-size:.85rem;font-weight:400}.meteo-day-average .temp-max,.meteo-day-average .temp-min{opacity:.7}.meteo-loading{text-align:center;color:var(--bleu-marine);padding:1.5rem;font-size:.95rem;opacity:.6}@media(max-width:768px){.meteo-section{padding:1.5rem .75rem}.meteo-card{padding:1.5rem 1rem}.meteo-title{font-size:1.2rem}.meteo-subtitle{font-size:.75rem}.meteo-day{min-width:75px;padding:10px 6px}.meteo-day-icon{font-size:1.5rem}.meteo-day-label{font-size:.65rem}}.home{min-height:100vh}.hero{background:linear-gradient(#0a192980,#0a192980),url(https://images.pexels.com/photos/258154/pexels-photo-258154.jpeg?auto=compress&cs=tinysrgb&w=1920) center/cover;min-height:600px;display:flex;align-items:center;justify-content:center;color:var(--blanc);text-align:center;position:relative;border-bottom:3px solid var(--blanc);padding:2rem 1rem}.hero-overlay{z-index:1;padding:2rem;width:100%;max-width:1000px}.hero h1{color:var(--beige);font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.7);line-height:1.3}.hero-title-name{font-size:3.2rem}.hero-title-tagline{font-size:2.2rem;font-style:italic;font-weight:400}.hero-subtitle{font-size:1.5rem;font-weight:300;color:var(--blanc);margin-bottom:2rem;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.hero-dates{margin-top:2rem}.hero-event-title{color:var(--beige);font-size:2rem;font-weight:600;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.5px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.dates-cards-container{display:flex;gap:2rem;justify-content:center;align-items:stretch;flex-wrap:wrap}.date-card-hero{background:#0a1929bf;border:2px solid var(--blanc);border-radius:var(--border-radius);padding:1.5rem 2rem;flex:1;min-width:280px;max-width:400px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0006;transition:var(--transition)}.date-card-hero:hover{transform:translateY(-4px);box-shadow:0 6px 24px #ffffff4d;border-color:var(--beige)}.date-label{color:var(--beige);font-size:1rem;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.date-value{color:var(--blanc);font-size:1.5rem;font-weight:700;line-height:1.3;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.description-section{background-color:var(--bleu-marine);padding:3rem 2rem;text-align:center;color:var(--blanc)}.description-content{max-width:900px;margin:0 auto;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.description-content p{margin-bottom:1rem;color:var(--blanc)}.description-content strong{font-weight:700;color:var(--beige)}.description-content em{font-style:italic}.description-content ul,.description-content ol{text-align:left;max-width:700px;margin:1.5rem auto;padding-left:2rem}.description-content li{margin-bottom:.5rem;color:var(--blanc)}.actions-section{margin:3rem 0}.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.reservation-cta{display:flex;justify-content:center;margin-top:3rem}.btn-reservation{background:linear-gradient(135deg,var(--beige-fonce) 0%,var(--beige) 100%);color:var(--blanc);padding:1.5rem 3rem;border-radius:var(--border-radius);font-size:1.3rem;font-weight:700;text-decoration:none;border:3px solid var(--blanc);box-shadow:0 6px 20px #ffffff4d;transition:var(--transition);text-align:center}.btn-reservation:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 30px #ffffff80;background:linear-gradient(135deg,var(--beige) 0%,var(--beige-fonce) 100%)}.action-card{text-align:center;transition:var(--transition)}.action-card:hover{border-color:var(--blanc);transform:translateY(-4px)}.action-card h3{margin-bottom:1rem;color:var(--bleu-marine)}.action-card p{color:var(--noir);margin:0}@media(max-width:768px){.hero{min-height:500px}.hero h1{font-size:2rem}.hero-title-name{font-size:2.2rem}.hero-title-tagline{font-size:1.5rem}.hero-subtitle{font-size:1.2rem}.hero-event-title{font-size:1.5rem}.dates-cards-container{flex-direction:column;gap:1rem}.date-card-hero{min-width:100%;max-width:100%}.date-label{font-size:.9rem}.date-value{font-size:1.2rem}.description-section{padding:2rem 1.5rem}.description-content{font-size:1rem;line-height:1.6}.actions-grid{grid-template-columns:1fr}.btn-reservation{padding:1.2rem 2rem;font-size:1.1rem}}.chateau{min-height:100vh}.chateau-hero{background:linear-gradient(#001f3fb3,#001f3fb3),url(https://images.pexels.com/photos/1105766/pexels-photo-1105766.jpeg?auto=compress&cs=tinysrgb&w=1920) center/cover;height:300px;display:flex;align-items:center;justify-content:center;color:var(--blanc);text-align:center}.chateau-hero h1{color:var(--blanc);font-size:2.5rem}.btn-histoire{margin-top:1.5rem;padding:.875rem 2rem;background-color:var(--blanc);color:var(--bleu-marine);border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px #00000026}.btn-histoire:hover{background-color:var(--beige-fonce);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.filters-section{margin:2rem 0}.filters-section h2{color:var(--blanc)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:var(--blanc)}.chambres-section{margin:3rem 0;padding-bottom:3rem}.chambres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.chambre-card{cursor:pointer;overflow:hidden;padding:0}.chambre-image{position:relative;height:200px;overflow:hidden}.chambre-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.chambre-card:hover .chambre-image img{transform:scale(1.05)}.status-badge{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-badge.disponible{background-color:#00c800e6;color:var(--blanc)}.status-badge.occupee{background-color:#c80000e6;color:var(--blanc)}.chambre-content{padding:1.5rem}.chambre-content h3{margin-bottom:.5rem}.chambre-specs{display:flex;gap:1rem;color:var(--bleu-marine);font-weight:600;margin:.5rem 0}.chambre-preview{color:#666;font-size:.9rem}.no-results{text-align:center;color:#666;padding:3rem;font-size:1.1rem}.chambre-detail{margin:2rem 0;padding-bottom:3rem}.chambre-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.chambre-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.chambre-gallery img{width:100%;height:300px;object-fit:cover;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.chambre-info{background:var(--blanc);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}@media(max-width:768px){.chateau-hero h1{font-size:2rem}.chambre-header{flex-direction:column;align-items:flex-start;gap:1rem}}.histoire{min-height:100vh}.histoire-hero{height:300px;display:flex;align-items:center;justify-content:center;color:var(--blanc);text-align:center;background-size:cover;background-position:center}.histoire-hero h1{color:var(--blanc);font-size:2.5rem;margin:0}.histoire .back-button{margin:2rem 0}.histoire-content{background-color:var(--beige-fonce);padding:3rem;border-radius:var(--border-radius);margin:2rem 0 3rem;box-shadow:var(--box-shadow)}.histoire-content p{color:var(--bleu-marine);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;text-align:justify}.histoire-content p:last-child{margin-bottom:0}.wifi-section{margin:3rem 0;display:flex;justify-content:center}.wifi-container{background-color:var(--beige-fonce);padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;max-width:500px;width:100%}.wifi-text{color:var(--bleu-marine);font-size:1.2rem;font-weight:500;margin-bottom:1.5rem;line-height:1.6}.wifi-qr-image{max-width:300px;width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}@media(max-width:768px){.histoire-hero h1{font-size:1.8rem;padding:0 1rem}.histoire-content{padding:2rem 1.5rem}.histoire-content p{font-size:1rem}.wifi-container{padding:1.5rem}.wifi-text{font-size:1rem;margin-bottom:1rem}.wifi-qr-image{max-width:250px}}.admin-section{padding:2rem 0}.admin-section table{width:100%;border-collapse:collapse;background-color:var(--bleu-marine);color:#fff}.admin-section table th,.admin-section table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.admin-section table th{background-color:#0003;font-weight:600;color:#fff}.admin-section table tbody tr:hover{background-color:#ffffff0d}.admin-section .table-container{background-color:var(--bleu-marine);border-radius:8px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{margin:0;color:#fff}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.badge-success{background-color:#10b981;color:#fff}.badge-info{background-color:#0ea5e9;color:#fff}.badge-secondary{background-color:#6b7280;color:#fff}.badge-warning{background-color:#f59e0b;color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;max-width:90%;width:500px;max-height:90vh;overflow-y:auto;color:#1f2937}.modal-large{max-width:95%;width:900px}.modal-content h2{margin-top:0;margin-bottom:1.5rem;color:#1f2937}.modal-content h3{margin-top:0;margin-bottom:1rem;color:#374151;font-size:1.25rem;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.modal-content h4{margin-top:1rem;margin-bottom:.75rem;color:#4b5563;font-size:1.1rem}.modal-content h5{margin-top:.5rem;margin-bottom:.5rem;color:#6b7280;font-size:1rem}.info-message{padding:1rem;background-color:#dbeafe;border-left:4px solid #3b82f6;border-radius:4px;margin-bottom:1rem;color:#1e40af}.error-message{display:block;color:#dc2626;font-size:.875rem;margin-top:.25rem}.stat-card{text-align:center;padding:2rem}.stat-card h3{font-size:1rem;color:var(--bleu-marine);margin-bottom:1rem}.stat-number{font-size:3rem;font-weight:700;color:var(--bleu-marine);font-family:var(--font-titres);margin:0}.reservations-table{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow);overflow-x:auto;border:2px solid var(--blanc)}.reservations-table table{width:100%;border-collapse:collapse}.reservations-table th,.reservations-table td{padding:.5rem;text-align:left;border-bottom:2px solid var(--blanc);white-space:nowrap;font-size:.9rem}.reservations-table th:nth-child(1),.reservations-table td:nth-child(1){min-width:120px}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){min-width:150px;font-size:.85rem;white-space:normal}.reservations-table th:nth-child(3),.reservations-table td:nth-child(3){width:70px;text-align:center;padding:.25rem}.reservations-table th:nth-child(4),.reservations-table td:nth-child(4){max-width:120px;min-width:120px;white-space:normal;word-break:break-word}.reservations-table th:nth-child(5),.reservations-table td:nth-child(5){width:50px;text-align:center}.reservations-table th:nth-child(6),.reservations-table td:nth-child(6){width:85px;min-width:85px;font-size:.8rem}.reservations-table th:nth-child(7),.reservations-table td:nth-child(7){width:85px;min-width:85px;font-size:.8rem}.reservations-table th:nth-child(8),.reservations-table td:nth-child(8){width:25px;text-align:center}.reservations-table th:nth-child(9),.reservations-table td:nth-child(9){width:100px;text-align:center}.reservations-table th{background-color:var(--beige-fonce);color:var(--blanc);font-weight:600}.reservations-table tr:hover{background-color:var(--beige-fonce)}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-badge.confirmée{background-color:#00c80033;color:#080}.status-badge.disponible{background-color:#00ff6440;color:#0f8;font-weight:600}.status-badge.occupee{background-color:#ff646440;color:#f66;font-weight:600}.no-data{text-align:center;padding:3rem;color:#666}.chambres-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.chambre-admin-card{padding:1.5rem}.chambre-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chambre-admin-header h3{margin:0}.chambre-admin-info{margin:1rem 0}.chambre-admin-info p{margin:.5rem 0;color:#666}.chambre-admin-card button{width:100%;margin-top:1rem}.activites-admin-list{display:flex;flex-direction:column;gap:1.5rem}.activite-admin-card{padding:1.5rem}.activite-admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.activite-admin-header h3{margin:0}.activite-type{color:#666;font-size:.9rem;margin:.25rem 0}.activite-admin-card>button{margin-bottom:1rem}.creneaux-admin{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--beige-fonce)}.creneaux-admin h4{margin-bottom:1rem;color:var(--bleu-marine)}.creneaux-list{display:flex;flex-direction:column;gap:.75rem}.creneau-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--gris-clair);border-radius:var(--border-radius)}.status-badge-small{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600}.btn-small{padding:.5rem 1rem;font-size:.875rem;background-color:var(--bleu-marine);color:var(--blanc);border-radius:var(--border-radius)}.btn-small:hover{background-color:var(--bleu-clair)}.form-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto}.modal-content{max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem}.modal-content h3{margin-bottom:1.5rem}.modal-content h4{margin:1.5rem 0 1rem;color:var(--bleu-marine);border-bottom:2px solid var(--beige-fonce);padding-bottom:.5rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.ingredient-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem;margin-bottom:.5rem}.menus-list{margin:2rem 0}.menus-list h3{margin-bottom:1rem}.menu-card{margin-bottom:1rem;padding:1.5rem}.menu-card h4{margin-bottom:1rem}.menu-card p{margin:.5rem 0}.liste-courses-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--beige-fonce)}.liste-courses-section h3{color:var(--blanc);margin-bottom:1.5rem}.liste-courses-section h4{color:var(--blanc);margin-bottom:1rem}.liste-courses-section table{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--beige-fonce);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow)}.liste-courses-section th,.liste-courses-section td{padding:1rem;text-align:left;border-bottom:1px solid var(--beige-fonce);color:var(--bleu-marine)}.liste-courses-section th{background-color:var(--bleu-marine);color:var(--blanc);font-weight:600}.date-courses-group{margin-bottom:2rem}.date-courses-group h4{color:var(--blanc);margin-bottom:1rem;font-size:1.2rem;font-weight:600}.liste-courses-table{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--beige-fonce);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow)}.liste-courses-table th,.liste-courses-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--beige-fonce);color:var(--bleu-marine)}.liste-courses-table th{background-color:var(--bleu-marine);color:var(--blanc);font-weight:600}.btn-danger{background-color:#dc3545;color:var(--blanc);padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:600}.btn-danger:hover{background-color:#c82333}.chambre-admin-photo{width:100%;height:200px;object-fit:cover;border-radius:var(--border-radius) var(--border-radius) 0 0}.chambre-admin-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.chambre-admin-actions button{flex:1;min-width:100px}.photo-preview{width:100%;max-width:300px;height:auto;margin-top:.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.photo-preview-small{width:80px;height:80px;object-fit:cover;margin-top:.5rem;border-radius:var(--border-radius)}.photo-input-group{margin-bottom:1rem}.photo-upload-group{margin-bottom:1rem;padding:1rem;background-color:var(--gris-clair);border-radius:var(--border-radius)}.file-input-label{display:block;font-weight:600;color:var(--bleu-marine);margin-bottom:.5rem;cursor:pointer}.file-input{display:block;width:100%;padding:.5rem;margin-top:.5rem;border:2px dashed var(--beige-fonce);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.file-input:hover{border-color:var(--bleu-marine)}.meals-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0}.meal-card{padding:1rem;border:2px solid var(--gris-clair);border-radius:var(--border-radius);background-color:var(--blanc);transition:var(--transition)}.meal-card.selectable{cursor:pointer}.meal-card.selectable:hover{border-color:var(--bleu-marine);box-shadow:var(--box-shadow)}.meal-card.selected{border-color:#28a745;background-color:#f0fff4}.meal-card.validated{border-color:#28a745;background-color:#f8f9fa}.meal-card.refused{border-color:#dc3545;background-color:#f8f9fa}.meal-card .checkbox-wrapper{margin-bottom:.5rem}.meal-card .checkbox-wrapper input[type=checkbox]{width:18px;height:18px;cursor:pointer}.meal-card .meal-info{display:flex;flex-direction:column;gap:.25rem}.meal-card .meal-date{font-weight:600;color:var(--bleu-marine);font-size:14px}.meal-card .meal-type{color:var(--gris-fonce);font-size:14px}.meal-card .meal-servings{color:var(--gris-moyen);font-size:12px}.meal-card .refus-note{margin-top:.5rem;padding:.5rem;background-color:#fff5f5;border-left:3px solid #dc3545;font-size:12px;color:#721c24}.selection-summary{margin-top:1rem;padding:1rem;background-color:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;font-size:14px}.selection-actions{display:flex;gap:1rem}.btn-link{background:none;border:none;color:var(--bleu-marine);text-decoration:underline;cursor:pointer;padding:0;font-size:14px}.btn-link:hover{color:var(--marron)}.btn-link:disabled{color:var(--gris-moyen);cursor:not-allowed;text-decoration:none}.recipe-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding:1.5rem;background-color:var(--gris-clair);border-radius:var(--border-radius)}.recipe-info h4{margin:0 0 1rem;color:var(--bleu-marine);font-size:1.5rem}.recipe-info p{margin:.5rem 0;color:var(--gris-fonce)}.ingredients-section{margin-bottom:2rem;padding:1rem;background-color:var(--blanc);border:1px solid var(--gris-clair);border-radius:var(--border-radius)}.ingredients-section h4{margin:0 0 1rem;color:var(--bleu-marine)}.ingredients-section ul{list-style-type:disc;padding-left:1.5rem;margin:0}.ingredients-section li{margin:.25rem 0;color:var(--gris-fonce)}.selection-section{margin-bottom:2rem}.selection-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.selection-section h4{margin:0;color:var(--bleu-marine)}.validated-section,.refused-section{margin-bottom:2rem}.validated-section h4,.refused-section h4{margin:0 0 1rem;color:var(--bleu-marine)}.meals-list{display:flex;flex-direction:column;gap:.5rem}.badge-occurrence{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:#ffc107;color:#000;border-radius:12px;font-size:11px;font-weight:600;margin-left:.5rem}.btn-view-grouped{padding:.5rem 1rem;background-color:#17a2b8;color:var(--blanc);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:14px;font-weight:600;transition:var(--transition)}.btn-view-grouped:hover{background-color:#138496}.photo-preview-container{position:relative;display:inline-block;margin-top:1rem}.photo-preview-container .photo-preview{max-width:100%;height:auto;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.btn-remove-photo{position:absolute;top:.5rem;right:.5rem;background-color:#dc3545;color:var(--blanc);border:none;border-radius:50%;width:32px;height:32px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:var(--transition)}.btn-remove-photo:hover{background-color:#c82333;transform:scale(1.1)}.form-help{font-size:.875rem;color:#666;margin-bottom:1rem;font-style:italic}.menu-grid-container{overflow-x:auto;margin:2rem 0}.menu-grid-table{width:100%;border-collapse:collapse;background:var(--beige);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow);border:2px solid var(--blanc)}.menu-grid-table th,.menu-grid-table td{padding:.75rem;border:2px solid var(--blanc);text-align:center;vertical-align:middle}.menu-grid-table th{background-color:var(--beige-fonce);color:var(--blanc);font-weight:600;position:sticky;top:0;z-index:10}.repas-header,.component-header{min-width:120px;background-color:var(--bleu-marine);color:var(--beige-fonce);border:2px solid var(--blanc)}.date-header{min-width:150px;font-size:.9rem;background-color:var(--bleu-marine-clair);color:var(--blanc)}.repas-cell{background-color:var(--beige-fonce);font-weight:600;color:var(--blanc);vertical-align:middle}.component-cell{background-color:var(--beige-fonce);font-weight:500;text-align:left;padding-left:1rem;color:var(--blanc)}.menu-cell{padding:.5rem;min-width:180px}.menu-input{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid var(--beige-fonce);border-radius:4px;font-size:.875rem}.menu-select{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid var(--beige-fonce);border-radius:4px;font-size:.875rem;background-color:var(--blanc)}.marmiton-input{font-size:.8rem;padding:.4rem}.convives-input{width:80px;padding:.5rem;text-align:center;border:1px solid var(--beige-fonce);border-radius:4px;font-size:.9rem;font-weight:600}.convives-row td{background-color:var(--beige-fonce);color:var(--blanc);font-weight:600}.admin-tabs-secondary{display:flex;gap:1.5rem;margin:2rem 0;justify-content:center}.tab-secondary{padding:2rem 4rem;background:var(--beige-fonce);border:5px solid var(--blanc);border-radius:var(--border-radius);font-size:1.6rem;font-weight:700;color:var(--blanc);cursor:pointer;transition:var(--transition);box-shadow:0 6px 15px #0006,inset 0 -3px 5px #0003;text-transform:uppercase;letter-spacing:1px;min-width:250px;text-align:center}.tab-secondary:hover{background:var(--beige);transform:translateY(-3px);box-shadow:0 8px 20px #ffffff80,inset 0 -3px 5px #00000026;border-color:var(--beige)}.tab-secondary.active{background:var(--beige);border-color:var(--bleu-marine);border-width:6px;color:var(--bleu-marine);transform:scale(1.08);box-shadow:0 8px 25px #fff9,inset 0 2px 8px #0a19294d}.section-subheader{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.activite-admin-photo{width:150px;height:150px;object-fit:cover;border-radius:var(--border-radius);margin-right:1.5rem}.activite-admin-card{display:flex;padding:1.5rem}.activite-admin-content{flex:1}.activite-admin-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.activite-admin-actions button{padding:.5rem 1rem}.creneaux-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.creneau-day-card{background:var(--gris-clair);padding:1.5rem;border-radius:var(--border-radius);border:2px solid var(--beige-fonce)}.creneau-day-card h4{margin-bottom:1rem;color:var(--bleu-marine);font-size:1.1rem}.creneau-checkboxes{display:flex;flex-direction:column;gap:.75rem}.creneau-checkboxes label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.creneau-checkboxes input[type=checkbox]{width:auto;cursor:pointer}.creneaux-synthese{display:flex;flex-direction:column;gap:1.5rem}.creneau-synthese-card{padding:1.5rem}.creneau-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--beige-fonce)}.creneau-header h4{margin:0;color:var(--bleu-marine);font-size:1.2rem;text-transform:capitalize}.creneau-time{font-weight:700;font-size:1.1rem;color:var(--beige-fonce);background-color:var(--gris-clair);padding:.5rem 1rem;border-radius:var(--border-radius)}.creneau-activites-container{display:flex;flex-direction:column;gap:1rem}.activite-synthese-item{margin-bottom:0;padding:1rem;background-color:var(--gris-clair);border-radius:var(--border-radius);border:1px solid var(--beige-fonce)}.activite-synthese-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.activite-synthese-header strong{font-size:1.1rem;color:var(--bleu-marine)}.participant-count{background-color:var(--bleu-marine);color:var(--blanc);padding:.25rem .75rem;border-radius:15px;font-size:.9rem;font-weight:600}.participants-list li{padding:.5rem .75rem;background-color:var(--blanc);border-radius:var(--border-radius);font-size:.95rem;color:var(--bleu-marine);border-left:3px solid var(--beige-fonce)}.activite-synthese-card{padding:1.5rem}.chambre-photo-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.no-photo{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background-color:var(--gris-clair);border-radius:var(--border-radius);font-size:.65rem;color:#999;text-align:center;padding:.25rem}.action-edit-icon{background:none;border:none;cursor:pointer;font-size:1.5rem;opacity:0;transition:opacity .2s,transform .2s;padding:.5rem;color:#007bff}.reservations-table tbody tr:hover .action-edit-icon{opacity:1}.action-edit-icon:hover:not(:disabled){transform:scale(1.2);color:#0056b3}.action-edit-icon:disabled{cursor:not-allowed;opacity:.5}.action-delete-icon{background:none;border:none;cursor:pointer;font-size:1.5rem;opacity:0;transition:opacity .2s,transform .2s;padding:.5rem;color:#dc3545}.reservations-table tbody tr:hover .action-delete-icon{opacity:1}.action-delete-icon:hover:not(:disabled){transform:scale(1.2);color:#c82333}.action-delete-icon:disabled{cursor:not-allowed;opacity:.5}.delete-modal-content{background-color:#fff;padding:2rem;border-radius:8px;max-width:90%;width:550px;max-height:90vh;overflow-y:auto;color:#1f2937;border-top:4px solid #dc3545}.delete-modal-content h2{color:#1f2937;margin-bottom:1rem}.delete-modal-details{background-color:#f3f4f6;padding:1.5rem;border-radius:8px;margin:1.5rem 0}.delete-modal-details p{margin:.75rem 0;color:#374151}.delete-modal-warning{background-color:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;border-left:4px solid #dc2626;font-weight:600;margin:1.5rem 0}.delete-modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel{background-color:#6b7280;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:#4b5563}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-delete{background-color:#dc3545;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.btn-delete:hover:not(:disabled){background-color:#c82333}.btn-delete:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.reservations-table{overflow-x:scroll}.action-delete-icon{opacity:1}.delete-modal-content{width:95%;padding:1.5rem}.delete-modal-buttons{flex-direction:column}.delete-modal-buttons button{width:100%}.ingredient-row{grid-template-columns:1fr}.creneau-item{flex-direction:column;align-items:flex-start;gap:.5rem}.activite-admin-card{flex-direction:column}.activite-admin-photo{width:100%;height:200px;margin-right:0;margin-bottom:1rem}.chambre-admin-actions button,.activite-admin-actions button{flex:1 1 100%}.creneaux-grid{grid-template-columns:1fr}.creneau-header{flex-direction:column;align-items:flex-start;gap:.5rem}.participants-list,.activites-sans-creneaux{grid-template-columns:1fr}}.recette-signature-config-form{padding:2rem;background:#fff;border-radius:8px}.recette-signature-config-form .form-section{margin-bottom:2rem}.recette-signature-config-form h2,.recette-signature-config-form h3{color:var(--bleu-marine);margin-bottom:1.5rem}.recette-signature-config-form label{display:block;margin-bottom:.5rem;color:var(--bleu-marine);font-weight:500}.recette-signature-config-form textarea,.recette-signature-config-form input[type=number]{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:var(--bleu-marine)}.recette-signature-config-form .inline-input{display:flex;align-items:center;gap:.5rem}.recette-signature-config-form .inline-input input{width:100px}.recette-signature-config-form .inline-input span{color:var(--bleu-marine)}.recette-signature-config-form small{display:block;margin-top:.25rem;color:#64748b;font-size:.875rem}.recette-signature-config-form .empty-state{background:#f1f5f9;padding:2rem;border-radius:8px;text-align:center;color:#64748b}.recette-signature-config-form .error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:4px;margin-bottom:1rem}.repas-grid{display:grid;gap:1.5rem}.date-group{background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.date-group h4{color:var(--bleu-marine);margin-bottom:1rem}.repas-selector{background:#fff;padding:1rem;border-radius:4px;margin-bottom:.75rem;border:2px solid #e2e8f0;transition:all .2s}.repas-selector.selected{background:#1e40af;border:2px solid #1e3a8a}.repas-selector.selected .repas-header .type{color:#fff}.repas-selector.selected .repas-header .convives{color:#dbeafe}.repas-selector.selected .composants-selector label{color:#fff}.repas-selector.warning{border:2px solid #f59e0b;background:#fffbeb}.repas-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.repas-header label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:0}.repas-header .type{font-weight:600;color:var(--bleu-marine)}.repas-header .convives{color:#64748b;font-size:.875rem}.repas-header .warning-badge{background:#fef3c7;color:#92400e;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.composants-selector{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0;margin-top:.75rem}.composants-selector label{display:flex;align-items:center;gap:.25rem;cursor:pointer;margin-bottom:0;color:var(--bleu-marine);font-size:.875rem}.notification-badge{background:#ef4444;color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem}.btn-special{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:600;cursor:pointer;transition:transform .2s}.btn-special:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.gestion-propositions{padding:2rem 0}.gestion-propositions .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.gestion-propositions .filters{display:flex;gap:.5rem}.gestion-propositions .filters button{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;cursor:pointer}.gestion-propositions .filters button.active{background:#3b82f6;border-color:#3b82f6}.propositions-groups{display:flex;flex-direction:column;gap:2rem}.repas-group h3{color:#fff;margin-bottom:1rem;font-size:1.25rem}.propositions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.proposition-card{background:#ffffff1a;border-radius:8px;padding:1.5rem}.proposition-card.statut-en_attente{border-left:4px solid #f59e0b}.proposition-card.statut-validee{border-left:4px solid #10b981}.proposition-card.statut-refusee{border-left:4px solid #ef4444}.proposition-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.proposition-card .invite-info strong{color:#fff;display:block}.proposition-card .invite-info .email{color:#ffffffb3;font-size:.875rem}.proposition-card .badge{font-size:.75rem}.proposition-card .badge-en_attente{background:#f59e0b33;color:#fbbf24}.proposition-card .badge-validee{background:#10b98133;color:#34d399}.proposition-card .badge-refusee{background:#ef444433;color:#f87171}.proposition-card .composant-badge{display:inline-block;background:#fff3;padding:.25rem .75rem;border-radius:4px;font-size:.875rem;margin-bottom:.5rem;color:#fff}.proposition-card h4{color:#fff;margin:.5rem 0}.proposition-card .meta-info{display:flex;gap:1rem;color:#ffffffb3;font-size:.875rem;margin-bottom:1rem}.proposition-card .ingredients-preview{background:#0003;padding:.75rem;border-radius:4px;margin-top:1rem}.proposition-card .ingredients-preview strong{color:#fff;display:block;margin-bottom:.5rem}.proposition-card .ingredients-preview ul{margin:0;padding-left:1.5rem;color:#fffc;font-size:.875rem}.proposition-card .card-actions{display:flex;gap:.5rem;margin-top:1rem}.btn-validate{flex:1;background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.btn-validate:hover{background:#059669}.btn-refuse{flex:1;background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.btn-refuse:hover{background:#dc2626}.validation-info,.refus-info{margin-top:1rem;padding:.75rem;border-radius:4px;font-size:.875rem}.validation-info{background:#10b98133;color:#34d399}.refus-info{background:#ef444433;color:#f87171}.streaming-providers-container{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;min-height:32px}.streaming-provider-logo{width:32px;height:32px;border-radius:6px;object-fit:cover;box-shadow:0 1px 3px #0000004d;cursor:help;transition:transform .2s ease}.streaming-provider-logo:hover{transform:scale(1.1);box-shadow:0 2px 6px #0006}.streaming-provider-count{font-size:.8rem;color:#9ca3af;font-weight:600;padding:0 .3rem}.status-badge.non-reference{background-color:#6b7280;color:#fff;font-size:.75rem;padding:.25rem .5rem}.alertes-menage-list{display:flex;flex-direction:column;gap:1.5rem}.alerte-menage-card{background:#fff;border-radius:8px;padding:1.5rem;border-left:4px solid #f59e0b;transition:all .2s ease}.alerte-menage-card.chambre-partageable{border-left-color:#3b82f6}.alerte-menage-card.chambre-privee{border-left-color:#f59e0b}.alerte-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.alerte-title-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.alerte-header h3{margin:0;color:#1f2937;font-size:1.25rem}.badge-room-type{display:inline-block;padding:.35rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap}.badge-room-type.partageable{background-color:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.badge-room-type.privee{background-color:#fef3c7;color:#92400e;border:1px solid #f59e0b}.alerte-details{margin:1rem 0}.transition-info{margin-bottom:1rem}.date-transition{font-size:1rem;color:#4b5563;margin:0}.personnes-info{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#f9fafb;border-radius:6px}.personne-sortante,.personne-entrante{flex:1;display:flex;flex-direction:column;gap:.5rem}.personnes-info .label{font-size:.875rem;color:#6b7280;font-weight:600;text-transform:uppercase}.personnes-info .nom{font-size:1rem;color:#1f2937;font-weight:600}.transition-arrow{font-size:1.5rem;color:#9ca3af;font-weight:700}.alerte-note{margin-top:1rem;padding:.75rem;background:#fef3c7;border-radius:6px;border-left:3px solid #f59e0b}.alerte-note p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.shareable-note{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #fbbf24;color:#1e40af;font-style:italic;font-size:.85rem}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:8px;color:#6b7280}.empty-state p{margin:.5rem 0}.empty-state .help-text{font-size:.9rem;color:#9ca3af;margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.checkbox-label span{font-weight:400}.admin-chat-toolbar{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.admin-chat-search{flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.2);border-radius:var(--border-radius);background:#ffffff1a;color:#fff;font-size:.95rem;transition:var(--transition)}.admin-chat-search::placeholder{color:#ffffff80}.admin-chat-search:focus{outline:none;border-color:var(--beige);background:#ffffff26}.admin-chat-actions{display:flex;gap:.75rem;align-items:center}.admin-chat-messages-container{display:flex;flex-direction:column;background:#fff;border-radius:var(--border-radius);overflow:hidden;max-height:70vh;overflow-y:auto}.admin-chat-date-group{display:flex;flex-direction:column}.admin-chat-date-separator{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;background:#f1f5f9;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:1}.admin-chat-date-separator span{font-size:.85rem;font-weight:600;color:#64748b;text-transform:capitalize}.admin-chat-message-row{display:grid;grid-template-columns:32px 60px 140px 1fr;gap:.75rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .15s}.admin-chat-message-row:hover{background-color:#f8fafc}.admin-chat-message-row.selected{background-color:#eff6ff}.admin-chat-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--bleu-marine)}.admin-chat-message-time{font-size:.8rem;color:#94a3b8;font-variant-numeric:tabular-nums}.admin-chat-message-author{font-weight:600;font-size:.9rem;color:var(--bleu-marine);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-message-content{font-size:.9rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.admin-chat-message-row{grid-template-columns:32px 1fr;gap:.5rem}.admin-chat-message-time{grid-column:2;font-size:.75rem}.admin-chat-message-author,.admin-chat-message-content{grid-column:2;white-space:normal}.admin-chat-toolbar{flex-direction:column;align-items:stretch}.admin-chat-actions{justify-content:flex-end}.personnes-info{flex-direction:column;gap:1rem}.transition-arrow{transform:rotate(90deg)}.personne-sortante,.personne-entrante{width:100%}}.dietary-prefs-cartouche{background:linear-gradient(135deg,#fef9ef,#fdf4e3);border:2px solid #e8d5b5;border-left:5px solid #d4a76a;border-radius:8px;padding:1.5rem 2rem;margin:2rem 0}.dietary-prefs-cartouche h3{margin:0 0 1rem;color:#7c5a2e;font-size:1.15rem;font-weight:700;letter-spacing:.02em}.dietary-prefs-empty{margin:0;color:#8b7355;font-style:italic;font-size:.95rem}.dietary-prefs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dietary-pref-item{display:flex;align-items:baseline;gap:.75rem;padding:.6rem 1rem;background:#ffffffb3;border-radius:6px;border:1px solid #e8d5b5}.dietary-pref-item strong{color:#5a3e1b;font-weight:700;white-space:nowrap;min-width:120px}.dietary-pref-item span{color:#c0392b;font-weight:500;font-size:.95rem}.dietary-prefs-cartouche--rendu{margin-top:2.5rem}.propose-recipe-modal{background:var(--beige-fonce);border-radius:var(--border-radius);padding:2.5rem;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--box-shadow);color:var(--bleu-marine)}.propose-recipe-modal h2{color:var(--bleu-marine);font-family:var(--font-titres);font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:2rem}.propose-recipe-modal h3{color:var(--bleu-marine);font-family:var(--font-titres);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.propose-recipe-modal h4{color:var(--bleu-marine);font-family:var(--font-titres);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.propose-recipe-modal .modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2rem;cursor:pointer;color:var(--bleu-marine);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.propose-recipe-modal .modal-close:hover{background:var(--beige);color:var(--bleu-marine)}.select-meals-multiple-step,.select-component-step,.select-recipe-step,.manual-recipe-step,.confirmation-step{padding:1rem 0;color:var(--bleu-marine)}.select-meals-multiple-step h3,.select-component-step h3,.select-recipe-step h3,.manual-recipe-step h3,.confirmation-step h3{color:var(--bleu-marine);margin-bottom:1.5rem}.select-meals-multiple-step p,.select-component-step p,.select-recipe-step p,.manual-recipe-step p,.confirmation-step p{color:var(--bleu-marine)!important;line-height:1.6}.meals-list,.components-list,.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.meal-card,.component-card{background:var(--blanc);border:2px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1.5rem;cursor:pointer;transition:var(--transition);text-align:center}.meal-card:hover,.component-card:hover{background:var(--beige);border-color:var(--bleu-marine);transform:translateY(-2px);box-shadow:var(--box-shadow)}.meal-date,.component-label{font-size:1rem;color:var(--bleu-marine);font-weight:600;margin-bottom:.5rem;text-transform:capitalize}.meal-type{font-size:1.25rem;margin:.5rem 0;color:var(--bleu-marine);font-weight:600}.meal-servings{font-size:.9rem;color:var(--bleu-marine);font-style:italic;opacity:.8}.component-icon,.component-card .icon{font-size:2.5rem;margin-bottom:.5rem}.component-card .label{font-size:1rem;color:var(--bleu-marine);font-weight:600}.selected-recipe-info{background:var(--beige);border:2px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:1.5rem;text-align:center;color:var(--bleu-marine);font-size:1.1rem}.selected-recipe-info strong{color:var(--bleu-marine);font-weight:700;margin-right:.5rem}.source-selector{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.source-button{background:var(--blanc);border:2px solid var(--beige-fonce);color:var(--bleu-marine);padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:600;transition:var(--transition);font-family:var(--font-texte)}.source-button:hover{background:var(--beige);border-color:var(--bleu-marine)}.source-button.active{background:var(--bleu-marine);color:var(--blanc);border-color:var(--bleu-marine)}.recipe-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:space-between}.recipe-actions button{padding:.875rem 1.5rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;font-family:var(--font-texte)}.recipe-actions button:first-child{background:var(--blanc);border:2px solid var(--beige-fonce);color:var(--bleu-marine)}.recipe-actions button:first-child:hover:not(:disabled){background:var(--beige);border-color:var(--bleu-marine)}.recipe-actions button:last-child{background:var(--bleu-marine);color:var(--blanc);border:2px solid var(--bleu-marine)}.recipe-actions button:last-child:hover:not(:disabled){background:var(--bleu-marine-clair);box-shadow:var(--box-shadow)}.recipe-actions button:disabled{opacity:.5;cursor:not-allowed}.confirmation-details{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0}.confirmation-details p{color:var(--bleu-marine);margin-bottom:.75rem;font-size:1rem;line-height:1.6}.confirmation-details strong{color:var(--bleu-marine);font-weight:700}.no-meals{text-align:center;padding:3rem 1rem;color:var(--bleu-marine);font-size:1.1rem;opacity:.7}.propose-recipe-modal input[type=text],.propose-recipe-modal input[type=number],.propose-recipe-modal textarea,.propose-recipe-modal select{width:100%;padding:.75rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);font-size:1rem;font-family:var(--font-texte);color:var(--bleu-marine)!important;background:var(--blanc)!important;transition:var(--transition)}.propose-recipe-modal input[type=text]::placeholder,.propose-recipe-modal input[type=number]::placeholder,.propose-recipe-modal textarea::placeholder{color:#0a192980!important}.propose-recipe-modal input[type=text]:focus,.propose-recipe-modal input[type=number]:focus,.propose-recipe-modal textarea:focus,.propose-recipe-modal select:focus{outline:none;border-color:var(--bleu-marine);box-shadow:0 0 0 3px #0a19291a}.propose-recipe-modal label{display:block;margin-bottom:.5rem;color:var(--bleu-marine);font-weight:600;font-size:.95rem}.propose-recipe-modal table{width:100%;border-collapse:collapse;margin:1rem 0}.propose-recipe-modal table th{background:var(--bleu-marine);color:var(--blanc);font-weight:700;padding:.75rem;text-align:left;border:1px solid var(--bleu-marine)}.propose-recipe-modal table td{padding:.75rem;border:1px solid var(--beige);color:var(--bleu-marine);background:var(--blanc)}.propose-recipe-modal table tbody tr:hover{background:var(--beige);color:var(--bleu-marine)}.portions-info-box{background:var(--blanc);border:2px solid var(--bleu-marine);border-radius:var(--border-radius);padding:1rem 1.5rem;margin:1rem 0 1.5rem;text-align:center}.portions-info-box p{font-size:1.1rem;font-weight:600;color:var(--bleu-marine);margin-bottom:.5rem}.portions-info-box small{font-size:.85rem;color:var(--bleu-marine);opacity:.8;font-style:italic}.meals-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.meal-checkbox-card{background:var(--blanc);border:2px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1.5rem;cursor:pointer;transition:var(--transition);text-align:center;position:relative}.meal-checkbox-card:hover{border-color:var(--bleu-marine);transform:translateY(-2px);box-shadow:var(--box-shadow)}.meal-checkbox-card.selected{background:var(--beige);border-color:var(--beige-fonce);border-width:3px;box-shadow:0 4px 12px #d4c5a94d}.checkbox-wrapper{position:absolute;top:.75rem;right:.75rem}.checkbox-wrapper input[type=checkbox]{width:1.5rem;height:1.5rem;cursor:pointer;accent-color:var(--bleu-marine)}.meals-selection-summary{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0}.meals-selection-summary h4{color:var(--bleu-marine);margin-bottom:1rem}.meals-selection-summary ul{list-style:none;padding:0;margin:0 0 1rem}.meals-selection-summary li{padding:.5rem 0;color:var(--bleu-marine);border-bottom:1px solid var(--beige-fonce)}.meals-selection-summary li:last-child{border-bottom:none}.portions-note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--beige-fonce)}.portions-note small{color:var(--bleu-marine);opacity:.8;font-style:italic}.or-divider{display:flex;align-items:center;text-align:center;margin:2rem 0}.or-divider:before,.or-divider:after{content:"";flex:1;border-bottom:2px solid var(--beige-fonce)}.or-divider span{padding:0 1rem;color:var(--bleu-marine);font-weight:600;font-size:.9rem}.btn-primary{background:var(--bleu-marine);color:var(--blanc);border:2px solid var(--bleu-marine);padding:.875rem 1.5rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-texte)}.btn-primary:hover:not(:disabled){background:var(--bleu-marine-clair);box-shadow:var(--box-shadow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--blanc);color:var(--bleu-marine);border:2px solid var(--beige-fonce);padding:.875rem 1.5rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-texte)}.btn-secondary:hover:not(:disabled){background:var(--beige);border-color:var(--bleu-marine)}.btn-back{background:transparent;color:var(--bleu-marine);border:none;padding:.75rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-texte)}.btn-back:hover{color:var(--beige-fonce)}.btn-add{background:var(--beige);color:var(--bleu-marine);border:2px solid var(--beige-fonce);padding:.75rem 1.5rem;border-radius:var(--border-radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-texte);margin-top:.5rem}.btn-add:hover{background:var(--beige-fonce);border-color:var(--bleu-marine)}.actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.form-group{margin-bottom:1.5rem}.ingredient-row{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:.5rem;margin-bottom:.5rem}.ingredient-row input,.ingredient-row select{padding:.5rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);font-size:.95rem;font-family:var(--font-texte);color:var(--bleu-marine)!important;background:var(--blanc)!important}.ingredient-row input::placeholder{color:#0a192980!important}.ingredient-row button{background:transparent;border:none;cursor:pointer;font-size:1.5rem;transition:var(--transition)}.ingredient-row button:hover{transform:scale(1.1)}.summary-card{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--beige-fonce);color:var(--bleu-marine)}.summary-row:last-child{border-bottom:none}.summary-row strong{font-weight:700;color:var(--bleu-marine)}.ingredients-preview{background:var(--blanc);border:2px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0}.ingredients-preview h4{color:var(--bleu-marine);margin-bottom:1rem}.ingredients-preview ul{list-style:disc;padding-left:1.5rem;margin:0}.ingredients-preview li{padding:.25rem 0;color:var(--bleu-marine)}.info-box{background:#d4c5a933;border-left:4px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1rem 1.5rem;margin:1.5rem 0}.info-box p{color:var(--bleu-marine)!important;margin:0;font-size:.95rem;line-height:1.6}.stepper{display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:0 1rem}.stepper>div{flex:1;text-align:center;padding:.5rem .25rem;color:var(--bleu-marine);font-weight:600;font-size:.8rem;background:var(--blanc);border:2px solid var(--beige-fonce);border-radius:var(--border-radius);margin:0 .25rem;transition:var(--transition);opacity:.5}.stepper>div.active{opacity:1;background:var(--bleu-marine);color:var(--blanc);border-color:var(--bleu-marine)}.stepper>div.completed{opacity:1;background:var(--beige);color:var(--bleu-marine);border-color:var(--beige-fonce)}@media(max-width:768px){.propose-recipe-modal{padding:2rem 1.5rem;max-width:100%}.propose-recipe-modal h2{font-size:1.5rem}.meals-list,.meals-selection-grid,.components-list,.components-grid{grid-template-columns:1fr}.recipe-actions,.actions{flex-direction:column}.recipe-actions button,.actions button{width:100%}.ingredient-row{grid-template-columns:1fr}.stepper{font-size:.75rem;padding:0 .5rem}.stepper>div{padding:.5rem .25rem}}.tournament-view-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tournament-view-modal{background:var(--blanc, #fff);border-radius:12px;width:100%;max-width:960px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tournament-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:2px solid var(--beige-fonce, #e8e0d4)}.tournament-view-title-section h2{margin:0 0 .25rem;color:var(--bleu-marine, #1a2a4a);font-size:1.3rem}.tournament-view-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.tournament-view-badge{display:inline-block;padding:.2rem .7rem;border-radius:12px;font-size:.8rem;font-weight:600}.tournament-view-badge.brouillon{background:#e0e0e0;color:#666}.tournament-view-badge.publie{background:#d4edda;color:#155724}.tournament-view-badge.en_cours{background:#cce5ff;color:#004085}.tournament-view-badge.termine{background:#f8d7da;color:#721c24}.tournament-view-format-badge{font-size:.8rem;color:#666}.tournament-view-body{padding:1.5rem 2rem}.tournament-view-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.tournament-bracket-elimination{display:flex;gap:2rem;overflow-x:auto;padding-bottom:1rem}.tournament-round{display:flex;flex-direction:column;gap:1rem;min-width:240px}.tournament-round-title{text-align:center;font-weight:700;color:var(--bleu-marine, #1a2a4a);font-size:.95rem;padding-bottom:.5rem;border-bottom:2px solid var(--beige-fonce, #e8e0d4);margin-bottom:.5rem}.tournament-match-card{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.tournament-match-card:hover{box-shadow:0 2px 8px #0000001a}.tournament-match-card.termine{border-color:#28a745}.tournament-match-number{background:var(--gris-clair, #f5f5f5);padding:.2rem .5rem;font-size:.7rem;color:#999;text-align:center}.tournament-match-team{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid #f0f0f0;font-size:.9rem;transition:background .2s}.tournament-match-team:last-child{border-bottom:none}.tournament-match-team.winner{background:#28a7451a;font-weight:700}.tournament-match-team.pending{color:#999;font-style:italic}.tournament-match-team-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-match-score{min-width:40px;text-align:right;font-weight:700;color:var(--bleu-marine, #1a2a4a)}.tournament-match-edit-btn{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--bleu-marine, #1a2a4a);padding:.2rem;opacity:.6;transition:opacity .2s}.tournament-match-edit-btn:hover{opacity:1}.tournament-round-robin-section,.tournament-poules-section{margin-bottom:2rem}.tournament-round-robin-section h3,.tournament-poules-section h3{color:var(--bleu-marine, #1a2a4a);margin-bottom:1rem;font-size:1.1rem}.tournament-standings-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem}.tournament-standings-table th{background:var(--bleu-marine, #1a2a4a);color:#fff;padding:.6rem .75rem;text-align:left;font-weight:600}.tournament-standings-table th:not(:first-child){text-align:center}.tournament-standings-table td{padding:.6rem .75rem;border-bottom:1px solid #e0e0e0}.tournament-standings-table td:not(:first-child){text-align:center}.tournament-standings-table tr:nth-child(2n){background:var(--gris-clair, #f5f5f5)}.tournament-matchs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.tournament-score-modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100}.tournament-score-content{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.tournament-score-content h3{margin:0 0 1.5rem;color:var(--bleu-marine, #1a2a4a)}.tournament-score-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.tournament-score-team-name{flex:1;font-weight:600;font-size:.95rem}.tournament-score-input{width:80px;padding:.5rem;border:2px solid #d0d0d0;border-radius:8px;font-size:1rem;text-align:center;font-weight:700}.tournament-score-input:focus{outline:none;border-color:var(--bleu-marine, #1a2a4a)}.tournament-score-actions{display:flex;gap:.5rem;margin-top:1.5rem;justify-content:flex-end}.tournament-winner-select{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.tournament-winner-select label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem;color:var(--bleu-marine, #1a2a4a)}.tournament-winner-select select{width:100%;padding:.5rem;border:2px solid #d0d0d0;border-radius:8px;font-size:.95rem}.tournament-view-footer{display:flex;justify-content:flex-end;padding:1.5rem 2rem;border-top:2px solid var(--beige-fonce, #e8e0d4)}@media(max-width:768px){.tournament-view-modal{max-width:100%}.tournament-view-header,.tournament-view-body,.tournament-view-footer{padding:1rem}.tournament-bracket-elimination{gap:1rem}.tournament-round{min-width:200px}.tournament-matchs-grid{grid-template-columns:1fr}}.capacity-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.capacity-badge-available{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.capacity-badge-almost-full{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.capacity-badge-full{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.capacity-badge-no-limit{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}@media(max-width:768px){.capacity-badge{font-size:.75rem;padding:.4rem .75rem}}.activites{min-height:100vh}.activites-hero{background:linear-gradient(#001f3fb3,#001f3fb3),url(https://images.pexels.com/photos/248547/pexels-photo-248547.jpeg?auto=compress&cs=tinysrgb&w=1920) center/cover;height:300px;display:flex;align-items:center;justify-content:center;color:var(--blanc);text-align:center}.activites-hero h1{color:var(--blanc);font-size:2.5rem}.activites-main-section{margin:3rem 0;padding:2.5rem 0;background:#f5f5dc1a;border-radius:12px}.activites-main-section:not(:last-child){margin-bottom:3rem}.section-title{font-size:2.2rem;color:var(--bleu-marine);margin-bottom:2rem;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:1px}.category-subtitle{font-size:1.5rem;color:var(--bleu-clair);margin:2rem 0 1.5rem;font-weight:600}.activites-content{margin:2rem 0;padding-bottom:3rem}.activites-category{margin:3rem 0}.activites-category h2{margin-bottom:1.5rem}.activites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.activite-card{cursor:pointer;overflow:hidden;padding:0;background:var(--blanc);border:2px solid var(--beige-fonce);transition:all .3s ease}.activite-card:hover{border-color:var(--bleu-marine);box-shadow:0 6px 16px #001f3f26}.activite-image{height:200px;overflow:hidden}.activite-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.activite-card:hover .activite-image img{transform:scale(1.05)}.activite-content{padding:1.5rem}.activite-content h3{margin-bottom:.5rem;color:var(--bleu-marine);font-weight:600}.activite-duree,.activite-distance,.activite-reservation{color:var(--beige-fonce);font-weight:600;font-size:.9rem;margin:.25rem 0}.activite-preview{color:#555;font-size:.9rem;margin-top:.75rem;line-height:1.5}.back-button{margin-bottom:2rem}.activite-detail{margin:2rem 0;padding-bottom:3rem}.activite-detail h1{margin-bottom:2rem;color:var(--blanc)}.activite-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.activite-gallery img{width:100%;height:300px;object-fit:cover;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.activite-info{padding:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item strong{color:var(--bleu-marine)}.reservation-required{color:var(--bleu-clair);font-weight:600}.description{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--beige-fonce)}.description h3{margin-bottom:1rem}.activite-link{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--beige-fonce);text-align:center}.activite-link a{display:inline-block}.films-cinema-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--beige-fonce)}.film-search-section{margin-bottom:3rem;padding:2rem;background-color:#ffffff0d;border-radius:var(--border-radius);border:2px solid var(--beige-fonce)}.film-search-section h3{color:var(--bleu-clair);font-size:1.5rem;margin-bottom:1rem}.search-input-container{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.search-input{flex:1;padding:.75rem 1rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);font-size:1rem;background-color:var(--blanc);color:#333}.search-input:focus{outline:none;border-color:var(--bleu-clair)}.no-results-message{padding:2rem;text-align:center;background-color:#ffc1071a;border:2px solid #ffc107;border-radius:var(--border-radius);color:var(--blanc);font-size:1.1rem}.search-results{margin-top:2rem}.search-results h4{color:var(--bleu-clair);font-size:1.3rem;margin-bottom:1.5rem}.films-cinema-section h3{color:var(--bleu-marine);font-size:1.8rem;margin-bottom:.5rem}.films-intro{color:#666;font-size:1rem;margin-bottom:2rem;font-style:italic}.films-list{display:flex;flex-direction:column;gap:2rem}.film-detail-card{background-color:#f8f8f8;border-radius:var(--border-radius);padding:1.5rem;border:2px solid var(--beige-fonce)}.film-header{display:flex;gap:1.5rem;margin-bottom:1.5rem}.film-poster-small{flex-shrink:0;width:150px;height:220px;overflow:hidden;border-radius:var(--border-radius);box-shadow:0 4px 8px #00000026}.film-poster-small img{width:100%;height:100%;object-fit:cover}.film-header-info{flex:1;position:relative}.film-header-info h4{color:var(--bleu-marine);font-size:1.5rem;margin-bottom:.25rem;line-height:1.3}.film-original-title{color:#888;font-size:.95rem;font-style:italic;margin-bottom:.75rem}.film-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem}.film-badges{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.film-platform-badge{display:inline-block;background-color:var(--bleu-marine);color:var(--blanc);padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.film-type-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.film-type-badge.nouveaute{background-color:#27ae60;color:var(--blanc);box-shadow:0 2px 6px #27ae604d}.film-type-badge.classique{background-color:#c0392b;color:var(--blanc);box-shadow:0 2px 6px #c0392b4d}.film-review{background-color:#e8e8e8;padding:1rem;border-left:4px solid var(--beige-fonce);margin:1rem 0;font-size:.9rem;line-height:1.6;font-style:italic;color:#444}.seances-programmees-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--beige-fonce)}.seances-programmees-section h3{color:var(--bleu-marine);font-size:1.8rem;margin-bottom:.5rem}.seances-intro{color:#666;font-size:1rem;margin-bottom:2rem;font-style:italic}.seances-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.seance-card{background-color:#f8f8f8;border-radius:var(--border-radius);padding:1rem;border:2px solid var(--beige-fonce);transition:var(--transition)}.seance-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026}.seance-content{display:flex;flex-direction:column;gap:1rem}.seance-poster{width:100%;height:200px;overflow:hidden;border-radius:var(--border-radius)}.seance-poster img{width:100%;height:100%;object-fit:cover}.seance-info h4{color:var(--bleu-marine);font-size:1.2rem;margin-bottom:.5rem}.seance-date,.seance-time,.seance-organizer{font-size:.9rem;color:#555;margin:.25rem 0}.seance-organizer{font-weight:600;color:var(--beige-fonce)}@media(max-width:768px){.activites-hero h1{font-size:2rem}.tabs{flex-direction:column;gap:0}.tab{border-bottom:1px solid var(--beige-fonce)}.film-header{flex-direction:column;align-items:center}.film-poster-small{width:100%;max-width:200px;height:300px}.search-input-container{flex-direction:column;align-items:stretch}.search-input-container .btn-primary{margin-left:0!important}.activites-personnalisables-grid{grid-template-columns:1fr}.section-title{font-size:1.8rem}.personnalisable-icon{font-size:3rem}}.activites-personnalisables-section{margin-bottom:4rem;padding:2rem 0}.activites-personnalisables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.activite-personnalisable-card{background:linear-gradient(135deg,beige,#e8e3d3);border:none;border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.activite-personnalisable-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #001f3f33}.personnalisable-icon{font-size:4rem;margin-bottom:1rem}.activite-personnalisable-card h3{color:var(--bleu-marine);font-size:1.5rem;margin-bottom:1rem;font-weight:700}.personnalisable-description{color:var(--bleu-marine);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.personnalisable-stats{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.personnalisable-stats span{color:var(--bleu-marine);font-size:.9rem;font-weight:600}.repas-eligibles{text-align:left;width:100%}.repas-eligibles strong{color:var(--bleu-marine);font-size:.95rem;display:block;margin-bottom:.5rem}.repas-eligibles ul{list-style:none;padding:0;margin:0}.repas-eligibles li{color:var(--bleu-marine);font-size:.85rem;padding:.25rem 0;opacity:.9}.badge-count{background:var(--beige);color:var(--bleu-marine);padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.btn-personnalisable{background:var(--bleu-marine);color:var(--blanc);border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #001f3f33}.btn-personnalisable:hover{background:#00274d;transform:scale(1.05);box-shadow:0 4px 12px #001f3f4d}.mes-propositions-section{margin-top:2rem;padding:2rem;background:#001f3f0d;border-radius:8px;border:2px solid var(--beige-fonce)}.mes-propositions-section h3{color:var(--bleu-marine);margin-bottom:1.5rem;font-size:1.3rem}.propositions-list{display:grid;gap:1rem}.mes-propositions-section .proposition-card{background:var(--blanc);padding:1.5rem;border-radius:8px;border:2px solid var(--beige-fonce);box-shadow:0 2px 8px #0000001a}.mes-propositions-section .proposition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.mes-propositions-section .badge-en_attente{background:#fef3c7;color:#92400e;padding:.4rem .875rem;border-radius:12px;font-size:.8rem;font-weight:600}.mes-propositions-section .badge-validee{background:#d1fae5;color:#065f46;padding:.4rem .875rem;border-radius:12px;font-size:.8rem;font-weight:600}.mes-propositions-section .badge-refusee{background:#fee2e2;color:#991b1b;padding:.4rem .875rem;border-radius:12px;font-size:.8rem;font-weight:600}.mes-propositions-section .date{color:var(--bleu-marine);font-size:.875rem;font-weight:500}.mes-propositions-section .proposition-body h4{color:var(--bleu-marine);margin:.5rem 0;font-size:1.15rem;font-weight:600}.mes-propositions-section .proposition-body p{color:#666;font-size:.9rem}.mes-propositions-section .badge-manual{background:#ede9fe;color:#6b21a8;padding:.3rem .6rem;border-radius:8px;font-size:.75rem;margin-left:.5rem;font-weight:600}.mes-propositions-section .proposition-actions{margin-top:1rem}.btn-danger-small{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-danger-small:hover{background:#dc2626}.mes-propositions-section .validation-message{background:#d1fae5;color:#065f46;padding:1rem;border-radius:8px;margin-top:1rem;font-size:.9rem;font-weight:500;border-left:4px solid #10b981}.mes-propositions-section .refus-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;margin-top:1rem;font-size:.9rem;font-weight:500;border-left:4px solid #ef4444}.propose-recipe-modal .stepper{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.propose-recipe-modal .stepper>div{flex:1;text-align:center;padding:.75rem;background:#ffffff1a;border-radius:4px;color:#ffffff80;font-size:.875rem;position:relative}.propose-recipe-modal .stepper>div.active{background:#3b82f64d;color:#fff;font-weight:600}.propose-recipe-modal .stepper>div.completed{background:#10b98133;color:#34d399}.select-meal-step .meals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.select-meal-step .meal-card{background:#ffffff1a;padding:1.5rem;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.select-meal-step .meal-card:hover{background:#3b82f633;transform:translateY(-2px)}.select-meal-step .meal-date{color:#fff;font-weight:600;margin-bottom:.5rem}.select-meal-step .meal-type{font-size:1.5rem;margin:.5rem 0}.select-meal-step .meal-servings{color:#ffffffb3;font-size:.875rem}.select-component-step .components-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;margin-bottom:2rem}.select-component-step .component-card{background:#ffffff1a;padding:2rem;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.select-component-step .component-card:hover{background:#3b82f633;transform:translateY(-2px)}.select-component-step .component-card .icon{font-size:3rem;margin-bottom:1rem}.select-component-step .component-card .label{color:#fff;font-weight:600;font-size:1.1rem}.manual-recipe-step .ingredient-row{display:grid;grid-template-columns:100px 120px 1fr 40px;gap:.5rem;margin-bottom:.5rem}.manual-recipe-step .ingredient-row input,.manual-recipe-step .ingredient-row select{padding:.5rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff1a;color:#fff}.manual-recipe-step .ingredient-row button{background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer}.manual-recipe-step .btn-add{background:#3b82f633;color:#fff;border:1px solid #3b82f6;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:.5rem}.confirmation-step .summary-card{background:#0000004d;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.confirmation-step .summary-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.confirmation-step .summary-row strong{color:#ffffffb3}.confirmation-step .summary-row span{color:#fff}.confirmation-step .ingredients-preview{background:#0000004d;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.confirmation-step .ingredients-preview h4{color:#fff;margin-bottom:.75rem}.confirmation-step .ingredients-preview ul{color:#fffc;padding-left:1.5rem}.confirmation-step .info-box{background:#3b82f61a;border-left:3px solid #3b82f6;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.confirmation-step .info-box p{color:#ffffffe6;margin:0;font-size:.875rem}.or-divider{text-align:center;margin:2rem 0;position:relative}.or-divider:before,.or-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#fff3}.or-divider:before{left:0}.or-divider:after{right:0}.or-divider span{background:var(--bleu-marine);padding:0 1rem;color:#fff9;font-weight:600}.activite-content .capacity-badge{font-size:.8rem;padding:.4rem .875rem}.info-item .capacity-badge{display:inline-flex}.activite-tournoi-banners{display:flex;flex-direction:column;gap:0}.activite-tournoi-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.625rem 1rem;border:none;cursor:pointer;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.activite-tournoi-banner.en_cours{background:linear-gradient(135deg,#059669,#047857);color:#fff}.activite-tournoi-banner.en_cours:hover{background:linear-gradient(135deg,#047857,#065f46)}.activite-tournoi-banner.publie{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.activite-tournoi-banner.publie:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.activite-tournoi-banner.brouillon{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.activite-tournoi-banner.brouillon:hover{background:linear-gradient(135deg,#b45309,#92400e)}.activite-tournoi-banner-name{font-weight:500;font-size:.8rem;text-transform:none;letter-spacing:0;opacity:.9}.activite-detail-tournois{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--beige-fonce)}.activite-detail-tournois h3{margin-bottom:1rem;color:var(--bleu-marine)}.activite-detail-tournois-list{display:flex;flex-direction:column;gap:.75rem}.activite-detail-tournoi-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.activite-detail-tournoi-btn.en_cours{background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 2px 8px #0596694d}.activite-detail-tournoi-btn.en_cours:hover{transform:translateY(-2px);box-shadow:0 4px 12px #05966966}.activite-detail-tournoi-btn.publie{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 8px #2563eb4d}.activite-detail-tournoi-btn.publie:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.activite-detail-tournoi-btn.brouillon{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 2px 8px #d977064d}.activite-detail-tournoi-btn.brouillon:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d9770666}.activite-detail-tournoi-status{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .625rem;background:#fff3;border-radius:4px;white-space:nowrap}.activite-detail-tournoi-name{flex:1;font-weight:600;font-size:1rem}.activite-detail-tournoi-arrow{font-size:.85rem;font-weight:500;opacity:.9;white-space:nowrap}.multi-room-selection,.participant-assignment{padding:2rem}.nombre-chambres-section{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}.nombre-chambres-section h3{margin-bottom:1rem;font-size:1.1rem;color:#2c3e50}.nombre-chambres-selector{display:flex;gap:1rem;flex-wrap:wrap}.nombre-chambres-btn{padding:.75rem 1.5rem;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s}.nombre-chambres-btn:hover{border-color:#3498db;background:#f0f8ff}.nombre-chambres-btn.selected{border-color:#3498db;background:#3498db;color:#fff;font-weight:600}.chambres-filters{margin-bottom:1.5rem;padding:1.25rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.filters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.filters-header h3{margin:0;font-size:.95rem;color:#2c3e50;font-weight:600}.filters-reset{padding:.35rem .75rem;border:1px solid #95a5a6;background:transparent;color:#95a5a6;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.filters-reset:hover{background:#95a5a6;color:#fff}.filters-row{display:flex;gap:1rem;flex-wrap:wrap}.filter-group{flex:1;min-width:160px}.filter-group label{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.3px}.filter-group select{width:100%;padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer;transition:border-color .2s;color:#2c3e50}.filter-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.no-results{padding:2rem;text-align:center;color:#7f8c8d;font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.selection-info{margin:1.5rem 0;padding:1rem;background:#e8f4f8;border-left:4px solid #3498db;border-radius:4px}.selection-info p{margin:.5rem 0;font-size:1rem}.selection-count{color:#3498db;font-weight:600}.error-message{padding:1rem;margin:1rem 0;background:#fee;border-left:4px solid #e74c3c;border-radius:4px;color:#c0392b}.chambres-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:2rem 0}.chambre-card-wide{border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:#fff;display:flex;flex-direction:column}.chambre-card-wide:hover:not(.disabled):not(.unavailable){border-color:#3498db;box-shadow:0 6px 20px #3498db26;transform:translateY(-3px)}.chambre-card-wide.selected{border-color:#3498db;box-shadow:0 6px 20px #3498db40}.chambre-card-wide.disabled{opacity:.45;cursor:not-allowed}.chambre-card-wide.unavailable{cursor:not-allowed}.chambre-card-wide.unavailable .chambre-photo-wide img{filter:grayscale(50%) brightness(.85)}.chambre-photo-wide{position:relative;width:100%;height:240px;overflow:hidden;background:#e9ecef}.chambre-photo-wide img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.chambre-card-wide:hover:not(.disabled):not(.unavailable) .chambre-photo-wide img{transform:scale(1.04)}.chambre-photo-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9ecef,#dee2e6)}.availability-badge{position:absolute;top:12px;left:12px;padding:5px 14px;border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;z-index:2}.badge-available{background:#27ae60;color:#fff}.badge-unavailable{background:#e74c3c;color:#fff}.selected-overlay{position:absolute;inset:0;background:#3498db40;display:flex;align-items:center;justify-content:center;z-index:1}.selected-check{width:48px;height:48px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 4px 12px #3498db66}.chambre-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}.chambre-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.chambre-header-row h4{margin:0;font-size:1.1rem;color:#2c3e50;display:flex;align-items:center;gap:.5rem}.chambre-capacite-badge{padding:4px 10px;background:#e8f4f8;color:#2980b9;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.chambre-meta-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.chambre-meta-tag{padding:3px 10px;background:#f1f3f5;color:#555;border-radius:4px;font-size:.8rem}.chambre-description{margin:.5rem 0 0;font-size:.85rem;color:#666;line-height:1.5}.badge-partageable{background:#e8e0f0;color:#6c5ce7;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;cursor:help}.unavailability-reason{margin-top:.75rem;padding:.6rem .75rem;background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px}.unavailability-text{font-size:.82rem;color:#856404;line-height:1.4}.dates-info{margin-bottom:1.5rem;padding:1rem;background:#e8f4f8;border-left:4px solid #3498db;border-radius:4px}.dates-info p{margin:0;font-size:.95rem;color:#2c3e50}.assignment-instruction{margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;color:#555}.participants-list{margin:2rem 0}.participant-assignment-row{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin-bottom:1rem;background:#fff;border:1px solid #ddd;border-radius:8px;gap:1rem}.participant-info{flex:1;display:flex;align-items:center;gap:.5rem}.badge-principal{background:#f39c12;color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.chambre-selector{flex:1;display:flex;align-items:center;gap:1rem}.chambre-select{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;cursor:pointer}.chambre-select:focus{outline:none;border-color:#3498db}.chambre-name-display{flex:1;color:#27ae60;font-weight:600}.chambres-summary{margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:8px}.chambres-summary h3{margin-bottom:1.5rem;color:#2c3e50}.chambre-summary-card{margin-bottom:1.5rem;padding:1rem;background:#fff;border-left:4px solid #3498db;border-radius:8px}.chambre-summary-card:last-child{margin-bottom:0}.chambre-summary-card h4{margin:0 0 .5rem;color:#2c3e50}.capacite-info{margin:.5rem 0;color:#3498db;font-weight:600}.participants-in-chambre{list-style:none;padding:0;margin:1rem 0 0}.participants-in-chambre li{padding:.5rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:4px}.participants-in-chambre li:last-child{margin-bottom:0}.no-participant{color:#95a5a6;font-style:italic}.form-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem;border-top:1px solid #ddd}.btn-secondary{padding:.75rem 1.5rem;border:2px solid #95a5a6;background:#fff;color:#95a5a6;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#95a5a6;color:#fff}.btn-primary{padding:.75rem 1.5rem;border:none;background:#3498db;color:#fff;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}@media(max-width:900px){.chambres-list{grid-template-columns:1fr}}@media(max-width:768px){.filters-row{flex-direction:column}.filter-group{min-width:100%}.chambres-list{grid-template-columns:1fr}.chambre-photo-wide{height:200px}.participant-assignment-row,.chambre-selector{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column}.form-actions button{width:100%}}.agenda-inscription{width:100%}.agenda-loading{text-align:center;padding:2rem;color:#666}.agenda-inscription-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:#f8f6f2;border-radius:var(--border-radius)}.agenda-filter-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--blanc);border:2px solid var(--beige);border-radius:20px;cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--bleu-marine)}.agenda-filter-chip:hover{border-color:var(--beige-fonce);background:var(--beige);color:var(--blanc)}.agenda-filter-chip.active{background:var(--bleu-marine);border-color:var(--bleu-marine);color:var(--blanc)}.agenda-filter-chip input[type=checkbox]{display:none}.agenda-inscription-legend{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:6px;color:var(--bleu-marine)}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-dot.incontournable{background:#e67e22}.legend-dot.inscrit{background:#27ae60}.legend-dot.optionnel{background:var(--beige)}.agenda-two-panel{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.agenda-panel-left{min-width:0}.agenda-panel-right{min-width:0;align-self:stretch}.agenda-sidebar-sticky{position:sticky;top:5.5rem;max-height:calc(100vh - 6.5rem);overflow-y:auto;background:#f8f6f2;border:2px solid var(--beige);border-radius:var(--border-radius);padding:1rem}.sidebar-title{font-family:var(--font-titres);font-size:1.1rem;font-weight:600;color:var(--bleu-marine);margin:0 0 .25rem}.sidebar-subtitle{font-size:.8rem;color:#888;margin:0 0 1rem}.sidebar-activities-list{display:flex;flex-direction:column;gap:.5rem}.sidebar-activity-card{background:var(--blanc);border:2px solid var(--beige);border-radius:var(--border-radius);padding:.75rem;cursor:grab;transition:var(--transition);-webkit-user-select:none;user-select:none}.sidebar-activity-card:hover{border-color:var(--bleu-marine);box-shadow:0 2px 8px #0000001a}.sidebar-activity-card:active{cursor:grabbing}.sidebar-activity-card.dragging{opacity:.5;border-color:var(--bleu-marine);background:#e8f4f8}.sidebar-activity-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-activity-header h4{margin:0;font-size:.9rem;color:var(--bleu-marine);font-family:var(--font-titres)}.sidebar-drag-handle{color:var(--beige-fonce);font-size:1rem;flex-shrink:0}.sidebar-activity-detail{font-size:.78rem;color:#777;margin-top:3px}.sidebar-drag-instruction{margin-top:1rem;padding:.75rem;background:#e8f4f8;border:1px solid var(--bleu-marine);border-radius:var(--border-radius);font-size:.85rem;color:var(--bleu-marine);line-height:1.4}.sidebar-cancel-drag{display:block;margin-top:.5rem;padding:4px 12px;background:transparent;border:1px solid var(--bleu-marine)!important;border-radius:4px;font-size:.8rem;color:var(--bleu-marine);cursor:pointer}.sidebar-cancel-drag:hover{background:var(--bleu-marine);color:var(--blanc)}.agenda-day-card{margin-bottom:1.5rem;border:2px solid var(--beige);border-radius:var(--border-radius);overflow:hidden}.agenda-day-header{display:flex;align-items:center;gap:12px;padding:1rem 1.25rem;background:var(--bleu-marine);color:var(--blanc)}.agenda-day-number{font-family:var(--font-titres);font-size:1.8rem;font-weight:700;line-height:1;min-width:45px;text-align:center}.agenda-day-label{flex:1}.agenda-day-label h3{font-family:var(--font-titres);font-size:1.1rem;font-weight:600;margin:0;text-transform:capitalize;color:var(--blanc)}.agenda-day-label p{font-size:.85rem;margin:2px 0 0;opacity:.8}.agenda-day-count{font-size:.8rem;padding:4px 10px;background:#ffffff26;border-radius:12px}.agenda-day-creneaux{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;background:var(--blanc)}.agenda-creneau-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--border-radius);transition:var(--transition);cursor:pointer}.agenda-creneau-item.incontournable{background:#fef5e7;border-left:4px solid #e67e22;cursor:default}.agenda-creneau-item.optionnel{background:#f8f6f2;border-left:4px solid var(--beige)}.agenda-creneau-item.optionnel:hover{background:#efeae0}.agenda-creneau-item.inscrit{background:#eafaf1;border-left:4px solid #27ae60}.agenda-creneau-item.inscrit:hover{background:#d5f5e3}.agenda-creneau-item.custom-slot{border-left:4px solid #2980b9;background:#eaf2f8}.agenda-creneau-time{min-width:90px;font-weight:600;font-size:.9rem;color:var(--bleu-marine)}.agenda-creneau-info{flex:1}.agenda-creneau-info h4{margin:0;font-size:1rem;color:var(--bleu-marine)}.agenda-creneau-info p{margin:2px 0 0;font-size:.85rem;color:#666}.cinema-film-details{font-size:.8rem!important;color:#555!important;line-height:1.4;font-style:italic}.agenda-creneau-lieu{font-size:.8rem;color:#888;margin-top:2px}.agenda-creneau-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.agenda-creneau-badge.incontournable{background:#e67e22;color:#fff}.agenda-creneau-badge.inscrit{background:#27ae60;color:#fff}.agenda-creneau-action{flex-shrink:0}.agenda-creneau-action button{padding:6px 14px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-inscrire{background:var(--bleu-marine);color:var(--blanc)}.btn-inscrire:hover{background:var(--bleu-marine-clair)}.btn-desinscrire{background:#e74c3c;color:#fff}.btn-desinscrire:hover{background:#c0392b}.agenda-creneau-choices{margin-top:8px}.agenda-choices-label{font-size:.85rem;color:#666;margin-bottom:6px}.agenda-choices-list{display:flex;flex-direction:column;gap:4px}.agenda-choice-btn{padding:6px 12px;border:2px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;text-align:left;font-size:.85rem;font-weight:400;color:#333;transition:all .15s}.agenda-choice-btn:hover{border-color:var(--beige-fonce);background:#f8f6f2}.agenda-choice-btn.chosen{border-color:#27ae60;background:#eafaf1;font-weight:600}.agenda-choice-btn.skip{border-style:dashed;color:#888;font-style:italic}.agenda-choice-btn.skip.chosen{border-color:var(--beige-fonce);background:#f8f6f2;color:#666}.agenda-choice-lieu{color:#888;margin-left:8px}.agenda-free-slot{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:2px dashed #ccc;border-radius:var(--border-radius);transition:all .2s ease;min-height:52px}.agenda-free-slot.droppable{border-color:var(--bleu-marine);background:#0a192908;cursor:pointer}.agenda-free-slot.drag-over{border-color:#27ae60;background:#27ae6014;border-style:solid;transform:scale(1.01)}.free-slot-time{min-width:90px;font-weight:500;font-size:.85rem;color:#aaa}.free-slot-label{flex:1;font-size:.85rem;color:#aaa;font-style:italic}.free-slot-drop-hint{color:var(--bleu-marine);font-weight:600;font-style:normal}.agenda-empty-state{text-align:center;padding:2rem;color:#999}.agenda-empty-day{padding:1.5rem;text-align:center;color:#999;font-style:italic;font-size:.9rem}.agenda-inscription-summary{margin-top:1.5rem;padding:1rem 1.25rem;background:#eafaf1;border:2px solid #27ae60;border-radius:var(--border-radius)}.agenda-inscription-summary h4{margin:0 0 .5rem;color:#27ae60;font-size:1rem}.agenda-inscription-summary ul{list-style:none;padding:0;margin:0}.agenda-inscription-summary li{padding:4px 0;font-size:.9rem;color:var(--bleu-marine)}.agenda-inscription-summary li:before{content:"* ";color:#27ae60;font-weight:700;margin-right:6px}.drag-ghost{display:none;position:fixed;top:-1000px;left:-1000px;padding:8px 16px;background:var(--bleu-marine);color:var(--blanc);border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap;pointer-events:none;z-index:10000}.activity-detail-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeInOverlay .2s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideInModal{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.activity-detail-modal{background:var(--blanc);border-radius:12px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideInModal .25s ease}.activity-detail-close{position:absolute;top:1rem;right:1rem;background:none;border:none!important;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.activity-detail-close:hover{background:#f0f0f0;color:#333}.activity-detail-title{font-family:var(--font-titres);font-size:1.4rem;color:var(--bleu-marine);margin:0 0 .25rem;padding-right:2rem}.activity-detail-date{font-size:.9rem;color:#888;margin:0 0 1rem;text-transform:capitalize}.activity-detail-description{font-size:.9rem;color:#555;line-height:1.5;margin:0 0 1.25rem}.activity-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.activity-detail-info-item{background:#f8f6f2;padding:.75rem;border-radius:var(--border-radius)}.activity-detail-info-label{display:block;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.activity-detail-info-value{display:block;font-size:.95rem;font-weight:600;color:var(--bleu-marine)}.activity-detail-link{margin-bottom:1.25rem}.activity-detail-link a{display:inline-flex;align-items:center;gap:4px;color:var(--bleu-marine);font-weight:600;font-size:.9rem;text-decoration:none;padding:.5rem 1rem;background:#e8f4f8;border-radius:var(--border-radius);transition:var(--transition)}.activity-detail-link a:hover{background:var(--bleu-marine);color:var(--blanc)}.activity-detail-time-section{border-top:1px solid #eee;padding-top:1.25rem;margin-bottom:1.5rem}.activity-detail-time-section h4{font-family:var(--font-titres);font-size:1.1rem;color:var(--bleu-marine);margin:0 0 1rem}.activity-detail-time-inputs{display:flex;align-items:flex-end;gap:.75rem}.activity-detail-time-field{flex:1}.activity-detail-time-field label{display:block;font-size:.8rem;color:#888;margin-bottom:4px;font-weight:600}.activity-detail-time-field input[type=time]{width:100%;padding:.6rem .75rem;border:2px solid var(--beige);border-radius:var(--border-radius);font-size:1rem;color:var(--bleu-marine);font-family:var(--font-texte)}.activity-detail-time-field input[type=time]:focus{border-color:var(--bleu-marine);outline:none}.activity-detail-time-separator{font-size:1.2rem;font-weight:600;color:#999;padding-bottom:.6rem}.activity-detail-error{color:#e74c3c;font-size:.85rem;margin-top:.5rem}.activity-detail-actions{display:flex;gap:.75rem;justify-content:flex-end}.activity-detail-actions .btn-secondary{padding:.6rem 1.25rem;background:transparent;border:2px solid var(--beige)!important;border-radius:var(--border-radius);color:var(--bleu-marine);font-weight:600;font-size:.9rem;cursor:pointer}.activity-detail-actions .btn-secondary:hover{background:#f8f6f2}.activity-detail-actions .btn-primary{padding:.6rem 1.25rem;background:var(--bleu-marine);border:none;border-radius:var(--border-radius);color:var(--blanc);font-weight:600;font-size:.9rem;cursor:pointer}.activity-detail-actions .btn-primary:hover{background:var(--bleu-marine-clair)}.activity-detail-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.agenda-creneau-participants{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.agenda-participant-tag{display:inline-block;padding:1px 8px;background:#0a192914;border-radius:10px;font-size:.75rem;color:var(--bleu-marine);font-weight:500}.agenda-creneau-inscriptions-detail{margin-top:8px;display:flex;flex-direction:column;gap:4px}.agenda-inscription-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.agenda-inscription-activity{font-size:.75rem;font-weight:600;color:var(--bleu-marine)}.agenda-choice-count{margin-left:4px;font-size:.8em;opacity:.7}.participant-modal-subtitle{font-size:.9rem;color:#888;margin:0 0 1.25rem}.participant-modal-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.participant-modal-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f6f2;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid transparent}.participant-modal-item:hover{background:#f0ede7}.participant-modal-item.checked{background:#e8f4f8;border-color:var(--bleu-marine)}.participant-modal-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--bleu-marine);cursor:pointer;flex-shrink:0}.participant-modal-name{font-size:.95rem;font-weight:500;color:var(--bleu-marine)}.participant-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.participant-modal-actions .btn-secondary{padding:.6rem 1.25rem;background:transparent;border:2px solid var(--beige)!important;border-radius:var(--border-radius);color:var(--bleu-marine);font-weight:600;font-size:.9rem;cursor:pointer}.participant-modal-actions .btn-secondary:hover{background:#f8f6f2}.participant-modal-actions .btn-primary{padding:.6rem 1.25rem;background:var(--bleu-marine);border:none;border-radius:var(--border-radius);color:var(--blanc);font-weight:600;font-size:.9rem;cursor:pointer}.participant-modal-actions .btn-primary:hover{background:var(--bleu-marine-clair)}.participant-modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.activity-detail-participants-section{border-top:1px solid #eee;padding-top:1.25rem;margin-bottom:1.5rem}.activity-detail-participants-section h4{font-family:var(--font-titres);font-size:1.1rem;color:var(--bleu-marine);margin:0 0 1rem}@media(max-width:900px){.agenda-two-panel{grid-template-columns:1fr}.agenda-panel-right{order:-1}.agenda-sidebar-sticky{position:static;max-height:none}}@media(max-width:768px){.agenda-creneau-item{flex-wrap:wrap;gap:.5rem}.agenda-creneau-time{min-width:auto}.agenda-creneau-action{width:100%}.agenda-creneau-action button{width:100%;text-align:center}.agenda-inscription-legend{flex-direction:column;gap:.5rem}.activity-detail-info-grid{grid-template-columns:1fr}.activity-detail-time-inputs{flex-direction:column;gap:.5rem}.activity-detail-time-separator{display:none}.activity-detail-actions{flex-direction:column}.activity-detail-actions button{width:100%;text-align:center}}.dietary-intro{color:#555;margin-bottom:1.5rem;line-height:1.6;font-size:.95rem}.dietary-list{margin-bottom:2rem}.dietary-list h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--bleu-marine)}.dietary-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background-color:#f8f5f0;border:1px solid var(--beige);border-radius:var(--border-radius);margin-bottom:.5rem}.dietary-item-content{flex:1}.dietary-item-message{font-weight:600;color:var(--bleu-marine);margin-bottom:.35rem}.dietary-item-persons{display:flex;flex-wrap:wrap;gap:.35rem}.dietary-person-tag{display:inline-block;padding:.15rem .5rem;background-color:var(--bleu-marine);color:#fff;border-radius:12px;font-size:.8rem;font-weight:500}.dietary-remove-btn{background:none;border:none;color:#dc3545;font-size:1.4rem;cursor:pointer;padding:0 .25rem;line-height:1;opacity:.7;transition:opacity .2s}.dietary-remove-btn:hover{opacity:1}.dietary-add-section{background-color:#f0f4f8;padding:1.25rem;border-radius:var(--border-radius);margin-bottom:2rem;border:1px solid #d0d8e0}.dietary-add-section h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--bleu-marine)}.dietary-input-row{margin-bottom:.75rem}.dietary-input{width:100%;padding:.75rem;border:2px solid var(--beige);border-radius:var(--border-radius);font-size:1rem;transition:border-color .2s}.dietary-input:focus{border-color:var(--bleu-marine);outline:none}.dietary-persons-select{padding-top:.5rem}.dietary-persons-label{font-weight:600;font-size:.9rem;color:var(--bleu-marine);margin-bottom:.5rem}.dietary-persons-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.dietary-person-checkbox{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.95rem;color:var(--bleu-marine)}.dietary-person-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--bleu-marine)}.dietary-add-btn{padding:.6rem 1.5rem;font-size:.95rem}.dietary-summary{margin-bottom:1.5rem}.dietary-summary h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--bleu-marine)}.dietary-summary-list{display:flex;flex-direction:column;gap:.5rem}.dietary-summary-person{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background-color:#fff;border:1px solid var(--beige);border-radius:var(--border-radius)}.dietary-summary-person.no-restriction{opacity:.75}.dietary-summary-name{font-weight:600;color:var(--bleu-marine);min-width:140px}.dietary-summary-prefs{display:flex;flex-wrap:wrap;gap:.35rem}.dietary-summary-tag{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.85rem;font-weight:500}.dietary-summary-tag.restriction{background-color:#e8d5b7;color:var(--bleu-marine)}.dietary-summary-tag.none{background-color:#e8f5e9;color:#2e7d32;font-style:italic}@media(max-width:768px){.dietary-summary-person{flex-direction:column;align-items:flex-start;gap:.35rem}.dietary-summary-name{min-width:auto}.dietary-persons-checkboxes{flex-direction:column;gap:.5rem}}.reservation{min-height:100vh;padding:2rem 0}.reservation h1{text-align:center;margin-bottom:2rem;color:var(--beige-fonce)}.steps-indicator{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0 3rem}.step-dot{width:40px;height:40px;border-radius:50%;background-color:var(--gris-clair);border:2px solid var(--beige-fonce);display:flex;align-items:center;justify-content:center;font-weight:600;color:#666;transition:var(--transition)}.step-dot.active{background-color:var(--bleu-marine);color:var(--blanc);border-color:var(--bleu-marine);transform:scale(1.2)}.step-dot.completed{background-color:var(--beige);border-color:var(--bleu-marine);color:var(--bleu-marine)}.form-step{max-width:800px;margin:0 auto;padding:2rem}.form-step.form-step-wide{max-width:1200px}.form-step h2,.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--bleu-marine);margin-bottom:.5rem}.form-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.chambres-list{display:grid;gap:1rem;margin-bottom:2rem}.chambre-option{padding:1.5rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background-color:var(--beige);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.chambre-option:hover{border-color:var(--bleu-marine);transform:translate(4px)}.chambre-option.selected{border:5px solid var(--bleu-marine);background-color:var(--beige);box-shadow:0 0 0 3px #0a192933;transform:scale(1.02)}.chambre-option.locked-by-other{border-color:#ff9800;background-color:#fff3e0}.chambre-option.reserved{border-color:#999;background-color:#f5f5f5}.chambre-option.disabled{cursor:not-allowed!important}.badge-selected{display:inline-block;padding:.25rem .5rem;background-color:#4caf50;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem}.badge-locked{display:inline-block;padding:.25rem .5rem;background-color:#ff9800;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem}.badge-reserved{display:inline-block;padding:.25rem .5rem;background-color:#999;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem}.reservation-timer{margin-bottom:1.5rem;padding:1rem;background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;font-size:.95rem;color:#1976d2}.chambre-info{flex:1}.chambre-option h3{margin-bottom:.5rem}.chambre-option p{margin:.25rem 0;color:#666}.chambre-photo{flex-shrink:0;width:120px;height:120px}.chambre-photo img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.activites-selection{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0}.activites-category-title{color:var(--bleu-marine);font-size:1.4rem;margin:1rem 0;padding-bottom:.5rem;border-bottom:2px solid var(--beige-fonce)}.activite-group{border:2px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1.5rem;background-color:var(--blanc)}.activite-group h4{color:var(--bleu-marine);margin-bottom:.5rem;font-size:1.2rem}.activite-description{color:#666;font-size:.95rem;margin-bottom:1rem;font-style:italic}.creneaux-list{display:flex;flex-direction:column;gap:.5rem;margin-left:1rem}.creneau-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:var(--border-radius);transition:var(--transition);background-color:var(--gris-clair);margin-bottom:.5rem}.creneau-option:hover{background-color:var(--beige-fonce);color:var(--blanc)}.creneau-option input{width:auto;cursor:pointer}.creneau-option span{flex:1}.creneau-option span strong{text-transform:capitalize;display:block;margin-bottom:.25rem}.activite-desc-inline{font-size:.9rem;color:#666}.activite-option{display:flex;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--beige-fonce);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.activite-option:hover{border-color:var(--bleu-marine)}.activite-option input{width:auto;cursor:pointer}.recapitulatif{display:flex;flex-direction:column;gap:1.5rem}.recap-section{padding:1.5rem;background-color:var(--gris-clair);border-radius:var(--border-radius)}.recap-section h3{margin-bottom:1rem;color:var(--bleu-marine)}.recap-section p{margin:.5rem 0}.recap-section ul{list-style:none;padding:0}.recap-section li{padding:.5rem 0;border-bottom:1px solid var(--beige-fonce)}.recap-section li:last-child{border-bottom:none}.recap-chambres-list{display:flex;flex-direction:column;gap:.75rem}.recap-chambre-card{background:var(--blanc);border:1px solid var(--beige-fonce);border-radius:var(--border-radius);padding:1rem 1.25rem}.recap-chambre-name{font-weight:700;font-size:1.05rem;color:var(--bleu-marine);margin-bottom:.35rem}.recap-chambre-details{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.85rem;color:#666;margin-bottom:.5rem}.recap-chambre-occupants{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.recap-occupant-tag{display:inline-block;padding:3px 10px;background:var(--beige);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--bleu-marine)}.recap-total-personnes{margin-top:.75rem;font-size:.9rem;font-weight:600;color:var(--bleu-marine)}.recap-planning{display:flex;flex-direction:column;gap:1.25rem}.recap-planning-day{border-left:3px solid var(--bleu-marine);padding-left:1rem}.recap-planning-day-header{font-weight:700;font-size:.95rem;color:var(--bleu-marine);text-transform:capitalize;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--beige-fonce)}.recap-planning-slots{display:flex;flex-direction:column;gap:.4rem}.recap-planning-slot{display:flex;align-items:flex-start;gap:1rem;padding:.5rem .75rem;background:var(--blanc);border-radius:6px;transition:background .15s ease}.recap-planning-slot:hover{background:#f0ede8}.recap-slot-time{min-width:90px;font-weight:600;font-size:.9rem;color:var(--bleu-marine);white-space:nowrap}.recap-slot-info{flex:1}.recap-slot-titre{font-weight:500;font-size:.9rem;color:var(--bleu-marine)}.recap-slot-lieu{font-size:.8rem;color:#888;margin-top:2px}.recap-activity-stats{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.recap-stat-badge{padding:4px 12px;border-radius:16px;font-size:.8rem;font-weight:600}.recap-stat-badge.incontournable{background:#fef5e7;color:#e67e22;border:1px solid #f0c78a}.recap-stat-badge.optionnel{background:#eafaf1;color:#27ae60;border:1px solid #8fd6b4}.recap-stat-badge.custom{background:#eaf2f8;color:#2980b9;border:1px solid #85c1e9}.recap-slot-incontournable{border-left:3px solid #e67e22;background:#fef5e7!important}.recap-slot-optionnel{border-left:3px solid #27ae60;background:#f0faf5!important}.recap-slot-custom{border-left:3px solid #2980b9;background:#eaf2f8!important}.recap-slot-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.recap-slot-badge.incontournable{background:#e67e22;color:#fff}.recap-slot-badge.custom{background:#2980b9;color:#fff}.recap-slot-participants{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.recap-participant-tag{display:inline-block;padding:1px 8px;background:#0a192914;border-radius:10px;font-size:.75rem;color:var(--bleu-marine);font-weight:500}.recap-recette-participant{margin-bottom:1rem;padding-left:1rem;border-left:3px solid #4CAF50}.recap-recette-participant h4{margin-bottom:.5rem;color:#4caf50}.recap-recette-participant ul{margin-top:.5rem}.success-step{text-align:center;padding:3rem}.success-step h2{color:#3c3;font-size:2rem;margin-bottom:1.5rem}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--blanc);padding:2rem;border-radius:var(--border-radius);max-width:500px;width:90%;box-shadow:0 8px 24px #0000004d}.modal-content h2{margin-bottom:1rem;color:var(--bleu-marine)}.modal-content p{margin-bottom:1.5rem;line-height:1.6;color:#333}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}@media(max-width:768px){.form-actions{flex-direction:column}.steps-indicator{gap:.5rem}.step-dot{width:35px;height:35px;font-size:.9rem}.modal-actions{flex-direction:column}.chambre-option{flex-direction:column;align-items:stretch}.chambre-photo{width:100%;height:200px}}.films-vod-section{margin-top:3rem;padding-top:2rem;border-top:3px solid var(--beige-fonce)}.films-vod-section h3{color:var(--bleu-marine);font-size:1.8rem;margin-bottom:.5rem;text-align:center}.films-intro{text-align:center;color:#666;font-size:1.1rem;margin-bottom:2rem;font-style:italic}.films-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}.film-card{background-color:var(--blanc);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 4px 12px #00000026;transition:var(--transition);border:2px solid var(--beige-fonce)}.film-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0003}.film-poster{position:relative;width:100%;height:400px;overflow:hidden;background-color:var(--gris-clair)}.film-poster img{width:100%;height:100%;object-fit:cover}.film-platform{position:absolute;top:10px;right:10px;background-color:var(--bleu-marine);color:var(--blanc);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 6px #0000004d}.film-info{padding:1.5rem}.film-info h4{color:var(--bleu-marine);font-size:1.3rem;margin-bottom:.25rem;line-height:1.3}.film-original-title{color:#888;font-size:.9rem;font-style:italic;margin-bottom:.75rem}.film-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--gris-clair)}.film-meta span{font-size:.9rem;color:#666;font-weight:600}.film-rating{color:#f39c12}.film-director,.film-genre,.film-cast{font-size:.95rem;margin:.5rem 0;color:#555}.film-director{font-weight:600;color:var(--beige-fonce)}.film-genre{font-style:italic;color:var(--bleu-marine)}.film-synopsis{margin:1rem 0;line-height:1.6;color:#333;font-size:.95rem}.film-review{background-color:var(--gris-clair);padding:1rem;border-left:4px solid var(--beige-fonce);margin:1rem 0;font-size:.9rem;line-height:1.6;font-style:italic;color:#444}.film-review strong{color:var(--bleu-marine);font-style:normal}.film-release{text-align:center;padding:.75rem;background-color:var(--beige);border-radius:var(--border-radius);margin-top:1rem;font-weight:600;color:var(--bleu-marine);font-size:.9rem}.nombre-personnes-selector{display:flex;align-items:center;justify-content:center;gap:2rem;margin:1.5rem 0}.nombre-personnes-btn{width:50px;height:50px;border-radius:50%;border:2px solid var(--bleu-marine);background-color:var(--blanc);color:var(--bleu-marine);font-size:1.5rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.nombre-personnes-btn:hover:not(:disabled){background-color:var(--beige-fonce);color:var(--blanc);transform:scale(1.1)}.nombre-personnes-btn:active:not(:disabled){transform:scale(.95)}.nombre-personnes-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--beige-fonce);color:var(--beige-fonce)}.nombre-personnes-display{font-size:2rem;font-weight:700;color:var(--blanc);background-color:var(--bleu-marine);min-width:60px;text-align:center;padding:.5rem 1rem;border-radius:8px}.mon-agenda{max-width:1400px;margin:0 auto;padding:20px}.agenda-header{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.agenda-header h1{margin:0 0 10px;font-size:2rem;color:#333}.agenda-header p{margin:0;color:#666;font-size:1.1rem}.agenda-filters{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}.filter-humeur{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f5f5;border:2px solid transparent;border-radius:20px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.filter-humeur:hover{background:#e8e8e8}.filter-humeur.active{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.filter-humeur input[type=checkbox]{margin:0}.agenda-main{display:grid;grid-template-columns:300px 1fr;gap:20px}.agenda-sidebar{display:flex;flex-direction:column;gap:20px}.agenda-actions-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.agenda-actions-card h3{margin:0 0 15px;font-size:1.1rem;color:#333}.agenda-actions-card button{width:100%;margin-bottom:10px}.agenda-activites-disponibles{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;max-height:calc(100vh - 400px)}.agenda-activites-disponibles h3{margin:0 0 15px;font-size:1.1rem;color:#333;position:sticky;top:0;background:#fff;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.activite-optionnelle-card{padding:15px;margin-bottom:12px;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;cursor:grab;transition:all .2s}.activite-optionnelle-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.activite-optionnelle-card:active{cursor:grabbing;opacity:.8}.activite-optionnelle-card h4{margin:0 0 8px;font-size:1rem;color:#333}.activite-optionnelle-card p{margin:0 0 8px;font-size:.9rem;color:#666}.activite-optionnelle-humeurs{display:flex;gap:6px;flex-wrap:wrap}.agenda-timeline{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.timeline-day{border-bottom:1px solid #e0e0e0;padding-bottom:30px;margin-bottom:30px}.timeline-day:last-child{border-bottom:none;margin-bottom:0}.timeline-day-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #2196f3}.timeline-day-date{font-size:2rem;font-weight:700;color:#2196f3;min-width:60px}.timeline-day-info{flex:1}.timeline-day-name{font-size:1.3rem;font-weight:600;color:#333;margin:0}.timeline-day-subtitle{font-size:.9rem;color:#666;margin:4px 0 0}.timeline-creneaux{display:flex;flex-direction:column;gap:15px}.timeline-creneau{display:flex;gap:20px;align-items:flex-start;padding:15px;border-radius:8px;transition:all .2s}.timeline-creneau.incontournable{background:#fff3e0;border-left:4px solid #ff9800}.timeline-creneau.optionnel{background:#e3f2fd;border-left:4px solid #2196f3}.timeline-creneau.inscrit{background:#e8f5e9;border-left:4px solid #4caf50}.timeline-creneau.drop-zone{background:#f5f5f5;border:2px dashed #bdbdbd;min-height:80px;display:flex;align-items:center;justify-content:center;color:#999;cursor:pointer}.timeline-creneau.drag-over{background:#e3f2fd;border-color:#2196f3}.timeline-time{min-width:100px;font-weight:600;color:#555;padding-top:2px}.timeline-content{flex:1}.timeline-content h4{margin:0 0 8px;font-size:1.1rem;color:#333}.timeline-content p{margin:0 0 8px;font-size:.9rem;color:#666}.timeline-badge{display:inline-block;padding:4px 12px;background:#ff9800;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.timeline-badge.inscrit{background:#4caf50}.timeline-actions{display:flex;gap:10px}.btn-small{padding:6px 12px;font-size:.85rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-small.btn-danger{background:#f44336;color:#fff}.btn-small.btn-danger:hover{background:#d32f2f}.agenda-footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.agenda-footer button{flex:1;padding:15px 30px;font-size:1.1rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:600}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#45a049}.empty-state{padding:60px 20px;text-align:center;color:#999}@media(max-width:992px){.agenda-main{grid-template-columns:1fr}.agenda-sidebar{order:2}.agenda-timeline{order:1}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--beige) 0%,var(--beige-fonce) 100%)}.login-container{width:100%;max-width:500px;padding:2rem}.login-card{padding:3rem;text-align:center}.login-card h1{margin-bottom:1rem}.login-card p{color:#666;margin-bottom:2rem}.login-card form{text-align:left}.login-card .form-group{margin-bottom:1.5rem}.login-card .form-group label{display:block;font-weight:600;color:var(--bleu-marine);margin-bottom:.5rem}.login-card button{width:100%;margin-top:1rem}.menu-render-controls{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:2rem;padding:1.5rem;background-color:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.menu-render-control-group{display:flex;flex-direction:column}.menu-render-preview{display:flex;justify-content:center;padding:2rem;background-color:#0000004d;border-radius:8px;min-height:400px}.menu-render-image{max-width:100%;max-height:800px;border-radius:4px;box-shadow:0 8px 32px #00000080}.menu-render-placeholder{display:flex;align-items:center;justify-content:center;color:#fff6;font-size:1.1rem;font-style:italic}@media(max-width:768px){.menu-render-controls{flex-direction:column;gap:1rem}.menu-render-preview{padding:1rem}.menu-render-image{max-height:500px}}.tournament-setup-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tournament-setup-modal{background:var(--blanc, #fff);border-radius:12px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tournament-setup-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--beige-fonce, #e8e0d4)}.tournament-setup-header h2{margin:0;color:var(--bleu-marine, #1a2a4a);font-size:1.3rem}.tournament-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.25rem;line-height:1;transition:color .2s}.tournament-close-btn:hover{color:#333}.tournament-setup-body{padding:2rem}.tournament-form-section{margin-bottom:2rem}.tournament-form-section h3{color:var(--bleu-marine, #1a2a4a);font-size:1.1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--beige-fonce, #e8e0d4)}.tournament-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.tournament-form-group{display:flex;flex-direction:column;gap:.4rem}.tournament-form-group label{font-weight:600;font-size:.9rem;color:var(--bleu-marine, #1a2a4a)}.tournament-form-group input,.tournament-form-group select{padding:.6rem .8rem;border:1.5px solid #d0d0d0;border-radius:8px;font-size:.95rem;transition:border-color .2s}.tournament-form-group input:focus,.tournament-form-group select:focus{outline:none;border-color:var(--bleu-marine, #1a2a4a)}.tournament-form-group small{color:#888;font-size:.8rem}.tournament-format-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.tournament-format-card{border:2px solid #e0e0e0;border-radius:10px;padding:1rem;cursor:pointer;text-align:center;transition:all .2s;background:#fff}.tournament-format-card:hover{border-color:var(--bleu-marine, #1a2a4a);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tournament-format-card.selected{border-color:var(--bleu-marine, #1a2a4a);background:#1a2a4a0d}.tournament-format-icon{font-size:1.8rem;margin-bottom:.5rem}.tournament-format-card h4{margin:0 0 .25rem;font-size:.9rem;color:var(--bleu-marine, #1a2a4a)}.tournament-format-card p{margin:0;font-size:.75rem;color:#888}.tournament-alert{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#664d03}.tournament-alert-icon{font-size:1.2rem;flex-shrink:0}.tournament-equipes-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.tournament-equipe-card{background:var(--gris-clair, #f5f5f5);border:1px solid #e0e0e0;border-radius:8px;padding:.75rem 1rem}.tournament-equipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tournament-equipe-header strong{color:var(--bleu-marine, #1a2a4a);font-size:.95rem}.tournament-equipe-name-input{padding:.3rem .5rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.85rem;width:180px}.tournament-equipe-joueurs{display:flex;flex-wrap:wrap;gap:.4rem}.tournament-joueur-tag{background:#fff;border:1px solid #d0d0d0;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;display:flex;align-items:center;gap:.4rem}.tournament-joueur-tag .remove-btn{background:none;border:none;cursor:pointer;color:#dc3545;font-size:1rem;padding:0;line-height:1}.tournament-joueur-select{padding:.3rem .5rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.85rem;margin-top:.4rem}.tournament-setup-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:2px solid var(--beige-fonce, #e8e0d4)}.tournament-btn{padding:.6rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.tournament-btn-secondary{background:#e0e0e0;color:#333}.tournament-btn-secondary:hover{background:#d0d0d0}.tournament-btn-primary{background:var(--bleu-marine, #1a2a4a);color:#fff}.tournament-btn-primary:hover{background:var(--bleu-canard, #1a5f7a);transform:translateY(-1px)}.tournament-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.tournament-btn-danger{background:#dc3545;color:#fff}.tournament-btn-danger:hover{background:#c82333}.tournament-btn-success{background:#28a745;color:#fff}.tournament-btn-success:hover{background:#218838}.tournament-mode-toggle{display:flex;gap:0;border:2px solid var(--bleu-marine, #1a2a4a);border-radius:8px;overflow:hidden;margin-bottom:1rem}.tournament-mode-toggle button{flex:1;padding:.6rem 1rem;border:none;background:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;color:var(--bleu-marine, #1a2a4a)}.tournament-mode-toggle button.active{background:var(--bleu-marine, #1a2a4a);color:#fff}@media(max-width:768px){.tournament-setup-modal{max-width:100%;margin:.5rem}.tournament-form-row,.tournament-format-cards{grid-template-columns:1fr}.tournament-setup-header,.tournament-setup-body,.tournament-setup-footer{padding:1rem}}.synthese-inscriptions{width:100%}.synthese-loading{padding:2rem;text-align:center;color:var(--bleu-marine);font-size:1.1rem}.synthese-error{padding:2rem;text-align:center;background:var(--blanc);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border-left:4px solid #dc3545}.synthese-error p{color:#dc3545;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.btn-retry{background-color:var(--bleu-marine);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .2s}.btn-retry:hover{background-color:var(--bleu-canard);transform:translateY(-2px)}.synthese-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.synthese-header h2{margin:0;color:var(--bleu-marine)}.btn-export{background-color:var(--bleu-marine);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .2s}.btn-export:hover{background-color:var(--bleu-canard);transform:translateY(-2px)}.synthese-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.synthese-stat-card{background:var(--blanc);text-align:center;padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.synthese-stat-card h3{font-size:1rem;color:var(--bleu-marine);margin-bottom:1rem}.synthese-stat-number{font-size:3rem;font-weight:700;color:var(--bleu-marine);font-family:var(--font-titres);margin:0}.synthese-no-data{background:var(--blanc);padding:2rem;text-align:center;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.synthese-no-data p{color:var(--bleu-marine);margin:0}.synthese-section{margin-bottom:3rem}.synthese-section h3{color:var(--bleu-marine);margin-bottom:1.5rem;font-size:1.5rem;border-bottom:2px solid var(--beige-fonce);padding-bottom:.5rem}.synthese-creneaux{display:flex;flex-direction:column;gap:1.5rem}.synthese-creneau-card{background:var(--blanc);padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.synthese-creneau-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--beige-fonce)}.synthese-creneau-header h4{margin:0;color:var(--bleu-marine);font-size:1.2rem;text-transform:capitalize}.synthese-creneau-activites{display:flex;flex-direction:column;gap:1rem}.synthese-activite-item{margin-bottom:0;padding:1rem;background-color:var(--gris-clair);border-radius:var(--border-radius);border:1px solid var(--beige-fonce)}.synthese-activite-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.synthese-activite-header strong{font-size:1.1rem;color:var(--bleu-marine)}.synthese-participant-count{background-color:var(--bleu-marine);color:var(--blanc);padding:.25rem .75rem;border-radius:15px;font-size:.9rem;font-weight:600}.synthese-participants-section{margin:.75rem 0}.synthese-section-title{display:block;font-size:.9rem;color:var(--gris-clair);margin-bottom:.5rem}.synthese-waitlist-section{border-top:1px solid var(--gris-fonce);padding-top:.75rem;margin-top:.75rem}.synthese-capacity-info{background-color:#3498db33;padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:600;color:#3498db;margin-right:.5rem}.synthese-participants-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.synthese-participants-list.synthese-waitlist{grid-template-columns:1fr}.synthese-participants-list li{padding:.5rem .75rem;background-color:var(--blanc);border-radius:var(--border-radius);font-size:.95rem;color:var(--bleu-marine);border-left:3px solid var(--beige-fonce)}.synthese-participant-confirme{background-color:#2ecc7126;border-left:3px solid #2ecc71}.synthese-participant-attente{background-color:#f1c40f26;border-left:3px solid #f1c40f;display:flex;align-items:center;gap:.5rem}.waitlist-order{font-weight:700;color:#f39c12;min-width:1.5rem}.synthese-activites-sans-creneaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.synthese-activite-card{background:var(--blanc);padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.synthese-tournoi-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #ccc;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.synthese-tournoi-existing{display:flex;flex-wrap:wrap;gap:.4rem}.synthese-tournoi-badge{display:inline-block;padding:.3rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.synthese-tournoi-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.synthese-tournoi-badge.brouillon{background:#e0e0e0;color:#555}.synthese-tournoi-badge.publie{background:#d4edda;color:#155724}.synthese-tournoi-badge.en_cours{background:#cce5ff;color:#004085}.synthese-tournoi-badge.termine{background:#e2e3e5;color:#383d41}.synthese-tournoi-btn{background:var(--bleu-marine, #1a2a4a);color:#fff;border:none;padding:.35rem .9rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.synthese-tournoi-btn:hover{background:var(--bleu-canard, #1a5f7a);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}@media(max-width:768px){.synthese-header{flex-direction:column;align-items:flex-start;gap:1rem}.synthese-stats-grid,.synthese-participants-list,.synthese-activites-sans-creneaux{grid-template-columns:1fr}.synthese-activite-header{flex-direction:column;align-items:flex-start}}.calendrier-admin{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:600px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.calendrier-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:#fafafa}.calendrier-header h2{margin:0;font-size:1.5rem;color:#333}.calendrier-actions{display:flex;gap:10px}.calendrier-main{display:flex;flex:1;overflow:hidden}.calendrier-sidebar{width:280px;border-right:1px solid #e0e0e0;background:#fafafa;overflow-y:auto;padding:20px}.calendrier-sidebar h3{margin:0 0 15px;font-size:1.1rem;color:#333}.activites-toujours-ouvertes{margin-bottom:30px;padding:15px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.activites-toujours-ouvertes h4{margin:0 0 10px;font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.activite-toujours-ouverte-item{padding:10px;margin-bottom:8px;background:#e8f5e9;border-radius:4px;font-size:.9rem;color:#2e7d32;border-left:3px solid #4caf50}.activite-toujours-ouverte-item strong{display:block;margin-bottom:4px}.activite-toujours-ouverte-item small{color:#558b2f}.activites-disponibles{display:flex;flex-direction:column;gap:10px}.activite-draggable{padding:12px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:grab;transition:all .2s}.activite-draggable:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-2px)}.activite-draggable:active{cursor:grabbing;opacity:.8}.activite-draggable-title{font-weight:600;color:#333;margin-bottom:4px}.activite-draggable-meta{font-size:.85rem;color:#666}.activite-humeurs{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.humeur-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0f0f0;border-radius:12px;font-size:.75rem;color:#666}.calendrier-grid-container{flex:1;overflow:auto;position:relative}.calendrier-grid{display:grid;min-width:800px}.calendrier-day-header{padding:15px 10px;text-align:center;border-bottom:2px solid #e0e0e0;background:#fafafa;position:sticky;top:0;z-index:10}.calendrier-day-header.time-col{border-right:1px solid #e0e0e0}.calendrier-day-name{font-weight:600;color:#333;font-size:.9rem}.calendrier-day-date{font-size:.75rem;color:#666;margin-top:4px}.calendrier-time-slot{border-right:1px solid #e0e0e0;border-bottom:1px solid #f0f0f0;min-height:60px;position:relative}.calendrier-time-slot.time-col{padding:8px 5px;text-align:right;font-size:.75rem;color:#666;background:#fafafa}.calendrier-time-slot.droppable{cursor:pointer;transition:background .2s}.calendrier-time-slot.droppable:hover{background:#f5f5f5}.calendrier-time-slot.drag-over{background:#e3f2fd;border:2px dashed #2196f3}.creneau-card{position:absolute;left:2px;right:2px;padding:8px;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.creneau-card:hover{box-shadow:0 2px 8px #0003;z-index:5}.creneau-card.incontournable{background:#e8f5e9;border-left:3px solid #4caf50}.creneau-card.optionnel{background:#e1f5fe;border-left:3px solid #0288d1}.creneau-card.preparation{background:#f3e5f5;border-left:3px solid #8e24aa}.creneau-title{font-weight:600;margin-bottom:4px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creneau-time{font-size:.75rem;color:#666;margin-bottom:2px}.creneau-lieu{font-size:.75rem;color:#666;font-style:italic}.creneau-participants{font-size:.75rem;color:#666;margin-top:4px}.creneau-multi-activites{font-size:.7rem;color:#1565c0;font-weight:600;margin-top:2px}.btn-create-activite{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-create-activite:hover{background:#45a049}.empty-state{padding:40px;text-align:center;color:#999}.gestion-emails-quotidiens{padding:2rem 0}.gestion-emails-quotidiens h2{color:#fff;margin-bottom:.5rem}.gestion-emails-quotidiens .section-description{color:#ffffffa6;font-size:.95rem;margin-bottom:2rem;line-height:1.6}.daily-emails-stats{margin-bottom:2rem}.daily-emails-stats .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.daily-emails-stats .stat-item{text-align:center;padding:1rem}.daily-emails-stats .stat-value{font-size:2rem;font-weight:700;color:var(--bleu-marine);font-family:var(--font-titres)}.daily-emails-stats .stat-label{font-size:.85rem;color:#6b7280;margin-top:.25rem}.daily-emails-actions{margin-bottom:2rem;padding:1.5rem}.daily-emails-actions h3{margin:0 0 .5rem;color:var(--bleu-marine);font-size:1.1rem}.daily-emails-actions .form-help{color:#6b7280;font-size:.9rem;margin-bottom:1rem}.actions-row{display:flex;gap:1rem;flex-wrap:wrap}.generation-progress{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;background:#eff6ff;border-radius:6px;border-left:4px solid #3b82f6;color:#1e40af;font-size:.9rem}.spinner{width:20px;height:20px;border:3px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.daily-emails-list{display:flex;flex-direction:column;gap:.5rem}.daily-email-card{background:#fff;border-radius:8px;overflow:hidden;transition:box-shadow .2s;border-left:4px solid #d1d5db}.daily-email-card:hover{box-shadow:0 2px 8px #00000014}.daily-email-card.brouillon{border-left-color:#6b7280}.daily-email-card.envoye{border-left-color:#10b981}.daily-email-card.erreur{border-left-color:#ef4444}.daily-email-card.today{border-left-color:#3b82f6;box-shadow:0 0 0 1px #93c5fd}.daily-email-card.past:not(.envoye){opacity:.7}.daily-email-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background-color .15s}.daily-email-header:hover{background-color:#f9fafb}.daily-email-date{display:flex;align-items:center;gap:.75rem}.date-text{font-weight:600;color:#1f2937;font-size:.95rem;text-transform:capitalize}.badge-today{display:inline-block;padding:.2rem .6rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.badge-modified{display:inline-block;padding:.2rem .6rem;background:#fef3c7;color:#92400e;border-radius:4px;font-size:.75rem;font-weight:600}.daily-email-meta{display:flex;align-items:center;gap:.75rem}.email-count{font-size:.85rem;color:#6b7280}.expand-icon{color:#9ca3af;font-size:.75rem}.daily-email-body{padding:0 1.25rem 1.25rem;border-top:1px solid #f3f4f6}.daily-email-preview{white-space:pre-wrap;word-wrap:break-word;font-family:Georgia,Times New Roman,Times,serif;font-size:.9rem;line-height:1.7;color:#374151;background:#f9fafb;padding:1.25rem;border-radius:6px;border:1px solid #e5e7eb;margin:1rem 0;max-height:400px;overflow-y:auto}.daily-email-footer{display:flex;gap:1.5rem;margin-bottom:.75rem}.generation-date,.send-date{font-size:.8rem;color:#9ca3af}.daily-email-actions{display:flex;gap:.75rem;padding-top:.5rem}.daily-email-editor{margin-top:1rem}.daily-email-textarea{width:100%;padding:1rem;font-family:Georgia,Times New Roman,Times,serif;font-size:.9rem;line-height:1.7;color:#374151;border:2px solid #d1d5db;border-radius:6px;resize:vertical;transition:border-color .2s;background:#fff}.daily-email-textarea:focus{outline:none;border-color:#3b82f6}.editor-actions{display:flex;gap:.75rem;margin-top:.75rem}.badge-danger{background-color:#ef4444;color:#fff}.alert{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem}.alert p{margin:0;font-size:.9rem}.alert button{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem .5rem;opacity:.7}.alert button:hover{opacity:1}.alert-error{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b}.alert-success{background:#f0fdf4;border-left:4px solid #10b981;color:#065f46}@media(max-width:768px){.daily-emails-stats .stats-grid{grid-template-columns:repeat(2,1fr)}.daily-email-header{flex-direction:column;align-items:flex-start;gap:.5rem}.daily-email-meta{width:100%;justify-content:flex-start}.actions-row{flex-direction:column}.actions-row button{width:100%}.daily-email-actions{flex-direction:column}.daily-email-actions button{width:100%}.daily-email-footer{flex-direction:column;gap:.25rem}}.cardex-modal{background:#fff;border-radius:12px;width:95%;max-width:1100px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 60px #0006;transition:max-width .3s ease}.cardex-modal-wide{max-width:1400px}.cardex-header{background:var(--bleu-marine);color:#fff;padding:1.5rem 2rem;border-bottom:3px solid var(--beige)}.cardex-header-top{display:flex;justify-content:space-between;align-items:flex-start}.cardex-header h2{margin:0;font-size:1.5rem;color:var(--beige);letter-spacing:.15em;font-family:var(--font-titres)}.cardex-subtitle{margin:.25rem 0 0;font-size:.85rem;opacity:.7;font-style:italic}.cardex-close-btn{background:none;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;font-weight:700;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.cardex-close-btn:hover{background:#ffffff26;border-color:#fff}.cardex-guest-info{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.15)}.cardex-guest-name{font-size:1.2rem;font-weight:700;color:#fff}.cardex-header-actions{display:flex;align-items:center;gap:.75rem}.btn-prefill{padding:.4rem 1rem;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.35);border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-prefill:hover:not(:disabled){background:#ffffff38;border-color:#fff}.btn-prefill:disabled{opacity:.5;cursor:not-allowed}.cardex-progress{font-size:.8rem;background:#ffffff1a;padding:.35rem .75rem;border-radius:12px;color:var(--beige);white-space:nowrap}.cardex-loading{padding:4rem;text-align:center;color:#6b7280;font-size:1.1rem}.cardex-body{display:flex;flex:1;overflow:hidden;min-height:0}.cardex-nav{width:260px;min-width:260px;background:#f8f9fa;border-right:1px solid #e5e7eb;overflow-y:auto;padding:.5rem 0}.cardex-nav-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;border:none;background:none;cursor:pointer;text-align:left;transition:all .15s;font-size:.8rem;color:#4b5563;border-left:3px solid transparent}.cardex-nav-item:hover{background:#e5e7eb}.cardex-nav-item.active{background:#fff;border-left-color:var(--bleu-marine);color:var(--bleu-marine);font-weight:600}.cardex-nav-item.has-data .nav-number{background:#10b981;color:#fff}.nav-number{width:24px;height:24px;border-radius:50%;background:#d1d5db;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{background:var(--beige);color:var(--bleu-marine);padding:.15rem .4rem;border-radius:8px;font-size:.65rem;font-weight:700;flex-shrink:0}.cardex-content{flex:1;overflow-y:auto;padding:2rem}.cardex-section-title{margin:0 0 1.5rem;font-size:1.3rem;color:var(--bleu-marine);border-bottom:2px solid var(--beige);padding-bottom:.75rem;font-family:var(--font-titres)}.cardex-fields{display:flex;flex-direction:column;gap:1.25rem}.cardex-field label{display:block;font-weight:600;color:var(--bleu-marine);margin-bottom:.4rem;font-size:.9rem}.cardex-field input[type=text],.cardex-field input[type=date],.cardex-field textarea{width:100%;padding:.7rem .85rem;border:1.5px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s,box-shadow .2s;font-family:var(--font-texte)}.cardex-field input[type=text]:focus,.cardex-field input[type=date]:focus,.cardex-field textarea:focus{outline:none;border-color:var(--bleu-marine);box-shadow:0 0 0 3px #0a19291a}.cardex-field textarea{resize:vertical;min-height:70px}.cardex-nav-buttons{display:flex;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.cardex-spacer{flex:1}.btn-nav-prev,.btn-nav-next{padding:.6rem 1.25rem;border:2px solid var(--beige-fonce);border-radius:6px;background:#fff;color:var(--bleu-marine);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-nav-prev:hover,.btn-nav-next:hover{background:var(--beige);border-color:var(--bleu-marine)}.cardex-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem 2rem;border-top:2px solid #e5e7eb;background:#f9fafb}.btn-save-cardex{padding:.75rem 2rem;background:var(--bleu-marine);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-save-cardex:hover:not(:disabled){background:var(--bleu-marine-clair);transform:translateY(-1px);box-shadow:0 4px 12px #0a19294d}.btn-save-cardex:disabled{opacity:.6;cursor:not-allowed}.btn-save-cardex.success{background:#10b981}.historique-table-wrapper{overflow-x:auto;margin-bottom:1.5rem;border:2px solid var(--beige-fonce);border-radius:10px;background:var(--beige)}.historique-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:1000px}.historique-table thead{background:var(--bleu-marine);color:var(--beige);position:sticky;top:0;z-index:1}.historique-table th{padding:.75rem .65rem;text-align:left;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-right:1px solid rgba(255,255,255,.12)}.historique-table th:last-child{border-right:none}.historique-th-sejour{min-width:140px;width:140px}.historique-th-dates{min-width:145px;width:145px}.historique-table tbody tr{border-bottom:1px solid var(--beige-fonce);transition:background .15s}.historique-table tbody tr:last-child{border-bottom:none}.historique-table tbody tr:nth-child(odd){background:var(--beige)}.historique-table tbody tr:nth-child(2n){background:#e8dcc8}.historique-table tbody tr:hover{background:#ded0b4}.historique-td-sejour{padding:.65rem;vertical-align:top}.historique-code{display:block;font-weight:800;color:var(--bleu-marine);font-size:.85rem;margin-bottom:3px;letter-spacing:.02em}.historique-nom{display:block;font-size:.78rem;color:var(--bleu-marine);opacity:.65;line-height:1.3}.historique-td-dates{padding:.65rem;vertical-align:top;font-size:.82rem;color:var(--bleu-marine);white-space:nowrap;font-weight:500}.historique-td-editable{padding:.35rem;vertical-align:top}.historique-cell-input{width:100%;padding:.5rem .55rem;border:1.5px solid transparent;border-radius:5px;font-size:.84rem;font-family:var(--font-texte);color:var(--bleu-marine);background:transparent;resize:vertical;min-height:56px;transition:border-color .15s,background .15s,box-shadow .15s;line-height:1.45}.historique-cell-input:hover{background:#fff9;border-color:var(--beige-fonce)}.historique-cell-input:focus{outline:none;background:#ffffffd9;border-color:var(--bleu-marine);box-shadow:0 0 0 2px #0a19291a}.historique-extra-fields{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.25rem}.historique-loading{padding:2.5rem;text-align:center;color:var(--bleu-marine);opacity:.6;font-size:1rem}.historique-empty{padding:2.5rem;text-align:center;color:var(--bleu-marine);opacity:.55;background:var(--beige);border-radius:10px;border:2px dashed var(--beige-fonce);margin-bottom:1.5rem}.historique-empty p{margin:.3rem 0;font-size:.92rem}@media(max-width:768px){.cardex-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0}.cardex-body{flex-direction:column}.cardex-nav{width:100%;min-width:100%;max-height:140px;border-right:none;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:.5rem;gap:.25rem}.cardex-nav-item{flex-direction:column;padding:.5rem;min-width:70px;text-align:center;border-left:none;border-bottom:3px solid transparent;font-size:.7rem;gap:.25rem}.cardex-nav-item.active{border-bottom-color:var(--bleu-marine);border-left-color:transparent}.nav-label{white-space:normal;font-size:.65rem;line-height:1.2}.cardex-content{padding:1.25rem}.cardex-header,.cardex-footer{padding:1rem 1.25rem}.cardex-guest-info{flex-direction:column;gap:.5rem;align-items:flex-start}.cardex-modal-wide{max-width:100%}.historique-table{min-width:800px;font-size:.82rem}.historique-table th{padding:.6rem .45rem;font-size:.72rem}.historique-cell-input{min-height:48px;font-size:.8rem;padding:.4rem}.historique-td-sejour{padding:.5rem}.historique-td-dates{padding:.5rem;font-size:.78rem}}.invites-stats{display:flex;gap:.75rem}.stat-pill{background:#ffffff26;color:#fff;padding:.5rem 1.25rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.25)}.invites-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.invites-search-input{flex:1;padding:.7rem 1rem;border:2px solid rgba(255,255,255,.2);border-radius:var(--border-radius);background:#ffffff14;color:#fff;font-size:.9rem;transition:var(--transition)}.invites-search-input::placeholder{color:#ffffff73}.invites-search-input:focus{outline:none;border-color:var(--beige);background:#ffffff1f}.search-results-count{color:#fff9;font-size:.8rem;white-space:nowrap}.btn-init-historique{padding:.6rem 1.25rem;background:#ffffff1a;color:#fff;border:1.5px solid rgba(255,255,255,.3);border-radius:6px;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-init-historique:hover:not(:disabled){background:#fff3;border-color:#fff}.btn-init-historique:disabled{opacity:.5;cursor:not-allowed}.btn-merge{padding:.6rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-merge:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 8px #dc262666}.btn-merge:disabled{opacity:.6;cursor:not-allowed}.invites-table-container{background:var(--beige);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--box-shadow);overflow-x:auto;border:2px solid var(--blanc)}.invites-table{width:100%;border-collapse:collapse}.invites-table th,.invites-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--blanc);font-size:.82rem;vertical-align:middle}.invites-table th{background-color:var(--beige-fonce);color:var(--blanc);font-weight:600;white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.invites-table tbody tr{transition:background-color .15s}.invites-table tbody tr:hover{background-color:var(--beige-fonce)}.invites-table tbody tr.row-selected{background-color:#3b82f614}.col-check{width:32px;text-align:center!important}.col-check input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--bleu-marine)}.invite-name-cell{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--bleu-marine);white-space:nowrap}.cardex-dot{width:7px;height:7px;border-radius:50%;background-color:#10b981;flex-shrink:0}.invite-phone-cell{white-space:nowrap;color:var(--bleu-marine);font-size:.8rem}.invite-email-cell{color:var(--bleu-marine);font-size:.78rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-cardex{width:70px;text-align:center!important}.invite-cardex-cell{text-align:center;white-space:nowrap}.invite-sejours-cell{min-width:120px}.sejours-chips{display:flex;flex-wrap:nowrap;gap:.3rem;align-items:center}.sejour-chip{display:inline-flex;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;line-height:1.3;cursor:help;transition:transform .15s;white-space:nowrap;flex-shrink:0}.sejour-chip:hover{transform:scale(1.05)}.sejour-chip.future{background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.sejour-chip.past{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.chip-code{font-weight:700;font-family:Courier New,monospace;letter-spacing:.03em;font-size:.68rem}.no-sejour{color:#9ca3af;font-size:.8rem}.btn-cardex{padding:.35rem .85rem;border:1.5px solid var(--bleu-marine);border-radius:4px;background:var(--blanc);color:var(--bleu-marine);font-weight:600;font-size:.78rem;cursor:pointer;transition:all .2s}.btn-cardex:hover{background:var(--bleu-marine);color:var(--blanc);transform:translateY(-1px);box-shadow:0 2px 6px #0a19294d}.btn-cardex.has-data{background:var(--bleu-marine);color:var(--beige);border-color:var(--bleu-marine)}.btn-cardex.has-data:hover{background:var(--bleu-marine-clair);color:var(--blanc)}@media(max-width:1024px){.invites-table-container{overflow-x:scroll}.invites-table th,.invites-table td{padding:.5rem;font-size:.8rem}}@media(max-width:768px){.invites-toolbar{flex-wrap:wrap}.invites-search-input{min-width:200px}.search-results-count{text-align:right}}.admin{min-height:100vh;background-color:var(--bleu-marine)}.admin-header{background-color:var(--bleu-marine);color:var(--blanc);padding:2rem;text-align:center;border-bottom:3px solid var(--blanc)}.admin-header h1{color:var(--beige);margin-bottom:.5rem}.admin-header p{margin:0;opacity:.9;color:var(--blanc)}.admin-sejour-selector{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--blanc)}.sejour-info{display:flex;align-items:center;gap:1rem}.sejour-info label{color:#fff;font-weight:600;font-size:1.1rem}.sejour-info select{padding:.75rem 1.5rem;font-size:1rem;border:2px solid white;border-radius:6px;background:#fff;color:#0a1929;cursor:pointer;min-width:400px;font-weight:500}.sejour-info select:disabled{opacity:.6;cursor:not-allowed}.sejour-info select optgroup{font-weight:700;font-style:normal;color:#495057;background-color:#f8f9fa;padding:.5rem 0;font-size:.95rem}.sejour-info select option{padding:.5rem 1rem;color:#212529;font-weight:500}.sejour-info select option:hover{background-color:#e9ecef}.sejour-badge{background:#fff3;padding:.75rem 1.5rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.sejour-badge strong{color:#fff;font-size:1.2rem;font-family:Courier New,monospace;letter-spacing:.1em;margin-right:.5rem}.sejour-badge{color:#ffffffe6;font-size:1rem}.admin-tabs{background-color:var(--bleu-marine-clair);display:flex;align-items:stretch;gap:0;border-bottom:3px solid var(--blanc);padding:0 1rem}.admin-tabs .tab{padding:1rem 1.15rem;background:none;border:none;font-size:.88rem;font-weight:600;color:var(--beige-fonce);cursor:pointer;border-bottom:3px solid transparent;transition:var(--transition);margin-bottom:-3px;white-space:nowrap}.admin-tabs .tab:hover{color:var(--blanc);background-color:var(--bleu-marine)}.admin-tabs .tab.active{border-bottom-color:var(--blanc);background-color:var(--beige-fonce);color:#fff}.tab-separator{width:1px;background:#fff3;margin:.6rem .25rem;flex-shrink:0}.admin-content{padding:2rem;min-height:60vh}.communication-separator{height:2px;background:#ffffff26;margin:3rem 0}@media(max-width:768px){.admin-tabs{flex-direction:column;padding:0}.admin-tabs .tab{border-bottom:1px solid var(--beige-fonce);border-left:3px solid transparent;padding:.85rem 1.25rem;font-size:.9rem}.admin-tabs .tab.active{border-bottom-color:var(--beige);border-left-color:var(--blanc);color:#fff}.tab-separator{width:auto;height:1px;margin:0;background:#ffffff26}}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.code-validation-modal{background:#fff;padding:2.5rem;border-radius:12px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.code-validation-modal h2{margin:0 0 1rem;color:#0a1929;font-size:1.75rem;font-weight:700;text-align:center}.modal-message{margin-bottom:2rem;color:#5a6c7d;text-align:center;line-height:1.6;font-size:1rem}.code-validation-form{display:flex;flex-direction:column;gap:1.5rem}.code-input-wrapper{position:relative}.code-input{width:100%;padding:1rem;font-size:1.25rem;font-weight:600;letter-spacing:.1em;text-align:center;border:2px solid #cbd5e0;border-radius:8px;text-transform:uppercase;font-family:Courier New,monospace;transition:all .2s ease;box-sizing:border-box}.code-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.code-input.error{border-color:#e53e3e}.code-counter{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#a0aec0;font-size:.875rem;font-weight:500;pointer-events:none}.error-message{background-color:#fff5f5;color:#c53030;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;border-left:4px solid #e53e3e;margin:0}.modal-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.modal-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-actions .btn-secondary{background:transparent;color:#667eea;border:2px solid #667eea}.modal-actions .btn-secondary:hover:not(:disabled){background:#f7fafc}.modal-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.code-validation-modal{padding:2rem 1.5rem}.code-validation-modal h2{font-size:1.5rem}.modal-message{font-size:.9375rem}.code-input{font-size:1.125rem;padding:.875rem}}.infos-sejour{min-height:100vh}.infos-sejour-hero{background:linear-gradient(#0a192980,#0a192980),url(https://images.pexels.com/photos/258154/pexels-photo-258154.jpeg?auto=compress&cs=tinysrgb&w=1920) center/cover;height:300px;display:flex;align-items:center;justify-content:center;color:var(--blanc);text-align:center}.infos-sejour-hero h1{color:var(--blanc);font-size:2.5rem}.infos-sejour-hero p{color:var(--blanc);font-size:1.2rem;margin-top:.5rem}.infos-sejour .container{max-width:1200px;margin:0 auto;padding:2rem}.infos-sejour section{margin:3rem 0;padding:2rem 0}.infos-sejour section:not(:last-child){border-bottom:3px solid var(--beige-fonce);padding-bottom:3rem}.section-title{font-size:2.2rem;color:var(--blanc);margin-bottom:2rem;text-align:center;font-weight:700}.error-container{max-width:600px;margin:4rem auto;padding:3rem;text-align:center}.error-container h2{color:var(--blanc);margin-bottom:1rem;font-size:1.75rem}.error-container p{color:var(--gris-clair);margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.error-container .btn-primary{padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all .2s ease}.error-container .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.infos-sejour section h3{font-size:1.5rem;color:var(--bleu-marine);margin-bottom:1.5rem;margin-top:2rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{text-align:center}.stat-card h3{font-size:1rem;color:var(--bleu-marine);margin:0 0 .75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:none;padding:0}.stat-number{font-size:2.5rem;font-weight:700;color:var(--bleu-marine);margin:0}.reservations-table{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow);overflow-x:auto;border:2px solid var(--blanc);transition:var(--transition)}.reservations-table table{width:100%;border-collapse:collapse;min-width:800px}.reservations-table thead{background-color:#ffffff4d}.reservations-table th{padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--bleu-marine);border-bottom:2px solid var(--beige-fonce);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.reservations-table td{padding:.75rem .5rem;border-bottom:1px solid var(--beige-fonce);color:var(--noir);vertical-align:top}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){max-width:50px;padding-left:.3rem;padding-right:.3rem}.reservations-table th:nth-child(3),.reservations-table td:nth-child(3){max-width:80px;white-space:normal;word-wrap:break-word}.reservations-table th:nth-child(4),.reservations-table td:nth-child(4){max-width:20px;text-align:center;padding-left:.2rem;padding-right:.2rem}.reservations-table th:nth-child(5),.reservations-table td:nth-child(5){max-width:140px;white-space:normal;word-wrap:break-word;line-height:1.3}.reservations-table th:nth-child(6),.reservations-table td:nth-child(6),.reservations-table th:nth-child(7),.reservations-table td:nth-child(7){max-width:70px;white-space:normal;word-wrap:break-word;line-height:1.3}.reservations-table tbody tr:hover{background-color:#fff3}.chambre-photo-thumbnail{width:50px;height:38px;object-fit:cover;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.no-photo{width:50px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff4d;border-radius:var(--border-radius);color:var(--bleu-marine);font-size:.7rem;text-align:center}.participants-names-list{list-style:none;padding:0;margin:0}.participants-names-list li{padding:.25rem 0;color:var(--noir)}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-badge.confirmée{background-color:#dcfce7;color:#166534}.status-badge.en-attente{background-color:#fef3c7;color:#92400e}.status-badge.annulée{background-color:#fee2e2;color:#991b1b}.transport-badge{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;background-color:#ffffff4d}.transport-icon{font-size:1.5rem;line-height:1}.no-data{text-align:center;color:var(--blanc);padding:2rem;font-size:1rem}.synthese-section{margin-top:2rem}.creneaux-synthese{display:grid;gap:1.5rem}.creneau-synthese-card{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow);border:2px solid var(--blanc);transition:var(--transition)}.creneau-synthese-card:hover{box-shadow:0 4px 16px #fff3;transform:translateY(-2px);border-color:var(--beige-fonce)}.creneau-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--beige-fonce)}.creneau-header h4{font-size:1.25rem;color:var(--bleu-marine);margin:0;font-weight:600;text-transform:capitalize}.creneau-activites-container{display:grid;gap:1.5rem}.activite-synthese-item{border-left:4px solid var(--beige-fonce);padding-left:1rem}.activite-synthese-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.activite-synthese-header strong{color:var(--bleu-marine);font-size:1.1rem}.participant-count{background-color:var(--beige-fonce);color:var(--blanc);padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.participants-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.participants-list li{padding:.5rem .75rem;background-color:#ffffff4d;border-radius:6px;color:var(--bleu-marine);font-size:.9rem}.activites-sans-creneaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.activite-synthese-card{background:var(--beige);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow);border:2px solid var(--blanc);transition:var(--transition)}.activite-synthese-card:hover{box-shadow:0 4px 16px #fff3;transform:translateY(-2px);border-color:var(--beige-fonce)}@media(max-width:768px){.infos-sejour-hero h1{font-size:2rem}.infos-sejour-hero{height:250px}.section-title{font-size:1.75rem}.infos-sejour section h3{font-size:1.3rem}.stats-grid{grid-template-columns:1fr}.reservations-table{padding:.5rem}.reservations-table table{font-size:.75rem;min-width:100%}.reservations-table th,.reservations-table td{padding:.5rem .25rem;white-space:normal;word-wrap:break-word;line-height:1.3}.reservations-table th{font-size:.7rem}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){max-width:42px;padding-left:.25rem;padding-right:.25rem}.reservations-table th:nth-child(3),.reservations-table td:nth-child(3){max-width:60px}.reservations-table th:nth-child(4),.reservations-table td:nth-child(4){max-width:20px;padding-left:.15rem;padding-right:.15rem}.reservations-table th:nth-child(5),.reservations-table td:nth-child(5){max-width:120px}.reservations-table th:nth-child(6),.reservations-table td:nth-child(6),.reservations-table th:nth-child(7),.reservations-table td:nth-child(7){max-width:60px}.chambre-photo-thumbnail{width:42px;height:32px}.no-photo{width:42px;height:32px;font-size:.6rem}.participants-names-list li{padding:.15rem 0;font-size:.75rem}.transport-icon{font-size:1.2rem}.participants-list,.activites-sans-creneaux{grid-template-columns:1fr}.activite-synthese-header{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.infos-sejour .container{padding:1rem}.reservations-table{padding:.25rem}.reservations-table table{font-size:.7rem}.reservations-table th,.reservations-table td{padding:.4rem .2rem}.reservations-table th{font-size:.65rem}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){max-width:38px;padding-left:.2rem;padding-right:.2rem}.reservations-table th:nth-child(3),.reservations-table td:nth-child(3){max-width:50px}.reservations-table th:nth-child(4),.reservations-table td:nth-child(4){max-width:18px;padding-left:.12rem;padding-right:.12rem}.reservations-table th:nth-child(5),.reservations-table td:nth-child(5){max-width:100px}.reservations-table th:nth-child(6),.reservations-table td:nth-child(6),.reservations-table th:nth-child(7),.reservations-table td:nth-child(7){max-width:55px}.chambre-photo-thumbnail{width:38px;height:29px}.no-photo{width:38px;height:29px;font-size:.55rem}.participants-names-list li{padding:.1rem 0;font-size:.7rem}.transport-icon{font-size:1rem}}.chat-sejour{display:flex;flex-direction:column;height:600px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.chat-header{padding:20px;background:#2196f3;color:#fff;border-bottom:1px solid #1976d2}.chat-header h3{margin:0;font-size:1.2rem}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px}.chat-message{display:flex;flex-direction:column;max-width:70%;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.own{align-self:flex-end}.chat-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:10px}.chat-message-author{font-weight:600;font-size:.9rem;color:#333}.chat-message-time{font-size:.75rem;color:#999}.chat-message-content{padding:12px 16px;border-radius:12px;background:#f5f5f5;color:#333;word-wrap:break-word;position:relative}.chat-message.own .chat-message-content{background:#2196f3;color:#fff}.chat-message-actions{display:flex;gap:8px;margin-top:4px}.btn-delete-message{padding:4px 8px;font-size:.75rem;background:transparent;color:#f44336;border:1px solid #f44336;border-radius:4px;cursor:pointer;transition:all .2s}.btn-delete-message:hover{background:#f44336;color:#fff}.chat-input-container{padding:20px;border-top:1px solid #e0e0e0;background:#fafafa}.chat-input-form{display:flex;gap:10px}.chat-input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px;font-size:1rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#2196f3}.btn-send-message{padding:12px 24px;background:#2196f3;color:#fff;border:none;border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-send-message:hover{background:#1976d2}.btn-send-message:disabled{background:#ccc;cursor:not-allowed}.chat-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-style:italic}.chat-page{min-height:calc(100vh - 80px);background:linear-gradient(135deg,#f0f4f8,#e8eef5);padding:2rem 1rem}.chat-page-container{max-width:800px;margin:0 auto}.chat-welcome-banner{background:linear-gradient(135deg,#1a73e8,#1565c0);color:#fff;padding:1.5rem 2rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 12px #1a73e84d}.chat-welcome-banner p{margin:0;font-size:1rem;line-height:1.6;font-weight:400;opacity:.95}.chat-name-prompt{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 4px 16px #00000014;text-align:center;max-width:480px;margin:2rem auto}.chat-name-prompt h2{margin:0 0 .5rem;color:#0a1929;font-size:1.4rem;font-weight:700}.chat-name-prompt p{margin:0 0 1.5rem;color:#5a6c7d;font-size:.95rem}.chat-name-form{display:flex;gap:.75rem}.chat-name-input{flex:1;padding:.75rem 1rem;border:2px solid #e0e4ea;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.chat-name-input:focus{border-color:#1a73e8}.chat-name-submit{padding:.75rem 1.5rem;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.chat-name-submit:hover{background:#1565c0}.chat-name-submit:disabled{background:#b0bec5;cursor:not-allowed}@media(max-width:600px){.chat-page{padding:1rem .5rem}.chat-welcome-banner{padding:1.25rem 1.5rem;border-radius:8px}.chat-welcome-banner p{font-size:.9rem}.chat-name-prompt{padding:1.5rem}.chat-name-form{flex-direction:column}}
