:root{--portal-space-1:4px;--portal-space-2:8px;--portal-space-3:12px;--portal-space-4:16px;--portal-space-6:24px;--portal-space-8:32px;--portal-space-12:48px;--portal-radius:12px;--portal-control-radius:8px;--portal-text-small:.75rem;--portal-text-body:.875rem;--portal-text-title:1.75rem;--portal-success:#176f50;--portal-warning:#805a12;--portal-danger:#a33d2e}.dashboard-layout{font-size:var(--portal-text-body);line-height:1.5}.dashboard-layout ::selection{color:var(--ink);background:#e0d9ff}.dashboard-layout :is(input,textarea){caret-color:var(--violet)}.dashboard-layout :is(button,a,input,select,textarea,summary,[role=button]):focus-visible{outline:2px solid var(--violet);outline-offset:3px}.dashboard-layout :is(input,select,textarea)::placeholder{color:var(--muted);opacity:1}.dashboard-layout :is(button,a){touch-action:manipulation}.dashboard-layout :is(input,select,textarea){font-size:var(--portal-text-body)}.dashboard-layout :is(h1,h2,h3){letter-spacing:-.025em}.dashboard-layout :is(.dashboard-primary,.secondary-action){border-radius:var(--portal-control-radius);width:auto;min-height:44px;font-size:var(--portal-text-body);box-shadow:none;font-weight:600}.dashboard-layout .dashboard-primary:hover{transform:none}.dashboard-layout :is(.management-card,.link-card,.setup-card,.empty-agenda){border-radius:var(--portal-radius);box-shadow:none}.dashboard-layout :is(.field>span,.operations-field>span,.field-control input,.field textarea,.small-action,.service-main strong,.service-price){font-size:var(--portal-text-body)}.dashboard-layout :is(.field>small,.field-hint,.service-main small,.management-note small,.toggle-field small,.customer-readonly,.customer-row small,.customer-row>span,.operations-status,.customer-history small,.customer-history em){font-size:var(--portal-text-small);color:var(--muted)}.dashboard-layout :is(.management-card-heading strong,.customer-row strong,.customer-history strong){font-size:var(--portal-text-body)}.dashboard-layout :is(.icon-action,.service-actions>button,.operations-search,.operations-select){min-height:44px}.dashboard-layout .operations-search input{font-size:var(--portal-text-body)}.dashboard-layout :is(.booking-status,.appointment-status){font-size:var(--portal-text-small);letter-spacing:0;text-transform:none;border-radius:4px;font-weight:500}.dashboard-layout .booking-status.cancelled{color:var(--muted);background:var(--soft)}.dashboard-layout .booking-status.no_show{color:var(--portal-danger);background:var(--coral-pale)}.dashboard-layout :is(.dashboard-view-header h1,.dashboard-welcome h1){font-size:var(--portal-text-title);margin:0 0 8px;line-height:1.2}.dashboard-layout :is(.dashboard-view-header .eyebrow,.operations-heading .mini-label){display:none}.dashboard-layout .dashboard-content{padding-top:var(--portal-space-8)}.dashboard-layout .dashboard-content:has(.operational-home){width:min(1320px,100% - 48px)}.portal-page-header{margin-bottom:var(--portal-space-6);justify-content:space-between;align-items:center;gap:var(--portal-space-4);display:flex}.portal-page-header h1{font-size:var(--portal-text-title);margin:0;font-weight:650;line-height:1.2}.portal-page-header p{margin:var(--portal-space-2) 0 0;color:var(--muted);font-size:var(--portal-text-body);text-wrap:pretty}.portal-header-actions{align-items:center;gap:var(--portal-space-2);flex-wrap:wrap;display:flex}.portal-header-actions :is(button,a){justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.portal-header-actions .calendar-new{border-radius:var(--portal-control-radius)}.portal-loading{width:min(100% - 48px,1160px);min-height:65vh;margin:48px auto}.portal-loading-header{background:#e8e6df;border-radius:8px;width:220px;height:32px;margin-bottom:24px}.portal-loading-content{border:1px solid var(--line);border-radius:var(--portal-radius);background:#fff;padding:24px}.portal-loading-content>span{background:#e8e6df;border-radius:4px;width:40%;height:20px;display:block}.portal-loading-content>div{gap:16px;margin-top:24px;display:flex}.portal-loading-content i{background:#efede8;border-radius:4px;width:52px;height:44px}.portal-loading-content div span{background:#efede8;border-radius:4px;width:65%;height:44px}.today-summary{color:var(--muted);flex-wrap:wrap;gap:8px 24px;margin:0 0 16px;display:flex}.today-summary span{align-items:center;gap:8px;display:inline-flex}.today-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.today-work{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:24px;display:grid}.today-agenda{min-width:0}.today-section-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.today-section-heading h2{margin:0;font-size:1rem;font-weight:600}.today-section-heading a{min-height:44px;color:var(--violet-dark);align-items:center;gap:8px;display:inline-flex}.today-summary-filter{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:0 12px}.today-summary-filter[aria-pressed=true]{color:var(--violet-dark);background:var(--violet-pale);border-color:#c9c0f6}.today-empty{border:1px solid var(--line);background:#fff;border-radius:12px;padding:32px 24px}.today-empty h2{margin:0 0 8px;font-size:1rem}.today-empty p{max-width:65ch;color:var(--muted);margin:0}.today-empty button{margin-top:16px}.today-gaps{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.today-gaps h2{margin:0 0 4px;font-size:1rem}.today-gaps>p{color:var(--muted);font-size:var(--portal-text-small);margin:0 0 12px}.today-gaps>button{border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;gap:4px;width:100%;min-height:64px;padding:12px 0;display:grid}.today-gaps>button:hover{color:var(--violet-dark)}.today-gaps small{color:var(--muted);font-size:var(--portal-text-small)}.today-gaps strong{font-size:var(--portal-text-body);font-weight:600}.next-setup-step{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;padding:16px;display:flex}.next-setup-step h2{margin:0 0 4px;font-size:1rem}.next-setup-step p{color:var(--muted);margin:0}.setup-secondary{margin-top:24px}.setup-secondary>summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--muted)}.setup-secondary .link-card{max-width:600px;margin-top:12px}.appointment-secondary{border-top:1px solid var(--line);padding:16px}.appointment-secondary>summary{cursor:pointer;min-height:44px;font-weight:600}.appointment-secondary .appointment-facts{border:0;padding:12px 0}.appointment-update{color:var(--portal-success);background:var(--green-pale);border-radius:8px;margin:12px 16px;padding:12px}.advanced-service-fields{border-top:1px solid var(--line);grid-column:1/-1;padding-top:8px}.advanced-service-fields>summary{cursor:pointer;min-height:44px;color:var(--muted)}.advanced-service-fields .business-form{padding:12px 0 0}.dashboard-layout .agenda-primary strong{font-size:.875rem;font-weight:600}.dashboard-layout :is(.agenda-time strong,.today-summary strong,.calendar-date-navigation strong){font-variant-numeric:tabular-nums}.dashboard-layout .agenda-resource-accent{border-radius:50%;align-self:center;width:6px;height:6px}.operational-home .agenda-booking{grid-template-columns:74px 6px minmax(0,1fr) minmax(100px,.6fr) auto 18px}.operational-home :is(.agenda-duration,.agenda-flags,.agenda-price){display:none}.dashboard-layout .calendar-appointment{container:appointment/size}.dashboard-layout :is(.appointment-facts small,.appointment-facts em,.appointment-history small,.calendar-freshness,.agenda-time small,.timeline-header small,.agenda-day>header span){color:var(--muted)}.dashboard-layout .appointment-facts strong{white-space:normal;overflow-wrap:anywhere;font-size:.875rem}.dashboard-layout .appointment-hero h3{font-size:1.25rem}.dashboard-layout .appointment-hero>div{flex-wrap:wrap}.dashboard-layout .appointment-hero>div span{font-size:1rem}.dashboard-layout .contact-actions{justify-content:flex-start}.dashboard-layout .appointment-customer-contact{flex-direction:column;align-items:flex-start}.dashboard-layout .calendar-success-toast{border-radius:8px;max-width:calc(100% - 32px);padding:12px 16px}.dashboard-layout .calendar-resource-strip{scrollbar-width:thin}@container appointment not (min-height:110px){.appointment-meta{display:none}}@container appointment not (min-height:64px){.appointment-visible>p,.appointment-topline>.appointment-status{display:none}}@container appointment not (min-height:42px){.appointment-visible h3{display:none}}@media (max-width:1100px){.today-work{grid-template-columns:1fr}}@media (max-width:760px){:is(.dashboard-layout .dashboard-content,.dashboard-layout .dashboard-content:has(.operational-home)){width:calc(100% - 32px);padding-top:24px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.dashboard-layout :is(input,select,textarea){font-size:1rem}.portal-page-header{flex-wrap:wrap;align-items:flex-start;margin-bottom:16px}.portal-page-header h1{font-size:1.5rem}.portal-header-actions{width:100%}.portal-header-actions .calendar-new{font-size:var(--portal-text-body);flex:1}.today-work{gap:16px;margin-top:16px}.operational-home .today-pulse-track{grid-template-columns:repeat(2,minmax(0,1fr))}.operational-home .pulse-item{grid-template-columns:16px minmax(0,1fr);gap:6px;min-height:88px;padding:12px}.operational-home .pulse-item:nth-of-type(odd){border-right:1px solid var(--line)}.operational-home .pulse-resource-state{padding:12px}.operational-home .agenda-booking{grid-template-columns:64px 6px minmax(0,1fr) 16px;gap:6px 8px}.operational-home .agenda-booking>.appointment-status{grid-area:3/3}.operational-home .agenda-booking>svg{grid-area:1/4/4}.operational-home .agenda-time,.operational-home .agenda-resource-accent{grid-row:1/4}.operational-home .agenda-resource{grid-column:3}.today-summary{font-size:var(--portal-text-small);gap:8px 16px}.today-section-heading{flex-wrap:wrap;align-items:flex-start}.dashboard-layout .device-notice-stack{bottom:calc(76px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.dashboard-layout *,.dashboard-layout :before,.dashboard-layout :after{scroll-behavior:auto;transition:none!important;animation:none!important}}
