:root{color:#16362f;background:#f3f7f3;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,p{margin-top:0}h1{font-size:1.75rem;margin-bottom:0}h2{font-size:1.8rem;margin-bottom:0}h3{font-size:1.08rem;margin-bottom:8px}h4{font-size:.9rem;margin:0 0 10px}.eyebrow{color:#397464;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:6px}.panel{background:#fff;border:1px solid #d9e5dc;border-radius:18px;box-shadow:0 10px 26px #1547370f;padding:24px}.hint,.directory-row p,.empty{color:#638076;font-size:.9rem;margin-bottom:0}.hint{line-height:1.5}.status,.pill{background:#daf0e2;border-radius:999px;color:#1c614a;display:inline-flex;font-size:.74rem;font-weight:800;padding:6px 10px}.message{color:#1c614a;font-weight:650;margin:12px 0;min-height:1.3em}.message.error{color:#a22c25}form{display:grid;gap:14px}label{display:grid;font-size:.9rem;font-weight:700;gap:6px}input,select,textarea{background:#fff;border:1px solid #bad0c2;border-radius:9px;color:inherit;font:inherit;padding:10px;width:100%}textarea{line-height:1.35;resize:vertical}button{background:#1f6f5b;border:0;border-radius:9px;color:#fff;cursor:pointer;font:inherit;font-weight:750;padding:10px 14px}button.secondary{background:#edf4ef;color:#1f6f5b}button:disabled{cursor:wait;opacity:.55}.login-layout{display:grid;min-height:100vh;padding:24px;place-items:center}.login-panel{width:min(420px,100%)}.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#143c32;color:#fff;display:flex;flex-direction:column;padding:30px 18px}.sidebar .eyebrow{color:#9ed7b5}.brand{padding:0 10px 34px}.sidebar nav{display:grid;gap:4px}.nav-item{background:transparent;color:#c6d8d0;text-align:left}.nav-item:hover,.nav-item.active{background:#225849;color:#fff}.sidebar-bottom{border-top:1px solid #38685c;display:grid;gap:14px;margin-top:auto;padding:20px 10px 0}.sidebar-bottom .secondary{background:#e4f1e9}.workspace{margin:0 auto;max-width:1320px;padding:36px;width:100%}.workspace-header,.section-title,.source,.directory-row,.review-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.workspace-header{margin-bottom:28px}.api-label{color:#638076;font-size:.78rem;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading{color:#638076}.metrics{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.metric{background:#e6f1e9;border:1px solid #d9e5dc;border-radius:16px;padding:20px}.metric span,.metric p{color:#397464;font-size:.8rem;font-weight:700}.metric strong{display:block;font-size:2.2rem;margin:8px 0}.metric p{font-weight:500;margin-bottom:0}.dashboard-grid,.split-page{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:18px}.split-page{grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr)}.queue-panel{margin-top:18px}.source-list,.stack,.entry-list{display:grid;gap:12px}.source{border-top:1px solid #e3ece6;padding:16px 0}.source:first-child{border-top:0}.source h3{margin:8px 0 5px}.source p{color:#638076;font-size:.88rem;margin-bottom:0}.actions{display:flex;gap:8px}fieldset{border:1px solid #d9e5dc;border-radius:10px;display:grid;gap:8px;padding:12px}legend{font-size:.85rem;font-weight:800;padding:0 4px}.check{align-items:center;display:flex;gap:8px}.check input{accent-color:#1f6f5b;width:auto}.directory-row{border-top:1px solid #e3ece6;padding:16px 0}.directory-row:first-child{border-top:0}.directory-row strong{display:block}.chips,.user-meta{align-items:center;display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.user-meta{color:#638076;font-size:.82rem}.review-header{margin-bottom:18px}.review-header h3{margin:10px 0 4px}.entry-editor{margin-bottom:14px}.meal-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.meal-fields{background:#f6faf7;border:1px solid #e0ebe3;border-radius:12px;display:grid;gap:10px;padding:14px}.meal-fields label{font-size:.78rem}.meal-fields label span{color:#638076;font-size:.72rem;font-weight:500}.split{display:grid;gap:12px;grid-template-columns:1fr 1fr}.or{color:#638076;font-size:.85rem;font-weight:700;margin:-2px 0;text-align:center}.viewer-days{display:grid;gap:14px}.viewer-day{padding:0;overflow:hidden}.viewer-day-heading{background:#e6f1e9;padding:18px 22px 8px}.viewer-day-heading h3{margin-bottom:4px}.viewer-meal-grid{display:grid;grid-template-columns:repeat(3,1fr)}.viewer-meal{border-left:1px solid #e3ece6;padding:20px}.viewer-meal:first-child{border-left:0}.viewer-meal h4{color:#397464}.viewer-meal ul{list-style:none;margin:0;padding:0}.viewer-meal li{border-top:1px solid #edf3ef;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 0}.viewer-meal li:first-child{border-top:0}.viewer-meal li strong{color:#397464;font-size:.78rem}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.sidebar{gap:14px;padding:18px}.brand{padding:0}.sidebar nav{display:flex;overflow-x:auto}.sidebar-bottom{align-items:center;border-top:0;display:flex;margin:0;padding:0}.workspace{padding:24px 18px}.metrics,.meal-grid,.viewer-meal-grid,.dashboard-grid,.split-page{grid-template-columns:1fr}.workspace-header{align-items:flex-start;flex-direction:column}.viewer-meal{border-left:0;border-top:1px solid #e3ece6}.viewer-meal:first-child{border-top:0}}.source-day-image{margin:16px 0}.source-day-image figcaption{margin-bottom:8px;color:#49675f}.source-day-image img{width:360px;max-width:100%;height:auto;border:1px solid #ccdcd4;border-radius:8px;cursor:zoom-in}.source-day-image.expanded img{width:650px;cursor:zoom-out}.source-comparison{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:24px;align-items:start}.viewer-day>.source-comparison{padding:20px}.source-comparison>.meal-grid,.source-comparison>.viewer-meal-grid{grid-template-columns:1fr}@media(max-width:900px){.source-comparison{grid-template-columns:1fr}}.food-items{display:grid;gap:8px}.field-caption{color:#638076;font-size:.78rem;font-weight:700}.food-item-row{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) 78px auto}.food-item-row input{min-width:0}.food-item-row button{padding:8px 10px}.empty-food-items{color:#638076;font-size:.82rem;margin:0}.add-food-item{justify-self:start}
