:root{--brand:#296bb4;--bg:#f5f7fa;--surface:#fff;--surface-muted:#eef2f7;--border:#d9e0e8;--text:#14202e;--text-muted:#5b6b7c;--on-brand:#fff;--danger:#c62828;--warning:#b26a00;--success:#2e7d32;--estimated:#6b3fa0;--estimated-surface:#f1eafa;--radius:12px;--radius-sm:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--brand:#5b95d9;--bg:#0f1519;--surface:#18212a;--surface-muted:#1f2a35;--border:#2c3a48;--text:#eef2f6;--text-muted:#9fb0c0;--on-brand:#0b1420;--danger:#ef6b6b;--warning:#e0a33b;--success:#66bb6a;--estimated:#b79ceb;--estimated-surface:#2a2340}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}a{color:var(--brand);text-decoration:none}h1,h2,h3{margin:0 0 8px;line-height:1.25}h1{font-size:22px}h2{font-size:17px}h3{color:var(--text-muted);font-size:15px;font-weight:500}p{margin:0 0 8px}.muted{color:var(--text-muted)}.danger{color:var(--danger)}.warning{color:var(--warning)}.success{color:var(--success)}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:20px 14px;display:flex}.sidebar .brand{color:var(--brand);margin-bottom:14px;padding:0 8px;font-weight:700}.nav-link{border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;display:block}.nav-link:hover{background:var(--surface-muted)}.nav-link.active{background:var(--brand);color:var(--on-brand)}.main{flex-direction:column;min-width:0;display:flex}.header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.content{width:100%;max-width:1100px;padding:20px 24px 48px}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;padding:10px 12px}.sidebar .brand{margin:0 8px 0 0}.content{padding:14px 14px 40px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.btn{appearance:none;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.2}.btn:hover{filter:brightness(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.small{padding:5px 10px;font-size:13px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field label{color:var(--text-muted);font-size:13px}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 10px}.check{align-items:center;gap:8px;padding:4px 0;display:flex}table.table{border-collapse:collapse;width:100%;font-size:14px}table.table th,table.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}table.table th{color:var(--text-muted);font-weight:500}table.table td.num,table.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:8px 12px}.tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.pill{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.active{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.pill.ended{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.pill.brand{background:color-mix(in srgb, var(--brand) 16%, transparent);color:var(--brand)}.notice{border-radius:var(--radius-sm);background:var(--surface-muted);margin-bottom:12px;padding:10px 12px}.notice.error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.notice.success{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.summary-row{flex-wrap:wrap;gap:14px;display:flex}.summary-cell{text-align:center;min-width:56px}.summary-cell .value{font-size:15px;font-weight:600}.summary-cell .label{color:var(--text-muted);font-size:12px}.summary-cell.hidden .value{color:var(--text-muted)}code{background:var(--surface-muted);word-break:break-all;border-radius:4px;padding:1px 6px;font-size:13px}.phone{border:1px solid var(--border);background:var(--bg);border-radius:24px;max-width:390px;margin:0 auto;padding:14px}.week{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.day-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:10px;display:block}.day-cell:hover{border-color:var(--brand)}.day-cell .date{margin-bottom:4px;font-weight:600}.day-cell .kv{justify-content:space-between;font-size:13px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.figure{font-variant-numeric:tabular-nums}.figure-missing,.figure-incomplete{color:var(--text-muted);font-style:italic}.figure-atLeast,.figure-atMost,.figure-lessThan,.figure-range{color:var(--warning)}.summary-cell[data-state=missing] .value,.summary-cell[data-state=incomplete] .value{color:var(--text-muted)}.summary-cell[data-state=atLeast] .value,.summary-cell[data-state=atMost] .value{color:var(--warning)}.figure-note{color:var(--text-muted);max-width:220px;margin:2px auto 0;font-size:12px;font-style:normal;font-weight:400}p.figure-note{max-width:none;margin:4px 0 0}.clock-line{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.review-pill{margin-left:6px;font-size:11px}.pill.estimated{background:var(--estimated-surface);color:var(--estimated);margin-right:6px}.entry-row{border-top:1px solid var(--border);padding:8px 0}.entry-detail{background:var(--surface-muted);border-radius:var(--radius-sm);margin-top:8px;padding:10px 12px;font-size:13.5px}.detail-block{margin-bottom:10px}.detail-block h4{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:12px;font-weight:600}.detail-block ul{margin:0;padding-left:18px}.core-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.all-nutrients,.nutrient-group{margin-top:8px}.all-nutrients>summary,.nutrient-group>summary{cursor:pointer;padding:4px 0;font-weight:500}.nutrient-groups{margin-top:4px}table.nutrient-table{border-collapse:collapse;width:100%;font-size:13px}table.nutrient-table td{padding:4px 8px}table.nutrient-table td.source-cell{width:38%;font-size:12px}table.target-table{border-collapse:collapse;width:100%}.standing{font-size:13px}.standing-ok{color:var(--success)}.standing-short{color:var(--warning)}.standing-over{color:var(--danger)}.thread-line{margin:10px 0 0;font-size:13px}.thread-line .pill{margin-left:6px}.day-cell.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.day-cell.future{opacity:.6}.day-cell .date .pill{margin-left:6px;font-size:11px}input[type=date]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:5px 8px}.meal-time{font-size:14px;font-weight:400}.parts-note{font-size:12px}table.nutrient-table .figure-note{margin:2px 0 0 auto}.summary-row.core-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:10px;display:grid}.week{grid-template-columns:repeat(7,minmax(0,1fr))}.week-kcal{margin:2px 0 4px;font-size:17px;font-weight:600}.week-line{flex-wrap:wrap;column-gap:8px;font-size:13px;display:flex}.week-macro{white-space:nowrap}@media (max-width:900px){.week{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-row.core-row{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}}.btn.ghost{color:var(--text-muted);letter-spacing:1px;background:0 0;border-color:#0000;padding-left:8px;padding-right:8px;font-weight:700}.btn.ghost:hover,.btn.ghost:focus-visible,.btn.ghost[aria-expanded=true]{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.entry-controls{flex-wrap:nowrap;gap:4px}.entry-menu{display:inline-block;position:relative}.menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;min-width:220px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000002e}.menu-item{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-muted)}.menu-item.danger{color:var(--danger)}.menu-note{color:var(--text-muted);max-width:240px;margin:0;padding:8px 10px;font-size:12px}.amount-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:4px;margin:0;padding:0 2px}.amount-button:hover,.amount-button:focus-visible{border-bottom-color:var(--brand);color:var(--brand)}.quantity-editor{background:var(--surface-muted);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.quantity-editor input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:110px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:6px 8px}.quantity-editor p{flex-basis:100%;margin:0}.remove-confirm{background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius-sm);margin-top:8px;padding:10px 12px}.remove-confirm p{margin:0 0 6px}.edit-problem{color:var(--danger);margin:6px 0 0;font-size:13px}.pill.coach{background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand)}.meal-footer{justify-content:space-between;align-items:center;margin-top:10px}.meal-footer .thread-line{margin:0}.coach-activity ul{margin:4px 0 0;padding-left:18px;font-size:13px}.dialog-backdrop{z-index:50;background:#0a10188c;justify-content:center;align-items:flex-start;padding:8vh 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(640px,100%);padding:18px 20px;box-shadow:0 20px 60px #00000059}.dialog .field{flex-direction:column;gap:4px;margin:10px 0;display:flex}.dialog .field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:8px 10px}.food-results{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:44vh;margin:6px 0;padding:0;list-style:none;overflow-y:auto}.food-results li+li{border-top:1px solid var(--border)}.food-result{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.food-result:hover,.food-result:focus-visible{background:var(--surface-muted)}.food-result-meta{font-size:12px}.edit-notice{z-index:60;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;max-width:min(720px,100vw - 32px);padding:10px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.edit-notice.success{border-color:color-mix(in srgb, var(--success) 50%, transparent)}.edit-notice.warning{border-color:color-mix(in srgb, var(--warning) 60%, transparent);background:color-mix(in srgb, var(--warning) 10%, var(--surface))}.meal-footer .thread-line{margin-left:auto}.meal-footer .thread-line .pill{margin-left:6px}.conversation{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.conversation-head{justify-content:space-between;align-items:center;margin-bottom:8px}.conversation-head h4{margin:0}.messages{flex-direction:column;gap:8px;max-height:420px;margin:0 0 12px;padding:0;list-style:none;display:flex;overflow-y:auto}.message{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);max-width:min(640px,85%);padding:8px 10px}.message.you{background:var(--surface);border-color:var(--brand);align-self:flex-end}.message[data-new=true]{border-left:3px solid var(--brand)}.message-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.message-context{border-left:2px solid var(--border);color:var(--text-muted);margin:4px 0 0;padding-left:8px;font-size:13px}.message-context [data-testid=snapshot]{color:var(--text)}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.composer{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.composer textarea{width:100%;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;padding:8px}.composer-about select{font:inherit;max-width:100%}.targets-table th[scope=row],.targets-form th[scope=row]{text-align:left;font-weight:500}.targets-table .target-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.targets-table .pill,.targets-form .pill{margin-left:6px}.targets-form input:not([type=radio]){width:110px;font:inherit;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:4px 6px}.targets-form input[aria-invalid=true]{border-color:var(--danger,#b3261e)}.targets-form select{font:inherit}.targets-form .target-values p{margin:4px 0 0}.targets-form .targets-group th{text-align:left;padding-top:14px;font-weight:600}.targets-form tr[data-change]:not([data-change=same]) th[scope=row]{border-left:3px solid var(--brand);padding-left:8px}.nutrient-picker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);max-width:420px;margin-top:8px;padding:10px}.targets-when{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;margin:14px 0 8px;padding:10px 12px;display:flex}.targets-when legend{padding:0 4px;font-weight:600}.targets-when input[type=date]{font:inherit}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{padding:6px 0}.history-list li+li{border-top:1px solid var(--border)}.history-list .pill{margin-left:8px}.perm-read{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 28px;display:grid}.perm-read h3{margin:6px 0 2px}.perm-line{border-left:3px solid #0000;padding:3px 0 3px 12px}.perm-line.limited{border-left-color:var(--warning)}.perm-form{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px 20px;margin-top:8px;display:grid}.perm-group{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;margin:0;padding:8px 12px 10px}.perm-group legend{padding:0 6px;font-weight:600}.perm-group h4{color:var(--text-muted);margin:10px 0 2px;font-size:13px}.perm-toggle.indent{margin-left:22px}.perm-toggle .figure-note{margin:0 0 4px 24px}.perm-toggle .perm-note{color:var(--warning)}.perm-pending{margin-top:12px}.perm-pending h4,.perm-draft h4{margin:0 0 4px}.perm-draft{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.preview-layout{grid-template-columns:minmax(300px,390px) minmax(220px,1fr);align-items:start;gap:20px;display:grid}@media (max-width:760px){.preview-layout{grid-template-columns:1fr}}.preview-layout .phone{margin:0}.preview-screen{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:10px 2px 6px;font-size:12px}.preview-screen:first-child{margin-top:0}.preview-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:8px;padding:10px 12px}.preview-card p{margin:2px 0}.preview-energy{font-size:22px;font-weight:700}.preview-bar{background:var(--surface-muted);border-radius:3px;height:6px;margin:4px 0;position:relative;overflow:hidden}.preview-bar span{background:var(--brand);height:100%;display:block}.preview-bar.over span{background:var(--warning)}.preview-bar i{background:var(--text-muted);width:2px;position:absolute;top:0;bottom:0}.preview-macros{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.preview-macro{flex-direction:column;min-width:0;font-size:13px;display:flex}.preview-food,.preview-target{justify-content:space-between;gap:8px;font-size:14px;display:flex}.preview-target span:first-child{flex:1}.preview-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.preview-coach{border-left:3px solid var(--border);padding-left:14px}.preview-coach h3{margin-top:0}.settings-form,.settings-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);margin:10px 0 12px;padding:10px 12px}.settings-editor h3{margin:0 0 4px}.settings-list li{padding:8px 0}.settings-list li+li{border-top:1px solid var(--border)}.settings-list .figure-note{margin:2px 0}.perm-presets{margin:4px 0 12px}.perm-presets h4{margin:0 0 2px}.perm-editor-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.perm-editor-grid .perm-draft{border-top:0;margin-top:0;padding-top:0;position:sticky;top:12px}.today-lists{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.today-lists .card{margin:0}.today-item{border-top:1px solid var(--surface-muted);justify-content:space-between;gap:8px;padding:6px 0;display:flex}.today-item:first-child{border-top:0}.today-item .muted{text-align:right}.client-diary-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;display:grid}.body-panel dl{margin:0}.body-panel .today-item dt{font-weight:600}.body-panel .today-item dd{text-align:right;margin:0}.food-compare{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.food-correct-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:16px;display:grid}@media (max-width:900px){.perm-editor-grid,.client-diary-grid{grid-template-columns:1fr}.perm-editor-grid .perm-draft{position:static}}:root{--matched:#4b4fc4}@media (prefers-color-scheme:dark){:root{--matched:#8b8ff0}}.btn.selected{background:var(--surface);border-color:var(--text)}.period-target{display:block}.period-table td,.period-table th{vertical-align:top}.coverage{flex-wrap:nowrap;gap:6px}.coverage-bar{background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;width:96px;height:8px;display:inline-flex;overflow:hidden}.coverage-bar.wide{width:100%;max-width:360px}.coverage-bar i{height:100%;display:block}.coverage-documented{background:var(--text-muted)}.coverage-matched{background:var(--matched)}.coverage-estimated{background:var(--estimated)}.coverage-unattributed{background:var(--border)}.coverage-text-matched{color:var(--matched)}.coverage-text-estimated{color:var(--estimated)}.weight-block{align-items:flex-start}.weight-chart{width:100%;max-width:480px;height:auto}.weight-line{fill:none;stroke:var(--text);stroke-width:2px}.weight-dot{fill:var(--text)}.weight-trend{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:4 4}.weight-facts{gap:4px;margin:0;display:grid}.weight-facts div{justify-content:space-between;gap:12px;display:flex}.weight-facts dt{color:var(--text-muted)}.weight-facts dd{font-variant-numeric:tabular-nums;margin:0}@media print{.sidebar,.header,.tabs,.no-print,[data-testid=client-name]+.pill{display:none!important}.shell,.main,.content{margin:0;padding:0;display:block}body{color:#000;background:#fff}.card{break-inside:avoid;border-color:#999}}.meal-photos{flex-wrap:wrap;gap:12px;margin:8px 0;display:flex}.meal-photo{align-items:center;gap:10px;margin:0;display:flex}.meal-photo-open{cursor:zoom-in;background:0 0;border:0;padding:0}.meal-photo img{object-fit:cover;border-radius:8px;width:96px;height:96px;display:block}
