:root{--workspace-line:#dce3ed;--workspace-green:#16745b}
body{font-size:16px;background:#f4f6fa;color:#14233b}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
input,select,textarea{min-height:44px;font-size:1rem}
textarea{min-height:100px;resize:vertical}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5688e5;outline-offset:3px}
.btn{font-size:.9rem;min-height:42px}.btn.sm{font-size:.85rem;min-height:36px}
.small,.field,.hint,.save-state{font-size:.875rem}.muted{color:#56667c}.card h3{font-size:.875rem;letter-spacing:.02em;color:#52627a}
.card h2{font-size:1.2rem;margin:0 0 14px}.card{border:1px solid var(--workspace-line);box-shadow:0 3px 14px #13233c04;border-radius:16px;padding:22px}
.main{padding:32px;max-width:1700px;width:100%;margin:0 auto}.sidebar{background:#112b4b}.sidebar .brand span{font-size:13px}.nav a{font-size:15px}
.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#526782;margin-bottom:9px}
.page-head h1{font-size:2rem;line-height:1.2}.page-head p{font-size:1rem;line-height:1.6}.page-head{margin-bottom:26px;gap:20px}
.workspace-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--workspace-line);border-top:3px solid #1e456e;border-radius:12px;padding:22px}.metric span{color:#586a82;font-size:.9rem}.metric strong{display:block;font-size:2.25rem;margin-top:10px;line-height:1.1}
.workspace-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-bottom:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin:0}
.task-row,.client-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--workspace-line);text-decoration:none;color:inherit}.task-row:last-child,.client-row:last-child{border:0}.task-row p,.client-row p{margin:6px 0 0}.client-row:hover{color:#204f88}.empty.compact{padding:26px 4px;text-align:left}
.callout{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #c4d7ec;background:#edf4fc;border-radius:14px;padding:22px;margin:20px 0}.callout p{margin:6px 0 0;line-height:1.6}
.check-label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.6;margin:18px 0}.check-label input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none;margin-top:3px;accent-color:#185c85}
.filter-bar{display:flex;gap:18px;align-items:end;margin-bottom:22px}.filter-bar .field{flex:1}.filter-bar .field:last-child{max-width:240px}
.food-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-bottom:22px}.food-card{display:flex;flex-direction:column;align-items:flex-start}.food-card .btn{margin-top:auto}.food-card .section-heading{flex-wrap:wrap}.food-monogram{width:44px;height:44px;border-radius:12px;background:#e8f1f7;color:#254b6f;display:grid;place-items:center;font-size:1.4rem;font-weight:700;margin-bottom:16px}.food-local{margin:4px 0;font-size:1.05rem}.food-card p{line-height:1.6}
.tag{font-size:.75rem;letter-spacing:0;font-weight:600;white-space:normal}.save-state{color:#52647b;max-width:270px}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.plan-layout aside{position:sticky;top:20px;align-self:start}.plan-layout aside .card{margin-bottom:18px}.plan-layout aside .btn{margin:6px 6px 0 0}.plan-layout .field{margin-bottom:14px}.meal-card{margin:18px 0}.meal-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#122d4e;color:#fff;font-weight:700;flex:none}.meal-heading{flex:1;display:flex;gap:10px;flex-wrap:wrap}.meal-heading .field{flex:1;min-width:120px;margin:0}.meal-heading h2{width:100%}.meal-heading p{margin:0}.meal-tools{align-self:flex-start}.meal-option{background:#f7f9fc;border:1px solid #e3e9f2;padding:18px;border-radius:12px;margin-bottom:14px}.option-inputs{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:12px}.option-nutrition{font-size:.8rem;color:#5e6f85;margin-top:12px}.meal-notes{margin-top:20px}.meal-note{background:#f1f5fa;padding:14px;border-left:3px solid #6589b0;border-radius:6px;line-height:1.65}.prewrap{white-space:pre-wrap}.recipe-picker{max-height:60vh;overflow:auto;margin-top:12px}.recipe-picker .task-row{padding:16px 4px}.review-results{max-height:440px;overflow:auto}.issue b,.issue span{font-size:.875rem;line-height:1.6}.nutrition-card strong{font-size:1.2rem}.nutrition-card p{line-height:1.6}
.modal{width:min(1050px,95vw);padding:28px}.modal .field{margin:12px 0}.modal .row{margin-top:18px}.modal .grid .field{margin:0}.modal h2{margin-top:0}
.shell.solo .sidebar,.shell.solo .user-bar{display:none}.shell.solo .main{padding:24px 16px 50px}.client-app{max-width:740px;margin:0 auto}.client-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0 22px}.client-header h1{font-size:1.8rem;margin:8px 0}.client-header p{color:#52647b}.client-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;background:#e6ebf3;border-radius:14px;margin-bottom:24px;position:sticky;top:10px;z-index:10}.client-tabs .btn{justify-content:center;min-width:0;padding:10px 5px}.client-summary{display:flex;justify-content:space-between;gap:14px;color:#5c6c80;font-size:.875rem;margin-bottom:18px}.client-meal{margin-bottom:22px}.client-option{padding:16px;border:1px solid #dde5ef;border-radius:12px;margin:12px 0;display:flex;gap:14px;align-items:center;justify-content:space-between}.client-option.selected{border-color:#457f98;background:#f0f8fa}.client-option h3{font-size:1.1rem!important;text-transform:none!important;color:#182b43!important;margin:0 0 6px}.client-option p{margin:6px 0}.portion{font-weight:650}.meal-responses{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.client-app .card{margin-bottom:20px}.client-welcome{padding:32px}.client-app .field{margin:18px 0}
.timeline{border-left:2px solid #d8e2ee;padding-left:20px}.timeline>div{margin:16px 0}.progress-history{display:grid;gap:12px}.progress-entry{display:flex;justify-content:space-between;gap:16px;padding:14px;border-radius:10px;background:#f4f7fb}
.print-document{display:none}
.draft-print::before{content:'DRAFT — NOT APPROVED';position:fixed;top:45%;left:15%;font-size:44px;font-weight:bold;transform:rotate(-25deg);color:#a2292990;z-index:1000;pointer-events:none}
.client-header>div{min-width:0;flex:1}.client-header>.btn{width:auto;flex:0 0 auto}.client-option>div{min-width:0;flex:1}.client-option>.btn{width:auto;flex:0 0 auto}.client-option h3,.client-header h1{overflow-wrap:anywhere}
@media(max-width:1250px){.plan-layout{grid-template-columns:minmax(0,1fr) 290px}.option-inputs{grid-template-columns:1fr 1fr}.option-inputs>.field:first-child{grid-column:1/-1}.meal-tools{width:100%;justify-content:flex-end}.meal-card>.section-heading{flex-wrap:wrap}.main{padding:24px}}
@media(max-width:1000px){.plan-layout{grid-template-columns:1fr}.plan-layout aside{position:static}.workspace-grid{grid-template-columns:1fr}.workspace-stats{grid-template-columns:repeat(2,1fr)}.sidebar .nav{display:flex;overflow:auto}.sidebar{position:static}.shell{grid-template-columns:1fr}.nav a{white-space:nowrap}.brand{padding:12px}.ai-badge{margin:8px}.main{padding:20px}}
@media(max-width:600px){.main{padding:18px 12px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:1.6rem}.workspace-stats{gap:10px}.metric{padding:16px}.metric strong{font-size:1.8rem}.card{padding:18px}.callout{flex-direction:column;align-items:flex-start}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .field:last-child{max-width:none}.food-grid{grid-template-columns:1fr}.option-inputs{grid-template-columns:1fr}.option-inputs>.field:first-child{grid-column:auto}.meal-heading{display:block}.meal-heading .field{margin-bottom:10px}.client-header{align-items:flex-start}.client-tabs .btn{font-size:.8rem}.client-option{align-items:flex-start}.client-summary{flex-direction:column}.modal{padding:18px}.grid.three,.grid.two{grid-template-columns:1fr}.client-app{font-size:1rem}.meal-responses>.btn{flex:1;justify-content:center}}
@media print{body.printing-plan>#shell,body.printing-plan>#login,body.printing-plan>#modal,body.printing-plan>#toasts{display:none!important}body.printing-plan>.print-document{display:block!important}.client-tabs,.sidebar,.page-head{display:none!important}}
@media(max-width:600px){.client-option{flex-direction:column;align-items:stretch}.client-option>.btn{align-self:flex-start;max-width:100%;justify-content:center}.client-header>.btn{max-width:110px}.client-header h1{font-size:1.5rem}.meal-responses>.btn{width:auto;flex:1 1 100px}.sidebar{height:auto;min-width:0}.main{min-width:0}.shell{min-width:0}.client-tabs .btn{white-space:normal}.task-row{flex-wrap:wrap}.task-row>.btn{width:auto}}
