:root{--background:#f5f8f9;--surface:#ffffff;--surface-muted:#edf5f7;--text:#122832;--muted:#60747c;--line:#d6e2e5;--brand:#005573;--brand-strong:#003e56;--brand-soft:#007196;--accent:#f79421;--danger:#a43d3d;--warning:#b76612;--shadow:0 6px 20px rgba(14,40,51,0.06),0 1px 3px rgba(14,40,51,0.05)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--text);font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{background:#ffffff;border-right:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:8px;background:var(--brand);color:#ffffff;display:grid;place-items:center;font-weight:700}.brand-symbol{width:42px;height:42px;object-fit:contain;flex:0 0 auto}.brand h1{margin:0;font-size:21px}.brand p,.meta,.microcopy,.profile p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.nav{display:grid;grid-gap:8px;gap:8px}.nav button,.patient-button{border:0;background:transparent;color:var(--text);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left}.nav button.active,.nav button:hover,.patient-button.active,.patient-button:hover{background:var(--surface-muted)}.profile{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.main{align-content:start;grid-gap:22px;gap:22px}.main,.patient-intake-page{padding:28px;display:grid;align-items:start}.patient-intake-page{min-height:100vh;background:linear-gradient(180deg,#f6fafb,#ffffff);justify-items:center}.patient-intake-panel{width:min(100%,960px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:24px;display:grid;grid-gap:20px;gap:20px}.patient-intake-panel.compact{width:min(100%,520px)}.intake-header{border-bottom:1px solid var(--line);padding-bottom:18px}.intake-header h1,.patient-intake-panel h1{margin:0 0 8px;font-size:32px}.patient-intake-form{display:grid;grid-gap:16px;gap:16px}.intake-success{display:flex;align-items:flex-start;gap:14px;border:1px solid #83c79b;border-radius:8px;background:#f1fbf4;color:#1d6b3a;padding:18px}.intake-success h2{margin:0 0 6px}.intake-success p{margin:0;color:#1d6b3a}.intake-success p+p{margin-top:8px}.intake-success a{color:#1d6b3a;font-weight:700}.intake-portal-notice{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;background:rgba(0,85,115,.08);border-radius:8px;color:var(--brand-strong)}.intake-portal-notice p{margin:0;color:var(--brand-strong);font-size:14px}.intake-portal-notice a{color:var(--brand-strong);font-weight:700}.intake-photo-section{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0 8px}.intake-photo-picker{position:relative;width:100px;height:100px;border-radius:50%;border:2px dashed var(--line);background:var(--surface-muted);cursor:pointer;overflow:visible;transition:border-color .2s,background .2s;padding:0;display:flex;align-items:center;justify-content:center}.intake-photo-picker:hover{border-color:var(--brand);background:#eaf4f8}.intake-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.intake-photo-preview{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.intake-photo-badge{position:absolute;bottom:2px;right:2px;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);pointer-events:none}.intake-photo-hint{margin:0;font-size:12px;color:var(--muted);text-align:center}.intake-portal-section{border-color:var(--brand);background:linear-gradient(180deg,#f0f8fb,#ffffff)}.intake-portal-header{display:flex;align-items:flex-start;gap:12px}.intake-portal-icon{width:36px;height:36px;border-radius:8px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.intake-portal-header h3{margin:0 0 4px}.intake-portal-header .microcopy{margin:0}.intake-optional-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-muted);padding:2px 7px;border-radius:20px;vertical-align:middle}.form-error{color:var(--danger)}.form-error,.form-success{margin:0;font-size:14px;font-weight:700}.form-success{color:var(--brand)}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.eyebrow{margin:0 0 6px;color:var(--brand);font-size:13px;font-weight:700;text-transform:uppercase}h2,h3,p{margin-top:0}h2{margin-bottom:8px;font-size:28px}h3{margin-bottom:12px;font-size:18px}.grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel-body,.panel-header{padding:18px}.panel-header{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-list{display:grid;grid-gap:8px;gap:8px;padding:8px}.patient-button{width:100%;justify-content:flex-start}.patient-button>span{min-width:0;width:100%}.patient-card-panel{width:100%;display:flex;flex-direction:column;gap:16px}.patient-card-panel-header{display:flex;align-items:center;gap:14px;padding:4px 0}.patient-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.patient-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);cursor:pointer;text-align:left;transition:box-shadow .18s,transform .18s,border-color .18s;padding:0}.patient-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);border-color:#c8d8e8}.patient-card.active{border-color:var(--primary,#6b3fa0);box-shadow:0 4px 16px rgba(107,63,160,.15)}.patient-card-stripe{height:5px;width:100%;flex-shrink:0}.patient-card-stripe[data-color=blue]{background:#3b82f6}.patient-card-stripe[data-color=green]{background:#22c55e}.patient-card-stripe[data-color=purple]{background:#8b5cf6}.patient-card-stripe[data-color=orange]{background:#f97316}.patient-card-stripe[data-color=teal]{background:#14b8a6}.patient-card-stripe[data-color=red]{background:#ef4444}.patient-card-stripe[data-color=indigo]{background:#6366f1}.patient-card-stripe[data-color=amber]{background:#d97706}.patient-card-body{display:flex;flex-direction:column;gap:12px;padding:16px}.patient-card-header{display:flex;align-items:flex-start;gap:12px}.patient-avatar-md{width:48px!important;height:48px!important;font-size:1rem!important;flex-shrink:0}.patient-card-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.patient-card-name{font-weight:700;font-size:.9rem;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-card-meta{font-size:.78rem;color:var(--muted);display:block}.patient-consent-tag{flex-shrink:0;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534;white-space:nowrap}.patient-consent-tag.pending{background:#fff3cd;color:#92400e}.patient-card-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);margin:0 -16px -16px;padding:0}.patient-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-right:1px solid var(--line)}.patient-stat-item:last-child{border-right:none}.patient-stat-item strong{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1}.patient-stat-item span{font-size:.65rem;color:var(--muted);text-align:center;line-height:1.2}.patient-stat-item.stat-success strong{color:#16a34a}.patient-stat-item.stat-danger strong{color:#dc2626}.patient-stat-item.stat-progress strong{color:#d97706}.patient-status-note{display:inline-flex;margin-top:6px;border-radius:999px;padding:4px 8px;background:#fff2df;color:var(--warning);font-size:12px;font-weight:800}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#ffffff;color:var(--text)}.field textarea{min-height:90px;resize:vertical}.stack{display:grid;grid-gap:14px;gap:14px}.actions,.status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.checkbox-row{display:flex;gap:8px;color:var(--muted);font-size:14px}.badge,.checkbox-row{align-items:center;font-weight:700}.badge{display:inline-flex;gap:6px;border-radius:999px;padding:6px 10px;font-size:13px;background:var(--surface-muted);color:var(--brand-strong)}.badge.warning{color:var(--warning);background:#fff2df}.badge.success{color:#1d6b3a;background:#e6f6eb}.badge.danger,.badge.recording{color:#ffffff;background:var(--danger)}.btn{border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);min-height:40px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.btn.primary{background:var(--brand);border-color:var(--brand);color:#ffffff}.btn.primary:hover{background:var(--brand-soft);border-color:var(--brand-soft)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#ffffff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{opacity:.85}.spinner{animation:spin .8s linear infinite;flex:0 0 auto}.pending-note{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--brand-strong);font-size:14px;font-weight:700}@keyframes spin{to{transform:rotate(1turn)}}.recording-panel{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fbfcfb;display:grid;grid-gap:16px;gap:16px}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 18px}.tabs button{border:0;background:transparent;padding:14px 10px;color:var(--muted);font-weight:700;border-bottom:2px solid transparent}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.evolution-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px}.history{display:grid;grid-gap:10px;gap:10px}.history-item{border:1px solid var(--line);border-radius:8px;padding:14px;background:#ffffff}.session-select{width:100%;color:inherit;text-align:left}.session-select.active{border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,85,115,.14)}audio{width:100%}.session-picker{width:min(560px,100%)}.session-workspace{width:100%}.session-steps{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:4px;margin-bottom:16px}.session-steps button{border:0;border-radius:6px;background:transparent;color:var(--muted);min-height:34px;padding:8px 14px;font-weight:800}.session-steps button.active{background:var(--surface-muted);color:var(--brand-strong)}.session-steps button:disabled{opacity:.45;cursor:not-allowed}.session-list{display:grid}.session-list-row{width:100%;border:0;border-top:1px solid var(--line);background:#ffffff;color:var(--text);padding:16px 22px;display:grid;grid-template-columns:minmax(90px,.7fr) minmax(110px,.9fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(140px,1fr) auto;grid-gap:14px;gap:14px;align-items:center;text-align:left}.session-list-row:hover{background:#fbfdfe}.session-list-row span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.session-list-row strong{display:inline-flex;margin-top:4px}.session-list-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.consent-warning{border:1px solid #f2ca8a;border-radius:8px;background:#fff8eb;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.consent-warning p{margin:4px 0 0;color:var(--muted)}.session-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.session-detail-layout .recording-panel{min-width:0}.session-detail-layout .evolution-grid{grid-template-columns:1fr}.session-detail-layout .evolution-grid textarea{min-height:210px}.session-detail-layout .field textarea{font-size:16px;line-height:1.5}.session-detail-layout .transcript-field textarea{min-height:340px}.session-detail-layout .field input:focus,.session-detail-layout .field select:focus,.session-detail-layout .field textarea:focus{outline:2px solid rgba(0,85,115,.18);border-color:var(--brand)}@media (max-width:980px){.app-shell,.columns,.evolution-grid,.feature-band,.grid,.hero-section,.plans-grid{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.site-header{align-items:flex-start;flex-direction:column}.site-nav{width:100%;flex-wrap:wrap}.registry-edit-form{grid-template-columns:1fr}.hero-copy h2{font-size:38px}.session-detail-layout{grid-template-columns:1fr}.session-steps{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.appointment-action-form,.appointment-card-main,.schedule-grid,.session-list-row{grid-template-columns:1fr}.day-agenda-header{align-items:stretch;flex-direction:column}.finance-filters,.finance-grid,.finance-summary,.report-filters,.report-summary{grid-template-columns:1fr}.finance-item{display:grid}.finance-item-side{justify-items:start}.calendar-day{min-height:70px}}.session-picker{width:100%;margin-top:-36px}.session-picker .panel{width:100%;max-width:none}.session-picker .patient-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.schedule-layout{display:grid;grid-gap:0;gap:0;margin:-18px}.schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:start}.calendar-header{justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.calendar-header,.calendar-nav{display:flex;align-items:center}.calendar-nav{gap:10px}.calendar-title{margin:0;text-transform:capitalize;font-size:17px;min-width:200px;text-align:center}.cal-nav-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.cal-nav-btn:hover{background:var(--surface-muted);border-color:var(--brand)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;padding:16px}.calendar-weekday{color:var(--muted);font-size:11px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding-bottom:8px}.calendar-day{min-height:96px;border:1px solid var(--line);border-radius:10px;background:#ffffff;color:var(--text);padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;position:relative;overflow:hidden}.nav-submenu{grid-gap:6px;gap:6px;padding-left:18px}.nav-submenu button{font-size:14px}.nav-submenu-label{color:var(--muted);font-size:11px;font-weight:800;padding:8px 12px 2px;text-transform:uppercase}.calendar-day:hover:not(:disabled){border-color:var(--brand-soft);box-shadow:0 4px 12px rgba(0,85,115,.1);background:#f9fdff}.calendar-day.active{border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,85,115,.18);background:#f0f8fc}.calendar-day.today .cal-day-number{background:var(--brand);color:#fff;border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.calendar-day:disabled{opacity:.3;cursor:default;background:transparent;border-color:transparent}.cal-day-number{font-size:13px;font-weight:800;line-height:1;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.cal-day-dots{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:auto}.cal-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex-shrink:0}.cal-dot.success{background:#39a66a}.cal-dot.warning{background:var(--accent)}.cal-dot.danger{background:#d84e78}.cal-dot.recording{background:#2b78d4}.cal-dot-extra{font-size:10px;font-weight:800;color:var(--muted)}.cal-day-count{font-size:11px;font-weight:700;color:var(--brand);white-space:nowrap}.schedule-form{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:16px}.schedule-side{align-content:start}.schedule-list{border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:16px;display:grid;grid-gap:12px;gap:12px}.day-agenda-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.day-agenda-header h3{margin:0}.day-agenda-list{display:grid;grid-gap:10px;gap:10px;align-content:start}.appointment-card{position:relative;border:1px solid var(--line);border-radius:8px;background:#ffffff;box-shadow:0 6px 18px rgba(0,37,52,.04);overflow:hidden}.appointment-card-main{width:100%;border:0;background:transparent;color:var(--text);min-height:86px;padding:12px 16px 12px 18px;display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,.9fr) minmax(230px,1.2fr) auto;grid-gap:14px;gap:14px;align-items:center;text-align:left}.appointment-card-main:hover{background:#fbfdfe}.appointment-accent{position:absolute;inset:0 auto 0 0;width:5px;background:var(--brand)}.appointment-card.success .appointment-accent{background:#39a66a}.appointment-card.warning .appointment-accent{background:var(--warning)}.appointment-card.danger .appointment-accent{background:#d84e78}.appointment-card.recording .appointment-accent{background:#2b78d4}.appointment-patient,.appointment-time,.appointment-topic{display:grid;grid-gap:4px;gap:4px}.appointment-patient strong,.appointment-time>strong,.appointment-topic>strong{font-size:14px}.appointment-patient span,.appointment-time span,.appointment-topic span{color:var(--muted);font-size:12px}.appointment-patient{grid-template-columns:auto minmax(0,1fr);align-items:center}.appointment-patient div{display:grid;grid-gap:2px;gap:2px;min-width:0}.appointment-patient span,.appointment-patient strong{display:block}.patient-avatar{width:38px;height:38px;border-radius:999px;background:var(--surface-muted);color:var(--brand-strong);display:inline-flex;font-size:13px;font-weight:900}.status-dot{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;font-weight:800}.status-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.status-dot.success{color:#1d6b3a}.status-dot.warning{color:var(--warning)}.status-dot.danger{color:var(--danger)}.status-dot.recording{color:#2b78d4}.appointment-card-detail{border-top:1px solid var(--line);padding:14px 18px 16px 20px}.appointment-actions{display:grid;grid-gap:12px;gap:12px}.appointment-action-form{display:grid;grid-template-columns:minmax(170px,220px) minmax(180px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.inline-time-range{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px;gap:8px;align-items:center}.inline-time-range span{font-size:13px;color:#4f5f6a}.app-toast{position:fixed;top:18px;right:18px;z-index:60;min-width:280px;max-width:420px;padding:12px 14px;border-radius:8px;border:1px solid transparent;box-shadow:0 10px 26px rgba(0,22,32,.18);font-size:14px;font-weight:600}.app-toast.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.app-toast.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(0,22,32,.36);display:grid;place-items:center;padding:24px}.modal-panel{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:8px;background:#ffffff;box-shadow:0 24px 60px rgba(0,22,32,.22)}.modal-header{border-bottom:1px solid var(--line);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-header h3{margin:0}.modal-panel .schedule-form{border:0;border-radius:0;background:#ffffff}.patient-search-combo{position:relative}.patient-search-input{width:100%;box-sizing:border-box}.patient-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);max-height:220px;overflow-y:auto;z-index:200;list-style:none;margin:0;padding:4px 0}.patient-search-dropdown li{padding:9px 14px;font-size:14px;cursor:pointer;color:var(--text)}.patient-search-dropdown li.active,.patient-search-dropdown li:hover{background:#eef4fb;color:var(--brand)}.patient-search-dropdown li.no-results{color:var(--muted);cursor:default;font-style:italic}.icon-btn{width:42px;padding:0;justify-content:center}.appointment-item{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:12px;display:grid;grid-gap:6px;gap:6px}.appointment-item.success{border-color:#83c79b;background:#f1fbf4}.appointment-item.danger{border-color:#d9a0a0;background:#fff3f3}.appointment-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.35}.appointment-item strong{color:var(--text)}.main.sessions-compact{gap:10px}.main.sessions-compact .topbar{margin-bottom:0}.main.sessions-compact .session-picker{margin-top:0}.patients-grid{margin-top:0;grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.main.sessions-compact .patients-grid{margin-top:0}.patient-record-picker,.patient-workspace,.patient-workspace .panel{width:100%}.patient-record-picker .patient-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.patient-picker{width:100%;background:var(--surface);border-radius:12px;border:1px solid var(--line);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.04)}.patient-picker-header{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.patient-picker-search{flex:1 1;display:flex;align-items:center;gap:8px;background:var(--surface-muted,#f5f7f9);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.patient-picker-search input{flex:1 1;border:none;background:transparent;outline:none;font-size:.875rem;color:var(--text)}.patient-picker-clear{background:none;border:none;cursor:pointer;color:var(--muted);padding:2px;display:flex;align-items:center}.patient-filter-row{display:flex;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.patient-filter-chip,.patient-filter-row{align-items:center;background:var(--surface)}.patient-filter-chip{display:inline-flex;gap:4px;padding:4px 12px;border-radius:99px;border:1px solid var(--line);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.patient-filter-chip:hover{background:var(--surface-2);color:var(--text)}.patient-filter-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.patient-filter-clear-btn{color:var(--text-muted)}.patient-filter-clear-btn:hover{background:var(--surface-2);color:var(--text)}.patient-filter-select{padding:4px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;outline:none;height:28px}.patient-filter-select:focus{border-color:var(--brand);color:var(--text)}.patient-picker-list{display:flex;flex-direction:column}.patient-picker-item{display:flex;align-items:center;gap:14px;padding:14px 20px;background:none;border:none;border-top:1px solid var(--line);text-align:left;cursor:pointer;transition:background .1s;width:100%}.patient-picker-item:first-child{border-top:none}.patient-picker-item:hover{background:var(--surface-muted,#f5f7f9)}.patient-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0;color:#fff;letter-spacing:.02em}.patient-avatar[data-color=blue]{background:#3b82f6}.patient-avatar[data-color=green]{background:#22c55e}.patient-avatar[data-color=purple]{background:#8b5cf6}.patient-avatar[data-color=orange]{background:#f97316}.patient-avatar[data-color=teal]{background:#14b8a6}.patient-avatar[data-color=red]{background:#ef4444}.patient-avatar[data-color=indigo]{background:#6366f1}.patient-avatar[data-color=amber]{background:#d97706}.patient-picker-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.patient-picker-name{font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.patient-picker-meta{font-size:.8125rem;color:var(--muted)}.patient-picker-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.patient-picker-arrow{color:var(--muted);margin-left:2px}.registry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:8px;gap:8px;padding:8px}.registry-item{border:1px solid var(--line);border-radius:12px;background:#ffffff;color:var(--text);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;transition:border-color .14s ease,background .14s ease}.registry-item:hover{background:#fafcfc;border-color:#d7e2e5}.registry-listview{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;padding:0}.registry-listview .registry-item{border:0;border-radius:0;border-top:1px solid var(--line);padding:14px 20px}.registry-listview .registry-item:first-child{border-top:0}.registry-listview .registry-item:hover{background:#f7fbfb}.registry-item .patient-name{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.registry-item .patient-detail{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.registry-item form{flex:0 0 auto}.registry-item-info{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.registry-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.registry-edit-form{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto;grid-gap:12px;gap:12px;align-items:end}.registry-edit-form .actions{flex-wrap:nowrap}.registry-footer{border-top:1px solid var(--line)}.report-page{display:grid;grid-gap:18px;gap:18px}.report-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:12px;gap:12px;align-items:end}.report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.report-table-wrap{width:100%;overflow:auto}.report-table{width:100%;border-collapse:collapse;font-size:14px}.report-table td,.report-table th{border-top:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}.report-table th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.report-table td:last-child,.report-table th:last-child{text-align:right}.finance-layout,.team-layout{display:grid;grid-gap:18px;gap:18px}.finance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,220px));grid-gap:12px;gap:12px}.summary-box{border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:16px;display:grid;grid-gap:6px;gap:6px}.summary-box span{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.summary-box strong{font-size:24px}.summary-box.success strong{color:#1d6b3a}.summary-box.warning strong{color:var(--warning)}.summary-box.danger strong{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.dashboard-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:18px;gap:18px;align-items:start}.dashboard-list{display:grid;grid-gap:10px;gap:10px}.dashboard-row{border:1px solid var(--line);border-radius:8px;padding:12px;background:#ffffff;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-row p{margin:4px 0 0;color:var(--muted);font-size:14px}.dashboard-row>span{flex:0 0 auto}.dashboard-row>span,.status-pill{color:var(--brand-strong);font-weight:800}.status-pill{border-radius:999px;padding:5px 9px;background:var(--surface-muted);font-size:12px}.status-pill.success{background:#e6f6eb;color:#1d6b3a}.status-pill.warning{background:#fff2df;color:var(--warning)}.status-pill.danger,.status-pill.recording{background:#fff3f3;color:var(--danger)}.finance-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.finance-list{display:grid;grid-gap:12px;gap:12px}.finance-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(130px,1fr));grid-gap:12px;gap:12px;align-items:end}.finance-item{border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.finance-item.paid{background:#f1fbf4;border-color:#83c79b}.finance-item p{margin:4px 0 0;color:var(--muted)}.finance-item-side{min-width:160px;display:grid;justify-items:end;grid-gap:8px;gap:8px}.finance-list-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto) auto;grid-gap:14px;gap:14px;align-items:center}.finance-list-meta{display:grid;justify-items:end;grid-gap:8px;gap:8px}.team-list{display:grid;grid-gap:12px;gap:12px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff;transition:border-color .14s ease}.team-row:hover{border-color:#d7e2e5}.team-row-expanded{display:grid;align-items:stretch}.team-member-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.team-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.team-permissions-form{display:grid;grid-gap:12px;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.permission-toggle{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;align-items:flex-start;gap:10px;background:#ffffff}.permission-toggle input{margin-top:3px}.permission-toggle span{display:grid;grid-gap:3px;gap:3px}.permission-toggle small{color:var(--muted);line-height:1.35}.permission-note{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.permission-note p{margin:6px 0 0;color:var(--muted);line-height:1.45}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.copy-field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#ffffff;color:var(--text)}.pre-registration-banner{border:1px solid #f2ca8a;border-radius:8px;background:#fff8eb;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.pre-registration-banner p{margin:4px 0 0;color:var(--muted)}.patient-form-sections{display:grid;grid-gap:18px;gap:18px}.form-section{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#ffffff}.form-section h3{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.three-columns{grid-template-columns:minmax(90px,140px) minmax(180px,260px) minmax(0,1fr)}.compact-field{max-width:220px}.patient-tabs{display:flex;border-bottom:2px solid var(--line);padding:0 22px;gap:0;background:var(--surface)}.patient-tab{display:flex;align-items:center;gap:6px;padding:11px 18px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:var(--color-text-muted,#888);cursor:pointer;transition:color .15s}.patient-tab:hover{color:var(--text)}.patient-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab-count{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:.7rem;font-weight:700;border-radius:999px;min-width:18px;height:18px;padding:0 5px}.doc-upload-form{gap:12px;padding:16px;background:var(--surface-muted,#f8f9fa);border-radius:8px;border:1px dashed var(--line)}.doc-list,.doc-upload-form{display:flex;flex-direction:column}.doc-list{gap:0}.doc-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.doc-item:last-child{border-bottom:none}.doc-icon{flex-shrink:0;color:var(--color-text-muted,#888)}.doc-info{flex:1 1;min-width:0}.doc-name{font-weight:500;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.doc-meta{font-size:.75rem;color:var(--color-text-muted,#888);margin:2px 0 0}.doc-actions{display:flex;gap:6px;flex-shrink:0}.records-panel{display:grid;grid-template-columns:280px 1fr;min-height:600px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.records-sidebar{border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--surface-muted)}.records-sidebar h2{margin:0;font-size:16px}.records-list{gap:6px}.records-list,.records-list-item{display:flex;flex-direction:column}.records-list-item{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer;gap:4px;transition:border-color .15s}.records-list-item:hover{border-color:var(--brand-soft)}.records-list-item.active{border-color:var(--brand);background:#edf5f7}.records-patient-name{font-weight:700;font-size:14px}.records-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.records-content{padding:24px;overflow-y:auto}.records-empty{height:100%;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center;padding:40px}.record-form,.records-empty{display:flex;flex-direction:column}.record-form{gap:0}.record-session-block{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.record-session-header{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--brand);padding-bottom:8px;border-bottom:1px solid var(--line)}@media (max-width:900px){.records-panel{grid-template-columns:1fr}.records-sidebar{border-right:none;border-bottom:1px solid var(--line)}.records-list{flex-direction:row;flex-wrap:wrap}.records-list-item{width:auto;flex:1 1 200px}}@media print{body{background:#ffffff}.no-print,.sidebar{display:none!important}.app-shell{display:block}.main{padding:0}.topbar{margin-bottom:16px}.panel,.summary-box{box-shadow:none}.printable-report{page-break-inside:avoid;break-inside:avoid}}.site-nav-portal{color:var(--brand);text-decoration:none}.link-btn{background:none;border:none;padding:0;color:var(--brand);font-size:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.link-btn:hover{color:var(--brand-strong)}.schedule-v2{display:grid;grid-template-columns:210px 1fr;grid-gap:0;gap:0;height:calc(100vh - 64px);overflow:hidden;background:var(--surface);border-top:1px solid var(--line)}.sched-sidebar{border-right:1px solid var(--line);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:#fafcfd}.sched-new-btn{width:100%;justify-content:center}.mini-cal{display:grid;grid-gap:8px;gap:8px}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.mini-cal-month{font-size:12px;font-weight:700;text-transform:capitalize;text-align:center;flex:1 1;color:var(--text)}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px}.mini-cal-weekday{font-size:10px;font-weight:700;text-align:center;color:var(--muted);padding-bottom:4px;text-transform:uppercase}.mini-cal-day{position:relative;font-size:11px;font-weight:500;text-align:center;border:0;background:transparent;color:var(--text);border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .12s}.mini-cal-day:hover:not(:disabled){background:var(--surface-muted)}.mini-cal-day.in-week{background:color-mix(in srgb,var(--brand) 8%,transparent)}.mini-cal-day.today{background:var(--brand);color:#fff;font-weight:800}.mini-cal-day.active:not(.today){background:#cde8f0;color:var(--brand-strong);font-weight:800}.mini-cal-day:disabled{opacity:.25;cursor:default}.mini-cal-dot{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--brand)}.mini-cal-day.today .mini-cal-dot{background:rgba(255,255,255,.7)}.sched-week{display:flex;flex-direction:column;overflow:hidden;min-width:0}.sched-week-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line);gap:10px;flex-shrink:0}.sched-week-nav-left h2{margin:0;font-size:16px}.sched-week-nav-left .eyebrow{margin-bottom:1px}.sched-week-nav-right{display:flex;align-items:center;gap:8px}.sched-week-label{font-size:13px;font-weight:600;color:var(--text);min-width:170px;text-align:center}.sched-week-grid-wrap{flex:1 1;overflow:hidden;display:flex;flex-direction:column}.sched-week-head{display:grid;grid-template-columns:52px repeat(7,1fr);border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface);z-index:5}.sched-day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;border:0;background:transparent;color:var(--text);cursor:pointer;gap:2px;transition:background .12s}.sched-day-head:hover{background:var(--surface-muted)}.sched-day-head.today{background:color-mix(in srgb,var(--brand) 5%,transparent)}.sched-day-head.selected .sched-day-num{background:var(--brand);color:#fff}.sched-day-name{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.sched-day-num{font-size:16px;font-weight:700;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .12s,color .12s}.sched-day-num.today{background:var(--brand);color:#fff}.sched-week-body{flex:1 1;overflow-y:auto;display:grid;grid-template-columns:52px repeat(7,1fr)}.sched-hour-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:0 6px 0 0;border-top:1px solid var(--line);position:relative;top:-8px}.sched-hour-label span{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap}.sched-day-col{position:relative;border-left:1px solid var(--line)}.sched-day-col.today{background:color-mix(in srgb,var(--brand) 3%,transparent)}.sched-hour-bg{position:absolute;left:0;right:0;border-top:1px solid var(--line);cursor:pointer}.sched-hour-bg:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.sched-event{position:absolute;left:3px;right:3px;border-radius:5px;padding:3px 6px;text-align:left;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:2px;z-index:1;transition:filter .12s,box-shadow .12s;border:0;color:inherit}.sched-event:hover{filter:brightness(.94);box-shadow:0 2px 8px rgba(0,0,0,.12)}.sched-event.success{background:#dcfce7;border-left:3px solid #16a34a;color:#14532d}.sched-event.warning{background:#fff3cd;border-left:3px solid #ca8a04;color:#713f12}.sched-event.danger{background:#ffe4e6;border-left:3px solid #dc2626;color:#7f1d1d}.sched-event.recording{background:#ede9fe;border-left:3px solid #7c3aed;color:#3b0764}.sched-event-patient{display:flex;align-items:flex-start;gap:5px}.sched-event-avatar{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;margin-top:1px}.sched-event-name{font-size:11px;font-weight:700;line-height:1.3;white-space:normal;word-break:break-word}.sched-event-time{font-size:10px;opacity:.75;white-space:nowrap}.sched-block-overlay{position:absolute;left:0;right:0;background:repeating-linear-gradient(-45deg,rgba(220,38,38,.08),rgba(220,38,38,.08) 4px,rgba(220,38,38,.03) 0,rgba(220,38,38,.03) 10px);border-left:3px solid rgba(220,38,38,.5);z-index:1;pointer-events:none;overflow:hidden}.sched-block-label{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:rgba(220,38,38,.8);padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-cal-day.blocked{background:rgba(220,38,38,.06)}.mini-cal-dot.block-dot{background:rgba(220,38,38,.7);right:3px;left:auto}.sched-legend{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-gap:6px;gap:6px}.sched-legend-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 2px}.sched-legend-item{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--text)}.sched-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sched-legend-item.warning .sched-legend-dot{background:#ca8a04}.sched-legend-item.recording .sched-legend-dot{background:#7c3aed}.sched-legend-item.success .sched-legend-dot{background:#16a34a}.sched-legend-item.danger .sched-legend-dot{background:#dc2626}@media (max-width:900px){.schedule-v2{grid-template-columns:1fr}.sched-sidebar{display:none}}.portal-page{min-height:100vh;background:var(--background)}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.portal-content{max-width:720px;margin:0 auto;padding:32px 24px 64px;display:grid;grid-gap:28px;gap:28px}.portal-welcome{display:flex;align-items:center;gap:18px;padding:24px;background:var(--surface);border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow)}.portal-welcome h2{margin:0 0 4px;font-size:22px;color:var(--text)}.portal-welcome .microcopy{margin:0}.portal-avatar-circle{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-section-heading{padding-bottom:4px;border-bottom:1px solid var(--line)}.portal-section-heading h3{margin:4px 0 0;font-size:16px;color:var(--text)}.portal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.portal-card-icon{width:44px;height:44px;border-radius:10px;background:var(--surface-muted);color:var(--brand);display:flex;align-items:center;justify-content:center}.portal-card-body h4{margin:0 0 4px;font-size:15px;color:var(--text)}.portal-card-body p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.portal-card-soon{opacity:.75}.portal-badge-soon{display:inline-block;padding:3px 8px;font-size:11px;font-weight:700;border-radius:20px;background:var(--surface-muted);color:var(--muted);align-self:flex-start;text-transform:uppercase;letter-spacing:.04em}a.portal-card{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}a.portal-card:hover{border-color:var(--brand-soft);box-shadow:0 4px 16px rgba(0,85,115,.1);transform:translateY(-2px)}.portal-badge-active{display:inline-block;padding:3px 10px;font-size:11px;font-weight:700;border-radius:20px;background:#e8f7ee;color:#1d6b3a;text-transform:uppercase;letter-spacing:.04em;align-self:flex-start}.profile-back{margin-bottom:8px}.profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}@media (max-width:720px){.profile-layout{grid-template-columns:1fr}}.profile-left{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 20px;gap:20px;text-align:center;position:-webkit-sticky;position:sticky;top:24px;box-shadow:0 1px 2px rgba(14,40,51,.05),0 2px 6px rgba(14,40,51,.04)}.profile-left,.profile-photo-wrap{display:flex;flex-direction:column;align-items:center}.profile-photo-wrap{gap:12px}.profile-photo-circle{width:120px;height:120px;border-radius:999px;background:var(--surface-muted);color:var(--brand);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border:3px solid var(--line);flex-shrink:0}.profile-photo-img{width:100%;height:100%;object-fit:cover}.profile-photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;color:#fff}.profile-photo-btn{font-size:13px;font-weight:700;color:var(--brand-soft);background:transparent;border:1px solid var(--brand-soft);border-radius:20px;padding:5px 14px;cursor:pointer;transition:background .15s,color .15s}.profile-photo-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.profile-photo-btn:disabled{opacity:.6;cursor:default}.profile-left-info{display:flex;flex-direction:column;align-items:center;gap:6px}.profile-name{font-size:17px;font-weight:800;color:var(--text);line-height:1.3}.profile-email-label{font-size:13px;color:var(--muted);word-break:break-all}.profile-right{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(14,40,51,.05),0 2px 6px rgba(14,40,51,.04);padding:6px 24px 12px}.profile-right-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:4px}.profile-right-header h2{margin:4px 0 0}.profile-section{padding:20px 0;border-bottom:1px solid var(--line)}.profile-section:last-child{border-bottom:none}.profile-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 14px}.profile-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px 24px;gap:14px 24px}.profile-field{display:flex;flex-direction:column;gap:3px}.profile-label{font-size:12px;color:var(--muted);font-weight:600}.profile-value{font-size:14px;font-weight:700;color:var(--text)}.profile-consent{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-consent-text strong{font-size:14px;display:block;margin-bottom:4px}.profile-consent-text p{margin:0;font-size:13px;color:var(--muted);line-height:1.5;max-width:420px}.consent-toggle{position:relative;width:48px;height:26px;border-radius:999px;background:var(--line);border:none;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0}.consent-toggle.active{background:#39a66a}.consent-toggle:disabled{opacity:.6;cursor:default}.consent-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .2s;display:block}.consent-toggle.active .consent-toggle-knob{transform:translateX(22px)}.consent-status-label{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--muted)}.consent-status-label.success{color:#1d6b3a}.profile-modal{width:min(860px,100%)}.profile-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:24px;max-height:calc(100vh - 180px);overflow-y:auto}.profile-modal-section{display:flex;flex-direction:column;gap:12px}.profile-form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px 16px;gap:12px 16px}.profile-modal-footer{justify-content:flex-end;gap:10px;padding-top:8px}.profile-modal-footer,.sched-pending-section{display:flex;border-top:1px solid var(--line)}.sched-pending-section{padding-top:12px;flex-direction:column;gap:8px}.sched-pending-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:6px}.sched-pending-badge{background:#dc2626;color:#fff;border-radius:99px;font-size:10px;font-weight:700;padding:1px 6px;line-height:1.5}.sched-pending-card{background:var(--surface-2,#f8fafc);border:1px solid var(--line);border-left:3px solid #ca8a04;border-radius:8px;padding:10px 10px 8px;display:flex;flex-direction:column;gap:8px}.sched-pending-info{display:flex;flex-direction:column;gap:2px}.sched-pending-name{font-weight:600;font-size:13px}.sched-pending-date{font-size:12px;color:var(--text-muted)}.sched-pending-notes{font-size:11px;color:var(--text-muted);font-style:italic}.sched-pending-actions{display:flex;gap:6px}.btn.small{padding:4px 10px;font-size:12px}.btn.success-btn{background:#dcfce7;color:#15803d;border-color:#86efac}.btn.success-btn:hover{background:#bbf7d0}.btn.danger-btn{background:#ffe4e6;color:#b91c1c;border-color:#fca5a5}.btn.danger-btn:hover{background:#fecdd3}.portal-appointments{display:flex;flex-direction:column;gap:24px}.portal-appointments-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portal-appointments-header>div{flex:1 1}.portal-apt-section{display:flex;flex-direction:column;gap:10px}.portal-apt-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.portal-apt-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;border:2px dashed var(--line);border-radius:12px;color:var(--text-muted);text-align:center}.portal-apt-card{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.portal-apt-card-left{padding-top:2px}.portal-apt-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.portal-apt-card-body{display:flex;flex-direction:column;gap:4px;flex:1 1}.portal-apt-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);align-items:center}.portal-apt-meta span{display:flex;align-items:center;gap:4px}.portal-apt-badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}.portal-doc-list{display:flex;flex-direction:column;gap:10px}.portal-doc-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.portal-doc-icon{width:40px;height:40px;border-radius:8px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0}.portal-doc-body{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.portal-doc-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.portal-doc-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.block-form{padding:20px;border-bottom:1px solid var(--line);gap:14px}.block-form,.block-form-field{display:flex;flex-direction:column}.block-form-field{gap:5px}.block-form-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.block-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.block-type-tabs{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.block-type-tab{flex:1 1;padding:8px 4px;font-size:13px;font-weight:500;background:transparent;border:none;border-right:1px solid var(--line);cursor:pointer;color:var(--text-muted);transition:background .12s,color .12s}.block-type-tab:last-child{border-right:none}.block-type-tab:hover{background:var(--surface-2,#f1f5f9);color:var(--text)}.block-type-tab.active{background:var(--brand,#1e3a5f);color:#fff;font-weight:600}.block-weekdays{display:flex;gap:6px;flex-wrap:wrap}.block-weekday-pill{cursor:pointer}.block-weekday-pill span{display:inline-block;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);transition:background .12s,color .12s,border-color .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.block-weekday-pill input:checked+span{background:var(--brand,#1e3a5f);color:#fff;border-color:var(--brand,#1e3a5f)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.block-list{max-height:260px;overflow-y:auto;padding:8px 20px 16px;display:flex;flex-direction:column;gap:8px}.block-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.block-list-icon{font-size:18px;flex-shrink:0}.block-list-title{font-size:14px;font-weight:600}.block-list-meta{font-size:12px;color:var(--text-muted);margin-top:1px}.block-list-item.editing{border-color:var(--brand,#1e3a5f);background:var(--surface);padding:12px}.block-edit-form{width:100%;display:flex;flex-direction:column;gap:12px}.sched-now-line{left:0;right:0;height:2px;z-index:10;pointer-events:none}.sched-now-dot,.sched-now-line{position:absolute;background:#ef4444}.sched-now-dot{left:-4px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%}.settings-section{padding:24px 32px;border-bottom:1px solid var(--line)}.settings-section-header{margin-bottom:16px}.settings-section-header h3{font-size:16px;font-weight:700;margin-bottom:4px}.settings-form{gap:16px}.settings-field,.settings-form{display:flex;flex-direction:column}.settings-field{gap:4px}.profile-btn{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:8px;width:100%;text-align:left;transition:background .12s}.profile-btn:hover{background:var(--surface-2,#f3f4f6)}.profile-btn.active{background:var(--surface-2,#e5e7eb)}.profile-avatar{width:34px;height:34px;border-radius:50%;background:var(--brand,#1e3a5f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.profile .profile-info strong{display:block;font-size:13px;color:var(--text,#1a1a1a)}.profile .profile-info p{font-size:11px;color:var(--text-muted,#6b7280);margin:0}.profile-info-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface-2,#f8fafc);border:1px solid var(--line);border-radius:12px;max-width:400px}.profile-info-avatar{width:52px;height:52px;border-radius:50%;background:var(--brand,#1e3a5f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.profile-info-name{font-size:16px;font-weight:700}.profile-info-role{font-size:13px;color:var(--text-muted);margin-top:2px}.profile-avatar-upload-row{display:flex;align-items:center;gap:16px}.profile-avatar-btn{position:relative;width:72px;height:72px;border-radius:50%;border:none;padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;background:var(--brand,#1e3a5f)}.profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-initials{width:100%;height:100%;font-size:22px;font-weight:700}.profile-avatar-initials,.profile-avatar-overlay{display:flex;align-items:center;justify-content:center;color:#fff}.profile-avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .15s;border-radius:50%}.profile-avatar-btn:hover .profile-avatar-overlay{opacity:1}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:520px){.profile-form-grid{grid-template-columns:1fr}}.patient-combobox{position:relative}.patient-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);list-style:none;margin:0;padding:4px;z-index:200;max-height:260px;overflow-y:auto}.patient-combobox-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .1s}.patient-combobox-item.selected,.patient-combobox-item:hover{background:var(--surface-2,#f3f4f6)}.patient-combobox-item.selected{font-weight:600}.patient-combobox-avatar{width:28px;height:28px;border-radius:50%;background:var(--brand,#1e3a5f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.patient-combobox-empty{padding:10px 14px;font-size:13px;color:var(--text-muted)}.legal-page{min-height:100vh;background:var(--background);padding:48px 20px 80px}.legal-wrap{max-width:740px;margin:0 auto;display:grid;grid-gap:36px;gap:36px}.legal-header{display:grid;grid-gap:10px;gap:10px}.legal-title-row{display:flex;align-items:center;gap:12px}.legal-title-row h1{margin:0;font-size:30px}.legal-body{display:grid;grid-gap:28px;gap:28px}.legal-body section{display:grid;grid-gap:10px;gap:10px}.legal-body h2{font-size:17px;margin:0;color:var(--brand-strong)}.legal-body li,.legal-body p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.legal-body ul{padding-left:20px;display:grid;grid-gap:6px;gap:6px}.legal-body a{color:var(--brand);text-decoration:underline}.onboarding-checklist{background:var(--color-surface,#fff);border:1.5px solid var(--brand);border-radius:12px;padding:20px 24px;margin-bottom:24px}.onboarding-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.onboarding-header h3{font-size:1rem;font-weight:600;margin:0 0 2px}.onboarding-progress-bar{flex:0 0 120px;height:6px;background:var(--color-border,#e5e7eb);border-radius:999px;overflow:hidden}.onboarding-progress-fill{height:100%;background:var(--brand);border-radius:999px;transition:width .4s ease}.onboarding-steps{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.onboarding-step{display:flex;align-items:center;gap:10px;font-size:.9rem}.onboarding-step-icon{flex-shrink:0;display:flex;align-items:center;color:var(--color-text-muted,#9ca3af)}.onboarding-step.done .onboarding-step-icon{color:var(--brand)}.onboarding-step-dot{width:18px;height:18px;border-radius:50%;border:2px solid}.onboarding-step-label{flex:1 1;color:var(--color-text-muted,#6b7280)}.onboarding-step.done .onboarding-step-label{color:var(--color-text,#111);text-decoration:line-through;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}.onboarding-step-action{margin-left:auto}.trial-banner{display:flex;align-items:center;gap:8px;font-size:.78rem;padding:10px 14px;margin:8px;border-radius:8px;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e7eb);color:var(--color-text,#111);text-decoration:none;transition:background .15s}.trial-banner:hover{background:var(--color-surface-hover,#f3f4f6)}.trial-banner.urgent{border-color:#f59e0b;background:#fffbeb;color:#92400e}.trial-banner-icon{flex-shrink:0;display:flex}.trial-banner-cta{margin-left:auto;font-weight:600;white-space:nowrap}.billing-page{min-height:100vh;background:var(--color-bg,#f9fafb);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px}.billing-wrap{width:100%;max-width:720px;display:grid;grid-gap:24px;gap:24px}.billing-back{color:var(--brand);text-decoration:none;font-size:.9rem}.billing-header h1{font-size:1.6rem;font-weight:700;margin:0 0 6px}.billing-status{display:inline-block;font-size:.88rem;padding:4px 10px;border-radius:999px;font-weight:500}.billing-status.active{background:#d1fae5;color:#065f46}.billing-status.trialing{background:#dbeafe;color:#1e40af}.billing-status.expired{background:#fee2e2;color:#991b1b}.billing-form{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:12px;padding:24px}.billing-plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:580px){.billing-plans{grid-template-columns:1fr}}.billing-plan-card{position:relative;border:2px solid var(--color-border,#e5e7eb);border-radius:10px;padding:16px 12px;cursor:pointer;background:var(--color-surface,#fff);text-align:left;transition:border-color .15s,box-shadow .15s;display:grid;grid-gap:8px;gap:8px}.billing-plan-card strong{font-size:.95rem}.billing-plan-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.billing-plan-card.featured{border-color:var(--brand)}.billing-plan-price{font-size:1.3rem;font-weight:700;color:var(--brand)}.billing-plan-price small{font-size:.75rem;font-weight:400;color:var(--color-text-muted,#6b7280)}.billing-plan-features{list-style:none;padding:0;margin:0;display:grid;grid-gap:4px;gap:4px;font-size:.78rem;color:var(--color-text-muted,#6b7280)}.billing-type-options{display:flex;gap:16px;flex-wrap:wrap}.radio-row{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem}.voucher-toggle{background:none;border:none;color:var(--color-primary,#2563eb);font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0;text-align:left}.voucher-hint{margin:4px 0 0;font-size:.8rem;color:#16a34a}.billing-success{padding:32px 24px;grid-gap:16px;gap:16px;text-align:center}.billing-active-info,.billing-success{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:12px;display:grid}.billing-active-info{padding:24px;grid-gap:8px;gap:8px}.nav-locked{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;color:var(--color-text-muted,#9ca3af);text-decoration:none;font-size:.88rem;cursor:pointer;transition:background .15s}.nav-locked:hover{background:var(--color-surface-hover,rgba(0,0,0,.05));color:var(--brand)}.nav-locked-icon{margin-left:auto;opacity:.6}.plan-gate-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--color-text-muted,#6b7280);height:100%}.plan-gate-section h3{font-size:1.1rem;font-weight:600;color:var(--color-text,#111);margin:0}.plan-gate-section p{margin:0;max-width:320px}.lp{--lp-ink:#0e2833;--lp-ink-soft:#274853;--lp-muted:#5f7178;--lp-line:#e7eef0;--lp-line-strong:#d7e2e5;--lp-bg:#ffffff;--lp-bg-soft:#f4f8f9;--lp-brand:#005573;--lp-brand-soft:#007196;--lp-brand-ink:#003e56;--lp-accent:#f79421;--lp-accent-ink:#c9770f;--lp-accent-soft:rgba(247,148,33,0.12);--lp-radius:18px;--lp-radius-sm:12px;--lp-radius-xs:9px;--lp-shadow-sm:0 1px 2px rgba(14,40,51,0.05),0 2px 6px rgba(14,40,51,0.04);--lp-shadow:0 10px 30px rgba(14,40,51,0.08),0 2px 8px rgba(14,40,51,0.04);--lp-shadow-lg:0 24px 60px rgba(14,40,51,0.12),0 6px 16px rgba(14,40,51,0.06);--lp-max:1120px;background:var(--lp-bg);color:var(--lp-ink);display:block;letter-spacing:-.01em}.lp h1,.lp h2,.lp h3{margin:0;color:var(--lp-ink);letter-spacing:-.025em;line-height:1.1}.lp p{margin:0}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;padding:10px 18px;font-weight:600;font-size:15px;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;white-space:nowrap}.lp-btn-lg{padding:13px 24px;font-size:15.5px}.lp-btn-primary{background:var(--lp-brand);border-color:var(--lp-brand);color:#ffffff;box-shadow:0 6px 16px rgba(0,85,115,.22)}.lp-btn-primary:hover{background:var(--lp-brand-ink);border-color:var(--lp-brand-ink);transform:translateY(-1px)}.lp-btn-ghost{background:#ffffff;border-color:var(--lp-line-strong);color:var(--lp-ink)}.lp-btn-ghost:hover{border-color:var(--lp-brand);color:var(--lp-brand)}.lp-btn-on-dark{background:transparent;border-color:rgba(255,255,255,.4);color:#ffffff}.lp-btn-on-dark:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#ffffff}.lp-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--lp-line)}.lp-header-inner{width:min(var(--lp-max),calc(100% - 48px));margin:0 auto;height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px}.lp-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--lp-ink)}.lp-brand-symbol{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.lp-brand strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.lp-brand span{display:block;font-size:12px;color:var(--lp-muted);line-height:1.2}.lp-nav{display:flex;align-items:center;gap:26px}.lp-nav a{text-decoration:none;color:var(--lp-ink-soft);font-size:14.5px;font-weight:500;transition:color .15s ease}.lp-nav a:hover{color:var(--lp-brand)}.lp-nav-login{font-weight:600!important}.lp-nav .lp-btn-primary{color:#ffffff}.lp-hero{width:min(var(--lp-max),calc(100% - 48px));margin:0 auto;padding:72px 0 40px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:56px;gap:56px}.lp-hero,.lp-pill{align-items:center}.lp-pill{display:inline-flex;gap:7px;padding:6px 13px;border-radius:999px;background:var(--lp-bg-soft);border:1px solid var(--lp-line-strong);color:var(--lp-brand);font-size:13px;font-weight:600}.lp-pill svg{color:var(--lp-accent)}.lp-hero-copy h1{font-size:clamp(38px,5vw,56px);font-weight:800;margin:20px 0 0}.lp-hero-copy h1 em{font-style:normal;color:var(--lp-brand)}.lp-lead{margin-top:20px;font-size:18px;line-height:1.6;color:var(--lp-muted);max-width:560px}.lp-lead strong{color:var(--lp-ink);font-weight:700}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.lp-hero-trust{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:26px;color:var(--lp-muted);font-size:13.5px;font-weight:500}.lp-hero-trust svg{color:var(--lp-brand-soft);margin-right:2px}.lp-dot{width:3px;height:3px;border-radius:50%;background:var(--lp-line-strong)}.lp-hero-visual{position:relative;justify-self:center;width:100%;max-width:460px}.lp-mock{background:#ffffff;border:1px solid var(--lp-line);border-radius:var(--lp-radius);box-shadow:var(--lp-shadow-lg);overflow:hidden}.lp-mock-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--lp-line);background:var(--lp-bg-soft)}.lp-mock-dot{width:9px;height:9px;border-radius:50%;background:var(--lp-line-strong)}.lp-mock-title{margin-left:8px;font-size:12.5px;font-weight:600;color:var(--lp-muted)}.lp-mock-body{padding:18px;display:grid;grid-gap:16px;gap:16px}.lp-rec{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--lp-radius-sm);background:var(--lp-bg-soft);border:1px solid var(--lp-line)}.lp-rec-mic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--lp-brand);color:#ffffff;flex:0 0 auto}.lp-wave{display:flex;align-items:center;gap:3px;flex:1 1;height:36px;overflow:hidden}.lp-wave span{width:3px;border-radius:2px;background:var(--lp-brand-soft);opacity:.55;animation:lp-wave 1.1s ease-in-out infinite}.lp-wave span:nth-child(3n){opacity:.85;animation-delay:.15s}.lp-wave span:nth-child(3n+1){animation-delay:.3s}.lp-wave span:nth-child(4n){opacity:.35;animation-delay:.45s}@keyframes lp-wave{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1)}}.lp-rec-time{font-size:13px;font-weight:700;color:var(--lp-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:0 0 auto}.lp-card{border:1px solid var(--lp-line);border-radius:var(--lp-radius-sm);padding:16px;background:#ffffff;display:grid;grid-gap:10px;gap:10px}.lp-card-chip{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:5px 10px;border-radius:999px;background:rgba(0,113,150,.1);color:var(--lp-brand);font-size:12px;font-weight:700;margin-bottom:2px}.lp-card-h{height:12px;width:55%;border-radius:6px;background:var(--lp-line-strong)}.lp-skel{height:9px;border-radius:5px;background:var(--lp-line)}.lp-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--lp-muted);margin-top:4px}.lp-float{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:#ffffff;border:1px solid var(--lp-line);box-shadow:var(--lp-shadow);font-size:13px;font-weight:600;color:var(--lp-ink)}.lp-float svg{color:var(--lp-brand-soft)}.lp-float-a{top:26px;left:-26px}.lp-float-b{bottom:34px;right:-22px}.lp-float-b svg{color:#1d9d5a}.lp-trust{width:min(var(--lp-max),calc(100% - 48px));margin:24px auto 8px;padding:22px 0;border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}.lp-trust-label{font-size:13px;font-weight:600;color:var(--lp-muted)}.lp-trust-list{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:0;padding:0}.lp-trust-list li{font-size:15px;font-weight:700;color:var(--lp-ink-soft)}.lp-section{width:min(var(--lp-max),calc(100% - 48px));margin:0 auto;padding:72px 0}.lp-section-soft{width:100%;max-width:none;background:var(--lp-bg-soft);border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);padding:76px 0}.lp-section-soft>*{width:min(var(--lp-max),calc(100% - 48px));margin-left:auto;margin-right:auto}.lp-section-head{text-align:center;max-width:680px;margin:0 auto 44px}.lp-eyebrow{display:inline-block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--lp-accent-ink);margin-bottom:12px}.lp-section-head h2{font-size:clamp(28px,3.4vw,38px);font-weight:800}.lp-section-head p{margin-top:14px;font-size:17px;line-height:1.55;color:var(--lp-muted)}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.lp-step{position:relative;background:#ffffff;border:1px solid var(--lp-line);border-radius:var(--lp-radius);padding:28px 24px;box-shadow:var(--lp-shadow-sm)}.lp-step-num{position:absolute;top:22px;right:24px;font-size:30px;font-weight:800;color:var(--lp-accent);opacity:.42;letter-spacing:-.03em}.lp-step-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(0,113,150,.1);color:var(--lp-brand);margin-bottom:18px}.lp-step h3{font-size:18.5px;font-weight:700;margin-bottom:8px}.lp-step p{font-size:15px;line-height:1.55;color:var(--lp-muted)}.lp-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:56px;gap:56px;align-items:center;margin-top:40px}.lp-showcase+.lp-showcase{margin-top:72px}.lp-showcase-reverse .lp-showcase-copy{order:2}.lp-feat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(0,113,150,.1);color:var(--lp-brand);margin-bottom:16px}.lp-showcase-copy h3{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin-bottom:12px}.lp-showcase-copy>p{font-size:16.5px;line-height:1.6;color:var(--lp-muted)}.lp-check{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.lp-check li{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:600;color:var(--lp-ink-soft)}.lp-check svg{color:var(--lp-brand-soft);flex:0 0 auto}.lp-showcase-visual{display:grid;place-items:center}.lp-card-float{width:100%;max-width:380px;box-shadow:var(--lp-shadow-lg);padding:22px;gap:11px}.lp-mini-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--lp-line);border-radius:var(--lp-radius-xs)}.lp-mini-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(0,113,150,.1);color:var(--lp-brand);flex:0 0 auto}.lp-mini-icon-money{background:rgba(29,157,90,.12);color:#1d9d5a}.lp-mini-row .lp-skel{flex:1 1}.lp-mini-badge{font-size:12px;font-weight:700;color:var(--lp-muted);flex:0 0 auto}.lp-mini-badge-ok{color:#1d9d5a}.lp-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.lp-feature{background:#ffffff;border:1px solid var(--lp-line);border-radius:var(--lp-radius);padding:24px;box-shadow:var(--lp-shadow-sm);transition:transform .16s ease,box-shadow .16s ease}.lp-feature:hover{transform:translateY(-2px);box-shadow:var(--lp-shadow)}.lp-feature h3{font-size:17px;font-weight:700;margin-bottom:7px}.lp-feature p{font-size:14.5px;line-height:1.5;color:var(--lp-muted)}.lp-plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;align-items:start}.lp-plan{position:relative;background:#ffffff;border:1px solid var(--lp-line);border-radius:var(--lp-radius);padding:30px 26px;box-shadow:var(--lp-shadow-sm);display:flex;flex-direction:column}.lp-plan-featured{border-color:var(--lp-brand);box-shadow:var(--lp-shadow-lg);transform:translateY(-6px)}.lp-plan-badge{position:absolute;top:-12px;left:26px;background:var(--lp-accent);color:#ffffff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}.lp-plan h3{font-size:20px;font-weight:800}.lp-plan-tag{margin-top:6px;font-size:14px;color:var(--lp-muted);line-height:1.45;min-height:40px}.lp-plan-price{margin:18px 0 20px;font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--lp-ink)}.lp-plan-price span{font-size:15px;font-weight:600;color:var(--lp-muted)}.lp-plan-features{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-gap:11px;gap:11px;flex:1 1}.lp-plan-features li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;line-height:1.4;color:var(--lp-ink-soft)}.lp-plan-features li svg{color:var(--lp-brand-soft);flex:0 0 auto;margin-top:2px}.lp-plan-excluded{color:var(--lp-muted)!important}.lp-plan-excluded svg{color:var(--lp-line-strong)!important}.lp-plan .lp-btn{width:100%}.lp-plans-note{text-align:center;margin-top:30px;font-size:13.5px;color:var(--lp-muted);display:flex;align-items:center;justify-content:center;gap:8px}.lp-plans-note svg{color:var(--lp-brand-soft)}.lp-faq{max-width:760px;margin:0 auto;display:grid;grid-gap:12px;gap:12px}.lp-faq-item{border:1px solid var(--lp-line);border-radius:var(--lp-radius-sm);background:#ffffff;padding:4px 20px;transition:border-color .15s ease}.lp-faq-item[open]{border-color:var(--lp-line-strong)}.lp-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-size:16px;font-weight:600;color:var(--lp-ink)}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";font-size:22px;font-weight:400;color:var(--lp-brand);line-height:1;transition:transform .2s ease;flex:0 0 auto}.lp-faq-item[open] summary:after{transform:rotate(45deg)}.lp-faq-item p{padding:0 0 18px;font-size:15px;line-height:1.6;color:var(--lp-muted)}.lp-cta{padding:20px 24px 84px}.lp-cta-inner{width:min(var(--lp-max),100%);margin:0 auto;background:linear-gradient(135deg,var(--lp-brand-ink) 0,var(--lp-brand) 60%,var(--lp-brand-soft) 100%);border-radius:28px;padding:60px 40px;text-align:center;color:#ffffff;box-shadow:var(--lp-shadow-lg)}.lp-cta-inner h2{color:#ffffff;font-size:clamp(28px,3.4vw,38px);font-weight:800}.lp-cta-inner p{margin-top:14px;font-size:17px;color:rgba(255,255,255,.85)}.lp-cta-actions{justify-content:center;margin-top:30px}.lp-cta-actions .lp-btn-primary{background:#ffffff;border-color:#ffffff;color:var(--lp-brand-ink);box-shadow:0 6px 16px rgba(0,0,0,.18)}.lp-cta-actions .lp-btn-primary:hover{background:#f4f8f9;border-color:#f4f8f9}.lp-footer{background:var(--lp-bg-soft);border-top:1px solid var(--lp-line);padding:48px 0 28px}.lp-footer-inner{width:min(var(--lp-max),calc(100% - 48px));margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:32px;border-bottom:1px solid var(--lp-line)}.lp-footer-brand{display:grid;grid-gap:14px;gap:14px}.lp-footer-lgpd{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--lp-muted)}.lp-footer-lgpd svg{color:var(--lp-brand-soft)}.lp-footer-links{display:flex;flex-wrap:wrap;gap:18px 26px}.lp-footer-links a{text-decoration:none;color:var(--lp-ink-soft);font-size:14.5px;font-weight:500;transition:color .15s ease}.lp-footer-links a:hover{color:var(--lp-brand)}.lp-footer-bottom{width:min(var(--lp-max),calc(100% - 48px));margin:20px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}.lp-footer-bottom p{font-size:13px;color:var(--lp-muted);margin:0}.lp-footer-credit{display:inline-flex;align-items:center;gap:8px}.lp-footer-credit a{color:var(--lp-ink-soft);font-weight:600;text-decoration:none}.lp-footer-credit a:hover{color:var(--lp-brand);text-decoration:underline}@media (max-width:900px){.lp-hero{grid-template-columns:1fr;gap:44px;padding-top:48px}.lp-hero-visual{max-width:420px;order:2}.lp-steps{grid-template-columns:1fr}.lp-showcase,.lp-showcase-reverse{grid-template-columns:1fr;gap:32px}.lp-showcase-reverse .lp-showcase-copy{order:0}.lp-feature-grid{grid-template-columns:repeat(2,1fr)}.lp-plans{grid-template-columns:1fr}.lp-plan-featured{transform:none}.lp-nav a:not(.lp-btn){display:none}.lp-nav .lp-nav-login{display:inline-flex}}@media (max-width:540px){.lp-footer-bottom,.lp-footer-inner,.lp-header-inner,.lp-hero,.lp-section,.lp-section-soft>*,.lp-trust{width:calc(100% - 32px)}.lp-feature-grid{grid-template-columns:1fr}.lp-trust{flex-direction:column;align-items:flex-start}.lp-float-a{left:-6px}.lp-float-b{right:-4px}.lp-nav .lp-nav-login{display:none}}.au{--au-ink:#0e2833;--au-ink-soft:#274853;--au-muted:#5f7178;--au-line:#e7eef0;--au-line-strong:#d7e2e5;--au-bg:#f4f8f9;--au-brand:#005573;--au-brand-soft:#007196;--au-brand-ink:#003e56;--au-accent:#f79421;--au-accent-ink:#c9770f;--au-danger:#b5432f;--au-ok:#1d7a45;--au-radius:16px;--au-radius-sm:11px;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--au-bg);color:var(--au-ink);letter-spacing:-.01em}.au-brandside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:48px;background:linear-gradient(150deg,var(--au-brand-ink) 0,var(--au-brand) 58%,var(--au-brand-soft) 100%);color:#ffffff}.au-brandside:after,.au-brandside:before{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none}.au-brandside:before{width:420px;height:420px;top:-140px;right:-120px}.au-brandside:after{width:300px;height:300px;bottom:-120px;left:-80px;background:rgba(247,148,33,.1)}.au-brandside-body,.au-brandside-foot,.au-brandside-top{position:relative;z-index:1}.au-brandside-body{max-width:380px}.au-brandside-body h2{margin:0;font-size:clamp(26px,2.6vw,34px);font-weight:800;line-height:1.15;letter-spacing:-.025em}.au-brandside-body>p{margin:16px 0 0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.82)}.au-brand-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-gap:13px;gap:13px}.au-brand-list li{display:flex;align-items:center;gap:11px;font-size:15.5px;font-weight:600;color:rgba(255,255,255,.95)}.au-brand-list svg{color:#ffffff;opacity:.9;flex:0 0 auto}.au-brandside-foot{gap:8px;font-size:13px;color:rgba(255,255,255,.75)}.au-brand,.au-brandside-foot{display:inline-flex;align-items:center}.au-brand{gap:11px;text-decoration:none}.au-brand img{width:38px;height:38px;object-fit:contain;flex:0 0 auto}.au-brand strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.au-brand span{display:block;font-size:12px;line-height:1.2}.au-brand-light strong{color:#ffffff}.au-brand-light span{color:rgba(255,255,255,.7)}.au-brand-mobile{margin-bottom:26px}.au-brand-mobile,.au-brand-mobile strong{color:var(--au-ink)}.au-brand-mobile span{color:var(--au-muted)}.au-formside{display:flex;align-items:center;justify-content:center;padding:40px 24px}.au-card{width:100%;max-width:420px}.au-head{margin-bottom:26px}.au-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--au-accent-ink);margin-bottom:10px}.au-head h1{margin:0;font-size:28px;font-weight:800;letter-spacing:-.025em;color:var(--au-ink)}.au-head>p{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--au-muted)}.au-form{display:grid;grid-gap:16px;gap:16px}.au-field{display:grid;grid-gap:7px;gap:7px}.au-field label{font-size:13px;font-weight:600;color:var(--au-ink-soft)}.au-field input{width:100%;border:1px solid var(--au-line-strong);border-radius:var(--au-radius-sm);padding:12px 14px;background:#ffffff;color:var(--au-ink);font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.au-field input::placeholder{color:#9aa8ad}.au-field input:focus{outline:none;border-color:var(--au-brand-soft);box-shadow:0 0 0 3px rgba(0,113,150,.14)}.au-pass{position:relative}.au-pass input{padding-right:44px}.au-pass-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--au-muted);transition:color .15s ease,background .15s ease}.au-pass-toggle:hover{color:var(--au-brand);background:var(--au-bg)}.au-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;border-radius:999px;border:1px solid transparent;padding:13px 20px;font-weight:600;font-size:15.5px;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease,opacity .16s ease}.au-btn-primary{background:var(--au-brand);border-color:var(--au-brand);color:#ffffff;box-shadow:0 6px 16px rgba(0,85,115,.22)}.au-btn-primary:hover:not(:disabled){background:var(--au-brand-ink);border-color:var(--au-brand-ink);transform:translateY(-1px)}.au-btn-ghost{background:#ffffff;border-color:var(--au-line-strong);color:var(--au-ink)}.au-btn-ghost:hover:not(:disabled){border-color:var(--au-brand);color:var(--au-brand)}.au-btn:disabled{opacity:.6;cursor:not-allowed}.au-btn .spinner{animation:spin .8s linear infinite}.au-alert{border-radius:var(--au-radius-sm);padding:12px 14px;font-size:14px;line-height:1.5;border:1px solid transparent}.au-alert-error{background:#fbeceA;border-color:#f0cfc7;color:var(--au-danger)}.au-alert-success{background:#e8f5ee;border-color:#c6e6d3;color:var(--au-ok)}.au-note{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--au-muted)}.au-note .spinner{animation:spin .8s linear infinite;flex:0 0 auto}.au-terms{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--au-muted)}.au-terms input{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--au-brand)}.au-terms a{color:var(--au-brand);font-weight:600}.au-foot{margin-top:22px;display:grid;grid-gap:10px;gap:10px;text-align:center}.au-foot p{margin:0;font-size:14px;color:var(--au-muted)}.au-foot a,.au-link{color:var(--au-brand);font-weight:600;text-decoration:none}.au-foot a:hover,.au-link:hover{text-decoration:underline}.au-linkbtn{border:0;background:transparent;padding:0;font:inherit;color:var(--au-brand);font-weight:600;cursor:pointer}.au-linkbtn:hover{text-decoration:underline}.au-divider{height:1px;background:var(--au-line);margin:22px 0 0}.au-version{margin:14px 0 0;text-align:center;font-size:11px;letter-spacing:.04em;color:#a7b4b8}@media (max-width:900px){.au{grid-template-columns:1fr}.au-brandside{display:none}.au-formside{padding:32px 20px;min-height:100vh}}@media (min-width:901px){.au-brand-mobile{display:none}}.app-shell{--s-ink:#0e2833;--s-ink-soft:#274853;--s-muted:#5f7178;--s-line:#e7eef0;--s-line-strong:#dbe6e9;--s-bg:#eef4f5;--s-brand:#005573;--s-brand-soft:#007196;--s-brand-ink:#003e56;--s-accent:#f79421;--s-accent-ink:#c9770f;--s-ok:#1d7a45;--s-warn:#b76612;--s-danger:#b5432f;--s-radius:16px;--s-radius-sm:11px;--s-shadow-sm:0 1px 2px rgba(14,40,51,.05),0 2px 6px rgba(14,40,51,.04);--s-shadow:0 10px 30px rgba(14,40,51,.07),0 2px 8px rgba(14,40,51,.04);grid-template-columns:264px minmax(0,1fr);background:var(--s-bg)}.app-shell .sidebar{padding:20px 16px;gap:18px;border-right:1px solid var(--s-line);position:-webkit-sticky;position:sticky;top:0;height:100vh}.app-shell .sidebar .brand{padding:6px 8px;gap:11px}.app-shell .sidebar .brand h1{font-size:17px;font-weight:700;letter-spacing:-.02em}.app-shell .sidebar .brand p{font-size:11.5px}.app-shell .nav{gap:3px;overflow-y:auto}.nav-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--s-muted);padding:14px 10px 6px}.app-shell .nav button{position:relative;color:var(--s-ink-soft);border-radius:10px;padding:9px 11px;gap:11px;font-size:14.5px;font-weight:500;transition:background .14s ease,color .14s ease}.app-shell .nav>button svg{color:var(--s-muted);transition:color .14s ease}.app-shell .nav button:hover{background:#f4f8f9;color:var(--s-ink)}.app-shell .nav button:hover svg{color:var(--s-ink-soft)}.app-shell .nav button.active{background:rgba(0,113,150,.1);color:var(--s-brand);font-weight:600}.app-shell .nav button.active svg{color:var(--s-brand)}.app-shell .nav>button.active:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--s-brand)}.nav-submenu{margin:2px 0 2px 12px;padding-left:12px;border-left:1px solid var(--s-line);display:grid;grid-gap:2px;gap:2px}.app-shell .nav-submenu button{font-size:13.5px;padding:8px 10px}.app-shell .profile{padding-top:14px;border-top:1px solid var(--s-line);display:grid;grid-gap:8px;gap:8px}.app-shell .profile-btn{gap:11px;padding:8px;border-radius:12px}.app-shell .profile-btn:hover{background:#f4f8f9}.app-shell .profile-avatar{width:38px;height:38px;font-size:14px;background:linear-gradient(135deg,var(--s-brand) 0,var(--s-brand-soft) 100%);overflow:hidden}.app-shell .profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.app-shell .profile .profile-info strong{font-size:14px;font-weight:600}.app-shell .profile .profile-info p{font-size:12px}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid var(--s-line-strong);background:#ffffff;color:var(--s-ink-soft);border-radius:10px;padding:9px;font-size:13.5px;font-weight:600}.sidebar-logout:hover{border-color:var(--s-brand);color:var(--s-brand)}.app-shell .trial-banner{margin:0;padding:11px 13px;border-radius:12px;gap:10px;font-size:12.5px;border:1px solid #f6dcb8;background:#fff6ec;color:var(--s-accent-ink)}.app-shell .trial-banner:hover{background:#fdeeda}.app-shell .trial-banner.urgent{border-color:#f0b8b0;background:#fceeeb;color:var(--s-danger)}.app-shell .trial-banner-cta{color:inherit}.dash-topbar h2{font-size:27px;font-weight:800;letter-spacing:-.025em;margin-bottom:0}.dash-topbar .eyebrow{color:var(--s-accent-ink)}.dash-topbar .microcopy{margin-top:6px;font-size:14.5px}.dash-today{text-align:right;font-size:12px;color:var(--s-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.dash-today strong{display:block;margin-top:3px;color:var(--s-ink);font-size:15px;font-weight:700;text-transform:none;letter-spacing:-.01em}.app-shell .onboarding-checklist{border:0;border-radius:var(--s-radius);padding:22px 24px;color:#ffffff;background:linear-gradient(120deg,var(--s-brand-ink),var(--s-brand) 72%);box-shadow:var(--s-shadow)}.app-shell .onboarding-header h3{color:#ffffff;font-size:17px;font-weight:700}.app-shell .onboarding-header .microcopy{color:rgba(255,255,255,.8)}.app-shell .onboarding-progress-bar{flex:0 0 160px;height:7px;background:rgba(255,255,255,.22)}.app-shell .onboarding-progress-fill{background:var(--s-accent)}.app-shell .onboarding-step-label{color:rgba(255,255,255,.95)}.app-shell .onboarding-step.done .onboarding-step-label{color:rgba(255,255,255,.6);text-decoration:none}.app-shell .onboarding-step-icon{color:rgba(255,255,255,.55)}.app-shell .onboarding-step.done .onboarding-step-icon{color:#7fe0a8}.app-shell .dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:0}.app-shell .summary-box{border:1px solid var(--s-line);border-radius:var(--s-radius);padding:18px;box-shadow:var(--s-shadow-sm);gap:12px;transition:transform .16s ease,box-shadow .16s ease}.app-shell .summary-box:hover{transform:translateY(-2px);box-shadow:var(--s-shadow)}.summary-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(0,113,150,.1);color:var(--s-brand)}.summary-ico.tone-ok{background:rgba(29,122,69,.12);color:var(--s-ok)}.summary-ico.tone-warn{background:rgba(183,102,18,.12);color:var(--s-warn)}.summary-ico.tone-danger{background:rgba(181,67,47,.1);color:var(--s-danger)}.summary-ico.tone-accent{background:rgba(247,148,33,.14);color:var(--s-accent-ink)}.app-shell .summary-box span{font-size:13px;font-weight:600;text-transform:none;color:var(--s-muted);letter-spacing:0}.app-shell .summary-box strong{font-size:29px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--s-ink)}.app-shell .summary-box strong.small,.app-shell .summary-box.small strong{font-size:23px}.app-shell .summary-box.danger strong,.app-shell .summary-box.success strong,.app-shell .summary-box.warning strong{color:var(--s-ink)}.app-shell .dashboard-panels{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.app-shell .dashboard-panels .panel{border:1px solid var(--s-line);border-radius:var(--s-radius);box-shadow:var(--s-shadow-sm);overflow:hidden}.app-shell .dashboard-panels .panel-header{padding:16px 18px}.panel-head-title{display:flex;align-items:center;gap:9px}.panel-head-title svg{color:var(--s-brand);flex:0 0 auto}.app-shell .dashboard-panels .panel-header h3{margin:0;font-size:15.5px;font-weight:700}.app-shell .dashboard-panels .panel-header .badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--s-bg);color:var(--s-ink-soft);font-size:12px;font-weight:700}.app-shell .dashboard-panels .panel-body{padding:12px}.app-shell .dashboard-list{gap:8px}.app-shell .dashboard-row{align-items:center;padding:11px 12px;border-radius:var(--s-radius-sm);border:1px solid var(--s-line);transition:border-color .14s ease,background .14s ease}.app-shell .dashboard-row:hover{border-color:var(--s-line-strong);background:#fafcfc}.dash-who{display:flex;align-items:center;gap:11px;min-width:0}.dash-avatar{width:34px;height:34px;border-radius:50%;background:var(--s-bg);color:var(--s-brand);display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}.app-shell .dashboard-row strong{font-size:14px;font-weight:600}.app-shell .dashboard-row p{margin:1px 0 0;font-size:12.5px}.app-shell .dashboard-row>span{color:var(--s-brand-ink);font-weight:800;font-size:14px}.app-shell .status-pill{border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;background:var(--s-bg);color:var(--s-ink-soft);white-space:nowrap}.app-shell .status-pill.success{background:rgba(29,122,69,.12);color:var(--s-ok)}.app-shell .status-pill.warning{background:rgba(183,102,18,.12);color:var(--s-warn)}.app-shell .status-pill.danger,.app-shell .status-pill.recording{background:rgba(181,67,47,.1);color:var(--s-danger)}.pv{display:grid;grid-gap:18px;gap:18px}.pv-toolbar{background:#ffffff;border:1px solid var(--s-line,#e7eef0);border-radius:var(--s-radius,16px);box-shadow:var(--s-shadow-sm,0 1px 2px rgba(14,40,51,.05));padding:14px 16px;display:grid;grid-gap:12px;gap:12px}.pv-toolbar-top{gap:14px}.pv-search,.pv-toolbar-top{display:flex;align-items:center}.pv-search{flex:1 1;gap:9px;background:var(--s-bg,#eef4f5);border:1px solid var(--s-line,#e7eef0);border-radius:10px;padding:10px 13px;transition:border-color .15s ease,box-shadow .15s ease}.pv-search:focus-within{border-color:var(--s-brand-soft,#007196);box-shadow:0 0 0 3px rgba(0,113,150,.12);background:#fff}.pv-search svg{color:var(--s-muted,#5f7178);flex:0 0 auto}.pv-search input{border:0;background:transparent;outline:none;font:inherit;width:100%;color:var(--s-ink,#0e2833)}.pv-search-clear{border:0;background:transparent;color:var(--s-muted,#5f7178);cursor:pointer;display:grid;place-items:center;padding:2px}.pv-count{font-size:13px;font-weight:600;color:var(--s-muted,#5f7178);white-space:nowrap}.pv-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pv-chip{border:1px solid var(--s-line-strong,#dbe6e9);background:#fff;color:var(--s-ink-soft,#274853);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.pv-chip:hover{color:var(--s-brand,#005573)}.pv-chip.active,.pv-chip:hover{border-color:var(--s-brand,#005573)}.pv-chip.active{background:var(--s-brand,#005573);color:#fff}.pv-select{border:1px solid var(--s-line-strong,#dbe6e9);background:#fff;color:var(--s-ink-soft,#274853);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.pv-table-wrap{background:#ffffff;border:1px solid var(--s-line,#e7eef0);border-radius:var(--s-radius,16px);box-shadow:var(--s-shadow-sm,0 1px 2px rgba(14,40,51,.05));overflow-x:auto}.pv-table{width:100%;border-collapse:collapse;min-width:720px}.pv-table thead th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--s-muted,#5f7178);padding:13px 16px;border-bottom:1px solid var(--s-line,#e7eef0);background:#fafcfc;white-space:nowrap}.pv-table td.pv-num,.pv-table th.pv-num{text-align:center}.pv-table td.pv-right,.pv-table th.pv-right{text-align:right}.pv-table tbody td{padding:11px 16px;border-bottom:1px solid var(--s-line,#e7eef0);font-size:14px;vertical-align:middle;color:var(--s-ink,#0e2833)}.pv-table tbody tr{cursor:pointer;transition:background .12s ease}.pv-table tbody tr:last-child td{border-bottom:0}.pv-table tbody tr:hover{background:#f7fbfb}.pv-table tbody tr.selected{background:rgba(0,113,150,.06)}.pv-ptcell{display:flex;align-items:center;gap:12px;min-width:0}.pv-name{font-weight:600;font-size:14.5px}.pv-subline{font-size:12.5px;margin-top:1px}.pv-muted,.pv-subline{color:var(--s-muted,#5f7178)}.pv-cnt{font-weight:800;font-size:15px;color:var(--s-ink,#0e2833)}.pv-cnt-zero{font-weight:700;font-size:15px;color:#b3c0c4}.pv-cnt-warn{color:var(--s-warn,#b76612)}.pv-cnt-progress,.pv-cnt-warn{font-weight:800;font-size:15px}.pv-cnt-progress{color:var(--s-brand-soft,#007196)}.pv-phone{display:inline-flex;align-items:center;gap:6px;color:var(--s-ink-soft,#274853);text-decoration:none;font-size:13.5px;font-weight:500}.pv-phone svg{color:var(--s-ok,#1d7a45);flex:0 0 auto}.pv-phone:hover,.pv-phone:hover svg{color:var(--s-brand,#005573)}.pv-row-arrow{display:inline-flex}.pv-empty,.pv-row-arrow{color:var(--s-muted,#5f7178)}.pv-empty{padding:40px 16px;text-align:center;font-size:14px}.pv-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--s-line,#e7eef0);flex-wrap:wrap}.pv-pager-info{font-size:13px;color:var(--s-muted,#5f7178)}.pv-pager-controls{display:flex;align-items:center;gap:12px}.pv-pager-page{color:var(--s-muted,#5f7178)}.pv-pager-btn,.pv-pager-page{font-size:13px;font-weight:600}.pv-pager-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--s-line-strong,#dbe6e9);background:#fff;color:var(--s-ink-soft,#274853);border-radius:8px;padding:7px 12px;cursor:pointer;transition:border-color .14s ease,color .14s ease}.pv-pager-btn:hover:not(:disabled){border-color:var(--s-brand,#005573);color:var(--s-brand,#005573)}.pv-pager-btn:disabled{opacity:.45;cursor:not-allowed}.pv-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13.5px;flex:0 0 auto;overflow:hidden}.pv-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.pavatar{border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e7eef0;color:#8aa0a6;flex:0 0 auto}.pavatar img{width:100%;height:100%;object-fit:cover;display:block}.pavatar svg{width:55%;height:55%}.pavatar-sm{width:34px;height:34px}.pavatar-md{width:38px;height:38px}.pavatar-lg{width:52px;height:52px}.pv-scrim{position:fixed;inset:0;z-index:40;background:rgba(14,40,51,.28);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:pv-fade .16s ease}@keyframes pv-fade{0%{opacity:0}to{opacity:1}}.pv-drawer{position:fixed;top:0;right:0;z-index:41;height:100vh;width:400px;max-width:92vw;background:#ffffff;box-shadow:-24px 0 60px rgba(14,40,51,.18);border-left:1px solid var(--s-line,#e7eef0);display:flex;flex-direction:column;animation:pv-slide .2s ease}@keyframes pv-slide{0%{transform:translateX(24px);opacity:.4}to{transform:translateX(0);opacity:1}}.pv-drawer-head{padding:20px 22px;border-bottom:1px solid var(--s-line,#e7eef0);display:flex;align-items:flex-start;gap:14px}.pv-drawer-head .pv-avatar{width:52px;height:52px;font-size:18px}.pv-drawer-name{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--s-ink,#0e2833)}.pv-drawer-sub{font-size:13px;color:var(--s-muted,#5f7178);margin-top:3px}.pv-drawer-close{margin-left:auto;border:0;background:transparent;color:var(--s-muted,#5f7178);cursor:pointer;padding:4px;border-radius:8px;display:grid;place-items:center}.pv-drawer-close:hover{background:var(--s-bg,#eef4f5);color:var(--s-ink,#0e2833)}.pv-drawer-body{padding:20px 22px;display:grid;grid-gap:20px;gap:20px;overflow-y:auto}.pv-pill-row{display:flex;gap:8px;flex-wrap:wrap}.pv-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.pv-stat{background:var(--s-bg,#eef4f5);border-radius:12px;padding:12px;text-align:center}.pv-stat b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--s-ink,#0e2833)}.pv-stat span{font-size:10.5px;letter-spacing:.04em}.pv-section-label,.pv-stat span{color:var(--s-muted,#5f7178);font-weight:700;text-transform:uppercase}.pv-section-label{font-size:11px;letter-spacing:.05em;margin-bottom:6px}.pv-fields{display:grid;grid-gap:0;gap:0}.pv-fields .pv-fl{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--s-line,#e7eef0);font-size:13.5px}.pv-fields .pv-fl:last-child{border-bottom:0}.pv-fields .pv-fl span{color:var(--s-muted,#5f7178)}.pv-fields .pv-fl strong{font-weight:600;text-align:right;color:var(--s-ink,#0e2833)}.pv-drawer-actions{margin-top:auto;padding:18px 22px;border-top:1px solid var(--s-line,#e7eef0);display:grid;grid-gap:9px;gap:9px}.pv-act{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:11px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.pv-act-primary{background:var(--s-brand,#005573);color:#fff;border:0;box-shadow:0 6px 16px rgba(0,85,115,.2)}.pv-act-primary:hover{background:var(--s-brand-ink,#003e56)}.pv-act-ghost{background:#fff;color:var(--s-ink-soft,#274853);border:1px solid var(--s-line-strong,#dbe6e9)}.pv-act-ghost:hover{border-color:var(--s-brand,#005573);color:var(--s-brand,#005573)}.pv-act-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}@media (max-width:640px){.pv-drawer{width:100vw}.pv-toolbar-top{flex-wrap:wrap}}.app-shell .nav a{position:relative;display:flex;align-items:center;gap:11px;color:var(--s-ink-soft,#274853);border-radius:10px;padding:9px 11px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .14s ease,color .14s ease}.app-shell .nav a svg{width:18px;height:18px;color:var(--s-muted,#5f7178);flex:0 0 auto;transition:color .14s ease}.app-shell .nav a:hover{background:#f4f8f9;color:var(--s-ink,#0e2833)}.app-shell .nav a:hover svg{color:var(--s-ink-soft,#274853)}.app-shell .nav a.active{background:rgba(0,113,150,.1);font-weight:600}.app-shell .nav a.active,.app-shell .nav a.active svg{color:var(--s-brand,#005573)}.app-shell .nav a.active:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--s-brand,#005573)}.portal-soon{display:flex;align-items:center;gap:11px;padding:9px 11px;color:#b3c0c4;font-size:14.5px;font-weight:500}.portal-soon svg{width:18px;height:18px;color:#c7d2d5;flex:0 0 auto}.portal-soon .soon-tag{margin-left:auto;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#98a6aa;background:var(--s-bg,#eef4f5);padding:2px 7px;border-radius:999px}.portal-main{max-width:1000px}.portal-next{background:linear-gradient(120deg,var(--s-brand-ink,#003e56),var(--s-brand,#005573) 72%);color:#fff;border-radius:var(--s-radius,16px);padding:22px 24px;box-shadow:var(--s-shadow,0 10px 30px rgba(14,40,51,.07));display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.portal-next-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.8)}.portal-next-when{font-size:21px;font-weight:800;letter-spacing:-.02em;margin-top:6px;display:flex;align-items:center;gap:10px}.portal-next-when svg{width:22px;height:22px;flex:0 0 auto}.portal-next-sub{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:4px}.portal-next-empty{font-size:15px;font-weight:600;margin-top:6px}.portal-next-cta{background:#fff;color:var(--s-brand-ink,#003e56);border:0;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}.portal-next-cta svg{width:16px;height:16px}.portal-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--s-accent-ink,#c9770f);margin:0 0 14px}.portal-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.portal-action{background:#fff;border:1px solid var(--s-line,#e7eef0);border-radius:var(--s-radius,16px);padding:20px;box-shadow:var(--s-shadow-sm,0 1px 2px rgba(14,40,51,.05));cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;text-align:left;text-decoration:none;display:block;color:inherit}.portal-action:hover{transform:translateY(-2px);box-shadow:var(--s-shadow,0 10px 30px rgba(14,40,51,.07))}.portal-action .ico{width:44px;height:44px;border-radius:12px;background:rgba(0,113,150,.1);color:var(--s-brand,#005573);display:grid;place-items:center;margin-bottom:14px}.portal-action .ico svg{width:21px;height:21px}.portal-action h4{margin:0 0 5px;font-size:16px;font-weight:700;color:var(--s-ink,#0e2833)}.portal-action p{margin:0;font-size:13.5px;line-height:1.5;color:var(--s-muted,#5f7178)}.portal-panel{background:#fff;border:1px solid var(--s-line,#e7eef0);border-radius:var(--s-radius,16px);box-shadow:var(--s-shadow-sm,0 1px 2px rgba(14,40,51,.05));overflow:hidden}.portal-panel-header{padding:16px 18px;border-bottom:1px solid var(--s-line,#e7eef0);display:flex;align-items:center;justify-content:space-between}.portal-panel-header .h{display:flex;align-items:center;gap:9px}.portal-panel-header .h svg{width:17px;height:17px;color:var(--s-brand,#005573)}.portal-panel-header h3{margin:0;font-size:15.5px;font-weight:700}.portal-panel-header a{font-size:13px;font-weight:600;color:var(--s-brand,#005573);text-decoration:none}.portal-panel-body{padding:10px;display:grid;grid-gap:6px;gap:6px}.portal-doc-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--s-radius-sm,11px);border:1px solid var(--s-line,#e7eef0);transition:border-color .14s ease,background .14s ease}.portal-doc-row:hover{background:#fafcfc;border-color:var(--s-line-strong,#dbe6e9)}.portal-doc-ico{width:34px;height:34px;border-radius:9px;background:var(--s-bg,#eef4f5);color:var(--s-brand,#005573);display:grid;place-items:center;flex:0 0 auto}.portal-doc-ico svg{width:16px;height:16px}.portal-doc-info{flex:1 1;min-width:0}.portal-doc-info strong{font-size:14px;font-weight:600}.portal-doc-info p{margin:1px 0 0;font-size:12.5px;color:var(--s-muted,#5f7178)}.portal-empty{padding:22px 12px;text-align:center;color:var(--s-muted,#5f7178);font-size:13.5px}@media (max-width:820px){.portal-actions{grid-template-columns:1fr}}.brand-link{text-decoration:none}