:root{color:#26312d;font-synthesis:none;text-rendering:optimizelegibility;--green-950:#16382e;--green-900:#1d4a3c;--green-800:#245c4a;--green-700:#2e6c58;--green-600:#4a806b;--sage-500:#8faf9f;--sage-300:#bfd0c7;--sage-150:#e2ebe6;--gold-500:#c5a46d;--gold-200:#eadcc2;--cream-100:#f7f5ef;--cream-50:#fbfaf7;--ink-900:#26312d;--ink-700:#52605a;--ink-500:#7b8781;--line:#dde3df;--surface:#fff;--surface-raised:#fff;--page:#f3f2ed;--danger:#a43c3c;--danger-soft:#f8e8e8;--warning:#9a681e;--warning-soft:#fff3dd;--success:#287454;--success-soft:#e6f4ed;--info-soft:#e8f0f6;--shadow-sm:0 1px 2px #1a30270f, 0 4px 16px #1a30270a;--shadow-md:0 16px 40px #1a30271a;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--sidebar:264px;--topbar:72px;background:#f3f2ed;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color:#edf3ef;--surface:#18241f;--surface-raised:#1d2b25;--page:#101a16;--cream-100:#16221d;--cream-50:#121d18;--ink-900:#edf3ef;--ink-700:#c1cec7;--ink-500:#93a199;--line:#31443b;--sage-150:#20362d;--gold-200:#4a3e2c;--danger-soft:#3d2323;--warning-soft:#3e321e;--success-soft:#1d382b;--info-soft:#20313c;--shadow-sm:0 1px 2px #0000003d, 0 4px 16px #0000002e;--shadow-md:0 16px 40px #00000047;background:#101a16}*{box-sizing:border-box}html{background:var(--page);min-width:320px;min-height:100%}body{background:var(--page);min-width:320px;min-height:100vh;color:var(--ink-900);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}code,kbd{font-family:SFMono-Regular,Consolas,monospace}h1,h2,h3,p{margin-top:0}h1{color:var(--ink-900);margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.08}h2{margin-bottom:6px;font-size:1.15rem;line-height:1.3}p{color:var(--ink-700);line-height:1.6}.eyebrow{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.74rem;font-weight:800;display:block}.desktop-hidden{display:none}.mobile-only{display:none!important}.button,.icon-button,.filter-tab,.topbar__search,.sidebar__profile,.auth-links button,.segmented-control button{cursor:pointer;border:0}.button{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:750;transition:all .18s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--green-800);color:#fff;box-shadow:0 8px 22px #245c4a2e}.button--primary:hover{background:var(--green-900);transform:translateY(-1px)}.button--secondary{background:var(--surface);color:var(--green-800);border:1px solid var(--line)}.button--secondary:hover{border-color:var(--sage-500);background:var(--cream-50)}.button--ghost{color:var(--ink-700);background:0 0}.button--danger{background:var(--danger-soft);color:var(--danger)}.button--wide{width:100%}.button--small{min-height:36px;padding:0 11px;font-size:.86rem}.icon-button{background:0 0;border-radius:12px;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:hover{background:var(--sage-150);color:var(--green-800)}.icon-button--bordered{background:var(--surface);border:1px solid var(--line)}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-lockup__symbol{border-radius:15px;width:50px;height:50px}.brand-lockup strong{color:var(--green-800);white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;display:block}.brand-lockup span{color:var(--ink-500);letter-spacing:.03em;margin-top:3px;font-size:.73rem;display:block}.brand-symbol{width:48px;height:48px}.avatar{background:var(--sage-150);width:40px;height:40px;color:var(--green-800);border:1px solid #8faf9f59;border-radius:13px;flex:none;place-items:center;font-weight:800;display:inline-grid}.avatar--small{width:38px;height:38px}.avatar--large{border-radius:15px;width:48px;height:48px}.avatar--xlarge{border-radius:23px;width:76px;height:76px;font-size:1.35rem}.loading-screen{background:var(--cream-100);text-align:center;place-content:center;place-items:center;gap:18px;min-height:100vh;display:grid}.loading-screen p{margin:0}.spinner{border:3px solid var(--sage-150);border-top-color:var(--green-800);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{z-index:20;width:var(--sidebar);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar>.brand-lockup{border-bottom:1px solid var(--line);padding:0 8px 22px}.sidebar__nav{gap:6px;padding-top:22px;display:grid}.nav-item{min-height:48px;color:var(--ink-700);border-radius:13px;align-items:center;gap:12px;padding:0 14px;font-weight:700;display:flex}.nav-item:hover{background:var(--cream-100);color:var(--green-800)}.nav-item--active{background:var(--sage-150);color:var(--green-800)}.sidebar__profile{text-align:left;background:var(--cream-100);border-radius:15px;align-items:center;gap:11px;width:100%;margin-top:auto;padding:10px;display:flex}.sidebar__profile span:last-child{min-width:0}.sidebar__profile strong,.sidebar__profile small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar__profile strong{font-size:.88rem}.sidebar__profile small{color:var(--ink-500);margin-top:3px}.app-main{grid-column:2;min-width:0}.topbar{z-index:15;height:var(--topbar);background:color-mix(in srgb, var(--page) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-content:space-between;align-items:center;padding:0 30px;display:flex;position:sticky;top:0}.topbar__search{background:var(--surface);border:1px solid var(--line);width:min(480px,50vw);min-height:42px;color:var(--ink-500);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:0 13px;display:flex}.topbar__search span{flex:1}.topbar__search kbd{background:var(--cream-100);color:var(--ink-500);border-radius:6px;padding:3px 6px;font-size:.72rem}.topbar__actions{align-items:center;gap:10px;display:flex}.content{width:min(1480px,100%);margin:0 auto;padding:30px 32px 54px}.bottom-nav{display:none}.page-stack{gap:24px;display:grid}.page-stack--narrow{max-width:1020px;margin:0 auto}.page-heading{padding:8px 2px 2px}.page-heading p{max-width:760px;margin-bottom:0}.page-heading--split{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.back-link{color:var(--green-700);align-items:center;gap:7px;margin-bottom:18px;font-weight:750;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 20px;display:flex}.panel__header h2,.panel__header .eyebrow{margin-bottom:0}.panel__header a{color:var(--green-700);align-items:center;gap:6px;font-size:.88rem;font-weight:750;display:inline-flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-sm);gap:14px;padding:18px;display:flex}.metric-card__icon{width:44px;height:44px;color:var(--green-800);background:var(--sage-150);border-radius:14px;flex:none;place-items:center;display:grid}.metric-card__icon svg{width:21px}.metric-card div{min-width:0}.metric-card small,.metric-card span{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.metric-card strong{color:var(--ink-900);text-overflow:ellipsis;margin:5px 0 4px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.2;display:block;overflow:hidden}.metric-card span{font-size:.8rem}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.panel--wide{min-width:0}.appointment-list{display:grid}.appointment-row{border-bottom:1px solid var(--line);grid-template-columns:58px 40px minmax(160px,1fr) auto auto minmax(42px,auto);align-items:center;gap:12px;min-height:76px;padding:12px 18px;display:grid}.appointment-row:last-child{border-bottom:0}.appointment-row__time strong,.appointment-row__time span{display:block}.appointment-row__time span{color:var(--ink-500);font-size:.77rem}.appointment-row__main{min-width:0}.appointment-row__main strong,.appointment-row__main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.appointment-row__main span,.appointment-row__location{color:var(--ink-500);font-size:.82rem}.attention-list{display:grid}.attention-list>a{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:82px;padding:13px 18px;display:grid}.attention-list>a:last-child{border-bottom:0}.attention-list__icon{background:var(--warning-soft);width:40px;height:40px;color:var(--warning);border-radius:13px;place-items:center;display:grid}.attention-list__icon--critical{background:var(--danger-soft);color:var(--danger)}.attention-list div{min-width:0}.attention-list strong,.attention-list span{display:block}.attention-list span{color:var(--ink-500);margin-top:4px;font-size:.78rem;line-height:1.35}.attention-list b{min-width:30px;height:30px;color:var(--green-800);background:var(--sage-150);border-radius:999px;place-items:center;display:grid}.quick-actions{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.quick-actions>a{border:1px solid var(--line);background:var(--cream-50);border-radius:14px;align-items:center;gap:13px;min-height:86px;padding:16px;display:flex}.quick-actions>a:hover{border-color:var(--sage-500);transform:translateY(-1px)}.quick-actions>a>svg{color:var(--green-800)}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{color:var(--ink-500);margin-top:4px}.status-badge{background:var(--info-soft);color:#416277;white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:.74rem;font-weight:800;display:inline-flex}.status-badge--active,.status-badge--completed,.status-badge--confirmed{background:var(--success-soft);color:var(--success)}.status-badge--online{color:#475d9b;background:#e9eef9}.status-badge--clinic{background:var(--sage-150);color:var(--green-800)}.status-badge--hybrid{background:var(--gold-200);color:#735728}.status-badge--cancelled,.status-badge--no_show,.status-badge--archived{background:var(--danger-soft);color:var(--danger)}.status-badge--postponed,.status-badge--planned,.status-badge--waiting{background:var(--warning-soft);color:var(--warning)}.empty-state{text-align:center;align-content:center;place-items:center;min-height:250px;padding:38px 20px;display:grid}.empty-state__icon{background:var(--sage-150);width:58px;height:58px;color:var(--green-800);border-radius:18px;place-items:center;display:grid}.empty-state h3{margin:14px 0 6px}.empty-state p{max-width:460px;margin-bottom:18px}.error-banner{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--line));background:var(--danger-soft);color:var(--danger);border-radius:13px;align-items:center;gap:10px;padding:13px 15px;display:flex}.error-banner div{display:grid}.error-banner span{font-size:.82rem}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:800}.filters-panel{align-items:center;gap:14px;padding:14px;display:flex}.search-field{border:1px solid var(--line);background:var(--cream-50);border-radius:12px;flex:1;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.search-field svg{color:var(--ink-500)}.search-field input{width:100%;color:var(--ink-900);background:0 0;border:0;outline:0}.filter-tabs{scrollbar-width:thin;gap:8px;display:flex;overflow-x:auto}.filter-tab{min-height:38px;color:var(--ink-700);white-space:nowrap;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 11px;font-weight:700;display:inline-flex}.filter-tab:hover{background:var(--cream-100)}.filter-tab--active{color:var(--green-800);background:var(--sage-150)}.filter-tab:disabled{cursor:not-allowed;opacity:.45}.client-panel{overflow:hidden}.client-list{display:grid}.client-row{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(190px,1.25fr) repeat(3,minmax(110px,.75fr)) auto 22px;align-items:center;gap:13px;min-height:78px;padding:13px 17px;display:grid}.client-row:last-child{border-bottom:0}.client-row:hover{background:var(--cream-50)}.client-row__identity,.client-row__data{min-width:0}.client-row__identity strong,.client-row__identity span,.client-row__data small,.client-row__data strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.client-row__identity span,.client-row__data small{color:var(--ink-500);margin-top:3px;font-size:.76rem}.client-row__data strong{margin-top:4px;font-size:.88rem}.client-row__data strong span{color:var(--ink-500);font-weight:600}.form-panel{overflow:hidden}.form-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:18px 22px;display:flex}.form-section-heading>div{align-items:center;gap:13px;display:flex}.form-section-heading>div>span{background:var(--sage-150);width:38px;height:38px;color:var(--green-800);border-radius:12px;place-items:center;font-weight:850;display:grid}.form-section-heading h2,.form-section-heading p{margin-bottom:0}.form-section-heading p{margin-top:3px;font-size:.82rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;display:grid}.form-grid label{min-width:0}.form-grid label>span{color:var(--ink-700);margin-bottom:7px;font-size:.84rem;font-weight:750;display:block}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input{border:1px solid var(--line);background:var(--cream-50);width:100%;min-height:46px;color:var(--ink-900);border-radius:11px;outline:0;padding:0 12px;transition:all .18s}.form-grid textarea{resize:vertical;min-height:110px;padding:12px;line-height:1.5}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--sage-500) 25%, transparent)}.form-grid__full{grid-column:1/-1}.checkbox-field{border:1px solid var(--line);background:var(--cream-50);border-radius:11px;align-self:end;align-items:center;gap:9px;min-height:46px;padding:0 12px;display:flex}.checkbox-field input{width:18px;min-height:18px}.checkbox-field span{margin:0!important}.form-divider{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--page);height:12px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:18px 22px;display:flex}.form-security{color:var(--ink-500);align-items:center;gap:7px;margin-right:auto;font-size:.78rem;display:flex}.field-error{color:var(--danger);margin-top:5px;display:block}.form-message{border-radius:11px;margin:0 22px 16px;padding:12px 14px;font-size:.86rem}.form-message--error{background:var(--danger-soft);color:var(--danger)}.form-message--success{background:var(--success-soft);color:var(--success)}.client-heading__identity{align-items:center;gap:16px;display:flex}.client-heading__identity h1{margin-bottom:6px}.client-heading__identity p{margin:0}.menu-wrapper{position:relative}.context-menu{z-index:10;border:1px solid var(--line);background:var(--surface);min-width:200px;box-shadow:var(--shadow-md);border-radius:13px;padding:7px;position:absolute;top:calc(100% + 8px);right:0}.context-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;min-height:40px;padding:0 10px;display:flex}.context-menu button:hover{background:var(--cream-100)}.context-menu__danger{color:var(--danger)}.profile-status-row{min-height:50px;color:var(--ink-700);align-items:center;gap:10px;padding:0 4px;font-size:.82rem;display:flex}.progress-track{background:var(--line);border-radius:999px;width:160px;height:8px;overflow:hidden}.progress-track span{background:var(--green-700);border-radius:inherit;height:100%;display:block}.profile-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.profile-metric-grid article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:15px;padding:17px}.profile-metric-grid small,.profile-metric-grid strong,.profile-metric-grid span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-metric-grid small,.profile-metric-grid span{color:var(--ink-500)}.profile-metric-grid strong{margin:8px 0 4px;font-size:1.18rem}.profile-metric-grid span{font-size:.78rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.profile-card{overflow:hidden}.detail-list{margin:0;padding:8px 20px}.detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;align-items:center;gap:14px;min-height:50px;display:grid}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--ink-500);font-size:.8rem}.detail-list dd{margin:0;font-weight:650}.note-box{background:var(--cream-100);border-radius:12px;margin:6px 20px 20px;padding:14px}.note-box p{white-space:pre-wrap;margin:6px 0 0}.compact-list{display:grid}.compact-list>div{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:center;gap:12px;min-height:66px;padding:10px 18px;display:grid}.compact-list>div:last-child{border-bottom:0}.compact-list__date strong,.compact-list__date small,.compact-list div>strong,.compact-list div>span{display:block}.compact-list__date small,.compact-list div>span{color:var(--ink-500);font-size:.75rem}.module-grid-panel{overflow:hidden}.module-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.module-grid>a{border:1px solid var(--line);background:var(--cream-50);border-radius:14px;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;min-height:108px;padding:15px;display:grid}.module-grid>a>svg:first-child{color:var(--green-800)}.module-grid strong,.module-grid small{display:block}.module-grid small{color:var(--ink-500);margin-top:5px;line-height:1.35}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 16px;display:flex}.calendar-toolbar h2{text-transform:capitalize;margin:0}.date-switcher,.calendar-view-tabs{align-items:center;gap:8px;display:flex}.day-schedule{overflow:hidden}.timeline{padding:16px 20px}.timeline-item{grid-template-columns:62px 20px 1fr;gap:12px;min-height:88px;display:grid}.timeline-item__time{text-align:right;padding-top:14px}.timeline-item__time strong,.timeline-item__time span{display:block}.timeline-item__time span{color:var(--ink-500);font-size:.75rem}.timeline-item__line{position:relative}.timeline-item__line:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%}.timeline-item__line span{background:var(--green-700);width:11px;height:11px;box-shadow:0 0 0 4px var(--sage-150);border-radius:50%;position:absolute;top:20px;left:50%;transform:translate(-50%)}.timeline-item__card{border:1px solid var(--line);background:var(--cream-50);border-radius:14px;grid-template-columns:40px minmax(140px,1fr) auto auto auto;align-items:center;gap:11px;min-height:72px;margin-bottom:14px;padding:12px 14px;display:grid}.timeline-item__main{min-width:0}.timeline-item__main strong,.timeline-item__main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.timeline-item__main span{color:var(--ink-500);font-size:.79rem}.program-architecture-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.program-architecture-grid article{padding:20px}.program-architecture-grid svg{color:var(--green-800)}.program-architecture-grid h2{margin-top:16px}.program-architecture-grid p{margin-bottom:0;font-size:.9rem}.module-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.module-directory>a{background:var(--surface);border:1px solid var(--line);min-height:86px;box-shadow:var(--shadow-sm);border-radius:15px;grid-template-columns:46px 1fr auto 20px;align-items:center;gap:12px;padding:14px 16px;display:grid}.module-directory>a:hover{border-color:var(--sage-500)}.module-directory__icon{background:var(--sage-150);width:44px;height:44px;color:var(--green-800);border-radius:13px;place-items:center;display:grid}.module-directory strong,.module-directory small{display:block}.module-directory small{color:var(--ink-500);margin-top:4px}.version-chip{background:var(--cream-100);color:var(--ink-500);border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.roadmap-note{align-items:flex-start;gap:13px;padding:18px;display:flex}.roadmap-note>svg{color:var(--green-800)}.roadmap-note p{margin:4px 0 0}.future-module{text-align:center;padding:28px}.future-module__icon{background:var(--gold-200);width:70px;height:70px;color:var(--warning);border-radius:22px;place-items:center;margin:0 auto 16px;display:grid}.future-scope{text-align:left;gap:10px;max-width:650px;margin:24px auto;display:grid}.future-scope>div{border:1px solid var(--line);background:var(--cream-50);border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:10px 14px;display:flex}.future-scope svg{color:var(--green-800)}.security-callout{text-align:left;background:var(--success-soft);max-width:680px;color:var(--success);border-radius:14px;gap:12px;margin:20px auto 0;padding:16px;display:flex}.security-callout p{color:inherit;margin:4px 0 0}.settings-brand-card{align-items:center;gap:18px;padding:18px;display:flex}.settings-brand-card>div:nth-child(2){flex:1}.settings-brand-card p{margin:4px 0 0}.settings-grid{gap:14px;display:grid}.settings-card{grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:110px;padding:18px;display:grid}.settings-card__icon{background:var(--sage-150);width:46px;height:46px;color:var(--green-800);border-radius:14px;place-items:center;display:grid}.settings-card h2,.settings-card p{margin-bottom:0}.settings-card p{margin-top:4px}.segmented-control{background:var(--cream-100);border-radius:11px;gap:4px;padding:4px;display:flex}.segmented-control button{background:0 0;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 10px;display:flex}.segmented-control button.active{background:var(--surface);color:var(--green-800);box-shadow:var(--shadow-sm)}.security-pill{background:var(--success-soft);color:var(--success);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.auth-page{background:var(--cream-100);grid-template-columns:minmax(420px,1fr) minmax(420px,.78fr);min-height:100vh;display:grid}.auth-visual{background:radial-gradient(circle at 20% 20%,#c5a46d40,#0000 34%),linear-gradient(145deg,#193f34,#245c4a 55%,#1b4a3a);place-items:center;padding:50px;display:grid}.auth-visual__content{max-width:620px}.auth-visual img{border-radius:28px;max-height:600px;margin:0 auto;box-shadow:0 28px 80px #0000003d}.auth-visual blockquote{color:#ffffffdb;text-align:center;margin:30px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;line-height:1.55}.auth-panel{background:var(--surface);place-items:center;padding:42px;display:grid}.auth-panel__inner{width:min(440px,100%)}.auth-panel h1{font-size:2.5rem}.form-stack{gap:17px;margin-top:28px;display:grid}.form-stack label>span{margin-bottom:7px;font-size:.84rem;font-weight:750;display:block}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon>svg{color:var(--ink-500);position:absolute;left:13px}.input-with-icon input{padding-left:42px;padding-right:44px}.input-action{width:36px;height:36px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;right:5px}.auth-links{justify-content:space-between;gap:14px;margin-top:17px;display:flex}.auth-links button{color:var(--green-700);background:0 0;padding:0;font-weight:750}.security-note{border-top:1px solid var(--line);color:var(--ink-500);align-items:center;gap:7px;margin-top:28px;padding-top:18px;font-size:.78rem;display:flex}.setup-page{background:radial-gradient(circle at 5% 5%, #c5a46d33, transparent 26%), var(--cream-100);place-items:center;min-height:100vh;padding:28px;display:grid}.setup-card{border:1px solid var(--line);background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow-md);border-radius:24px;padding:30px}.setup-card__header{margin:28px 0}.setup-card__header h1{font-size:2.35rem}.setup-steps{gap:10px;margin-bottom:22px;display:grid}.setup-steps>div{border:1px solid var(--line);background:var(--cream-50);border-radius:13px;grid-template-columns:30px 42px 1fr;align-items:center;gap:10px;min-height:76px;padding:13px;display:grid}.setup-steps>div>span{background:var(--green-800);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;display:grid}.setup-steps svg{color:var(--green-800)}.setup-steps p,.setup-steps strong,.setup-steps small{margin:0;display:block}.setup-steps small{color:var(--ink-500);margin-top:4px;line-height:1.4}.setup-card__note{text-align:center;margin:14px 0 0;font-size:.78rem}.install-banner{z-index:50;border:1px solid var(--line);background:var(--surface);width:min(460px,100vw - 40px);box-shadow:var(--shadow-md);border-radius:15px;grid-template-columns:26px 1fr auto 42px;align-items:center;gap:10px;padding:13px;display:grid;position:fixed;bottom:20px;right:20px}.install-banner>svg{color:var(--green-800)}.install-banner strong,.install-banner span{display:block}.install-banner span{color:var(--ink-500);margin-top:3px;font-size:.77rem}.skeleton-block{background:linear-gradient(90deg, var(--surface) 20%, var(--cream-100) 50%, var(--surface) 80%);background-size:240% 100%;min-height:420px;animation:1.5s ease-in-out infinite skeleton}@keyframes skeleton{to{background-position:-240% 0}}@media (width<=1180px){:root{--sidebar:224px}.brand-lockup strong{font-size:.94rem}.brand-lockup span{font-size:.66rem}.metric-grid,.quick-actions{grid-template-columns:repeat(2,1fr)}.client-row{grid-template-columns:48px minmax(170px,1fr) repeat(2,minmax(100px,.6fr)) auto 20px}.client-row__data:nth-of-type(4){display:none}.module-grid,.program-architecture-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){:root{--topbar:64px}.app-shell{display:block}.sidebar{display:none}.app-main{width:100%}.topbar{padding:0 14px}.mobile-only{display:inline-grid!important}.topbar__search{width:min(440px,100vw - 142px)}.content{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;min-height:calc(68px + env(safe-area-inset-bottom));padding:7px 7px env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{min-width:0;min-height:54px;color:var(--ink-500);border-radius:11px;align-content:center;place-items:center;gap:4px;font-size:.67rem;font-weight:750;display:grid}.bottom-nav__item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav__item--active{color:var(--green-800);background:var(--sage-150)}.dashboard-grid,.profile-grid{grid-template-columns:1fr}.client-row{grid-template-columns:48px minmax(0,1fr) auto 20px}.client-row__data{display:none}.filters-panel{flex-direction:column;align-items:stretch}.profile-metric-grid{grid-template-columns:repeat(2,1fr)}.module-directory,.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:28px}.desktop-hidden{margin-bottom:38px;display:flex}}@media (width<=640px){:root{font-size:16px}.topbar__search kbd,.topbar__actions .icon-button{display:none}.topbar__search{width:calc(100vw - 112px)}.page-heading--split{flex-direction:column;align-items:stretch}.heading-actions{width:100%}.heading-actions .button{flex:1}h1{font-size:2rem}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{gap:10px;padding:13px}.metric-card__icon{width:38px;height:38px}.metric-card strong{font-size:1.1rem}.metric-card span{font-size:.7rem}.appointment-row{grid-template-columns:52px 36px minmax(0,1fr) auto;gap:9px}.appointment-row .status-badge:nth-of-type(2),.appointment-row__location,.appointment-row>.icon-button{display:none}.quick-actions{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;padding:18px 16px}.form-grid__full{grid-column:auto}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .button{width:100%}.form-security{text-align:center;justify-content:center;margin:0}.client-heading__identity{align-items:flex-start}.avatar--xlarge{border-radius:18px;width:60px;height:60px}.profile-status-row{flex-wrap:wrap;align-items:flex-start}.progress-track{width:100%}.profile-metric-grid{grid-template-columns:1fr 1fr;gap:10px}.profile-metric-grid article{padding:13px}.detail-list>div{grid-template-columns:1fr;gap:4px;padding:10px 0}.module-grid,.program-architecture-grid{grid-template-columns:1fr}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar h2{text-align:center;order:-1}.date-switcher,.calendar-view-tabs{justify-content:center}.timeline{padding:12px}.timeline-item{grid-template-columns:48px 16px 1fr;gap:7px}.timeline-item__card{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.timeline-item__card .status-badge:nth-of-type(2),.timeline-item__card .button{display:none}.module-directory>a{grid-template-columns:44px 1fr 20px}.version-chip{display:none}.settings-brand-card{flex-direction:column;align-items:flex-start}.settings-brand-card .button{width:100%}.settings-card{grid-template-columns:44px 1fr}.settings-card>:last-child{grid-column:1/-1;width:100%}.segmented-control{width:100%}.segmented-control button{flex:1;justify-content:center}.setup-page{padding:14px}.setup-card{padding:20px}.setup-card__header h1{font-size:1.9rem}.setup-steps>div{grid-template-columns:28px 1fr}.setup-steps>div>svg{display:none}.install-banner{left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));grid-template-columns:24px 1fr 38px;width:auto}.install-banner .button{grid-area:2/1/auto/-1}}@media (width<=420px){.metric-grid,.profile-metric-grid{grid-template-columns:1fr}.client-row{grid-template-columns:44px minmax(0,1fr) 18px;padding:11px 12px}.client-row .status-badge{display:none}.auth-panel{padding:22px 18px}}
