:root{--color-gold: #c8a958;--color-gold-light: #e8d5a0;--color-gold-dark: #a08638;--color-cream: #fff8ee;--color-cream-dark: #f5ebda;--color-brown: #3e2c1c;--color-brown-light: #5c4033;--color-white: #ffffff;--color-black: #1a1a1a;--color-success: #2e7d4f;--color-success-bg: #e8f5ee;--color-error: #c0392b;--color-error-bg: #fde8e5;--color-info: #2980b9;--color-info-bg: #e3f2fd;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-sm: 0 2px 8px rgba(62, 44, 28, .08);--shadow-md: 0 4px 16px rgba(62, 44, 28, .12);--shadow-lg: 0 8px 32px rgba(62, 44, 28, .16);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;color:var(--color-brown);background-color:var(--color-cream);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased}#app{max-width:480px;margin:0 auto;padding:var(--space-lg);min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-brown)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin-bottom:var(--space-md);color:var(--color-brown-light)}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--space-md);color:var(--color-gold)}.loader-spinner{width:40px;height:40px;border:3px solid var(--color-cream-dark);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.text-center{text-align:center}.text-gold{color:var(--color-gold)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-md{margin-bottom:var(--space-md)}@media(min-width:768px){#app{max-width:560px;padding:var(--space-2xl)}h1{font-size:var(--text-4xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;width:100%}.btn-primary{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark));color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-white);color:var(--color-brown);border:2px solid var(--color-cream-dark)}.btn-secondary:hover{border-color:var(--color-gold-light);background:var(--color-cream)}.btn-outline{background:transparent;color:var(--color-gold-dark);border:2px solid var(--color-gold)}.btn-outline:hover{background:var(--color-gold);color:var(--color-white)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-cream-dark)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-brown);margin-bottom:var(--space-xs)}.form-input{width:100%;padding:var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-brown);background:var(--color-cream);border:2px solid var(--color-cream-dark);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-gold);background:var(--color-white)}.form-input:disabled,.form-input[readonly]{opacity:.7;cursor:not-allowed;background:var(--color-cream-dark)}.badge-card{background:var(--color-white);border:2px solid var(--color-cream-dark);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md);position:relative}.badge-card:before{content:attr(data-number);position:absolute;top:-10px;left:var(--space-md);background:var(--color-gold);color:var(--color-white);font-size:var(--text-xs);font-weight:600;padding:2px 10px;border-radius:10px}.badge-entreprise{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-brown);margin-bottom:var(--space-md)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-md)}.alert-success{background:var(--color-success-bg);color:var(--color-success)}.alert-error{background:var(--color-error-bg);color:var(--color-error)}.alert-info{background:var(--color-info-bg);color:var(--color-info)}.divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-xl) 0;color:var(--color-gold-light);font-size:var(--text-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-cream-dark)}.screen{flex:1;display:flex;flex-direction:column;animation:fadeIn var(--transition-slow) ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.screen-header{text-align:center;margin-bottom:var(--space-2xl)}.screen-header h1{margin-bottom:var(--space-sm)}.screen-header .subtitle{color:var(--color-gold);font-family:var(--font-display);font-size:var(--text-lg);font-style:italic}.accueil-date{display:inline-block;padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark));color:var(--color-white);border-radius:var(--radius-xl);font-weight:500;font-size:var(--text-sm);letter-spacing:.05em;margin-bottom:var(--space-lg)}.accueil-bienvenue{font-size:var(--text-lg);color:var(--color-brown);line-height:1.5}.accueil-bienvenue strong{color:var(--color-gold-dark)}.presence-choices{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.presence-choice{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-white);border:2px solid var(--color-cream-dark);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.presence-choice:hover{border-color:var(--color-gold-light);box-shadow:var(--shadow-sm)}.presence-choice.selected{border-color:var(--color-gold);background:linear-gradient(135deg,#fffdf7,#fff8ee);box-shadow:var(--shadow-md)}.presence-icon{font-size:var(--text-3xl);flex-shrink:0}.presence-label{font-weight:500;font-size:var(--text-lg)}.nombre-selector{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin:var(--space-xl) 0}.nombre-option{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:600;background:var(--color-white);border:2px solid var(--color-cream-dark);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.nombre-option:hover{border-color:var(--color-gold-light);transform:scale(1.05)}.nombre-option.selected{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold);box-shadow:var(--shadow-md);transform:scale(1.08)}.hebergement-list{display:flex;flex-direction:column;gap:var(--space-md)}.hebergement-item{padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-cream-dark)}.hebergement-item h3{font-size:var(--text-base);margin-bottom:var(--space-xs)}.hebergement-item p{font-size:var(--text-sm);margin-bottom:var(--space-xs)}.hebergement-item a{color:var(--color-gold-dark);font-weight:500}.confirmation-icon{font-size:4rem;text-align:center;margin-bottom:var(--space-lg)}.recap-table{width:100%;border-collapse:collapse}.recap-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-cream-dark);font-size:var(--text-sm)}.recap-table td:first-child{font-weight:500;color:var(--color-brown);width:40%}.readonly-banner{background:var(--color-info-bg);color:var(--color-info);text-align:center;padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-lg)}
