:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7f8fa;--color-surface:#fff;--color-surface-subtle:#fafbfc;--color-surface-sunken:#f2f4f7;--color-text:#101828;--color-text-secondary:#475467;--color-text-muted:#667085;--color-text-subtle:#98a2b3;--color-primary:#3538cd;--color-primary-hover:#2d2fa8;--color-primary-active:#262796;--color-primary-soft:#eef0ff;--color-primary-soft-hover:#e3e5ff;--color-primary-border:#c3c6fc;--color-on-primary:#fff;--color-success:#067647;--color-success-bg:#ecfdf3;--color-success-border:#a9efc5;--color-warning:#b54708;--color-warning-bg:#fffaeb;--color-warning-border:#fedf89;--color-danger:#b42318;--color-danger-bg:#fef3f2;--color-danger-border:#fecdca;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-focus:#3538cd;--color-focus-ring:#3538cd2e;--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-xs:0 1px 2px #1018280a;--shadow-card:0 1px 2px #1018280f, 0 1px 3px #1018280a;--shadow-md:0 4px 8px -2px #10182814, 0 2px 4px -2px #1018280a;--shadow-lg:0 12px 20px -6px #1018281a, 0 4px 8px -4px #1018280a;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--control-height:2.625rem;--control-height-sm:2.25rem;--transition:.14s ease}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}h1{margin:0 0 var(--space-2);letter-spacing:-.021em;font-size:1.625rem;font-weight:650;line-height:1.25}h2,h3{letter-spacing:-.012em}p{margin:0}a{color:var(--color-primary)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.login-page{min-height:100dvh;padding:var(--space-5) var(--space-4) var(--space-8);background:radial-gradient(64rem 32rem at 50% -14rem, var(--color-primary-soft), transparent 70%), var(--color-bg)}.login-card{width:100%;max-width:25rem;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto}.login-card-wide{max-width:42rem}.auth-head{gap:var(--space-1);margin-bottom:var(--space-6);display:grid}.auth-head:before{content:"";width:2.5rem;height:2.5rem;margin-bottom:var(--space-4);border-radius:var(--radius);background:linear-gradient(135deg, var(--color-primary), #6366f1);box-shadow:var(--shadow-md)}.auth-head--with-logo{text-align:center;justify-items:center;gap:0}.auth-head--with-logo:before{content:none}.login-brand-logo{width:min(100%,18.25rem);height:auto;margin:0 auto var(--space-2);object-fit:contain;object-position:center;box-shadow:none;background:0 0;border:0;display:block}.auth-head h1{margin:0;font-size:1.5rem}.auth-subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.auth-form{gap:var(--space-5)}.auth-submit{width:100%;margin-top:var(--space-1)}.auth-footer{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.auth-footer a{font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.password-field--inline{display:block;position:relative}.password-field--inline input{padding-right:4.75rem}.password-toggle{top:50%;right:var(--space-2);height:1.875rem;padding:0 var(--space-2);border-radius:var(--radius-xs);color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;font-weight:600;position:absolute;transform:translateY(-50%)}.password-toggle:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.customer-dashboard,.customer-appointments,.customer-marketplace{gap:var(--space-5);min-width:0;font-family:var(--font);display:grid}.customer-dashboard *,.customer-appointments *,.customer-marketplace *{font-family:inherit}:is(.app-shell:has(.customer-dashboard),.app-shell:has(.customer-appointments),.app-shell:has(.customer-marketplace)){background:radial-gradient(42rem 22rem at 12% -8%,#dce7ff 0%,#0000 70%),radial-gradient(36rem 18rem at 92% 8%,#e8eeff 0%,#0000 68%),#eef3fb}:is(.app-shell:has(.customer-dashboard) .app-header,.app-shell:has(.customer-appointments) .app-header,.app-shell:has(.customer-marketplace) .app-header){background:#ffffffeb;padding-block:.4rem}:is(.app-shell:has(.customer-dashboard) .brand-logo,.app-shell:has(.customer-appointments) .brand-logo,.app-shell:has(.customer-marketplace) .brand-logo){max-width:min(15.25rem,100vw - 5.75rem);height:3.95rem}.customer-account{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-width:0;color:var(--color-text);font-size:var(--text-sm);padding:.2rem .7rem .2rem .2rem;font-weight:650;text-decoration:none;display:inline-flex}.customer-account .profile-avatar{width:1.85rem;height:1.85rem}.customer-hero{gap:var(--space-1);min-width:0;display:grid}.customer-hero h1{margin:0}.customer-hero p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.customer-detail-head{align-items:center;gap:var(--space-3);min-width:0;display:flex}.customer-detail-head h1{overflow-wrap:anywhere;min-width:0;margin:0}.customer-detail-head h1:focus,.customer-detail-head h1:focus-visible{outline:none}.customer-back-button{border:1px solid var(--color-border);background:var(--color-surface);width:2.375rem;min-width:2.375rem;height:2.375rem;box-shadow:var(--shadow-xs);color:var(--color-text-secondary);transition:border-color var(--transition), box-shadow var(--transition), color var(--transition);border-radius:50%;flex-shrink:0;place-items:center;text-decoration:none;display:grid}.customer-back-button:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card);color:var(--color-primary)}.customer-back-button svg{width:1.05rem;height:1.05rem}.customer-appointment-detail{gap:var(--space-4)}.customer-action-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.customer-action-grid>li{min-width:0}.customer-action-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;height:100%;box-shadow:var(--shadow-card);color:inherit;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.45rem;padding:.55rem .6rem;text-decoration:none;display:grid}.customer-action-card:hover:not(.is-disabled){border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.customer-action-card.is-disabled{opacity:.88;cursor:not-allowed}.customer-action-icon{border-radius:50%;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.customer-action-icon svg,.customer-panel-icon svg,.customer-upcoming-meta-icon svg{width:1.05rem;height:1.05rem}.customer-action-icon--repeat{color:#2f6bff;background:#e8f1ff}.customer-action-icon--appointments{color:#3b5bdb;background:#e7ecff}.customer-action-icon--new{color:#7048e8;background:#eee8ff}.customer-action-icon--messages{color:#0ca678;background:#e6fbf3}.customer-action-title{white-space:nowrap;min-width:0;margin:0;font-size:.8rem;font-weight:700;line-height:1.25;overflow:hidden}.customer-action-card--repeat .customer-action-title{overflow:visible}.customer-action-chevron,.customer-upcoming-chevron-icon{width:.95rem;height:.95rem;color:var(--color-text-subtle);flex-shrink:0}.customer-panel{gap:var(--space-2);min-width:0;display:grid}.customer-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.customer-panel-head h2{align-items:center;gap:var(--space-2);font-size:var(--text-md);margin:0;display:flex}.customer-panel-icon{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:1.7rem;height:1.7rem;color:var(--color-primary);place-items:center;display:grid}.customer-panel-icon--messages{background:#e7ecff}.customer-panel-link{color:var(--color-primary);font-size:var(--text-sm);flex-shrink:0;font-weight:650;text-decoration:none}.customer-panel-link-short{display:none}.customer-panel-empty,.customer-panel-empty-card,.customer-messages-empty-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);color:var(--color-text-muted);margin:0}.customer-panel-empty-card,.customer-messages-empty-card{gap:var(--space-3);justify-items:start;display:grid}.customer-upcoming-card{gap:var(--space-3);min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;display:grid}.customer-upcoming-card--upcoming{border-color:var(--color-primary-border);box-shadow:var(--shadow-md)}.customer-upcoming-card--skeleton{background:var(--color-surface-subtle);min-height:4.75rem}.customer-upcoming-logo{object-fit:cover;border-radius:var(--radius-lg);background:var(--color-primary-soft);border:1px solid var(--color-border);width:3rem;min-width:3rem;height:3rem;min-height:3rem}.customer-upcoming-card .customer-upcoming-logo.company-logo,.customer-upcoming-card .customer-upcoming-logo.company-logo--md{border-radius:var(--radius-lg);background:var(--color-primary-soft);width:3rem;min-width:3rem;height:3rem;min-height:3rem}.customer-upcoming-logo--fallback{color:var(--color-primary);font-size:var(--text-sm);letter-spacing:.04em;place-items:center;font-weight:700;display:grid}.customer-upcoming-main{gap:var(--space-2);min-width:0;display:grid}.customer-upcoming-top{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.customer-upcoming-top h2,.customer-upcoming-top h3{overflow-wrap:anywhere;flex:8rem;min-width:0;margin:0;font-size:.98rem}.customer-upcoming-top .appointment-status{overflow-wrap:anywhere;flex:0 auto;max-width:100%}.customer-upcoming-details{grid-template-columns:repeat(2,max-content);justify-content:start;gap:.35rem 1.15rem;width:max-content;max-width:100%;margin:0;display:grid}.customer-upcoming-meta-item{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.4rem;min-width:0;display:grid}.customer-upcoming-meta-icon{width:1rem;height:1.15rem;color:var(--color-text-muted);place-items:center;display:grid}.customer-upcoming-details dd{color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:650}.customer-marketplace .customer-upcoming-details{grid-template-columns:minmax(0,1fr);width:100%}.customer-upcoming-date{gap:.05rem;display:grid}.customer-upcoming-weekday{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.customer-upcoming-chevron{width:2.25rem;min-width:2.25rem;height:2.25rem;color:inherit;align-self:center;place-items:center;text-decoration:none;display:grid}.customer-upcoming-chevron:hover .customer-upcoming-chevron-icon{color:var(--color-primary)}.customer-appointment-detail-card{padding:var(--space-4);align-items:start}.customer-appointment-detail-card .customer-upcoming-main{gap:var(--space-3)}.customer-appointment-facts{gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.customer-appointment-facts dt{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.customer-appointment-facts dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:650}.customer-appointment-actions{gap:var(--space-3);display:grid}.customer-appointment-actions .booking-cta{width:100%;min-height:2.75rem}.customer-appointment-actions .booking-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.customer-appointment-detail .appointment-success{margin:0}@media (width>=768px){.customer-action-grid{gap:var(--space-3)}.customer-action-card{column-gap:.55rem;padding:.65rem .8rem}.customer-action-icon{width:2.15rem;height:2.15rem}.customer-action-title{font-size:.84rem}.customer-upcoming-card{grid-template-columns:3.5rem minmax(0,1fr) auto;padding:.9rem 1rem}.customer-upcoming-logo,.customer-upcoming-card .customer-upcoming-logo.company-logo,.customer-upcoming-card .customer-upcoming-logo.company-logo--md{width:3.5rem;min-width:3.5rem;height:3.5rem;min-height:3.5rem}.customer-appointments .customer-upcoming-details{grid-template-columns:repeat(4,minmax(0,max-content));width:100%}.customer-appointment-detail-card{grid-template-columns:4rem minmax(0,1fr);padding:1.1rem 1.15rem}.customer-appointment-detail-card .customer-upcoming-logo{width:4rem;min-width:4rem;height:4rem;min-height:4rem}}@media (width<=767px){:is(.app-main:has(.customer-dashboard),.app-main:has(.customer-appointments),.app-main:has(.customer-marketplace)){padding:var(--space-4) .7rem var(--space-6)}.customer-dashboard,.customer-appointments,.customer-marketplace{gap:var(--space-4)}.customer-detail-head{gap:var(--space-2)}.customer-back-button{width:2.25rem;min-width:2.25rem;height:2.25rem}.customer-action-card{column-gap:.28rem;padding:.48rem .42rem}.customer-action-icon{width:1.7rem;height:1.7rem}.customer-action-icon svg{width:.92rem;height:.92rem}.customer-action-title{font-size:.72rem}.customer-action-card--repeat .customer-action-title{white-space:normal;letter-spacing:-.03em;flex-direction:column;align-items:flex-start;font-size:clamp(.62rem,3.2vw,.78rem);line-height:1.2;display:flex;overflow:visible}.customer-action-card--repeat .customer-action-title-line{white-space:nowrap;display:block}.customer-action-card--repeat .customer-action-title-space{display:none}.customer-action-chevron{width:.8rem;height:.8rem}.customer-panel-link-full{display:none}.customer-panel-link-short{display:inline}.customer-panel-empty,.customer-panel-empty-card,.customer-messages-empty-card{padding:var(--space-4) var(--space-3)}.customer-upcoming-card{column-gap:.55rem;padding:.7rem .65rem}.customer-upcoming-logo,.customer-upcoming-card .customer-upcoming-logo.company-logo,.customer-upcoming-card .customer-upcoming-logo.company-logo--md{border-radius:var(--radius);width:2.6rem;min-width:2.6rem;height:2.6rem;min-height:2.6rem}.customer-upcoming-top h2,.customer-upcoming-top h3{font-size:.88rem}.customer-upcoming-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem .45rem;width:100%}.customer-upcoming-details dd{font-size:.75rem}}@media (width<=360px){:is(.app-main:has(.customer-dashboard),.app-main:has(.customer-appointments),.app-main:has(.customer-marketplace)){padding-inline:.55rem}.customer-action-card{column-gap:.22rem;padding:.42rem .32rem}.customer-action-icon{width:1.55rem;height:1.55rem}.customer-action-title{font-size:.66rem}}.register-choice-card{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.register-choice-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card)}.register-choice-card h2{font-size:var(--text-md);margin:0}.register-choice-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.register-company-grid{gap:var(--space-4);display:grid}.register-company-card{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:grid}.register-company-card h2{font-size:var(--text-md);margin:0}.register-company-form{gap:var(--space-5)}.lede{color:var(--color-text-muted);margin-bottom:var(--space-6)}.login-form{gap:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}.field label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.field input,.field select,.password-field input,.hours-times input{width:100%;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);transition:border-color var(--transition), box-shadow var(--transition)}.field input::placeholder{color:var(--color-text-subtle)}.field input:hover:not(:disabled),.field select:hover:not(:disabled),.password-field input:hover:not(:disabled){border-color:var(--color-text-subtle)}.field input:focus-visible,.field select:focus-visible,.password-field input:focus-visible,.hours-times input:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true],.hours-times input[aria-invalid=true]{border-color:var(--color-danger-border)}.field input[aria-invalid=true]:focus-visible{border-color:var(--color-danger);box-shadow:0 0 0 3px #b4231824}.field input:disabled,.field select:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none}.password-field{gap:var(--space-2);grid-template-columns:1fr auto;align-items:center;display:grid}.field-error,.error-banner{color:var(--color-danger);font-size:var(--text-sm)}.error-banner{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);font-weight:500}.success-banner{padding:var(--space-3) var(--space-4);background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.warning-banner{gap:var(--space-3);padding:var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);border-radius:var(--radius);display:grid}.warning-banner p{margin:0}.field-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.service-list,.helpdesk-list,.data-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow-x:auto}.service-table,.helpdesk-table{border-collapse:collapse;width:100%;min-width:36rem}.service-table th,.service-table td,.helpdesk-table th,.helpdesk-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.service-table th,.helpdesk-table th{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--color-surface-subtle);font-weight:600}.service-table tbody tr,.helpdesk-table tbody tr{transition:background var(--transition)}.service-table tbody tr:hover,.helpdesk-table tbody tr:hover{background:var(--color-surface-subtle)}.service-table tbody tr:last-child td,.helpdesk-table tbody tr:last-child td{border-bottom:none}.service-table-name p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.service-table-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.service-status,.helpdesk-status,.appointment-status,.admin-status,.admin-appointment-status{border-radius:var(--radius-pill);min-height:1.375rem;font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;padding:.1rem .55rem;font-weight:700;display:inline-flex}.service-status{background:var(--color-surface-sunken);color:var(--color-text-muted)}.service-status--active{background:var(--color-success-bg);color:var(--color-success)}.service-status--inactive{background:var(--color-danger-bg);color:var(--color-danger)}.helpdesk-table-row{cursor:pointer}.helpdesk-table-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.helpdesk-status--new{background:var(--color-primary-soft);color:var(--color-primary)}.helpdesk-status--in-progress{background:var(--color-warning-bg);color:var(--color-warning)}.helpdesk-status--resolved{background:var(--color-success-bg);color:var(--color-success)}.helpdesk-status--unknown{background:var(--color-surface-sunken);color:var(--color-text-muted)}.helpdesk-type-heading{font-size:var(--text-sm);font-weight:600}.helpdesk-type-options{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.helpdesk-type-option{min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex;position:relative}.helpdesk-type-option:hover{border-color:var(--color-primary-border)}.helpdesk-type-option:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.helpdesk-type-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.helpdesk-type-option-label{font-size:var(--text-sm);font-weight:600}.helpdesk-type-option.is-selected .helpdesk-type-option-label{color:var(--color-primary);font-weight:700}.helpdesk-type-option-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.helpdesk-attachment-preview,.helpdesk-detail-attachment{gap:var(--space-3);margin-top:var(--space-3);display:grid}.helpdesk-attachment-name{color:var(--color-text-muted);font-size:var(--text-sm);word-break:break-word;margin:0}.helpdesk-attachment-image{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:min(100%,20rem);max-width:100%;height:auto;display:block}.helpdesk-detail-card .helpdesk-detail-description{white-space:pre-wrap;word-break:break-word}.company-dashboard-actions{gap:var(--space-4);display:grid}.quick-action{gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition), box-shadow var(--transition);align-content:start;display:grid}.quick-action:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.quick-action-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.quick-action-icon{border-radius:var(--radius);background:var(--color-primary-soft);width:2.25rem;height:2.25rem;color:var(--color-primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.quick-action-icon svg{width:1.15rem;height:1.15rem}.quick-action-metric{text-align:right;gap:0;display:grid}.quick-action-metric-value{font-size:var(--text-xl);letter-spacing:-.025em;font-weight:700;line-height:1.15}.quick-action-metric-label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.quick-action-title{font-size:var(--text-md);margin:0;font-weight:650}.quick-action-title a{color:var(--color-text);text-decoration:none}.quick-action-title a:hover{color:var(--color-primary)}.quick-action-desc{color:var(--color-text-muted);font-size:var(--text-sm)}.quick-action-cta{margin-top:var(--space-3);justify-self:start}.company-form textarea,.field textarea{width:100%;min-height:5.5rem;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);resize:vertical;transition:border-color var(--transition), box-shadow var(--transition)}.company-form textarea:focus-visible,.field textarea:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.primary-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--transition), border-color var(--transition);font-weight:600;text-decoration:none;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.primary-button:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.primary-button:disabled{background:var(--color-surface-sunken);border-color:var(--color-border-strong);color:var(--color-text-subtle);box-shadow:none;cursor:not-allowed}.ghost-button{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--transition), border-color var(--transition), color var(--transition);font-weight:600;text-decoration:none;display:inline-flex}.ghost-button:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-text-subtle);color:var(--color-text)}a.ghost-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.app-shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.app-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#ffffffe0;flex-wrap:nowrap;display:flex;position:sticky;top:0}.app-menu-toggle{display:none}.app-header-menu{justify-content:space-between;align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.brand{min-width:0;color:var(--color-text);flex-shrink:0;align-items:center;text-decoration:none;display:flex}.brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:min(14rem,100%);height:3.4rem;box-shadow:none;background:0 0;border:0;display:block}.brand-group{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.app-nav{gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;font-weight:600;display:flex}.app-nav a{color:var(--color-text);text-decoration:none}.app-nav a:hover,.app-nav a.is-active{color:var(--color-primary)}.company-tabs{gap:var(--space-2);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--color-border);margin:calc(-1 * var(--space-1)) 0 0;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.company-tabs::-webkit-scrollbar{display:none}.company-tabs__link{padding:var(--space-3) var(--space-1);margin-right:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;transition:color var(--transition), border-color var(--transition);border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;font-weight:600;text-decoration:none}.company-tabs__link:hover{color:var(--color-text);border-bottom-color:var(--color-border-strong)}.company-tabs__link.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.header-meta{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}@media (width<=768px){.app-header{flex-wrap:nowrap;position:sticky}.app-menu-toggle{width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.app-menu-toggle:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.app-menu-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.app-menu-toggle__icon{font-size:1.35rem;line-height:1}.app-header-menu{justify-content:flex-start;align-items:stretch;gap:var(--space-2);min-width:0;max-width:100%;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:21;flex-direction:column;flex:none;display:none;position:absolute;top:100%;left:0;right:0}.app-header.is-menu-open .app-header-menu{display:flex}.app-header .app-nav{gap:var(--space-1);flex-flow:column;width:100%;display:flex}.app-header .app-nav a{border-radius:var(--radius);width:100%;padding:.7rem .75rem;display:block}.app-header .app-nav a.is-active{background:var(--color-primary-soft);color:var(--color-primary)}.app-header .header-meta{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.app-header .header-meta .ghost-button{width:100%}}.user-chip{color:var(--color-text-muted);font-size:var(--text-sm);display:none}.app-main,.placeholder,.status-page{padding:var(--space-5) var(--space-4)}.status-page{background:radial-gradient(64rem 32rem at 50% -14rem, var(--color-primary-soft), transparent 70%), var(--color-bg);place-items:center;min-height:100dvh;display:grid}.status-card{width:min(100%,26.5rem);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);gap:var(--space-4);display:grid}.placeholder{gap:var(--space-3);padding:var(--space-8) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;display:grid}.placeholder h1{font-size:var(--text-lg);margin:0}.placeholder p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}@media (width>=768px){.login-page{padding:var(--space-8);place-items:center;display:grid}.login-card{padding:var(--space-8)}.login-brand-logo{width:min(100%,20.5rem)}.login-card-wide{padding:var(--space-8)}.user-chip{display:inline}.app-main,.placeholder{padding:var(--space-8);max-width:52rem}:is(.app-main:has(.marketplace),.app-main:has(.booking),.app-main:has(.appointments),.app-main:has(.quick-booking),.app-main:has(.company-dashboard),.app-main:has(.company-home),.app-main:has(.profile-page),.app-main:has(.admin-dashboard)){width:100%;max-width:80rem;padding:var(--space-6) var(--space-8) var(--space-8);margin:0 auto}.company-home,.profile-page,.company-home.company-dashboard{max-width:100%;padding:0}.company-grid,.register-company-grid{grid-template-columns:1fr 1fr}:is(.app-main:has(.company-appointments),.company-appointments){max-width:80rem}.appointment-layout{grid-template-columns:minmax(0,1.4fr) minmax(16rem,20rem);align-items:start}.appointment-date-nav{grid-template-columns:auto 1fr;align-items:end}.appointment-date-label{grid-column:1/-1}}.company-home,.page-shell,.profile-page{gap:var(--space-5);min-width:0;display:grid;overflow-x:hidden}.profile-form,.profile-avatar-editor{max-width:48rem}.profile-section h2{font-size:var(--text-md);margin:0;font-weight:650}.profile-form-grid,.profile-location-grid{gap:var(--space-4);min-width:0;display:grid}.profile-location-grid .field,.profile-location-grid select{min-width:0;max-width:100%}.profile-form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-detail-list{margin-top:var(--space-1)}.profile-avatar{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface-muted,#f3f4f6);color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.profile-avatar--sm{width:2.25rem;height:2.25rem}.profile-avatar--md{width:3rem;height:3rem}.profile-avatar--lg{width:5rem;height:5rem}.profile-avatar--fallback{background:linear-gradient(145deg, var(--color-primary-soft,#e8eef8), var(--color-surface))}.profile-avatar-initials{letter-spacing:.02em;font-size:.85em;font-weight:700;line-height:1}.profile-avatar-editor-row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.profile-avatar-editor-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.field input.field-input-readonly,.field input[readonly]:not([type=checkbox]){background:var(--color-surface-sunken);color:var(--color-text-secondary);cursor:default;box-shadow:none}.field input.field-input-readonly:hover,.field input[readonly]:not([type=checkbox]):hover{border-color:var(--color-border-strong)}@media (width>=768px){.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-location-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.company-status{gap:var(--space-4);min-width:0;display:grid}.company-status:not(.status-card){padding:var(--space-10) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);place-items:center}.company-empty{gap:var(--space-4);padding:var(--space-8) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-items:start;display:grid}.company-empty h2{font-size:var(--text-lg);letter-spacing:-.02em;margin:0;font-weight:650}.company-heading,.page-header{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.page-subtitle,.company-dashboard-subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}@media (width>=768px){.company-heading{flex-direction:row;justify-content:space-between;align-items:center}}.company-grid{gap:var(--space-4);display:grid}.company-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:var(--space-4);transition:border-color var(--transition), box-shadow var(--transition);display:grid}.company-card h2{font-size:var(--text-md);margin:0}.company-dashboard{min-width:0}.company-dashboard-heading h1{margin:0}.company-dashboard-heading-main{align-items:center;gap:var(--space-4);min-width:0;display:flex}.company-logo{object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted,#f3f4f6);color:var(--color-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.company-logo--sm{width:2.25rem;height:2.25rem}.company-logo--md{width:3rem;height:3rem}.company-logo--lg{width:4rem;height:4rem}.company-logo--fallback{background:linear-gradient(145deg, var(--color-primary-soft,#e8eef8), var(--color-surface))}.company-logo-initials{letter-spacing:.02em;font-size:.78em;font-weight:700;line-height:1}.company-logo-preview-image{aspect-ratio:1;object-fit:cover;width:min(100%,7.5rem)}.company-logo-editor-row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.company-logo-editor-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.company-gallery-editor-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=640px){.company-gallery-editor-grid{grid-template-columns:minmax(0,1fr)}}.company-gallery-slot{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.company-gallery-slot-image,.company-gallery-slot-empty{aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted,#f3f4f6);object-fit:cover;width:100%}.company-gallery-slot-empty{display:block}.company-gallery-slot-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.booking-company-gallery{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.booking-company-gallery-image{aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:var(--radius-md);object-fit:cover;width:100%}.booking-header-identity{align-items:center;gap:var(--space-4);min-width:0;display:flex}.booking-header-identity .company-logo{object-fit:contain}.admin-company-card-identity,.marketplace-card-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.marketplace-card-identity .marketplace-card-meta{flex:1;min-width:0}.company-dashboard-summary{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.company-dashboard-stat{padding:var(--space-4) var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:var(--space-1);min-width:0;display:grid;position:relative;overflow:hidden}.company-dashboard-stat:before{content:"";background:var(--color-border-strong);height:3px;position:absolute;inset:0 0 auto}.company-dashboard-stat--primary:before{background:var(--color-primary)}.company-dashboard-stat--warning:before{background:#f79009}.company-dashboard-stat--success:before{background:#17b26a}.company-dashboard-stat-label{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-weight:600}.company-dashboard-stat-value{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:1.625rem;font-weight:700;line-height:1.15}.company-dashboard-section{gap:var(--space-3);min-width:0;display:grid}.company-dashboard-section-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.company-dashboard-section-header h2{font-size:var(--text-md);margin:0;font-weight:650}.company-dashboard-section-link{font-size:var(--text-sm);white-space:nowrap;font-weight:600;text-decoration:none}.company-dashboard-section-link:hover{text-decoration:underline}.company-dashboard-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow-x:auto}.company-dashboard-table-wrap--empty{padding:var(--space-8) var(--space-4);place-items:center;display:grid}.company-dashboard-table-note{padding:var(--space-5) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0}.company-dashboard-table-wrap--empty .company-dashboard-table-note{padding:0}.company-dashboard-table{border-collapse:collapse;width:100%;min-width:36rem}.company-dashboard-table th,.company-dashboard-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.company-dashboard-table th{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--color-surface-subtle);font-weight:600}.company-dashboard-table tbody tr{transition:background var(--transition)}.company-dashboard-table tbody tr:hover{background:var(--color-surface-subtle)}.company-dashboard-table tbody tr:last-child td{border-bottom:none}.company-dashboard-cell-muted{color:var(--color-text-muted)}.company-dashboard-row-link{color:inherit;font-weight:650;text-decoration:none}.company-dashboard-row-link:hover{color:var(--color-primary)}.company-dashboard-error{gap:var(--space-3);width:100%;display:grid}@media (width>=640px){.company-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.company-dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.company-dashboard-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-dashboard{gap:var(--space-5);min-width:0;display:grid}.admin-heading{gap:var(--space-2);display:grid}.admin-summary-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.admin-stat-card,.admin-today-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:var(--space-3);display:grid;position:relative;overflow:hidden}.admin-stat-card:before,.admin-today-card:before{content:"";background:var(--color-border-strong);height:3px;position:absolute;inset:0 0 auto}.admin-stat-card:before{background:var(--color-primary)}.admin-stat-label{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-weight:600}.admin-stat-value{letter-spacing:-.03em;margin:0;font-size:2rem;font-weight:700;line-height:1.1}.admin-today-card h2{font-size:var(--text-md);margin:0}.admin-today-card .lede{margin-bottom:0}.admin-today-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.admin-today-grid li{padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm);gap:.2rem;display:grid}.admin-today-grid span{color:var(--color-text-muted);font-size:var(--text-sm)}.admin-today-grid strong{font-size:1.25rem}@media (width>=640px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-today-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1024px){.admin-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.admin-companies-toolbar{gap:var(--space-3);display:grid}.admin-companies-field{gap:var(--space-2);min-width:0;display:grid}.admin-companies-field span{font-size:var(--text-sm);font-weight:600}.admin-companies-field input,.admin-companies-field select{width:100%;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-company-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.admin-company-card{gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;transition:border-color var(--transition), box-shadow var(--transition);text-decoration:none;display:grid}.admin-company-card:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-md)}.admin-company-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.admin-company-card h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.admin-company-meta{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.admin-company-counts{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.admin-company-counts dt{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.admin-company-counts dd{margin:0;font-weight:700}.admin-status{background:var(--color-surface-sunken);color:var(--color-text-muted)}.admin-status--active{background:var(--color-success-bg);color:var(--color-success)}.admin-status--pending{background:var(--color-warning-bg,#fff6e5);color:var(--color-warning,#9a6700)}.admin-status--rejected{background:var(--color-danger-bg,#fde8e8);color:var(--color-danger,#b42318)}.admin-status-group{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.admin-approval-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-pending-list{gap:var(--space-3);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.admin-pending-list li{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}@media (width>=768px){.admin-companies-toolbar{grid-template-columns:minmax(0,1.6fr) minmax(8rem,12rem) minmax(8rem,12rem) auto;align-items:end}.admin-company-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-company-detail .admin-back-link{margin-bottom:var(--space-3)}.admin-detail-layout{gap:var(--space-4);display:grid}.admin-detail-card{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid}.admin-detail-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.admin-detail-card h2,.admin-detail-card h3{font-size:var(--text-md);margin:0}.admin-detail-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.admin-detail-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;display:grid}.admin-detail-grid dt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.admin-detail-grid dd{margin:.15rem 0 0;font-weight:600}.admin-detail-grid-wide{grid-column:1/-1}.admin-detail-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.admin-detail-list-item{gap:var(--space-2);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-sm);display:grid}.admin-detail-list-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.admin-detail-list-top h3{margin:0;font-size:1rem}.admin-appointments-toolbar{gap:var(--space-3);display:grid}.admin-appointments-toolbar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-appointment-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.admin-appointment-card{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid}.admin-appointment-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.admin-appointment-card h2{overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1.05rem}.admin-appointment-datetime{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-weight:600}.admin-appointment-details{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.admin-appointment-details dt{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.admin-appointment-details dd{overflow-wrap:anywhere;margin:0}.admin-appointment-status{background:var(--color-surface-sunken);color:var(--color-text-muted)}.admin-appointment-status--pending{background:var(--color-warning-bg);color:var(--color-warning)}.admin-appointment-status--confirmed{background:var(--color-success-bg);color:var(--color-success)}.admin-appointment-status--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.admin-helpdesk-toolbar{gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:end;display:flex}.admin-helpdesk-filter-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-helpdesk-filter-group button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;padding:.35rem .85rem}.admin-helpdesk-filter-group button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-helpdesk-type-filter,.admin-helpdesk-period-filter{min-width:10rem}.admin-helpdesk-list{max-width:100%;overflow-x:auto}.admin-helpdesk-status-control{gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}@media (width>=768px){.admin-detail-grid,.admin-detail-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-detail-layout>:first-child,.admin-detail-layout>:nth-child(2){grid-column:span 1}.admin-appointments-toolbar{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.admin-appointments-toolbar-actions{grid-column:1/-1}.admin-appointment-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-appointment-details{grid-template-columns:repeat(3,minmax(0,1fr))}}.company-location,.company-hours{font-size:var(--text-sm);margin:0}.company-hours{color:var(--color-text-muted)}.company-form{gap:var(--space-5);display:grid}.hours-editor,.closed-dates,.lunch-fields{gap:var(--space-3);display:grid}.hours-row{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:grid}.hours-day{font-weight:600}.hours-toggle{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:inline-flex}.hours-times,.closed-dates-form{gap:var(--space-2);display:grid}.closed-dates-list,.detail-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.closed-dates-list li,.detail-list li,.detail-list>div{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.detail-list>div:last-child{border-bottom:none;padding-bottom:0}.detail-list dt{color:var(--color-text-muted);font-weight:600}.detail-list dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ghost-button.danger{color:var(--color-danger);border-color:var(--color-danger-border)}.ghost-button.danger:hover:not(:disabled){background:var(--color-danger-bg)}.hours-mode{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.employee-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.employee-hours{font-size:var(--text-sm);color:var(--color-text-muted)}.employee-services{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.service-picker{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.pagination p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-weight:600}.employee-list{min-width:0}.employee-card{transition:border-color var(--transition), box-shadow var(--transition)}.employee-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.employee-card h2{margin-bottom:var(--space-1);font-size:var(--text-md);font-weight:650}@media (width>=768px){.hours-row{grid-template-columns:8rem 7rem 1fr;align-items:center}.hours-times,.closed-dates-form{grid-template-columns:1fr 1fr auto;align-items:end}}.customer-marketplace-filters{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);gap:var(--space-3)}.customer-marketplace-count{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.marketplace-search{gap:var(--space-2);min-width:0;display:grid;overflow:visible}.marketplace-search-field{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius);gap:.15rem;min-width:0;padding:.3rem .7rem;display:grid}.marketplace-search-field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:700}.marketplace-search-field>input,.marketplace-search-field>select{width:100%;min-width:0;height:2.35rem;color:var(--color-text);background:0 0;border:0;border-radius:0;padding:0}.marketplace-search-field:focus-within{border-color:var(--color-primary-border);box-shadow:0 0 0 3px var(--color-focus-ring)}.searchable-select{position:relative}.searchable-select-trigger{width:100%;min-height:2.35rem;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.15rem 0;display:flex}.searchable-select-trigger.is-placeholder .searchable-select-value{color:#94a3b8;font-size:.95rem}.searchable-select-value{color:var(--color-text);font-size:.95rem}.searchable-select-chips{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.searchable-select-chip{height:1.65rem;color:var(--color-text);background:#0f172a0f;border-radius:999px;align-items:center;gap:.15rem;padding:0 .25rem 0 .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.searchable-select-chip-remove{width:1.2rem;height:1.2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-size:.95rem;line-height:1;display:grid}.searchable-select-chip-remove:hover{color:var(--color-text);background:#0f172a14}.searchable-select-popover{z-index:30;background:var(--color-surface);border:1px solid #0f172a14;border-radius:18px;width:100%;min-width:0;max-width:100%;padding:.5rem;position:absolute;top:calc(100% + .45rem);left:0;right:0;box-shadow:0 18px 40px #0f172a1f}.searchable-select-search{border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;width:100%;height:2.25rem;padding:0 .85rem}.searchable-select-options{max-height:16rem;margin:.4rem 0 0;padding:0;list-style:none;overflow:auto}.searchable-select-option{cursor:pointer;border-radius:10px;padding:.55rem .7rem;font-size:.92rem}.searchable-select-option:hover,.searchable-select-option.is-selected{background:var(--color-primary-soft)}.searchable-select-option.is-selected{font-weight:600}.searchable-select-empty{color:var(--color-text-muted);padding:.7rem .7rem .5rem;font-size:.85rem}.searchable-select.is-disabled{opacity:.45}.searchable-select.is-disabled .searchable-select-trigger{cursor:not-allowed}.marketplace-search-submit{align-self:end;width:100%;min-height:2.625rem}.marketplace-chips{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.marketplace-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);min-width:0;height:2.1rem;color:var(--color-text);font-size:var(--text-sm);cursor:pointer;flex:0 auto;padding:0 .85rem;font-weight:600}.marketplace-chip.is-active{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.marketplace-grid{grid-template-columns:1fr;gap:.85rem;min-width:0;display:grid}.marketplace-company-card{width:100%;min-width:0;transition:border-color .16s,box-shadow .16s;position:relative;overflow:hidden}.marketplace-company-card:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-md)}.marketplace-company-card .marketplace-company-logo.company-logo,.marketplace-company-card .marketplace-company-logo{border-radius:var(--radius-lg);width:3rem;min-width:3rem;height:3rem;min-height:3rem}.marketplace-company-main{gap:.35rem}.marketplace-company-top{align-items:flex-start}.marketplace-company-identity{flex:8rem;gap:.1rem;min-width:0;display:grid}.marketplace-company-identity h2{letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:.98rem;font-weight:700}.marketplace-company-category,.marketplace-company-place,.marketplace-company-address{min-width:0;color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:.82rem}.marketplace-company-category{font-weight:600}.marketplace-company-location{gap:.1rem;min-width:0;display:grid}.marketplace-company-place{color:var(--color-text-secondary);font-weight:650}.marketplace-company-address{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.marketplace-company-decision{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;min-width:0;display:flex}.marketplace-company-stat{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.78rem;font-weight:650}.marketplace-company-stat--availability{color:#047857}.marketplace-company-card-link:before{content:"";z-index:1;position:absolute;inset:0}.marketplace-empty{gap:var(--space-3);padding:var(--space-8) var(--space-4);background:#ffffffb3;border-radius:24px;justify-items:start;display:grid}.marketplace-empty h2,.marketplace-error h2{letter-spacing:-.03em;margin:0;font-size:1.25rem}.marketplace-empty p{max-width:28rem;color:var(--color-text-muted)}@media (width>=640px){.marketplace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.customer-marketplace-filters{padding:var(--space-4)}.marketplace-search{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.35fr) minmax(0,.9fr) auto;align-items:end}.marketplace-search:has(.searchable-select-chip){align-items:start}.marketplace-search-submit{width:auto;min-width:5.75rem}.marketplace-company-card .marketplace-company-logo.company-logo,.marketplace-company-card .marketplace-company-logo{width:3.5rem;min-width:3.5rem;height:3.5rem;min-height:3.5rem}.marketplace-company-identity h2{font-size:1.02rem}}@media (width>=1024px){.marketplace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.marketplace-company-card{column-gap:.55rem;padding:.7rem .65rem}.marketplace-company-card .marketplace-company-logo.company-logo,.marketplace-company-card .marketplace-company-logo{border-radius:var(--radius);width:2.6rem;min-width:2.6rem;height:2.6rem;min-height:2.6rem}.marketplace-company-identity h2{font-size:.9rem}.marketplace-company-category,.marketplace-company-place,.marketplace-company-address,.marketplace-company-stat{font-size:.76rem}}@media (prefers-reduced-motion:reduce){.marketplace-company-card{transition:none}.customer-upcoming-card--skeleton{animation:none}}.booking,.quick-booking{gap:var(--space-5);min-width:0;max-width:40rem;display:grid;overflow-x:hidden}.quick-booking-field{gap:var(--space-2);min-width:0;display:grid}.quick-booking-field>span{font-size:var(--text-sm);font-weight:600}.quick-booking-input{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.quick-booking-textarea{width:100%;min-height:12rem;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);resize:vertical;line-height:1.5}.quick-booking-textarea:focus-visible{border-color:var(--color-focus);outline:2px solid var(--color-focus);outline-offset:1px}.quick-booking-mic{border:1px solid var(--color-border);background:var(--color-surface);width:3rem;height:3rem;color:var(--color-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.quick-booking-mic:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.quick-booking-mic.is-listening{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.quick-booking-mic:disabled{opacity:.6;cursor:not-allowed}.quick-booking-mic-icon{width:1.35rem;height:1.35rem}.quick-booking-status{color:var(--color-primary);font-size:var(--text-sm);margin:0;font-weight:600}.quick-booking-form{gap:var(--space-4);display:grid}.quick-booking-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.quick-booking-submit{min-width:10rem}.quick-booking-result{gap:var(--space-4)}.quick-booking-result h2{font-size:var(--text-md);margin:0;font-weight:650}.quick-booking-result-list{margin-top:var(--space-1)}.quick-booking-missing{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);font-size:var(--text-sm);margin:0;font-weight:600}.quick-booking-flow{margin-top:var(--space-4)}.quick-booking-summary{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.quick-booking-summary h3{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:650}@media (width<=640px){.quick-booking-input{grid-template-columns:minmax(0,1fr)}.quick-booking-mic{justify-self:end}.quick-booking-submit{width:100%}}.booking-header,.booking-flow,.booking-step,.booking-summary,.booking-confirmation,.booking-success{min-width:0}.booking-header h1,.booking-chip-title,.booking-summary-list dd{overflow-wrap:anywhere}.booking-back{margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:600;text-decoration:none;display:inline-block}.booking-back:hover{text-decoration:underline}.booking-kicker{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.booking-header h1{margin:0}.booking-layout{gap:var(--space-5);min-width:0;display:grid}.booking-flow{gap:var(--space-4);display:grid}.booking-step{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid}.booking-step-head{align-items:flex-start;gap:var(--space-3);display:flex}.booking-step-index{border-radius:var(--radius-pill);background:var(--color-surface-sunken);width:1.625rem;height:1.625rem;color:var(--color-text-secondary);font-size:var(--text-xs);flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.booking-step.is-complete .booking-step-index{background:var(--color-primary);color:var(--color-on-primary)}.booking-step-heading{gap:.1rem;min-width:0;display:grid}.booking-step h2{font-size:var(--text-md);margin:0;font-weight:650}.booking-step-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.booking-step-body{gap:var(--space-3);min-width:0;display:grid}.booking-chip-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));display:grid}.booking-chip,.booking-day,.booking-slot{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);min-width:0;color:var(--color-text);cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition)}.booking-chip:hover:not(:disabled):not(.is-selected),.booking-day:hover:not(:disabled):not(.is-selected),.booking-slot:hover:not(:disabled):not(.is-selected){border-color:var(--color-primary-border);background:var(--color-surface-subtle)}.booking-chip{max-width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-8);text-align:left;align-content:start;justify-items:start;gap:.15rem;display:grid;position:relative}.booking-chip-title{font-weight:650}.booking-chip-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.booking-chip:after{content:"";top:50%;right:var(--space-3);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);width:1.05rem;height:1.05rem;transition:border-color var(--transition), background var(--transition);position:absolute;transform:translateY(-50%)}.booking-chip.is-selected:after{border-color:var(--color-primary);background:radial-gradient(circle at 50% 50%, var(--color-primary) 0 .28rem, transparent .29rem), var(--color-surface)}.booking-chip.is-selected,.booking-day.is-selected,.booking-slot.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.booking-chip.is-selected .booking-chip-meta{color:var(--color-primary)}.booking-chip--skeleton,.booking-slot--skeleton{background:linear-gradient(90deg,#eceff3 25%,#f7f8fa 37%,#eceff3 63%) 0 0/400% 100%;border:0;min-width:5.5rem;min-height:2.75rem;animation:1.4s infinite marketplace-shimmer}.booking-chip--skeleton:after{content:none}.booking-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid;overflow-x:hidden}.booking-day{align-content:center;justify-items:center;gap:.1rem;min-height:3.5rem;padding:.4rem .15rem;font-size:.75rem;display:grid}.booking-day-name{color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.booking-day-number{font-size:1rem;font-weight:700}.booking-day.is-selected .booking-day-name{color:var(--color-primary)}.booking-day:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-subtle);cursor:not-allowed}.booking-day:disabled .booking-day-name{color:var(--color-text-subtle)}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.booking-slot{align-content:center;justify-items:center;gap:.05rem;min-height:3rem;padding:.4rem .25rem;font-weight:650;display:grid}.booking-slot-time{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:650}.booking-slot.is-selected{box-shadow:0 0 0 3px var(--color-focus-ring);border-width:1.5px}.booking-slot.is-unavailable,.booking-slot:disabled:not(.is-lunch){background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-subtle);cursor:not-allowed}.booking-slot.is-unavailable .booking-slot-time,.booking-slot:disabled:not(.is-lunch) .booking-slot-time{text-decoration:line-through;-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted);text-decoration-thickness:1.5px}.booking-slot.is-lunch,.booking-slot.is-lunch:disabled{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning);cursor:not-allowed}.booking-slot.is-lunch .booking-slot-time{text-decoration:none}.booking-slot-status{letter-spacing:.02em;text-transform:uppercase;font-size:.625rem;font-weight:700}.booking-legend{gap:var(--space-2) var(--space-5);padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);flex-wrap:wrap;margin:0;list-style:none;display:flex}.booking-legend-item{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;display:inline-flex}.booking-legend-dot{border-radius:var(--radius-xs);border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:1rem;height:1rem}.booking-legend-item--busy .booking-legend-dot{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.booking-legend-item--lunch .booking-legend-dot{background:var(--color-warning-bg);border-color:#f79009}.booking-hint,.booking-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.booking-summary,.booking-confirmation,.booking-success{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid}.booking-summary h2,.booking-confirmation h2,.booking-success h1{font-size:var(--text-md);margin:0;font-weight:650}.booking-success h1{font-size:var(--text-xl)}.booking-summary-list{gap:0;margin:0;display:grid}.booking-summary-list div{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.booking-summary-list div:first-child{padding-top:0}.booking-summary-list div:last-child{border-bottom:none;padding-bottom:0}.booking-summary-list dt{color:var(--color-text-muted);font-size:var(--text-sm);flex:none}.booking-summary-list dd{text-align:right;margin:0;font-weight:650}.booking-cta{width:100%}.booking-actions{gap:var(--space-3);display:grid}.booking-actions .ghost-button:disabled{opacity:.7;cursor:not-allowed}.booking-skeleton{gap:var(--space-3);display:grid}.appointments{gap:var(--space-5);min-width:0;max-width:56rem;display:grid;overflow-x:hidden}.appointment-section{gap:var(--space-3);min-width:0;display:grid}.appointment-section h2{margin:0;font-size:1rem}.appointment-list{gap:var(--space-3);min-width:0;display:grid}.appointment-card,.appointment-detail{min-width:0}.appointment-card{gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition), box-shadow var(--transition);display:grid}.appointment-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.appointment-card h2,.appointment-card-service,.appointment-meta dd{overflow-wrap:anywhere}.appointment-card h2{margin:0;font-size:1.05rem}.appointment-card-service{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.appointment-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.appointment-meta{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.appointment-meta dt{color:var(--color-text-muted);font-size:var(--text-sm)}.appointment-meta dd{margin:0;font-weight:650}.appointment-card-cta{justify-content:center;align-items:center;width:100%;text-decoration:none;display:inline-flex}.appointment-review,.appointment-review-form{gap:var(--space-3);display:grid}.appointment-review-button{width:100%;margin-top:var(--space-2);letter-spacing:.01em;font-weight:700}.appointment-detail .appointment-review-button{margin-top:var(--space-4);min-height:3rem;font-size:var(--text-md)}.appointment-review-label{font-size:var(--text-sm);color:var(--color-text);margin:0;font-weight:650}.appointment-review-comment,.appointment-review-comment-field span{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.appointment-review-comment-field{gap:var(--space-2);display:grid}.appointment-review-comment-field textarea{resize:vertical;width:100%;min-height:5rem}.appointment-review-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.star-rating-field{gap:var(--space-2);display:grid}.star-rating-label{font-size:var(--text-sm);margin:0;font-weight:600}.star-rating{gap:.15rem;display:inline-flex}.star-rating-option{cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.star-rating-option span{color:#f59e0b;font-size:1.35rem;line-height:1}.star-rating-display{align-items:center;gap:var(--space-2);color:var(--color-text);margin:0;display:flex}.star-rating-display span:first-child{color:#f59e0b;letter-spacing:.05em}.star-rating-value{font-size:var(--text-sm);color:var(--color-text-muted)}.appointment-status{background:var(--color-surface-sunken);color:var(--color-text-muted)}.appointment-status--pending{background:var(--color-warning-bg);color:var(--color-warning)}.appointment-status--confirmed{background:var(--color-success-bg);color:var(--color-success)}.appointment-status--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.appointment-status--completed{color:#3730a3;background:#e0e7ff}.appointment-status--unknown{background:var(--color-surface-sunken);color:var(--color-text-muted)}.appointment-success{padding:var(--space-3) var(--space-4);background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}.appointment-cancel{gap:var(--space-3);display:grid}.appointment-cancel-copy{color:var(--color-text-muted);font-size:var(--text-sm)}.appointment-card--skeleton{min-height:8rem}@media (width>=390px){.booking-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.appointment-date-nav,.appointment-layout,.appointment-list-pane,.appointment-agenda,.company-appointment-calendar{gap:var(--space-3);min-width:0;display:grid}.company-appointment-calendar-loading{padding:var(--space-4);color:var(--color-text-muted);margin:0}.salon-calendar-viewport{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:100%;box-shadow:var(--shadow-card);overflow:auto visible}.salon-calendar--closed{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.salon-calendar-closed-message{place-items:center;gap:var(--space-2);min-height:12rem;padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);display:grid}.salon-calendar-closed-message p{font-size:var(--text-base);margin:0;font-weight:600}.salon-calendar-closed-subtitle{font-size:var(--text-sm);font-weight:500}.salon-calendar-board{gap:0;min-width:100%;display:grid}.salon-calendar-header-row,.salon-calendar-body-row{min-width:max-content;display:flex}.salon-calendar-header-row{z-index:4;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.salon-calendar-corner{z-index:5;background:var(--color-surface);border-right:1px solid var(--color-border);flex:0 0 4.75rem;min-height:3rem;position:sticky;left:0}.salon-calendar-employee-header{min-width:11rem;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface);border-right:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;flex:0 0 11rem;font-weight:700;position:sticky;top:0;overflow:hidden}.salon-calendar-body-row{align-items:stretch}.salon-calendar-time-column{z-index:3;background:var(--color-surface);border-right:1px solid var(--color-border);flex:0 0 4.75rem;position:sticky;left:0}.salon-calendar-time-slot{padding:0 var(--space-2);color:var(--color-text-muted);box-sizing:border-box;border-bottom:1px solid #eef0f3;justify-content:flex-end;align-items:flex-start;font-size:.72rem;font-weight:600;display:flex}.salon-calendar-columns{min-width:max-content;display:flex}.salon-calendar-employee-column{background:linear-gradient(to bottom, transparent calc(100% / var(--slot-count,26) - 1px), #eef0f3 calc(100% / var(--slot-count,26) - 1px)) repeat-y, var(--color-bg);background-size:100% calc(100% / var(--slot-count,26));border-right:1px solid var(--color-border);flex:0 0 11rem;min-width:11rem;position:relative}.salon-calendar-employee-column--closed-day{background:#f1f5f9}.salon-calendar-block{box-sizing:border-box;border-radius:var(--radius-sm);z-index:1;min-height:1.75rem;padding:.4rem .5rem;position:absolute;overflow:hidden}.salon-calendar-block-label,.salon-calendar-block-customer,.salon-calendar-block-service,.salon-calendar-block-status-badge{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.salon-calendar-block-customer{font-size:.8rem;font-weight:700;line-height:1.25}.salon-calendar-block-service{opacity:.92;font-size:.72rem;line-height:1.2}.salon-calendar-block-status-badge{align-self:flex-start;max-width:100%;min-height:1.1rem;padding:.05rem .4rem;font-size:.62rem}.salon-calendar-block--appointment{cursor:pointer;text-align:left;z-index:2;border:1px solid #0000;flex-direction:column;align-items:stretch;gap:.15rem;display:flex}.salon-calendar-block--appointment.salon-calendar-block--compact{gap:.05rem;padding-block:.3rem}.salon-calendar-block--appointment.is-selected{box-shadow:0 0 0 2px var(--color-primary)}.salon-calendar-block--pending{color:#92400e;background:#fef3c7;border-color:#f59e0b}.salon-calendar-block--confirmed{color:#065f46;background:#d1fae5;border-color:#10b981}.salon-calendar-block--cancelled{color:var(--color-text-muted);background:#eef0f3;border-color:#cbd5e1;text-decoration:line-through}.salon-calendar-block--off-hours{color:#94a3b8;pointer-events:none;z-index:0;background:#f1f5f9}.salon-calendar-block--lunch{color:#64748b;pointer-events:none;z-index:0;background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 6px,#eef2f7 6px 12px)}.salon-calendar-block--closed-day,.salon-calendar-block--special-closed{color:#475569;pointer-events:none;z-index:1;background:#e2e8f0;place-items:center;display:grid}.appointment-date-nav-toolbar{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.appointment-date-nav-current{text-align:center;text-transform:capitalize;margin:0;font-weight:700}.appointment-date-nav-today{justify-self:start}.appointment-date-nav-arrow{white-space:nowrap}.appointment-date-nav-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.appointment-date-field{gap:var(--space-2);min-width:0;display:grid}.appointment-date-field span{font-size:var(--text-sm);font-weight:600}.appointment-date-field input{width:100%;max-width:14rem;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.appointment-date-label{color:var(--color-text-muted);text-transform:capitalize;margin:0;font-weight:600}.appointment-agenda{margin:0;padding:0;list-style:none}.appointment-row{gap:var(--space-3);width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.appointment-row.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.appointment-row-time{white-space:nowrap;font-weight:700}.appointment-row-body{gap:.15rem;min-width:0;display:grid}.appointment-row-body strong,.appointment-row-body span{overflow-wrap:anywhere}.appointment-row-body span{color:var(--color-text-muted);font-size:var(--text-sm)}.appointment-detail{min-width:0}.appointment-detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.appointment-empty{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}@media (width<=767px){.appointment-row{grid-template-columns:minmax(0,1fr) auto}.appointment-row-time{grid-column:1/-1}}@media (width>=768px){.booking-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start}.booking-summary{top:var(--space-4);position:sticky}.booking-day{font-size:.8rem}.booking-actions{grid-template-columns:1fr 1.4fr}.appointment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-wizard{gap:var(--space-4);min-width:0;max-width:40rem;display:grid;overflow-x:hidden}.booking-wizard-header h1{margin:0}.booking-wizard-header .lede{margin:var(--space-1) 0 0}.booking-wizard-stepper{grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:grid}.booking-wizard-stepper__button{width:100%;min-width:0;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:.2rem;padding:.35rem .2rem;display:grid}.booking-wizard-stepper__button:disabled{cursor:default}.booking-wizard-stepper__index{background:var(--color-surface-sunken);border:1px solid var(--color-border);width:1.55rem;height:1.55rem;font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:700;display:grid}.booking-wizard-stepper__label{text-align:center;overflow-wrap:anywhere;font-size:.65rem;font-weight:650;line-height:1.2}.booking-wizard-stepper__item.is-current .booking-wizard-stepper__index{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.booking-wizard-stepper__item.is-current .booking-wizard-stepper__label,.booking-wizard-stepper__item.is-done .booking-wizard-stepper__label{color:var(--color-text)}.booking-wizard-stepper__item.is-done .booking-wizard-stepper__index{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.booking-wizard-panel{gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid}.booking-wizard-panel__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.booking-wizard-panel__head h2,.booking-wizard-panel h2{font-size:var(--text-lg);margin:0}.booking-wizard-subheading{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:700}.booking-wizard-search input{width:100%;min-width:0;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.booking-wizard-company-list{gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.booking-wizard-company-card{align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr);display:grid}.booking-wizard-company-card.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary-border)}.booking-wizard-company-card__copy{gap:.15rem;min-width:0;display:grid}.booking-wizard-company-card__title{overflow-wrap:anywhere;font-weight:700}.booking-wizard-company-card__meta{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.booking-wizard-nav{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr 1.4fr;display:grid}.booking-wizard-nav .primary-button,.booking-wizard-nav .ghost-button{width:100%}.booking-wizard-mic{flex-shrink:0;justify-items:center;gap:.25rem;display:grid}.booking-wizard-mic__button{border:1px solid var(--color-border);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-primary);cursor:pointer;border-radius:50%;place-items:center;display:grid}.booking-wizard-mic__button svg{width:1.15rem;height:1.15rem}.booking-wizard-mic__button.is-listening{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.booking-wizard-mic__button:disabled{opacity:.55;cursor:not-allowed}.booking-wizard-mic__hint{max-width:6.5rem;color:var(--color-text-muted);text-align:center;margin:0;font-size:.65rem;line-height:1.25}.booking-wizard-status,.booking-wizard-empty{color:var(--color-text-muted);margin:0}.booking-wizard-summary{margin:0}.booking-wizard-slot-grid{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.5rem;min-width:0;display:grid}.booking-wizard-slot-chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;min-height:2.75rem;color:var(--color-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer;padding:.55rem .4rem;font-family:inherit;font-weight:650}.booking-wizard-slot-chip.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 3px var(--color-focus-ring)}.booking-wizard-slot-chip.is-skeleton{background:var(--color-surface-sunken);cursor:default;border:0;min-height:2.75rem}@media (width<=375px){.booking-wizard-panel{padding:var(--space-3)}.booking-wizard-stepper__label{font-size:.55rem}.booking-wizard-nav{grid-template-columns:1fr 1.2fr}.booking-wizard-slot-grid{grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr))}}@media (width<=340px){.booking-wizard-stepper__label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}
