:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1f2527;--muted:#66706b;--line:#d7d7cf;--paper:#f7f5ef;--panel:#fff;--panel-strong:#edf3ee;--accent:#1f6f54;--accent-dark:#124a3b;--warning:#b86b24;--nav:#20282b}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.appShell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#f7f5ef;flex-direction:column;gap:28px;padding:28px 20px;display:flex}.brandBlock{align-items:center;gap:14px;display:flex}.brandBlock.dark .eyebrow{color:var(--muted)}.brandMark{width:42px;height:42px;color:var(--nav);background:#f7f5ef;border:1px solid #ffffff47;border-radius:8px;place-items:center;font-weight:800;display:grid}.brandBlock h1,.topbar h2,.sectionHeader h3{letter-spacing:0;margin:0;line-height:1.1}.brandBlock h1{font-size:22px}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}.sidebar .eyebrow{color:#aeb8b3}.navStack{gap:8px;display:grid}.navGroup{gap:6px;display:grid}.navDetails summary{list-style:none}.navDetails summary::-webkit-details-marker{display:none}.navChevron{margin-left:auto;transition:transform .15s}.navDetails[open] .navChevron{transform:rotate(180deg)}.navButton,.navSubButton,.commandButton,.iconButton,.viewSwitch button,.viewSwitch a{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:40px;display:inline-flex}.navButton{color:#f7f5ef;background:0 0;justify-content:flex-start;padding:0 12px;text-decoration:none}.navSubmenu{gap:4px;padding-left:20px;display:grid}.navSubButton{color:#c8d0cc;background:0 0;justify-content:flex-start;min-height:34px;padding:0 12px;font-size:14px;text-decoration:none}.navButton.active,.navButton:hover,.navSubButton.active,.navSubButton:hover{background:#ffffff1a}.navSubButton.active{color:#fff}.workspace{min-width:0;padding:28px}.topbar,.sectionHeader,.metricsGrid,.lowerGrid{gap:16px;display:grid}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:24px}.topbar h2{font-size:32px}.topActions{gap:10px;display:flex}.commandButton{background:var(--accent);color:#fff;padding:0 15px;text-decoration:none}.commandButton.wide{width:100%}.commandButton.subtle{background:var(--panel-strong);color:var(--accent-dark);border-color:#1f6f543d}.commandButton.warning{background:var(--warning)}.commandButton.danger{background:#9f341a}.commandButton:disabled{cursor:wait;opacity:.7}.iconButton{background:var(--panel);border-color:var(--line);width:42px;color:var(--ink);text-decoration:none}.createAppointmentButton{background:var(--accent);border-color:var(--accent);color:#fff;width:56px;min-height:56px}.createAppointmentButton:hover{background:var(--accent-dark)}.metricsGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.compactMetrics{grid-template-columns:minmax(0,360px);margin-bottom:14px}.compactMetrics .metric{padding-top:8px;padding-bottom:8px}.compactMetrics .metricIcon{width:28px;height:28px}.compactMetrics .metric strong{font-size:20px}.settingsMetricsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.calendarSurface,.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px}.metric{cursor:default;background:0 0;border:0;border-left:3px solid #1f6f5442;border-radius:0;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:10px 0 10px 14px;display:grid}.metricIcon{width:30px;height:30px;color:var(--accent-dark);background:#1f6f5414;border-radius:999px;grid-row:span 2;place-items:center;display:grid}.metric span{color:var(--muted);font-size:13px}.metric strong{overflow-wrap:anywhere;font-size:24px;line-height:1}.metric em{color:var(--muted);overflow-wrap:anywhere;grid-column:2;font-size:12px;font-style:normal;line-height:1.3}.metricDisclosure{padding:0;position:relative}.metricDisclosure summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:10px 0 10px 14px;list-style:none;display:grid}.metricDisclosure summary::-webkit-details-marker{display:none}.metricDisclosure summary:after{content:"+";color:var(--accent-dark);font-size:18px;font-weight:800;line-height:1;position:absolute;top:8px;right:2px}.metricDisclosure[open] summary:after{content:"-"}.metricDropdown{gap:8px;margin:2px 0 0 44px;padding:0 0 6px;display:grid}.metricDropdown span{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.25}.calendarSurface,.panel{padding:18px}.calendarSurface{scroll-margin-top:16px}.sectionHeader{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:18px}.sectionHeader.compact{margin-bottom:12px}.viewSwitch{gap:6px;display:flex}.viewSwitch button,.viewSwitch a{border-color:var(--line);color:var(--ink);background:#f5f4ef;padding:0 12px;text-decoration:none}.viewSwitch button:first-child,.viewSwitch a.active{background:var(--accent-dark);color:#fff}.calendarNav,.calendarToolbar,.filterBar{gap:10px;display:flex}.calendarNav{align-items:center}.calendarOwner{color:var(--accent-dark);margin:8px 0 0;font-size:18px;font-weight:800}.calendarOwnerTitle{color:var(--accent-dark);font-size:24px}.barberPickerGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.barberPickerCard{border:1px solid var(--line);min-height:126px;color:var(--ink);background:#fbfaf6;border-radius:8px;align-content:center;justify-items:start;gap:8px;padding:18px;text-decoration:none;display:grid}.barberPickerCard:hover{background:var(--panel-strong);border-color:#1f6f546b;box-shadow:0 8px 20px #1f252714}.barberPickerIcon{background:var(--panel-strong);width:40px;height:40px;color:var(--accent-dark);border-radius:8px;place-items:center;display:grid}.barberPickerCard em{color:var(--muted);font-size:13px;font-style:normal}.clientSegmentGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.clientSegmentCard{border:1px solid var(--line);min-height:132px;color:var(--ink);background:#fbfaf6;border-radius:8px;align-content:center;justify-items:start;gap:8px;padding:18px;text-decoration:none;display:grid}.clientSegmentCard:hover,.clientSegmentCard.active{background:var(--panel-strong);border-color:#1f6f546b;box-shadow:0 8px 20px #1f252714}.clientSegmentCard em{color:var(--muted);font-size:13px;font-style:normal}.clientCreatePanel{justify-items:end;gap:8px;display:grid;position:relative}.clientCreateForm{z-index:20;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;width:min(360px,100vw - 36px);padding:14px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #1f252729}.clientCreateForm label{color:var(--muted);gap:6px;font-size:13px;display:grid}.clientCreateForm input,.clientCreateForm select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fbfaf6;border-radius:8px;padding:8px 10px}.clientCreateForm .fieldError input,.clientCreateForm .fieldError select{background:#fff1f2;border-color:#b91c1c;outline:2px solid #b91c1c1f}.compactNote{text-align:right;margin:0}.calendarToolbar{justify-content:space-between;align-items:flex-end;margin-bottom:18px}.filterBar{flex-wrap:wrap;justify-content:flex-end}.filterBar label{min-width:150px;color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.filterBar input,.filterBar select{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:0 10px}.daySchedule,.periodAppointments{gap:8px;display:grid}.calendarSlot{border-top:1px solid var(--line);grid-template-columns:76px minmax(0,1fr);gap:12px;padding-top:10px;display:grid}.slotTime{color:var(--muted);font-size:13px;font-weight:800}.slotContent{gap:8px;min-height:40px;display:grid}.slotEmpty{color:var(--muted);font-size:13px}.appointment{border-left:4px solid var(--accent);background:#f8faf7;border-radius:8px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:62px;padding:12px;display:grid}.appointment.real{border-left-color:var(--accent);min-height:54px}.appointment.compact{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:10px}.appointment.compact .statusPill{grid-column:2;width:fit-content}.appointment[data-status=awaiting_payment],.appointment[data-status=pending_confirmation],.appointment[data-status=needs_barber_review],.appointmentChip[data-status=awaiting_payment],.appointmentChip[data-status=pending_confirmation],.appointmentChip[data-status=needs_barber_review]{border-left-color:var(--warning)}.appointment[data-status^=cancelled],.appointment[data-status=no_show],.appointmentChip[data-status^=cancelled],.appointmentChip[data-status=no_show]{opacity:.65}.appointment p{color:var(--muted);margin:4px 0 0}.appointmentLink{color:inherit;text-decoration:none}.appointmentLink:hover .appointment,.appointmentChip:hover{border-color:#1f6f545c;box-shadow:0 8px 20px #1f252714}.appointmentTime{color:var(--accent-dark);font-weight:800}.statusPill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px}.weekCalendar,.yearCalendar{gap:10px;display:grid}.weekCalendar{grid-template-columns:repeat(7,minmax(118px,1fr));overflow-x:auto}.periodColumn,.yearMonth{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;align-content:start;gap:10px;min-height:180px;padding:12px;display:grid}.periodHeader{gap:4px;display:grid}.periodHeaderLink,.monthDayLink{color:inherit;text-decoration:none}.periodHeaderLink:hover,.monthDayLink:hover{color:var(--accent-dark)}.periodHeader span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.periodHeader strong{font-size:24px;line-height:1}.periodHeader em{color:var(--muted);font-size:13px;font-style:normal}.monthCalendar{grid-template-columns:repeat(7,minmax(108px,1fr));gap:8px;display:grid;overflow-x:auto}.monthWeekday{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.monthCell{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;align-content:start;gap:6px;min-height:118px;padding:10px;display:grid}.monthCell.muted{background:#f0efe8}.monthDayHeader{justify-content:space-between;align-items:center;display:flex}.monthDayHeader span{color:var(--muted);font-size:13px}.appointmentChip{border-left:3px solid var(--accent);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#f8faf7;border-radius:6px;padding:6px 7px;font-size:12px;text-decoration:none;display:block;overflow:hidden}.moreAppointments{color:var(--accent-dark);font-size:12px;font-weight:800}.yearCalendar{grid-template-columns:repeat(4,minmax(0,1fr))}.lowerGrid{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr) minmax(320px,.9fr);margin-top:20px}.agendaLowerGrid{grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr)}.serviceList,.checkList{gap:8px;display:grid}.serviceRow,.checkRow{border-top:1px solid var(--line);align-items:center;min-height:42px;display:grid}.serviceRow{grid-template-columns:minmax(0,1fr) 80px 80px}.serviceRow em{color:var(--muted);text-align:right;font-style:normal}.checkRow{grid-template-columns:auto minmax(0,1fr);gap:10px}.ok{color:var(--accent)}.warn{color:var(--warning)}.installShell{place-items:center;min-height:100vh;padding:24px;display:grid}.installPanel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:20px;width:min(100%,560px);padding:28px;display:grid}.installHeader,.installActions{justify-content:space-between;align-items:center;gap:14px;display:flex}.installHeroIcon{background:var(--panel-strong);width:54px;height:54px;color:var(--accent-dark);border-radius:8px;flex:none;place-items:center;display:grid}.installLead{color:var(--muted);margin:0;font-size:16px;line-height:1.55}.installGuide{border-top:1px solid var(--line);gap:16px;padding-top:18px;display:grid}.installState{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.installState svg{color:var(--accent-dark)}.installState p{color:var(--muted);margin:4px 0 0;line-height:1.5}.installSteps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.installSteps li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding-top:10px;display:grid}.installSteps span{background:var(--panel-strong);width:28px;height:28px;color:var(--accent-dark);border-radius:999px;place-items:center;font-size:13px;font-weight:800;display:grid}.installPrimaryButton{width:fit-content}.installMessage{color:var(--accent-dark);margin:0;font-size:14px;font-weight:700}.installUrl{border:1px solid var(--line);width:fit-content;color:var(--accent-dark);background:#fbfaf6;border-radius:8px;margin:0;padding:10px 12px;font-weight:800}.loginShell{place-items:center;min-height:100vh;padding:24px;display:grid}.loginPanel{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(100%,420px);padding:28px}.loginForm,.appointmentForm{gap:16px;display:grid}.loginForm{margin-top:28px}.loginForm label,.appointmentForm label{color:var(--muted);gap:8px;font-size:14px;font-weight:700;display:grid}.loginForm input,.appointmentForm input,.appointmentForm select,.detailEditor textarea{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:0 12px}.loginForm input:focus,.appointmentForm input:focus,.appointmentForm select:focus,.detailEditor textarea:focus{border-color:var(--accent);outline:2px solid #1f6f542e}.formError{color:#9f341a;margin:0;font-size:14px}.formNote{color:var(--accent-dark);margin:0;font-size:14px;font-weight:700}.formPair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.compactForm{gap:12px}.slotPicker{gap:10px;display:grid}.availabilityGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.availabilitySlot{border:1px solid var(--line);min-height:54px;color:var(--ink);cursor:pointer;text-align:left;background:#fbfaf6;border-radius:8px;gap:3px;padding:8px;display:grid}.availabilitySlot:hover,.availabilitySlot.active{background:var(--panel-strong);border-color:#1f6f546b}.availabilitySlot span{color:var(--muted);font-size:12px}.appointmentDetailPanel{align-content:start}.appointmentFacts{gap:10px;margin-bottom:14px;display:grid}.appointmentFacts div{border-top:1px solid var(--line);gap:4px;padding-top:10px;display:grid}.appointmentFacts span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.appointmentFacts em{color:var(--muted);font-size:13px;font-style:normal}.appointmentSections{gap:12px;margin-bottom:14px;display:grid}.appointmentSection{border-top:1px solid var(--line);gap:9px;padding-top:12px;display:grid}.appointmentSectionToggle{min-height:38px;color:var(--accent-dark);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.appointmentSectionToggle:hover{color:var(--accent)}.appointmentSectionBody{gap:9px;display:grid}.miniHeader{color:var(--accent-dark);align-items:center;gap:8px;font-size:14px;display:flex}.detailInfoRow,.serviceMiniRow,.timelineItem{gap:3px;display:grid}.detailInfoRow{grid-template-columns:120px minmax(0,1fr);align-items:start}.appointmentFacts .infoValueWithAction,.appointmentFacts .clientPatternEditor,.appointmentFacts .clientInlineEditor,.appointmentFacts .inlineEditorActions{border-top:0;padding-top:0}.infoValueWithAction{flex-wrap:wrap;align-items:flex-start;gap:10px;min-width:0;display:flex}.infoValueWithAction strong{min-width:min(100%,220px)}.clientPatternEditor{gap:6px;display:grid}.clientInlineEditor{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:8px;width:min(100%,360px);padding:10px;display:grid}.clientInlineEditor label{color:var(--muted);gap:6px;font-size:13px;display:grid}.clientInlineEditor select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.inlineEditorActions{flex-wrap:wrap;gap:8px;display:flex}.detailEditor{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:3px;display:grid}.detailEditor>span{color:var(--muted);font-size:13px}.detailEditor>div{gap:8px;display:grid}.detailEditor textarea{resize:vertical;width:100%;min-height:78px;padding:10px 12px}.detailInfoRow span,.timelineItem span{color:var(--muted);font-size:13px}.detailInfoRow strong,.serviceMiniRow strong,.timelineItem strong{overflow-wrap:anywhere}.serviceBreakdown,.miniTimeline{gap:7px;display:grid}.serviceMiniRow{background:#fbfaf6;border-radius:8px;grid-template-columns:minmax(0,1fr) 72px 72px;align-items:center;padding:8px}.serviceMiniRow em{color:var(--muted);font-size:13px;font-style:normal}.compactText{margin:0}.actionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.contentGrid{gap:20px;margin-top:20px;display:grid}.contentGrid.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.emptyState{border:1px dashed var(--line);background:#fbfaf6;border-radius:8px;padding:18px}.emptyState p,.mutedText{color:var(--muted);margin:8px 0 0;line-height:1.55}.dataTable{display:grid;overflow-x:auto}.clientsTable,.clientsTable .dataRow{grid-template-columns:1.1fr .9fr .65fr .45fr 1.35fr}.regularClientsTable,.regularClientsTable .dataRow{grid-template-columns:1.1fr .9fr .7fr .7fr .9fr .8fr}.newClientsTable,.newClientsTable .dataRow{grid-template-columns:1fr .9fr .9fr .75fr .9fr .7fr .85fr .8fr}.barbersTable,.barbersTable .dataRow{grid-template-columns:1fr 1fr 1fr}.dataTable>span{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;padding:0 12px 10px 0;font-size:12px;font-weight:800}.tableIconHeader{align-items:center;display:flex}.dataRow{display:contents}.dataRow>*{border-top:1px solid var(--line);min-height:46px;padding:13px 12px 13px 0}.inlineActionButton,.inlineActionLink,.disabledAction{background:var(--panel-strong);width:fit-content;min-height:32px;color:var(--accent-dark);border:1px solid #1f6f543d;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.inlineActionButton{cursor:pointer}.inlineActionButton.danger{color:#991b1b;background:#fff1f2;border-color:#b91c1c38}.inlineActionButton svg{flex:none}.inlineActionButton:disabled,.disabledAction{cursor:not-allowed;opacity:.62}.inlineActionStack{gap:4px;width:fit-content;display:grid}.inlineActionStack small{color:#9f341a;font-size:11px}.clientCommentsPanel{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:18px;display:grid}.infoList,.statusStack{gap:8px;display:grid}.infoRow,.statusItem{border-top:1px solid var(--line);align-items:center;min-height:42px;display:grid}.infoRow{grid-template-columns:120px minmax(0,1fr);gap:12px}.infoRow span,.statusItem span{color:var(--muted)}.statusItem{grid-template-columns:auto minmax(0,1fr);gap:10px}.statusItem div{gap:3px;display:grid}.flagGrid{flex-wrap:wrap;gap:8px;display:flex}.flagPill{border:1px solid var(--line);color:var(--muted);background:#f5f4ef;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:700}.flagPill.enabled{background:var(--panel-strong);color:var(--accent-dark);border-color:#1f6f5452}@media (max-width:980px){.appShell{grid-template-columns:1fr}.sidebar{position:static}.metricsGrid,.lowerGrid,.barberPickerGrid,.clientSegmentGrid,.contentGrid.twoColumns{grid-template-columns:1fr 1fr}.appointmentDetailPanel{grid-column:1/-1}.agendaLowerGrid .appointmentDetailPanel{grid-column:auto}}@media (max-width:720px){.workspace,.sidebar,.installShell{padding:18px}.topbar,.sectionHeader,.installHeader,.installActions,.metricsGrid,.lowerGrid,.contentGrid.twoColumns,.barberPickerGrid,.clientSegmentGrid,.appointment{grid-template-columns:1fr}.topActions,.clientCreatePanel,.viewSwitch,.calendarToolbar,.filterBar{flex-wrap:wrap}.calendarToolbar,.filterBar,.clientCreatePanel{justify-content:flex-start;justify-items:stretch}.clientCreateForm{width:100%;position:static}.filterBar label{width:100%}.statusPill{width:fit-content}.calendarSlot,.formPair,.actionGrid,.detailInfoRow,.availabilityGrid,.serviceMiniRow,.weekCalendar,.monthCalendar,.yearCalendar{grid-template-columns:1fr}.clientsTable,.clientsTable .dataRow,.regularClientsTable,.regularClientsTable .dataRow{min-width:720px}.newClientsTable,.newClientsTable .dataRow{min-width:980px}.barbersTable,.barbersTable .dataRow{min-width:360px}}
