*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#eff2f7;color:#1a1a1a;line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh}.page{max-width:640px;margin:0 auto;padding:40px 20px}.admin-page{max-width:none;margin:0 auto;padding:40px 20px}.header{text-align:center;margin-bottom:32px}.header h1{font-size:28px;font-weight:700;color:#1848a0;letter-spacing:-.5px}.subtitle{color:#666;font-size:14px;margin-top:4px}.card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.form{display:flex;flex-direction:column;gap:20px}.step-title{font-size:20px;font-weight:600;color:#1848a0;margin-bottom:4px}.stepper{display:flex;align-items:center;justify-content:center;margin-bottom:28px;gap:0}.step-group{display:flex;align-items:center}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:#e8edf2;color:#888;flex-shrink:0;transition:background .2s,color .2s;cursor:default}.step-circle.completed{background:#393;color:#fff;cursor:pointer}.step-circle.active{background:#1848a0;color:#fff}.step-label{font-size:12px;font-weight:500;color:#888;margin:0 8px;white-space:nowrap}.step-label.active{color:#1848a0;font-weight:600}.step-line{width:32px;height:2px;background:#dce3e8;margin:0 2px}.step-line.completed{background:#393}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.adr-grid{grid-template-columns:1fr 1fr}.adr-grid .field:first-child{grid-column:1 / -1}.adr-grid .field:nth-child(2){grid-column:1}.adr-grid .field:nth-child(3){grid-column:2}.field{display:flex;flex-direction:column;gap:6px}.field label,.dates-field legend,.checkbox-label{font-size:13px;font-weight:500;color:#444}.field-hint{font-size:13px;color:#888;margin-bottom:4px}.field input,.field textarea,.field select{padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;font-size:15px;font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none;background:#fff}.field input:focus,.field textarea:focus{border-color:#1848a0;box-shadow:0 0 0 3px #1848a01f}.field textarea{resize:vertical}.dates-field{border:none;padding:0;display:flex;flex-direction:column;gap:8px}.dates-field legend{margin-bottom:4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400;font-size:14px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;transition:border-color .15s,background .15s}.checkbox-label:has(input:checked){border-color:#c1e6ed;background:#f0f8fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#1848a0}.agb{border:none;padding:12px;background:#eef4f7;border-radius:8px;font-size:13px}.family-section{padding-top:4px}.family-heading{font-size:15px;font-weight:600;color:#333;margin-bottom:12px}.family-card{background:#f8fafb;border:1px solid #e0e6ea;border-radius:10px;padding:16px;margin-bottom:12px}.family-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600;color:#555}.btn-remove{background:none;border:1px solid #d32f2f;color:#d32f2f;padding:4px 10px;border-radius:6px;font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s}.btn-remove:hover{background:#fef2f2}.menu-section{display:flex;flex-direction:column;gap:16px}.menu-person-card{border:1px solid #e0e6ea;border-radius:10px;padding:16px}.menu-person-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.menu-age-tag{font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px}.menu-age-tag.adult{background:#e8edf2;color:#1848a0}.menu-age-tag.child{background:#f0f8fa;color:#393}.menu-options{display:flex;flex-direction:column;gap:8px}.menu-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d0d5dd;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.menu-option.selected{border-color:#1848a0;background:#f0f4fb}.menu-option input[type=radio]{margin-top:3px;accent-color:#1848a0;flex-shrink:0}.menu-option-content{display:flex;flex-direction:column;gap:2px}.menu-option-label{font-weight:600;font-size:14px;color:#333}.menu-option-desc{font-size:12px;color:#777;line-height:1.5;white-space:pre-line}.braeteln-hint{font-size:13px;color:#666;background:#f0f4fb;border-left:3px solid #1848a0;padding:10px 12px;border-radius:6px;margin-bottom:12px;line-height:1.5}.allergie-field{margin-top:12px}.allergie-field input{font-size:13px}.payment-summary{display:flex;flex-direction:column;gap:20px}.summary-table{width:100%;border-collapse:collapse;font-size:14px}.summary-table th{text-align:left;padding:10px 12px;font-weight:600;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dce3e8}.summary-table td{padding:10px 12px;border-bottom:1px solid #eef2f0}.summary-table tfoot td{border-top:2px solid #1848a0;font-weight:700;font-size:16px}.summary-note{font-size:13px;color:#666;padding:8px 12px;background:#f8fafb;border-radius:8px}.summary-support{font-size:14px;color:#555;line-height:1.6;padding:16px 20px;background:#f0f4fb;border-radius:8px;border-left:3px solid #1848a0}.summary-support>p{margin:0}.summary-support .pricing-info{margin-top:12px}.summary-support .pricing-info p{margin:0}.summary-support .pricing-info p+p{margin-top:8px}.summary-support .pricing-info a{color:#1848a0;text-decoration:underline}.btn-full{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s;text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#1848a0;color:#fff}.btn-primary:hover:not(:disabled){background:#123678}.btn-secondary{background:#e8edf2;color:#333}.btn-secondary:hover:not(:disabled){background:#d0d9e0}.btn-sm{padding:8px 16px;font-size:13px}.step-buttons{display:flex;justify-content:space-between;gap:12px;padding-top:8px}.step-buttons .btn-secondary{margin-right:auto}.step-buttons .btn-primary{margin-left:auto}.error{color:#d32f2f;font-size:14px;padding:8px 12px;background:#fef2f2;border-radius:6px}.success-card{text-align:center;padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:12px}.success-icon{width:56px;height:56px;border-radius:50%;background:#393;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.cancel-icon{width:56px;height:56px;border-radius:50%;background:#d32f2f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.success-card h2{font-size:22px;color:#1848a0}.success-card p{color:#666;font-size:14px}.success-signature{font-weight:600;color:#1848a0!important;font-size:15px!important}.admin-login{max-width:360px;margin:80px auto}.admin-login h2{margin-bottom:20px}.admin-panel{max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h2{font-size:22px;color:#1848a0}.admin-actions{display:flex;align-items:center;gap:8px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:#fff;border-radius:10px;padding:16px;text-align:center;box-shadow:0 1px 3px #0000000f;border:1px solid #e8edf2}.stat-number{display:block;font-size:22px;font-weight:700;color:#1a1a1a;line-height:1.2}.stat-label{display:block;font-size:12px;color:#888;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.stat-paid .stat-number{color:#1848a0}.stat-pending .stat-number{color:#b8860b}.stat-adult .stat-number{color:#1848a0}.stat-child .stat-number,.stat-revenue .stat-number{color:#393}.admin-substats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.substat-card{background:#fff;border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 2px #0000000d;border:1px solid #e8edf2}.substat-number{font-size:16px;font-weight:700;color:#1848a0;line-height:1}.substat-label{font-size:12px;color:#666}.admin-search{margin-bottom:16px}.search-input{width:100%;padding:10px 14px;border:1px solid #d0d5dd;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff}.search-input:focus{border-color:#1848a0;box-shadow:0 0 0 3px #1848a01f}.table-wrap{overflow-x:auto}.booking-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.booking-table thead{position:sticky;top:0;z-index:1}.booking-table th{text-align:left;padding:12px 10px;font-weight:600;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dce3e8;white-space:nowrap;background:#fff}.booking-table td{padding:12px 10px;border-bottom:1px solid #eef2f0;vertical-align:middle}.booking-table tbody tr{transition:background .12s}.booking-table tbody tr:hover{background:#f5f8fb}.booking-table tbody tr:last-child td{border-bottom:none}.td-center{text-align:center}.td-right{text-align:right}.td-price{font-weight:600;color:#1a1a1a;white-space:nowrap}.td-date{white-space:nowrap;color:#888;font-size:12px}.person-sub{display:block;font-size:12px;color:#666;margin-top:2px}.person-sub strong{color:#1a1a1a}.person-count{color:#1848a0;font-weight:600;font-size:12px;margin-left:2px}.person-role{font-size:11px;color:#888;margin-left:4px}.menu-list{line-height:1.6}.menu-line{display:block;font-size:12px}.menu-line+.menu-line{margin-top:2px;color:#666}.td-dates{white-space:nowrap;font-size:12px;color:#555}.email-link{color:#1848a0;text-decoration:none;font-size:12px}.email-link:hover{text-decoration:underline}.status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.status-paid{background:#c1e6ed;color:#1848a0}.status-pending{background:#fff8e1;color:#b8860b}.status-failed{background:#fef2f2;color:#d32f2f}.fam-list{font-size:12px;color:#888;margin-top:2px}.notes{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#888;font-size:12px}.empty{text-align:center;color:#888;padding:48px 32px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f}@media (max-width: 500px){.page{padding:20px 12px}.card{padding:20px}.form-grid{grid-template-columns:1fr}.header h1{font-size:22px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.stepper{gap:0}.step-label{display:none}.step-line{width:20px}}
