:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#243b35;--accent:#193d33;--focus:#a05236;--paper:#f7f5ef;--surface:#fffefa;--muted:#59675e;--line:#deded2;--soft:#eaf0e6;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-size:16px;line-height:1.6}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,.button{background:var(--accent);border:1px solid var(--accent);color:var(--surface);min-height:48px;font:inherit;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:12px;padding:12px 18px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:#2d5143}button:disabled{opacity:1;color:#67736b;cursor:not-allowed;background:#e8ebe4;border-color:#c7d0c4}button.secondary,.button.secondary{color:var(--ink);background:0 0;border-color:#8b9989}button.secondary:hover{background:var(--soft)}label{margin:16px 0;font-size:14px;font-weight:600;display:block}input,select{width:100%;max-width:560px;min-height:48px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid #8b9989;border-radius:7px;margin-top:8px;padding:12px;display:block}input:disabled,select:disabled{color:#67736b;background:#e8ebe4}input[type=checkbox],input[type=radio]{vertical-align:middle;width:20px;max-width:20px;height:20px;min-height:20px;accent-color:var(--accent);margin:0 8px;display:inline-block}label:has(input[type=checkbox]){align-items:center;gap:12px;min-height:44px;display:flex}label:has(input[type=checkbox]) input{flex-shrink:0;order:-1}:is(input,select,button,a,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px}[tabindex="-1"]:focus{outline:none}.skip-link{background:var(--surface);color:var(--ink);z-index:100;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}h1{letter-spacing:-.04em;margin:12px 0 20px;font:400 clamp(32px,4vw,48px)/1.15 Georgia,Times New Roman,serif}h2{margin:28px 0 14px;font-size:22px;font-weight:600;line-height:1.35}h3{font-size:17px;font-weight:600}p{color:var(--muted)}small,.compact{color:var(--muted);font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,40px)}.card .card{box-shadow:none;margin:24px 0}.card>nav{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.card form{max-width:640px;padding-bottom:16px}.card>section:not(.operation):not(.finance-section):not(.receipt-editor){border-top:1px solid var(--line);margin:24px 0;padding-block:16px}.notice,[role=status]:not(:empty){background:var(--soft);color:var(--ink);border:1px solid #bdcbb2;border-left:3px solid #547449;border-radius:5px;margin-top:16px;padding:14px 16px}.error,[role=alert]:not(:empty){color:#77351f;background:#f9eee8;border:1px solid #cfa89b;border-left:3px solid #974129;border-radius:5px;padding:14px 16px}.field-error{color:#77351f;font-size:13px;font-weight:400}.tenant-list{flex-wrap:wrap;gap:12px;padding:0;list-style:none;display:flex}.reset-form{max-width:600px}.card ul{padding-left:20px}.card li{overflow-wrap:anywhere;margin:12px 0}.card li button{margin:8px 0 8px 12px;font-size:13px}.card dl{margin:24px 0}.card dd{margin:4px 0 16px;font-weight:600}.card dt{color:var(--muted);font-size:13px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f2e9;border-radius:7px;padding:16px;font-size:12px}summary{cursor:pointer;min-height:44px;padding:12px 0}.app-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:22px max(20px,50% - 660px);display:flex}.app-brand{letter-spacing:-.05em;align-items:center;gap:12px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.app-brand small{letter-spacing:0;font-size:11px;font-weight:400;display:block}.brand-mark{letter-spacing:-.1em;font:38px/1 Georgia,serif}.brand-mark b{color:var(--focus);font:18px Arial,sans-serif}.app-header nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.app-header nav a{border-radius:6px;min-height:44px;padding:10px 12px;font-size:13px;text-decoration:none}.app-header nav a[aria-current=page]{background:var(--soft);font-weight:600}.lab-banner{color:#43584c;text-align:center;letter-spacing:.05em;background:#e6e7dd;padding:8px 20px;font-size:11px}.app-main{max-width:1320px;min-height:65vh;margin:32px auto;padding:0 24px}.app-footer{border-top:1px solid var(--line);max-width:1320px;color:var(--muted);margin:auto;padding:24px;font-size:12px}.app-main:has(.auth-page){max-width:600px}.app-main:has(.onboarding-page){max-width:900px}.app-main:has(.booking-public){max-width:1180px}.auth-page .actions{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:20px}.auth-page .actions button{font-size:13px}.dashboard{background:0 0;border:0;padding:0}.dashboard h1{margin-top:12px}.dashboard-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:20px;padding:12px 0 24px;display:flex}.dashboard-controls label{min-width:180px;margin:0}.dashboard-controls button{margin-bottom:0}.period-caption{font-size:12px}.operation{grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"agenda next""agenda openings""agenda priorities";align-items:start;gap:24px;margin-top:28px;display:grid}.operation h2{margin:0 0 16px;font-size:20px}.day-agenda{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-area:agenda;overflow:hidden}.day-agenda>h2{border-bottom:1px solid var(--line);margin:0;padding:24px}.schedule-list{margin:0!important;padding:0!important;list-style:none!important}.schedule-list li{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0;padding:18px 24px;display:grid}.schedule-list li:last-child{border:0}.schedule-list time{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.schedule-list strong{font-size:15px;display:block}.schedule-list small{font-size:12px;display:block}.schedule-list li button{min-height:44px;margin:10px 0 0;padding:8px 12px;font-size:12px}.appointment-state{color:#38553d;background:#edf2e5;border:1px solid #b4c2a6;border-radius:5px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;display:inline-flex}.appointment-state.completed,.appointment-state.cancelled{color:#5a6558;background:#f0f1eb;border-color:#d0d4c7}.next-client{border-top:3px solid var(--accent);background:#e9eedf;border-radius:0 0 9px 9px;grid-area:next;padding:24px}.next-client h2{letter-spacing:-.03em;margin:12px 0;font:30px/1.2 Georgia,serif}.next-client p{font-size:13px}.next-client button{width:100%;font-size:12px}.open-intervals{grid-area:openings}.open-intervals li{border-bottom:1px solid var(--line);padding-bottom:12px;font-size:13px}.pending-actions{border-top:1px solid var(--line);grid-area:priorities;padding-top:20px}.pending-actions p{font-size:13px}.finance-section{border-top:1px solid #b6c0ad;margin-top:32px;padding-top:24px}.finance-section h2{margin-top:8px;font-size:22px}.finance-primary{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;display:grid}.finance-primary>div{border-left:1px solid var(--line);padding-left:16px}.finance-primary>div:first-child{border:0;padding-left:0}.finance-primary dd{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:24px}.finance-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.finance-secondary dd{font-size:17px}.receipt-editor{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.receipt-forms{grid-template-columns:1fr 1fr;gap:32px;display:grid}.empty-state{text-align:center;color:var(--muted);border:1px dashed #a9b6a0;border-radius:9px;padding:32px}.dashboard .empty-state{margin-top:24px}.public-booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,510px);align-items:start;gap:64px;display:grid}.booking-intro{padding-top:40px;position:sticky;top:24px}.booking-intro h1{font-size:68px}.booking-intro p{max-width:300px}.booking-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:32px}.booking-public{background:0 0;border:0;padding:0}.booking-public form{max-width:none}.booking-progress{gap:8px;display:flex;margin:0 0 24px!important;padding:0!important;list-style:none!important}.booking-progress li{overflow-wrap:normal;border-top:2px solid #d9dfd1;flex:1;margin:0;padding-top:8px;font-size:11px}.booking-progress li.current,.booking-progress li.past{border-color:var(--accent);color:var(--accent);font-weight:600}.booking-group{border-top:1px solid var(--line);min-width:0;padding:20px 0}.booking-group h2{letter-spacing:-.04em;margin-top:0;font:30px/1.2 Georgia,serif}.booking-form>button[type=submit]{width:100%;margin-top:16px}.booking-form label{font-size:13px}.booking-form input,.booking-form select{max-width:none}.booking-summary{border-block:1px solid var(--line);margin-top:24px;padding:20px 0}.booking-summary dl>div{justify-content:space-between;gap:16px;margin:12px 0;display:flex}.booking-summary dd{text-align:right;margin:0}.booking-summary .due-total{border-top:1px solid var(--line);padding-top:16px}.due-total dd{font-size:21px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.slot-grid button{color:var(--ink);background:0 0;border:1px solid #8b9989;min-height:48px;padding:8px;font-size:13px}.slot-grid button[aria-pressed=true]{background:var(--accent);color:var(--surface)}.booking-back{color:var(--muted);border:0;margin:16px auto;padding:12px;display:block;background:0 0!important}.public-reservations{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.catalog-admin>div>section{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:32px;padding:24px}@media (max-width:1100px){.finance-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-primary>div:nth-child(4){border:0;padding-left:0}.app-header{flex-wrap:wrap}.public-booking-layout{gap:32px}.booking-intro h1{font-size:52px}}@media (max-width:760px){.app-header{gap:16px;padding:16px 20px}.app-header nav{gap:0;width:100%}.app-header nav a{padding-inline:9px;font-size:12px}.lab-banner{font-size:10px}.app-main{margin:24px auto;padding:0 16px}.card{padding:20px}.card li button{margin-left:0}.dashboard-controls{gap:12px}.dashboard-controls label{width:100%}.dashboard-controls input,.dashboard-controls select{max-width:none}.operation{flex-direction:column;align-items:stretch;display:flex}.next-client{order:-1}.day-agenda{order:0}.open-intervals{order:1}.pending-actions{order:2}.schedule-list li{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:16px 12px}.schedule-list li>.appointment-state{grid-column:2;justify-self:start}.schedule-list strong{font-size:14px}.finance-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-primary>div:nth-child(odd){border:0;padding:0}.finance-primary>div:nth-child(2n){border-left:1px solid var(--line);padding-left:16px}.finance-primary dd{font-size:23px}.finance-secondary,.receipt-forms{grid-template-columns:1fr}.public-booking-layout{display:block}.booking-intro{padding:0 0 16px;position:static}.booking-intro h1{margin-block:12px;font-size:38px}.booking-intro>p:not(.eyebrow){font-size:13px}.booking-intro nav{font-size:12px}.booking-form{padding:20px}.booking-progress li{font-size:10px}.booking-group h2{font-size:28px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-caption{overflow-wrap:anywhere}.card form{max-width:100%}button{white-space:normal;max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.skip-link{clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;transform:none}.skip-link:focus{clip-path:none;width:auto;height:auto;padding:12px 18px;overflow:visible}.booking-summary h2{letter-spacing:-.04em;font:400 30px/1.2 Georgia,serif}.booking-summary>p,.booking-summary .due-total dt{font-size:13px}.app-header{flex-wrap:wrap}.app-main{container:app/inline-size}@container app (max-width:760px){.public-booking-layout{display:block}.booking-intro{padding-top:0;position:static}.booking-intro h1{font-size:38px}.booking-form{padding:20px}.operation{flex-direction:column;align-items:stretch;display:flex}.next-client{order:-1}.schedule-list li{grid-template-columns:46px minmax(0,1fr);padding:16px 12px}.schedule-list li>.appointment-state{grid-column:2;justify-self:start}.finance-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-primary>div:nth-child(odd){border:0;padding:0}.finance-primary>div:nth-child(2n){border-left:1px solid var(--line);padding-left:16px}.finance-secondary,.receipt-forms{grid-template-columns:1fr}.dashboard-controls{flex-wrap:wrap}.dashboard-controls label{width:100%}.period-caption{overflow-wrap:anywhere}}body:has(.owner-navigation){grid-template-rows:auto 1fr auto;grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}body:has(.owner-navigation)>.lab-banner{grid-area:1/1/auto/-1}.owner-navigation{background:var(--accent);color:var(--surface);border:0;flex-direction:column;grid-area:2/1/4;justify-content:flex-start;align-items:stretch;gap:40px;padding:32px 24px;display:flex}.owner-navigation .app-brand{color:var(--surface);font-size:19px}.owner-navigation small{color:#bccabd}.owner-navigation nav{flex-direction:column;align-items:stretch;gap:8px;display:flex}.owner-navigation nav a{color:#d2decf;min-height:44px;padding:12px}.owner-navigation nav a[aria-current=page]{color:var(--surface);background:#345548}body:has(.owner-navigation)>.app-main{grid-area:2/2;width:100%;min-width:0;max-width:none;margin:32px 0;padding:0 40px}body:has(.owner-navigation)>.app-footer{grid-area:3/2;width:100%;min-width:0;padding:24px 40px}@media (max-width:760px){body:has(.owner-navigation){display:block}.owner-navigation{gap:16px;padding:20px}.owner-navigation nav{flex-flow:wrap;gap:0}.owner-navigation nav a{padding:10px;font-size:12px}body:has(.owner-navigation)>.app-main{margin:24px 0;padding:0 16px}body:has(.owner-navigation)>.app-footer{padding:24px}}.marketing-hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;padding:48px 0 72px;display:grid}.marketing-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.08}.hero-copy{max-width:510px;font-size:18px}.marketing-day{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px;transform:rotate(-1deg);box-shadow:0 24px 64px #243b350c}.day-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.day-heading h2{letter-spacing:-.04em;font:36px/1.1 Georgia,serif}.day-heading>span{color:var(--focus);font-size:64px}.marketing-day ol{padding:0;list-style:none}.marketing-day li{border-top:1px solid var(--line);align-items:center;gap:18px;padding:20px 0;display:flex}.marketing-day time{font-variant-numeric:tabular-nums;font-weight:600}.marketing-day strong,.marketing-day small{display:block}.marketing-day .appointment-state{margin-left:auto}.marketing-features{border-top:1px solid var(--line);padding:48px 0;scroll-margin-top:24px}.marketing h2{letter-spacing:-.035em;font:40px/1.15 Georgia,serif}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:36px;display:grid}.feature-grid article{border-top:2px solid #b9c8b4;padding-top:24px}.feature-grid article>span{color:var(--focus);font:24px Georgia,serif}.marketing-plan{background:var(--soft);border-radius:12px;grid-template-columns:1fr 1fr;gap:64px;margin:24px 0 48px;padding:40px;display:grid}.marketing-plan h2{margin-top:12px}.marketing-plan .plan-price{color:var(--ink);margin:0;font:56px/1.2 Georgia,serif}.plan-price span{font:16px Segoe UI,sans-serif}.marketing-status{max-width:720px;padding-bottom:32px}@media (max-width:900px){.marketing-hero{grid-template-columns:1fr;gap:32px;padding-top:24px}.marketing-day{transform:none}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-plan{grid-template-columns:1fr;gap:24px}}@media (max-width:480px){.marketing-day{padding:20px}.marketing-day li{flex-wrap:wrap}.marketing-day .appointment-state{margin-left:0}.feature-grid{grid-template-columns:1fr}.marketing-plan{padding:24px}.marketing h2{font-size:32px}.marketing-hero .actions{flex-direction:column;align-items:stretch}.marketing-hero h1 br{display:none}}
