:root{--bg:#f7efe7;--bg-alt:#f1e4d8;--surface:#fffaf5;--surface-2:#fdf4ea;--text:#2b211d;--muted:#7b6a61;--line:#5238231f;--shadow:0 22px 60px #4531231a;--shadow-soft:0 12px 28px #45312312;--primary:#6f8058;--primary-dark:#566644;--primary-soft:#6f80581f;--success:#2f855a;--danger:#b91c1c;--warning:#b7791f;--radius:22px}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top left,#ffffffbf,#0000 24%),radial-gradient(circle at top right,#6f80581f,#0000 30%),linear-gradient(180deg,#fffdf9,#f7efe7 45%,#f1e4d8);background:radial-gradient(circle at top left,#ffffffbf,#0000 24%),radial-gradient(circle at top right,#6f80581f,#0000 30%),linear-gradient(180deg,#fffdf9 0,var(--bg) 45%,var(--bg-alt) 100%);color:#2b211d;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}*{box-sizing:border-box}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.App{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf4eb;border:1px solid #5238231a;border-radius:28px;box-shadow:0 18px 44px #45312314;display:flex;gap:18px;justify-content:space-between;margin:18px auto 0;padding:16px 20px;position:-webkit-sticky;position:sticky;top:12px;width:min(1200px,calc(100% - 32px));z-index:20}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:12px;min-width:0}.brand strong{display:block;font-size:1.02rem;letter-spacing:-.01em;line-height:1.1}.brand small{color:#7b6a61;color:var(--muted);display:block;line-height:1.2;margin-top:3px}.brand-mark{background:linear-gradient(135deg,#556243,#c9a16d);border-radius:16px;box-shadow:0 14px 26px #5f6d4b38;color:#fff;display:grid;flex:0 0 44px;height:44px;place-items:center;width:44px}.nav-links{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.link-button,.nav-links a{align-items:center;background:#0000;border:1px solid #0000;border-radius:999px;color:#2b211d;color:var(--text);display:inline-flex;font-weight:600;justify-content:center;padding:10px 14px}.link-button:hover,.nav-links a:hover{background:#6f80581a}.nav-links a.active{background:#6f80581f;border-color:#6f80582e;color:#566644;color:var(--primary-dark)}.nav-cta{background:#6f8058!important;background:var(--primary)!important;color:#fff!important}.link-button{cursor:pointer;font:inherit}@media (max-width:760px){.date-options{grid-template-columns:repeat(4,minmax(0,1fr))}.week-controls{align-items:center;display:flex;gap:6px}.week-controls button{background:#fff;background:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;cursor:pointer;font-weight:600;min-height:32px;min-width:34px}.week-controls button:nth-child(2){padding:0 10px}.date-options-heading{display:grid}.topbar{align-items:stretch;flex-direction:column;padding:12px 14px;position:static;width:min(100%,calc(100% - 20px))}.brand,.nav-links{justify-content:flex-start}.nav-links{width:100%}}.page{margin:0 auto;padding:28px 0 56px;width:min(1200px,calc(100% - 32px))}.split-page{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr)}.admin-page,.home-page,.owner-page{padding-top:28px}.admin-hero-card,.auth-card,.booking-form,.business-profile-hero,.hero,.panel,.section-card{background:linear-gradient(180deg,#fffffff7,#fdf4eaf2);border:1px solid #5238231f;border:1px solid var(--line);border-radius:26px;box-shadow:0 12px 28px #45312312;box-shadow:var(--shadow-soft)}.business-profile-hero,.hero,.panel{padding:24px}.business-profile-hero,.hero{overflow:hidden}.business-profile-hero{grid-gap:28px;align-items:center;display:grid;gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr)}.business-profile-copy{grid-gap:14px;display:grid;gap:14px}.business-profile-copy .hero-text,.business-profile-copy .muted-text{margin:0}.business-profile-media{min-width:0}.business-profile-media img{aspect-ratio:1.22;background:#ead7c5;border-radius:20px;object-fit:cover;width:100%}.marketplace-hero{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);margin-bottom:24px}.visual-card{border-radius:22px;display:flex;flex-direction:column;gap:18px;justify-content:space-between;min-height:100%;overflow:hidden;position:relative}.hero-visual{aspect-ratio:1.25;background:#ead7c5;border-radius:18px;object-fit:cover;width:100%}.visual-card-caption{grid-gap:4px;display:grid;gap:4px}.visual-card-caption strong{color:#566644;color:var(--primary-dark);font-size:2.4rem;line-height:1}.visual-card-caption span{font-weight:700}.visual-card-caption p{color:#7b6a61;color:var(--muted);line-height:1.5;margin:4px 0 0}.hero-card,.hero-copy{background:linear-gradient(180deg,#fffefb,#f5ede4);padding:24px}.admin-appointment-card p,.admin-list-row,.business-meta,.hero-text,.muted-text,.owner-appointment p,.owner-list-item,.section-note{color:#7b6a61;color:var(--muted)}.hero-text{font-size:1.05rem;line-height:1.7;margin:0}.eyebrow{color:#8c6b43;font-size:.75rem;font-weight:700;letter-spacing:.14em;margin:0;text-transform:uppercase}.owner-form-kicker{font-size:.68rem;letter-spacing:.16em;margin-bottom:-6px}.owner-form-title{color:#2b211d;color:var(--text);font-size:1.34rem;font-weight:600;letter-spacing:-.03em;line-height:1.08;margin:0}.owner-form-title-center{justify-self:center;margin-top:-10px;text-align:center;width:100%}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}h1,h2{margin-bottom:0}h2{font-size:clamp(1.3rem,2.2vw,2rem)}h3{font-size:1.05rem;margin-bottom:0}.section-header{align-items:end;display:flex;gap:14px;justify-content:space-between;margin:4px 0 18px}.search-panel{grid-gap:14px;display:grid;gap:14px;margin-top:18px}.admin-pill-row,.admin-tabs,.category-pills,.hero-actions,.owner-actions{background:#fffc;border:1px solid #5238231f;border:1px solid var(--line);border-radius:18px;margin-bottom:18px;padding:12px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.more-actions{margin:0;position:relative}.more-actions-summary{list-style:none}.more-actions-summary::-webkit-details-marker{display:none}.more-actions-menu{grid-gap:8px;background:#fffffffa;border:1px solid #5238231f;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 32px #45312324;display:grid;gap:8px;min-width:200px;padding:12px;position:absolute;right:0;top:calc(100% + 10px);z-index:20}.more-actions-menu .button{width:100%}.category-pills{align-items:center}.admin-tabs button,.badge,.button,.pill,.time-chip{border-radius:999px}.admin-tabs button,.button,.pill,.time-chip{border:1px solid #0000;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.pill{background:#ffffffdb;border-color:#6f80582e;color:#2b211d;color:var(--text);padding:10px 14px}.admin-tabs button.active,.button.primary,.pill.active{background:linear-gradient(135deg,#566644,#6f8058);background:linear-gradient(135deg,var(--primary-dark),var(--primary));border-color:#0000;box-shadow:0 14px 26px #56664433;color:#fff}.admin-tabs button,.button,input,select,textarea{outline:none}.button{align-items:center;background:#fff;border-color:#2563eb2e;color:#2b211d;color:var(--text);cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;padding:12px 18px}.admin-tabs button:hover,.button:hover,.pill:hover,.time-chip:not(:disabled):hover{box-shadow:0 14px 26px #4531231a;transform:translateY(-1px)}.admin-tabs button,.button.ghost{background:#ffffffb8}.admin-tabs button.active:hover,.button.primary:hover{background:#566644;background:var(--primary-dark)}.button.full,.full-width{width:100%}.admin-pill-row .badge,.button.compact,.hero-actions.compact .button{padding-inline:14px}.admin-overview-grid,.admin-stats-grid,.business-grid,.owner-grid-two,.owner-layout,.service-grid{grid-gap:18px;display:grid;gap:18px}.owner-invite-form{grid-gap:12px;display:grid;gap:12px}.owner-invite-form button{width:100%}.business-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.business-grid.small,.service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:18px}.admin-overview-grid,.owner-layout{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.owner-grid-two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.owner-work-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-width:0}.owner-work-grid>.owner-form{min-width:0}.owner-lower-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.owner-layout>.owner-lower-grid{grid-column:1/-1}.owner-lower-stack{grid-gap:18px;display:grid;gap:18px;min-width:0}.owner-lower-grid>.panel{align-self:start;min-width:0}.owner-quick-card{grid-gap:14px;display:grid;gap:14px}.owner-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.owner-snapshot{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}.owner-snapshot div{grid-gap:4px;background:#ffffffb8;border:1px solid #0f172a14;border-radius:14px;display:grid;gap:4px;justify-items:center;padding:12px 14px;text-align:center}.owner-snapshot span{color:#7b6a61;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.owner-snapshot strong{font-size:1.2rem}.owner-member-row{align-items:center;min-width:0}.owner-member-row>div:first-child{flex:1 1 auto;min-width:0}.owner-member-row>div:first-child>div{overflow-wrap:anywhere}.owner-member-row .owner-actions{grid-gap:8px;display:grid;flex:0 1 330px;gap:8px;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) auto;justify-content:stretch;min-width:0}.owner-member-row .owner-actions .ghost,.owner-member-row .owner-actions select{min-width:0;width:100%}.owner-lower-grid>.panel .owner-member-row{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.owner-lower-grid>.panel .owner-member-row .owner-actions{flex:none;grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) auto;justify-content:start;max-width:100%;width:100%}.owner-lower-grid>.panel .owner-member-row>div:first-child>div{overflow-wrap:normal;word-break:normal}.owner-work-grid .owner-member-row{min-width:0}.owner-work-grid .owner-member-row .owner-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;justify-content:flex-start;max-width:100%;min-width:0;width:auto}.owner-work-grid .owner-member-row .owner-actions>*{flex:0 0 auto;max-width:100%;width:auto}.owner-work-grid .owner-member-row>div:first-child{max-width:100%}.admin-appointment-card,.admin-list-card,.admin-stat,.business-card,.owner-appointment,.owner-list-item,.service-card,.time-chip{background:#fffaf5;background:var(--surface);border:1px solid #5238231f;border:1px solid var(--line);border-radius:18px}.admin-appointment-card,.admin-list-card,.business-card,.owner-appointment,.service-card{padding:22px}.business-card,.service-card{grid-gap:14px;display:grid;gap:14px}.admin-appointment-card:hover,.admin-list-card:hover,.business-card:hover,.owner-appointment:hover,.service-card:hover{box-shadow:0 22px 50px #4531231f}.appointment-card{grid-gap:16px;display:grid;gap:16px}.appointment-card-head{align-items:start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.appointment-card-business{grid-gap:6px;display:grid;flex:1 1 100%;gap:6px;min-width:0}.appointment-card-business-line{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.appointment-card-business-line .business-type{margin:0;padding-inline:9px}.appointment-card-business-line .badge{align-self:center;border-radius:999px;box-shadow:none;flex:0 0 auto;font-size:.72rem;font-weight:600;letter-spacing:.03em;line-height:1;margin-top:0;opacity:.92;padding:4px 8px;text-transform:none}.appointment-card-head h3{margin:6px 0 4px}.appointment-card-head p{color:#7b6a61;color:var(--muted);margin:0}.appointment-card-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.appointment-card-item{grid-gap:4px;background:#ffffffb3;border:1px solid #0f172a14;border-radius:14px;display:grid;gap:4px;padding:12px 14px}.appointment-card-label{color:#7b6a61;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.appointment-card-item p,.appointment-card-item span,.appointment-card-item strong{min-width:0;overflow-wrap:anywhere;word-break:break-word}.appointment-card-item strong{color:#2b211d;color:var(--text);font-size:.95rem;line-height:1.45}.appointment-workflow{grid-gap:10px;border-top:1px solid #5238231a;display:grid;gap:10px;margin-top:4px;padding-top:12px}.appointment-admin-note,.appointment-final-note,.appointment-status-note{color:#7b6a61;color:var(--muted);font-size:.86rem;margin:0}.appointment-admin-note{color:#7c2d12}.appointment-actions{display:flex;flex-wrap:wrap;gap:8px}.appointment-actions button{min-height:38px}.danger-action{background:#9f12390d;border-color:#9f123938;color:#9f1239}.danger-action:hover{background:#9f12391a}.appointment-notes{background:#6f805814;border-left:3px solid #6f805859;border-radius:12px;color:#2b211d;color:var(--text);line-height:1.6;margin:0;padding:12px 14px}.badge,.business-type{align-items:center;display:inline-flex;font-size:.8rem;font-weight:700;gap:6px;letter-spacing:.04em;padding:6px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.business-type{background:#6f80581f;border-radius:999px;color:#566644;color:var(--primary-dark)}.business-meta{display:flex;flex-wrap:wrap;font-size:.92rem;gap:12px}.stat-card{align-self:start}.admin-page .panel,.auth-card,.booking-form,.owner-page .panel{position:relative}.admin-hero,.owner-toolbar{align-items:start}.admin-hero-card{padding:20px}.admin-pill-row .badge{border:1px solid #ffffff1a}.badge{background:#fdf4ea;background:var(--surface-2);border:1px solid #5238231f;border:1px solid var(--line);color:#2b211d;color:var(--text)}.badge-primary{background:#6f80581f;background:var(--primary-soft);border-color:#2563eb2e;color:#566644;color:var(--primary-dark)}.badge.badge-completed,.badge.badge-confirmed,.badge.badge-success{background:#16a34a1a;border-color:#16a34a2e;color:#15803d}.badge.badge-requested{background:#f973161a;border-color:#f973162e;color:#b45309}.badge.badge-pending{background:#3b82f61a;border-color:#3b82f62e;color:#2563eb}.badge.badge-reschedule_requested{background:#a855f71a;border-color:#a855f72e;color:#7c3aed}.badge.badge-cancelled{background:#ef444414;border-color:#ef444429;color:#b91c1c}.badge.badge-no_show{background:#0f172a14;border-color:#0f172a29;color:#334155}.badge.badge-admin{background:#8b5cf61f;border-color:#7c3aed2e;color:#7c3aed}.badge.badge-staff{background:#0ea5e91f;border-color:#0ea5e92e;color:#0284c7}.badge.badge-manager,.badge.badge-owner{background:#2563eb1f;border-color:#2563eb2e;color:#566644;color:var(--primary-dark)}.badge.badge-customer{background:#94a3b81f;border-color:#94a3b82e;color:#475569}.admin-tabs{background:#fffc;border:1px solid #5238231f;border:1px solid var(--line);border-radius:18px;margin-bottom:18px;padding:12px}.admin-tabs button{border-color:#2563eb26;color:#2b211d;color:var(--text);cursor:pointer;font-weight:600;padding:10px 16px}.admin-search,input,select,textarea{background:#ffffffdb;border:1px solid #5238231f;border-radius:16px;box-shadow:inset 0 1px 0 #fffc;color:#2b211d;color:var(--text);padding:12px 14px;width:100%}.admin-search:focus,input:focus,select:focus,textarea:focus{border-color:#6f80588c;box-shadow:0 0 0 4px #6f80581a}textarea{min-height:110px;resize:vertical}label{grid-gap:8px;display:grid;font-weight:600;gap:8px}.admin-page .panel,.auth-card,.booking-form,.owner-form,.owner-page .panel,.panel form{grid-gap:14px;display:grid;gap:14px}.auth-page{display:grid;min-height:calc(100vh - 40px);place-items:center}.auth-card{padding:28px;width:min(460px,100%)}.auth-card h1{font-size:2rem}.booking-form{gap:16px;padding:22px}.booking-inline-fields{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.booking-inline-fields label{margin:0}.date-options-panel{grid-gap:10px;background:#ffffffb8;border:1px solid #5238231a;border-radius:16px;display:grid;gap:10px;padding:14px}.date-options-heading{color:#7b6a61;color:var(--muted);display:flex;font-size:.82rem;gap:10px;justify-content:space-between}.date-options-heading strong{color:#2b211d;color:var(--text)}.date-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.date-option{grid-gap:3px;background:#fff;border:1px solid #6f805838;border-radius:12px;color:#2b211d;color:var(--text);cursor:pointer;display:grid;gap:3px;padding:10px 8px;text-align:left}.date-option small,.date-option span,.date-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-option strong{font-size:.78rem}.date-option span{font-size:.86rem;font-weight:700}.date-option small{color:#7b6a61;color:var(--muted);font-size:.68rem}.date-option.active{background:#6f80581f;border-color:#6f8058;border-color:var(--primary);box-shadow:0 0 0 2px #6f80581f}.date-option.unavailable,.date-option:disabled{background:#6b728014;border-color:#6b72803d;border-style:dashed;color:#7b6a61;color:var(--muted);cursor:not-allowed;opacity:.78}.date-option.unavailable small{color:#9f1239}.availability-panel{grid-gap:12px;background:#ffffffe6;border:1px solid #5238231f;border-radius:16px;display:grid;gap:12px;padding:16px}.availability-summary{align-items:center;color:#7b6a61;color:var(--muted);display:flex;font-size:.95rem;gap:12px;justify-content:space-between}.availability-legend{display:flex;flex-wrap:wrap;gap:8px}.availability-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;letter-spacing:.04em;padding:7px 12px;text-transform:uppercase}.availability-pill-available{background:#6f80581f;border-color:#6f805838;color:#566644;color:var(--primary-dark)}.availability-pill-booked{background:#fbbf2429;border-color:#fbbf2447;color:#7c2d12}.availability-pill-hours{background:#3b82f61f;border-color:#3b82f633;color:#1d4ed8}.availability-pill-closed{background:#f472b61f;border-color:#f472b638;color:#7c2d12}.availability-note{color:#7b6a61;color:var(--muted);font-size:.9rem;margin:0}.time-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.time-chip{align-items:flex-start;background:#fff;border:1px solid #2563eb2e;color:#2b211d;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.time-chip.active{background:#6f80581a;border-color:#6f8058;border-color:var(--primary)}.time-chip.unavailable,.time-chip:disabled{background:#ffffffb8;border-style:dashed;box-shadow:none!important;cursor:not-allowed;opacity:.55;transform:none!important}.time-chip small{color:#7b6a61;color:var(--muted);font-weight:500}.owner-toolbar{margin-bottom:18px}.owner-main{grid-gap:18px;align-self:start;display:grid;gap:18px;min-width:0}.owner-layout{align-items:start;grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr)}.owner-list{grid-gap:10px;display:grid;gap:10px}.owner-list-item{background:#ffffffd6;gap:12px;padding:13px 15px}.owner-appointment,.owner-list-item,.owner-member-row{align-items:center;display:flex;justify-content:space-between}.owner-appointment,.owner-member-row{gap:16px}.owner-appointments{grid-gap:12px;display:grid;gap:12px}.owner-appointment-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:14px 0 16px}.status-legend{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:12px 0 16px;text-align:center}.status-legend .badge{text-transform:uppercase}.owner-appointment-filters input[type=date],.owner-appointment-filters input[type=text],.owner-appointment-filters select{width:100%}.owner-appointment-filters label{grid-gap:6px;color:#2b211d;color:var(--text);display:grid;font-size:.9rem;font-weight:600;gap:6px}.owner-appointment-filters input,.owner-appointment-filters select{min-width:0}.appointment-date-line{color:#2b211d;color:var(--text);font-size:.98rem;font-weight:600}.owner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.owner-actions .button,.owner-actions .ghost,.owner-actions select{border-color:#6f80582e}.button.ghost,.owner-actions .ghost{background:#ffffffd1}.owner-actions .ghost{border-color:#6f80582e}.owner-form input,.owner-form select,.owner-form textarea{background:#ffffffeb;min-width:0}.owner-form label{color:#2b211d;color:var(--text);font-size:.95rem;font-weight:600}.owner-form .eyebrow{font-size:.68rem;letter-spacing:.16em}.admin-business-access{display:flex;flex-wrap:wrap;gap:6px;min-width:180px}.admin-business-access .badge{line-height:1.25;white-space:normal}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;min-width:760px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #0f172a14;padding:14px 10px;text-align:left;vertical-align:top}.admin-table th{color:#7b6a61;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.admin-list,.admin-list.compact{grid-gap:12px;display:grid;gap:12px}.admin-list.compact .admin-list-row{border-bottom:1px solid #0f172a14;display:flex;gap:12px;justify-content:space-between;padding:10px 0}.admin-appointment-card,.admin-list-card{grid-gap:12px;display:grid;gap:12px}.admin-appointment-card .owner-actions{justify-content:flex-start}.error-message,.success-message{background:#2f855a14;border-color:#2f855a2e;color:#2f855a;color:var(--success)}.error-message{background:#b91c1c14;border-color:#b91c1c2e;color:#b91c1c;color:var(--danger)}.success-message{background:#2f855a14;border-color:#2f855a2e;color:#2f855a;color:var(--success)}.muted-text{line-height:1.7;margin-bottom:0}.hidden{display:none!important}@media (max-width:1080px){.owner-lower-grid{grid-template-columns:1fr}.owner-member-row .owner-actions{flex-basis:360px}.admin-overview-grid,.marketplace-hero,.owner-layout,.split-page{grid-template-columns:1fr}.admin-stats-grid,.business-grid,.owner-grid-two,.owner-work-grid,.service-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.page{padding-top:18px;width:min(100%,calc(100% - 20px))}.booking-form{gap:12px;padding:14px}.appointment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-actions button{width:100%}.appointment-card-head{align-items:stretch}.appointment-card-business-line{align-items:flex-start}.appointment-card-business-line .badge{margin-top:0}.booking-form>label{gap:6px}.booking-inline-fields{gap:8px;grid-template-columns:1fr}.availability-panel,.date-options-panel{gap:10px;padding:12px}.date-options{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.date-option{padding:9px 6px;text-align:center}.date-option small{font-size:.64rem}.availability-summary{display:grid;justify-content:stretch}.availability-legend{gap:6px}.availability-pill{font-size:.68rem;padding:6px 9px}.time-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.time-chip{min-height:58px;padding:10px}.booking-form>button[type=submit]{min-height:48px;width:100%}.admin-stats-grid,.business-grid,.owner-grid-two,.owner-work-grid,.service-grid{grid-template-columns:1fr}.auth-card,.booking-form,.business-profile-hero,.hero,.panel,.split-page{padding:18px}.business-profile-hero{grid-template-columns:1fr}.business-profile-media img,.hero-visual{aspect-ratio:1.35}.availability-summary,.owner-appointment,.owner-list-item,.owner-member-row,.section-header{align-items:flex-start;flex-direction:column}.owner-member-row>div:first-child{width:100%}.owner-lower-grid>.panel .owner-member-row .owner-actions,.owner-member-row .owner-actions{display:flex;flex:none;flex-basis:auto;flex-wrap:wrap;grid-template-columns:none;justify-content:flex-start;max-width:100%;width:100%}.owner-member-row .owner-actions .ghost,.owner-member-row .owner-actions select{min-width:0;width:auto}.admin-table{min-width:620px}h1{font-size:2rem}}.topbar-meta{align-items:center;display:flex;justify-content:center}.auth-badge{align-items:center;background:#6f80581a;border:1px solid #6f80582e;border-radius:999px;color:#566644;color:var(--primary-dark);display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;padding:8px 12px;white-space:nowrap}.auth-badge-muted{background:#5238230f;border-color:#52382314;color:#7b6a61;color:var(--muted)}.dashboard-page{padding-top:28px}.stacked-panels{grid-gap:24px;display:grid;gap:24px}.profile-summary-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.panel-heading-row{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.badge{align-items:center;background:#6f80581f;border:1px solid #6f805829;color:#566644;color:var(--primary-dark);display:inline-flex;font-size:.85rem;font-weight:700;justify-content:center;padding:8px 12px}.badge-soft{background:#c9a16d24;border-color:#c9a16d2e;color:#8c6b43}.profile-form{grid-gap:14px;display:grid;gap:14px;margin-top:18px}.profile-form label{grid-gap:8px;color:#2b211d;color:var(--text);display:grid;font-weight:600;gap:8px}.auth-links,.profile-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.auth-links{margin-top:8px}@media (max-width:900px){.split-page{grid-template-columns:1fr}}@media (max-width:640px){.auth-links,.panel-heading-row,.profile-actions{align-items:stretch;flex-direction:column}}.profile-hero-row{align-items:center;display:flex;gap:16px}.avatar-badge{background:linear-gradient(135deg,#566644,#c9a16d);border-radius:24px;box-shadow:0 18px 32px #5666443d;color:#fff;display:grid;flex:0 0 auto;font-size:1.35rem;font-weight:800;height:64px;letter-spacing:.04em;place-items:center;width:64px}.password-strength{grid-gap:8px;display:grid;gap:8px;margin-top:-2px}.password-strength-row{color:#7b6a61;color:var(--muted);display:flex;font-size:.9rem;gap:12px;justify-content:space-between}.password-strength-row strong{color:#2b211d;color:var(--text)}.password-strength-bar{background:#5238231a;border-radius:999px;height:10px;overflow:hidden}.password-strength-fill{border-radius:inherit;display:block;height:100%;transition:width .18s ease}.password-strength-fill.weak{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.password-strength-fill.fair{background:linear-gradient(90deg,#d97706,#f59e0b)}.password-strength-fill.good{background:linear-gradient(90deg,#6f8058,#7aa05a)}.password-strength-fill.strong{background:linear-gradient(90deg,#2f855a,#34d399)}.hero-actions-wrap{flex-wrap:wrap}.more-actions-note{color:#7b6a61;color:var(--muted);font-size:.92rem;padding:4px 2px}.section-toggle{align-items:center;background:#fff8f1d6;border:0;border-radius:18px;box-shadow:inset 0 0 0 1px #825e481f;color:#2b211d;color:var(--text);cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1rem;text-align:left;width:100%}.section-toggle strong{display:block;font-size:1.05rem;margin-top:.15rem}.badge-role-owner{background:#4f3427;color:#fff8f0}.badge-role-manager{background:#7a4f9f;color:#fff}.badge-role-staff{background:#3d6f5d;color:#fff}.permission-note{margin:.35rem 0 .85rem}.owner-actions button:disabled,.owner-form input:disabled,.owner-form select:disabled,.owner-form textarea:disabled{cursor:not-allowed;opacity:.62}.booking-confirmation{grid-gap:1rem;background:linear-gradient(135deg,#e9f8eff5,#fff8eff5);border:1px solid #3e7d563d;border-radius:22px;box-shadow:0 18px 36px #41281a1a;display:grid;gap:1rem;grid-template-columns:auto 1fr;padding:1.1rem}.booking-confirmation-icon{background:#2f7d4f;border-radius:999px;color:#fff;display:grid;font-size:1.25rem;font-weight:800;height:42px;place-items:center;width:42px}.booking-confirmation h2{margin:.1rem 0 .35rem}.booking-confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.85rem}@media (max-width:640px){.booking-confirmation{grid-template-columns:1fr}.booking-confirmation-actions .button,.booking-confirmation-actions button{width:100%}}.service-gallery{background:#eee6dc;height:170px;margin:-1rem -1rem 1rem;overflow:hidden;position:relative}.service-gallery img{display:block;height:100%;object-fit:cover;width:100%}.service-gallery-empty{color:#8b7f76;display:grid;font-size:.82rem;place-items:center}.gallery-arrow{background:#ffffffe0;border:0;border-radius:50%;color:#4e5e43;font-size:1.35rem;height:30px;line-height:1;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:30px}.gallery-arrow-prev{left:10px}.gallery-arrow-next{right:10px}.gallery-dots{bottom:9px;display:flex;gap:5px;justify-content:center;left:0;position:absolute;right:0}.gallery-dot{background:#ffffffa6;border:0;border-radius:50%;height:7px;padding:0;width:7px}.gallery-dot.active{background:#fff;transform:scale(1.25)}.service-owner-row{align-items:flex-start}.service-image-manager{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.service-image-thumb{background:#eee6dc;border-radius:10px;height:58px;overflow:hidden;position:relative;width:58px}.service-image-thumb img{height:100%;object-fit:cover;width:100%}.service-image-remove{background:#32231cc7;border:0;border-radius:50%;color:#fff;height:19px;line-height:1;padding:0;position:absolute;right:2px;top:2px;width:19px}.service-upload-button{align-items:center;border:1px dashed #b99b83;border-radius:8px;color:#8c6b43;cursor:pointer;display:inline-flex;font-size:.8rem;min-height:34px;padding:0 10px}.service-upload-button input{display:none}.review-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.review-card{display:flex;flex-direction:column;gap:.65rem}.review-card-head,.review-form-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.review-stars{color:#c58b45;letter-spacing:.08em;white-space:nowrap}.verified-review-badge{background:#f3eadc;border-radius:999px;color:#7b5734;display:inline-flex;font-size:.75rem;font-weight:700;margin-left:.55rem;padding:.2rem .5rem}.business-review-response{background:#c58b4514;border-left:3px solid #c58b45;margin-top:.75rem;padding:.75rem 1rem}.review-form{grid-gap:.7rem;border:1px solid #785a3c2e;border-radius:14px;display:grid;gap:.7rem;margin-top:1rem;padding:1rem}.review-form label{grid-gap:.3rem;display:grid;font-weight:600;gap:.3rem}.review-form textarea{min-height:90px;resize:vertical}.review-status{margin-top:1rem}.location-search-row,.review-status{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.location-search-row{margin-top:.75rem}.radius-control{align-items:center;display:inline-flex;font-weight:600;gap:.35rem}.radius-control select{width:auto}.distance-label{color:#8a5a2b;font-weight:700;margin-top:-.35rem}.listing-prompt{border-bottom:1px solid #ffffff40;display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;padding-bottom:1rem}.listing-prompt strong{font-size:1.15rem}.listing-prompt span{font-size:.88rem;line-height:1.4}.listing-prompt .button{align-self:flex-start;margin-top:.25rem}.listing-prompt-section{align-items:center;background:linear-gradient(135deg,#fffaf3,#f5eadc);border:1px solid #8a5a2b33;border-radius:18px;display:flex;gap:1rem;justify-content:space-between;margin:2rem 0 1.5rem;padding:1.25rem 1.5rem}.listing-prompt-section>div{display:flex;flex-direction:column;gap:.25rem}.listing-prompt-section .eyebrow{margin:0}.listing-prompt-section strong{color:#432c20;font-size:1.2rem}.listing-prompt-section span{color:#765d4d}@media (max-width:640px){.listing-prompt-section{align-items:flex-start;flex-direction:column}}.business-picker{margin:1.25rem 0}.business-picker-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.business-picker-heading h2{margin:0}.business-picker-heading .eyebrow{margin-bottom:.2rem}.business-picker-search{position:relative}.business-picker-search>input{width:100%}.business-picker-results{grid-gap:.45rem;background:#fff;border:1px solid #eadfd4;border-radius:14px;box-shadow:0 10px 24px #3e271614;display:grid;gap:.45rem;margin-top:.5rem;max-height:380px;overflow-y:auto;padding:.45rem}.business-picker-result{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:inherit;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.75rem;text-align:left;width:100%}.business-picker-result:focus-visible,.business-picker-result:hover{background:#fff8f0;border-color:#d7b48e}.business-picker-result-main,.business-picker-result-rating{display:flex;flex-direction:column;gap:.2rem}.business-picker-result-rating{align-items:flex-end;white-space:nowrap}.business-picker-result small{color:#806c5d}.selected-business-card{align-items:center;background:#fff8f0;border:1px solid #d9c0a5;border-radius:14px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.selected-business-card>div{display:flex;flex-direction:column;gap:.25rem}.selected-business-card span{color:#806c5d;font-size:.92rem}@media (max-width:640px){.business-picker-result,.selected-business-card{align-items:flex-start;flex-direction:column}.business-picker-result-rating{align-items:flex-start}}.date-options-heading{flex-wrap:wrap;gap:14px}.week-controls button{line-height:1;min-height:40px;min-width:44px;padding:0 12px}.week-controls button:nth-child(2){min-width:64px}.week-controls{align-items:center;display:inline-flex;gap:9px}.week-controls button,.week-controls button:nth-child(2){align-items:center;box-sizing:border-box;display:inline-flex;height:40px;justify-content:center;min-height:40px;min-width:56px;padding:0;width:56px}.week-controls button{font-size:1.35rem}.week-controls button:nth-child(2){font-size:.9rem}.date-prerequisite-hint{color:#777;color:var(--muted-text,#777);display:block;font-size:.82rem;font-weight:400;margin-top:4px}.week-controls button:disabled{cursor:not-allowed;opacity:.45}.date-options{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;scroll-snap-type:x proximity}.date-option{flex:0 0 132px;min-height:112px;min-width:132px;scroll-snap-align:start}@media (max-width:600px){.date-option{flex-basis:calc(25% - 7.5px);min-width:0}}.date-option{flex-basis:calc(20% - 8px);flex-grow:0;flex-shrink:0;min-width:0}@media (max-width:600px){.date-option{flex-basis:calc(25% - 7.5px);flex-grow:0;flex-shrink:0;min-width:0}}@media (max-width:640px){.brand-logo{max-height:52px;width:175px}}
/*# sourceMappingURL=main.a7b39c9d.css.map*/