.portal-shell.app-shell{--ink:#30283a;--midnight:#2e2238;--heading:#2e2238;--muted:#6c6271;--line:#e6dbcf;--line-soft:#f1eae1;--surface:#fff;--canvas:#faf7f2;--pale:#f6f1ea;--teal:#86632f;--teal-deep:#6b4f24;--teal-soft:#f4ecdf;--teal-border:#e3cfa9;--blue:#5b3f66;--blue-deep:#34243e;--blue-soft:#f3ecf2;--blue-border:#dccbd9;--danger:#b94747;--danger-deep:#9e3838;--danger-soft:#fdf0ee;--danger-border:#f4c7c1;--success:#2f805f;--success-soft:#e6f2ec;--success-border:#b9dccb;--info:#34243e;--info-soft:#f3ecf2;--info-border:#dccbd9;--warning:#865410;--warning-soft:#fff6e0;--warning-border:#f3d58a;--shadow-card:0 1px 2px #2e22380a, 0 6px 18px #2e22380d;--shadow-raised:0 2px 4px #2e22380d, 0 14px 32px #2e223817;background:var(--canvas)}.app-shell.clinic-shell{--portal-accent:#5b3f66;--portal-accent-deep:#34243e;--portal-accent-soft:#f3ecf2;--portal-accent-border:#dccbd9}.app-shell.patient-shell{--portal-accent:#86632f;--portal-accent-deep:#6b4f24;--portal-accent-soft:#f4ecdf;--portal-accent-border:#e3cfa9}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font:inherit;letter-spacing:inherit}.app-shell button{cursor:pointer}.app-shell button:disabled{cursor:not-allowed;opacity:.6}.app-shell code{background:var(--pale);border-radius:5px;padding:1px 5px;font-size:.85em}.app-main{min-width:0}.app-main:focus{outline:none}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.page-header .lead{font-size:1rem}.page-header-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.topbar-button{background:0 0;border:0;padding:0 4px}.tenant-switcher select,.inline-select select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);border-radius:9px;padding:0 34px 0 12px;font-size:.85rem;font-weight:600}.tenant-name{max-width:220px;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:650;overflow:hidden}.nav-item[aria-current=page]{font-weight:700}.nav-secondary{border-top:1px solid var(--line);gap:2px;margin-top:18px;padding-top:14px;display:grid}.nav-link{min-height:40px;color:var(--muted);border-radius:8px;align-items:center;padding:0 13px;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover,.nav-link.selected{color:var(--portal-accent-deep);background:var(--portal-accent-soft)}.app-section{margin-top:34px}.app-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.app-section-heading h2{color:var(--heading);letter-spacing:-.03em;margin:0;font-size:1.2rem;font-weight:680}.app-section-heading p{color:var(--muted);margin:3px 0 0;font-size:.86rem}.app-section-actions{align-items:center;gap:10px;display:flex}.subheading{color:var(--heading);margin:26px 0 10px;font-size:.95rem}.app-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--canvas));border-radius:14px;padding:22px;box-shadow:0 8px 22px #2e22380d}.narrow-card{max-width:640px}.card-title{color:var(--heading);margin:0 0 4px;font-size:1.02rem;font-weight:680}.card-copy{color:var(--muted);margin:0 0 16px;font-size:.86rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px;display:grid}.stat-tile{border:1px solid var(--line);color:inherit;background:linear-gradient(160deg, var(--surface), var(--portal-accent-soft));border-radius:14px;gap:4px;padding:18px;text-decoration:none;display:grid}.stat-tile-link{transition:transform .2s var(--ease-out), border-color .2s ease, box-shadow .2s ease}.stat-tile-link:hover{border-color:var(--portal-accent-border);transform:translateY(-2px);box-shadow:0 12px 24px #2e223814}.stat-label{color:var(--muted);font-size:.78rem;font-weight:650}.stat-value{color:var(--heading);letter-spacing:-.04em;font-size:1.9rem;font-weight:720;line-height:1.1}.stat-hint{color:var(--muted);font-size:.74rem}.badge{border:1px solid var(--line);color:var(--ink);background:var(--pale);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.74rem;font-weight:650;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success{border-color:var(--success-border);color:var(--success);background:var(--success-soft)}.badge-info{border-color:var(--info-border);color:var(--info);background:var(--info-soft)}.badge-warning{border-color:var(--warning-border);color:var(--warning);background:var(--warning-soft)}.badge-danger{border-color:var(--danger-border);color:var(--danger);background:var(--danger-soft)}.badge-neutral{color:var(--muted)}.loading-state{gap:10px;display:grid}.skeleton-row{background:linear-gradient(90deg, var(--pale) 0%, #f8f4ee 50%, var(--pale) 100%);background-size:200% 100%;border-radius:12px;height:54px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-row:nth-child(3n){width:82%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.state-panel{border:1px dashed var(--portal-accent-border);background:linear-gradient(160deg, var(--surface), var(--portal-accent-soft));border-radius:14px;gap:14px;padding:22px;display:flex}.state-panel h3{color:var(--heading);margin:0 0 4px;font-size:.98rem}.state-panel p{color:var(--muted);margin:0;font-size:.87rem;line-height:1.6}.state-panel .state-reference{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem}.state-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.state-icon{border:1px solid var(--portal-accent-border);height:32px;color:var(--portal-accent-deep);background:var(--surface);border-radius:50%;flex:0 0 32px;place-items:center;font-weight:700;display:grid}.state-problem{border-style:solid}.state-forbidden,.state-unexpected,.state-invalid{border-color:var(--danger-border);background:linear-gradient(160deg, var(--surface), var(--danger-soft))}.state-forbidden .state-icon,.state-unexpected .state-icon,.state-invalid .state-icon{border-color:var(--danger-border);color:var(--danger)}.state-unavailable,.state-offline{border-color:var(--warning-border);background:linear-gradient(160deg, var(--surface), var(--warning-soft))}.inline-notice{border:1px solid var(--info-border);background:var(--info-soft);border-radius:12px;gap:12px;margin:0 0 18px;padding:14px 16px;display:flex}.inline-notice strong{color:var(--heading);font-size:.9rem}.inline-notice p{color:var(--muted);margin:2px 0 0;font-size:.85rem;line-height:1.6}.inline-notice a{color:var(--portal-accent-deep);font-weight:650}.inline-notice-mark{color:#fff;background:var(--info);border-radius:50%;flex:0 0 22px;place-items:center;height:22px;font-family:Georgia,serif;font-size:.8rem;font-weight:700;display:grid}.inline-notice-warning{border-color:var(--warning-border);background:var(--warning-soft)}.inline-notice-warning .inline-notice-mark{background:var(--warning)}.app-shell .privacy-note{margin-top:40px}.form-stack{gap:16px;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.form-actions .muted{margin-right:auto}.field{align-content:start;gap:6px;display:grid}.field label{color:var(--heading);font-size:.86rem;font-weight:650}.field-required{color:var(--danger)}.field input,.field select,.search-field input{width:100%;min-height:46px;color:var(--ink);background:var(--surface);border:1px solid #e6dbcf;border-radius:10px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.search-field input:focus{border-color:var(--portal-accent);box-shadow:0 0 0 3px var(--portal-accent-soft);outline:none}.field-invalid input,.field-invalid select{border-color:var(--danger)}.field-hint{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.field-error{color:var(--danger);margin:0;font-size:.8rem;font-weight:600}.form-error{border:1px solid var(--danger-border);border-left:4px solid var(--danger);background:var(--danger-soft);border-radius:10px;padding:14px 16px}.form-error:focus{outline:3px solid var(--danger-border);outline-offset:2px}.form-error strong{color:var(--danger-deep);font-size:.9rem}.form-error p,.form-error ul{color:var(--ink);margin:4px 0 0;font-size:.85rem}.form-error ul{padding-left:18px}.form-preview{color:var(--ink);background:var(--portal-accent-soft);border-radius:10px;margin:0;padding:12px 14px;font-size:.86rem}.choice-group{border:0;gap:8px;margin:0;padding:0;display:grid}.choice-group legend{color:var(--heading);margin-bottom:6px;font-size:.86rem;font-weight:650}.choice{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.87rem;display:flex}.choice:has(input:checked){border-color:var(--portal-accent);background:var(--portal-accent-soft)}.choice input{accent-color:var(--portal-accent);margin-top:3px}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:.84rem;display:inline-flex}.toggle input{width:16px;height:16px;accent-color:var(--portal-accent)}.portal-shell .button{cursor:pointer}.portal-shell .button-small{min-height:40px;padding:0 16px;font-size:.84rem}.portal-shell .button-full{width:100%}.portal-shell .button-danger{color:#fff;background:linear-gradient(135deg, var(--danger-deep), var(--danger));border-color:#0000;box-shadow:0 8px 18px #842d2d2e}.portal-shell .button-ghost-danger{border:1px solid var(--danger-border);color:var(--danger);background:var(--surface);box-shadow:none}.portal-shell .button-ghost-danger:hover{background:var(--danger-soft)}.icon-button{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;display:grid}.icon-button:hover{color:var(--ink);background:var(--pale)}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.87rem}.data-table th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8f4ee;padding:12px 16px;font-size:.74rem;font-weight:700}.data-table td{vertical-align:middle;border-bottom:1px solid #efe6dc;padding:13px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#faf6f0}.cell-title{color:var(--heading);font-weight:650;display:block}.cell-sub{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.cell-actions{text-align:right;white-space:nowrap}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar-label{color:var(--muted);margin:0 0 0 auto;font-size:.85rem;font-weight:600}.search-field{flex:260px;max-width:420px}.search-field input{min-height:40px}.inline-select{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:.84rem;display:inline-flex}.segmented{border:1px solid var(--line);background:var(--pale);border-radius:11px;gap:4px;margin-bottom:18px;padding:4px;display:inline-flex}.segmented button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:.84rem;font-weight:650}.segmented button.is-active{color:var(--heading);background:var(--surface);box-shadow:0 2px 8px #2e223814}.app-dialog{border:1px solid var(--line);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--ink);background:var(--surface);border-radius:16px;padding:0;box-shadow:0 30px 80px #2e223840}.app-dialog:has(.slot-picker){width:min(760px,100vw - 32px)}.app-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2e22386b}.app-dialog-body{padding:22px 24px 24px}.app-dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.app-dialog-header h2{color:var(--heading);letter-spacing:-.02em;margin:6px 0 0;font-size:1.2rem}.app-dialog-description{color:var(--muted);margin:6px 0 18px;font-size:.87rem;line-height:1.6}.secret-box{border:1px dashed var(--portal-accent-border);background:var(--portal-accent-soft);overflow-wrap:anywhere;border-radius:12px;padding:16px}.secret-box code{background:0 0;padding:0;font-size:.95rem;font-weight:600}.toast-region{z-index:100;gap:8px;max-width:min(380px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast{color:#fff;background:var(--midnight);animation:toast-in .25s var(--ease-out);border-radius:11px;padding:13px 16px;font-size:.88rem;font-weight:600;box-shadow:0 14px 32px #2e223840}.toast-danger{background:var(--danger-deep)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sign-in-panel,.onboarding{max-width:760px}.sign-in-panel h1,.onboarding h1{margin-bottom:10px}.sign-in-panel .form-error{margin-top:20px}.sign-in-panel .inline-notice{margin-top:24px}.trust-list{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin:34px 0 0;padding:18px 0 0;font-size:.84rem;list-style:none;display:grid}.trust-list li:before{content:"✓";color:var(--portal-accent);margin-right:10px;font-weight:800}.onboarding .lead{margin-bottom:26px}.onboarding-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:16px;display:grid}.appointment-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.appointment-item{border:1px solid var(--line);background:var(--surface);border-radius:13px;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.appointment-time{border-right:1px solid var(--line);gap:2px;padding-right:14px;display:grid}.appointment-time strong{color:var(--heading);font-size:.98rem}.appointment-time span{color:var(--muted);font-size:.78rem}.appointment-body p{margin:0}.appointment-date{color:var(--portal-accent-deep);font-size:.8rem;font-weight:700}.appointment-title{color:var(--heading);font-weight:650}.appointment-meta{color:var(--muted);font-size:.8rem}.appointment-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.appointment-feature .appointment-item{border-color:var(--portal-accent-border);background:linear-gradient(160deg, var(--surface), var(--portal-accent-soft));padding:20px}.appointment-list-muted .appointment-item{background:#f8f4ee}.item-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-groups{gap:22px;display:grid}.day-heading{color:var(--heading);align-items:center;gap:8px;margin:0 0 10px;font-size:.9rem;font-weight:700;display:flex}.today-chip{color:#fff;background:var(--portal-accent);border-radius:999px;padding:2px 8px;font-size:.68rem}.week-grid{gap:12px;display:grid}.week-day{border:1px solid var(--line);background:#f8f4ee;border-radius:14px;padding:14px 16px}.week-day.is-today{border-color:var(--portal-accent-border);background:linear-gradient(160deg, var(--surface), var(--portal-accent-soft))}.week-day .day-heading{margin-bottom:8px}.day-empty{color:var(--muted);margin:0;font-size:.84rem}.readiness-row{border:1px solid var(--line);background:var(--surface);border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.readiness-row-title{color:var(--heading);text-transform:capitalize;margin:0;font-weight:650}.readiness-row-meta{color:var(--muted);margin:2px 0 0;font-size:.8rem}.readiness-strip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;flex-wrap:wrap;gap:18px;padding:12px 16px;font-size:.85rem;font-weight:600;display:flex}.readiness-strip span{align-items:center;gap:8px;display:inline-flex}.activity-list{border:1px solid var(--line);background:var(--surface);border-radius:13px;margin:0;padding:0;list-style:none;display:grid}.activity-list li{text-transform:capitalize;border-bottom:1px solid #efe6dc;justify-content:space-between;gap:16px;padding:12px 16px;font-size:.86rem;display:flex}.activity-list li:last-child{border-bottom:0}.activity-list time{color:var(--muted);text-transform:none;white-space:nowrap;font-size:.8rem}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.action-card{border:1px solid var(--line);color:inherit;background:var(--surface);text-align:left;transition:transform .2s var(--ease-out), border-color .2s ease;border-radius:14px;gap:4px;padding:18px;text-decoration:none;display:grid}.action-card:hover{border-color:var(--portal-accent-border);transform:translateY(-2px)}.action-card strong{color:var(--heading);font-size:.95rem}.action-card span{color:var(--muted);font-size:.83rem;line-height:1.5}.slot-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slot-chip{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:.84rem;display:inline-flex}.booking-steps{flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.booking-steps li{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;font-weight:650;display:inline-flex}.booking-steps li.is-complete,.booking-steps li.is-active{border-color:var(--portal-accent-border);background:var(--portal-accent-soft);color:var(--portal-accent-deep)}.booking-step-index{background:#5b3f661f;border-radius:999px;place-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;display:inline-grid}.booking-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.booking-layout .app-section{margin-top:0}.booking-summary{gap:14px;display:grid;position:sticky;top:24px}.summary-list{gap:12px;margin:0;display:grid}.summary-list dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:700}.summary-list dd{color:var(--heading);margin:2px 0 0;font-weight:600}.summary-note{margin:0;font-size:.76rem}.slot-picker{gap:18px;display:grid}.day-picker{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.day-pill{border:1px solid var(--line);min-width:96px;color:var(--ink);background:var(--surface);text-align:left;border-radius:12px;flex:none;gap:1px;padding:10px 12px;display:grid}.day-pill span,.day-pill small{color:var(--muted);font-size:.72rem}.day-pill strong{font-size:.9rem}.day-pill.is-active{border-color:var(--portal-accent);background:var(--portal-accent-soft);box-shadow:inset 0 0 0 1px var(--portal-accent)}.time-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;display:grid}.time-grid legend{color:var(--heading);margin-bottom:10px;font-size:.88rem;font-weight:650}.time-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;gap:1px;padding:11px 13px;display:grid;position:relative}.time-option input{opacity:0;pointer-events:none;position:absolute}.time-option:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.time-option strong{color:var(--heading)}.time-option span{color:var(--muted);font-size:.76rem}.time-option:hover{border-color:var(--portal-accent-border)}.time-option.is-selected{border-color:var(--portal-accent);background:var(--portal-accent-soft);box-shadow:inset 0 0 0 1px var(--portal-accent)}.consent-options{gap:10px;display:grid}.consent-option{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.consent-option .card-copy{margin:0}.consent-history{border:1px solid var(--line);background:var(--surface);border-radius:13px;margin:0;padding:0;list-style:none;display:grid}.consent-history li{border-bottom:1px solid #efe6dc;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.consent-history li:last-child{border-bottom:0}.consent-history strong{color:var(--heading);font-size:.9rem}@media (max-width:960px){.app-shell .portal-layout{grid-template-columns:1fr}.app-shell .side-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:6px;padding:10px 16px;overflow-x:auto}.app-shell .nav-heading,.app-shell .nav-footnote{display:none}.app-shell .nav-item{white-space:nowrap;flex:none;min-height:44px}.app-shell .nav-item:hover{transform:none}.app-shell .nav-secondary{border-top:0;border-left:1px solid var(--line);margin:0 0 0 8px;padding:0 0 0 8px;display:flex}.app-shell .nav-link{white-space:nowrap;flex:none}.app-shell .portal-content{padding:30px 20px 48px}.booking-layout,.onboarding-grid{grid-template-columns:1fr}.booking-summary{position:static}.form-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:1fr}}@media (max-width:640px){.app-shell .topbar{gap:10px;padding:0 16px}.app-shell .brand-mark-copy,.app-shell .role-pill,.app-shell .tenant-name{display:none}.app-shell .portal-content{padding:24px 16px 40px}.page-header{flex-direction:column;align-items:stretch}.form-row,.form-row-4{grid-template-columns:1fr}.appointment-item{grid-template-columns:70px minmax(0,1fr)}.appointment-side{grid-column:1/-1;justify-content:flex-start}.consent-option,.consent-history li,.readiness-row{flex-direction:column;align-items:flex-start}.toast-region{max-width:none;bottom:16px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.skeleton-row,.toast{animation:none}}.demo-bar{border-bottom:1px solid var(--warning-border);color:var(--ink);background:var(--warning-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:10px max(28px,50vw - 720px);font-size:.84rem;display:flex}.demo-bar p{margin:0}.demo-switch{align-items:center;gap:8px;display:flex}.demo-switch select,.demo-switch button{border:1px solid var(--warning-border);min-height:36px;color:var(--ink);background:var(--surface);border-radius:8px;padding:0 12px;font-size:.82rem;font-weight:650}.demo-sign-in{gap:16px;margin-top:26px;display:grid}.demo-sign-in .inline-notice{margin:0}.demo-sign-in .field{max-width:320px}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.persona-card{border:1px solid var(--line);color:inherit;background:var(--surface);text-align:left;transition:transform .2s var(--ease-out), border-color .2s ease, box-shadow .2s ease;border-radius:14px;gap:4px;padding:16px;display:grid}.persona-card:hover{border-color:var(--portal-accent-border);transform:translateY(-2px);box-shadow:0 12px 24px #2e223814}.persona-card strong{color:var(--heading);font-size:1rem}.persona-card span{color:var(--muted);font-size:.82rem;line-height:1.5}.persona-card .persona-portal{color:var(--portal-accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.demo-steps{margin:0;padding:0 16px 14px 34px;line-height:1.8}@media (max-width:640px){.demo-bar{padding:10px 16px}}.app-shell .topbar{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);min-height:72px;position:sticky;top:0}.app-shell .portal-layout{width:100%;max-width:none;min-height:calc(100vh - 64px);box-shadow:none;background:0 0;border:0;grid-template-columns:248px minmax(0,1fr)}.app-shell .portal-layout>*{min-width:0}.app-shell .portal-layout{background:linear-gradient(90deg, var(--surface) 0 247px, var(--line) 247px 248px, transparent 248px)}.app-shell .side-nav{background:0 0;border-right:0;gap:2px;height:calc(100vh - 64px);min-height:0;padding:22px 14px;top:64px;overflow-y:auto}.app-shell .nav-heading{color:var(--muted);letter-spacing:.12em;margin:0 10px 10px;font-size:.68rem}.app-shell .nav-item{color:#4f4657;border-radius:9px;gap:11px;min-height:42px;padding:0 12px;font-size:.9rem;font-weight:560;position:relative}.app-shell .nav-item:hover{color:var(--portal-accent-deep);background:var(--pale);transform:none}.app-shell .nav-item.selected{color:var(--portal-accent-deep);background:var(--portal-accent-soft);box-shadow:none;font-weight:700}.app-shell .nav-item.selected:before{content:"";background:var(--portal-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-14px}.nav-icon{opacity:.85;flex:none}.app-shell .nav-secondary{margin-top:14px;padding-top:12px}.app-shell .nav-link{min-height:36px;font-size:.82rem}.app-shell .nav-footnote{margin:auto 10px 0;font-size:.74rem}.app-shell .portal-content{width:100%;max-width:1180px;padding:34px clamp(20px,4vw,52px) 64px}.app-shell .portal-content h1{color:var(--heading);letter-spacing:-.03em;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;margin:0 0 6px;font-size:clamp(1.55rem,2.3vw,1.95rem);font-weight:700;line-height:1.2}.app-shell .eyebrow{color:var(--portal-accent-deep);letter-spacing:.12em;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;margin:0 0 8px;font-size:.7rem}.app-shell .lead{max-width:680px;color:var(--muted);font-size:.97rem;line-height:1.6}.app-shell .page-header{border-bottom:1px solid var(--line);align-items:flex-end;margin-bottom:24px;padding-bottom:20px}.app-shell .sign-in-panel h1,.app-shell .onboarding h1{font-size:clamp(1.8rem,3vw,2.4rem)}.app-shell.portal-shell .button{background:var(--portal-accent);border-radius:9px;font-weight:650;box-shadow:0 1px 2px #2e22381f}.app-shell.portal-shell .button:hover{background:var(--portal-accent-deep);transform:none;box-shadow:0 4px 12px #2e223824}.app-shell.portal-shell .button-light{border:1px solid var(--line);color:var(--ink);background:var(--surface);box-shadow:none}.app-shell.portal-shell .button-light:hover{border-color:var(--portal-accent-border);color:var(--portal-accent-deep);background:var(--portal-accent-soft)}.app-shell.portal-shell .button-danger{background:var(--danger);box-shadow:none}.app-shell.portal-shell .button-danger:hover{background:var(--danger-deep)}.app-shell.portal-shell .button-ghost-danger{border:1px solid var(--line);color:var(--danger);background:var(--surface)}.app-shell.portal-shell .button-ghost-danger:hover{border-color:var(--danger-border);background:var(--danger-soft)}.button-icon{align-items:center;gap:7px;display:inline-flex}.account-chip{border-left:1px solid var(--line);align-items:center;gap:10px;padding-left:14px;display:flex}.account-avatar{color:#fff;background:linear-gradient(135deg, var(--portal-accent), var(--portal-accent-deep));border-radius:50%;place-items:center;width:34px;height:34px;font-size:.76rem;font-weight:750;display:grid}.account-text{line-height:1.25;display:grid}.account-text strong{color:var(--heading);font-size:.84rem}.account-text span{color:var(--muted);font-size:.74rem}.account-signout{width:36px;height:36px;font-size:1rem}.app-shell .tenant-switcher select{border-color:var(--line);min-height:38px}.app-shell .demo-bar{border-color:var(--warning-border);background:var(--warning-soft);padding:7px clamp(16px,2vw,28px);font-size:.82rem}.demo-tag{color:#fff;background:var(--warning);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-right:8px;padding:2px 8px;font-size:.68rem;font-weight:800}.demo-bar-note{color:var(--muted)}.app-shell .demo-switch select,.app-shell .demo-switch button{min-height:32px}.app-shell .inline-notice-mark{font-family:inherit}.app-shell .app-card,.app-shell .stat-tile,.app-shell .table-scroll,.app-shell .appointment-item,.app-shell .action-card,.app-shell .persona-card{box-shadow:var(--shadow-card)}.app-shell .app-card{background:var(--surface)}@media (max-width:960px){.app-shell .side-nav{z-index:20;height:auto;padding:8px 12px;position:sticky;top:64px}.app-shell .portal-layout{grid-template-columns:minmax(0,1fr);display:grid}.app-shell .side-nav{width:100%;max-width:100vw}.app-shell .nav-item.selected:before,.app-shell .nav-secondary,.app-shell .nav-icon,.account-text{display:none}.account-chip{padding-left:10px}}@media (max-width:640px){.demo-bar-note{display:none}.app-shell .page-header{padding-bottom:16px}}.app-shell .stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.app-shell .stat-tile{border-color:var(--line);background:var(--surface);gap:6px;padding:18px 18px 16px;position:relative}.app-shell .stat-tile-link:hover{border-color:var(--portal-accent-border);box-shadow:var(--shadow-raised)}.stat-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-icon{width:32px;height:32px;color:var(--portal-accent-deep);background:var(--portal-accent-soft);border-radius:9px;place-items:center;display:grid}.app-shell .stat-value{font-size:1.85rem}.stat-more{color:var(--portal-accent-deep);opacity:0;align-items:center;gap:4px;margin-top:4px;font-size:.78rem;font-weight:650;transition:opacity .15s;display:inline-flex}.stat-tile-link:hover .stat-more,.stat-tile-link:focus-visible .stat-more{opacity:1}.app-shell .stat-attention{border-color:var(--warning-border);background:linear-gradient(180deg, var(--surface), var(--warning-soft))}.app-shell .stat-attention .stat-icon{color:var(--warning);background:var(--surface)}.member-cell{align-items:center;gap:12px;display:flex}.member-avatar{height:34px;color:var(--blue-deep);background:var(--blue-soft);border-radius:50%;flex:0 0 34px;place-items:center;font-size:.8rem;font-weight:750;display:grid}.member-avatar.role-patient{color:var(--teal-deep);background:var(--teal-soft)}.member-avatar.role-tenant_admin{color:#fff;background:var(--blue)}.schedule-summary{color:var(--muted);margin:-4px 0 12px;font-size:.86rem;font-weight:600}.week-calendar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-day{border-right:1px solid var(--line-soft);min-height:260px;padding:12px 10px}.calendar-day:last-child{border-right:0}.calendar-day.is-today{background:linear-gradient(180deg, var(--portal-accent-soft), transparent 140px)}.calendar-day-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:6px;margin:0 2px 12px;font-size:.76rem;font-weight:650;display:flex}.calendar-day-heading strong{color:var(--heading);letter-spacing:-.02em;font-size:1.15rem}.calendar-day.is-today .calendar-day-heading strong{color:#fff;background:var(--portal-accent);border-radius:50%;place-items:center;min-width:30px;height:30px;font-size:.95rem;display:inline-grid}.calendar-events{gap:6px;margin:0;padding:0;list-style:none;display:grid}.calendar-event{border-left:3px solid var(--portal-accent);background:var(--portal-accent-soft);border-radius:7px;gap:1px;padding:8px 9px;font-size:.76rem;line-height:1.35;display:grid}.calendar-event time{color:var(--portal-accent-deep);font-weight:700}.calendar-event strong{color:var(--heading);font-size:.8rem}.calendar-event span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-day .day-empty{color:#93a9b5;padding:0 2px;font-size:.76rem}.app-shell .day-pill{text-align:center;min-width:78px;padding:10px 12px}.app-shell .day-pill span{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.app-shell .day-pill strong{color:var(--heading);font-size:1.35rem;line-height:1.1}.app-shell .day-pill small{color:var(--portal-accent-deep);margin-top:3px;font-weight:650}.app-shell .time-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.app-shell .time-option{padding:10px 12px}.app-shell .time-option strong{font-size:1rem}.mobile-confirm-bar{display:none}.app-shell .slot-chip{background:var(--surface);gap:12px;padding:8px 10px 8px 12px}.slot-chip-text{line-height:1.25;display:grid}.slot-chip-text strong{color:var(--heading);font-size:.9rem}.slot-chip-text span{color:var(--muted);font-size:.74rem}.app-shell .slot-booked{border-color:var(--success-border);background:var(--success-soft)}@media (max-width:1100px){.week-calendar{grid-template-columns:1fr}.calendar-day{border-right:0;border-bottom:1px solid var(--line-soft);grid-template-columns:64px minmax(0,1fr);gap:12px;min-height:0;display:grid}.calendar-day:last-child{border-bottom:0}.calendar-day-heading{flex-direction:column;gap:0;margin:0}.calendar-day.is-empty{padding-top:8px;padding-bottom:8px}}@media (max-width:960px){.booking-summary{display:none}.mobile-confirm-bar{z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 97%, transparent);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #2e22381a}.mobile-confirm-bar div{min-width:0;display:grid}.mobile-confirm-bar strong{color:var(--heading);font-size:1.05rem}.mobile-confirm-bar span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.booking-layout{padding-bottom:72px}.app-shell .portal-layout{background:0 0}.app-shell .side-nav{border-bottom:1px solid var(--line);background:var(--surface)}}@media (max-width:640px){.app-shell .page-header{align-items:stretch}.app-shell .page-header-actions .button{width:100%}.app-shell .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-shell .stat-tile{padding:14px}.app-shell .stat-value{font-size:1.5rem}.app-shell .stat-hint,.stat-more{display:none}.app-section-heading{flex-wrap:wrap;align-items:flex-start}}.split-panels{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.thread-list,.message-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.thread-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:inherit;text-align:left;cursor:pointer;gap:4px;padding:12px 14px;display:grid}.thread-item.active,.thread-item:hover{border-color:var(--portal-accent-border,var(--blue-border));background:var(--portal-accent-soft,var(--blue-soft))}.thread-item span,.message-item header{color:var(--muted);font-size:.85rem}.message-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--pale);padding:12px 14px}.message-item header{justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.message-item p{white-space:pre-wrap;margin:0}.stack-form{gap:12px;display:grid}.stack-form label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.stack-form input,.stack-form textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:10px 12px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 16px;display:grid}.metric-strip article{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:6px;padding:14px;display:grid}.metric-strip span{color:var(--muted);font-size:.82rem}.verify-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.verify-ocr{white-space:pre-wrap;border:1px solid var(--line,#e9e0d6);background:#f8f4ee;border-radius:10px;max-height:420px;margin:0;padding:12px;font-size:.85rem;overflow:auto}.verify-field+.verify-field{border-top:1px solid var(--border,#e9e0d6);margin-top:4px;padding-top:12px}.verify-field.is-selected{outline:2px solid var(--portal-accent-border);outline-offset:2px}.verify-source-mark{color:#2e2238;background:#f1e8f0;padding:0 2px}.verify-ocr-panel{margin-top:12px}.verify-field.is-low-confidence{border:1px solid color-mix(in srgb, var(--danger,#b94747) 35%, transparent);background:color-mix(in srgb, var(--danger,#b94747) 6%, var(--surface));border-radius:10px;padding:12px}@media (max-width:900px){.split-panels,.verify-split{grid-template-columns:1fr}}.trends-panel{gap:14px;padding:16px;display:grid}.trends-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.trends-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trends-test-select select{border:1px solid var(--line,#e9e0d6);background:var(--surface);min-width:180px;color:var(--midnight,#1e1525);font:inherit;border-radius:10px;padding:8px 12px}.trend-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.trend-summary article{border:1px solid var(--line,#e9e0d6);background:var(--surface);border-radius:10px;gap:2px;padding:12px;display:grid}.trend-summary strong{color:var(--midnight,#1e1525);font-size:1rem}.trend-summary span{color:var(--muted,#6f6677);font-size:.78rem}.trend-chart{border:1px solid var(--line,#e9e0d6);width:100%;color:var(--teal,#6b4f24);background:#fbf8f3;border-radius:12px;overflow:hidden}.trend-chart svg{width:100%;height:auto;display:block}.trend-ref-band{fill:color-mix(in srgb, var(--teal,#6b4f24) 14%, transparent)}.trend-grid{stroke:var(--line,#e9e0d6);stroke-width:1px}.trend-area{fill:url(#trend-fill);color:var(--teal,#6b4f24)}.trend-line{stroke:var(--teal,#6b4f24);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.trend-point{fill:var(--surface);stroke:var(--teal,#6b4f24);stroke-width:2px;cursor:pointer}.trend-point.is-selected{fill:var(--coral,#e36b4f);stroke:var(--coral,#e36b4f)}.trend-point.is-out-of-range:not(.is-selected){stroke:var(--danger,#b94747)}.trend-point.is-out-of-range.is-selected{fill:var(--danger,#b94747);stroke:var(--danger,#b94747)}.trend-axis,.trend-ref-label{fill:var(--muted,#6f6677);font-size:11px}.trend-point-detail{border:1px solid var(--line,#e9e0d6);background:var(--surface);border-radius:10px;padding:10px 12px}.trend-range-badge{border:1px solid var(--line,#e9e0d6);color:var(--muted,#6f6677);background:var(--surface);border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;display:inline-flex}.trend-range-badge.is-out{border-color:color-mix(in srgb, var(--danger,#b94747) 40%, transparent);color:var(--danger,#b94747);background:color-mix(in srgb, var(--danger,#b94747) 8%, var(--surface))}.trend-insights{gap:10px;display:grid}.trend-insight{border:1px solid var(--line,#e9e0d6);background:var(--surface);border-radius:10px;padding:12px 14px}.trend-insight p{color:var(--muted,#6f6677);margin:6px 0 0;font-size:.92rem;line-height:1.45}.trend-insight.is-notable{border-color:color-mix(in srgb, var(--coral,#e36b4f) 45%, transparent);background:color-mix(in srgb, var(--coral,#e36b4f) 7%, var(--surface))}table tr.is-selected-row td{background:color-mix(in srgb, var(--teal,#6b4f24) 8%, var(--surface))}@media (max-width:700px){.trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.consult-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;display:grid}.consult-side{min-width:0}@media (max-width:960px){.consult-layout{grid-template-columns:1fr}}.app-shell.is-signed-out .portal-layout{background:0 0;display:block}.app-shell.is-signed-out .side-nav{display:none}.app-shell.is-signed-out .portal-content{max-width:1000px;margin:0 auto;padding-top:48px}.app-shell.is-signed-out .sign-in-panel{max-width:none}html[data-theme=dark] .portal-shell.app-shell{--ink:#f3edf5;--midnight:#1a1220;--heading:#f8f3f9;--danger:#f97066;--muted:#c2b3cc;--line:#3f3248;--line-soft:#2f2538;--surface:#251c2e;--canvas:#1a1220;--pale:#2d2336;--teal-soft:#33281a;--teal-border:#6b5530;--blue-soft:#33263d;--blue-border:#574468;--danger-soft:#3a1816;--danger-border:#7a3530;--success-soft:#33281a;--success-border:#6b5530;--info-soft:#33263d;--info-border:#574468;--warning:#e0b45a;--warning-soft:#3a2e12;--warning-border:#8a6a20;--shadow-card:0 1px 2px #00000059;--shadow-raised:0 8px 24px #00000073}html[data-theme=contrast] .portal-shell.app-shell{--ink:#fff;--midnight:#000;--heading:#fff;--muted:#e0e0e0;--line:#fff;--line-soft:#333;--surface:#000;--canvas:#000;--pale:#111;--teal:#5dffc8;--teal-deep:#5dffc8;--teal-soft:#002218;--teal-border:#5dffc8;--blue:#7ec8ff;--blue-deep:#7ec8ff;--blue-soft:#001528;--blue-border:#7ec8ff;--danger:#ff8a80;--danger-soft:#2a0000;--danger-border:#ff8a80;--success:#5dffc8;--success-soft:#002218;--success-border:#5dffc8;--info:#7ec8ff;--info-soft:#001528;--info-border:#7ec8ff;--warning:#ffd36a;--warning-soft:#221800;--warning-border:#ffd36a;--shadow-card:none;--shadow-raised:none}html[data-theme=dark] .app-shell .data-table th,html[data-theme=contrast] .app-shell .data-table th{color:var(--ink);background:var(--pale)}html[data-theme=dark] .app-shell .data-table td,html[data-theme=contrast] .app-shell .data-table td{border-bottom-color:var(--line)}html[data-theme=dark] .app-shell .data-table tbody tr:hover,html[data-theme=contrast] .app-shell .data-table tbody tr:hover{background:var(--pale)}html[data-theme=contrast] .badge{border-width:2px;font-weight:700}.demo-bar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.demo-tour-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:650}.demo-tour-btn:hover{border-color:var(--portal-accent);color:var(--portal-accent-deep)}.mock-sso-actions{gap:8px;margin:12px 0 18px;display:grid}.mock-sso-caption{color:var(--muted);max-width:42rem;margin:0;font-size:.88rem}.mock-sso-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mock-sso-option{border:1px solid var(--line);background:var(--pale);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:14px;display:grid}.mock-sso-option:hover,.mock-sso-option:focus-visible{border-color:var(--portal-accent);outline:none}.mock-sso-badge{background:var(--surface);border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;width:fit-content;color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.mock-sso-steps{color:var(--muted);margin:0 0 14px;padding-left:1.2rem;font-size:.9rem;line-height:1.5}.sandbox-tour{z-index:80;grid-template-columns:minmax(0,1fr);place-items:end center;padding:24px;display:grid;position:fixed;inset:0}@media (max-width:640px){.sandbox-tour{padding:16px}}.sandbox-tour-backdrop{cursor:pointer;background:#2e223873;border:0;position:absolute;inset:0}.sandbox-tour-card{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-raised);animation:sandbox-tour-in .28s var(--ease-out,ease) both;border-radius:16px;margin-bottom:12px;padding:22px;position:relative}@keyframes sandbox-tour-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.sandbox-tour-progress{gap:6px;margin-bottom:12px;display:flex}.sandbox-tour-progress span{background:var(--line);border-radius:999px;flex:1;height:4px}.sandbox-tour-progress span.is-active{background:var(--portal-accent,var(--blue))}.sandbox-tour-kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:700}.sandbox-tour-card h2{margin:0 0 8px;font-size:1.25rem}.sandbox-tour-card p{color:var(--muted);margin:0 0 10px}.sandbox-tour-hint{background:var(--pale);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.86rem;color:var(--ink)!important}.sandbox-tour-link{color:var(--portal-accent-deep,var(--blue-deep));margin-bottom:14px;font-weight:650;display:inline-block}.sandbox-tour-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px;display:flex}.sandbox-tour-nav{gap:8px;display:flex}.readiness-workflow{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}.readiness-workflow-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.readiness-workflow-head h3{margin:0 0 4px;font-size:1rem}.readiness-workflow-head p{color:var(--muted);margin:0 0 14px;font-size:.9rem}.readiness-workflow-actions{justify-items:end;gap:6px;max-width:280px;display:grid}.simulate-onboarding-caption,.simulate-onboarding-hint{text-align:right;margin:0;font-size:.78rem;line-height:1.4}.simulate-onboarding-dialog{z-index:80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.simulate-onboarding-backdrop{cursor:pointer;background:#2e223873;border:0;position:absolute;inset:0}.simulate-onboarding-card{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-card);border-radius:16px;gap:14px;padding:22px;display:grid;position:relative}.simulate-onboarding-card h2{margin:0;font-size:1.25rem}.simulate-onboarding-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sim-step{border:1px solid var(--line);background:var(--pale);border-radius:12px;grid-template-columns:28px 1fr;align-items:start;gap:12px;padding:10px 12px;display:grid}.sim-step strong{margin-bottom:2px;display:block}.sim-step span{color:var(--muted);font-size:.84rem}.sim-index{border:2px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:inline-grid}.sim-active{border-color:var(--portal-accent-border);background:var(--portal-accent-soft)}.sim-active .sim-index{border-color:var(--portal-accent-border);color:var(--portal-accent-deep)}.sim-complete{border-color:color-mix(in srgb, #86632f 35%, var(--line));background:var(--teal-soft,#f4ecdf)}.sim-complete .sim-index{color:#6b4f24;border-color:#86632f}.simulate-onboarding-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.readiness-workflow-steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.rw-step{grid-template-columns:28px 1fr;gap:12px;padding:12px 0;display:grid;position:relative}.rw-index{border:2px solid var(--line);background:var(--pale);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:inline-grid}.rw-complete .rw-index{border-color:var(--success);color:var(--success);background:var(--success-soft)}.rw-review .rw-index{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.rw-pending .rw-index{border-color:var(--info);color:var(--info);background:var(--info-soft)}.rw-blocked .rw-index{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.rw-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.rw-body p{color:var(--muted);margin:4px 0 0;font-size:.88rem}.rw-link{color:var(--portal-accent-deep);margin-top:6px;font-size:.84rem;font-weight:650;display:inline-block}.rw-connector{background:var(--line);width:2px;position:absolute;top:40px;bottom:-4px;left:13px}.app-shell .section-kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.demo-seed-card{border-color:var(--portal-accent-border);background:var(--portal-accent-soft);margin-bottom:18px}.demo-seed-card .card-copy{margin-bottom:14px}.clinical-workboard{gap:16px;display:grid}.workboard-stats{margin:0}.workboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workboard-panel{padding:16px}.workboard-panel header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.workboard-panel h3{margin:0;font-size:.95rem}.workboard-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.workboard-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.workboard-list li:first-child{border-top:0;padding-top:0}.workboard-list strong{font-size:.9rem;display:block}.workboard-list span{color:var(--muted);font-size:.8rem}.workboard-actions{margin-top:4px}@media (max-width:900px){.workboard-grid{grid-template-columns:1fr}}.health-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.health-timeline-item{grid-template-columns:16px 1fr;gap:12px;padding:0 0 14px;display:grid;position:relative}.health-timeline-rail{width:12px;position:relative}.health-timeline-rail:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:-14px;left:4px}.health-timeline-item:last-child .health-timeline-rail:before{display:none}.health-timeline-rail:after{content:"";border:2px solid var(--portal-accent);background:var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:10px;left:0}.health-timeline-item.kind-observation .health-timeline-rail:after{border-color:var(--success)}.health-timeline-item.kind-document .health-timeline-rail:after{border-color:var(--info)}.health-timeline-card{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:12px;gap:4px;padding:12px 14px;text-decoration:none;display:grid}a.health-timeline-card:hover{border-color:var(--portal-accent-border);background:var(--portal-accent-soft)}.health-timeline-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.health-timeline-kind{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:700}.health-timeline-title{font-size:.95rem}.health-timeline-summary,.health-timeline-source{color:var(--muted);margin:0;font-size:.86rem}.audit-integrity{border:1px solid var(--line);background:var(--pale);border-radius:14px;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:16px;margin-bottom:18px;padding:16px 18px;display:grid}.audit-integrity strong{margin:4px 0 6px;display:block}.audit-integrity p{color:var(--muted);margin:0;font-size:.88rem}.audit-chain{gap:8px;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.audit-chain li{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.audit-chain code{font-weight:700}.audit-chain em{color:var(--muted);font-style:normal}.consent-scope-chips{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.consent-scope-chips li{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:650}.consent-scope-chips li.is-shared{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.consent-scope-chips li.is-restricted{border-color:var(--line);color:var(--muted);background:var(--pale)}.consent-payload-preview{border:1px solid var(--line);background:var(--pale);border-radius:12px;margin-top:14px;padding:14px 16px}.consent-payload-preview strong{margin:4px 0;display:block}.consent-payload-preview p{color:var(--muted);margin:0;font-size:.9rem}@media (max-width:800px){.audit-integrity{grid-template-columns:1fr}.sandbox-tour{place-items:center}}.records-pipeline{flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.records-pipeline li{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:650;display:inline-flex}.records-pipeline li.is-active{border-color:var(--portal-accent-border);background:var(--portal-accent-soft);color:var(--portal-accent-deep)}.records-pipeline li.is-done{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.records-pipeline-step{letter-spacing:.04em;font-size:.7rem;font-weight:780}.records-workspace{gap:18px;display:grid}.records-workspace.has-drawer{grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);align-items:start}.record-drawer{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;gap:16px;padding:16px;display:grid;position:sticky;top:88px}.record-drawer-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.record-drawer-head h2{margin:4px 0 6px;font-size:1.05rem}.record-drawer-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:750}.record-drawer-preview{border:1px solid var(--line);background:var(--pale);border-radius:12px;min-height:180px;overflow:hidden}.record-drawer-preview img,.record-drawer-preview iframe{background:#fff;border:0;width:100%;min-height:220px;display:block}.record-drawer-preview img{object-fit:contain;max-height:280px}.record-extract-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;font-size:.86rem;display:flex}.record-field-list{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.record-field-list li{border:1px solid var(--line);background:var(--pale);border-radius:10px;padding:12px}.record-field-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.record-field-list p{margin:0 0 4px;font-weight:650}.record-field-list small{color:var(--muted)}.confidence-pill{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.confidence-pill.tone-ok{background:var(--success-soft);color:var(--success)}.confidence-pill.tone-warn{background:var(--warning-soft);color:var(--warning)}.confidence-pill.tone-low{background:var(--danger-soft);color:var(--danger)}.text-button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.text-button:hover{color:var(--portal-accent-deep)}tr.is-selected-row td{background:var(--portal-accent-soft)}.chart-workspace{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);align-items:start;gap:18px;display:grid}.chart-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chart-tabs-secondary{border-top:1px dashed var(--line);margin-top:-6px;margin-bottom:16px;padding-top:8px}.chart-tab{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);font:inherit;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.84rem;font-weight:650;display:inline-flex}.chart-tab.is-active{border-color:var(--portal-accent-border);background:var(--portal-accent-soft);color:var(--portal-accent-deep)}.chart-tab-planned{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.patient-chart-header{margin-bottom:16px;padding:16px}.chart-header-note{margin:12px 0 0}.upload-dropzone{border:1.5px dashed var(--portal-accent-border);background:var(--portal-accent-soft);border-radius:14px;justify-items:start;gap:8px;margin-bottom:16px;padding:20px;display:grid}.upload-dropzone.is-active{box-shadow:inset 0 0 0 1px var(--portal-accent-border);border-style:solid}.upload-dropzone.is-busy{opacity:.7;pointer-events:none}.notification-chip{background:var(--portal-accent-soft);min-height:32px;color:var(--portal-accent-deep);border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.chart-panel{min-width:0}.previsit-panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--portal-accent-soft), var(--surface) 42%);box-shadow:var(--shadow-card);border-radius:14px;gap:12px;padding:18px;display:grid;position:sticky;top:88px}.previsit-panel h2{margin:0;font-size:1.15rem}.previsit-bullets{color:var(--ink);margin:0;padding-left:18px;font-size:.92rem;line-height:1.55}.previsit-sources ul{margin:0;padding:0;list-style:none}.previsit-sources li+li{margin-top:6px}.consult-workspace{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr) minmax(260px,.95fr);align-items:stretch;gap:14px;min-height:560px;display:grid}.consult-pane{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;align-content:start;gap:12px;padding:16px;display:grid}.consult-pane h2{margin:0;font-size:1.05rem}.consult-video{background:linear-gradient(160deg,#2e2238,#34243e 70%,#6b4f24);border-radius:12px;min-height:280px;position:relative;overflow:hidden}.consult-video-frame{color:#fff;text-align:center;place-content:center;gap:6px;min-height:280px;padding:24px;display:grid}.consult-video.is-live .consult-video-frame{background:radial-gradient(circle at 30% 20%,#e6c27e47,#0000 40%)}.consult-self-view{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border-radius:10px;place-items:center;width:96px;height:72px;font-size:.78rem;font-weight:700;display:grid;position:absolute;bottom:12px;right:12px}.consult-controls{flex-wrap:wrap;gap:8px;display:flex}.consult-chart-links{margin:0;padding-left:18px}.consult-chart-card{border:1px solid var(--line);background:var(--pale);border-radius:10px;padding:12px 14px}.consult-chart-card strong{margin-bottom:4px;display:block}.consult-chart-card p{color:var(--muted);margin:0;font-size:.9rem}.consult-notes-label{font-size:.82rem;font-weight:700}.consult-notes{border:1px solid var(--line);background:var(--pale);width:100%;min-height:180px;color:var(--ink);resize:vertical;font:inherit;border-radius:10px;padding:12px}.consult-tasks{margin:0;padding:0;list-style:none}.consult-tasks li+li{margin-top:8px}.consult-tasks label{align-items:flex-start;gap:8px;font-size:.9rem;display:flex}@media (max-width:1100px){.records-workspace.has-drawer,.chart-workspace,.consult-workspace{grid-template-columns:1fr}.record-drawer,.previsit-panel{position:static}}.breadcrumbs{margin:0 0 12px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:.82rem;font-weight:600;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:var(--line);margin-left:6px;font-weight:500}.breadcrumbs a{color:var(--portal-accent-deep);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink)}.search-field{min-width:min(100%,280px);display:grid;position:relative}.search-field-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field input[type=search]{border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--surface);width:100%;min-height:42px;color:var(--ink);font:inherit;padding:10px 12px 10px 36px}.search-field input[type=search]:focus{border-color:var(--portal-accent-border);outline:none;box-shadow:0 0 0 3px #5b3f6633}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.patient-dashboard-main{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-spotlight,.dashboard-quick-actions{padding:18px}.action-grid-compact{grid-template-columns:1fr 1fr}.dashboard-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-list li{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.dashboard-list strong{font-size:.92rem;display:block}.dashboard-list .muted{margin-top:2px;font-size:.78rem;display:block}.care-reminder-list{color:var(--ink);margin:0;padding-left:18px;line-height:1.55}.care-reminder-list li+li{margin-top:8px}.app-card-default{padding:18px}.app-card-compact{padding:14px}.app-card-none{padding:0}.records-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.records-filter{min-width:160px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.skeleton-block{background:linear-gradient(90deg, var(--pale), var(--surface), var(--pale));background-size:200% 100%;border-radius:999px;height:14px;animation:1.2s ease-in-out infinite skeleton-shimmer;display:block}.side-nav .nav-item.selected{color:var(--portal-accent-deep);background:var(--portal-accent-soft);font-weight:700}.side-nav .nav-item:focus-visible{outline:3px solid var(--portal-accent);outline-offset:2px}@media (max-width:1023px){.dashboard-grid,.patient-dashboard-main,.action-grid-compact{grid-template-columns:1fr}}@media (max-width:767px){.records-toolbar{align-items:stretch}.records-filter,.search-field{width:100%;min-width:0}.dashboard-list li{flex-direction:column;align-items:flex-start}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.app-shell.platform-shell{--portal-accent:#5b5bd6;--portal-accent-deep:#4343b0;--portal-accent-soft:#eeeefc;--portal-accent-border:#c9c9f4}html[data-theme=dark] .app-shell.clinic-shell{--portal-accent:#cdb0dc;--portal-accent-deep:#cdb0dc;--portal-accent-soft:#33263d;--portal-accent-border:#574468}html[data-theme=dark] .app-shell.patient-shell{--portal-accent:#d9b77e;--portal-accent-deep:#e6c27e;--portal-accent-soft:#33281a;--portal-accent-border:#6b5530}html[data-theme=dark] .app-shell.platform-shell{--portal-accent:#8b8bf0;--portal-accent-deep:#b9b9ff;--portal-accent-soft:#23234a;--portal-accent-border:#45459a}html[data-theme=contrast] .portal-shell.app-shell{--portal-accent:#ffd36a;--portal-accent-deep:#ffd36a;--portal-accent-soft:#221800;--portal-accent-border:#ffd36a}html[data-theme=dark] .app-shell .nav-item,html[data-theme=contrast] .app-shell .nav-item{color:var(--ink)}html[data-theme=dark] .toast,html[data-theme=contrast] .toast{border:1px solid var(--line)}.topbar-start{align-items:center;gap:6px;min-width:0;display:flex}.nav-toggle{color:var(--ink);display:none}.app-shell kbd{border:1px solid var(--line);color:var(--muted);background:var(--surface);font:inherit;border-radius:5px;padding:1px 6px;font-size:.7rem;font-weight:650;line-height:1.5;display:inline-block}.command-trigger{border:1px solid var(--line);min-width:210px;min-height:38px;color:var(--muted);background:var(--canvas);border-radius:10px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:.84rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.command-trigger:hover{border-color:var(--portal-accent-border);color:var(--ink)}.command-trigger:focus-visible{outline:3px solid var(--portal-accent);outline-offset:2px}.command-trigger kbd{margin-left:auto}.app-dialog.command-palette{width:min(600px,100vw - 32px);margin:12vh auto auto}.command-input{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.app-shell .command-input input,.app-shell .command-input input:focus{min-width:0;min-height:0;box-shadow:none;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:1rem}.command-results{max-height:min(420px,55vh);margin:0;padding:8px;list-style:none;overflow-y:auto}.command-results li{color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:560;display:flex}.command-results li svg{color:var(--muted);flex:none}.command-results li.is-active{color:var(--portal-accent-deep);background:var(--portal-accent-soft)}.command-results li.is-active svg{color:currentColor}.command-result-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.command-result-group{color:var(--muted);flex:none;margin-left:auto;font-size:.75rem;font-weight:600}.command-empty{color:var(--muted);text-align:center;margin:0;padding:22px 16px;font-size:.88rem}.command-hint{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:10px 16px;font-size:.75rem}.nav-group{gap:1px;margin-top:12px;display:grid}.nav-group:first-of-type{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.nav-group-heading{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 12px 4px;font-size:.66rem;font-weight:750}.app-shell .nav-link{gap:10px;min-height:34px}.app-shell .nav-link .nav-icon{opacity:.75}.app-shell .nav-link:focus-visible{outline:3px solid var(--portal-accent);outline-offset:2px}.app-shell .nav-link.selected{font-weight:700}.nav-backdrop{display:none}.toast{align-items:flex-start;gap:10px;padding-right:8px;display:flex}.toast-icon{flex:none;margin-top:2px}.toast-message{flex:1;line-height:1.45}.toast-close{width:24px;height:24px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.toast-close:hover,.toast-close:focus-visible{opacity:1;background:#ffffff24}@media (max-width:960px){.nav-toggle{display:grid}body.nav-drawer-open{overflow:hidden}.app-shell .portal-layout .side-nav{z-index:60;width:min(300px,86vw);max-width:none;height:100dvh;padding:20px 14px calc(20px + env(safe-area-inset-bottom));border-right:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-raised);visibility:hidden;transition:transform .25s var(--ease-out,ease), visibility 0s linear .25s;border-bottom:0;flex-direction:column;align-items:stretch;gap:2px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-shell .portal-layout .side-nav.is-open{visibility:visible;transition:transform .25s var(--ease-out,ease);transform:none}.app-shell .portal-layout .side-nav .nav-heading,.app-shell .portal-layout .side-nav .nav-footnote{display:block}.app-shell .portal-layout .side-nav .nav-footnote{margin-top:18px}.app-shell .portal-layout .side-nav .nav-icon{display:inline-block}.app-shell .portal-layout .side-nav .nav-item{white-space:normal;flex:none}.nav-backdrop.is-open{z-index:55;background:#2e22386b;display:block;position:fixed;inset:0}}@media (max-width:640px){.command-trigger{min-width:0;padding:0 10px}.command-trigger-label,.command-trigger kbd{display:none}.app-dialog.command-palette{margin-top:8vh}}@media (prefers-reduced-motion:reduce){.app-shell .portal-layout .side-nav,.app-shell .portal-layout .side-nav.is-open{transition:none}}html[data-theme=dark] .app-shell.portal-shell .button-danger{background:#b94747}.app-shell .portal-layout,.app-shell .portal-content{position:relative}.page-backdrop{pointer-events:none;background-repeat:no-repeat;background-size:cover;height:clamp(280px,42vh,400px);position:absolute;top:0;left:248px;right:0}.page-backdrop:after{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--canvas) 18%, transparent) 0%, color-mix(in srgb, var(--canvas) 58%, transparent) 50%, var(--canvas) 100%), linear-gradient(100deg, color-mix(in srgb, var(--portal-accent,#5b3f66) 34%, transparent) 0%, transparent 65%);position:absolute;inset:0}.app-shell.is-signed-out .page-backdrop{left:0}html[data-theme=dark] .page-backdrop{filter:saturate(.75)brightness(.55)}html[data-theme=contrast] .page-backdrop{display:none}@media (max-width:960px){.page-backdrop{height:260px;left:0}}@media print{.page-backdrop{display:none}}.app-shell .portal-content{padding-top:clamp(40px,6vh,64px)}.app-shell .page-header{border:1px solid color-mix(in srgb, var(--surface) 65%, transparent);background:color-mix(in srgb, var(--surface) 82%, transparent);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:20px;align-items:center;margin-bottom:22px;padding:22px 26px;position:relative;overflow:hidden}.app-shell .page-header:before{content:"";background:linear-gradient(180deg, var(--portal-accent,#5b3f66), color-mix(in srgb, var(--portal-accent,#5b3f66) 30%, transparent));width:4px;position:absolute;top:0;bottom:0;left:0}.app-shell .page-header .eyebrow{background:var(--portal-accent-soft,var(--pale));border-radius:999px;width:fit-content;padding:4px 10px;display:inline-flex}.app-shell .page-header .lead{margin-bottom:0}@media (max-width:640px){.app-shell .portal-content{padding-top:28px}.app-shell .page-header{border-radius:16px;padding:18px 18px 18px 20px}}.app-shell .app-card,.app-shell .stat-tile{border-radius:16px}.app-shell .stat-tile-link{transition:transform .18s,box-shadow .18s,border-color .18s}.app-shell .stat-tile-link:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.app-shell .stat-tile-link,.calendar-event{transition:none}.app-shell .stat-tile-link:hover,.calendar-event:hover{transform:none}}.schedule-stats{margin:0 0 18px}.week-toolbar{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;justify-content:space-between;padding:10px 12px 10px 16px}.week-range{color:var(--heading);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:700;display:inline-flex}.week-range svg{color:var(--portal-accent-deep)}.week-range-tag{color:var(--portal-accent-deep);background:var(--portal-accent-soft);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700}.week-nav{border:1px solid var(--line);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.week-nav button{border:0;border-right:1px solid var(--line);min-width:40px;min-height:38px;color:var(--ink);background:0 0;place-items:center;padding:0 14px;font-size:.84rem;font-weight:650;display:inline-grid}.week-nav button:last-child{border-right:0}.week-nav button:hover:not(:disabled){color:var(--portal-accent-deep);background:var(--portal-accent-soft)}.week-nav button:focus-visible{outline:2px solid var(--portal-accent);outline-offset:-2px}.app-shell .week-nav button:disabled{color:var(--muted);opacity:1}.week-calendar{border-radius:18px}.calendar-day{min-height:300px}.calendar-event{border-radius:9px;gap:2px;padding:9px 10px;transition:transform .15s,box-shadow .15s}.calendar-event:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2e22381a}.calendar-event .row-actions{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.app-shell.portal-shell .calendar-event .button-small{border-radius:7px;min-height:28px;padding:0 10px;font-size:.72rem}.calendar-event:not(.status-booked){border-left-color:var(--line);background:var(--pale);opacity:.8}.calendar-event:not(.status-booked) strong{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.calendar-event-status{width:fit-content;color:var(--muted);background:var(--surface);border-radius:999px;margin-top:4px;padding:1px 7px;font-size:.68rem;font-weight:700}@media (max-width:640px){.week-toolbar{padding:10px}.week-range{font-size:.92rem}}.app-shell .portal-content:has(.mg-embed){max-width:none;padding:0}.portal-layout:has(.mg-embed) .page-backdrop{display:none}.mg-embed{background:#faf7f2;flex-direction:column;height:calc(100dvh - 72px);min-height:480px;display:flex}.mg-embed-bar{color:#f4ecdf;background:#2e1a3a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 16px;font-size:.8rem;display:flex}.app-shell .portal-content .mg-embed-bar h1{color:#f4ecdf;letter-spacing:0;align-items:center;gap:10px;margin:0;font-size:.95rem;font-weight:700;display:flex}.mg-embed-bar h1 span{border-left:1px solid #f4ecdf4d;padding-left:10px}.mg-embed-bar p{color:#d8c8b4;margin:0}.mg-embed-bar a{color:#e6c27e;font-weight:700;text-decoration:none}.mg-embed-bar a:hover{text-decoration:underline}.mg-embed iframe{background:#faf7f2;border:0;flex:1;width:100%}@media (max-width:960px){.mg-embed{height:calc(100dvh - 64px)}.mg-embed-bar p{display:none}}@media print{.mg-embed-bar{display:none}}.app-shell .side-nav{background:#f6f2ec;box-shadow:inset -1px 0 #e6dbcf}html[data-theme=dark] .app-shell .side-nav{background:#1e1525;box-shadow:inset -1px 0 #3f3248}html[data-theme=contrast] .app-shell .side-nav{background:#000;box-shadow:inset -1px 0 #fff}.app-shell.portal-shell .button:not(.button-light),.app-shell.portal-shell .button:not(.button-light):hover{color:#fff}
