@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.block{display:block}.hidden{display:none}.inline{display:inline}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#12302c;--muted:#60736f;--brand:#127467;--brand-dark:#0b554b;--mint:#e7f5f1;--paper:#fbfdfc;--line:#dbe6e2}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}.shell{background:radial-gradient(circle at 90% 0%,#d8f1ea 0,transparent 34%),var(--paper);min-height:100vh}.topbar{justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);min-height:76px;margin:auto;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-weight:800;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.admin-link{color:var(--brand-dark);font-size:14px;font-weight:700;text-decoration:none}.hero{grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px;width:min(1120px,100% - 32px);margin:34px auto 72px;display:grid}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:800}h1{letter-spacing:-.055em;max-width:700px;margin:18px 0 22px;font-size:clamp(40px,5vw,68px);line-height:.98}.lead{color:var(--muted);max-width:540px;font-size:18px;line-height:1.65}.trust{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:28px;font-size:14px;display:flex}.trust span:before{content:"✓";color:var(--brand);margin-right:7px;font-weight:900}.booking-card{border:1px solid var(--line);background:#fff;border-radius:28px;padding:clamp(22px,4vw,38px);box-shadow:0 24px 80px #16483e21}.steps{gap:8px;margin-bottom:28px;display:flex}.step{background:#e5ecea;border-radius:5px;flex:1;height:5px}.step.active{background:var(--brand)}.card-kicker{color:var(--muted);margin:0 0 7px;font-size:13px}.booking-card h2{letter-spacing:-.03em;margin:0 0 24px;font-size:26px}.date-row{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.date-row button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;font-size:20px}.date-title{text-align:center;font-weight:800}.date-title small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.slots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slot{border:1px solid var(--line);min-height:48px;color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:12px;font-weight:800}.slot:hover{border-color:var(--brand);background:var(--mint)}.slot.selected{color:#fff;background:var(--brand);border-color:var(--brand)}.slot:disabled{color:#9ca8a5;cursor:not-allowed;background:#f0f2f1;text-decoration:line-through}.legend{color:var(--muted);gap:18px;margin:18px 0 24px;font-size:12px;display:flex}.legend i{background:var(--brand);border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.legend i.busy{background:#d4dad8}.continue{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;min-height:52px;font-size:15px;font-weight:800}.footnote{text-align:center;color:var(--muted);margin:15px 0 0;font-size:12px}@media (max-width:820px){.hero{grid-template-columns:1fr;gap:36px;margin-top:18px}.hero-copy{text-align:center}.lead{margin-inline:auto}.trust{justify-content:center}}@media (max-width:420px){.topbar{width:min(100% - 24px,1120px)}.hero{width:min(100% - 24px,1120px);margin-bottom:32px}.admin-link{display:none}h1{font-size:42px}.booking-card{border-radius:22px}.slots{grid-template-columns:repeat(2,1fr)}}.auth-shell{background:radial-gradient(circle at 20% 10%,#d8f1ea,#0000 38%),#f7faf9;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:28px;width:min(100%,480px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 80px #16483e21}.auth-card .eyebrow{margin-top:42px}.auth-card h1{font-size:44px}.auth-form{gap:18px;margin-top:26px;display:grid}.auth-form label{gap:8px;font-size:14px;font-weight:800;display:grid}.auth-form input{border:1px solid var(--line);min-height:48px;font:inherit;border-radius:12px;padding:0 14px}.form-error{color:#9d2f2f;background:#fff0f0;border-radius:10px;padding:12px;font-size:14px}.admin-wrap{max-width:1160px;margin:auto}.admin-nav{justify-content:space-between;align-items:center;gap:20px;margin-bottom:42px;display:flex}.nav-actions{align-items:center;gap:22px;display:flex}.nav-actions a,.nav-actions button,.admin-nav form button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:none}.agenda-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.agenda-heading h1{margin:8px 0 0;font-size:42px}.primary-action{background:var(--brand);color:#fff;border:0;border-radius:13px;min-height:48px;padding:0 20px;font-weight:800}.appointment-list{gap:12px;display:grid}.appointment-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.appointment-row small{color:var(--muted);margin-top:4px;display:block}.status{color:var(--brand);font-size:12px;font-weight:800}.tenant-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.tenant-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px}.tenant-card h2{margin:18px 0 8px}.tenant-card p{color:var(--muted)}.tenant-on,.tenant-off{color:var(--brand);font-size:12px;font-weight:800}.tenant-off{color:#9d2f2f}@media (max-width:760px){.admin-nav,.agenda-heading{align-items:flex-start}.admin-nav{flex-direction:column}.nav-actions{width:100%;padding-bottom:6px;overflow-x:auto}.tenant-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:64px 1fr}.appointment-row .status{grid-column:2}.agenda-heading h1{font-size:36px}}.tenant-booking{background:radial-gradient(circle at 90% 0,var(--tenant-accent),transparent 38%),#fbfdfc;min-height:100vh}.tenant-booking .brand-mark,.tenant-booking .slot.selected{background:var(--tenant-primary)}.tenant-booking header{justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);min-height:76px;margin:auto;display:flex}.tenant-booking header a{color:var(--ink);font-weight:700}.booking-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px;width:min(1120px,100% - 32px);margin:40px auto 72px;display:grid}.tenant-contact{color:var(--muted);gap:6px;margin-top:34px;display:grid}.tenant-contact strong{color:var(--ink)}.public-flow{gap:28px;display:grid}.flow-fields,.patient-fields{gap:16px;display:grid}.public-flow label{gap:7px;font-size:13px;font-weight:800;display:grid}.public-flow input,.public-flow select{border:1px solid var(--line);width:100%;min-height:48px;font:inherit;background:#fff;border-radius:12px;padding:0 13px}.public-flow h2{margin:0 0 14px}.privacy-copy,.empty{color:var(--muted);font-size:13px;line-height:1.5}.theme-personal .booking-layout{grid-template-columns:1fr;max-width:760px}.theme-personal .booking-layout>div:first-child{text-align:center}.theme-modular .booking-card{box-shadow:12px 12px 0 var(--tenant-accent);border-radius:8px}.confirmation-shell{background:#f4f8f6;place-items:center;min-height:100vh;padding:24px;display:grid}.confirmation-card{border:1px solid var(--line);background:#fff;border-radius:28px;width:min(100%,680px);padding:clamp(24px,5vw,48px)}.success-mark{background:var(--mint);width:56px;height:56px;color:var(--brand);border-radius:50%;place-items:center;font-size:28px;font-weight:900;display:grid}.request-warning{background:#fff8e9;border:1px solid #f0dca9;border-radius:14px;padding:16px;line-height:1.5}.confirmation-card dl{gap:0;margin:28px 0;display:grid}.confirmation-card dl div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:16px;padding:13px 0;display:grid}.confirmation-card dt{color:var(--muted)}.confirmation-card dd{margin:0;font-weight:700}.confirmation-actions,.contact-buttons{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.confirmation-actions a,.contact-buttons a{background:var(--ink);color:#fff;border-radius:12px;align-items:center;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}@media (max-width:820px){.booking-layout{grid-template-columns:1fr;gap:32px}.tenant-booking header{width:calc(100% - 24px)}.booking-layout{width:calc(100% - 24px);margin-top:20px}.confirmation-card dl div{grid-template-columns:1fr;gap:5px}}.form-page{width:min(100%,720px);margin:auto}.form-page h1{font-size:46px}.admin-form{gap:16px;margin:24px 0 34px;display:grid}.admin-form label{gap:7px;font-size:13px;font-weight:800;display:grid}.admin-form input,.admin-form select{border:1px solid var(--line);min-height:48px;font:inherit;background:#fff;border-radius:12px;padding:0 13px}.danger-form{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.danger-form button{color:#a52c2c;background:#fff;border:1px solid #a52c2c;border-radius:12px;min-height:44px;padding:0 16px;font-weight:800}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-page dl div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;padding:12px 0;display:grid}.form-page dd{margin:0;font-weight:700}@media (max-width:760px){.settings-grid{grid-template-columns:1fr}}.action-link{align-items:center;text-decoration:none;display:inline-flex}.agenda-filters{flex-wrap:wrap;gap:9px;margin-bottom:18px;display:flex}.agenda-filters input,.agenda-filters select,.agenda-filters button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:44px;padding:0 10px}.agenda-filters button{background:var(--ink);color:#fff;font-weight:800}.appointment-link{color:inherit;text-decoration:none}.config-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.config-row button{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:36px}.admin-form .check{grid-template-columns:auto 1fr;align-items:center}.admin-form .check input{width:18px;min-height:auto}.admin-form textarea{border:1px solid var(--line);min-height:100px;font:inherit;border-radius:12px;padding:12px}.manual-payment{border:1px solid #f0dca9;border-radius:16px;gap:16px;padding:18px;display:grid}.manual-payment .payment-qr{object-fit:contain;background:#fff;border-radius:14px;justify-self:center;width:min(100%,320px);max-height:320px}.manual-payment-amount{background:#fff8e7;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.manual-payment-amount strong{color:#164f46;font-size:1.35rem}.manual-payment-methods{gap:10px;display:grid}.manual-payment-methods article{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.manual-payment-methods article div{gap:2px;display:grid}.manual-payment-methods button,.proof-inputs button{min-height:44px}.proof-inputs{gap:10px;display:grid}.proof-inputs label{gap:6px;display:grid}.manual-config-fields,.qr-upload{gap:14px;display:grid}.money-input{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;display:flex;overflow:hidden}.money-input span{padding:0 12px;font-weight:800}.money-input input{flex:1;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important}.qr-preview{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.qr-preview img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:14px;width:160px;height:160px}.payment-row{border-bottom:1px solid var(--line);gap:8px;padding:16px 0;display:grid}.payment-row form{flex-wrap:wrap;gap:8px;display:flex}.payment-row button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:44px;padding:0 12px;font-weight:700}.configuration-state{color:#24584f;background:#eef9f5;border:1px solid #b8d9cf;border-radius:12px;align-items:center;gap:8px;margin:0;padding:11px 13px;font-weight:800;display:flex}.configuration-state.is-dirty{color:#745a16;background:#fff8e7;border-color:#e7c87a}.heading-actions{flex-wrap:wrap;gap:10px;display:flex}.secondary-action{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;border-radius:13px;align-items:center;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.onboarding,.promotion-banner{border:1px solid var(--line);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:20px;display:flex;position:relative}.onboarding h2,.promotion-banner h2{margin:4px 0 8px}.onboarding p,.promotion-banner p{margin:4px 0}.onboarding button{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:44px;padding:0 14px;font-weight:800}.promotion-banner img,.promotion-banner video{object-fit:cover;border-radius:12px;width:180px;max-height:130px}.promotion-banner a{color:var(--brand);margin-top:10px;font-weight:800;display:inline-flex}.promotion-close{cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;font-size:24px;position:absolute;top:8px;right:8px}@media (max-width:760px){.onboarding,.promotion-banner{flex-direction:column;align-items:flex-start}.promotion-banner img,.promotion-banner video{width:100%;max-height:220px}.promotion-close{border:1px solid var(--line);background:#fff}}:root{--ink:#17352f;--ink-soft:#294943;--muted:#526862;--brand:#087b6a;--brand-dark:#075d51;--mint:#e6f5f1;--paper:#f7faf9;--surface:#fff;--surface-soft:#f1f6f4;--line:#dce7e3;--danger:#a73636;--danger-soft:#fff1f0;--warning:#8a5a05;--warning-soft:#fff7e5;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-sm:0 1px 2px #0e2f280d;--shadow-md:0 12px 36px #0e2f2814;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:var(--brand-dark)}button,input,select,textarea{font:inherit}button,[role=button],a{transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline-offset:2px;outline:3px solid #f4ad45}.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}.eyebrow,.step-label{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.page-shell{width:100%;max-width:1680px;margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-heading h1,.admin-wrap>h1{letter-spacing:-.04em;margin:6px 0;font-size:clamp(30px,3vw,44px);line-height:1.08}.page-subtitle{color:var(--muted);margin:0;font-size:16px}.primary-action,.secondary-action,.action-link,.continue{border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:750;text-decoration:none;display:inline-flex}.primary-action,.continue{background:var(--brand);color:#fff;border:1px solid var(--brand);box-shadow:0 6px 14px #087b6a29}.primary-action:hover,.continue:hover{background:var(--brand-dark);transform:translateY(-1px)}.secondary-action{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-action:hover{background:var(--surface-soft);border-color:#aabdb7}.heading-actions{align-items:center}.brand-lockup,.tenant-brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-lockup>div,.tenant-brand>div{min-width:0;display:grid}.brand-lockup strong,.tenant-brand strong{text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.brand-lockup small,.tenant-brand small{color:var(--muted);font-size:12px}.brand-symbol,.tenant-monogram{background:var(--brand);color:#fff;letter-spacing:-.04em;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:850;display:grid}.app-frame{background:#f5f8f7;min-height:100vh}.app-sidebar{z-index:30;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:260px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 26px;display:flex}.sidebar-brand>div{min-width:0;display:grid}.sidebar-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-brand small{color:var(--muted);font-size:11px}.sidebar-nav{gap:5px;display:grid}.sidebar-nav a{min-height:46px;color:var(--ink-soft);border-radius:11px;align-items:center;gap:12px;padding:0 13px;font-weight:650;text-decoration:none;display:flex}.sidebar-nav a>span{width:24px;color:var(--muted);text-align:center;font-size:18px}.sidebar-nav a:hover{background:var(--surface-soft)}.sidebar-nav a.active{color:var(--brand-dark);background:var(--mint)}.sidebar-nav a.active>span{color:var(--brand)}.sidebar-footer{border-top:1px solid var(--line);gap:12px;margin-top:auto;padding:18px 8px 0;display:grid}.user-chip{align-items:center;gap:10px;min-width:0;display:flex}.user-chip>span{background:var(--surface-soft);width:34px;height:34px;color:var(--brand);border-radius:50%;place-items:center;font-weight:800;display:grid}.user-chip>div{min-width:0;display:grid}.user-chip strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-chip small{color:var(--muted);font-size:11px}.logout-button{border:1px solid var(--line);width:100%;min-height:40px;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;font-weight:700}.app-content{min-height:100vh;margin-left:260px;padding:clamp(24px,3vw,48px)}.mobile-header,.nav-backdrop{display:none}.master-frame .brand-symbol,.master-frame .sidebar-nav a.active{color:#334991;background:#e9edfb}.master-frame .sidebar-nav a.active>span{color:#334991}.admin-shell{background:0 0;min-height:0;padding:0}.admin-wrap{max-width:1680px}.admin-nav{display:none}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-strip article{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.metric-strip span{color:var(--muted);font-size:13px}.metric-strip strong{letter-spacing:-.04em;font-size:25px}.agenda-toolbar{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:16px;padding:12px;display:flex}.agenda-toolbar input[type=date],.agenda-toolbar select,.agenda-toolbar>button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px}.agenda-toolbar select{min-width:180px}.agenda-toolbar>button{background:var(--ink);color:#fff;cursor:pointer;font-weight:750}.segmented{background:var(--surface-soft);border-radius:10px;padding:3px;display:flex}.segmented input{opacity:0;position:absolute}.segmented span{min-height:36px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;padding:0 14px;font-weight:700;display:grid}.segmented input:checked+span{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff}.calendar-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;position:relative;overflow:hidden}.calendar-scroll{overflow:auto}.calendar-head,.calendar-body{min-width:max-content;display:grid}.calendar-head{z-index:5;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.calendar-head>div{text-align:center;border-left:1px solid var(--line);align-content:center;min-height:66px;padding:12px;display:grid}.calendar-head strong{text-transform:capitalize}.calendar-head span{color:var(--muted);font-size:12px}.calendar-body{min-height:900px;position:relative}.time-axis{border-right:1px solid var(--line);position:relative}.time-axis span{color:var(--muted);font-size:11px;position:absolute;right:10px;transform:translateY(-8px)}.day-column{border-right:1px solid var(--line);background:linear-gradient(90deg,#f1f6f459,#0000);min-height:900px;position:relative}.day-column>i{border-top:1px solid #edf2f0;position:absolute;left:0;right:0}.calendar-event,.calendar-block{z-index:2;border-radius:10px;align-content:start;padding:8px 10px;text-decoration:none;display:grid;position:absolute;left:7px;right:7px;overflow:hidden}.calendar-event{border-left:4px solid var(--brand);color:var(--ink);background:#daf1eb;box-shadow:0 3px 10px #08584b1a}.calendar-event:hover{background:#c8e9e1;transform:translateY(-1px)}.calendar-event time{color:var(--brand-dark);font-size:11px;font-weight:800}.calendar-event strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.calendar-event span,.calendar-event small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.calendar-event.cancelled{opacity:.7;background:#f1f3f2;border-color:#8d9996;text-decoration:line-through}.calendar-block{color:#596964;background:repeating-linear-gradient(135deg,#f0f2f1,#f0f2f1 8px,#e6e9e8 8px 16px);border:1px solid #cdd5d2}.calendar-block span{font-size:11px}.calendar-empty{z-index:4;text-align:center;border:1px solid var(--line);max-width:340px;box-shadow:var(--shadow-md);background:#fff;border-radius:16px;gap:7px;margin:auto;padding:24px;display:grid;position:absolute;inset:100px 24px auto}.calendar-empty span{color:var(--muted)}.calendar-empty a{font-weight:750}@supports (color:color-mix(in lab, red, red)){.tenant-booking{background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-accent)45%,white)0,white 360px)}}.tenant-header{border-bottom:1px solid var(--tenant-primary);width:min(1380px,100% - 48px)!important;min-height:82px!important}@supports (color:color-mix(in lab, red, red)){.tenant-header{border-bottom:1px solid color-mix(in srgb,var(--tenant-primary)14%,transparent)}}.tenant-brand img{object-fit:contain;border-radius:12px;width:46px;height:46px}.tenant-monogram{background:var(--tenant-primary)}.tenant-header nav{align-items:center;gap:8px;display:flex}.tenant-header nav a{border-radius:10px;align-items:center;min-height:40px;padding:0 12px;text-decoration:none;display:flex}.tenant-header nav a:last-child{border:1px solid var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.tenant-header nav a:last-child{border:1px solid color-mix(in srgb,var(--tenant-primary)22%,white)}}.booking-layout{grid-template-columns:minmax(260px,.55fr) minmax(600px,1.45fr);gap:clamp(40px,6vw,90px);width:min(1380px,100% - 48px);margin:52px auto 80px}.booking-intro{position:sticky;top:30px}.booking-intro h1{margin:14px 0 20px;font-size:clamp(44px,5vw,68px)}.booking-intro .lead{font-size:17px}.tenant-contact a{font-weight:800;text-decoration:none}.tenant-booking .booking-card{border-radius:24px;padding:clamp(24px,3vw,40px);box-shadow:0 20px 60px #1342391a}.flow-progress{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 26px;padding:0 0 24px;list-style:none;display:grid}.flow-progress li{text-align:center;color:#81908c;gap:6px;font-size:10px;font-weight:700;display:grid;position:relative}.flow-progress li span{color:#72817d;background:#eef2f1;border-radius:50%;place-items:center;width:28px;height:28px;margin:auto;display:grid}.flow-progress li.done{color:var(--tenant-primary)}.flow-progress li.done span{background:var(--tenant-primary);color:#fff}.choice-section{border:0;margin:0;padding:0}.choice-section legend,.date-section h2,.slots-section h2,.patient-fields h2{letter-spacing:-.025em;margin:0 0 14px;font-size:22px;font-weight:780}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-content:center;min-height:80px;padding:15px;position:relative;gap:3px!important;display:grid!important}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-card span{color:var(--muted);font-size:12px;font-weight:500}.choice-card:hover{border-color:var(--tenant-primary)}.choice-card.selected{border:2px solid var(--tenant-primary);background:var(--tenant-accent);padding:14px}@supports (color:color-mix(in lab, red, red)){.choice-card.selected{background:color-mix(in srgb,var(--tenant-accent)35%,white)}}.choice-card.selected{box-shadow:0 0 0 3px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.choice-card.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary)10%,transparent)}}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{margin:2px 0 0}.date-more{color:var(--muted);display:grid;gap:4px!important}.date-more input{max-width:155px;min-height:38px!important}.date-chips{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.date-chips button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;min-height:66px;padding:7px;display:grid}.date-chips span{color:var(--muted);text-transform:capitalize;font-size:11px}.date-chips button.selected{background:var(--tenant-primary);color:#fff;border-color:var(--tenant-primary)}.date-chips button.selected span{color:#fff}.slots-section,.date-section{border-top:1px solid var(--line);padding-top:24px}.loading-label{color:var(--muted);font-size:13px}.empty-state{background:var(--surface-soft);text-align:center;border-radius:14px;gap:4px;padding:24px;display:grid}.empty-state span{color:var(--muted);font-size:13px}.tenant-booking .slot{border-radius:11px;min-height:50px}.tenant-booking .slot.selected{background:var(--tenant-primary);border-color:var(--tenant-primary)}.booking-summary{background:var(--tenant-accent);grid-template-columns:1.2fr 1fr 1.2fr;gap:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.booking-summary{background:color-mix(in srgb,var(--tenant-accent)34%,white)}}.booking-summary{border:1px solid var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.booking-summary{border:1px solid color-mix(in srgb,var(--tenant-primary)18%,white)}}.booking-summary{border-radius:15px;padding:15px}.booking-summary>div{gap:3px;display:grid}.booking-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.booking-summary strong{font-size:13px}.patient-fields{border-top:0;padding-top:0}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.submission-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:12px}.auth-shell{background:linear-gradient(135deg,#eff8f5 0,#f9fbfa 48%,#e9f4f1 100%)}.auth-card{box-shadow:var(--shadow-md);border-radius:24px;padding:40px}.auth-intro{margin:38px 0 26px}.auth-card h1{margin:8px 0 14px;font-size:40px;line-height:1.05}.auth-card .lead{font-size:15px;line-height:1.55}.auth-form input{border-radius:11px}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:80px}.password-field button{color:var(--brand);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800;position:absolute;top:5px;bottom:5px;right:5px}.form-error{border:1px solid #f0c7c3}.form-page{border:1px solid var(--line);border-radius:var(--radius-lg);max-width:860px;box-shadow:var(--shadow-sm);background:#fff;padding:clamp(22px,4vw,42px)}.form-page>h1{font-size:clamp(30px,4vw,46px)}.form-page>a,.admin-wrap>a{align-items:center;min-height:40px;font-weight:700;text-decoration:none;display:inline-flex}.admin-form input,.admin-form select,.admin-form textarea,.public-flow input,.public-flow select{border-color:#cedbd7}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.public-flow input:focus,.public-flow select:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #087b6a17}.settings-grid{align-items:start;gap:18px}.settings-grid>.booking-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px}.config-row{min-height:52px}.status,.tenant-on,.tenant-off{background:var(--mint);width:max-content;min-height:26px;color:var(--brand-dark);text-transform:none;border-radius:999px;align-items:center;padding:0 9px;font-size:11px;display:inline-flex}.tenant-off{background:var(--danger-soft);color:var(--danger)}.payment-row{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:18px}.request-warning{color:var(--warning);background:var(--warning-soft)}.tenant-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tenant-card{box-shadow:var(--shadow-sm)}.tenant-card:hover{box-shadow:var(--shadow-md);border-color:#b9cbc5;transform:translateY(-2px)}.promotion-banner{box-shadow:var(--shadow-sm)}.promotion-close{color:var(--muted)}.promotion-close:hover,.promotion-close:focus-visible{background:var(--surface-soft);color:var(--ink)}.confirmation-card{box-shadow:var(--shadow-md)}.success-mark{width:64px;height:64px}.confirmation-card h1{font-size:clamp(36px,6vw,52px)}@media (max-width:1100px){.booking-layout{grid-template-columns:1fr;max-width:820px}.booking-intro{text-align:center;position:static}.booking-intro .lead{margin-inline:auto}.tenant-contact{justify-items:center}.settings-grid{grid-template-columns:1fr}}@media (max-width:900px){.app-sidebar{box-shadow:var(--shadow-md);transition:transform .2s;transform:translate(-105%)}.app-sidebar.is-open{transform:translate(0)}.app-content{margin-left:0;padding:24px 18px 40px}.mobile-header{z-index:20;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;min-height:66px;padding:10px 18px;display:flex;position:sticky;top:0}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;width:44px;height:44px;font-size:20px}.nav-backdrop{z-index:25;background:#0a1f1b5c;border:0;display:block;position:fixed;inset:0}.page-heading{align-items:flex-start}.calendar-card{border-radius:16px}}@media (max-width:700px){.page-heading{display:grid}.heading-actions{width:100%}.heading-actions>a{flex:1}.metric-strip{grid-template-columns:1fr}.metric-strip article{padding:12px 15px}.agenda-toolbar>*{flex:145px}.agenda-toolbar select{min-width:0}.tenant-header{width:calc(100% - 24px)!important}.tenant-header nav a:first-child{display:none}.tenant-header nav a{padding:0 9px}.booking-layout{width:calc(100% - 24px);margin-top:28px}.tenant-booking .booking-card{border-radius:18px;padding:20px 16px}.booking-intro h1{font-size:42px}.flow-progress li{font-size:0}.flow-progress li span{font-size:11px}.choice-grid{grid-template-columns:1fr}.date-chips{grid-template-columns:repeat(4,1fr)}.date-chips button:nth-child(n+5){display:none}.booking-summary,.field-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.date-more{max-width:148px}.slots{grid-template-columns:repeat(3,1fr)}.auth-card{padding:28px 22px}.auth-card h1{font-size:34px}.form-page{border-radius:16px;padding:22px 18px}.confirmation-card{border-radius:20px}.onboarding,.promotion-banner{border-radius:16px}}@media (max-width:380px){.slots{grid-template-columns:repeat(2,1fr)}.tenant-header nav a{font-size:12px}.booking-intro h1{font-size:38px}.heading-actions{display:grid}.date-more{max-width:130px}}@media (min-width:1700px){.app-sidebar{width:290px}.app-content{margin-left:290px;padding:52px 64px}.booking-layout,.tenant-header{max-width:1540px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.settings-nav{z-index:8;border:1px solid var(--line);width:max-content;max-width:100%;box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:12px;gap:6px;margin:0 0 18px;padding:5px;display:flex;position:sticky;top:12px;overflow:auto}.settings-nav a{white-space:nowrap;border-radius:8px;align-items:center;min-height:36px;padding:0 13px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.settings-nav a:hover{background:var(--mint)}.settings-stack{gap:18px;max-width:1180px;display:grid}.settings-section{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(22px,3vw,32px);scroll-margin-top:84px}.card-heading,.payment-title,.stat-card-head,.tenant-card-footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-heading h2{margin:2px 0 0;font-size:24px}.section-copy{color:var(--muted);margin:8px 0 22px}.count-badge{background:var(--surface-soft);min-width:30px;height:30px;color:var(--muted);border-radius:999px;place-items:center;padding:0 9px;font-weight:800;display:grid}.check-group{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:16px;padding:15px;display:flex}.check-group legend{padding:0 7px;font-weight:750}.config-list{margin:18px 0;display:grid}.config-row>div:first-child{display:grid}.config-row>div:first-child span{color:var(--muted);font-size:12px}.row-actions{align-items:center;gap:8px;display:flex}.settings-section details{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.settings-section summary{min-height:42px;color:var(--brand-dark);cursor:pointer;align-items:center;font-weight:800;display:flex}.settings-section input[type=color]{padding:5px}.payments-layout{grid-template-columns:minmax(340px,.8fr) minmax(440px,1.2fr)}.payment-title{align-items:center}.payment-amount{letter-spacing:-.02em;font-size:20px;font-weight:850}.payment-actions,.payment-actions form{flex-wrap:wrap;gap:8px;display:flex}.payment-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:42px;padding:0 12px;font-weight:750}.payment-manual_action{background:var(--warning-soft);color:var(--warning)}.payment-rejected,.payment-expired,.status-cancelled{background:var(--danger-soft);color:var(--danger)}.tenant-card-footer{border-top:1px solid var(--line);align-items:center;margin-top:20px;padding-top:14px}.tenant-card-footer a{font-size:12px;font-weight:750}.period-filter{align-items:end;gap:8px;display:flex}.period-filter label{color:var(--muted);gap:4px;font-size:11px;display:grid}.period-filter select,.period-filter button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:42px;padding:0 12px}.period-filter button{background:var(--ink);color:#fff;font-weight:750}.stat-card-head h2{margin:0}.stat-card-head>strong{text-align:right;font-size:26px}.stat-card-head small{color:var(--muted);font-size:10px;font-weight:600;display:block}.stat-breakdown{grid-template-columns:repeat(4,1fr);gap:6px;margin:22px 0 14px;display:grid}.stat-breakdown span{color:var(--muted);font-size:10px;display:grid}.stat-breakdown strong{color:var(--ink);font-size:18px}.occupancy-track{background:var(--surface-soft);border-radius:7px;height:7px;overflow:hidden}.occupancy-track i{background:var(--brand);border-radius:7px;height:100%;display:block}.detail-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-title h1{margin-right:auto}.danger-form{justify-content:space-between;align-items:center;gap:20px;display:flex}.danger-form p{color:var(--muted);margin:0}.danger-form p strong{color:var(--danger)}.help-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.help-grid article{border:1px solid var(--line);border-radius:14px;padding:18px}.help-grid h2{margin:0 0 8px;font-size:18px}.help-grid p{color:var(--muted)}@media (max-width:1100px){.payments-layout{grid-template-columns:1fr}}@media (max-width:700px){.settings-nav{width:100%;top:74px}.config-row{flex-direction:column;align-items:flex-start}.row-actions{justify-content:space-between;width:100%}.help-grid{grid-template-columns:1fr}.period-filter{width:100%}.page-heading .period-filter{margin-top:8px}.stat-breakdown{grid-template-columns:1fr 1fr}.danger-form{flex-direction:column;align-items:flex-start}}.calendar-event small{display:none}.calendar-event{gap:1px;padding:4px 8px;line-height:1.05}.calendar-event time{line-height:1.05}.calendar-event strong{line-height:1.1}.calendar-event span{line-height:1.05}.onboarding .primary-action{background:var(--brand);border-color:var(--brand);color:#fff}@media (min-width:1101px){.theme-personal .booking-layout{grid-template-columns:minmax(260px,.55fr) minmax(600px,1.45fr);max-width:1380px}.theme-personal .booking-layout>div:first-child{text-align:left}.theme-personal .booking-layout .lead{margin-inline:0}.theme-personal .tenant-contact{justify-items:start}}.tenant-header-details{align-items:center;gap:22px;display:flex}.tenant-header-details>span{max-width:280px;color:var(--muted);text-align:right;font-size:12px;line-height:1.4}.booking-intro h1{letter-spacing:-.045em;max-width:580px;font-size:clamp(42px,4.5vw,68px);line-height:1.02}.booking-intro .lead{max-width:510px;font-size:17px;line-height:1.7}.booking-benefits{color:var(--muted);flex-wrap:wrap;gap:9px 18px;margin:24px 0 0;padding:0;font-size:12px;font-weight:750;list-style:none;display:flex}.booking-benefits li:before{content:"✓";background:var(--tenant-primary);border-radius:50%;place-items:center;width:18px;height:18px;margin-right:7px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.booking-benefits li:before{background:color-mix(in srgb,var(--tenant-primary)12%,white)}}.booking-benefits li:before{color:var(--tenant-primary);font-size:10px}.tenant-contact{border:1px solid var(--tenant-primary);padding:20px}@supports (color:color-mix(in lab, red, red)){.tenant-contact{border:1px solid color-mix(in srgb,var(--tenant-primary)15%,var(--line))}}.tenant-contact{background:#ffffffad;border-radius:18px;box-shadow:0 12px 36px #1937310d}.flow-progress{grid-template-columns:repeat(var(--flow-step-count,5),1fr)}.flow-progress li.active{color:var(--tenant-primary)}.flow-progress li.active span{background:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.flow-progress li.active span{background:color-mix(in srgb,var(--tenant-primary)14%,white)}}.flow-progress li.active span{box-shadow:0 0 0 4px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.flow-progress li.active span{box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-primary)7%,transparent)}}.assigned-professional{border:1px solid var(--tenant-primary);align-items:center;gap:14px;padding:15px 17px;display:flex}@supports (color:color-mix(in lab, red, red)){.assigned-professional{border:1px solid color-mix(in srgb,var(--tenant-primary)15%,var(--line))}}.assigned-professional{background:linear-gradient(135deg,var(--tenant-accent),white);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.assigned-professional{background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-accent)32%,white),white)}}.professional-avatar{background:var(--tenant-primary);color:#fff;letter-spacing:.04em;border-radius:15px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:13px;font-weight:900;display:grid}.assigned-professional>div:last-child{gap:2px;display:grid}.assigned-professional span,.assigned-professional small{color:var(--muted);font-size:11px}.assigned-professional strong{font-size:15px}@media (max-width:820px){.tenant-header-details>span{display:none}.booking-benefits{justify-content:center}.tenant-contact{text-align:left;justify-items:start}.tenant-header-details{gap:8px}}@media (max-width:520px){.tenant-header-details nav a:last-child{display:none}.booking-benefits{text-align:left;grid-template-columns:1fr 1fr;display:grid}.booking-intro h1{font-size:40px}.flow-progress{gap:4px}}.section-help{max-width:590px;color:var(--muted);margin:4px 0 16px;font-size:13px;line-height:1.55}.choice-section legend{margin-bottom:3px}.choice-card:has(input:focus-visible){outline-offset:3px;outline:3px solid #f0a44b}.choice-grid.professionals{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.choice-grid.professionals .choice-card{justify-items:start;min-height:132px}.choice-card .professional-avatar{border-radius:12px;flex-basis:38px;width:38px;height:38px}.choice-card .professional-avatar.any{font-size:20px}.choice-avatar,.assigned-professional>img{object-fit:cover;border-radius:15px;width:48px;height:48px}.calendar-toolbar{grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:14px 0 12px;display:grid}.calendar-toolbar strong{text-align:center;text-transform:none}.calendar-toolbar button{border:1px solid var(--line);min-height:40px;color:var(--tenant-primary);cursor:pointer;background:#fff;border-radius:11px;font-size:18px}.calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}.date-chips button{align-content:center;gap:1px;min-height:88px}.date-chips button small{color:var(--muted);font-size:9px}.date-chips button.today{border-color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.date-chips button.today{border-color:color-mix(in srgb,var(--tenant-primary)50%,var(--line))}}.date-chips button.today{box-shadow:inset 0 -3px 0 var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.date-chips button.today{box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--tenant-primary)45%,transparent)}}.date-chips button.selected small{color:#ffffffc7}.date-chips button.unavailable:not(.selected){background:var(--surface-soft);color:var(--muted)}.date-more{width:max-content;margin:12px 0 0;max-width:none!important}.date-more input{max-width:190px}.duration-pill{background:var(--surface-soft);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.slot-skeletons{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.slot-skeletons span{background:linear-gradient(90deg,#edf2f0 25%,#f8faf9 50%,#edf2f0 75%) 0 0/200% 100%;border-radius:11px;height:50px;animation:1.2s infinite booking-shimmer}.slot-legend{color:var(--muted);align-items:center;gap:7px;margin:12px 0 0;font-size:11px;display:flex}.slot-legend span{border:2px solid var(--tenant-primary);border-radius:4px;width:12px;height:12px}.empty-state>div:first-child{width:46px;height:46px;color:var(--tenant-primary);background:#fff;border-radius:50%;place-items:center;margin:0 auto 6px;font-size:27px;display:grid}.empty-state>div:last-child{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:11px;display:flex}.empty-state button,.empty-state a{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;align-items:center;padding:0 12px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.flow-reveal{gap:28px;animation:.22s ease-out booking-reveal;display:grid}.booking-summary{padding:20px;display:block}.summary-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.summary-title>span{background:var(--tenant-primary);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.summary-title>div{display:grid}.summary-title small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.booking-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0;display:grid}.booking-summary dl div{gap:4px;display:grid}.booking-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.booking-summary dd{text-transform:none;margin:0;font-size:13px;font-weight:800}.patient-fields label>small{color:var(--muted);font-size:10px;font-weight:500}.phone-field{grid-template-columns:58px 1fr;display:grid}.phone-field>span{background:var(--surface-soft);color:var(--muted);border:1px solid #cedbd7;border-right:0;border-radius:12px 0 0 12px;place-items:center;font-weight:800;display:grid}.phone-field input{border-radius:0 12px 12px 0}.privacy-panel{background:var(--surface-soft);color:var(--muted);border-radius:12px;align-items:flex-start;gap:10px;padding:13px 15px;display:flex}.privacy-panel>span{color:var(--tenant-primary);font-weight:900}.privacy-panel p{margin:0;font-size:12px;line-height:1.55}.public-flow .continue:disabled{opacity:.65;cursor:wait}@keyframes booking-shimmer{to{background-position:-200% 0}}@keyframes booking-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media (max-width:700px){.date-chips{scroll-snap-type:x proximity;grid-template-columns:repeat(7,1fr);padding-bottom:5px;overflow-x:auto}.date-chips button{scroll-snap-align:start;min-width:68px;display:grid!important}.booking-summary dl{grid-template-columns:1fr}.slot-skeletons{grid-template-columns:repeat(3,1fr)}}@media (max-width:420px){.booking-benefits{grid-template-columns:1fr}.tenant-contact{padding:16px}.calendar-toolbar{grid-template-columns:38px 1fr 38px}.date-chips button{min-width:64px}.slot-skeletons{grid-template-columns:repeat(2,1fr)}}.confirmation-shell{background:radial-gradient(circle at 50% 0,#e2f3ee,#0000 48%),#f6f9f8}.confirmation-card{border-color:#dbe7e3}.confirmation-status{align-items:center;gap:17px;display:flex}.confirmation-status .eyebrow{margin:0 0 6px}.confirmation-status h1{margin:0}.confirmation-lead{color:var(--muted);margin:24px 0;font-size:16px;line-height:1.65}.confirmation-card .request-warning{color:#8a6112;gap:4px;display:grid}.confirmation-card dl{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:4px 18px}.confirmation-actions a{color:var(--ink);border:1px solid var(--line);background:#fff}.confirmation-actions a.primary-action{background:var(--ink);color:#fff;border-color:var(--ink)}.confirmation-help{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.confirmation-help h2{margin:0 0 5px;font-size:17px}.confirmation-help p{color:var(--muted)}.confirmation-help .contact-buttons a{color:var(--ink);border:1px solid var(--line);background:#fff}.is-pending .success-mark{color:#946612;background:#fff5d8}@media (max-width:520px){.confirmation-status{align-items:flex-start}.confirmation-status h1{font-size:34px}.confirmation-card dl{padding:4px 14px}.confirmation-actions,.confirmation-actions a{width:100%}.confirmation-actions a{justify-content:center}}@media (min-width:1101px){.booking-layout,.theme-personal .booking-layout{grid-template-columns:minmax(250px,330px) minmax(650px,900px);justify-content:space-between;gap:clamp(48px,5vw,72px);width:min(1320px,100% - 64px);max-width:1320px;margin-top:46px}.tenant-header{max-width:1320px;width:min(1320px,100% - 64px)!important}.booking-intro h1{max-width:330px;font-size:clamp(46px,4vw,58px)}.tenant-booking .booking-card{width:100%;max-width:900px}}.tenant-booking{background:linear-gradient(180deg,var(--tenant-accent)0,#fbfdfc 330px,#f8fbfa 100%)}@supports (color:color-mix(in lab, red, red)){.tenant-booking{background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-accent)36%,#f8fbfa)0,#fbfdfc 330px,#f8fbfa 100%)}}.tenant-header{background:#fff}@supports (color:color-mix(in lab, red, red)){.tenant-header{background:color-mix(in srgb,#fff 82%,var(--tenant-accent))}}.tenant-header{border-bottom-color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.tenant-header{border-bottom-color:color-mix(in srgb,var(--tenant-primary)18%,transparent)}}.tenant-brand{gap:12px}.tenant-monogram{box-shadow:0 7px 18px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.tenant-monogram{box-shadow:0 7px 18px color-mix(in srgb,var(--tenant-primary)22%,transparent)}}.tenant-brand strong{letter-spacing:-.01em;font-size:15px}.tenant-brand small{color:var(--tenant-primary);margin-top:2px}@supports (color:color-mix(in lab, red, red)){.tenant-brand small{color:color-mix(in srgb,var(--tenant-primary)72%,var(--muted))}}.tenant-brand small{font-weight:700}.tenant-header nav a{transition:background-color .17s,color .17s,border-color .17s}.tenant-header nav a:hover{background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.tenant-header nav a:hover{background:color-mix(in srgb,var(--tenant-accent)48%,white)}}.tenant-header nav a:hover{color:var(--tenant-primary)}.booking-intro h1{margin-bottom:12px}.booking-subtitle{max-width:390px;color:var(--ink);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(19px,2vw,23px);line-height:1.35}.booking-intro .lead{font-size:14px;line-height:1.65}.booking-benefits{gap:8px 14px;margin-top:20px}.tenant-contact{background:#fff;border-radius:16px;margin-top:28px;padding:17px 18px}@supports (color:color-mix(in lab, red, red)){.tenant-contact{background:color-mix(in srgb,#fff 90%,var(--tenant-accent))}}.tenant-contact{box-shadow:0 10px 28px #1937310b}.tenant-contact .contact-detail{padding-left:17px;position:relative}.tenant-contact .contact-detail:before{content:"·";color:var(--tenant-primary);font-size:20px;line-height:14px;position:absolute;left:3px}.tenant-booking .booking-card{border-color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.tenant-booking .booking-card{border-color:color-mix(in srgb,var(--tenant-primary)13%,var(--line))}}.tenant-booking .booking-card{background:#fff}@supports (color:color-mix(in lab, red, red)){.tenant-booking .booking-card{background:color-mix(in srgb,#fff 97%,var(--tenant-accent))}}.tenant-booking .booking-card{box-shadow:0 24px 64px #153a3216,0 2px 8px #153a3209}.flow-progress{padding-bottom:26px;position:relative}.flow-progress li{z-index:0;color:#697a75;font-size:11px}.flow-progress li:after{content:"";z-index:-1;background:#e5ece9;width:calc(100% - 36px);height:2px;position:absolute;top:16px;left:calc(50% + 18px)}.flow-progress li:last-child:after{display:none}.flow-progress li.done:after{background:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.flow-progress li.done:after{background:color-mix(in srgb,var(--tenant-primary)48%,#e5ece9)}}.flow-progress li span{color:#5f716b;background:#f4f7f6;border:1px solid #e1e9e6;width:32px;height:32px;font-size:11px;transition:all .17s}.flow-progress li.active span{background:var(--tenant-primary);border-color:var(--tenant-primary);box-shadow:0 0 0 5px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.flow-progress li.active span{box-shadow:0 0 0 5px color-mix(in srgb,var(--tenant-primary)10%,transparent)}}.flow-progress li.active span{color:#fff}.flow-progress li.done span{box-shadow:0 0 0 3px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.flow-progress li.done span{box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary)6%,transparent)}}.assigned-professional{border-color:var(--tenant-primary);gap:15px;padding:15px 18px}@supports (color:color-mix(in lab, red, red)){.assigned-professional{border-color:color-mix(in srgb,var(--tenant-primary)13%,var(--line))}}.assigned-professional{background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.assigned-professional{background:color-mix(in srgb,var(--tenant-accent)18%,#fff)}}.assigned-professional{box-shadow:0 6px 18px #153a3209}.assigned-professional .professional-avatar,.assigned-professional>img{width:52px;height:52px;box-shadow:0 0 0 4px var(--tenant-primary);border-radius:50%;flex-basis:52px}@supports (color:color-mix(in lab, red, red)){.assigned-professional .professional-avatar,.assigned-professional>img{box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-primary)8%,white)}}.assigned-professional strong{letter-spacing:-.01em;font-size:16px}.assigned-professional span{color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.assigned-professional span{color:color-mix(in srgb,var(--tenant-primary)60%,var(--muted))}}.assigned-professional span{font-weight:700}.assigned-professional small{font-size:12px}.calendar-toolbar{margin:18px 0 14px}.calendar-toolbar strong{letter-spacing:-.015em;font-size:17px}.calendar-toolbar button{border-color:var(--tenant-primary);width:44px;min-height:44px}@supports (color:color-mix(in lab, red, red)){.calendar-toolbar button{border-color:color-mix(in srgb,var(--tenant-primary)15%,var(--line))}}.calendar-toolbar button{transition:background-color .17s,transform .17s;box-shadow:0 2px 6px #153a3208}.calendar-toolbar button:not(:disabled):hover{background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.calendar-toolbar button:not(:disabled):hover{background:color-mix(in srgb,var(--tenant-accent)40%,white)}}.calendar-toolbar button:not(:disabled):hover{transform:translateY(-1px)}.date-chips{gap:8px}.date-chips button{background:#fff;border-color:#dbe5e1;min-height:84px;transition:background-color .17s,border-color .17s,box-shadow .17s,transform .17s;position:relative;box-shadow:0 2px 7px #153a3206}.date-chips button:hover:not(.selected):not(.unavailable){border-color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.date-chips button:hover:not(.selected):not(.unavailable){border-color:color-mix(in srgb,var(--tenant-primary)48%,var(--line))}}.date-chips button:hover:not(.selected):not(.unavailable){transform:translateY(-1px);box-shadow:0 7px 16px #153a320f}.date-chips span{font-size:10px;font-weight:750}.date-chips strong{font-size:20px}.date-chips .date-status-dot{background:var(--tenant-primary);border-radius:50%;width:5px;height:5px;margin-top:4px}@supports (color:color-mix(in lab, red, red)){.date-chips .date-status-dot{background:color-mix(in srgb,var(--tenant-primary)48%,#aab8b4)}}.date-chips button.selected{box-shadow:0 9px 22px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.date-chips button.selected{box-shadow:0 9px 22px color-mix(in srgb,var(--tenant-primary)22%,transparent)}}.date-chips button.selected{transform:translateY(-2px)}.date-chips button.unavailable:not(.selected){box-shadow:none;opacity:.7;background:#f0f3f2;border-style:dashed}.date-chips button.unavailable:not(.selected):after{content:"";background:#85938f;width:24px;height:1px;position:absolute;transform:rotate(-38deg)}.date-chips button.unavailable small{z-index:1;color:#596863;background:#f0f3f2;padding:1px 3px;position:relative}.date-more{opacity:.82;margin-top:15px}.date-more span{font-size:10px}.date-more input{max-width:164px;font-size:12px;min-height:44px!important}.slots{gap:9px}.tenant-booking .slot{background:#fff;border-color:#d8e3df;min-height:48px;transition:background-color .17s,border-color .17s,box-shadow .17s,transform .17s;box-shadow:0 2px 6px #153a3206}.tenant-booking .slot:hover{border-color:var(--tenant-primary);background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.tenant-booking .slot:hover{background:color-mix(in srgb,var(--tenant-accent)28%,white)}}.tenant-booking .slot:hover{transform:translateY(-1px)}.tenant-booking .slot.selected,.tenant-booking .slot.selected:hover{border-color:var(--tenant-primary);background:var(--tenant-primary);color:#fff;box-shadow:0 8px 18px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.tenant-booking .slot.selected,.tenant-booking .slot.selected:hover{box-shadow:0 8px 18px color-mix(in srgb,var(--tenant-primary)22%,transparent)}}.tenant-booking .slot.selected,.tenant-booking .slot.selected:hover{transform:translateY(-1px)}.booking-summary{border-color:var(--tenant-primary);padding:21px}@supports (color:color-mix(in lab, red, red)){.booking-summary{border-color:color-mix(in srgb,var(--tenant-primary)18%,var(--line))}}.booking-summary{background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.booking-summary{background:color-mix(in srgb,var(--tenant-accent)22%,#fff)}}.booking-summary{box-shadow:0 8px 22px #153a320a}.summary-title{margin-bottom:18px}.summary-title small{color:var(--tenant-primary)}.summary-title strong{font-size:17px}.booking-summary dl{gap:15px 20px}.booking-summary dt{font-size:9px}.booking-summary dd{font-size:14px}.summary-duration{color:var(--muted);font-weight:650}.patient-fields{background:#fff;border:1px solid #e2e9e6;border-radius:16px;padding:22px}.privacy-panel{background:#f5f8f7}.public-flow .continue{box-shadow:0 9px 20px var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.public-flow .continue{box-shadow:0 9px 20px color-mix(in srgb,var(--tenant-primary)18%,transparent)}}.public-flow .continue{transition:transform .17s,box-shadow .17s}.public-flow .continue:hover:not(:disabled){box-shadow:0 12px 25px var(--tenant-primary);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.public-flow .continue:hover:not(:disabled){box-shadow:0 12px 25px color-mix(in srgb,var(--tenant-primary)24%,transparent)}}.confirmation-card{max-width:720px;box-shadow:0 26px 70px #153a321a}.confirmation-status .success-mark{box-shadow:0 0 0 6px var(--brand)}@supports (color:color-mix(in lab, red, red)){.confirmation-status .success-mark{box-shadow:0 0 0 6px color-mix(in srgb,var(--brand)8%,transparent)}}.is-pending .success-mark{color:#8a6112;background:#fff4d5;box-shadow:0 0 0 6px #94661212}.confirmation-card dl{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0}.confirmation-card dl div{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:14px 15px;display:block}.confirmation-card dl div:last-child{border-bottom:1px solid var(--line)}.confirmation-card dt{margin-bottom:5px;font-size:11px}.confirmation-card dd{font-size:14px}.confirmation-actions{margin-top:22px}@media (max-width:1100px){.booking-intro h1{max-width:none}.booking-subtitle,.booking-intro .lead{margin-inline:auto}.tenant-contact{max-width:520px;margin-inline:auto}.booking-benefits{justify-content:center}}@media (max-width:700px){.tenant-header{min-height:72px!important}.tenant-brand strong{font-size:13px}.tenant-brand small{font-size:10px}.tenant-monogram{width:40px;height:40px}.tenant-header nav{gap:4px}.tenant-header nav a,.tenant-header nav a:first-child,.tenant-header-details nav a:last-child{justify-content:center;min-width:44px;min-height:44px;padding:0 7px;font-size:10px;display:flex}.booking-layout{gap:24px;margin-top:22px}.booking-intro h1{margin-top:8px;font-size:38px;line-height:1.06}.booking-subtitle{font-size:19px}.booking-intro .lead{font-size:13px}.booking-benefits{margin-top:15px}.tenant-contact{margin-top:18px;padding:14px 16px}.flow-progress li{font-size:0}.flow-progress li span{font-size:11px}.date-chips button{min-height:80px}.patient-fields{padding:19px 15px}.confirmation-card dl{grid-template-columns:1fr}}@media (max-width:420px){.calendar-toolbar{grid-template-columns:44px 1fr 44px}.calendar-toolbar button{width:44px}.date-more input{min-height:44px!important}}@media (max-width:380px){.tenant-brand{gap:8px}.tenant-header nav a,.tenant-header nav a:first-child,.tenant-header-details nav a:last-child{padding:0 5px;font-size:9px}.booking-intro h1{font-size:34px}.booking-subtitle{font-size:17px}.booking-benefits{font-size:11px}.tenant-contact>span:not(.contact-detail){display:none}.assigned-professional{padding:13px}.assigned-professional .professional-avatar,.assigned-professional>img{flex-basis:46px;width:46px;height:46px}.calendar-toolbar strong{font-size:15px}}.slot-instruction{border:1px solid var(--tenant-primary);align-items:center;gap:9px;margin:12px 0 0;padding:11px 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.slot-instruction{border:1px solid color-mix(in srgb,var(--tenant-primary)13%,var(--line))}}.slot-instruction{background:var(--tenant-accent);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.slot-instruction{background:color-mix(in srgb,var(--tenant-accent)16%,#f7faf9)}}.slot-instruction{color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.slot-instruction{color:color-mix(in srgb,var(--tenant-primary)72%,var(--ink))}}.slot-instruction{font-size:13px;font-weight:750;line-height:1.4;transition:background-color .17s,border-color .17s,color .17s}.slot-instruction>span{background:var(--tenant-primary);border-radius:50%;flex:0 0 21px;place-items:center;width:21px;height:21px;display:grid}@supports (color:color-mix(in lab, red, red)){.slot-instruction>span{background:color-mix(in srgb,var(--tenant-primary)10%,white)}}.slot-instruction>span{color:var(--tenant-primary);font-size:12px;font-weight:900}.slot-instruction.is-selected{border-color:var(--tenant-primary)}@supports (color:color-mix(in lab, red, red)){.slot-instruction.is-selected{border-color:color-mix(in srgb,var(--tenant-primary)20%,var(--line))}}.slot-instruction.is-selected{background:var(--tenant-accent)}@supports (color:color-mix(in lab, red, red)){.slot-instruction.is-selected{background:color-mix(in srgb,var(--tenant-accent)28%,#f7faf9)}}.slot-instruction.is-selected{color:var(--ink)}.calendar-event{text-align:left;cursor:pointer;font:inherit;border:0}.appointment-drawer{background:0 0;border:0;width:min(460px,100% - 24px);max-height:calc(100vh - 24px);margin:0 0 0 auto;padding:0}.appointment-drawer[open]{animation:.18s ease-out drawer-in}.appointment-drawer::backdrop{background:#0a1f1b66}.drawer-content{background:#fff;min-height:100vh;padding:clamp(24px,5vw,38px);box-shadow:-20px 0 60px #0a1f1b29}.drawer-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.drawer-head h2{margin:5px 0;font-size:30px}.drawer-head button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:0 0 44px;width:44px;height:44px;font-size:24px}.appointment-drawer dl{margin:28px 0}.appointment-drawer dl>div{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;gap:14px;padding:13px 0;display:grid}.appointment-drawer dt{color:var(--muted)}.appointment-drawer dd{margin:0;font-weight:750}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.calendar-toolbar button{width:48px;min-width:48px;height:48px;min-height:48px}.tenant-booking .step-label{color:#365f57}.tenant-booking .section-help{color:#526862}.tenant-booking .calendar-toolbar strong{color:#294943}.tenant-booking .date-chips span,.tenant-booking .date-chips small{color:#526862}.tenant-booking .date-more{opacity:1;color:#294943}.tenant-booking .date-more span,.tenant-booking .date-more input{color:#294943}.tenant-booking input::placeholder{color:#526862;opacity:1}.tenant-booking .flow-progress li{color:#526862}.active-slot-date{color:var(--muted);text-transform:capitalize;margin:3px 0 0;font-size:12px;font-weight:700}.proof-field{gap:9px;display:grid}.proof-preview{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;grid-template-columns:72px 1fr;align-items:center;gap:12px;padding:11px;display:grid}.proof-preview>img,.pdf-preview{object-fit:cover;background:#fff;border-radius:9px;width:72px;height:62px}.pdf-preview{color:var(--danger);place-items:center;font-size:13px;font-weight:900;display:grid}.proof-preview>div{gap:5px;min-width:0;display:grid}.proof-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.proof-preview small{color:var(--muted);font-size:10px}.proof-preview>div>div{flex-wrap:wrap;gap:7px;display:flex}.proof-preview .secondary-action{cursor:pointer;align-items:center;min-height:34px;padding:0 10px;font-size:10px;display:inline-flex}.qr-preview>p{color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:800}.proof-operation-fields{grid-template-columns:minmax(120px,.4fr) minmax(180px,1fr);gap:12px;display:grid}.payment-review-card{background:#fffdf5;border-color:#d8b45d}.payment-review-detail{background:#fffdf6;border:1px solid #dbc16f;border-radius:18px;gap:16px;padding:clamp(18px,3vw,28px);display:grid}.payment-review-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.payment-review-heading h2{margin:3px 0 0}.payment-review-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.payment-review-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.payment-review-summary dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.payment-review-summary dd{margin:4px 0 0;font-weight:800}.admin-proof-list{gap:16px;display:grid}.admin-proof-list article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr);align-items:center;gap:16px;padding:16px;display:grid}.admin-proof-list article>div{gap:5px;display:grid}.admin-proof-list img{object-fit:contain;background:#f6f7f8;border-radius:10px;width:100%;max-height:360px}.admin-proof-list .secondary-action{justify-self:start}.operation-warning{color:#6d4c00;background:#fff4d6;border-radius:10px;padding:10px;font-weight:750}.rejection-form{gap:14px;display:grid}.rejection-form label{gap:6px;display:grid}.rejection-form textarea{min-height:80px}.payment-operations{color:var(--muted);gap:5px;font-size:13px;display:grid}.conflict-resolution{gap:14px;display:grid}@media (max-width:700px){.proof-operation-fields,.payment-review-summary,.admin-proof-list article{grid-template-columns:1fr}.payment-review-heading{flex-direction:column;align-items:stretch}.admin-proof-list img{max-height:420px}.request-filters{scrollbar-width:thin;overflow-x:auto}.request-filters a{flex:none}}.tenant-booking .tenant-monogram,.tenant-booking .slot.selected,.tenant-booking .date-chips button.selected,.tenant-booking .summary-title>span{color:var(--tenant-on-primary,#fff)}.manual-payment .payment-qr{object-fit:contain;border:1px solid var(--line);width:min(100%,560px);height:min(62vw,460px);min-height:340px;max-height:460px;padding:12px}.date-more{width:min(100%,360px)!important}.date-more span{font-weight:800;font-size:16px!important}.date-more input{width:100%;border:2px solid var(--tenant-primary)!important;max-width:none!important;min-height:48px!important;font-size:16px!important}@supports (color:color-mix(in lab, red, red)){.date-more input{border:2px solid color-mix(in srgb,var(--tenant-primary)28%,var(--line))!important}}.date-more input:focus-visible{outline-offset:3px;outline:3px solid #f0a44b}.proof-preview{grid-template-columns:112px 1fr;padding:14px}.proof-preview>img,.pdf-preview{object-fit:contain;border:1px solid var(--line);width:112px;height:90px}.branding-controls{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;gap:14px;padding:18px;display:grid}.branding-controls h3,.branding-controls p{margin:0}.preset-row{flex-wrap:wrap;gap:8px;display:flex}.preset-row button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:44px;padding:0 14px;font-weight:750}.color-fields input[type=color]{min-height:48px;padding:5px}.brand-preview{background:var(--preview-accent);color:var(--preview-on-accent);border-radius:14px;grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:16px;display:grid}.brand-preview-logo{border:1px solid var(--preview-primary);background:#fff;border-radius:14px;place-items:center;width:64px;height:64px;display:grid}@supports (color:color-mix(in lab, red, red)){.brand-preview-logo{border:1px solid color-mix(in srgb,var(--preview-primary)25%,#ddd)}}.brand-preview-logo{font-weight:900;overflow:hidden}.brand-preview-logo img{object-fit:contain;width:100%;height:100%}.brand-preview>div:last-child{gap:8px;display:grid}.brand-preview p{font-size:12px}.brand-preview button,.brand-preview>div:last-child>span{background:var(--preview-primary);width:max-content;min-height:40px;color:var(--preview-on-primary);border:1px solid var(--preview-primary);border-radius:10px;align-items:center;padding:0 13px;font-weight:800;display:inline-flex}.brand-preview>div:last-child>span{color:var(--preview-on-accent);border-color:var(--preview-on-accent);background:0 0}@supports (color:color-mix(in lab, red, red)){.brand-preview>div:last-child>span{border-color:color-mix(in srgb,var(--preview-on-accent)45%,transparent)}}.logo-upload{border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;display:flex}.logo-upload>p{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.logo-upload label{cursor:pointer}.logo-upload input[type=file]{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.logo-upload>img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:104px;height:72px}@media (max-width:520px){.date-more{width:100%!important}.manual-payment .payment-qr{width:100%;height:min(92vw,420px);min-height:280px}.proof-preview{grid-template-columns:88px 1fr}.proof-preview>img,.pdf-preview{width:88px;height:78px}.brand-preview{grid-template-columns:1fr}.brand-preview-logo{width:72px;height:72px}}.tenant-booking .tenant-header-details>span,.tenant-booking .assigned-professional small{color:#405650}.settings-feedback{border-radius:11px;margin:0;padding:12px 14px;font-weight:750}.settings-feedback.is-success{color:#155f4f;background:#e8f5ef;border:1px solid #b9dfd2}.settings-feedback.is-error{color:#8c2525;background:#fff1f0;border:1px solid #efc3c0}.branding-form .continue:disabled{opacity:.65;cursor:wait}.tenant-booking .date-chips button.unavailable:not(.selected){opacity:1}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
.sidebar-nav a>.nav-label{width:auto;color:inherit;text-align:left;font-size:inherit;flex:1}.sidebar-nav a>.nav-badge{width:auto;min-width:25px;height:25px;color:var(--brand-dark);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 14%,var(--line));background:#fff;border-radius:999px;place-items:center;padding:0 7px;font-size:11px;font-weight:850;display:grid}.sidebar-nav a.active>.nav-badge{background:var(--brand);color:#fff;box-shadow:none}.metric-strip>.metric-link{border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:16px 18px;text-decoration:none;transition:border-color .17s,box-shadow .17s,transform .17s;display:grid}.metric-strip>.metric-link small{color:var(--brand);grid-column:1/-1;font-size:10px;font-weight:750}.metric-strip>.metric-link:hover,.metric-strip>.metric-link:focus-visible{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.agenda-period-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px;display:grid}.agenda-period-nav a{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:10px;align-items:center;padding:0 13px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.agenda-period-nav a:last-child{justify-self:end}.agenda-period-nav .today-link{background:var(--surface-soft);color:var(--brand-dark);justify-self:center}.current-time-line{z-index:4;background:#e15f52;height:2px;position:absolute;left:0;right:0;box-shadow:0 1px 4px #e15f5233}.current-time-line:before{content:"";background:#e15f52;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.requests-page{max-width:1260px}.request-filters{border:1px solid var(--line);background:#fff;border-radius:13px;gap:7px;width:max-content;max-width:100%;margin:0 0 20px;padding:5px;display:flex;overflow:auto}.request-filters a{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.request-filters a[aria-current=page]{background:var(--mint);color:var(--brand-dark)}.request-filters span{background:var(--surface-soft);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:10px;display:grid}.request-filters a[aria-current=page] span{color:var(--brand-dark);background:#fff}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.request-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;gap:16px;padding:22px;display:grid}.request-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.request-card h2{letter-spacing:-.025em;margin:0 0 5px;font-size:20px}.request-card-head p{color:var(--muted);margin:0;font-size:12px}.request-status{background:var(--surface-soft);width:max-content;min-height:27px;color:var(--muted);text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:10px;font-weight:850;display:inline-flex}.request-pending{background:var(--warning-soft);color:var(--warning)}.request-confirmed,.request-converted{background:var(--mint);color:var(--brand-dark)}.request-rejected{background:var(--danger-soft);color:var(--danger)}.request-time{background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.request-time strong{text-transform:capitalize;font-size:14px}.request-time span{color:var(--muted);font-size:11px;font-weight:750}.request-card dl{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.request-card dl div{gap:4px;display:grid}.request-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.request-card dd{margin:0;font-size:13px;font-weight:750}.request-card dd a{color:var(--brand-dark)}.review-request{border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));min-height:43px;color:var(--brand-dark);border-radius:11px;justify-content:center;align-items:center;font-size:12px;font-weight:800;text-decoration:none;display:flex}.review-request:hover{background:var(--mint);border-color:var(--brand)}.requests-empty{text-align:center;border:1px solid var(--line);max-width:650px;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;justify-items:center;gap:7px;margin:40px auto;padding:52px 24px;display:grid}.requests-empty>span{background:var(--mint);width:54px;height:54px;color:var(--brand);border-radius:50%;place-items:center;font-size:24px;font-weight:900;display:grid}.requests-empty h2{margin:8px 0 0}.requests-empty p{color:var(--muted);margin:0}.requests-empty button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:44px;margin-top:12px;padding:0 16px;font-weight:750}.request-loading{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.request-loading span{background:linear-gradient(90deg,#edf2f0 25%,#f8faf9 50%,#edf2f0 75%) 0 0/200% 100%;border-radius:18px;height:260px;animation:1.2s infinite booking-shimmer}.operation-feedback{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;margin:0 0 18px;padding:15px 17px;display:flex}.operation-feedback>span{border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.operation-feedback strong{display:block}.operation-feedback p{color:var(--muted);margin:3px 0 0;font-size:12px}.operation-feedback>a{color:var(--brand-dark);margin-left:auto;font-size:12px;font-weight:800}.operation-feedback.success{background:#f4fbf8;border-color:#bcded5}.operation-feedback.success>span{background:var(--mint);color:var(--brand)}.operation-feedback.neutral>span{background:var(--surface-soft);color:var(--brand)}.operation-feedback.warning{background:var(--warning-soft);border-color:#edd49c}.operation-feedback.warning>span{color:var(--warning);background:#fff}.request-detail{border:1px solid var(--line);max-width:900px;box-shadow:var(--shadow-md);background:#fff;border-radius:22px;margin:auto;padding:clamp(24px,4vw,40px)}.request-detail>a{min-height:40px;color:var(--brand-dark);align-items:center;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.request-detail-title{justify-content:space-between;align-items:flex-start;gap:20px;margin:18px 0 24px;display:flex}.request-detail-title h1{letter-spacing:-.04em;margin:5px 0 0;font-size:clamp(30px,4vw,44px)}.request-detail-grid{grid-template-columns:.8fr 1.2fr;gap:14px;display:grid}.request-detail-grid>section{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;padding:20px}.request-detail-grid dl{gap:0;margin:10px 0 0;display:grid}.request-detail-grid dl div{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr;gap:12px;padding:10px 0;display:grid}.request-detail-grid dl div:last-child{border-bottom:0}.request-detail-grid dt{color:var(--muted);font-size:12px}.request-detail-grid dd{margin:0;font-size:13px;font-weight:750}.request-detail-grid dd a{color:var(--brand-dark)}.pending-does-not-hold{border-left:3px solid var(--warning);background:var(--warning-soft);border-radius:0 12px 12px 0;margin:16px 0;padding:15px 17px}.pending-does-not-hold p{color:#6f592b;margin:4px 0 0;font-size:12px;line-height:1.5}.request-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.request-actions form{display:flex}.request-actions button{cursor:pointer;border-radius:11px;min-height:46px;padding:0 16px;font-weight:800}.request-actions .primary-action{border:0}.danger-secondary{color:var(--danger);background:#fff;border:1px solid #ecc9c5}.request-actions button:disabled{opacity:.6;cursor:wait}.confirm-dialog{border:0;border-radius:18px;width:min(500px,100% - 28px);padding:0;box-shadow:0 28px 80px #0a1f1b38}.confirm-dialog::backdrop{background:#0a1f1b6b}.confirm-dialog>div{padding:28px}.confirm-dialog h2{margin:5px 0 10px;font-size:26px}.confirm-dialog p{color:var(--muted);line-height:1.55}.dialog-actions>button,.dialog-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:44px;padding:0 14px;font-weight:750}.dialog-actions .danger-action{border-color:var(--danger);background:var(--danger);color:#fff}@media (max-width:760px){.request-grid,.request-loading{grid-template-columns:1fr}.request-card{padding:18px}.request-card dl{grid-template-columns:1fr}.request-detail{border-radius:16px;padding:22px 17px}.request-detail-grid{grid-template-columns:1fr}.request-detail-title{display:grid}.agenda-period-nav a{font-size:0}.agenda-period-nav a:first-child:after{content:"← Anterior";font-size:11px}.agenda-period-nav a:last-child:before{content:"Siguiente →";font-size:11px}.agenda-period-nav .today-link{font-size:11px}.metric-strip>.metric-link{padding:12px 15px}.operation-feedback{flex-wrap:wrap;align-items:flex-start}.operation-feedback>a{margin-left:45px}.request-actions,.request-actions form,.request-actions>button,.request-actions button{width:100%}.dialog-actions{grid-template-columns:1fr 1fr;display:grid}.dialog-actions form{width:100%}}@media (max-width:380px){.request-card-head{display:grid}.request-time{flex-direction:column;align-items:flex-start}.request-detail-grid dl div{grid-template-columns:1fr;gap:3px}.request-filters{width:100%}.agenda-period-nav a{padding:0 10px}}.appointment-panel{width:min(100%,840px)}.detail-back{min-height:44px;color:var(--brand-dark);align-items:center;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.current-appointment-summary{border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 72%,white),#fff);border-radius:20px;grid-template-columns:minmax(230px,.9fr) 1.1fr;gap:26px;margin:22px 0 30px;padding:clamp(22px,4vw,32px);display:grid;box-shadow:0 12px 30px #153a3212}.current-appointment-summary h2{text-transform:capitalize;margin:5px 0 4px;font-size:clamp(22px,3vw,30px);line-height:1.15}.current-appointment-time{color:var(--brand-dark);font-size:clamp(29px,5vw,44px);line-height:1;display:block}.current-appointment-summary dl{align-content:center;margin:0;display:grid}.current-appointment-summary dl div{grid-template-columns:100px 1fr;padding:10px 0}.appointment-section{border:1px solid var(--line);background:#fff;border-radius:18px;margin:0 0 28px;padding:24px}.appointment-section>h2,.appointment-section h2{margin-top:0}.patient-section .admin-form{margin-bottom:0}.reprogram-date{gap:7px;max-width:280px;margin:18px 0;font-size:13px;font-weight:800;display:grid}.reprogram-date input{min-height:48px;font:inherit;background:#fff;border:1px solid #cedbd7;border-radius:12px;padding:0 13px}.reprogram-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0;display:grid}.reprogram-slots button{min-height:48px;color:var(--brand-dark);font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdad5;border-radius:11px;font-weight:800}.reprogram-slots button.selected{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 7px 16px #087b6a33}.reprogram-state{background:var(--surface-soft);color:var(--muted);border-radius:11px;margin:14px 0;padding:13px;font-size:13px}.reprogram-state.error{color:var(--danger)}.schedule-change{border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));background:var(--mint);border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:20px 0;padding:17px;display:grid}.schedule-change div{gap:4px;display:grid}.schedule-change span{color:var(--muted);font-size:11px;font-weight:750}.schedule-change>span{color:var(--brand);font-size:22px}.schedule-change strong{font-size:14px}.reprogram-section form{margin-top:18px}.reprogram-section form .continue{min-width:230px}.reprogram-section form .continue:disabled{opacity:.5;cursor:not-allowed}.cancellation-section{background:snow;border-color:#efd1d1;justify-content:space-between;align-items:center;gap:24px;display:flex}.cancellation-section h2{color:var(--danger);margin:0 0 5px;font-size:20px}.cancellation-section p{color:var(--muted);margin:0;font-size:13px}.danger-action{border:1px solid var(--danger);min-height:44px;color:var(--danger);cursor:pointer;background:#fff;border-radius:11px;flex:none;padding:0 16px;font-weight:800}.confirmation-dialog{background:#fff;border:0;border-radius:20px;width:min(460px,100% - 28px);margin:auto;padding:0;box-shadow:0 24px 70px #14232040}.confirmation-dialog::backdrop{background:#0a1f1b6b}.confirmation-dialog>div{padding:28px}.dialog-danger-icon{width:42px;height:42px;color:var(--danger);background:#fff0f0;border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid}.confirmation-dialog h2{margin:16px 0 7px}.confirmation-dialog p{color:var(--muted);line-height:1.55}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.dialog-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;min-height:44px;padding:0 15px;font-weight:800}.dialog-actions .danger-confirm{border-color:var(--danger);background:var(--danger);color:#fff}.operation-feedback.warning{color:#66500f;background:#fffaf0;border-color:#ecd48e}@media (max-width:700px){.current-appointment-summary{grid-template-columns:1fr}.reprogram-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-change{grid-template-columns:1fr}.schedule-change>span{justify-self:start;transform:rotate(90deg)}.cancellation-section{flex-direction:column;align-items:flex-start}.danger-action,.reprogram-section form .continue{width:100%}}@media (max-width:390px){.appointment-section{padding:18px}.reprogram-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.dialog-actions form,.dialog-actions button{width:100%}}.tools-back-link{color:#ffffffd1;border:1px solid #ffffff1f;border-radius:10px;align-items:center;min-height:42px;padding:0 12px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.client-portal{min-height:100vh;color:var(--ink);background:#f5f8f7}.portal-header{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;min-height:74px;padding:0 clamp(20px,5vw,72px);display:flex}.portal-brand{align-items:center;gap:10px;display:flex}.portal-brand>span{background:var(--brand-dark);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid}.portal-header button{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;padding:0 13px;font-weight:750}.portal-content{width:min(1120px,100% - 40px);margin:auto;padding:clamp(44px,8vw,88px) 0}.portal-welcome{max-width:680px;margin-bottom:44px}.portal-welcome h1{letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(38px,6vw,64px)}.portal-welcome>p:last-child{color:var(--muted);margin:0;font-size:16px}.portal-section-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:850}.product-grid{grid-template-columns:repeat(auto-fit,minmax(280px,420px));gap:18px;display:grid}.product-card{background:#fff;border:1px solid #dce7e3;border-radius:22px;grid-template-rows:auto 1fr auto;gap:20px;min-height:250px;padding:26px;display:grid;box-shadow:0 12px 32px #153a3212}.product-visual{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;border-radius:17px;place-items:center;width:58px;height:58px;font-size:27px;display:grid}.product-card h2{margin:0 0 7px;font-size:25px}.product-card p{color:var(--muted);margin:0;line-height:1.55}.product-card>a{background:var(--brand-dark);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;min-height:46px;padding:0 16px;font-weight:800;text-decoration:none;display:flex}.portal-empty,.portal-notice{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.portal-empty h2{margin:0 0 5px;font-size:20px}.portal-empty p{color:var(--muted);margin:0}.portal-notice{background:#fffaf0;border-color:#ecd48e;gap:4px;margin:0 0 24px;display:grid}.portal-notice span{color:var(--muted);font-size:13px}.portal-discover{margin-top:52px}.portal-discover .promotion-banner{margin:0}.tenant-products{background:var(--surface-soft);border-radius:13px;gap:9px;margin:18px 0;padding:15px;display:grid}.tenant-products>strong{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.tenant-products form{justify-content:space-between;align-items:center;gap:12px;display:flex}.tenant-products form>span{align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.tenant-products i{border:1px solid var(--line);border-radius:6px;place-items:center;width:21px;height:21px;font-style:normal;display:grid}.tenant-products i.product-enabled{border-color:var(--brand);background:var(--brand);color:#fff}.tenant-products button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:38px;padding:0 11px;font-size:11px;font-weight:800}.tenant-products .disable-product{color:var(--danger)}@media (max-width:600px){.portal-header{padding:0 16px}.portal-content{width:min(100% - 28px,1120px);padding:38px 0}.portal-welcome{margin-bottom:32px}.product-grid{grid-template-columns:1fr}.product-card{min-height:230px;padding:22px}.tenant-products form{flex-direction:column;align-items:flex-start}.tenant-products button{width:100%}}.manual-appointment-page,.payment-resolution-page{width:min(100%,980px)}.manual-booking-flow{margin-top:24px}.admin-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-choice-grid button{text-align:left;min-height:74px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #cfddd8;border-radius:13px;gap:4px;padding:15px;display:grid}.admin-choice-grid button span{color:var(--muted);font-size:12px}.admin-choice-grid button.selected{border-color:var(--brand);background:var(--mint);box-shadow:0 0 0 1px var(--brand)}.manual-summary{border-color:color-mix(in srgb,var(--brand) 24%,var(--line));background:linear-gradient(135deg,var(--mint),#fff)}.manual-summary dl,.payment-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:18px 0;display:grid}.manual-summary dl div,.payment-detail-grid div{border-bottom:1px solid var(--line);padding:11px 0}.manual-summary dt,.payment-detail-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:750}.manual-summary dd,.payment-detail-grid dd{margin:4px 0 0;font-size:14px;font-weight:800}.manual-summary .continue{margin-top:8px}.success-banner{color:var(--brand-dark);background:#f4fbf8;border:1px solid #bcded5;border-radius:12px;margin:0 0 18px;padding:14px 16px;font-size:13px;font-weight:750}.payment-needs-attention{border-left:4px solid var(--warning);padding-left:16px}.payment-resolution-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin:8px 0 22px;display:flex}.payment-resolution-heading h1{letter-spacing:-.04em;margin:0 0 7px;font-size:clamp(30px,4vw,46px);line-height:1.08}.payment-manual_action{background:var(--warning-soft);color:var(--warning);flex:none}.payment-detail-grid{border:1px solid var(--line);background:var(--surface-soft);border-radius:17px;padding:20px}.payment-detail-grid .detail-reason{grid-column:1/-1}.contact-actions{flex-wrap:wrap;gap:9px;margin:0 0 28px;display:flex}.contact-actions a{align-items:center;min-height:45px;display:flex}.manual-resolution-grid{grid-template-columns:1.35fr .65fr;gap:16px;display:grid}.manual-resolution-grid .appointment-section{margin:0}.schedule-comparison{background:var(--mint);border-radius:13px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:18px 0;padding:15px;display:grid}.schedule-comparison div{gap:4px;display:grid}.schedule-comparison span{color:var(--muted);font-size:11px;font-weight:750}.schedule-comparison>span{color:var(--brand);font-size:20px}.schedule-comparison strong{text-transform:capitalize;font-size:13px}.manual-resolution-grid .continue{width:100%;margin-top:12px}.manual-resolution-grid .continue:disabled{opacity:.5;cursor:not-allowed}.external-resolution{background:#fffaf2;border-color:#efd9bd;align-self:start}.external-resolution>p:not(.step-label){color:var(--muted);font-size:13px;line-height:1.55}.external-resolution form,.external-resolution button{width:100%}.external-resolution button{cursor:pointer;margin-top:10px}@media (max-width:760px){.admin-choice-grid,.manual-summary dl,.payment-detail-grid,.manual-resolution-grid{grid-template-columns:1fr}.payment-detail-grid .detail-reason{grid-column:auto}.payment-resolution-heading{display:grid}.schedule-comparison{grid-template-columns:1fr}.schedule-comparison>span{justify-self:start;transform:rotate(90deg)}.contact-actions,.contact-actions a{width:100%}.contact-actions a{justify-content:center}}@media (max-width:390px){.manual-appointment-page,.payment-resolution-page{padding-inline:14px}.admin-choice-grid{grid-template-columns:1fr}.payment-resolution-heading h1{font-size:29px}}
