@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.online-session-page{display:grid;min-height:100svh;overflow-x:clip;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));place-items:center;background:var(--surface-low)}.online-session-header,.online-session-footer{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:.88rem}.online-session-header{position:fixed;top:var(--space-5);left:var(--space-5);right:var(--space-5);justify-content:space-between}.online-session-header>span,.online-session-footer{display:inline-flex;align-items:center;gap:var(--space-2)}.online-session-card{display:grid;width:min(100%,560px);gap:var(--space-4);padding:clamp(var(--space-5),6vw,var(--space-8));border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.online-session-card h1,.online-session-card h2,.online-session-card p{margin:0}.online-session-card h1:focus-visible{outline:3px solid var(--primary);outline-offset:6px}.online-session-intro{color:var(--muted);line-height:1.5}.online-session-summary{display:grid;gap:var(--space-3);margin:0;padding:var(--space-4);border-radius:var(--radius-card);background:var(--surface-low)}.online-session-summary div{display:grid;gap:2px}.online-session-summary dt{color:var(--muted);font-size:.8rem;font-weight:700}.online-session-summary dd{margin:0;font-weight:700}.online-session-entry,.online-session-ready{display:grid;gap:var(--space-3)}.online-session-ready{justify-items:start}.online-session-ready>svg{color:var(--success)}.online-session-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:150px;color:var(--muted)}.online-session-help{color:var(--muted);line-height:1.5}.online-session-card .notice{display:flex;align-items:flex-start;gap:var(--space-2);margin:0}.online-session-card .notice>div{display:grid;gap:var(--space-2);min-width:0}.online-session-card .notice .button{width:max-content}.online-session-card button,.online-session-card a{justify-content:center;text-decoration:none}.online-session-footer{position:fixed;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);justify-content:center;text-align:center}@media(max-width:560px){.online-session-page{padding:var(--space-3)}.online-session-header{top:var(--space-3);left:var(--space-3);right:var(--space-3)}.online-session-header .brand-mark-word{display:none}.online-session-card{margin-block:var(--space-8)}.online-session-footer{position:static;margin-top:var(--space-3)}}@media(prefers-reduced-motion:reduce){.online-session-page .spinner{animation:none}}:root{font-family:Roboto,Arial,sans-serif;color:#1d1b20;background:#f8f9fa;font-synthesis:none;--primary:#006a60;--primary-container:#74f8e7;--on-primary:#fff;--surface:#fbf9fc;--surface-container:#f0f0f2;--surface-high:#eae9ec;--surface-low:#f6f3f7;--outline:#777680;--outline-variant:#c7c5d0;--on-surface:#1d1b20;--muted:#5e5e67;--danger:#ba1a1a;--danger-container:#ffdad6;--warning:#755b00;--warning-container:#ffdf91;--shadow:0 3px 8px rgba(29,27,32,.14)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface);color:var(--on-surface)}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}svg{width:1.2rem;height:1.2rem;stroke-width:1.9}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.02em}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skip-link{position:fixed;left:12px;top:12px;z-index:500;transform:translateY(-200%);background:var(--on-surface);color:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{margin:0 0 4px;color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.muted{margin:.35rem 0;color:var(--muted);line-height:1.5}.optional{color:var(--muted);font-size:.78rem;font-weight:400}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;z-index:20;display:flex;flex-direction:column;padding:24px 12px;background:#143e39;color:#fff}.brand-mark{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:1.25rem;font-weight:700}.brand-mark>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--primary-container);color:#003731}.brand-mark.large{padding:0;color:var(--on-surface);font-size:1.45rem}.brand-mark.large>span{width:42px;height:42px}.sidebar nav{display:grid;gap:4px;margin-top:32px}.sidebar nav a,.bottom-nav a{display:flex;align-items:center;gap:12px;border-radius:28px;color:#d8e8e4;text-decoration:none;font-weight:700}.sidebar nav a{padding:13px 18px}.sidebar nav a.active{background:var(--primary-container);color:#003731}.sidebar-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:auto;padding:20px 10px 4px;border-top:1px solid rgba(255,255,255,.18)}.sidebar-profile strong,.sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{margin-top:3px;color:#c7d9d6;font-size:.76rem}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#d6f9f2;color:#003731;font-weight:700}.avatar.large{width:64px;height:64px;font-size:1.2rem}.compact-header,.bottom-nav{display:none}.main-content{min-height:100vh;margin-left:264px;padding:40px clamp(24px,4vw,64px) 56px}.page-header,.agenda-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1,.agenda-header h1{margin:0;font-size:clamp(1.8rem,3vw,2.35rem)}.agenda-header-actions,.header-actions,.dialog-actions,.privacy-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:24px;background:transparent;color:var(--on-surface);font-weight:700;text-decoration:none}.button.primary:hover{box-shadow:var(--shadow);background:#005047}.button.secondary{border-color:var(--outline);color:var(--primary)}.button.secondary:hover,.button.ghost:hover{background:#e5f3f0}.button.approve{background:var(--primary-container);color:#003731}.button.danger{color:var(--danger)}.button.full{width:100%}.button.fit{width:max-content}.button:disabled{cursor:not-allowed;opacity:.55}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit}.icon-button:hover{background:#1d1b2014}.icon-button.danger{color:var(--danger)}input,textarea,select{width:100%;min-height:48px;border:1px solid var(--outline);border-radius:4px;padding:12px 14px;background:var(--surface);color:var(--on-surface)}textarea{min-height:96px;resize:vertical}label{display:grid;gap:7px;font-size:.9rem;font-weight:700}label small{color:var(--muted);font-size:.8rem;font-weight:400;line-height:1.4}.notice{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:13px 15px;border-radius:12px;line-height:1.45}.notice.error{background:var(--danger-container);color:#410002}.notice.warning{background:#fff5d6;color:#463600}.notice.info{background:#e0f2f1;color:#003c36}.notice.success{background:#d6f9f2;color:#003731}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid var(--outline-variant);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.agenda-page{max-width:1800px}.agenda-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:10px 12px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-container)}.agenda-view-actions{display:flex;align-items:center;gap:6px}.segmented{display:flex;padding:3px;border-radius:24px;background:#e0e3e2}.segmented button{min-height:40px;padding:8px 16px;border:0;border-radius:22px;background:transparent;color:var(--muted);font-weight:700}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--on-surface);box-shadow:0 1px 3px #0000002e}.compact-block-action{display:none}.date-navigation{display:flex;align-items:center;gap:2px}.date-picker{width:152px;min-height:40px;padding:6px 8px;border:0;background:transparent}.agenda-quiet-status{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--muted);font-size:.9rem}.agenda-quiet-status svg{color:var(--primary)}.pending-tray{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;margin:0 0 16px;padding:18px;border:1px solid #e2ba4b;border-radius:16px;background:#fff8e6}.pending-tray h2{margin:0;font-size:1.15rem}.pending-tray-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.pending-tray article{padding-left:12px;border-left:3px solid #d0a000}.pending-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 8px;border:0;background:transparent;text-align:left;color:var(--on-surface)}.pending-summary strong,.pending-summary small{display:block}.pending-summary small{margin-top:3px;color:var(--muted)}.pending-tray article>div{display:flex;gap:6px}.pending-tray .button{min-height:38px;padding:7px 12px;font-size:.82rem}.calendar-surface,.agenda-list-surface{border:1px solid var(--outline-variant);border-radius:20px;background:var(--surface);overflow:hidden}.week-calendar{overflow:auto}.week-calendar-grid{display:grid;grid-template-columns:58px repeat(7,minmax(122px,1fr));min-width:940px}.week-corner,.week-day-heading{height:62px;border-bottom:1px solid var(--outline-variant);background:var(--surface-low)}.week-day-heading{display:flex;align-items:center;justify-content:center;gap:7px}.week-day-heading span{font-size:.78rem;text-transform:capitalize;color:var(--muted)}.week-day-heading strong{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}.week-day-heading.today strong{background:var(--primary);color:#fff}.week-time-axis{grid-column:1;grid-row:2;position:relative;height:768px;border-right:1px solid var(--outline-variant);background:var(--surface-low)}.week-time-axis time{display:block;height:64px;padding:5px 6px 0 0;color:var(--muted);font-size:.72rem;text-align:right}.week-day-column{position:relative;grid-row:2;height:768px;border-right:1px solid var(--outline-variant);background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,var(--outline-variant) 64px)}.free-slot{display:block;width:100%;height:64px;border:0;background:transparent}.free-slot:hover,.free-slot:focus-visible{background:#006a6014;outline-offset:-3px}.calendar-event{position:absolute;left:4px;right:4px;z-index:2;display:grid;align-content:start;gap:3px;width:calc(100% - 8px);overflow:hidden;border:0;border-left:4px solid var(--primary);border-radius:6px;padding:7px 8px;background:#d7f8f2;color:#003731;text-align:left}.calendar-event small{overflow:hidden;color:#254a46;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.calendar-event.pending_approval{border-color:#b58500;background:var(--warning-container);color:#4e3a00}.calendar-event.pending_approval small{color:#624b00}.calendar-event.blocked{border-color:#777680;background:#e9e7ea;color:#414047}.day-timeline{padding:0}.day-timeline-heading{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--outline-variant)}.day-timeline-heading h2{margin:0;font-size:1.25rem}.day-timeline-heading>span{color:var(--muted);font-size:.8rem}.timeline-row{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:76px;border-bottom:1px solid var(--outline-variant)}.timeline-row>time{padding:12px 8px;color:var(--muted);font-size:.78rem;text-align:right}.timeline-cell{display:grid;align-content:center;gap:6px;padding:7px 10px;border-left:1px solid var(--outline-variant)}.timeline-cell .calendar-event{position:static;width:100%;min-height:52px}.timeline-create{display:flex;align-items:center;gap:7px;width:max-content;min-height:40px;border:0;border-radius:8px;padding:7px;background:transparent;color:var(--primary);font-size:.86rem;font-weight:700}.timeline-create:hover{background:#e5f3f0}.agenda-list-surface{display:grid;gap:0}.agenda-day{padding:18px;border-bottom:1px solid var(--outline-variant)}.agenda-day:last-child{border:0}.agenda-day>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-day h2{margin:0;font-size:1.18rem;text-transform:capitalize}.agenda-day-list{display:grid;gap:8px;margin-top:14px}.agenda-day .calendar-event{position:static;grid-template-columns:52px minmax(0,1fr);align-items:center;width:100%;min-height:66px}.agenda-day .calendar-event time{font-weight:700}.agenda-day .calendar-event span{display:grid;gap:3px}.empty-day{margin:12px 0 0;color:var(--muted)}.empty-day button{border:0;background:transparent;color:var(--primary);font-weight:700;text-decoration:underline}.fab{display:none}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.settings-header h1{margin:0;font-size:clamp(1.8rem,3vw,2.35rem)}.settings-content,.settings-stack{display:grid;gap:20px}.settings-layout{display:grid;grid-template-columns:220px minmax(0,780px);gap:24px;align-items:start}.settings-nav{position:sticky;top:24px;display:grid;gap:4px}.settings-nav button{min-height:44px;border:0;border-radius:22px;padding:10px 16px;background:transparent;color:var(--muted);font-weight:700;text-align:left}.settings-nav button[aria-current=page]{background:#d7f8f2;color:#003731}.settings-panel{padding:26px;border:1px solid var(--outline-variant);border-radius:20px;background:var(--surface)}.settings-form{display:grid;gap:20px}.settings-form h2{margin:0}.settings-form hr{width:100%;margin:0;border:0;border-top:1px solid var(--outline-variant)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--outline-variant);border-radius:12px;padding:14px}.switch-row span>small{display:block;margin-top:4px}.switch-row input,.reminder-card>input{width:22px;height:22px;min-height:22px}.availability-summary{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-low)}.availability-summary>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d7f8f2;color:var(--primary)}.availability-summary p{margin:4px 0 0;color:var(--muted);line-height:1.45}.service-settings{display:grid;gap:14px}.service-settings h2{margin:0}.service-list{overflow:hidden;border:1px solid var(--outline-variant);border-radius:16px}.service-list>form{display:grid;grid-template-columns:minmax(0,1fr) 118px auto auto;gap:9px;align-items:end;padding:14px;border-bottom:1px solid var(--outline-variant)}.service-list>form:last-child{border-bottom:0}.inline-form{display:grid;grid-template-columns:1fr 150px auto;gap:10px;align-items:end}.reminder-card{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--outline-variant);border-radius:12px;padding:14px}.reminder-card span>small{display:block;margin-top:3px}.inline-number{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.84rem}.inline-number input{width:94px}.connection-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--outline-variant);border-radius:16px}.connection-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface-high);color:var(--muted)}.connection-icon.connected{background:#d7f8f2;color:var(--primary)}.qr-panel{text-align:center}.qr-panel img{width:240px;max-width:100%}.app-dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;background:transparent}.app-dialog::backdrop{background:#1d1b208c}.dialog-panel{width:min(600px,100%);max-height:calc(100vh - 48px);margin:auto;overflow:auto;border-radius:28px;padding:24px;background:var(--surface);box-shadow:0 18px 60px #1d1b2040;display:grid;gap:16px}.availability-dialog .dialog-panel{width:min(760px,100%)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dialog-header h2{margin:0}.dialog-actions{justify-content:flex-end;margin-top:4px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.detail-list div{padding:12px;border-radius:12px;background:var(--surface-low)}.detail-list dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.detail-list dd{margin:5px 0 0}.private-note{padding:14px;border-radius:12px;background:#efedf8}.private-note p{margin:5px 0 0}.status-chip{display:inline-flex;width:max-content;border-radius:20px;padding:5px 10px;font-size:.75rem;font-weight:700}.status-chip.pending{background:var(--warning-container);color:#563f00}.status-chip.confirmed{background:#d7f8f2;color:#003731}.rule-editor{display:grid;gap:8px}.rule-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--outline-variant);border-radius:12px}.copy-rules{display:grid;grid-template-columns:1fr 170px;gap:14px;padding:16px;border-radius:16px;background:var(--surface-low)}.copy-rules>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.copy-rules>div svg{grid-row:span 2;color:var(--primary)}.copy-rules p{grid-column:2;margin:3px 0 0;color:var(--muted);font-size:.86rem}.copy-rules fieldset{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0}.copy-rules legend{font-size:.84rem;font-weight:700;margin-bottom:7px}.day-check{display:flex;align-items:center;gap:5px;font-size:.82rem;font-weight:500}.day-check input{width:18px;height:18px;min-height:18px}.copy-rules .button{grid-column:1/-1}.public-session-card{padding:28px}.public-session-card .session-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.public-session-card .session-review>div{padding:12px;border-radius:12px;background:var(--surface-low)}.public-session-card .session-review dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.public-session-card .session-review dd{margin:5px 0 0}.public-page{min-height:100vh;padding-bottom:32px;background:#f3f6f5}.public-top{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 max(20px,calc((100vw - 760px)/2));border-bottom:1px solid var(--outline-variant);background:var(--surface)}.secure-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.8rem}.booking-card{width:min(720px,calc(100% - 28px));margin:32px auto;overflow:hidden;border:1px solid var(--outline-variant);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.professional-summary{display:flex;align-items:center;gap:16px;padding:26px;border-bottom:1px solid var(--outline-variant)}.professional-summary h1{margin:2px 0;font-size:1.35rem}.professional-summary p:last-child{margin:5px 0 0;color:var(--muted)}.stepper{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:18px 26px;border-bottom:1px solid var(--outline-variant);list-style:none}.stepper li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:700}.stepper li:before{order:3;flex:1;height:2px;background:var(--outline-variant);content:""}.stepper li:last-child:before{display:none}.booking-step{display:grid;gap:18px;padding:28px}.booking-step h2{margin:0;font-size:1.5rem}.choice-list{display:grid;gap:10px}.choice-list button{display:flex;align-items:center;justify-content:space-between;min-height:72px;border:1px solid var(--outline-variant);border-radius:14px;padding:14px 16px;background:var(--surface);color:var(--on-surface);text-align:left}.choice-list button:hover{border-color:var(--primary);background:#e5f3f0}.choice-list strong,.choice-list small{display:block}.choice-list small{margin-top:5px;color:var(--muted)}.back-link{display:flex;align-items:center;gap:6px;width:max-content;min-height:40px;border:0;background:transparent;color:var(--primary);font-weight:700}.available-days{display:grid;gap:10px}.available-days-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.available-days-heading label{width:min(200px,52%);font-size:.78rem}.available-days-heading select{min-height:40px;padding-block:6px}.day-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.day-strip button{display:grid;gap:2px;flex:0 0 auto;min-width:94px;min-height:64px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface);color:var(--on-surface);font-weight:700}.day-strip button span{text-transform:capitalize;font-size:.78rem}.day-strip button[aria-pressed=true]{border-color:var(--primary);background:#d7f8f2;color:#003731}.slot-heading{margin:0;color:var(--muted);text-transform:capitalize}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slot-grid button{min-height:46px;border:1px solid var(--primary);border-radius:8px;background:var(--surface);color:var(--primary);font-weight:700}.slot-grid button:hover{background:var(--primary);color:#fff}.empty-booking,.quiet-state{display:grid;justify-items:center;gap:8px;padding:28px;border-radius:14px;background:var(--surface-low);color:var(--muted);text-align:center}.empty-booking svg,.quiet-state svg{width:32px;height:32px;color:var(--primary)}.empty-booking strong,.quiet-state strong{color:var(--on-surface)}.empty-booking p{margin:0}.selection-summary{display:flex;align-items:center;gap:13px;padding:14px;border-radius:14px;background:#e5f3f0}.selection-summary svg{color:var(--primary)}.selection-summary strong,.selection-summary small{display:block}.selection-summary small{margin-top:4px;color:var(--muted)}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.45}.check-row input{width:20px;height:20px;min-height:20px;margin-top:1px}.notice-check{padding:13px;border-radius:12px;background:var(--surface-low)}.notice-check small{display:block;margin-top:6px}.guardian-fields{display:grid;gap:14px;padding:16px;border:1px solid var(--outline-variant);border-radius:14px}.guardian-fields legend{font-weight:700}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.booking-success{display:grid;justify-items:center;gap:12px;padding:52px 28px;text-align:center}.booking-success h2{margin:0;font-size:1.7rem}.booking-success>p{max-width:530px;color:var(--muted)}.success-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff}.success-icon svg{width:30px;height:30px}.public-footer{display:flex;justify-content:center;gap:8px;width:min(680px,calc(100% - 32px));margin:auto;color:var(--muted);font-size:.8rem;text-align:center}.auth-page{display:grid;grid-template-columns:minmax(340px,560px) 1fr;min-height:100vh;background:var(--surface)}.auth-panel{align-self:center;padding:clamp(32px,7vw,90px)}.auth-panel h1{margin:28px 0 8px;font-size:2.25rem}.stack-form{display:grid;gap:16px;margin-top:24px}.auth-visual{display:grid;place-items:center;padding:40px;background:#0b534b}.visual-card{display:flex;flex-direction:column;justify-content:center;gap:13px;width:min(430px,90%);height:270px;padding:30px;border-radius:24px;background:#e5f3f0;color:#003731;box-shadow:0 28px 70px #0000003d}.visual-card>svg{width:42px;height:42px;color:var(--primary)}.security-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;line-height:1.45}.auth-links{display:flex;gap:18px;margin-top:22px}.auth-links a,.auth-back{color:var(--primary);font-weight:700}.auth-page.simple{display:block}.auth-page.simple .auth-panel{width:min(560px,100%);margin:auto}.auth-back{display:inline-block;margin-top:24px;text-decoration:none}@media(min-width:600px)and (max-width:899px){.sidebar{width:88px;padding:18px 8px}.sidebar .brand-mark{justify-content:center;padding:6px}.sidebar .brand-mark>strong,.sidebar nav span,.sidebar-profile div:nth-child(2){display:none}.sidebar nav{margin-top:30px}.sidebar nav a{justify-content:center;padding:13px}.sidebar-profile{grid-template-columns:1fr;justify-items:center;padding:16px 0 0}.sidebar-profile .icon-button{display:none}.main-content{margin-left:88px}.agenda-page{padding-inline:24px}.settings-layout{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:599px){.sidebar{display:none}.compact-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 12px;border-bottom:1px solid var(--outline-variant);background:var(--surface)}.compact-header .brand-mark{padding:0}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;height:72px;padding:6px 20px env(safe-area-inset-bottom);border-top:1px solid var(--outline-variant);background:var(--surface)}.bottom-nav a{flex-direction:column;justify-content:center;gap:2px;color:var(--muted);font-size:.74rem}.bottom-nav a.active{color:var(--primary)}.bottom-nav a.active svg{padding:3px 17px;box-sizing:content-box;border-radius:18px;background:var(--primary-container);color:#003731}.main-content{margin-left:0;padding:24px 16px 102px}.page-header,.agenda-header,.settings-header{display:grid;gap:14px}.agenda-header-actions,.create-button{display:none}.agenda-controls{position:sticky;top:76px;z-index:10;display:grid;gap:8px;padding:8px;background:#f0f0f2f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.agenda-view-actions{justify-content:space-between}.compact-block-action{display:grid;color:var(--primary)}.segmented{width:max-content}.date-navigation{justify-content:space-between}.date-picker{flex:1;max-width:185px}.pending-tray{grid-template-columns:1fr;padding:15px}.pending-tray-list{grid-template-columns:1fr}.calendar-surface,.agenda-list-surface{border-radius:16px}.week-calendar-grid{min-width:0}.day-timeline-heading{padding:16px}.timeline-row{grid-template-columns:52px minmax(0,1fr)}.timeline-cell{padding-inline:8px}.agenda-day{padding:16px}.fab{position:fixed;right:20px;bottom:88px;z-index:21;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:16px;background:var(--primary);color:#fff;box-shadow:0 5px 10px #00000040}.settings-layout{position:relative;display:block}.settings-layout:after{position:absolute;top:12px;right:0;z-index:2;display:grid;place-items:center;width:28px;height:44px;background:linear-gradient(90deg,transparent,var(--surface) 45%);color:var(--primary);font-size:1.3rem;content:"›";pointer-events:none}.settings-nav{position:static;display:flex;overflow-x:auto;margin-bottom:14px;padding-right:24px}.settings-nav button{flex:0 0 auto;white-space:nowrap}.settings-panel{padding:20px 16px;border-radius:16px}.field-grid,.inline-form{grid-template-columns:1fr}.service-list>form{grid-template-columns:1fr 1fr}.service-list>form .button{grid-column:auto}.reminder-card{grid-template-columns:auto 1fr}.inline-number{grid-column:2}.availability-summary{grid-template-columns:1fr}.app-dialog{padding:8px}.dialog-panel{max-height:calc(100vh - 16px);border-radius:24px;padding:20px}.dialog-actions{display:grid;grid-template-columns:1fr}.dialog-actions .button{width:100%}.detail-list{grid-template-columns:1fr}.rule-row{grid-template-columns:1fr 1fr}.rule-row .icon-button{align-self:end}.copy-rules{grid-template-columns:1fr}.copy-rules fieldset{display:grid;grid-template-columns:repeat(2,1fr)}.public-top{height:64px;padding:0 16px}.booking-card{margin:16px auto;border-radius:18px}.professional-summary{padding:20px}.stepper{padding:15px 20px}.stepper li{justify-content:center}.stepper li>span{display:none}.booking-step{padding:22px 20px}.slot-grid{grid-template-columns:repeat(3,1fr)}.auth-page{display:block}.auth-panel{min-height:100vh;padding:28px}.auth-visual{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}[data-motion=feedback]{animation-duration:var(--motion-fast)!important;transition-duration:var(--motion-fast)!important}[data-motion=spatial]{animation-duration:var(--motion-fast)!important}}.mfa-secret{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-low)}.mfa-secret span{font-weight:700}.mfa-secret>div{display:flex;align-items:center;gap:.5rem}.mfa-secret code{flex:1;overflow-wrap:anywhere;font-size:1rem;letter-spacing:.08em;-webkit-user-select:all;user-select:all}.mfa-secret small{color:var(--muted)}@media(max-width:599px){.public-session-card{padding:20px}.public-session-card .session-review{grid-template-columns:1fr}}.mfa-setup{display:grid;gap:1rem}.mfa-qr{display:grid;justify-items:center;gap:.75rem;padding:1rem;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-low);text-align:center}.mfa-qr svg{width:12rem;height:12rem}.mfa-qr p{margin:0;color:var(--muted);line-height:1.45}.setup-checklist{display:grid;gap:1rem;margin:1.25rem 0;padding:1.25rem;border:1px solid var(--line, #d9d7d2);border-radius:1rem;background:var(--surface, #fff)}.setup-checklist ol{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.setup-checklist li{display:grid;grid-template-columns:2rem 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border-radius:.75rem;background:var(--surface-muted, #f7f6f3)}.setup-checklist li>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--ink, #1c2621);color:#fff;font-weight:700}.setup-checklist li.done>span{background:var(--success, #2e7d5b)}.setup-checklist small{display:block;color:var(--muted, #68736d)}@media(max-width:599px){.setup-checklist li{grid-template-columns:2rem 1fr}.setup-checklist li .button{grid-column:2;justify-self:start}}.message-attention{display:grid;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line, #d9d7d2)}.message-attention ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.message-attention li{display:grid;gap:.15rem;padding:.75rem;border-radius:.75rem;background:var(--surface-muted, #f7f6f3)}.message-attention li span,.message-attention li small{color:var(--muted, #68736d)}.patients-page{display:grid;gap:1.25rem}.patient-search{display:grid;gap:.4rem;max-width:42rem}.patient-search>div{display:flex;gap:.6rem}.patient-search input{flex:1;min-width:0}.patients-layout{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(18rem,1.2fr);gap:1rem;align-items:start}.patient-list,.patient-detail{display:grid;gap:.5rem;padding:1rem;border:1px solid var(--line, #d9d7d2);border-radius:1rem;background:var(--surface, #fff)}.patient-row{display:grid;grid-template-columns:2.25rem 1fr auto;gap:.75rem;align-items:center;width:100%;padding:.65rem;border:0;border-radius:.7rem;text-align:left;background:transparent;color:inherit;cursor:pointer}.patient-row:hover,.patient-row.selected{background:var(--surface-muted, #f7f6f3)}.patient-row small{display:block;color:var(--muted, #68736d)}@media(max-width:767px){.patients-layout{grid-template-columns:1fr}.patient-detail{min-height:12rem}}.patient-avatar{position:relative;overflow:hidden;flex:0 0 auto}.patient-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#d6f9f2}.patient-avatar>span{display:grid;place-items:center;width:100%;height:100%}html,body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}.delivery-mode-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;color:var(--muted);font-size:.72rem;font-weight:700}.delivery-mode-badge svg{width:13px;height:13px}.delivery-mode-badge.online{color:var(--primary)}.delivery-mode-fieldset{display:grid;gap:8px;margin:0;border:1px solid var(--outline-variant);border-radius:12px;padding:12px}.delivery-mode-fieldset legend{padding:0 4px;font-size:.78rem;font-weight:700}.delivery-mode-fieldset .check-row span{display:grid;gap:2px}.delivery-mode-fieldset small{color:var(--muted);font-weight:400}.appointment-mode-context{display:flex;align-items:center;gap:8px;margin:0}button,a,[role=button]{touch-action:manipulation}button,[role=button]{user-select:none;-webkit-user-select:none}@media(pointer:coarse){input,textarea,select{font-size:1rem}}:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 56px;--space-10: 64px;--primary: #6d28d9;--primary-hover: #5b21b6;--primary-container: #ede9fe;--on-primary: #ffffff;--on-primary-container: #2e1065;--surface: #fffaff;--surface-low: #faf7ff;--surface-container: #f3eff9;--surface-high: #ede8f3;--surface-inverse: #302b35;--on-surface: #211b25;--muted: #625b69;--outline: #81778b;--outline-variant: #d8d0df;--danger: #b3261e;--danger-container: #fce8e6;--success: #166534;--success-container: #dcfce7;--warning: #7a4f01;--warning-container: #fef7e0;--state-hover: rgba(109, 40, 217, .06);--state-focus: rgba(109, 40, 217, .12);--state-pressed: rgba(109, 40, 217, .16);--control-pressed: var(--state-pressed);--group-surface: var(--surface-low);--radius-card: 12px;--radius-control: 999px;--target-min: 44px;--touch-target: 44px;--focus-ring: 0 0 0 3px rgba(109, 40, 217, .28);--shadow: 0 1px 2px rgba(60, 64, 67, .16), 0 1px 3px rgba(60, 64, 67, .12);--motion-instant: .12s;--motion-fast: .16s;--motion-base: .2s;--motion-panel: .22s;--motion-success: .24s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--mobile-header-height: 64px;--bottom-nav-height: 72px;--z-content: 0;--z-sticky: 20;--z-header: 30;--z-popover: 60;--z-overlay: 70;--type-section: 1.25rem;--type-subsection: 1rem;--type-body: 1rem;--type-meta: .82rem}.app-modal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));background:#1d1b208c;overscroll-behavior:contain}.app-modal-overlay[data-entering]{animation:app-modal-overlay-in var(--motion-base) var(--ease-out) both}.app-modal-overlay[data-exiting]{animation:app-modal-overlay-out var(--motion-fast) var(--ease-out) both}.app-modal{display:flex;width:min(100%,760px);max-height:calc(100dvh - var(--space-6));outline:none}.app-modal[data-entering]{animation:app-modal-in var(--motion-panel) var(--ease-out) both}.app-modal[data-exiting]{animation:app-modal-out var(--motion-fast) var(--ease-out) both}.button,.icon-button,.filter-chip,.filter-bar-trigger,.settings-disclosure-trigger,.template-card-trigger,.pending-summary,.timeline-create,.free-slot,.month-day,.booking-slot-grid button,.public-calendar-header button{transition:transform var(--motion-fast) var(--ease-out)}.button:active:not(:disabled),.icon-button:active:not(:disabled),.filter-chip:active,.filter-bar-trigger:active,.settings-disclosure-trigger:active,.template-card-trigger:active,.pending-summary:active,.timeline-create:active,.free-slot:active,.month-day:active,.booking-slot-grid button:active,.public-calendar-header button:active,.filter-bar-trigger[data-pressed],.settings-disclosure-trigger[data-pressed]{transform:scale(.97)}.app-modal-dialog{display:grid;width:100%;min-height:0;max-height:100dvh;outline:none}.app-modal .dialog-panel{min-height:0;max-height:calc(100dvh - var(--space-6));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}.app-modal .availability-editor-panel{overflow-y:auto}.app-modal .availability-editor-body{overflow:visible}.availability-editor-panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(760px,calc(100dvh - var(--space-6)));overflow:hidden;overscroll-behavior:contain}.availability-editor-header{display:grid;gap:var(--space-3)}.availability-editor-header>.muted{margin:0}.availability-editor-issue{display:flex;align-items:flex-start;gap:var(--space-2);margin:0}.availability-editor-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding-block:2px}.availability-editor-footer{position:sticky;bottom:0;z-index:2;display:flex;min-height:var(--target-min);align-items:center;gap:var(--space-3);margin:var(--space-3) calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-3) var(--space-5) max(var(--space-3),env(safe-area-inset-bottom));border-top:1px solid var(--outline-variant);background:var(--surface)}.availability-period.editing input,.availability-period.editing .icon-button,.availability-day-actions input{min-height:var(--target-min)}.password-field{display:grid;gap:var(--space-2)}.password-field-control{position:relative;display:flex;align-items:center}.password-field-control input{width:100%;min-height:var(--target-min);padding-inline-end:calc(var(--target-min) + var(--space-2));font-size:1rem}.password-field-control .icon-button{position:absolute;inset-inline-end:0;min-width:var(--target-min);min-height:var(--target-min)}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.filter-bar{overflow:clip;border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface)}.filter-bar-trigger{display:flex;width:100%;min-height:var(--target-min);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--on-surface);text-align:start}.filter-bar-trigger>span:first-child{display:grid;flex:1;gap:var(--space-1)}.filter-bar-trigger>svg{transition:transform var(--motion-fast) var(--ease-in-out)}.filter-bar[data-expanded] .filter-bar-trigger>svg{transform:rotate(90deg)}.filter-bar-count{display:inline-grid;min-width:1.5rem;min-height:1.5rem;place-items:center;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:.78rem;font-weight:700}.filter-bar-panel{height:auto;overflow:clip;opacity:1;transform:translateY(0);padding:0 var(--space-4) var(--space-4);transition:opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.filter-bar-panel[data-entering],.settings-disclosure-content[data-entering]{opacity:0;transform:translateY(-4px)}.filter-bar-panel[data-exiting],.settings-disclosure-content[data-exiting]{opacity:0;transform:translateY(-4px);transition-duration:var(--motion-fast)}.filter-bar-reset{margin-top:var(--space-3)}@media(max-width:599px){.filter-bar-panel{max-height:min(50dvh,360px);overflow-y:auto;overscroll-behavior:contain}}.settings-disclosure-content{height:auto;overflow:clip;opacity:1;transform:translateY(0);transition:opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.button,.icon-button,.back-link,.bottom-nav a,.sidebar nav a,.patient-row{min-height:var(--touch-target)}.button[aria-busy=true],button[data-pending=true],[role=button][aria-busy=true]{cursor:progress;pointer-events:none}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true],[data-error=true]{border-color:var(--danger)}.filter-chip[aria-pressed=true],.filter-chip[data-selected=true]{background:var(--primary-container);color:var(--on-primary-container)}.empty-state{display:grid;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface)}.empty-state h2,.empty-state p{margin:0}@keyframes app-modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes app-modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes app-modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes app-modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes app-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-modal-fade-out{0%{opacity:1}to{opacity:0}}@media(max-width:599px){.app-modal-overlay{align-items:stretch;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.app-modal-dialog{max-height:inherit}.app-modal .dialog-panel{max-height:calc(100dvh - var(--space-4) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.availability-dialog{width:100%;height:100%}.availability-dialog .dialog-panel{width:100%;height:100%;max-height:none;border-radius:0;padding:var(--space-4) max(var(--space-4),env(safe-area-inset-right)) var(--space-4) max(var(--space-4),env(safe-area-inset-left))}.availability-editor-footer{margin-inline:calc(max(var(--space-4),env(safe-area-inset-left))*-1) calc(max(var(--space-4),env(safe-area-inset-right))*-1);padding-inline:max(var(--space-4),env(safe-area-inset-left)) max(var(--space-4),env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){[data-motion=spatial]{animation:none!important;transform:none!important}[data-motion=feedback]{animation-duration:var(--motion-fast)!important;transition-duration:var(--motion-fast)!important}.app-modal-overlay[data-motion=spatial][data-entering]{animation:app-modal-overlay-in var(--motion-fast) ease-out both!important}.app-modal-overlay[data-motion=spatial][data-exiting]{animation:app-modal-overlay-out var(--motion-fast) ease-out both!important}.app-modal[data-motion=spatial][data-entering]{animation:app-modal-fade-in var(--motion-fast) ease-out both!important}.app-modal[data-motion=spatial][data-exiting]{animation:app-modal-fade-out var(--motion-fast) ease-out both!important}.filter-bar-panel,.settings-disclosure-content{transition:opacity var(--motion-fast) ease-out;transform:none}}.connection-methods,.connection-action,.pairing-code-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-low)}.whatsapp-state-action,.whatsapp-consents{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--outline-variant);border-radius:14px;background:var(--surface-container)}.whatsapp-state-action strong{overflow-wrap:anywhere}.whatsapp-consents{background:var(--surface-low)}.whatsapp-consents .check-row{min-height:var(--touch-target);margin:0}.whatsapp-connection-notice{padding:0 2px;color:var(--muted)}.whatsapp-connection-notice summary{min-height:var(--touch-target);padding-block:10px;cursor:pointer;color:var(--on-surface);font-weight:700}.whatsapp-connection-notice p{margin:0 0 8px;overflow-wrap:anywhere}.connection-methods h3,.connection-methods p,.connection-action p,.pairing-code-panel p{margin:0}.connection-methods h3{font-size:1rem}.connection-methods>div,.connection-action>div,.pairing-code-panel>div{display:flex;flex-wrap:wrap;gap:10px}.connection-card small{display:block;margin-top:4px;color:var(--muted)}.connection-refresh-actions,.disconnect-confirmation{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.disconnect-confirmation span{flex:1 1 100%;color:var(--muted);line-height:1.45}.connection-action label{display:grid;gap:7px;font-weight:700}.whatsapp-number-input{font-variant-numeric:tabular-nums;letter-spacing:.04em}.pairing-code-panel code{display:grid;place-items:center;min-height:48px;padding:8px 14px;border-radius:10px;background:var(--surface);color:var(--on-surface);font-size:1.25rem;font-weight:800;letter-spacing:.12em}@media(max-width:599px){.whatsapp-state-action .button,.whatsapp-connection-notice,.whatsapp-consents{width:100%}.connection-methods>div,.connection-action>div,.pairing-code-panel>div{display:grid;grid-template-columns:1fr}.connection-refresh-actions,.disconnect-confirmation{display:grid;grid-template-columns:1fr}}.button,.icon-button,.segmented button,.date-picker,.back-link,.settings-nav button,.day-strip button,.slot-grid button,.timeline-create,.pending-summary,.pending-counter{min-height:var(--touch-target)}.button:active:not(:disabled),.icon-button:active:not(:disabled),.segmented button:active,.timeline-create:active,.pending-summary:active{background:var(--control-pressed)}.agenda-view-static{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 16px;border-radius:22px;background:var(--surface);color:var(--on-surface);font-weight:700}.pending-counter{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--touch-target);padding:8px 11px;border:1px solid var(--outline-variant);border-radius:22px;background:var(--surface);color:var(--primary);font-weight:700;font-variant-numeric:tabular-nums}.pending-counter:disabled{cursor:default;opacity:.7}.pending-query-error{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid #e2ba4b;border-radius:14px;background:#fff8e6;color:#463600}.pending-query-error .button{margin-left:auto}.agenda-pending-loading .loading{min-height:64px;margin-bottom:16px}.pending-tray-actions{display:flex;flex-wrap:wrap;gap:6px}.pending-tray-header{display:grid;align-content:start;gap:10px}.pending-view-all{justify-self:start;padding-inline:12px;text-align:left}.pending-request-card{padding-left:12px;border-left:3px solid #d0a000}.pending-request-card .button{min-height:var(--touch-target)}.pending-list-dialog{width:min(860px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:auto}.pending-list-dialog .pending-tray-list{margin-top:18px}.timeline-cell{min-height:68px}.timeline-create{width:100%;justify-content:flex-start;padding:8px 10px;border-radius:10px;color:var(--muted)}.timeline-create-marker{display:inline-block;width:7px;height:7px;flex:0 0 auto;border:1.5px solid var(--outline);border-radius:50%}.agenda-day h2,.slot-heading{text-transform:none}.agenda-day h2:first-letter{text-transform:uppercase}.auth-step-note{margin:0;color:var(--muted);line-height:1.5}.auth-step-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.auth-change-account{justify-self:start;padding:4px 0;border:0;background:transparent;color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.week-calendar-grid{min-width:814px;grid-template-columns:58px repeat(7,minmax(108px,1fr))}@media(min-width:600px)and (max-width:1239px){.sidebar{width:88px;padding:18px 8px}.sidebar .brand-mark{justify-content:center;padding:6px}.sidebar nav span,.sidebar-profile div:nth-child(2){display:none}.sidebar nav{margin-top:30px}.sidebar nav a{justify-content:center;padding:13px}.sidebar-profile{grid-template-columns:1fr;justify-items:center;padding:16px 0 0}.sidebar-profile .icon-button{display:none}.main-content{margin-left:88px}.agenda-page{padding-inline:24px}.settings-layout{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:1023px)and (min-width:600px){.agenda-controls{grid-template-columns:1fr;align-items:start}.date-navigation{justify-content:flex-start}}@media(max-width:599px){.agenda-view-actions{gap:8px}.pending-counter{padding-inline:9px}.pending-query-error{align-items:flex-start}.pending-query-error .button{width:100%;margin-left:0}.pending-list-dialog .pending-tray-list{grid-template-columns:1fr}.settings-layout:after{content:none}.auth-step-actions{grid-template-columns:1fr}}.public-link-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-link-actions>.button,.public-link-actions .share-booking>.button{width:100%;justify-content:center}.public-link-actions .share-booking{display:grid;gap:8px}.availability-day.inactive>summary{background:var(--surface-container)}.availability-day-actions,.availability-day-actions label,.reminder-timing{display:flex;align-items:center;gap:8px}.availability-day-actions label{color:var(--muted);font-size:.78rem;font-weight:700}.availability-day-actions input{width:38px;min-height:22px}.availability-period.editing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:end}.availability-period.editing label{display:grid}.profile-photo-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:16px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-container)}.profile-photo-field>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-photo-field .muted{width:100%;margin:2px 0 4px}.profile-photo-preview,.profile-photo-preview img,.profile-photo-preview .avatar{width:72px;height:72px;border-radius:50%}.profile-photo-preview{overflow:hidden;background:var(--surface)}.profile-photo-preview img{display:block;object-fit:cover}.field-error{width:100%;margin:0;color:var(--danger);font-size:.86rem}.communication-group{gap:12px;padding:16px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface)}.communication-group>div>p{margin:4px 0 0}.reminder-timing{justify-content:flex-end;color:var(--muted)}.reminder-timing input{width:66px}.reminder-timing select{width:104px}.reminder-timing small{white-space:nowrap}.message-attention{display:grid;gap:14px;padding:20px;border:1px solid #edcf80;border-radius:18px;background:#fff9e9}.message-attention>div>*{margin:0}.message-attention>div .muted{margin-top:6px}.message-attention ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.message-attention li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px;border:1px solid #f1d99d;border-radius:14px;background:var(--surface)}.message-attention li>div{display:grid;justify-items:start;gap:5px}.message-attention li small,.message-attention li p{margin:0;color:var(--muted)}.message-attention li p{grid-column:1 / -1;line-height:1.45}.message-attention .button{align-self:center}@media(max-width:599px){.public-link-actions{grid-template-columns:1fr}.availability-day>summary{align-items:flex-start}.availability-day-actions label span{max-width:7ch;line-height:1.15}.availability-day-actions{flex-shrink:0}.availability-period.editing{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:8px}.profile-photo-field{grid-template-columns:1fr}.reminder-card{align-items:start}.reminder-timing{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.communication-rules .communication-rule{grid-template-columns:auto minmax(0,1fr);align-items:start}.communication-rules .reminder-timing input,.communication-rules .reminder-timing select{min-height:var(--touch-target)}.message-attention li{grid-template-columns:1fr}.message-attention li p,.message-attention .button{grid-column:auto}.message-attention .button{width:100%}}body{font-family:var(--font-sans);background:var(--surface-low);color:var(--on-surface)}button,input,textarea,select{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none}.eyebrow{color:var(--primary);font-size:.75rem;letter-spacing:.1em}.muted,.optional,label small{color:var(--muted)}.app-shell{background:var(--surface-low)}.sidebar{width:264px;padding:var(--space-6) var(--space-3);background:var(--surface-low);color:var(--on-surface);border-right:1px solid var(--outline-variant)}.brand-mark{color:var(--on-surface)}.brand-mark>span,.brand-mark.large>span{background:var(--primary-container);color:var(--on-primary-container);border-radius:12px}.sidebar nav a,.bottom-nav a{color:var(--muted);font-weight:500}.sidebar nav a{min-height:44px;border-radius:16px}.sidebar nav a:hover,.bottom-nav a:hover,.settings-nav button:hover,.patient-row:hover{background:var(--state-hover)}.sidebar nav a.active,.bottom-nav a.active,.settings-nav button[aria-current=page]{background:var(--primary-container);color:var(--on-primary-container)}.sidebar-profile{border-top-color:var(--outline-variant)}.sidebar-profile small{color:var(--muted)}.avatar{background:var(--primary-container);color:var(--on-primary-container)}.main-content{padding:var(--space-7) clamp(var(--space-5),4vw,var(--space-10)) var(--space-9)}.page-header,.agenda-header,.settings-header{margin-bottom:var(--space-5)}.button{min-height:var(--target-min);border-radius:var(--radius-control);padding:10px 20px;font-weight:500;transition:background-color .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1)}.button.primary{background:var(--primary);color:var(--on-primary)}.button.primary:hover{background:var(--primary-hover);box-shadow:var(--shadow)}.button.secondary{border-color:var(--outline);background:var(--surface);color:var(--primary)}.button.secondary:hover,.button.ghost:hover,.timeline-create:hover,.icon-button:hover{background:var(--state-hover)}.button.ghost{color:var(--primary)}.button.approve{background:var(--primary-container);color:var(--on-primary-container)}.button.danger,.icon-button.danger{color:var(--danger)}.button:active:not(:disabled),.icon-button:active:not(:disabled),.segmented button:active,.timeline-create:active,.pending-summary:active{background:var(--state-pressed)}input,textarea,select{border-color:var(--outline-variant);border-radius:var(--radius-card);background:var(--surface);color:var(--on-surface)}input:hover,textarea:hover,select:hover{border-color:var(--outline)}input:focus,textarea:focus,select:focus{border-color:var(--primary)}.notice{border-radius:var(--radius-card)}.notice.info{background:#e8f0fe;color:var(--on-primary-container)}.notice.success{background:var(--success-container);color:#0d5226}.notice.warning,.pending-tray,.pending-query-error{background:var(--warning-container);border-color:#f9ab00;color:#4d3400}.notice.error{background:var(--danger-container);color:#7c1014}.agenda-controls,.settings-panel,.calendar-surface,.agenda-list-surface,.patient-list,.patient-detail,.booking-card,.connection-methods,.connection-action,.pairing-code-panel{border-color:var(--outline-variant);border-radius:var(--radius-card);box-shadow:none}.agenda-controls,.agenda-view-static,.segmented,.date-picker,.day-timeline-heading,.week-corner,.week-day-heading,.settings-panel,.availability-summary,.detail-list div,.private-note,.copy-rules,.connection-methods,.connection-action,.pairing-code-panel{background:var(--surface-container)}.calendar-surface,.agenda-list-surface,.settings-panel,.patient-list,.patient-detail,.booking-card,.dialog-panel{background:var(--surface)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--on-surface);box-shadow:var(--shadow)}.agenda-quiet-status svg,.copy-rules>div svg,.summary-icon,.empty-day button{color:var(--primary)}.summary-icon,.connection-icon.connected{background:var(--primary-container);color:var(--on-primary-container)}.calendar-event{border-left-color:var(--primary);background:#e8f0fe;color:var(--on-primary-container)}.calendar-event small{color:var(--muted)}.calendar-event.pending_approval,.status-chip.pending{background:var(--warning-container);color:#5f4100}.calendar-event.blocked{border-left-color:var(--outline);background:var(--surface-container);color:var(--muted)}.status-chip.confirmed{background:var(--success-container);color:#0d5226}.free-slot:hover,.free-slot:focus-visible,.timeline-create:focus-visible{background:var(--state-focus)}.pending-request-card,.pending-tray article{border-left-color:#f9ab00}.settings-layout{grid-template-columns:232px minmax(0,780px);gap:var(--space-6)}.settings-mobile-selector{display:none}.settings-nav{gap:var(--space-1)}.settings-nav button{min-height:44px;border-radius:16px;color:var(--muted);font-weight:500}.settings-panel{padding:var(--space-6)}.settings-stack,.settings-content{gap:var(--space-5)}.patients-page{align-content:start;gap:var(--space-4)}.patients-page .page-header{margin-bottom:0}.patient-search{gap:var(--space-2);max-width:44rem}.patient-search>div{gap:var(--space-2)}.patient-list,.patient-detail{padding:var(--space-4)}.patient-row{border-radius:var(--radius-card)}.public-top{background:var(--surface-low);border-bottom-color:var(--outline-variant)}.booking-card{box-shadow:var(--shadow)}.booking-step{border-color:var(--outline-variant)}.slot-grid button{border-radius:var(--radius-card)}.slot-grid button:hover{background:var(--state-hover)}@media(min-width:600px)and (max-width:1239px){.sidebar{width:88px;padding:18px 8px}}@media(max-width:599px){body{overflow-x:clip}.fab{right:var(--space-4);bottom:calc(88px + env(safe-area-inset-bottom));background:var(--primary);border-radius:16px;box-shadow:var(--shadow)}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.settings-layout:after{content:none}.settings-mobile-selector{display:block}.settings-mobile-selector label{gap:var(--space-2)}.settings-mobile-selector select{min-height:48px;border-radius:var(--radius-control);background:var(--surface)}.settings-nav{display:none}.settings-panel{padding:var(--space-4);border-radius:var(--radius-card)}.patients-layout{gap:var(--space-4)}.patient-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.patient-search .button{padding-inline:var(--space-4)}.booking-card{width:min(100% - var(--space-4),720px);margin:var(--space-4) auto;border-radius:var(--radius-card)}.booking-step{padding:var(--space-5) var(--space-4)}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:599px){.compact-header{z-index:var(--z-header);height:var(--mobile-header-height)}.bottom-nav{z-index:var(--z-header);height:var(--bottom-nav-height);min-height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom)}.main-content{padding-bottom:calc(var(--bottom-nav-height) + var(--space-6) + env(safe-area-inset-bottom))}.bottom-nav a{min-height:var(--touch-target)}.mobile-menu-page header h1,.mobile-settings-detail h1{font-size:clamp(1.8rem,3vw,2.35rem)}}@media(hover:hover)and (pointer:fine){.button:hover,.icon-button:hover,.filter-chip:hover,.filter-bar-trigger:hover,.settings-disclosure-trigger:hover{transition:background-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}}.button,.icon-button,.filter-chip,.filter-bar-trigger,.settings-disclosure-trigger,.pending-summary,.timeline-create,.free-slot,.month-day,.booking-slot-grid button,.public-calendar-header button{transition:transform var(--motion-fast) var(--ease-out)}html,body,#root{min-height:100%;background:var(--surface-low)}.availability-day{min-width:0;overflow:hidden}.availability-day>summary{display:grid;grid-template-columns:minmax(0,1fr) auto}.availability-day>summary>span:first-child,.availability-day-actions,.availability-day-actions label{min-width:0}.availability-day-actions{justify-content:flex-end}.availability-day-actions label{white-space:normal}.availability-day-actions label span{overflow-wrap:anywhere}.availability-dialog .dialog-panel{position:relative}.dialog-floating-notice{position:fixed;top:max(12px,env(safe-area-inset-top));right:16px;left:16px;z-index:80;width:min(680px,calc(100vw - 32px));margin:0 auto;box-shadow:0 14px 32px #1f181633}.settings-disclosure{overflow:clip;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface)}.settings-disclosure-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:62px;padding:14px 16px;cursor:pointer;border:0;background:transparent;color:inherit;text-align:left}.settings-disclosure-trigger>span{display:grid;gap:3px;min-width:0}.settings-disclosure-trigger small{color:var(--muted);line-height:1.35}.settings-disclosure-trigger>svg{transition:transform var(--motion-fast) var(--ease-in-out)}.settings-disclosure[data-expanded=true] .settings-disclosure-trigger{border-bottom:1px solid var(--outline-variant)}.settings-disclosure[data-expanded=true] .settings-disclosure-trigger>svg{transform:rotate(90deg)}.settings-disclosure-content{padding:16px}.settings-disclosure-content>.settings-form,.settings-disclosure-content>.communication-group{gap:14px}@media(max-width:599px){.app-shell{display:block;min-height:100dvh;height:auto;overflow:visible;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.compact-header{position:sticky;top:0;z-index:30;padding-inline:max(var(--space-3),env(safe-area-inset-left)) max(var(--space-3),env(safe-area-inset-right))}.main-content{min-height:calc(100dvh - 64px);height:auto;overflow:visible;overscroll-behavior:auto;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));block-size:calc(72px + env(safe-area-inset-bottom));padding:6px max(var(--space-2),env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));background:var(--surface-low);border-top:1px solid var(--outline-variant)}.bottom-nav a{block-size:56px;min-height:44px}.availability-day>summary{align-items:center}.availability-day-actions label span{display:none}.availability-day-actions label:before{content:"Atender";color:var(--muted);font-size:.74rem;font-weight:700}.availability-period.editing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:8px}.availability-period.editing label,.availability-period.editing input{min-width:0}.availability-period.editing input{width:100%}.availability-period.editing .icon-button{min-width:40px;width:40px}.dialog-floating-notice{top:max(8px,env(safe-area-inset-top))}.settings-disclosure-trigger{min-height:58px;padding:12px 14px}.settings-disclosure-content{padding:14px}}.sidebar{background:#2a2238;border-right:0;color:#f9f7ff}.sidebar .brand-mark,.sidebar-profile small,.sidebar nav a{color:#e9e2f2}.sidebar .brand-mark>span,.sidebar .brand-mark.large>span{background:#ede9fe;color:#4c1d95}.sidebar nav a:hover{background:#ffffff1a}.sidebar nav a.active{background:#ede9fe;color:#3b176f}.sidebar-profile{border-top-color:#ffffff24}.sidebar-profile .avatar{background:#d8b4fe;color:#3b0764}.page-header h1,.agenda-header h1{font-weight:700;letter-spacing:-.035em}.button.primary{box-shadow:0 6px 14px #5b21b62e}.button.primary:hover{box-shadow:0 8px 18px #5b21b63d}.today-page{max-width:1160px}.today-header{align-items:end}.today-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.today-summary article{display:grid;gap:3px;min-height:132px;padding:var(--space-5);border:1px solid var(--outline-variant);border-radius:18px;background:var(--surface)}.today-summary span,.today-summary small{color:var(--muted)}.today-summary span{font-size:.86rem;font-weight:600}.today-summary strong{margin-top:auto;color:var(--on-surface);font-size:2rem;letter-spacing:-.05em}.today-summary .needs-attention{border-color:#e6c557;background:#fffaf0}.today-timeline{overflow:hidden;border:1px solid var(--outline-variant);border-radius:20px;background:var(--surface)}.today-timeline>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--outline-variant);background:var(--surface-container)}.today-timeline h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}.today-timeline>header>span{color:var(--muted);font-size:.84rem}.today-timeline ol{margin:0;padding:0;list-style:none}.today-entry{display:grid;grid-template-columns:72px 48px minmax(0,1fr);gap:var(--space-3);align-items:stretch;padding:0 var(--space-5)}.today-entry>time{padding-top:var(--space-5);color:var(--muted);font-size:.85rem;font-weight:600;text-align:right}.today-entry-marker{position:relative;display:grid;place-items:start center;padding-top:var(--space-4)}.today-entry-marker:after{position:absolute;top:56px;bottom:0;width:1px;background:var(--outline-variant);content:""}.today-entry:last-child .today-entry-marker:after{display:none}.today-entry-marker .avatar,.today-entry-marker>span{z-index:1;display:grid;place-items:center;width:36px;height:36px;border:3px solid var(--surface);font-size:.7rem}.today-entry-marker>span{border-radius:50%;background:var(--surface-container);color:var(--muted)}.today-entry-marker>span svg{width:16px;height:16px}.today-entry article,.today-entry-card{min-width:0;padding:var(--space-4) 0;border-bottom:1px solid var(--outline-variant)}.today-entry-card{width:100%;border-inline:0;border-top:0;border-radius:0;background:transparent;color:var(--on-surface);text-align:left}.today-entry-card:hover{background:var(--state-hover)}.today-entry:last-child article,.today-entry:last-child .today-entry-card{border-bottom:0}.today-entry-title{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.today-entry h3,.today-entry p{margin:0}.today-entry h3{font-size:1rem}.today-entry p,.today-entry small{color:var(--muted);font-size:.84rem}.today-entry p{margin-top:3px}.today-entry small{display:block;margin-top:var(--space-2)}.today-entry.blocked h3{color:var(--muted)}.today-entry .status-chip{flex:0 0 auto}.today-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-6)}.today-empty>svg{width:28px;height:28px;color:var(--primary)}.today-empty h3,.today-empty p{margin:0}.today-empty p{margin-top:4px;color:var(--muted)}.today-slot-timeline ol{position:relative;margin:0;padding:0;list-style:none}.today-slot{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);min-height:42px;border-bottom:1px solid var(--outline-variant)}.today-slot>time{padding:11px var(--space-3);color:var(--muted);font-size:.78rem;font-weight:700;text-align:right}.today-slot>button,.today-slot>span:not(.now-line){display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:5px var(--space-3);border:0;background:transparent;color:var(--on-surface);text-align:left}.today-slot>button{border-left:3px solid var(--primary);background:var(--primary-container)}.today-slot>button .avatar{flex:0 0 auto;width:28px;height:28px;font-size:.65rem}.today-slot>button>span:nth-child(2){display:grid;min-width:0}.today-slot>button strong,.today-slot>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-slot>button small{color:var(--muted);font-size:.74rem}.today-slot>button .status-chip{margin-left:auto;font-size:.65rem}.today-slot .slot-blocked{color:var(--muted);background:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(87,75,104,.06) 5px,rgba(87,75,104,.06) 10px)}.today-slot .slot-blocked svg{width:15px}.today-slot .slot-free{border-left:1px solid var(--outline-variant)}.now-line{position:absolute;z-index:2;left:0;right:0;top:-8px;color:var(--primary);font-size:.68rem;font-weight:800;pointer-events:none}.now-line:after{display:inline-block;width:calc(100% - 82px);height:1px;margin-left:8px;vertical-align:middle;background:currentColor;content:""}.today-skeleton{display:grid;gap:var(--space-6)}.skeleton-stack{display:grid;gap:var(--space-2)}.skeleton-block{display:block;border-radius:999px;background:linear-gradient(100deg,var(--surface-container) 20%,var(--surface-high) 40%,var(--surface-container) 60%);background-size:200% 100%;animation:uiux-skeleton-shimmer 1.2s var(--ease-in-out) infinite}.skeleton-eyebrow{width:7rem;height:.7rem}.skeleton-title{width:min(16rem,60vw);height:2.4rem;border-radius:12px}.skeleton-copy{width:12rem;height:.9rem}.skeleton-action{width:9rem;height:44px;border-radius:999px}.skeleton-heading{width:12rem;height:1.5rem;border-radius:8px}.skeleton-time{width:2.25rem;height:.8rem}.skeleton-slot{width:min(22rem,70%);height:2rem;border-radius:8px}@keyframes uiux-skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.public-session-card{display:grid;gap:var(--space-5)}.public-link-state,.booking-success{text-align:center}.public-link-state>svg{width:38px;height:38px;color:#a23b3b}.public-management-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.secure-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:700}.secure-label svg{width:14px}.onboarding-page{min-height:100vh;padding:28px;background:var(--surface-low)}.onboarding-page>header{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto 32px;color:var(--muted);font-size:.85rem}.onboarding-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:48px;max-width:980px;margin:0 auto}.onboarding-layout aside h1{max-width:15ch;margin-top:8px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em}.onboarding-layout aside ol{display:grid;gap:12px;margin:32px 0;padding:0;list-style:none}.onboarding-layout aside li{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600}.onboarding-layout aside li>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--outline);border-radius:50%;font-size:.76rem}.onboarding-layout aside li.active{color:var(--primary)}.onboarding-layout aside li.done>span{border-color:var(--primary);background:var(--primary);color:#fff}.onboarding-layout aside li svg{width:14px}.onboarding-card{padding:32px;border:1px solid var(--outline-variant);border-radius:24px;background:var(--surface);box-shadow:0 12px 30px #2f23420f}.onboarding-card h2{margin:4px 0 20px;letter-spacing:-.03em}.onboarding-finish>svg{width:42px;height:42px;color:var(--primary)}.onboarding-finish ul{display:grid;gap:8px;padding:0;list-style:none}.onboarding-finish li:before{margin-right:8px;content:"○"}.onboarding-finish li.done:before{color:var(--primary);content:"✓"}.agenda-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface)}.filter-bar .agenda-filters{margin:0;padding:0;border:0;border-radius:0;background:transparent}.filter-bar-chips,.agenda-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.filter-chip{display:inline-flex;min-height:36px;max-width:100%;align-items:center;gap:var(--space-2);padding:6px 10px;border:1px solid var(--outline-variant);border-radius:999px;background:var(--surface);color:var(--on-surface);font-size:.8rem;overflow-wrap:anywhere;text-align:start}.filter-chip svg{width:15px;height:15px}.agenda-filters label{gap:5px;color:var(--muted);font-size:.76rem;font-weight:600}.agenda-filters input,.agenda-filters select{min-height:42px;padding-block:8px}.patient-filter{width:min(100%,280px);margin-bottom:var(--space-4);color:var(--muted);font-size:.76rem;font-weight:600}.patient-filter select{min-height:42px;margin-top:5px;padding-block:8px}.patient-list{background:var(--surface)}.patient-row{border-bottom:1px solid var(--outline-variant);border-radius:0}.patient-row:last-child{border-bottom:0}.patient-row.selected{background:var(--primary-container)}.patient-detail{background:var(--surface)}.patient-detail.no-patients{display:none}.patients-page .page-header-actions{align-items:start}.patients-page .filter-bar{margin:0}.patient-next-session{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-container)}.patient-next-session h3{margin:0;font-size:1rem}.patient-next-session p:not(.eyebrow){margin:var(--space-1) 0 0;color:var(--muted)}.patient-next-session.empty{display:block;background:var(--surface-low)}.patient-next-session .status-chip{flex:0 0 auto}.patient-contextual-action .button{width:100%;justify-content:center}.patient-contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.patient-contact-actions .button{justify-content:center;min-width:0}.patient-session-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.patient-session-summary span{display:grid;gap:2px;padding:var(--space-3);border-radius:12px;background:var(--surface-container);color:var(--muted);font-size:.78rem}.patient-session-summary strong{color:var(--on-surface);font-size:1.05rem}.patient-history{display:grid;gap:var(--space-2)}.patient-history h3{margin:0;font-size:.95rem}.patient-history-trigger{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface);color:var(--on-surface);font:inherit;font-weight:700;text-align:left}.patient-history-trigger svg{width:18px;transition:transform .16s ease}.patient-history-trigger[aria-expanded=true] svg{transform:rotate(90deg)}.patient-history-panel{display:grid;gap:var(--space-2)}.patient-history-panel>p{margin:0;padding:var(--space-3);border-radius:12px;background:var(--surface-low)}.patient-history ul{display:grid;gap:1px;margin:0;padding:0;border:1px solid var(--outline-variant);border-radius:12px;list-style:none}.patient-history li{display:grid;grid-template-columns:6.6rem minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);background:var(--surface);font-size:.82rem}.patient-history li+li{border-top:1px solid var(--outline-variant)}.patient-history time{color:var(--muted)}.patient-history strong{font-size:.74rem;font-weight:600;text-align:right}@media(max-width:420px){.patient-next-session{display:grid}.patient-contact-actions,.patient-session-summary{grid-template-columns:1fr}.patient-history li{grid-template-columns:1fr;gap:2px}.patient-history strong{text-align:left}}@media(max-width:599px){.agenda-page{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--mobile-header-height) + var(--space-2))}.agenda-controls{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--mobile-header-height));z-index:var(--z-sticky);background:var(--surface-container)}.patients-layout:not(.has-selection) .patient-detail{display:none}.patients-layout.has-selection .patient-list{display:none}.patients-layout.has-selection .patient-detail{display:grid;min-width:0;padding-bottom:calc(var(--space-5) + var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.patients-page .page-header-actions .button{width:100%}}@media(max-width:359px){.agenda-view-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:var(--space-1)}.agenda-view-actions .segmented{width:100%;min-width:0}.agenda-view-actions .segmented button{min-width:0;padding-inline:var(--space-1);font-size:.84rem}.date-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px minmax(0,1fr);gap:var(--space-1)}.date-navigation .button{min-width:0;padding-inline:var(--space-2)}.date-navigation .date-picker{width:100%;min-width:0;max-width:none}}.settings-page{max-width:1320px}.settings-header-actions{gap:var(--space-3)}.settings-nav{align-self:start;padding:var(--space-2);border:1px solid var(--outline-variant);border-radius:18px;background:var(--surface)}.settings-nav button{text-align:left}.settings-content{min-width:0}.settings-panel,.service-settings{border-radius:18px}.communication-group{display:grid;gap:var(--space-2)}.communication-group h3{margin:0;font-size:1rem}.coming-soon-group{padding:var(--space-4);border:1px dashed var(--outline);border-radius:14px;background:var(--surface-container)}.coming-soon-group h3{display:flex;align-items:center;gap:var(--space-2)}.coming-soon-group em{padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.68rem;font-style:normal;font-weight:700}.coming-soon-group p{margin:var(--space-2) 0 0}.connection-methods,.connection-action,.pairing-code-panel{border-radius:18px;background:var(--surface)}.connection-card{border-color:var(--outline-variant);background:var(--surface-container)}.pairing-code-panel code{border:1px dashed var(--outline);background:var(--surface-container);color:var(--on-primary-container)}.auth-page{background:var(--surface-low)}.auth-panel{max-width:620px}.auth-panel .brand-mark{color:var(--on-surface)}.auth-panel .brand-mark>span{background:var(--primary-container);color:var(--on-primary-container)}.auth-visual{background:#2a2238}.visual-card{border:1px solid rgba(255,255,255,.18);background:#f3edff;color:#2e1065;box-shadow:none}.auth-page.simple .auth-panel{min-height:100vh;display:grid;align-content:center}.public-page{background:var(--surface-low)}.public-top{background:#fffaffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-top .brand-mark>span{background:var(--primary-container);color:var(--on-primary-container)}.booking-card{max-width:740px;border-radius:24px;box-shadow:0 8px 20px #2f23420f}.professional-summary{background:#f5efff}.professional-summary .avatar{background:#d8b4fe;color:#3b0764}.stepper{background:var(--surface)}.stepper li.active{color:var(--primary)}.choice-list button,.slot-grid button{border-color:var(--outline-variant)}.choice-list button:hover,.slot-grid button:hover{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.selection-summary{background:var(--primary-container)}.public-footer{color:var(--muted)}.mobile-menu-page,.mobile-settings-detail{display:none}.availability-weekdays{display:grid;gap:10px}.availability-day{border:1px solid var(--outline-variant);border-radius:14px;background:var(--surface)}.availability-day>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px;cursor:pointer;list-style:none}.availability-day>summary::-webkit-details-marker{display:none}.availability-day>summary>span{display:grid;gap:2px}.availability-day summary small,.availability-empty{color:var(--muted)}.availability-day[open]>summary svg{transform:rotate(90deg)}.availability-day-content{display:grid;gap:10px;padding:14px;border-top:1px solid var(--outline-variant)}.availability-period{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}.availability-period>span{font-weight:700}.availability-period>div{display:flex;gap:4px}.availability-period.editing{align-items:end}.availability-period.editing label{flex:1;gap:4px;color:var(--muted);font-size:.74rem;font-weight:700}.availability-period.editing input{min-height:42px}.availability-empty{margin:2px 0;font-size:.88rem}.professional-contacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.professional-contacts a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:10px;background:var(--surface);color:var(--primary);font-size:.84rem;font-weight:700;text-decoration:none}.professional-contacts a:hover{background:var(--primary-container)}.professional-contacts svg{width:15px;height:15px}.month-calendar{overflow:hidden;border:1px solid var(--outline-variant);border-radius:20px;background:var(--surface)}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{border-bottom:1px solid var(--outline-variant);background:var(--surface-container)}.month-weekdays span{padding:var(--space-3);color:var(--muted);font-size:.75rem;font-weight:700;text-align:center}.month-day,.month-empty{position:relative;display:grid;align-content:space-between;min-height:116px;border:0;border-right:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant);padding:var(--space-3);background:transparent;color:var(--on-surface);text-align:left}.month-day:nth-child(7n){border-right:0}.month-day:hover{background:var(--state-hover)}.month-day strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:.9rem}.month-day.today strong{background:var(--primary);color:var(--on-primary)}.month-day>span{align-self:end;color:var(--muted);font-size:.76rem}.month-day>i{position:absolute;right:var(--space-3);bottom:var(--space-3);width:7px;height:7px;border-radius:50%;background:#d5a400}@media(max-width:599px){.compact-header{background:var(--surface)}.compact-header .brand-mark>span{background:var(--primary-container);color:var(--on-primary-container)}.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface)}.bottom-nav a{font-size:.67rem}.bottom-nav a.active{color:var(--on-primary-container)}.bottom-nav a.active svg{padding-inline:12px;color:var(--on-primary-container)}.today-header{align-items:stretch}.today-header .button{width:100%}.today-summary{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.today-summary article{min-height:94px;padding:var(--space-4)}.today-summary strong{margin-top:0}.today-timeline>header{align-items:start;padding:var(--space-4)}.today-entry{grid-template-columns:42px 36px minmax(0,1fr);gap:var(--space-2);padding-inline:var(--space-3)}.today-entry>time{padding-top:var(--space-4);font-size:.76rem}.today-entry-marker .avatar,.today-entry-marker>span{width:32px;height:32px;border-width:2px}.today-entry-marker:after{top:48px}.today-entry-title{display:grid;gap:var(--space-2)}.today-entry .status-chip{width:max-content}.today-empty{grid-template-columns:auto minmax(0,1fr);padding:var(--space-5)}.today-empty .button{grid-column:2;width:max-content}.today-slot{grid-template-columns:52px minmax(0,1fr)}.today-slot>time{padding-inline:7px}.today-slot>button .status-chip{display:none}.now-line:after{width:calc(100% - 62px)}.onboarding-page{padding:18px}.onboarding-layout{grid-template-columns:1fr;gap:14px}.onboarding-layout aside h1,.onboarding-layout aside ol{display:none}.onboarding-card{padding:22px;border-radius:18px}.mobile-menu-page{display:grid;align-content:start;gap:26px;padding-top:30px}.mobile-menu-page header h1,.mobile-settings-detail h1{margin:0;font-size:clamp(1.8rem,3vw,2.35rem);letter-spacing:-.05em}.mobile-menu-page header .muted{max-width:30ch;font-size:1rem}.mobile-menu-list{display:grid;gap:10px}.mobile-menu-list>button{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;min-height:86px;padding:15px;border:1px solid var(--outline-variant);border-radius:18px;background:var(--surface);color:var(--on-surface);text-align:left}.mobile-menu-list>button:hover,.mobile-menu-list>button:focus-visible{border-color:var(--primary);background:var(--primary-container)}.mobile-menu-list>button.coming-soon{cursor:not-allowed;opacity:.68}.mobile-menu-list>button.coming-soon:hover{border-color:var(--outline-variant);background:var(--surface)}.mobile-menu-list>button.logout-action{border-color:#f0c3c3;color:#8b2727}.mobile-menu-list>button.logout-action .mobile-menu-icon{background:#fff0f0;color:#8b2727}.mobile-menu-list>button>svg{color:var(--muted)}.mobile-menu-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--primary-container);color:var(--on-primary-container)}.mobile-menu-icon svg{width:22px;height:22px}.mobile-menu-list>button>span:nth-child(2){display:grid;gap:3px;min-width:0}.mobile-menu-list strong{font-size:1rem}.mobile-menu-list small,.mobile-public-link small{color:var(--muted);font-size:.82rem;line-height:1.35}.mobile-menu-list strong em{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--surface-container);color:var(--muted);font-size:.68rem;font-style:normal;font-weight:700;vertical-align:middle}.mobile-public-link{display:grid;gap:16px;padding:18px;border-radius:18px;background:var(--surface-container)}.mobile-public-link>div:first-child{display:grid;gap:3px}.mobile-public-link>div:last-child{display:flex;flex-wrap:wrap;gap:10px}.mobile-public-link .share-booking{display:contents}.mobile-public-link .share-booking>span,.mobile-public-link .share-booking>input{flex-basis:100%}.mobile-settings-detail{display:grid;align-content:start;gap:20px;padding-top:18px}.mobile-settings-detail>header{display:grid;gap:4px}.mobile-settings-detail .back-link{justify-self:start;min-height:44px;padding:0;border:0;background:transparent;color:var(--primary);font-weight:700}.mobile-settings-detail .settings-content{display:grid;gap:18px}.agenda-filters{grid-template-columns:1fr;padding:var(--space-3)}.patient-filter{width:100%}.settings-nav{border:0;border-radius:0;padding:0;background:transparent}.auth-panel{max-width:none}.booking-card{margin:var(--space-4) auto;border-radius:18px;box-shadow:none}.month-calendar{border-radius:16px}.month-weekdays span{padding:var(--space-2) 2px;font-size:.66rem}.month-day,.month-empty{min-height:74px;padding:var(--space-2)}.month-day strong{width:26px;height:26px;font-size:.8rem}.month-day>span{font-size:.61rem}.month-day>i{right:var(--space-2);bottom:var(--space-2);width:5px;height:5px}}.onboarding-progress{height:5px;margin:-32px -32px 26px;overflow:hidden;border-radius:24px 24px 0 0;background:var(--surface-container)}.onboarding-progress span{display:block;width:100%;height:100%;transform-origin:left center;background:var(--primary);transition:transform var(--motion-base) var(--ease-out)}.onboarding-card .stack-form>.muted{margin:-8px 0 4px}.onboarding-optional{border-top:1px solid var(--outline-variant);padding-top:12px}.onboarding-optional>summary{width:fit-content;color:var(--primary);cursor:pointer;font-weight:700}.onboarding-optional>label{margin-top:14px}.onboarding-optional .check-row{display:flex}.onboarding-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.onboarding-actions .button.primary{flex:1}@media(max-width:599px){.onboarding-progress{margin:-22px -22px 22px}.onboarding-actions{flex-wrap:wrap}.onboarding-actions .button.primary{min-width:190px}}.settings-surface{display:grid;gap:var(--space-5);min-width:0;border:1px solid var(--outline-variant);border-radius:18px;padding:var(--space-6);background:var(--surface)}.settings-surface__header,.settings-surface__content,.settings-section-card,.settings-section-card__header,.settings-section-card__content{min-width:0}.settings-surface__header,.settings-section-card__header{display:grid;gap:var(--space-2)}.settings-surface__header>*,.settings-section-card__header>*{min-width:0;margin:0;overflow-wrap:anywhere}.settings-surface__content{display:grid;gap:var(--space-5)}.settings-surface__content>*{min-width:0;max-width:100%}.settings-surface__content .notice{flex-wrap:wrap}.settings-surface__content .notice>*{min-width:0;max-width:100%}.settings-surface__content .notice>details{flex:1 1 100%}.settings-section-card{display:grid;gap:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-low)}.settings-section-card__content{display:grid;gap:var(--space-4)}.settings-section-card__content>*{min-width:0;max-width:100%}.settings-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);min-width:0}.settings-action-row .button{min-height:var(--touch-target)}.communication-rules{display:grid;gap:0;min-width:0}.communication-rules .settings-disclosure{overflow:visible;border:0;border-radius:0;background:transparent}.communication-rules .settings-disclosure-trigger{padding-inline:0}.communication-rules .settings-disclosure-content{padding:var(--space-3) 0 0}.communication-rules .communication-group{gap:0;padding:0;border:0;background:transparent}.communication-rules .communication-rule{grid-template-columns:auto minmax(0,1fr) auto;min-width:0;border:0;border-bottom:1px solid var(--outline-variant);border-radius:0;padding:var(--space-3) 0;background:transparent}.communication-rules .communication-rule:last-child{border-bottom:0}.communication-rule-copy{min-width:0}.communication-rule-copy strong,.communication-rule-copy small{overflow-wrap:anywhere}.communication-rules-divider{height:1px;margin:var(--space-3) 0;background:var(--outline-variant)}@media(max-width:599px){.settings-surface{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-card)}.settings-surface__content{gap:var(--space-4)}.settings-section-card{padding:var(--space-4)}.settings-section-card__content>.button.fit,.settings-section-card__content>.settings-action-row{width:100%}.settings-action-row{display:grid;grid-template-columns:minmax(0,1fr)}.settings-action-row .button{width:100%}}.payment-settings-surface,.payment-connection-card,.payment-service-row,.payment-policy-toggle{min-width:0}.payment-connection-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-low)}.payment-connection-card.connected{border-color:color-mix(in srgb,var(--success) 32%,var(--outline-variant))}.payment-connection-card strong,.payment-connection-card p,.payment-service-row strong,.payment-service-row small,.payment-policy-toggle strong,.payment-policy-toggle small,.payment-methods small,.payment-change-notice p{overflow-wrap:anywhere}.payment-connection-card p,.payment-service-row small,.payment-policy-toggle small,.payment-methods small,.payment-change-notice p{display:block;margin:var(--space-1) 0 0}.payment-connection-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;color:var(--primary);background:var(--primary-container)}.payment-connection-icon svg{width:1.25rem;height:1.25rem}.payment-service-list{display:grid;gap:var(--space-3)}.payment-service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,18rem);gap:var(--space-4);align-items:end;padding-block:var(--space-3);border-bottom:1px solid var(--outline-variant)}.payment-service-row:last-child{border-bottom:0;padding-bottom:0}.payment-price-editor{display:grid;gap:var(--space-2);min-width:0}.payment-price-editor>label{margin:0;font-size:var(--font-size-sm);font-weight:650}.payment-price-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--outline);border-radius:10px;background:var(--surface)}.payment-price-input span{padding-inline:.75rem;color:var(--on-surface-variant);font-size:var(--font-size-sm)}.payment-price-input input{min-width:0;border:0;border-left:1px solid var(--outline-variant);border-radius:0}.payment-policy-form{gap:var(--space-4)}.payment-policy-toggle{align-items:start;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-low)}.payment-policy-toggle input{margin-top:.2rem}.payment-methods{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:12px}.payment-methods legend{padding-inline:.25rem;font-weight:650}.payment-methods .check-row{grid-template-columns:auto auto minmax(0,1fr)}.payment-window-field{max-width:20rem}.payment-window-field small{display:block;margin-top:var(--space-1);color:var(--on-surface-variant)}.payment-provider-notice{align-items:start}.payment-change-notice{min-width:0;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-low)}.payment-change-notice summary{cursor:pointer;font-weight:650}.payment-change-notice p{margin-bottom:0}.payment-checkout{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface)}.payment-checkout-methods,.payment-card-form{display:grid;gap:var(--space-3)}.payment-method-choice{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:var(--space-2);align-items:start;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:12px}.payment-method-choice small,.payment-card-form small{display:block;margin-top:var(--space-1);color:var(--on-surface-variant)}.payment-buyer-fields,.payment-3ds-fields{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:var(--radius-card)}.payment-3ds-fields>.muted{margin:0}.payment-installment-summary{margin:0;color:var(--on-surface-variant)}.payment-pix-details{display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-low)}.payment-pix-details h2,.payment-pix-details p{margin:0}.payment-pix-qr{width:min(100%,240px);aspect-ratio:1;justify-self:center;object-fit:contain;border-radius:12px;background:#fff}.payment-pix-details input{width:100%;min-width:0;margin-top:var(--space-1);padding:var(--space-2);overflow-wrap:anywhere;font:inherit}.payment-timeline{display:grid;gap:var(--space-2);margin:var(--space-4) 0;padding:0;list-style:none}.payment-timeline-item{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-3);align-items:start;min-width:0;padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-low)}.payment-timeline-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;color:var(--primary);background:var(--primary-container)}.payment-timeline-icon svg{width:1rem;height:1rem}.payment-timeline-item>div{display:grid;gap:.2rem;min-width:0}.payment-timeline-item small,.payment-timeline-item a{overflow-wrap:anywhere;color:var(--on-surface-variant)}.payment-timeline-item a{width:fit-content;font-size:var(--font-size-sm);font-weight:650}.payment-timeline-refund .payment-timeline-icon{color:var(--success);background:color-mix(in srgb,var(--success) 14%,var(--surface))}.payment-timeline-dispute .payment-timeline-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,var(--surface))}@media(max-width:599px){.payment-service-row{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.payment-price-editor,.payment-price-editor .button{width:100%}}.template-editor{display:grid;gap:var(--space-5);min-width:0;border:1px solid var(--outline-variant);border-radius:18px;background:var(--surface)}.template-editor__header,.template-editor__detail,.template-editor__master,.template-editor__master-group{min-width:0}.template-editor__header{display:grid;gap:var(--space-2)}.template-editor__header>*{min-width:0;margin-block:0}.template-editor__workspace{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:var(--space-5);align-items:start;min-width:0}.template-editor__master{display:grid;gap:var(--space-5)}.template-editor__master-group{display:grid;gap:var(--space-2)}.template-editor__master-heading{display:grid;gap:var(--space-1)}.template-editor__master-heading h3,.template-editor__master-heading p{min-width:0;margin:0}.template-editor__master-heading h3{font-size:.88rem}.template-editor__master-heading p,.template-editor__master-item span,.template-editor__detail-header .muted{color:var(--muted);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.template-editor__master-list{display:grid;gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none}.template-editor__master-item{display:grid;gap:var(--space-1);width:100%;min-width:0;min-height:var(--touch-target);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-low);color:var(--on-surface);text-align:left}.template-editor__master-item:hover{border-color:var(--primary);background:var(--state-hover)}.template-editor__master-item.is-selected,.template-editor__master-item[aria-current=true]{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.template-editor__master-item.is-selected span,.template-editor__master-item[aria-current=true] span{color:var(--on-primary-container)}.template-editor__master-item:focus-visible,.template-editor__mobile-picker select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.template-editor__mobile-picker{display:none;gap:var(--space-2);min-width:0}.template-editor__mobile-picker select{width:100%;min-width:0}.template-editor__detail{display:grid;gap:var(--space-5)}.template-editor__detail-header{display:grid;gap:var(--space-2);min-width:0;padding-bottom:var(--space-4);border-bottom:1px solid var(--outline-variant)}.template-editor__detail-header>*{min-width:0;margin:0}.template-editor__detail-header h3{overflow-wrap:anywhere}.template-editor__version{color:var(--muted);font-size:.82rem;font-weight:700}.template-editor__detail .template-edit-panel{display:grid;gap:var(--space-4);min-width:0;padding:0;background:transparent}.template-editor__field{display:grid;gap:var(--space-2);min-width:0}.template-editor__detail .template-editor__field>label,.template-editor__detail .template-editor__preview,.template-editor__detail .template-variable-combobox,.template-editor__detail .template-variable-empty{min-width:0}.template-variable-combobox{display:flex;width:100%;min-width:0;align-items:stretch;gap:var(--space-2)}.template-variable-combobox .react-aria-Input{min-width:0;flex:1}.template-variable-trigger{display:grid;width:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);place-items:center;border:1px solid var(--outline);border-radius:var(--radius-control);background:var(--surface);color:var(--primary)}.template-variable-trigger[data-pressed=true],.template-variable-trigger:hover{background:var(--state-hover)}.template-variable-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.template-variable-menu{z-index:var(--z-popover);width:min(420px,calc(100vw - (var(--space-4) * 2)));max-height:min(280px,calc(100dvh - var(--mobile-header-height) - var(--bottom-nav-height) - var(--space-6)));overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:var(--space-2);background:var(--surface);box-shadow:var(--shadow)}.template-variable-menu .react-aria-ListBox{display:grid;max-height:inherit;gap:var(--space-1);overflow-y:auto;outline:none}.template-variable-menu .react-aria-ListBoxItem{display:flex;min-width:0;min-height:var(--touch-target);align-items:center;gap:var(--space-2);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);color:var(--on-surface);cursor:pointer}.template-variable-menu .react-aria-ListBoxItem code{flex:0 0 auto;color:var(--primary);font-weight:700}.template-variable-menu .react-aria-ListBoxItem span{min-width:0;overflow-wrap:anywhere}.template-variable-menu .react-aria-ListBoxItem[data-focused=true],.template-variable-menu .react-aria-ListBoxItem[data-hovered=true],.template-variable-menu .react-aria-ListBoxItem[aria-selected=true]{background:var(--state-hover);outline:none}.template-variable-empty{margin:0;padding:var(--space-3);border-radius:var(--radius-control);background:var(--surface-low);color:var(--muted);overflow-wrap:anywhere}.template-editor__detail textarea{width:100%;min-width:0;min-height:180px;resize:vertical;overflow-wrap:anywhere}.template-editor__field-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-width:0}.template-editor__field-help,.template-editor__counter{min-width:0;margin:0;color:var(--muted);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.template-editor__field-meta .button{flex:0 0 auto;min-height:var(--touch-target);white-space:nowrap}.template-editor__counter{white-space:nowrap}.template-editor__preview{display:grid;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-low);color:var(--on-surface)}.template-editor__preview strong,.template-editor__preview p{min-width:0;margin:0;overflow-wrap:anywhere}.template-editor__preview-note{color:var(--muted);font-size:.82rem;line-height:1.45}.template-editor__preview-body{white-space:pre-wrap;overflow-wrap:anywhere}.template-editor__detail .template-save-status,.template-editor__detail .template-save-error{min-width:0;overflow-wrap:anywhere}.template-editor__detail .template-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);min-width:0}.template-editor__detail .template-actions .button{min-width:0;min-height:var(--touch-target);white-space:nowrap}@media(max-width:1023px){.template-editor__workspace{grid-template-columns:minmax(0,1fr)}.template-editor__master{display:none}.template-editor__mobile-picker{display:grid}}@media(max-width:1199px){.template-editor__field-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.template-editor__field-meta .template-editor__field-help{grid-column:1 / -1}.template-editor__field-meta .button{grid-column:1 / -1;width:100%}}@media(max-width:599px){.template-editor__workspace{gap:var(--space-4)}.template-editor__detail .template-actions{display:grid;grid-template-columns:minmax(0,1fr)}.template-editor__detail .template-actions .button{width:100%}.template-editor__detail .template-editor__preview,.template-editor__detail .template-variable-empty,.template-editor__detail .template-save-status,.template-editor__detail .template-save-error{overflow-wrap:anywhere}}.public-booking{overflow-x:clip}.booking-stage{animation:public-booking-step-in var(--motion-panel) var(--ease-out) both}.success-icon[data-motion=feedback]{animation:public-booking-success-in var(--motion-success) var(--ease-out) both}@keyframes public-booking-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes public-booking-step-fade-in{0%{opacity:0}to{opacity:1}}@keyframes public-booking-success-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.booking-stage[data-motion=spatial]{animation:public-booking-step-fade-in var(--motion-fast) ease-out both!important;transform:none!important}.success-icon[data-motion=feedback]{animation:public-booking-step-fade-in var(--motion-fast) ease-out both!important}}.public-booking .booking-card{width:min(960px,calc(100% - 32px));margin:var(--space-6) auto;border-radius:var(--radius-card);box-shadow:var(--shadow)}.public-booking .public-top{padding-inline:max(var(--space-5),calc((100vw - 960px)/2))}.public-professional-strip{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--outline-variant)}.public-professional-strip>div{display:grid;gap:2px;min-width:0}.public-professional-strip .avatar{width:48px;height:48px}.public-professional-strip strong,.public-professional-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-professional-strip span,.public-professional-details,.public-booking .muted{color:var(--muted)}.public-professional-details{display:grid;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--outline-variant);font-size:.88rem;line-height:1.45}.public-professional-details p{margin:0}.public-booking .professional-contacts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.public-booking .professional-contacts a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);color:var(--primary);font-weight:700;text-decoration:none}.public-booking .professional-contacts a:hover{background:var(--primary-container)}.booking-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--outline-variant);list-style:none}.booking-progress li{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--muted);font-size:.78rem;font-weight:700}.booking-progress li span{display:grid;flex:0 0 var(--target-min);place-items:center;width:var(--target-min);height:var(--target-min);border:1px solid var(--outline-variant);border-radius:50%}.booking-progress li[aria-current=step]{color:var(--primary)}.booking-progress li[aria-current=step] span,.booking-progress li[data-complete=true] span{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.public-booking-step,.public-booking .booking-step{display:grid;gap:var(--space-4);padding:var(--space-5)}.public-booking-step>h1,.public-booking .booking-step>h1{margin:0;font-size:clamp(1.35rem,3vw,1.75rem)}.public-availability-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(260px,.8fr);gap:var(--space-6);align-items:start}.public-service-select,.public-calendar,.public-booking-slots{min-width:0}.public-service-select{max-width:360px}.public-service-context{margin:0;color:var(--muted);font-weight:700}.public-delivery-context{margin:calc(var(--space-3) * -1) 0 0;color:var(--muted);font-size:.9rem}.delivery-mode-picker{display:grid;gap:var(--space-2);max-width:680px}.delivery-mode-label{color:var(--on-surface);font-size:.9rem;font-weight:800}.delivery-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.delivery-mode-option{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0;min-height:var(--target-min);padding:var(--space-3);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-low);cursor:pointer}.delivery-mode-option[data-selected=true]{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.delivery-mode-option[data-focus-visible=true]{box-shadow:var(--focus-ring)}.delivery-mode-indicator{display:grid;flex:0 0 20px;place-items:center;width:20px;height:20px;margin-top:2px;border:2px solid currentColor;border-radius:50%}.delivery-mode-option[data-selected=true] .delivery-mode-indicator:after{width:8px;height:8px;border-radius:50%;background:currentColor;content:""}.delivery-mode-option>span:last-child{display:grid;gap:2px;min-width:0}.delivery-mode-option small{color:var(--muted);font-size:.82rem;line-height:1.35}.delivery-mode-option[data-selected=true] small{color:inherit}.react-aria-Calendar{width:100%}.react-aria-CalendarGrid{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}.react-aria-CalendarHeaderCell{padding:var(--space-2) 0;color:var(--muted);font-size:.75rem;font-weight:700;text-align:center}.react-aria-CalendarCell{display:grid;place-items:center;width:var(--target-min);height:var(--target-min);margin:2px auto;border-radius:50%;color:var(--on-surface);font-variant-numeric:tabular-nums}.react-aria-CalendarCell[data-hovered]{background:var(--state-hover)}.react-aria-CalendarCell[data-focus-visible]{box-shadow:var(--focus-ring)}.react-aria-CalendarCell[data-selected]{background:var(--primary);color:var(--on-primary)}.react-aria-CalendarCell[data-today]:not([data-selected]){box-shadow:inset 0 0 0 2px var(--outline)}.react-aria-CalendarCell[data-disabled],.react-aria-CalendarCell[data-unavailable]{color:var(--muted);opacity:.48}.public-calendar-header{display:grid;grid-template-columns:var(--target-min) minmax(0,1fr) var(--target-min);align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.public-calendar-header h2{margin:0;text-align:center;text-transform:capitalize}.public-calendar-header button{display:grid;place-items:center;width:var(--target-min);height:var(--target-min);border:0;border-radius:50%;background:transparent;color:var(--on-surface)}.public-calendar-header button:hover{background:var(--state-hover)}.public-booking-slots{display:grid;gap:var(--space-3)}.public-booking-slots h2{margin:0;font-size:1rem}.booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.booking-slot-grid button{min-height:48px;border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface);color:var(--on-surface);font-variant-numeric:tabular-nums}.booking-slot-grid button:hover,.booking-slot-grid button:focus-visible{border-color:var(--primary);background:var(--state-hover)}.booking-slot-grid button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container);box-shadow:var(--focus-ring)}.public-booking .public-booking-continue{width:100%;margin-top:var(--space-2)}.public-booking .stack-form{gap:var(--space-4);margin-top:0}.public-booking .form-field{display:grid;gap:var(--space-2)}.public-booking .form-field input[aria-invalid=true]{border-color:var(--danger)}.public-booking .field-error{color:var(--danger);font-size:.8rem}.public-booking .booking-review{display:grid;gap:var(--space-2);margin:0}.public-booking .booking-review div{display:grid;grid-template-columns:minmax(96px,.35fr) minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-card);background:var(--surface-low)}.public-booking .booking-review dt{color:var(--muted);font-size:.8rem;font-weight:700}.public-booking .booking-review dd{margin:0}.booking-payment-disclosure{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-low)}.booking-payment-disclosure h2,.booking-payment-disclosure p{margin:0}.booking-payment-disclosure h2{font-size:1rem}.booking-payment-disclosure .notice{margin:0}.booking-payment-step{display:grid;gap:var(--space-4)}.booking-payment-summary{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--outline-variant);border-radius:var(--radius-card);background:var(--surface-low)}.booking-payment-summary p{display:flex;gap:var(--space-2);align-items:center;margin:0}.public-booking .guardian-fields{gap:var(--space-3)}.public-booking .booking-success{padding:var(--space-7) var(--space-5)}.public-booking .booking-success h1{margin:0}@media(max-width:699px){.public-booking .booking-card{width:min(calc(100% - var(--space-4)),960px);margin:var(--space-4) auto}.public-booking .public-top{padding-inline:var(--space-4)}.public-availability-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.public-calendar,.react-aria-Calendar,.react-aria-CalendarGrid{width:100%;max-width:none}.public-professional-strip,.public-professional-details,.public-booking-step,.public-booking .booking-step{padding-inline:var(--space-4)}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.delivery-mode-options{grid-template-columns:minmax(0,1fr)}.public-booking-actions{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}@media(max-width:359px){.public-booking .booking-card{width:100%;margin-inline:0;padding-inline:6px;border-radius:0}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.brand-mark{display:inline-flex;align-items:center;text-decoration:none;vertical-align:middle;background:transparent;border:0;padding:0}.brand-logo-img{display:block;height:32px;width:auto;max-width:100%;object-fit:contain;image-rendering:auto}.brand-logo-symbol-only{display:none}.brand-symbol-img{display:block;height:32px;width:32px;object-fit:contain;flex-shrink:0}.sidebar .brand-mark{display:flex;align-items:center;padding:10px 14px;margin-bottom:8px}.sidebar .brand-logo-full{height:36px;width:auto}@media(min-width:600px)and (max-width:1239px){.sidebar .brand-mark{justify-content:center;padding:10px 4px}.sidebar .brand-logo-full{display:none!important}.sidebar .brand-logo-symbol-only{display:block!important;height:34px;width:34px;margin:0 auto}}.compact-header .brand-mark{display:inline-flex;align-items:center;padding:0}.compact-header .brand-symbol-img{height:32px;width:32px}.compact-header .brand-logo-img{height:28px;width:auto}.auth-panel .brand-mark{display:inline-block;margin-bottom:16px}.auth-panel .brand-logo-img{height:42px;width:auto;max-width:220px}.public-top .brand-mark{display:inline-flex;align-items:center;padding:0}.public-top .brand-logo-img{height:32px;width:auto}.public-top .brand-symbol-img{height:32px;width:32px}.brand-mark-small .brand-logo-img{height:24px}.brand-mark-small .brand-symbol-img{height:24px;width:24px}.brand-mark-large .brand-logo-img{height:48px}.brand-mark-large .brand-symbol-img{height:48px;width:48px}
