:root{--bg:#eef8ff;--surface:#fff;--surface-soft:#f3faff;--ink:#142133;--muted:#607086;--line:#cfe7fb;--line-dark:#91c8f3;--brand:#1cb0f6;--brand-dark:#0b67a3;--brand-soft:#e3f6ff;--accent:#2b7de9;--accent-soft:#e8f1ff;--danger:#ff4b4b;--shadow:0 18px 44px #1e5d9129;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Nunito,Trebuchet MS,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.language-toggle{z-index:10;border:2px solid var(--line);background:#fff;border-bottom-width:5px;border-radius:999px;gap:4px;padding:4px;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 10px 24px #1e5d9124}.language-toggle button{min-width:46px;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:999px;font-weight:900}.language-toggle button.active{background:var(--brand);color:#fff;box-shadow:0 3px #0b67a3}.url-save-bubble{z-index:30;border:3px solid var(--brand-dark);background:#fff;border-bottom-width:7px;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;width:min(520px,100% - 32px);padding:15px 16px;animation:.22s both bubble-pop;display:grid;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 20px 48px #0a2f4d3d}.url-save-bubble:before{content:"";border-left:3px solid var(--brand-dark);border-top:3px solid var(--brand-dark);background:#fff;width:26px;height:26px;position:absolute;top:-16px;left:50%;transform:translate(-50%)rotate(45deg)}.url-save-bubble strong{color:var(--brand-dark);font-size:1.08rem;display:block}.url-save-bubble p{color:var(--ink);margin:3px 0 0;font-weight:850;line-height:1.35}.url-save-bubble span{border:1px solid var(--line);background:var(--surface-soft);color:var(--brand-dark);overflow-wrap:anywhere;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:.92rem;font-weight:900;display:block}.url-save-bubble button{background:var(--brand);color:#fff;border:2px solid #0b67a3;border-bottom-width:5px;border-radius:8px;min-height:42px;padding:0 13px;font-weight:900}.app-shell,.booking-shell{background:linear-gradient(90deg, #eef8fff0, #eef8ff94), radial-gradient(circle at 18% 18%, #1cb0f633, transparent 24rem), url(/assets/background-BGW3xUcD.png) center / cover no-repeat, var(--bg);min-height:100vh;padding:40px 20px}.workspace,.booking-layout{gap:18px;width:min(1080px,100%);margin:0 auto;animation:.24s ease-out both enter;display:grid}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;min-height:calc(100vh - 80px)}.host-workspace{grid-template-columns:minmax(360px,720px);place-content:center}.booking-layout{grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);align-items:center;min-height:calc(100vh - 80px)}.panel,.visit-summary{border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.simple-panel{border-bottom-width:6px}.setup-panel,.results-panel,.booking-form,.visit-summary{padding:28px}.visit-summary{box-shadow:none;background:0 0;border:0}.visit-summary h1{letter-spacing:0;max-width:620px;margin:8px 0 12px;font-size:4.4rem;line-height:.96}.summary-help{max-width:520px;color:var(--ink);margin:0 0 24px;font-size:1.1rem;font-weight:900}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.panel-heading svg{color:var(--brand);flex:none}.compact{margin-bottom:18px}.eyebrow{color:var(--brand-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:2.7rem;line-height:1.04}h2{margin-bottom:0;font-size:1.45rem;line-height:1.16}h3{margin:0;font-size:1rem}.form-grid,.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{color:#35433e;flex-direction:column;gap:8px;font-size:.92rem;font-weight:900;display:flex}.field input,.field select,.field textarea,.booking-row input,.booking-row textarea{border:2px solid var(--line);width:100%;min-height:54px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:12px 14px;transition:border-color .14s,background .14s,box-shadow .14s}.field textarea,.booking-row textarea{resize:vertical}.field input:hover,.field select:hover,.field textarea:hover,.booking-row input:hover,.booking-row textarea:hover{border-color:var(--line-dark);background:#fff}.field input:focus,.field select:focus,.field textarea:focus,.booking-row input:focus,.booking-row textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px #1cb0f633}.primary-action,.secondary-action,.booking-actions button,.share-box button,.bookings-header button{border-radius:8px;font-weight:900;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s}.primary-action{background:var(--brand);color:#fff;border:0;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:0 18px;display:inline-flex;box-shadow:0 6px #0b67a3,0 14px 24px #1cb0f638}.secondary-action{border:2px solid var(--line-dark);min-height:52px;color:var(--brand-dark);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.cancel-visit-action{color:var(--danger);border-color:#ffc2c2}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.booking-actions button:hover,.share-box button:hover,.bookings-header button:hover{transform:translateY(-2px);box-shadow:0 12px 26px #12201b1a}.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled),.booking-actions button:active,.share-box button:active,.bookings-header button:active{transform:translateY(0)}.primary-action:active:not(:disabled){box-shadow:0 2px #0b67a3,0 8px 18px #1cb0f62e}.guided-form,.booking-form{gap:18px;display:grid}.step-dots{grid-template-columns:repeat(var(--step-count,3), 1fr);grid-auto-flow:column;gap:8px;margin-bottom:22px;display:grid}.step-dots span{background:#d8ecfb;border-radius:999px;height:10px}.step-dots span.active{background:var(--brand)}.step-card{gap:16px;display:grid}.saved-host-section{border-bottom:2px solid var(--line);gap:12px;margin-bottom:22px;padding:0 0 22px;display:grid}.section-heading,.new-host-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading h2,.new-host-heading h1{margin:0}.section-heading span,.heading-help{color:var(--muted);margin-top:8px;font-weight:800;display:block}.new-host-section{gap:18px;display:grid}.new-host-heading span{color:var(--muted);margin-top:6px;font-weight:800;display:block}.new-host-heading strong{max-width:520px;color:var(--ink);margin-top:10px;font-size:1.02rem;font-weight:900;display:block}.new-host-heading svg{color:var(--brand);flex:none}.time-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-label{color:var(--brand-dark);font-weight:900}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.choice-pill,.slot-choice{border:2px solid var(--line);min-height:58px;color:var(--ink);background:#fff;border-bottom-width:5px;border-radius:8px;font-weight:900;transition:transform .14s,border-color .14s,background .14s}.choice-pill:hover,.slot-choice:hover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-1px)}.choice-pill.selected,.slot-choice.selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.guided-actions{justify-content:flex-end;gap:10px;display:flex}.guided-actions .primary-action{min-width:170px}.slot-grid{gap:10px;max-height:min(48vh,430px);padding-right:2px;display:grid;overflow:auto}.slot-choice{text-align:left;justify-content:flex-start;align-items:center;gap:10px;padding:0 14px;display:flex}.slot-choice svg{color:var(--accent);flex:none}.selected-time{background:var(--accent-soft);color:#12658f;border:2px solid #bbe7ff;border-radius:8px;align-items:center;gap:9px;padding:12px 14px;font-weight:900;display:flex}.booking-help{color:var(--muted);margin:-4px 0 0;font-weight:800}.saved-host-list{gap:8px;display:grid}.saved-host-card{border:2px solid var(--accent);background:var(--accent-soft);color:#124f95;text-align:left;border-bottom-width:5px;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:14px 16px;display:grid}.saved-host-card div{gap:3px;min-width:0;display:grid}.saved-host-card small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.saved-host-card strong{font-size:1.05rem}.saved-host-card span{color:var(--muted);font-size:.88rem;font-weight:900}.form-grid .primary-action{grid-column:1/-1}.host-share-strip{width:100%}.host-share-strip .visitor-link{text-align:center;box-shadow:var(--shadow);grid-template-columns:1fr 62px;justify-items:center;padding:18px}.host-share-strip .visitor-link div{width:100%}.host-share-strip .visitor-link small{font-size:.86rem}.host-share-strip .visitor-link span{white-space:normal;overflow-wrap:anywhere;font-size:clamp(1.05rem,2.8vw,1.55rem);line-height:1.18}.host-share-strip .visitor-link em{margin-top:10px;font-size:1rem}.host-share-strip .visitor-link button{width:62px;height:62px}.share-box{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;padding:12px;display:grid}.share-box+.share-box{margin-top:10px}.share-box div{min-width:0}.share-box small{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:800;display:block}.share-box span{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.92rem;display:block;overflow:hidden}.share-box em{color:var(--muted);white-space:normal;margin-top:7px;font-size:.9rem;font-style:normal;font-weight:800;display:block}.private-link{background:#fffaf4}.visitor-link{border:2px solid var(--brand);background:linear-gradient(135deg,#e4f6ff,#fff);border-bottom-width:6px;grid-template-columns:minmax(0,1fr) 64px;gap:14px;padding:18px}.visitor-link small{color:var(--brand-dark);font-size:.78rem}.visitor-link span{color:var(--brand-dark);font-size:1.12rem;font-weight:900}.visitor-link button{background:var(--brand);color:#fff;border-color:#0b67a3;border-bottom-width:5px;width:64px;height:64px}.share-box button,.bookings-header button{border:1px solid var(--line);width:42px;height:42px;color:var(--brand);background:#fff;justify-content:center;align-items:center;display:inline-flex}.meta-list{gap:10px;margin:20px 0;display:grid}.meta-list p{color:var(--muted);align-items:center;gap:9px;margin:0;display:flex}.meta-list svg{color:var(--brand)}.schedule-editor{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:14px;margin:20px 0 8px;padding:16px;display:grid}.schedule-actions{flex-wrap:wrap;gap:8px;display:flex}.schedule-editor .secondary-action,.schedule-actions .secondary-action{justify-self:start}.quiet-action{color:var(--muted)}.schedule-summary{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:20px 0 8px;padding:14px;display:grid}.schedule-summary div{gap:3px;min-width:0;display:grid}.schedule-summary small{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.schedule-summary strong{color:var(--brand-dark);font-size:1.12rem}.schedule-summary span{color:var(--muted);font-size:.9rem}.schedule-summary button{border:1px solid var(--line-dark);min-height:40px;color:var(--brand-dark);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.bookings-header{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.bookings-header div{gap:3px;display:grid}.bookings-header h3{margin:0}.bookings-header span{color:var(--muted);font-size:.9rem;font-weight:800}.booking-list{gap:12px;display:grid}.danger-zone{background:#fff5f5;border:2px solid #ffd1d1;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:24px;padding:14px;display:grid}.danger-zone div{gap:4px;min-width:0;display:grid}.danger-zone strong{color:#9f1d1d}.danger-zone span{color:var(--muted);font-size:.9rem}.danger-zone button{min-height:44px;color:var(--danger);background:#fff;border:2px solid #ffb2b2;border-bottom-width:5px;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:900;display:inline-flex}.booking-row,.empty-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px}.booking-row{background:#fff;border-bottom-width:5px;grid-template-columns:minmax(0,1fr);gap:12px;padding:15px;transition:border-color .14s,transform .14s,box-shadow .14s;display:grid;position:relative}.booking-row:hover{border-color:var(--line-dark);transform:translateY(-1px);box-shadow:0 12px 26px #0f2d4514}.booking-row.editing{background:#f0f9ff;border-color:#99d5ff}.booking-time-pill{background:var(--brand-soft);width:fit-content;color:var(--brand-dark);border:1px solid #b9def7;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.booking-time-pill svg{flex:none}.booking-time-pill strong{color:var(--brand-dark);font-size:.95rem}.booking-person{gap:2px;display:grid}.booking-person span{color:var(--ink);font-size:1.08rem;font-weight:900}.booking-person small,.booking-note small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.interest-badge{border:1px solid var(--line);background:var(--surface-soft);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex;position:absolute;top:12px;right:12px}.booking-row .booking-time-pill{max-width:calc(100% - 132px)}.interest-badge.active{color:#127235;background:#eaf9ef;border:2px solid #43c46b;border-bottom-width:4px;box-shadow:0 8px 18px #43c46b29}.interest-badge.active svg{color:#19a94c;flex:none}.booking-contact-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.booking-contact-grid span{text-overflow:ellipsis;border:1px solid var(--line);background:var(--surface-soft);color:#385063;white-space:nowrap;border-radius:8px;min-width:0;padding:9px 10px;font-size:.9rem;font-weight:800;overflow:hidden}.booking-note{background:#f8fbfd;border-radius:8px;gap:4px;padding:10px 11px;display:grid}.host-memo-note{background:#f0f9ff;border:1px solid #b9def7}.booking-note p{color:#35433e;margin:0;font-size:.92rem;line-height:1.35}.booking-readonly-summary{border:1px solid var(--line);background:#fff;border-radius:8px;gap:5px;padding:11px;display:grid}.booking-readonly-summary strong{color:var(--ink);font-size:1.02rem}.booking-readonly-summary span{color:var(--muted);font-weight:800}.booking-readonly-summary p{color:#35433e;margin:2px 0 0;line-height:1.35}.booking-edit-grid{gap:9px;display:grid}.host-memo-field{color:var(--brand-dark);gap:7px;font-weight:900;display:grid}.host-memo-field small{color:var(--muted);font-size:.84rem;font-weight:800}.interest-toggle{border:2px solid var(--line);color:var(--brand-dark);cursor:pointer;background:#fff;border-bottom-width:5px;border-radius:8px;align-items:center;gap:10px;padding:12px;font-weight:900;display:flex}.interest-toggle input{width:22px;min-width:22px;height:22px;min-height:22px;accent-color:var(--brand);cursor:pointer}.interest-toggle span{color:var(--brand-dark)}.big-toggle{background:var(--brand-soft);border-color:#99d5ff}.interest-wait-note{border:2px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-weight:850;line-height:1.35}.booking-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.booking-actions button{border:1px solid var(--line-dark);min-height:40px;color:var(--brand-dark);background:#fff;border-bottom-width:4px;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:900;display:inline-flex}.booking-actions button:last-child{color:var(--danger);border-color:#ffc2c2}.booking-empty-state{min-height:130px;color:var(--muted);text-align:center;background:#f7fcff;border:2px dashed #b9def7;border-radius:8px;align-content:center;place-items:center;gap:10px;padding:22px;display:grid}.booking-empty-state svg{color:var(--brand)}.booking-empty-state p{margin:0;font-weight:800}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1d2d6b;place-items:center;padding:20px;animation:.14s both fade;display:grid;position:fixed;inset:0}.confirm-modal{border:2px solid var(--line);background:#fff;border-bottom-width:7px;border-radius:8px;gap:16px;width:min(420px,100%);padding:24px;animation:.18s both modal-in;display:grid;position:relative;box-shadow:0 22px 58px #0a1d2d47}.modal-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.modal-icon{width:56px;height:56px;color:var(--danger);background:#fff5f5;border:2px solid #ffc2c2;border-bottom-width:5px;border-radius:8px;place-items:center;display:grid}.modal-copy{gap:8px;padding-right:34px;display:grid}.modal-copy h2{color:var(--ink);margin:0;font-size:1.35rem}.modal-copy p{color:var(--muted);margin:0;font-weight:800;line-height:1.4}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-actions button{border-radius:8px;min-height:48px;font-weight:900}.modal-cancel{border:2px solid var(--line-dark);color:var(--brand-dark);background:#fff;border-bottom-width:5px}.modal-confirm{color:var(--danger);background:#fff5f5;border:2px solid #ffb2b2;border-bottom-width:5px}.notice-icon{background:var(--brand-soft);color:var(--brand-dark);border-color:#99d5ff}.single-action{grid-template-columns:1fr}.modal-primary{background:var(--brand);color:#fff;border:2px solid #0b67a3;border-bottom-width:5px}.empty-card{text-align:center;min-height:220px;color:var(--muted);align-content:center;place-items:center;gap:12px;padding:26px;display:grid}.empty-card svg{color:var(--brand)}.empty-state,.status-line{color:var(--muted);margin:0}.status-line{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #cfe3dc;border-radius:8px;margin-top:16px;padding:10px 12px;font-weight:750;animation:.16s both fade}.success-icon{color:var(--brand)}.booking-form{gap:16px;display:grid}.booking-form h2{margin-bottom:4px}.center-state{min-height:100vh;color:var(--muted);background:var(--bg);place-items:center;padding:24px;font-weight:800;display:grid}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%)translateY(-8px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width<=980px){.visit-summary h1{font-size:3.6rem}}@media (width<=860px){.app-shell,.booking-shell{padding:18px}.workspace,.booking-layout,.host-workspace{grid-template-columns:1fr}.booking-layout{align-items:stretch}.form-grid,.schedule-grid,.time-pair{grid-template-columns:1fr}.setup-panel,.results-panel,.booking-form,.visit-summary{padding:20px}h1,.visit-summary h1{font-size:2.45rem}}@media (width<=520px){.app-shell,.booking-shell{padding:72px 12px 12px}.language-toggle{top:12px;right:12px}.setup-panel,.results-panel,.booking-form,.visit-summary{padding:16px}h1,.visit-summary h1{font-size:2.05rem}.booking-actions{flex-wrap:wrap}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-actions{grid-template-columns:1fr;display:grid}.guided-actions .primary-action,.guided-actions .secondary-action{width:100%}.schedule-summary{grid-template-columns:1fr}.schedule-summary button{width:100%}.visitor-link{grid-template-columns:1fr}.visitor-link button{width:100%}.danger-zone{grid-template-columns:1fr}.danger-zone button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
