:root{--primary: #1f6fb2;--primary-dark: #185a91;--bg: #f4f7fa;--card: #ffffff;--border: #d8e0e8;--text: #1c2733;--muted: #6b7785;--error: #c0392b;--ok: #1e8e4e;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Roboto,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.container{max-width:760px;margin:0 auto;padding:24px 16px 64px}.app-header{text-align:center;margin-bottom:24px}.app-header h1{color:var(--primary);margin:0;font-size:2rem}.app-header p{color:var(--muted);margin:4px 0 0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a}.card h2{margin:0 0 16px;font-size:1.15rem;color:var(--primary-dark)}.field{margin-bottom:14px;display:flex;flex-direction:column}.field label{font-weight:600;font-size:.9rem;margin-bottom:4px}.field input,.field select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff}.field input:focus,.field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1f6fb226}.field input[readonly],.field input:disabled{background:#eef1f4;color:var(--muted);cursor:not-allowed}.field input[aria-invalid=true]{border-color:var(--error)}.hint{color:var(--muted);font-size:.82rem;margin-top:4px}.hint.center{text-align:center}.error{color:var(--error);font-size:.82rem;margin-top:4px}.passengers{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.passenger{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px 20px;margin:0}.passenger legend{font-weight:700;color:var(--primary-dark);padding:0 8px}.field.cost{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px dashed var(--border);padding-top:12px;margin-bottom:0}.cost-label{font-weight:600;color:var(--muted)}.cost-value{font-size:1.1rem;font-weight:700;color:var(--primary-dark)}.total-card{display:flex;align-items:center;justify-content:space-between;background:var(--primary);color:#fff;border-color:var(--primary-dark)}.total-card span{font-size:1.1rem;font-weight:600}.total-value{font-size:1.6rem}.submit{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .15s}.submit:hover:not(:disabled){background:var(--primary-dark)}.submit:disabled{opacity:.55;cursor:not-allowed}.server-errors{background:#fdecea;border:1px solid #f5c6c2;color:var(--error);border-radius:8px;padding:12px 16px;margin-bottom:16px}.server-errors p{margin:4px 0}.success h1{color:var(--ok);font-size:1.5rem;margin-top:0}.reference{font-size:1.05rem}.summary{width:100%;border-collapse:collapse;margin:16px 0}.summary th,.summary td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.summary tfoot td{font-weight:700;border-top:2px solid var(--border)}.summary td:last-child,.summary th:last-child{text-align:right}.downloads{display:flex;gap:12px;margin:16px 0}.btn{flex:1;text-align:center;padding:12px;background:#eef4f9;color:var(--primary-dark);border:1px solid var(--border);border-radius:8px;text-decoration:none;font-weight:600}.btn:hover{background:#e0ebf4}.date-input{display:flex;gap:8px;align-items:stretch}.date-input input[type=text]{flex:1}.date-input .date-picker{width:44px;flex:0 0 auto;padding:0;border:1px solid var(--border);border-radius:8px;background:#eef4f9;cursor:pointer}.date-input .date-picker::-webkit-datetime-edit,.date-input .date-picker::-webkit-inner-spin-button,.date-input .date-picker::-webkit-clear-button{display:none}.date-input .date-picker::-webkit-calendar-picker-indicator{margin:0 auto;cursor:pointer}.payment-info{background:#f0f7ff;border:1px solid #bcd8f0;border-left:4px solid var(--primary);border-radius:var(--radius);padding:16px 20px;margin:16px 0}.payment-info h2{margin:0 0 8px;font-size:1.1rem;color:var(--primary-dark)}.payment-info p{margin:0 0 8px}.payment-info ul{margin:0;padding-left:20px}.payment-info li{margin:2px 0}.admin-header{display:flex;align-items:center;justify-content:space-between;text-align:left}.admin-header .btn{flex:0 0 auto}.search-bar{display:flex;gap:10px;align-items:center}.search-bar input[type=search]{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}.search-bar input[type=search]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1f6fb226}.search-bar .submit{width:auto;padding:10px 18px}.search-bar .btn{flex:0 0 auto}.bookings-list{display:flex;flex-direction:column;gap:10px}.booking-row{padding:0;overflow:hidden}.booking-head{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;width:100%;padding:14px 18px;background:none;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--text)}.booking-head:hover{background:#f7fafc}.booking-ref{font-weight:700;color:var(--primary-dark)}.muted{color:var(--muted);font-size:.88rem}.booking-total{font-weight:700;color:var(--primary-dark);font-size:1.05rem}.booking-detail{padding:0 18px 18px;border-top:1px solid var(--border)}@media (max-width: 560px){.booking-head{grid-template-columns:1fr auto}}
