*{box-sizing:border-box}html,body,#root{height:100%}body{color:#4a4458;background:#f7f2ea;margin:0;font-family:Poppins,sans-serif}h1,h2,h3,h4{color:#3f3350;margin:0 0 8px;font-family:Quicksand,sans-serif}.app-shell{flex-direction:column;min-height:100%;display:flex}.top-nav{background:#fff;border-bottom:1px solid #f0e6d8;justify-content:space-between;align-items:center;padding:18px 32px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{color:#fff;background:#f4b8c5;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{color:#3f3350;font-family:Quicksand,sans-serif;font-size:1.1rem;font-weight:700}.brand-sub{color:#a99bb5;letter-spacing:.03em;font-size:.75rem}.nav-tag{color:#7c8e86;background:#e9f2ed;border-radius:999px;padding:6px 14px;font-size:.8rem}.main-area{flex:1;padding:36px 20px 60px}.site-footer{text-align:center;color:#a99bb5;background:#fff;border-top:1px solid #f0e6d8;padding:18px;font-size:.8rem}.booking-page{max-width:980px;margin:0 auto}.hero{text-align:center;margin-bottom:28px}.hero h1{margin-bottom:6px;font-size:2rem}.hero p{color:#8a7d97;margin:0;font-size:1.05rem}.steps-indicator{flex-wrap:wrap;justify-content:center;gap:28px;margin-bottom:28px;display:flex}.step-dot{opacity:.55;flex-direction:column;align-items:center;gap:6px;display:flex}.step-dot.active,.step-dot.done{opacity:1}.dot-num{color:#7a6a8c;background:#eee4f2;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.step-dot.active .dot-num{color:#fff;background:#c5b8e0}.step-dot.done .dot-num{color:#fff;background:#b8d4c8}.dot-label{color:#7a6a8c;font-size:.75rem}.wizard-layout{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}@media (width<=800px){.wizard-layout{grid-template-columns:1fr}}.card{background:#fff;border-radius:20px;padding:28px 30px;box-shadow:0 6px 24px #c5b8e02e}.step-sub{color:#8a7d97;margin-bottom:20px;font-size:.95rem}.unit-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px;display:grid}@media (width<=520px){.unit-grid{grid-template-columns:1fr}}.unit-card{text-align:left;cursor:pointer;background:#fcf9f4;border:2px solid #f0e6f2;border-radius:16px;flex-direction:column;gap:2px;padding:16px;transition:all .15s;display:flex}.unit-card:hover{border-color:#c5b8e0}.unit-card.selected{background:#f6f1fb;border-color:#c5b8e0;box-shadow:0 4px 14px #c5b8e04d}.unit-price{color:#c58fa6;font-family:Quicksand,sans-serif;font-size:1.25rem;font-weight:700}.unit-label{color:#3f3350;font-weight:600}.unit-desc{color:#9c8da8;font-size:.8rem}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-row label{color:#6c5e7a;font-size:.85rem;font-weight:600}.optional{color:#b0a4bb;font-weight:400}.form-row input,.form-row select{background:#fdfbf8;border:2px solid #efe6ef;border-radius:12px;padding:10px 12px;font-family:Poppins,sans-serif;font-size:.95rem}.form-row input:focus,.form-row select:focus{border-color:#c5b8e0;outline:none}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.addon-group{margin-bottom:18px}.addon-category{color:#9b86ab;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.85rem}.addon-list{flex-direction:column;gap:10px;display:flex}.addon-card{cursor:pointer;background:#fcf9f4;border:2px solid #f0e6f2;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.addon-card.selected{background:#f1f8f4;border-color:#b8d4c8}.addon-text{flex-direction:column;flex:1;display:flex}.addon-label{color:#3f3350;font-weight:600}.addon-desc{color:#9c8da8;font-size:.8rem}.addon-price{color:#7c9c8c;font-weight:700}.slot-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-bottom:10px;display:grid}@media (width<=620px){.slot-form{grid-template-columns:1fr}}.add-slot-btn{white-space:nowrap;height:44px}.slot-list{flex-direction:column;gap:10px;margin:14px 0 22px;display:flex}.slot-chip{color:#5c4d6c;background:#f6f1fb;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.9rem;display:flex}.slot-chip button{color:#b08fae;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.field-error{color:#c0617a;margin:-6px 0 14px;font-size:.85rem}.step-actions{justify-content:space-between;gap:12px;margin-top:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:999px;padding:12px 24px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;transition:transform .1s,opacity .1s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#5c2c3a;background:#f4b8c5;margin-left:auto}.btn-secondary{color:#2c4a3c;background:#b8d4c8}.btn-ghost{color:#6c5e7a;background:#efe6ef}.quote-card{background:#fff;border:2px solid #fbe3ea;border-radius:20px;padding:24px;position:sticky;top:20px;box-shadow:0 6px 24px #f4b8c533}.quote-card h3{margin-bottom:14px;font-size:1.05rem}.quote-line{justify-content:space-between;padding:6px 0;font-size:.95rem;display:flex}.quote-line.muted{color:#9c8da8;font-size:.88rem}.quote-total{color:#3f3350;border-top:2px dashed #f0e0e6;justify-content:space-between;margin-top:10px;padding-top:10px;font-size:1.1rem;font-weight:700;display:flex}.quote-note{color:#a99bb5;margin-top:10px;font-size:.8rem}.confirmation{text-align:center}.confirm-badge{color:#fff;background:#b8d4c8;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;font-size:1.6rem;display:inline-flex}.confirm-summary{text-align:left;background:#faf6ef;border-radius:16px;margin-top:18px;padding:18px 20px}.confirm-label{color:#6c5e7a;text-transform:uppercase;letter-spacing:.04em;margin:12px 0 4px;font-size:.85rem;font-weight:700}.confirm-slot{color:#5c4d6c;margin:2px 0}.demo-note{text-align:center;margin-top:16px}.analytics-card,.tools-card{margin-bottom:20px}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:18px 0 24px;display:grid}.stat-card{text-align:center;background:#faf6ef;border:2px solid #f0e6f2;border-radius:14px;flex-direction:column;gap:4px;padding:16px;display:flex}.stat-value{color:#3f3350;font-family:Quicksand,sans-serif;font-size:1.5rem;font-weight:700}.stat-label{color:#9c8da8;font-size:.78rem}.bar-chart{flex-direction:column;gap:10px;margin-top:10px;display:flex}.bar-row{grid-template-columns:90px 1fr 28px;align-items:center;gap:10px;display:grid}.bar-label{color:#6c5e7a;font-size:.85rem}.bar-track{background:#f0e6f2;border-radius:999px;height:12px;overflow:hidden}.bar-fill{background:#c5b8e0;border-radius:999px;height:100%;transition:width .2s}.bar-count{color:#6c5e7a;text-align:right;font-size:.85rem;font-weight:600}.tools-row{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.search-row{flex:1;min-width:220px;margin-bottom:0}.search-row-card{margin-bottom:20px}.qr-section{background:#faf6ef;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex}.qr-text{flex:1;min-width:220px}.qr-link-row{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.qr-link{color:#6c5e7a;word-break:break-all;background:#fff;border:2px solid #f0e6f2;border-radius:10px;padding:8px 12px;font-size:.85rem}.qr-image{background:#fff;border:2px solid #f0e6f2;border-radius:14px;width:140px;height:140px;padding:10px}.pill-coupon{color:#7a6a8c;background:#f6f1fb}.narrow-page{max-width:640px;margin:0 auto}.narrow-page.wide{max-width:980px}.contact-hint{margin-top:-6px}.contact-hint a{color:#c58fa6;font-weight:600}.btn-sm{padding:8px 16px;font-size:.85rem}.payment-method-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}@media (width<=560px){.payment-method-grid{grid-template-columns:1fr}}.payment-method-card{cursor:pointer;background:#fcf9f4;border:2px solid #f0e6f2;border-radius:16px;flex-direction:column;gap:4px;padding:16px;display:flex;position:relative}.payment-method-card input{position:absolute;top:14px;right:14px}.payment-method-card.selected{background:#f1f8f4;border-color:#b8d4c8;box-shadow:0 4px 14px #b8d4c84d}.payment-method-title{color:#3f3350;padding-right:20px;font-weight:700}.payment-method-desc{color:#9c8da8;font-size:.82rem}.payment-stub-note,.coupon-row{margin-bottom:18px}.coupon-input-row{margin-bottom:0}.coupon-input-group{gap:10px;display:flex}.coupon-input-group input{flex:1}.coupon-message{margin:8px 0 0}.payment-summary{margin-bottom:4px}.role-toggle{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.role-pill{color:#6c5e7a;cursor:pointer;background:#fcf9f4;border:2px solid #f0e6f2;border-radius:999px;padding:10px 18px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600}.role-pill.selected{color:#3f3350;background:#f6f1fb;border-color:#c5b8e0}.demo-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:14px;display:flex}.housekeeper-identity{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.housekeeper-identity label{color:#6c5e7a;font-size:.9rem;font-weight:600}.housekeeper-identity select{background:#fdfbf8;border:2px solid #efe6ef;border-radius:12px;padding:8px 12px;font-family:Poppins,sans-serif}.booking-list{flex-direction:column;gap:18px;display:flex}.booking-card{flex-direction:column;gap:14px;display:flex}.booking-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-meta{color:#6c5e7a;flex-wrap:wrap;align-items:center;gap:10px;font-size:.88rem;display:flex}.booking-total{color:#c58fa6;font-weight:700}.booking-notes{color:#5c4d6c;background:#faf6ef;border-radius:12px;margin:0;padding:10px 14px;font-size:.88rem}.pill-tag{color:#7a6a8c;background:#eee4f2;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600}.status-badge{white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:700}.status-badge.status-pending-housekeeper{color:#9c6a2c;background:#fbe9d4}.status-badge.status-confirmed{color:#2c7a52;background:#dcefe4}.status-badge.status-needs-new-times{color:#b0415e;background:#fbe0e6}.status-badge.status-cancelled{color:#837070;background:#eee4e4}.slot-options{flex-direction:column;gap:10px;display:flex}.slot-option{color:#5c4d6c;background:#faf6ef;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.9rem;display:flex}.slot-option-actions{gap:8px;display:flex}.slot-tag{text-transform:capitalize;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.slot-tag-pending{color:#7a6a8c;background:#eee4f2}.slot-tag-accepted{color:#2c7a52;background:#dcefe4}.slot-tag-declined{color:#b0415e;background:#fbe0e6}.admin-edit-panel{background:#faf6ef;border-radius:14px;margin-top:4px;padding:16px}.admin-slot-list{flex-direction:column;gap:10px;display:flex}.admin-slot-row{grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:10px;display:grid}@media (width<=560px){.admin-slot-row{grid-template-columns:1fr}}.admin-slot-row input,.admin-slot-row select{background:#fff;border:2px solid #efe6ef;border-radius:10px;padding:8px 10px;font-family:Poppins,sans-serif;font-size:.85rem}.admin-actions{justify-content:flex-end}.admin-demo-note{margin-bottom:4px}
