:root{color:#18312f;background:#f6faf8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.onboarding-shell{display:grid;gap:24px;max-inline-size:1080px}.onboarding-header{align-items:start;display:flex;gap:24px;justify-content:space-between}.onboarding-header h1,.professional-application-form h2{margin-block:0 8px}.onboarding-header p:last-child{color:#425c59;line-height:1.55;max-inline-size:760px}.application-status-card,.professional-application-form{background:#fff;border:1px solid #c7d9d5;border-radius:12px;box-shadow:0 12px 32px #18312f14;padding:22px}.application-status-card{align-items:center;display:grid;gap:8px 18px;grid-template-columns:minmax(0,1fr) auto}.application-status-card p{color:#425c59;grid-column:1;margin:0}.professional-application-form,.application-grid{display:grid;gap:18px}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.professional-application-form label{display:grid;font-weight:700;gap:7px}.professional-application-form input,.professional-application-form select,.professional-application-form textarea{box-sizing:border-box;inline-size:100%}.professional-application-form .wide-field{grid-column:1 / -1}.professional-application-form .checkbox-row{align-items:center;display:flex;font-weight:600}.professional-application-form .checkbox-row input{inline-size:auto}.privacy-note{background:#f0f7f5;border-radius:8px;color:#425c59;line-height:1.5;margin:0;padding:14px}.form-actions,.approval-code-panel{display:flex;flex-wrap:wrap;gap:12px}.auth-mode-toggle{background:transparent;border:0;color:#176b61;inline-size:100%;margin-block-start:10px;text-decoration:underline}.approval-code-panel{align-items:center}.approval-code-panel strong{background:#fff;border-radius:8px;font-size:1.25rem;letter-spacing:.08em;padding:10px 14px}.approval-code-panel p{flex-basis:100%}.portal-shell{inline-size:min(920px,calc(100% - 32px));margin:0 auto;padding:48px 0}.doctor-workspace-shell{inline-size:min(1180px,calc(100% - 32px));padding-block:32px 48px}.doctor-workspace-header{align-items:start;display:flex;gap:20px;justify-content:space-between;margin-block-end:22px}.doctor-brand-block{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(180px,280px) minmax(0,1fr)}.doctor-brand-block h1{font-size:clamp(2rem,4vw,3rem);margin-block-end:12px}.doctor-brand-block p:last-child{color:#425c59;line-height:1.55;margin:0;max-inline-size:720px}.workspace-tabs{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-block-end:18px}.workspace-tabs button,.client-tabs button{background:#fff;border:1px solid #c7d9d5;color:#294844;display:grid;gap:4px;justify-items:start;min-block-size:58px;padding:12px;text-align:start}.workspace-tabs button.selected,.client-tabs button.selected{background:#18312f;border-color:#18312f;color:#fff}.workspace-tabs button span{font-weight:800}.workspace-tabs button small{color:inherit;font-size:.78rem;font-weight:600;line-height:1.35;opacity:.82}.doctor-workspace-grid{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.client-sidebar,.client-workspace,.client-tab-panel,.workspace-panel,.workspace-section,.practice-grid{display:grid;gap:16px}.workspace-section input,.workspace-section textarea,.workspace-section select,.client-tab-panel input,.client-tab-panel textarea,.client-tab-panel select{box-sizing:border-box;inline-size:100%}.diet-proposal-editor{background:#fff;border:1px solid #d8e5e2;border-radius:8px;display:grid;gap:18px;padding:18px}.diet-proposal-editor label,.constraint-editor label{display:grid;font-size:.84rem;font-weight:750;gap:6px}.proposal-meta-grid,.meal-slot-meta-grid,.preview-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.proposal-section-heading,.meal-slot-header,.inline-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.proposal-section-heading h4,.proposal-section-heading p,.proposal-preview h4,.proposal-preview p{margin:0}.proposal-section-heading p,.proposal-preview p,.unspecified-value{color:#526764;font-size:.82rem}.meal-slot-list,.nutrient-constraint-list{display:grid;gap:12px}.meal-slot-editor{border:1px solid #c7d9d5;border-radius:8px;display:grid;gap:14px;padding:14px}.constraint-editor{align-items:end;background:#f6faf8;border-radius:6px;display:grid;gap:10px;grid-template-columns:minmax(120px,.8fr) repeat(4,minmax(110px,1fr));padding:10px}.constraint-editor .constraint-toggle{align-items:center;display:flex;text-transform:capitalize}.constraint-toggle input{inline-size:auto}.proposal-preview,.validation-summary{background:#f6faf8;border:1px solid #d8e5e2;border-radius:8px;display:grid;gap:10px;padding:14px}.preview-grid article{background:#fff;border:1px solid #d8e5e2;border-radius:6px;display:grid;gap:5px;padding:10px;text-transform:capitalize}.validation-summary{background:#fbf7ed;border-color:#e5d6b3}.validation-summary ul{margin:0}@media(max-width:860px){.proposal-meta-grid,.meal-slot-meta-grid,.preview-grid,.constraint-editor{grid-template-columns:1fr}.meal-slot-header,.proposal-section-heading{align-items:stretch;flex-direction:column}}.client-context-bar{align-items:center;background:#18312f;border-radius:8px;color:#fff;display:flex;gap:16px;justify-content:space-between;padding:16px}.client-context-bar strong{display:block;font-size:1.15rem;line-height:1.25;overflow-wrap:anywhere}.context-label{color:#b8d6d1;display:block;font-size:.76rem;font-weight:800;margin-block-end:4px;text-transform:uppercase}.context-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.context-chips span,.template-card-header span{background:#e8f0ee;border-radius:999px;color:#294844;font-size:.76rem;font-weight:800;line-height:1.2;padding:6px 9px;text-transform:uppercase}.client-tabs{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.client-tabs button{justify-items:center;min-block-size:44px;text-align:center}.summary-grid,.task-grid,.template-grid,.practice-grid{display:grid;gap:12px}.summary-grid,.task-grid,.template-grid,.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-tile,.task-card,.template-card,.empty-state{background:#fff;border:1px solid #d8e5e2;border-radius:8px;padding:16px}.summary-tile{display:grid;gap:6px}.summary-tile span{color:#526764;font-size:.78rem;font-weight:800;text-transform:uppercase}.summary-tile strong{color:#18312f;font-size:1.1rem;line-height:1.25}.summary-tile small,.task-card p,.template-card p,.empty-state p{color:#526764;line-height:1.5;margin:0}.task-card,.template-card{display:grid;gap:12px}.template-card-header{align-items:center;display:flex;justify-content:space-between}.template-card-header small{color:#6b5b31;font-weight:800}.empty-state{background:#fbf7ed;border-color:#e5d6b3}.empty-state h3,.task-card h3,.template-card h3{margin-block-end:0}.plain-list{color:#425c59;line-height:1.55;margin:0;padding-inline-start:20px}.hero{margin-block-end:32px}.hero-brand{display:grid;gap:14px;margin-block-end:18px}.portal-logo{animation:brand-enter .64s ease-out both;block-size:auto;inline-size:min(330px,100%)}.eyebrow{color:#3a7772;font-size:.875rem;font-weight:700;margin:0 0 8px;text-transform:uppercase}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;margin:0 0 16px}.hero p:last-child{color:#425c59;font-size:1.1rem;line-height:1.6;max-inline-size:680px}.share-form{background:#fff;border:1px solid #d8e5e2;border-radius:8px;display:grid;gap:12px;padding:24px}.relationship-workspace{border-block-start:1px solid #d8e5e2;display:grid;gap:18px;margin-block-end:32px;padding-block-start:24px}.section-copy{color:#425c59;line-height:1.55;margin:0;max-inline-size:680px}.section-heading-row{align-items:center;display:flex;gap:12px;justify-content:space-between}label{font-weight:700}input,textarea{border:1px solid #bfd1ce;border-radius:6px;color:#18312f;font:inherit;padding:12px}button{background:#2f6f6a;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:700;min-block-size:48px;padding:12px 18px}button:disabled{cursor:not-allowed;opacity:.48}select{background:#fff;border:1px solid #bfd1ce;border-radius:6px;color:#18312f;font:inherit;padding:10px 12px}.header-actions,.locale-row,.inline-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.header-actions{justify-content:flex-end}.locale-row{justify-content:space-between}.language-select select{min-block-size:42px}.security-warning,.security-note{background:#fbf7ed;border:1px solid #e5d6b3;border-radius:8px;display:grid;gap:10px;margin-block-end:20px;padding:16px}.security-warning h2,.security-warning p,.security-note p{margin:0}.security-warning button{justify-self:start}.request-card{background:#fff;border:1px solid #d8e5e2;border-radius:8px;display:grid;gap:10px;padding:14px}.request-card small,.request-card p,.workspace-section small{color:#526764;line-height:1.45;margin:0}.error-copy{color:#8c2d27!important;font-weight:700}.danger-action{background:#fff;border:1px solid #a83b35;color:#8c2d27;justify-self:start}.metric-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.metric-list li{background:#e8f0ee;border-radius:999px;color:#294844;font-size:.82rem;font-weight:750;padding:7px 10px}.grant-section-list{display:grid;gap:12px}.sr-only{block-size:1px;clip:rect(0,0,0,0);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}.portal-auth-shell{align-items:center;background:#f4f7f6;display:grid;min-block-size:100vh;padding:32px}.portal-auth-panel{background:#fff;border:1px solid #d9e5e2;border-radius:8px;display:grid;gap:20px;inline-size:min(100%,520px);margin-inline:auto;padding:28px}.auth-logo{inline-size:min(280px,100%);justify-self:start}.auth-summary{color:#49615e;line-height:1.55;margin-block-start:0;margin-block-end:0}.auth-form{display:grid;gap:12px;inline-size:100%}.auth-form label{color:#294844;display:grid;font-size:.92rem;font-weight:700;gap:6px}.auth-field{display:grid;gap:6px}.auth-form input{border-color:#b9cec9;box-sizing:border-box;min-block-size:44px;padding:10px 12px}.password-input-shell{display:block;position:relative}.password-input-shell input{inline-size:100%;padding-inline-end:52px}.portal-auth-panel .password-visibility-toggle{align-items:center;background:transparent;border-radius:6px;color:#2f6f6a;display:inline-grid;inline-size:44px;inset-block-start:50%;inset-inline-end:2px;justify-content:center;min-block-size:40px;padding:0;position:absolute;transform:translateY(-50%)}.portal-auth-panel .password-visibility-toggle:hover:not(:disabled),.portal-auth-panel .password-visibility-toggle:focus-visible{background:#edf6f3;color:#18312f}.password-visibility-toggle svg{block-size:22px;inline-size:22px}.portal-auth-panel .eyebrow{color:#2f6f6a;font-size:.78rem;font-weight:800;margin:0 0 6px}.portal-auth-panel h1{font-size:1.45rem;line-height:1.2;margin-block-end:0}.portal-auth-panel h1,.portal-auth-panel p{margin-block-start:0}.portal-auth-panel button{min-block-size:44px;padding:10px 14px}.google-auth-block{display:grid;gap:14px}.auth-divider{align-items:center;color:#617572;display:grid;font-size:.82rem;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.auth-divider span{background:#d9e5e2;block-size:1px}.google-sign-in-button{inline-size:min(400px,100%);min-block-size:44px}.google-sign-in-button[aria-disabled=true]{opacity:.56;pointer-events:none}.portal-auth-panel .google-sign-in-fallback{align-items:center;background:#fff;border:1px solid #b9cec9;box-sizing:border-box;color:#294844;display:inline-flex;inline-size:100%;justify-content:center}.portal-auth-panel .google-sign-in-fallback:hover:not(:disabled){background:#edf6f3}.secondary-action{background:#fff;border:1px solid #bfd1ce;color:#2f6f6a;margin-block-start:4px}.compact-action{min-block-size:38px;padding:8px 12px}.sign-out-action{margin-block-start:12px}.status-line{color:#425c59;font-weight:700;margin:18px 0}.portal-auth-panel .status-line{background:#edf6f3;border:1px solid #c7ddd8;border-radius:8px;color:#294844;margin:0;padding:12px 14px}.package-meta,.relationship-meta,.decrypted-preview{border-block-start:1px solid #d8e5e2;margin-block-start:28px;padding-block-start:20px}.relationship-list{display:grid;gap:10px;margin-block-start:14px}.relationship-list-item{background:#fff;border:1px solid #d8e5e2;color:#18312f;display:grid;gap:4px;justify-items:start;min-block-size:auto;padding:14px;text-align:start}.relationship-list-item.selected{border-color:#2f6f6a;box-shadow:inset 4px 0 #2f6f6a}.relationship-list-item small{color:#526764;font-weight:600;line-height:1.4}.message-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.message-item{background:#f6faf8;border:1px solid #d8e5e2;border-radius:8px;display:grid;gap:4px;padding:14px}.message-item.doctor{background:#edf6f3;border-color:#c7ddd8}.message-item span{color:#526764;font-size:.82rem;font-weight:700}.message-item p{line-height:1.5;margin:0}.relationship-meta textarea{box-sizing:border-box;inline-size:100%;margin-block-start:8px}.relationship-details{margin-block-start:14px}h2{font-size:1.2rem;margin:0 0 12px}h3{font-size:1rem;margin:0 0 10px}h4{font-size:.95rem;margin:0 0 8px}dl{display:grid;gap:12px;margin:0}dt{color:#425c59;font-size:.875rem;font-weight:700}dd{margin:4px 0 0}pre{background:#fff;border:1px solid #d8e5e2;border-radius:8px;max-block-size:360px;overflow:auto;padding:16px;white-space:pre-wrap}.payload-version{color:#425c59;font-size:.875rem;font-weight:700;margin:0 0 16px}.payload-sections{display:grid;gap:16px}.payload-section{background:#fff;border:1px solid #d8e5e2;border-radius:8px;padding:16px}.payload-detail{border-block-start:1px solid #e8f0ee;margin-block-start:14px;padding-block-start:14px}.payload-detail ul{color:#18312f;line-height:1.5;margin:0;padding-inline-start:20px}@keyframes brand-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.portal-logo{animation:none}}@media(max-width:720px){.application-grid,.application-status-card{grid-template-columns:1fr}.application-status-card p,.professional-application-form .wide-field{grid-column:1}.onboarding-header{align-items:stretch;flex-direction:column}.doctor-workspace-shell{inline-size:min(100% - 24px,1180px);padding-block:20px 36px}.doctor-workspace-header,.client-context-bar{display:grid}.doctor-brand-block{grid-template-columns:1fr}.doctor-brand-block .portal-logo{inline-size:min(260px,100%)}.workspace-tabs,.client-tabs{display:flex;gap:8px;margin-inline:-4px;overflow-x:auto;padding:4px}.workspace-tabs button{inline-size:220px;min-inline-size:220px}.client-tabs button{inline-size:132px;min-inline-size:132px}.doctor-workspace-grid,.summary-grid,.task-grid,.template-grid,.practice-grid{grid-template-columns:1fr}.context-chips{justify-content:start}.portal-auth-shell{align-items:start;padding:20px}.portal-auth-panel{padding:22px}}
