:root{--celeste-bg: #f6f2ed;--celeste-surface: #ffffff;--celeste-surface-warm: #fffaf5;--celeste-surface-soft: #fffdf9;--celeste-text: #1f2933;--celeste-heading: #263238;--celeste-muted: #66747f;--celeste-muted-strong: #52616b;--celeste-border: #e1d7ce;--celeste-border-soft: #e4ddd5;--celeste-primary: #2f6f73;--celeste-primary-dark: #194d50;--celeste-primary-soft: #e7f1ed;--celeste-accent: #8b5e3c;--celeste-danger: #9a4b42;--celeste-radius: 8px;--celeste-card-shadow: 0 10px 26px rgb(80 56 36 / 4%);color:var(--celeste-text);background:var(--celeste-bg);font-family:Inter,Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(47 111 115 / 35%);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.pageShell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0}.panel,.hero,.adminHeader,.successPanel,.statusPanel{border-radius:var(--celeste-radius)}.hero,.adminHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px;border:1px solid #e1d7ce;background:#fffaf5;border-radius:8px}.hero h1,.adminHeader h1{margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.04;letter-spacing:0}.hero p{max-width:720px;margin:12px 0 0;color:#52616b}.compactHero{align-items:flex-start}.eyebrow{margin:0 0 8px;color:#8b5e3c;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.heroMeta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;color:#52616b;font-size:.95rem}.heroMeta span,.sectionHeader,.panelTitle{display:inline-flex;align-items:center;gap:8px}.publicHero{align-items:stretch}.heroActions{display:grid;align-content:end;gap:10px;min-width:220px}.publicGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-top:16px}.studioInfoPanel{align-self:start}.infoList{display:grid;gap:10px;margin-bottom:16px;color:#52616b;font-weight:700}.businessHours{display:grid;gap:8px;margin-bottom:16px;color:#52616b;font-weight:700}.businessHours strong{color:#263238}.bookingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.bookingIntro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:28px;padding:0 4px}.bookingIntro h2{margin:0;color:#263238;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.02em}.bookingIntro p:not(.eyebrow){margin:8px 0 0;color:#66747f}.bookingSteps{display:flex;gap:18px;margin:0;padding:0;color:#8a969b;font-size:.86rem;font-weight:800;list-style:none}.bookingSteps li{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.bookingSteps span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d9d0c8;border-radius:50%;background:#fffdf9}.bookingSteps .active,.bookingSteps .complete{color:#194d50}.bookingSteps .active span{border-color:#2f6f73;background:#2f6f73;color:#fff}.bookingSteps .complete span{border-color:#9fc6bf;background:#e7f1ed}.workStrip{margin-top:16px}.sectionHeader{justify-content:space-between;width:100%;margin-bottom:12px}.sectionHeader h2{margin:0;font-size:1.4rem;letter-spacing:0}.workGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workCard{display:grid;gap:8px;min-height:100%;border:1px solid #e1d7ce;background:#fffdf9;color:#1f2933;border-radius:8px;overflow:hidden;text-decoration:none}.workCard img,.workDetail>img{display:block;width:100%;height:220px;object-fit:cover}.workCard span,.workCard strong,.workCard small{margin-inline:14px}.workCard span{margin-top:4px;color:#8b5e3c;font-size:.82rem;font-weight:800}.workCard small{margin-bottom:14px;color:#66747f}.imagePlaceholder,.thumbPlaceholder{display:grid;place-items:center;background:#e7f1ed;color:#2f6f73}.imagePlaceholder{height:220px}.panel,.successPanel,.statusPanel{border:1px solid var(--celeste-border);background:var(--celeste-surface-soft);border-radius:var(--celeste-radius);padding:20px}.panelTitle{margin-bottom:16px;color:#263238;font-weight:800}.serviceList,.bookingList,.customerList,.noteList{display:grid;gap:10px}.serviceItem{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:86px;padding:14px;border:1px solid #e4ddd5;background:#fff;border-radius:8px;color:#263238;text-align:left}.serviceItem button{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;border:0;background:transparent;color:inherit;text-align:left}.serviceItem a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border-radius:8px;background:#e7f1ed;color:#194d50;font-weight:800;text-decoration:none;white-space:nowrap}.serviceItem.active{border-color:#2f6f73;box-shadow:inset 0 0 0 1px #2f6f73}.serviceItem strong,.serviceItem small{display:block}.serviceItem small,.muted,.bookingRow small{color:#66747f}.serviceItem em{display:block;margin-top:8px;color:#8a969b;font-size:.78rem;font-style:normal;font-weight:700}.price{white-space:nowrap;color:#8b5e3c;font-weight:800}.field{display:grid;gap:7px;margin-bottom:14px}.field span{color:#52616b;font-size:.88rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid #d9d0c8;background:var(--celeste-surface);border-radius:var(--celeste-radius);color:var(--celeste-text);padding:11px 12px}.field textarea{min-height:96px;resize:vertical}.mediaUploadBox{display:grid;gap:8px;margin-bottom:14px;border:1px solid #e4ddd5;border-radius:8px;background:#fffdf9;padding:12px}.mediaUploadBox .field{margin-bottom:0}.mediaUploadBox button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:8px;background:#2f6f73;color:#fff;font-weight:800}.mediaUploadBox button:disabled{background:#b9c3c4}.mediaUploadBox small{color:#66747f;font-weight:700}.mediaPreview{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;margin-bottom:14px;color:#52616b;font-weight:800}.mediaPreview button{min-height:34px;border:0;border-radius:8px;background:#9a4b42;color:#fff;font-weight:800;padding:0 12px}.mediaPreview img{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid #e4ddd5;background:#fff}.formGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inlineFormGrid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;margin-top:12px;max-width:520px}.checkboxGroup{display:grid;gap:8px;margin-bottom:14px;color:#52616b;font-weight:700}.checkboxGroup label{display:inline-flex;align-items:center;gap:8px;color:#263238;font-weight:700}.availabilityRuleGrid{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(92px,.8fr) repeat(3,minmax(86px,.7fr)) minmax(86px,.7fr);gap:10px;align-items:end}.checkField{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:#263238;font-weight:800}.settingsRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e4ddd5;background:#fff;border-radius:8px;padding:14px}.settingsRow strong,.settingsRow span,.settingsRow small{display:block}.settingsRow span,.settingsRow small{margin-top:5px;color:#66747f}.slotGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot{min-height:48px;border:1px solid #d9d0c8;background:var(--celeste-surface);border-radius:var(--celeste-radius);color:var(--celeste-heading);font-weight:700}.slot.active{border-color:#2f6f73;background:#e7f1ed;color:#194d50}.primaryButton,.secondaryButton,.iconButton,.rowActions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:#2f6f73;color:#fff;font-weight:800}.primaryButton{width:100%;min-height:48px}.secondaryButton{min-height:44px;padding:0 14px;border:1px solid #cfd9d6;background:#e7f1ed;color:#194d50;font-weight:800;text-decoration:none}.iconButton{width:42px;height:42px}.rowActions{display:flex;gap:8px}.rowActions button,.rowActions a{min-height:38px;padding:0 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:800}.rowActions button:last-child{background:#9a4b42}.rowActions a{background:#2f6f73;color:#fff}.segmentedControl{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.segmentedControl button{min-height:38px;padding:0 14px;border:1px solid #d9d0c8;border-radius:8px;background:#fff;color:#2f3b3d;font-weight:800}.segmentedControl button.active{border-color:#2f6f73;background:#2f6f73;color:#fff}.errorText{color:#a33d2f;font-weight:700}.emptyState{grid-column:1 / -1;color:#66747f;padding:14px;border:1px dashed #d9d0c8;border-radius:8px}.successPanel{display:flex;gap:14px;margin-top:16px;color:#194d50}.successPanel h2{margin:0 0 8px}.successPanel p{margin:0 0 6px}.bookingPanel{box-shadow:var(--celeste-card-shadow)}.bookingDetailsPanel{border-color:#cfd9d6;background:var(--celeste-primary-soft)}.statusPanel{margin-top:16px}.workDetail{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:24px;align-items:start}.workDetail>img{height:min(62vh,620px);border:1px solid #e1d7ce;border-radius:8px}.workDetailBody{border:1px solid #e1d7ce;background:#fffdf9;border-radius:8px;padding:24px}.workDetailBody h1{margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;letter-spacing:0}.workDetailBody p{color:#52616b;line-height:1.7}.tagRow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tagRow span{padding:6px 10px;border:1px solid #d9d0c8;border-radius:999px;background:#fff;color:#52616b;font-size:.86rem;font-weight:700}.compactTagRow{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.compactTagRow span,.compactTagRow small{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #d9d0c8;border-radius:999px;background:#fff;color:#52616b;font-size:.78rem;font-weight:800}.stackedForm{display:grid;gap:10px;margin-top:18px}.checkboxLine{display:flex;align-items:center;gap:8px;color:#33424a;font-weight:800}.checkboxLine input{width:16px;height:16px;accent-color:#2f6f73}.ctaBand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding:16px;border-radius:8px;background:#e7f1ed}.ctaBand strong,.ctaBand span{display:block}.ctaBand span{margin-top:4px;color:#52616b}.ctaBand a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:8px;background:#2f6f73;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}.adminHeader{margin-bottom:16px}.headerActions{display:inline-flex;align-items:center;gap:8px}.adminHeader h1{font-size:clamp(1.8rem,3vw,3rem)}.bookingRow{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e1d7ce;background:#fffdf9;border-radius:8px;padding:16px}.bookingRow span,.bookingRow small{display:block;margin-top:4px}.adminNav{display:flex;gap:8px;margin:0 0 16px}.adminNav a,.adminNav button,.backButton,.searchBar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:8px;border:1px solid #d9d0c8;background:#fffdf9;color:#263238;font-weight:800;text-decoration:none}.adminNav a.active,.searchBar button{border-color:#2f6f73;background:#2f6f73;color:#fff}.adminNav button{cursor:pointer}.authLayout{display:grid;min-height:calc(100vh - 64px);place-items:center}.authPanel{width:min(420px,100%)}.searchBar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 16px;padding:12px;border:1px solid #e1d7ce;background:#fffdf9;border-radius:8px}.searchBar input{min-width:0;border:0;outline:0;background:transparent;color:#1f2933}.segmentBar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,180px) auto auto auto;gap:10px;align-items:end;margin:12px 0 18px}.segmentBar .field{margin:0}.segmentBar button{min-height:42px}.customerRow{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e1d7ce;background:#fffdf9;border-radius:8px;padding:16px;color:#1f2933;text-decoration:none}.customerRow:hover{border-color:#2f6f73}.customerRow span,.customerRow small{display:block;margin-top:4px;color:#66747f}.customerRow .compactTagRow span,.customerRow .compactTagRow small{display:inline-flex;margin-top:0;color:#52616b}.customerMeta{min-width:150px;text-align:right}.customerMeta span{color:#66747f;font-size:.82rem;font-weight:700}.detailGrid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1fr);gap:16px}.historyPanel{grid-column:1 / -1}.profileList{display:grid;gap:12px;margin:0}.profileList div{display:grid;grid-template-columns:88px 1fr;gap:10px}.profileList dt{color:#66747f;font-weight:800}.profileList dd{margin:0;color:#1f2933}.inlineNote{margin:18px 0 0;padding:12px;border-left:3px solid #2f6f73;background:#e7f1ed;color:#194d50}.noteList{margin-top:14px}.noteItem{border:1px solid #e4ddd5;background:#fff;border-radius:8px;padding:14px}.noteItem p{margin:0 0 8px}.noteItem small{color:#66747f}.bookingRow.compact{align-items:flex-start}.contentGrid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);gap:16px}.legalLayout{display:grid;gap:14px;max-width:880px}.legalLayout p{margin:0;color:#52616b;line-height:1.7}.contentList{display:grid;gap:12px}.contentRow{display:grid;grid-template-columns:112px 1fr;gap:14px;border:1px solid #e4ddd5;background:#fff;border-radius:8px;padding:12px}.contentRow img,.thumbPlaceholder{width:112px;height:112px;border-radius:8px;object-fit:cover}.contentRow strong,.contentRow span,.contentRow small{display:block}.contentRow span,.contentRow small{margin-top:5px;color:#66747f}.contentActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.contentActions button,.contentActions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #d9d0c8;border-radius:8px;background:#fffdf9;color:#263238;font-weight:800;text-decoration:none}.socialPostRow{align-items:stretch}.socialCaption{width:100%;min-height:180px;margin-top:10px;resize:vertical}.opsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendarLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:16px;align-items:start}.calendarViewPanel{grid-row:span 2;background:#fffaf5}.calendarActionPanel{box-shadow:var(--celeste-card-shadow)}.calendarSummary{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.calendarSummary span{display:inline-flex;align-items:baseline;gap:6px;min-height:34px;padding:0 10px;border:1px solid #e4ddd5;border-radius:999px;background:#fff;color:#66747f;font-size:.82rem;font-weight:800}.calendarSummary strong{color:#263238;font-size:1rem}.calendarBookingRow{position:relative;overflow:hidden;padding-left:18px}.calendarBookingRow:before{position:absolute;inset:0 auto 0 0;width:4px;background:#d9d0c8;content:""}.calendarBookingRow.status-pending:before{background:#c5a059}.calendarBookingRow.status-confirmed:before{background:#2f6f73}.calendarBookingRow.status-completed:before{background:#8a969b}.calendarBookingRow.status-cancelled:before,.calendarBookingRow.status-no_show:before{background:#9a4b42}.dashboardLayout{display:grid;gap:16px}.opsList{display:grid;gap:10px}.exportList{margin-top:14px}.opsRow,.opsLine{border:1px solid #e4ddd5;background:#fff;border-radius:8px;padding:14px}.opsRow{display:flex;align-items:center;justify-content:space-between;gap:14px}.opsRow span,.opsRow small{display:block;margin-top:5px;color:#66747f}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metricTile{border:1px solid #e4ddd5;background:#fff;border-radius:8px;padding:14px}.dashboardMetrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboardMetrics .metricTile{min-height:112px;box-shadow:var(--celeste-card-shadow)}.dashboardMetrics .metricTilePrimary,.dashboardMetrics .metricTileSecondary{grid-column:span 2;display:flex;flex-direction:column;justify-content:space-between;min-height:146px}.dashboardMetrics .metricTilePrimary{border-color:var(--celeste-primary);background:var(--celeste-primary);color:#fff}.dashboardMetrics .metricTilePrimary span,.dashboardMetrics .metricTileSecondary span{color:inherit;opacity:.78}.dashboardMetrics .metricTilePrimary strong{font-size:3rem;line-height:1}.dashboardMetrics .metricTileSecondary{border-color:#d8c3a9;background:#fff8ef}.dashboardMetrics .metricTileSecondary strong{color:#8b5e3c;font-size:3rem;line-height:1}.dashboardMetrics .metricTileCompact{display:flex;flex-direction:column;justify-content:space-between}.metricTile span,.metricTile strong{display:block}.metricTile span{color:#66747f;font-size:.86rem;font-weight:800}.metricTile strong{margin-top:6px;font-size:1.5rem}.onboardingPanel{display:grid;gap:14px}.dashboardPanel{box-shadow:var(--celeste-card-shadow)}.dashboardPanelFeatured{border-color:#cfd9d6;background:var(--celeste-primary-soft)}.dashboardPanelSoft{background:#fffaf5}.onboardingHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.onboardingHeader strong,.onboardingHeader span,.onboardingItem strong,.onboardingItem small{display:block}.onboardingHeader strong{font-size:1.8rem}.onboardingHeader span,.onboardingItem small{margin-top:4px;color:#66747f}.progressTrack{height:8px;overflow:hidden;border-radius:999px;background:#eadfd4}.progressTrack span{display:block;height:100%;border-radius:inherit;background:#2f6f73}.onboardingList{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.onboardingItem{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:92px;padding:12px;border:1px solid #e4ddd5;border-radius:8px;color:inherit;text-decoration:none;background:#fff}.onboardingItem.isComplete{border-color:#b9d7cf;background:#f4fbf8}.onboardingIcon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:#2f6f73;background:#eef7f4}.successBadge{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;color:#2f6f73;font-weight:800;background:#eef7f4}.inlineLink,.textLink{color:#2f6f73;font-weight:800;text-decoration:none}.inlineLink{display:inline-flex;width:fit-content;margin-top:14px}.dividerLine{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:18px 0 12px;color:#66747f;font-size:.82rem;font-weight:800}.dividerLine:before,.dividerLine:after{content:"";height:1px;background:#e4ddd5}@media(max-width:920px){.bookingGrid,.workGrid,.workDetail,.contentGrid,.opsGrid,.calendarLayout,.publicGrid{grid-template-columns:1fr}.publicHero{display:grid}.heroActions{min-width:0;width:100%}.availabilityRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pageShell{width:min(100% - 20px,1120px);padding:10px 0 24px}.hero,.adminHeader{padding:18px}.bookingIntro{align-items:stretch;flex-direction:column;gap:16px;margin-top:22px}.bookingSteps{justify-content:space-between;gap:8px}.bookingSteps li{font-size:.8rem}.slotGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.availabilityRuleGrid{grid-template-columns:1fr}.bookingRow{align-items:stretch;flex-direction:column}.adminNav{overflow-x:auto}.searchBar{grid-template-columns:auto 1fr}.searchBar button{grid-column:1 / -1}.segmentBar{grid-template-columns:1fr}.customerRow{align-items:stretch;flex-direction:column}.customerMeta{min-width:0;text-align:left}.detailGrid{grid-template-columns:1fr}.profileList div{grid-template-columns:1fr;gap:4px}.contentRow{grid-template-columns:88px 1fr}.contentRow img,.thumbPlaceholder{width:88px;height:88px}.ctaBand,.opsRow{align-items:stretch;flex-direction:column}.inlineFormGrid{grid-template-columns:1fr;max-width:none}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboardingHeader{display:grid}.onboardingList{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.onboardingList{grid-template-columns:1fr}}
