html{background:var(--color-canvas);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);font-size:14px;line-height:1.55}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}::selection{background:var(--color-brand-soft);color:var(--color-text)}button,input,textarea,select{font-family:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 38%, transparent);outline-offset:2px}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-sans);letter-spacing:-.025em}h1{margin-bottom:var(--space-2);font-size:clamp(2rem,3.2vw,2.65rem);font-weight:700;line-height:1.08}h2{letter-spacing:-.012em;font-size:1rem;font-weight:700}h3{font-size:.94rem;font-weight:700}p{color:inherit}.muted{color:var(--color-text-secondary)}.eyebrow,.hero__eyebrow{color:var(--color-brand);letter-spacing:.12em;font-size:.68rem;font-weight:700}.button,button.button{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);min-height:42px;color:var(--color-text-inverse);letter-spacing:-.005em;box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast), background-color var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);font-size:.84rem;font-weight:650}.button:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.button:disabled{opacity:.48;cursor:not-allowed}.button--secondary{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand);box-shadow:none}.button--secondary:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-hover)}.button--ghost{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.button--ghost:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text);box-shadow:none}.button--danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.button--danger:hover:not(:disabled){border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 84%, #000)}.button--small{border-radius:var(--radius-xs);min-height:34px;padding:6px 11px;font-size:.76rem}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-secondary);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast), background-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast)}.icon-button:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text);transform:translateY(-1px)}.icon-button svg{display:block}.link-button,.text-link{color:var(--color-brand);font-weight:650}.link-button:hover,.text-link:hover{color:var(--color-brand-hover);text-underline-offset:3px;text-decoration:underline}input,textarea,select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:44px;color:var(--color-text);box-shadow:inset 0 1px 0 #ffffff05, var(--shadow-xs);transition:border-color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast);font-size:.86rem}input:hover,textarea:hover,select:hover{border-color:var(--color-border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 17%, transparent)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:1}input[readonly]{background:var(--color-surface-subtle);color:var(--color-text-secondary)}input[type=checkbox]{min-height:18px;accent-color:var(--color-brand);box-shadow:none;border-radius:5px}input[type=file]{padding:8px}input[type=file]::file-selector-button{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;border-radius:7px;margin-right:10px;padding:6px 10px}label{color:var(--color-text-secondary);font-size:.78rem;font-weight:620}label>small{color:var(--color-text-tertiary);font-weight:450}fieldset{border-color:var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-subtle) 55%, transparent)}legend{color:var(--color-text);font-size:.78rem}hr{border:0;border-top:1px solid var(--color-border);width:100%}.notice{margin-bottom:var(--space-5);border:1px solid var(--color-brand-border);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-text);box-shadow:var(--shadow-xs);animation:notice-in var(--duration-slow) var(--ease-standard);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.82rem;display:flex}.notice svg{color:var(--color-brand);flex:none;margin-top:1px}.notice--success{border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border));background:var(--color-success-soft)}.notice--success svg{color:var(--color-success)}.notice--danger{border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border));background:var(--color-danger-soft)}.notice--danger svg{color:var(--color-danger)}.shell-notice{border-color:color-mix(in srgb, var(--color-danger) 32%, var(--color-border));background:var(--color-danger-soft);color:var(--color-danger);margin:14px 32px 0}.pwa-status{border-color:var(--color-border);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-md)}.pwa-status--offline{border-color:color-mix(in srgb, var(--color-warning) 40%, var(--color-border));background:var(--color-warning-soft);color:var(--color-warning)}.pwa-status--update{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--color-canvas)}.sidebar{z-index:var(--z-sidebar);width:var(--sidebar-width);padding:calc(20px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));border-right:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:8px 0 30px #0f172a06}:root[data-theme=dark] .sidebar{border-right-color:var(--color-border);box-shadow:none;background:#070f22}.sidebar__brand{border-bottom-color:var(--color-border);gap:10px;margin:0 4px;padding:0 8px 20px}.brand-symbol{background:linear-gradient(145deg, #54a2ff, var(--color-brand));color:#fff;width:36px;height:36px;font-family:var(--font-sans);border-radius:11px;font-size:1.15rem;font-weight:800;box-shadow:0 8px 18px #2563eb38}.sidebar__brand strong{color:var(--color-text);font-family:var(--font-sans);letter-spacing:-.02em;font-size:1rem;font-weight:720}.sidebar__brand small{color:var(--color-brand);letter-spacing:.16em;font-size:.58rem}.sidebar__nav{gap:18px;padding-top:18px}.sidebar__group{gap:3px;display:grid}.sidebar__group-label{color:var(--color-text-tertiary);letter-spacing:.11em;text-transform:uppercase;padding:0 11px 6px;font-size:.61rem;font-weight:700}.sidebar__item{border-radius:var(--radius-sm);min-height:40px;color:var(--color-text-secondary);border:1px solid #0000;gap:10px;padding:9px 11px;font-size:.82rem;font-weight:580;position:relative}.sidebar__item svg{color:var(--color-text-tertiary);transition:color var(--duration-fast)}.sidebar__item:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-text)}.sidebar__item.active{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand);box-shadow:inset 3px 0 var(--color-brand)}.sidebar__item.active svg{color:var(--color-brand)}.sidebar__account{border-top-color:var(--color-border);margin:0 3px;padding:14px 6px 2px}.sidebar__account strong{color:var(--color-text);font-size:.78rem}.sidebar__account small{color:var(--color-text-tertiary)}.sidebar__account .icon-button{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary);box-shadow:none}.sidebar__account .icon-button:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.avatar{background:var(--color-brand-soft);color:var(--color-brand);font-family:var(--font-sans);font-weight:750}.topbar{z-index:30;min-height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(32px, env(safe-area-inset-right)) 0 max(32px, env(safe-area-inset-left));border-bottom-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);position:sticky;top:0}.topbar__leading,.topbar__actions{align-items:center;gap:10px;display:flex}.breadcrumbs{color:var(--color-text-tertiary);align-items:center;gap:7px;font-size:.76rem;font-weight:560;display:flex}.breadcrumbs a:hover,.breadcrumbs span[aria-current=page]{color:var(--color-text)}.connection-status{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-success);gap:6px;padding:6px 9px;font-size:.69rem;font-weight:620}.connection-status--offline{color:var(--color-danger)}.theme-toggle{border-radius:var(--radius-pill)}.mobile-menu{display:none}.page-shell main{width:min(var(--content-max), 100%);padding:36px max(32px, env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));animation:page-in var(--duration-slow) var(--ease-standard)}.page-header{align-items:flex-end;min-height:84px;margin-bottom:24px}.page-header>div:first-child{min-width:0}.page-header p{color:var(--color-text-secondary);font-size:.84rem}.header-actions,.page-actions{gap:8px}.panel,.data-panel,.card,.professional-card,.service-row,.calendar-day,.metric-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.panel,.data-panel{border-radius:var(--radius-lg)}.panel{padding:20px}.panel__header{margin-bottom:16px}.panel__header h2{margin-bottom:3px}.panel__header p{color:var(--color-text-tertiary)}.metric-grid{gap:12px}.metric-card{border-radius:var(--radius-lg);min-height:138px;padding:18px}.metric-card>span{color:var(--color-text-secondary);font-size:.72rem}.metric-card strong{font-family:var(--font-sans);letter-spacing:-.045em;font-size:2rem;font-weight:700}.metric-card small{color:var(--color-text-tertiary)}.metric-card--primary{border-color:var(--color-brand);background:linear-gradient(145deg, #54a2ff 0%, var(--color-brand) 58%, #1d4ed8 100%);color:var(--color-text-inverse);box-shadow:0 14px 34px #2563eb33}.metric-card--primary>span,.metric-card--primary small{color:color-mix(in srgb, var(--color-text-inverse) 76%, transparent)}.progress{background:var(--color-surface-subtle)}.progress i{background:var(--color-brand)}.appointment-row{border-top-color:var(--color-border)}.appointment-row__body span{color:var(--color-text-secondary)}.summary-row{border-top-color:var(--color-border)}.summary-row span{color:var(--color-text-secondary)}.summary-row strong{font-family:var(--font-sans);font-size:1.05rem;font-weight:700}.demo-card{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.demo-card h2{font-family:var(--font-sans);font-size:1.08rem}.demo-card p{color:var(--color-text-secondary)}.badge{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary);letter-spacing:.015em;font-size:.63rem;font-weight:700}.badge--confirmed,.badge--completed{border-color:color-mix(in srgb, var(--color-success) 28%, transparent);background:var(--color-success-soft);color:var(--color-success)}.badge--pending{border-color:color-mix(in srgb, var(--color-warning) 28%, transparent);background:var(--color-warning-soft);color:var(--color-warning)}.badge--cancelled,.badge--no_show{border-color:color-mix(in srgb, var(--color-danger) 28%, transparent);background:var(--color-danger-soft);color:var(--color-danger)}.badge--rescheduled{border-color:color-mix(in srgb, var(--color-info) 28%, transparent);background:var(--color-info-soft);color:var(--color-info)}.status-dot.confirmed,.status-dot.completed{background:var(--color-success)}.status-dot.pending{background:var(--color-warning)}.status-dot.cancelled,.status-dot.no_show{background:var(--color-danger)}.empty-state{min-height:250px}.empty-state>span{background:var(--color-brand-soft);color:var(--color-brand)}.empty-state p{max-width:380px;color:var(--color-text-secondary)}.centered-state{min-height:55vh;color:var(--color-text-secondary);text-align:center;place-content:center;justify-items:center;gap:12px;display:grid}.app-loading{background:var(--color-canvas);color:var(--color-text-secondary)}.loading-mark{background:linear-gradient(145deg, #54a2ff, var(--color-brand));color:var(--color-text-inverse);font-family:var(--font-sans);border-radius:14px;font-size:1.35rem;font-weight:800;box-shadow:0 14px 34px #2563eb33}.skeleton-grid>i{border:1px solid var(--color-border);background:linear-gradient(100deg, var(--color-surface-subtle) 20%, var(--color-surface-hover) 40%, var(--color-surface-subtle) 60%);background-size:200% 100%}.skeleton-stack{gap:10px;width:100%;display:grid}.skeleton-line{border-radius:var(--radius-xs);background:linear-gradient(100deg, var(--color-surface-subtle) 20%, var(--color-surface-hover) 40%, var(--color-surface-subtle) 60%);background-size:200% 100%;width:100%;height:14px;animation:1.5s infinite shimmer;display:block}.skeleton-line:last-child{width:68%}.agenda-toolbar,.list-toolbar{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs);padding:10px}.segmented{background:var(--color-surface-subtle)}.segmented button{color:var(--color-text-secondary);font-size:.76rem;font-weight:620}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.search-field>span,.list-toolbar>span:last-child{color:var(--color-text-tertiary)}.data-panel{overflow:hidden}.data-table__head{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-tertiary);letter-spacing:.075em;font-size:.63rem}.data-table__row{border-top-color:var(--color-border);transition:background-color var(--duration-fast)}.data-table__row:hover{background:color-mix(in srgb, var(--color-surface-subtle) 62%, transparent)}.data-table__row small{color:var(--color-text-secondary)}.person-cell>i{background:var(--color-brand-soft);color:var(--color-brand)}.service-list{gap:9px}.service-row{border-radius:var(--radius-md);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast)}.service-row:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.service-icon{border:1px solid var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.service-row p,.service-row small{color:var(--color-text-secondary)}.professional-card{border-radius:var(--radius-lg);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast)}.professional-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.professional-card>p,.professional-card>small{color:var(--color-text-secondary)}.professional-card__meta span{border:1px solid var(--color-border);background:var(--color-surface-subtle)}.professional-card__meta small{color:var(--color-text-tertiary)}.professional-card__meta strong{font-family:var(--font-sans);font-size:1.12rem}.week-pills i{background:var(--color-surface-subtle);color:var(--color-text-tertiary)}.week-pills i.active{background:var(--color-brand);color:var(--color-text-inverse)}.professional-card footer{border-top-color:var(--color-border)}.check-card{border-color:var(--color-border);background:var(--color-surface);transition:border-color var(--duration-fast), background-color var(--duration-fast)}.check-card:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.check-card small{color:var(--color-text-tertiary)}.hours-row,.clinic-hours>div{border-bottom-color:var(--color-border)}.hours-row>span,.hours-row>small{color:var(--color-text-tertiary)}.permission-grid article{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.permission-grid p{color:var(--color-text-secondary)}.integration-stage-notice{border-color:var(--color-brand-border);background:var(--color-brand-soft);box-shadow:var(--shadow-xs)}.integration-stage-notice>svg{color:var(--color-brand)}.integration-stage-notice p,.integration-card__description{color:var(--color-text-secondary)}.integration-card{transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast)}.integration-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.integration-card__icon{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.integration-card__icon--whatsapp{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.integration-card__icon--google{border-color:color-mix(in srgb, var(--color-info) 30%, var(--color-border));background:var(--color-info-soft);color:var(--color-info)}.integration-details{border-color:var(--color-border);background:var(--color-border)}.integration-details>div{background:var(--color-surface-subtle)}.integration-details dt{color:var(--color-text-tertiary)}.integration-details dd{color:var(--color-text)}.integration-details__empty{color:var(--color-text-tertiary)!important;font-family:var(--font-sans)!important}.integration-error{border-color:color-mix(in srgb, var(--color-danger) 32%, var(--color-border));background:var(--color-danger-soft);color:var(--color-danger)}.integration-foundation-note{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.integration-sync-options{border-color:var(--color-border);background:var(--color-surface-subtle)}.calendar-board{scrollbar-color:var(--color-border-strong) transparent}.calendar-day{border-radius:var(--radius-lg);overflow:hidden}.calendar-day>header{border-bottom-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.calendar-day>header strong{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.calendar-day__body{background:var(--color-surface)}.calendar-event{border-color:color-mix(in srgb, var(--color-success) 24%, var(--color-border));border-left-color:var(--color-success);background:var(--color-success-soft)}.calendar-event.event--pending{border-color:color-mix(in srgb, var(--color-warning) 24%, var(--color-border));border-left-color:var(--color-warning);background:var(--color-warning-soft)}.calendar-event.event--cancelled,.calendar-event.event--no_show{border-color:color-mix(in srgb, var(--color-danger) 24%, var(--color-border));border-left-color:var(--color-danger);background:var(--color-danger-soft)}.calendar-event.event--completed{border-color:color-mix(in srgb, var(--color-info) 24%, var(--color-border));border-left-color:var(--color-info);background:var(--color-info-soft)}.calendar-block{border-color:color-mix(in srgb, var(--color-warning) 45%, var(--color-border));border-left-color:var(--color-warning);background:var(--color-warning-soft)}.calendar-event p,.calendar-event small,.calendar-block small{color:var(--color-text-secondary)}.event-actions{border-top-color:color-mix(in srgb, currentColor 12%, transparent)}.event-actions button{color:var(--color-brand);border-radius:6px}.event-actions button:hover{background:color-mix(in srgb, var(--color-brand) 10%, transparent)}.calendar-empty{color:var(--color-text-tertiary)}.modal-backdrop{z-index:var(--z-overlay);padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:backdrop-in var(--duration-normal) var(--ease-standard)}.modal{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);width:min(560px,100%);max-height:min(820px,100dvh - 36px);color:var(--color-text);box-shadow:var(--shadow-dialog);animation:dialog-in var(--duration-slow) var(--ease-standard);padding:22px}.modal--wide{width:min(920px,100%)}.modal__header,.modal>header{border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:16px}.modal__header h2,.modal>header h2{margin:4px 0 0;font-size:1.18rem}.modal__header p{margin:7px 0 0;font-size:.8rem}.modal-actions{border-top:1px solid var(--color-border);padding-top:18px}.history-list article{border-color:var(--color-border);background:var(--color-surface)}.history-list article time,.history-list article span{color:var(--color-text-secondary)}.landing{background:var(--color-canvas)}.landing__nav{max-width:1200px;height:76px}.landing__nav-actions,.auth-aside__top{align-items:center;gap:10px;display:flex}.auth-aside__top{justify-content:space-between;width:100%}.landing__brand{gap:10px}.landing__brand strong{letter-spacing:-.02em;font-size:.95rem}.landing__brand em{color:var(--color-brand);font-style:normal}.landing__hero{gap:clamp(40px,7vw,96px);max-width:1200px;min-height:670px}.landing__hero h1{letter-spacing:-.065em;max-width:690px;font-size:clamp(3.25rem,6vw,5.7rem);font-weight:720;line-height:.96}.landing__hero>div:first-child>p{color:var(--color-text-secondary);font-size:1rem}.landing__actions>span{color:var(--color-text-tertiary)}.landing__preview{border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-md);transform:rotate(.5deg)}.landing__preview:before{background:var(--color-brand-soft);opacity:.8}.preview__top{color:var(--color-text-secondary)}.preview__appointment{border-top-color:var(--color-border)}.preview__appointment small{color:var(--color-text-secondary)}.preview__metric{background:var(--color-brand);color:var(--color-text-inverse)}.preview__metric>div{background:color-mix(in srgb, var(--color-text-inverse) 20%, transparent)}.preview__metric>div i{background:color-mix(in srgb, var(--color-text-inverse) 78%, transparent)}.landing__features{border-color:var(--color-border);background:var(--color-border)}.landing__features article{background:var(--color-surface)}.landing__features article>span{color:var(--color-brand)}.landing__features p{color:var(--color-text-secondary)}.auth-page{background:var(--color-canvas)}.auth-aside,.admin-auth-page .auth-aside{background:radial-gradient(circle at 18% 10%,#54a2ffb8,#0000 30%),linear-gradient(145deg,#0f4acb 0%,#2563eb 52%,#1d4ed8 100%)}:root[data-theme=dark] .auth-aside,:root[data-theme=dark] .admin-auth-page .auth-aside{background:radial-gradient(circle at 18% 10%,#3b82f66b,#0000 30%),linear-gradient(145deg,#071634 0%,#0d2860 52%,#123c8f 100%)}.auth-aside h1{color:#fff}.auth-aside p{color:#dbeafe}.auth-aside>small{color:#bfdbfe}.auth-aside .landing__brand strong{color:#fff}.auth-aside .landing__brand em,.auth-aside .eyebrow{color:#dbeafe}.auth-aside .theme-toggle{color:#f5faf7;box-shadow:none;background:#ffffff0f;border-color:#ffffff24}.auth-aside .theme-toggle:hover{color:#fff;background:#ffffff1f}.auth-card-wrap{background:radial-gradient(circle at 75% 15%, var(--color-brand-soft), transparent 34%)}.auth-card{border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.auth-card>div:first-child p{color:var(--color-text-secondary)}.link-button--back{align-items:center;gap:6px;display:inline-flex}.auth-page--landing{background:radial-gradient(circle at 9% 28%, var(--color-brand-soft), transparent 28%), radial-gradient(circle at 92% 8%, var(--color-brand-soft), transparent 24%), var(--color-canvas);min-height:100vh;display:block}.auth-landing__nav{border-bottom:1px solid color-mix(in srgb, var(--color-border) 72%, transparent)}.auth-landing__content{grid-template-columns:minmax(0,1fr) minmax(430px,520px);align-items:center;gap:clamp(54px,8vw,110px);width:min(1200px,100% - 40px);min-height:calc(100vh - 77px);margin:0 auto;padding:54px 0 38px;display:grid}.auth-landing__intro{max-width:640px}.auth-landing__intro h1{letter-spacing:-.065em;margin:18px 0 22px;font-size:clamp(3.2rem,5.5vw,5.6rem);font-weight:720;line-height:.96}.auth-landing__intro h1 span{color:var(--color-brand)}.auth-landing__intro>p{max-width:590px;color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.75}.auth-landing__highlights{gap:10px;margin-top:30px;display:grid}.auth-landing__highlights article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-raised) 88%, transparent);box-shadow:var(--shadow-xs);align-items:center;gap:13px;padding:13px 15px;display:flex}.auth-landing__highlights article>svg{background:var(--color-brand-soft);width:36px;height:36px;color:var(--color-brand);border-radius:10px;flex:none;padding:8px}.auth-landing__highlights article>span{gap:2px;display:grid}.auth-landing__highlights strong{color:var(--color-text);font-size:.82rem}.auth-landing__highlights small{color:var(--color-text-secondary);font-size:.72rem}.auth-landing__trust{color:var(--color-text-tertiary);margin-top:19px;font-size:.7rem;display:block}.auth-page--landing .auth-card-wrap{background:0 0;min-width:0;padding:0}.auth-page--landing .auth-card{border-top:3px solid var(--color-brand);width:100%;position:relative;overflow:hidden}.auth-page--landing .auth-card h2{color:var(--color-text);font-family:var(--font-sans);letter-spacing:-.035em;font-weight:720}.auth-page--landing .public-footer--compact{margin-top:18px}.patient-public{background:radial-gradient(circle at 88% 0%, var(--color-brand-soft) 0, transparent 34%), var(--color-canvas)}.patient-card{border-color:var(--color-border);background:color-mix(in srgb, var(--color-surface-raised) 96%, transparent);box-shadow:var(--shadow-md);border-radius:24px}.patient-brand{background:linear-gradient(145deg, #54a2ff, var(--color-brand));color:#fff;font-family:var(--font-sans);border-radius:14px;font-weight:800;box-shadow:0 10px 24px #2563eb33}.patient-header{border-bottom-color:var(--color-border)}.patient-appointment{border-color:var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.patient-appointment__date{background:var(--color-brand-soft);color:var(--color-brand)}.patient-appointment__date strong{font-family:var(--font-sans);font-weight:750}.patient-appointment__actions button{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-brand)}.patient-appointment__actions button:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.patient-appointment__actions .danger-link{color:var(--color-danger)}.patient-notifications{border-color:var(--color-brand-border);background:linear-gradient(135deg, var(--color-brand-soft), var(--color-surface))}.booking-summary{border:1px solid var(--color-brand-border);background:var(--color-brand-soft)}.patient-reschedule,.patient-registration-note{background:var(--color-surface-subtle)}.admin-environment{color:var(--color-brand)}.grid{gap:14px}.detail-grid{margin-top:24px}.linked-agent{border-bottom:1px solid var(--color-border);margin-bottom:12px;padding-bottom:12px}.linked-agent:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.card{border-radius:var(--radius-lg)}.card h3,.card h4{margin-bottom:10px}.card p{color:var(--color-text-secondary);line-height:1.65}.chat-box{border:1px solid var(--color-border);background:var(--color-surface-subtle)}.chat-panel{gap:14px;display:grid}.chat-panel>label{margin-bottom:-6px}.chat-composer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.chat-composer textarea{min-height:76px}.chat-composer .button{min-height:44px}.message{border:1px solid var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-text);align-items:center;gap:8px;display:flex}.wizard-steps{flex-wrap:wrap;gap:8px;display:flex}.wizard-step{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:36px;color:var(--color-text-secondary);padding:7px 12px;font-weight:620}.wizard-step.active{border-color:var(--color-brand-border);background:var(--color-brand-soft);color:var(--color-brand)}.wizard-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.wizard-results{gap:12px;display:grid}.wizard-panel{max-width:980px}.wizard-panel hr{border:0;border-top:1px solid var(--color-border);width:100%;margin:4px 0}.wizard-agent-form{gap:12px;display:grid}.chat-messages{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);align-content:start;gap:12px;min-height:240px;padding:16px;display:grid}.chat-message{border:1px solid var(--color-border);border-radius:4px var(--radius-md) var(--radius-md);background:var(--color-surface-raised);width:min(78%,620px);padding:11px 13px}.chat-message--user{border-color:var(--color-brand-border);border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);background:var(--color-brand-soft);justify-self:end}.chat-message strong{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:.67rem;display:block}.chat-message p{color:var(--color-text);margin:0}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(280px,100vw - 42px)}.mobile-menu{display:inline-grid}.topbar{min-height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left))}.page-shell main{padding:26px max(18px, env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.connection-status{display:none}.shell-notice{margin:12px 18px 0}.auth-landing__content{grid-template-columns:1fr;gap:34px;padding-top:42px}.auth-landing__intro{max-width:680px}.auth-landing__intro h1{max-width:620px;font-size:clamp(3rem,11vw,4.8rem)}}@media (max-width:600px){h1{font-size:1.9rem}.page-header{align-items:stretch;gap:16px}.page-header>div:first-child,.page-header .button,.page-actions .button,.page-actions{width:100%}.metric-grid{gap:9px}.metric-card{min-height:116px;padding:14px}.metric-card strong{font-size:1.7rem}.modal{border-radius:16px;max-height:calc(100dvh - 20px);padding:18px}.landing__hero h1{font-size:clamp(3rem,15vw,4rem)}.landing__preview{transform:none}.pwa-status{width:calc(100% - 20px)}.breadcrumbs{white-space:nowrap;max-width:210px;overflow:hidden}.breadcrumbs span{text-overflow:ellipsis;overflow:hidden}.calendar-day{min-height:360px}.calendar-empty{min-height:260px}.chat-message{width:92%}.chat-composer{grid-template-columns:1fr}.landing__nav-actions .button{width:auto}.patient-card{border-radius:20px}.auth-page--landing .landing__nav{width:calc(100% - 32px)}.auth-landing__content{width:calc(100% - 32px);padding:32px 0 24px}.auth-landing__intro h1{font-size:clamp(2.8rem,14vw,4rem)}.auth-landing__intro>p{font-size:.9rem}.auth-landing__highlights{margin-top:22px}.auth-page--landing .auth-card{padding:25px 20px}}@media (prefers-contrast:more){:root{--color-border:var(--color-border-strong)}.button,.icon-button,input,textarea,select{border-width:2px}}@media (forced-colors:active){.sidebar__item.active,.badge,.button,.icon-button{forced-color-adjust:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}
.theo-launcher{z-index:90;border:1px solid var(--color-brand-border);border-radius:var(--radius-pill);background:var(--color-brand);color:#fff;min-height:48px;box-shadow:var(--shadow-md);font:700 .85rem var(--font-sans);cursor:pointer;transition:transform var(--duration-normal) var(--ease-standard);align-items:center;gap:9px;padding:7px 16px 7px 8px;display:flex;position:fixed;bottom:22px;right:22px}.theo-launcher:hover{background:var(--color-brand-hover);transform:translateY(-2px)}.theo-launcher__mark,.theo-avatar{color:#2563eb;background:#fff;border-radius:50%;place-items:center;font-weight:800;display:grid}.theo-launcher__mark{width:34px;height:34px}.theo-backdrop{z-index:109;background:var(--color-overlay);position:fixed;inset:0}.theo-panel{z-index:110;background:var(--color-surface);width:min(440px,100vw);color:var(--color-text);border-left:1px solid var(--color-border);box-shadow:var(--shadow-dialog);visibility:hidden;transition:transform var(--duration-slow) var(--ease-standard), visibility var(--duration-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(102%)}.theo-panel--open{visibility:visible;transform:translate(0)}.theo-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;padding:22px 22px 16px;display:flex}.theo-panel__header h2{margin:3px 0;font-size:1.35rem}.theo-panel__header p{color:var(--color-text-secondary);margin:0;font-size:.84rem}.theo-kicker{color:var(--color-brand);letter-spacing:.14em;font-size:.65rem;font-weight:800}.theo-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.theo-mode{border-radius:var(--radius-pill);background:var(--color-surface-subtle);padding:3px;display:flex}.theo-mode button{border-radius:var(--radius-pill);color:var(--color-text-secondary);font:700 .72rem var(--font-sans);cursor:pointer;background:0 0;border:0;padding:7px 12px}.theo-mode button.active{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-xs)}.theo-history-label{color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--color-border);gap:5px;padding:10px 20px;font-size:.68rem;font-weight:800;display:grid}.theo-history-label select{border:1px solid var(--color-border);border-radius:var(--radius-xs);width:100%;color:var(--color-text);background:var(--color-surface);text-transform:none;letter-spacing:0;padding:8px 10px}.theo-messages{flex:1;padding:20px;overflow-y:auto}.theo-welcome{text-align:center;max-width:340px;margin:8vh auto 0}.theo-avatar{background:var(--color-brand-soft);border:1px solid var(--color-brand-border);width:54px;height:54px;margin:0 auto 14px}.theo-welcome h3{margin:0 0 6px}.theo-welcome p{color:var(--color-text-secondary);margin:0 0 18px;font-size:.88rem;line-height:1.5}.theo-suggestions{gap:8px;display:grid}.theo-suggestions button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:left;font:600 .78rem var(--font-sans);cursor:pointer;padding:10px 12px}.theo-suggestions button:hover{border-color:var(--color-brand-border);background:var(--color-brand-soft)}.theo-message{border:1px solid var(--color-border);border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);background:var(--color-surface-subtle);width:fit-content;max-width:88%;margin-bottom:12px;padding:11px 13px}.theo-message--user{border-color:var(--color-brand-border);border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);background:var(--color-brand-soft);margin-left:auto}.theo-message strong{color:var(--color-brand);margin-bottom:4px;font-size:.7rem;display:block}.theo-message p{white-space:pre-wrap;margin:0;font-size:.86rem;line-height:1.55}.theo-message small{color:var(--color-text-tertiary);margin-top:7px;font-size:.65rem;display:block}.theo-typing{color:var(--color-text-secondary)}.theo-error{border-radius:var(--radius-xs);background:var(--color-danger-soft);color:var(--color-danger);margin:0 20px 10px;padding:9px 11px;font-size:.78rem}.theo-composer{border-top:1px solid var(--color-border);background:var(--color-surface);align-items:flex-end;gap:9px;padding:14px 18px 10px;display:flex}.theo-composer textarea{resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:44px;max-height:120px;color:var(--color-text);font:.85rem var(--font-sans);flex:1;padding:11px 12px}.theo-composer textarea:focus{outline:2px solid var(--color-focus);outline-offset:1px}.theo-disclaimer{color:var(--color-text-tertiary);text-align:center;padding:0 18px 13px;font-size:.66rem}@media (max-width:640px){.theo-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:7px}.theo-launcher>span:last-child{display:none}.theo-panel{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.theo-welcome{margin-top:4vh}}@media (prefers-reduced-motion:reduce){.theo-panel,.theo-launcher{transition:none}}
