: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 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}.register-choice-grid{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.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;display:flex;position:sticky;top:0}.brand{letter-spacing:-.015em;color:var(--color-text);font-weight:700;text-decoration:none}.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);display:flex}.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,.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}.profile-form{max-width:48rem}.profile-section h2{font-size:var(--text-md);margin:0;font-weight:650}.profile-form-grid{gap:var(--space-4);min-width:0;display:grid}.profile-form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-detail-list{margin-top:var(--space-1)}.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))}}.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}.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)}@media (width>=768px){.admin-companies-toolbar{grid-template-columns:minmax(0,1.6fr) 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}}.marketplace{gap:var(--space-6);padding-bottom:var(--space-6);display:grid}.marketplace-hero{gap:var(--space-5);display:grid}.marketplace-hero-copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,6vw,2.75rem);font-weight:650;line-height:1.1}.marketplace-subtitle{max-width:36rem;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55}.marketplace-search{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid #0f172a14;border-radius:24px;display:grid;overflow:visible;box-shadow:0 1px 2px #0f172a0a,0 18px 40px #0f172a0f}.marketplace-search-field{gap:.2rem;min-width:0;padding:.35rem .85rem;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{box-shadow:inset 0 0 0 2px var(--color-focus);border-radius:16px}.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{border-radius:999px;width:100%}.marketplace-chips{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.marketplace-chips::-webkit-scrollbar{display:none}.marketplace-chip{height:2.35rem;color:var(--color-text);font-size:var(--text-sm);cursor:pointer;background:#0f172a0a;border:1px solid #0000;border-radius:999px;flex:none;padding:0 1rem;font-weight:600}.marketplace-chip.is-active{background:var(--color-text);color:var(--color-on-primary)}.marketplace-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}.marketplace-card{background:var(--color-surface);border:1px solid #0f172a0f;border-radius:22px;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 1px 2px #0f172a08}.marketplace-card-media{aspect-ratio:4/3;position:relative;overflow:hidden}.marketplace-card-cover{background:radial-gradient(120% 90% at 20% 20%,#ffffff8c,#0000 55%),linear-gradient(160deg,#e8eef6,#d7dee8);width:100%;height:100%}.marketplace-card-cover--salon{background:radial-gradient(120% 90% at 80% 10%,#ffffff80,#0000 50%),linear-gradient(160deg,#efe7de,#d8c4b4)}.marketplace-card-cover--beauty{background:radial-gradient(120% 90% at 20% 80%,#ffffff73,#0000 52%),linear-gradient(160deg,#f3e4ea,#d9c0cf)}.marketplace-card-cover--clinic{background:radial-gradient(120% 90% at 80% 80%,#ffffff80,#0000 52%),linear-gradient(160deg,#e4eef3,#c5d7e2)}.marketplace-card-cover--wellness{background:radial-gradient(120% 90% at 10% 20%,#ffffff80,#0000 52%),linear-gradient(160deg,#e7efe8,#c5d7c8)}.marketplace-fav{width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem;box-shadow:0 6px 16px #0f172a1f}.marketplace-fav.is-active{color:#e11d48}.marketplace-heart{width:1.05rem;height:1.05rem}.marketplace-card-body{gap:.35rem;padding:.95rem 1rem 1.1rem;display:grid}.marketplace-card-meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.marketplace-category,.marketplace-location,.marketplace-rating{color:var(--color-text-muted);margin:0;font-size:.82rem}.marketplace-rating{color:var(--color-text);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.marketplace-card h2{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:650}.marketplace-availability{color:#047857;margin:.15rem 0 0;font-size:.82rem;font-weight:600}.marketplace-cta{border-radius:999px;width:100%;min-height:2.5rem;margin-top:.7rem}.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)}.marketplace-skeleton-cover,.marketplace-skeleton-line{background:linear-gradient(90deg,#eceff3 25%,#f7f8fa 37%,#eceff3 63%) 0 0/400% 100%;animation:1.4s infinite marketplace-shimmer}.marketplace-skeleton-cover{aspect-ratio:4/3}.marketplace-skeleton-line{border-radius:999px;height:.7rem}.marketplace-skeleton-line--sm{width:38%}.marketplace-skeleton-line--lg{width:74%;height:.95rem}.marketplace-skeleton-line--md{width:52%}.marketplace-skeleton-line--btn{width:100%;height:2.5rem;margin-top:.55rem}@keyframes marketplace-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width>=640px){.marketplace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.marketplace{gap:var(--space-8)}.marketplace-search{border-radius:999px;grid-template-columns:1.05fr .95fr 1.35fr .9fr auto;align-items:end;padding:.45rem .45rem .45rem .3rem}.marketplace-search:has(.searchable-select-chip){border-radius:24px;align-items:start}.marketplace-search-field+.marketplace-search-field{border-left:1px solid #0f172a14}.marketplace-search-submit{width:auto;min-width:6.5rem}}@media (width>=1024px){.marketplace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.marketplace-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0f172a1a}}@media (width>=1280px){.marketplace-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.marketplace-card,.marketplace-skeleton-cover,.marketplace-skeleton-line{transition:none;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))}}
