:root{--charcoal: #1e1e1e;--charcoal-2: #252526;--charcoal-3: #2e2e31;--border: #3c3c3c;--gold: #f5a623;--gold-dim: #c07820;--silver: #bebec4;--text: #e6e6e6;--text-dim: #9a9a9a;--green: #35c07a;--amber: #e2b23c;--red: #e2593c;--radius: 10px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--charcoal);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:var(--gold)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:12px;padding:18px 28px;border-bottom:1px solid var(--border)}.main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:32px 24px 64px}.card{background:var(--charcoal-2);border:1px solid var(--border);border-radius:var(--radius);padding:28px}h1{font-size:24px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}.sub{color:var(--text-dim);margin:0 0 24px;line-height:1.5}label{display:block;font-size:13px;color:var(--text-dim);margin:14px 0 6px}input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select{width:100%;padding:11px 13px;background:var(--charcoal-3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}textarea{min-height:96px;resize:vertical}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;background:var(--gold);color:#1a1a1a}.btn:hover{background:var(--gold-dim);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{border-color:var(--gold);background:transparent;color:var(--gold)}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:28px}.toggle{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px;margin-bottom:12px;cursor:pointer}.toggle.on{border-color:var(--gold);background:#f5a6231a}.toggle input{margin-top:3px}.toggle .t-title{font-weight:600}.toggle .t-desc{color:var(--text-dim);font-size:13px;margin-top:3px}.night-ask{border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:0 0 18px}.night-ask .radio{display:flex;gap:8px;align-items:center;margin-top:10px;cursor:pointer;font-size:14px}.night-ask .daterow{display:flex;gap:8px;align-items:center;margin-top:12px}.night-ask .daterow input[type=date]{width:auto}.datechips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.datechip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gold);border-radius:6px;color:var(--gold);background:#f5a62314;padding:3px 10px;font-size:13px}.datechip button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;padding:0;line-height:1}.dropzone{border:1.5px dashed var(--border);border-radius:8px;padding:28px;text-align:center;color:var(--text-dim);cursor:pointer}.dropzone.hot{border-color:var(--gold);color:var(--gold)}.error{color:var(--red);font-size:14px;margin-top:12px}.muted{color:var(--text-dim);font-size:13px}.stepper{display:flex;gap:6px;margin-bottom:28px;flex-wrap:wrap}.stepper .step{font-size:12px;color:var(--text-dim);padding:5px 10px;border-radius:20px;border:1px solid var(--border)}.stepper .step.active{color:#1a1a1a;background:var(--gold);border-color:var(--gold)}.stepper .step.done{color:var(--gold);border-color:var(--gold)}.check{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.dot{width:11px;height:11px;border-radius:50%;flex:none}.dot.complete{background:var(--green)}.dot.needed{background:var(--amber)}.dot.not_applicable{background:var(--border)}.check .c-label{flex:1}.check .c-owner{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.banner{padding:14px 16px;border-radius:8px;margin-bottom:20px;font-weight:600}.banner.ready{background:#35c07a1f;color:var(--green);border:1px solid var(--green)}.banner.waiting{background:#e2b23c1a;color:var(--amber);border:1px solid var(--amber)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}@media (max-width: 560px){.grid2,.grid3{grid-template-columns:1fr}}.booking{border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:12px}.booking-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-night{background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;border-radius:5px;padding:2px 8px}.spec{border:1px solid var(--gold-dim);border-radius:8px;padding:14px 16px;margin-top:12px;background:#f5a6230d}.spec-title{font-weight:600;color:var(--gold);margin-bottom:8px}.spec-row{display:flex;gap:10px;font-size:14px;line-height:1.5;margin-top:6px}.spec-row span{flex:none;width:84px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.ack{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin:0 0 10px;cursor:pointer;line-height:1.45}.ack input{margin-top:3px}input[type=number]{width:100%;padding:11px 13px;background:var(--charcoal-3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;font-family:inherit}
