:root{color-scheme:light;font-family:Aptos,Segoe UI,Helvetica Neue,sans-serif;--bg: #f5f6f2;--panel: #ffffff;--panel-strong: #fbfcfa;--panel-alt: #eef1ea;--ink: #171b1f;--ink-soft: #5d6670;--line: #d9dfd6;--brand: #21523d;--brand-2: #3f6f8f;--brand-3: #e5ece2;--accent: #b86132;--warning: #9b3d36;--ok: #287a55;--shadow: 0 14px 32px rgba(28, 35, 38, .08)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#fbfcfa,#f5f6f2 48%,#eef1ea);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sis-app-shell{min-height:100vh;padding:24px}.sis-mobile-shell{width:100%;max-width:1440px;margin:0 auto}.sis-grid{min-width:0;display:grid;gap:18px}.sis-card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:22px}.sis-card.compact{padding:16px}.sis-card.compact .sis-page-header{margin-bottom:14px}.sis-card.compact .sis-page-header h1{font-size:1.15rem}.sis-button{border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.sis-button:hover{transform:translateY(-1px)}.sis-button.primary{background:var(--brand);color:#fff;box-shadow:0 10px 20px #21523d33}.sis-button.secondary{background:var(--brand-3);color:var(--ink);box-shadow:inset 0 0 0 1px #21523d14}.sis-button.ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.sis-button:disabled,.sis-page-button:disabled{cursor:not-allowed;opacity:.52;transform:none}.sis-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#21523d14;color:var(--brand);font-size:.85rem;font-weight:600}.sis-badge.warn{background:#9e40301f;color:var(--warning)}.sis-badge.ok{background:#2a7f521f;color:var(--ok)}.sis-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.sis-page-header h1,.sis-page-header h2,.sis-page-header h3{margin:0;line-height:1.12}.sis-page-header h1{font-size:clamp(1.55rem,2vw,2.1rem)}.sis-page-header h2{font-size:1.25rem}.sis-kicker{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.sis-subtitle{color:var(--ink-soft);margin-top:8px;line-height:1.5;overflow-wrap:anywhere}.sis-field,.sis-textarea,.sis-select{min-width:0;max-width:100%;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--ink);padding:10px 12px}.sis-field:focus,.sis-textarea:focus,.sis-select:focus{outline:none;border-color:#3f6f8f73;box-shadow:0 0 0 3px #3f6f8f1f}.sis-field-label{min-width:0;display:grid;gap:8px;font-weight:600;color:var(--ink-soft)}.sis-textarea{min-height:120px;resize:vertical}.sis-stack{min-width:0;display:grid;gap:12px;align-content:start}.sis-toolbar{display:flex;flex-wrap:wrap;gap:10px}.sis-toolbar.end{justify-content:flex-end}.sis-columns{min-width:0;display:grid;gap:20px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.sis-workspace-columns{min-width:0;display:grid;gap:20px;grid-template-columns:minmax(380px,.42fr) minmax(0,1fr)}.sis-recipe-detail-grid{min-width:0;display:grid;gap:18px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:start}.sis-recipe-span{grid-column:1 / -1}.sis-columns>*,.sis-workspace-columns>*,.sis-recipe-detail-grid>*,.sis-hero>*,.sis-two-up>*,.sis-three-up>*,.sis-metric-editor-grid>*{min-width:0}.sis-mobile-shell>.sis-card:first-child{align-self:start;position:sticky;top:24px}.sis-catalog-card .sis-page-header{display:grid}.sis-catalog-card .sis-page-header .sis-toolbar.end{justify-content:flex-start}.sis-catalog-card .sis-toolbar.end{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.sis-catalog-card .sis-toolbar.end .sis-button{width:100%}.sis-catalog-card .sis-list-heading{align-items:flex-start;flex-direction:column}.sis-nav{display:grid;gap:8px}.sis-nav-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;color:var(--ink-soft);border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease}.sis-nav-link:hover{background:var(--panel-strong);border-color:#21523d1a}.sis-nav-link.active{color:var(--brand);background:#21523d14;border-color:#21523d29}.sis-list{display:grid;gap:12px}.sis-ingredient-workspace{min-width:0;display:grid;grid-template-columns:minmax(260px,.32fr) minmax(0,1fr);gap:14px;align-items:start}.sis-ingredient-list{min-width:0;display:grid;gap:10px}.sis-ingredient-summary{min-width:0;width:100%;display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:inherit;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.sis-ingredient-summary:hover{background:#fff;border-color:#21523d38;transform:translateY(-1px)}.sis-ingredient-summary.active{background:#21523d14;border-color:#21523d52}.sis-ingredient-detail{min-width:0}.sis-swap-workspace{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:start}.sis-selected-swap-panel{min-width:0;border:1px solid rgba(63,111,143,.32);border-radius:8px;background:#f5f8fb;padding:16px}.sis-selected-swap-panel.active{border-color:#21523d61;background:linear-gradient(180deg,#f7fbf8,#fff);box-shadow:inset 4px 0 #21523d57}.sis-selected-swap-panel h2{margin:4px 0 0;font-size:1.15rem;line-height:1.2}.sis-instruction-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sis-collapsible-card{overflow:hidden}.sis-collapsible-header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:14px}.sis-collapsible-card.collapsed .sis-collapsible-header{margin-bottom:0}.sis-section-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--brand);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}.sis-section-toggle:hover{background:#fff;border-color:#21523d3d;transform:translateY(-1px)}.sis-section-toggle:focus{outline:none;box-shadow:0 0 0 3px #3f6f8f24}.sis-collapsible-heading{min-width:0;display:grid;gap:6px}.sis-collapsible-heading .sis-kicker{margin-bottom:0}.sis-collapsible-heading h2{margin:0;font-size:1.15rem;line-height:1.18;overflow-wrap:anywhere}.sis-collapsible-summary{color:var(--ink-soft);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.sis-collapsible-actions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.sis-collapsible-body{min-width:0;display:grid;gap:12px}.sis-list-item{border:1px solid var(--line);background:var(--panel-strong);border-radius:8px;padding:14px;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease;width:100%}.sis-list-item:hover{transform:translateY(-1px);border-color:#21523d33;background:#fff}.sis-list-item.active{border-color:#21523d47;background:#21523d12}.sis-meta{color:var(--ink-soft);font-size:.92rem}.sis-chip-row{display:flex;flex-wrap:wrap;gap:8px}.sis-meter{display:grid;gap:6px}.sis-meter-row{display:grid;grid-template-columns:minmax(110px,.36fr) minmax(80px,1fr) 42px;gap:10px;align-items:center;font-size:.92rem}.sis-meter-row.with-popover{position:relative;cursor:help;border-radius:8px;padding:6px 8px;margin:-6px -8px}.sis-meter-row.with-popover:hover,.sis-meter-row.with-popover:focus{background:#21523d0f}.sis-meter-track{height:10px;border-radius:999px;background:#21523d1f;overflow:hidden}.sis-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-2),var(--brand))}.sis-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}.sis-panel-title{font-family:Baskerville,Georgia,serif;font-size:1.2rem}.sis-brand{display:inline-flex;align-items:center;gap:12px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.35rem;font-weight:700;letter-spacing:.01em}.sis-brand-mark{width:58px;height:58px}.sis-table{width:100%;border-collapse:collapse}.sis-table th,.sis-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.sis-table tbody tr{transition:background .14s ease}.sis-table tbody tr:hover{background:#ffffff94}.sis-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:var(--panel-alt)}.sis-photo.compact-photo{max-height:280px}.sis-photo-placeholder{min-height:220px;display:grid;place-items:center;color:var(--ink-soft)}.sis-surface{background:var(--panel-strong);border-radius:8px;border:1px solid var(--line);padding:14px}.sis-surface.brand{background:linear-gradient(135deg,#fff,#eef4f1)}.sis-chat-message-content{display:grid;gap:8px;color:var(--ink);line-height:1.55}.sis-chat-message-content p,.sis-chat-message-content ul{margin:0}.sis-chat-message-content ul{padding-left:1.25rem}.sis-chat-message-content strong{font-weight:800}.sis-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.sis-detail-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.sis-detail-grid .sis-surface{display:grid;gap:8px}.sis-stat{display:grid;gap:6px;padding:12px;border-radius:8px;background:var(--panel-strong);border:1px solid var(--line)}.sis-stat.with-popover{position:relative;cursor:help}.sis-stat.with-popover:focus,.sis-meter-row.with-popover:focus{outline:none;box-shadow:0 0 0 3px #3f6f8f24}.sis-score-hover-popover{position:absolute;left:10px;top:calc(100% + 8px);z-index:40;display:none;gap:8px;width:min(320px,calc(100vw - 48px));padding:12px;border:1px solid #cfd9cd;border-radius:8px;background:#fff;box-shadow:0 18px 42px #152a1f29;color:var(--ink);line-height:1.45}.sis-score-hover-popover button{justify-self:start;border:0;background:transparent;color:#6f2ed8;padding:0;font-weight:900;cursor:pointer}.sis-stat.with-popover:hover .sis-score-hover-popover,.sis-stat.with-popover:focus .sis-score-hover-popover,.sis-stat.with-popover:focus-within .sis-score-hover-popover,.sis-meter-row.with-popover:hover .sis-score-hover-popover,.sis-meter-row.with-popover:focus .sis-score-hover-popover,.sis-meter-row.with-popover:focus-within .sis-score-hover-popover,.sis-inline-popover:hover .sis-score-hover-popover,.sis-inline-popover:focus .sis-score-hover-popover,.sis-inline-popover:focus-within .sis-score-hover-popover,.eatsmart-score-pill.with-popover:hover .sis-score-hover-popover,.eatsmart-score-pill.with-popover:focus .sis-score-hover-popover,.eatsmart-score-pill.with-popover:focus-within .sis-score-hover-popover{display:grid}.sis-two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sis-three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sis-status-toggles{grid-column:span 2;align-self:end;min-height:43px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong)}.sis-status-toggles label{display:inline-flex;align-items:center;gap:8px}.sis-metric-editor-grid{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:12px;align-items:start}.sis-metric-preview{grid-column:1 / -1}.sis-inline-popover{position:relative;display:inline-flex;width:fit-content;border-radius:6px;cursor:help}.sis-inline-popover:hover,.sis-inline-popover:focus{color:var(--brand);outline:none}.sis-checkbox-grid{display:flex;flex-wrap:wrap;gap:10px}.sis-checkbox-grid label{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:var(--panel-strong);border:1px solid var(--line)}.sis-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sis-kpi{display:grid;gap:4px;padding:14px;border-radius:8px;border:1px solid var(--line);background:var(--panel-strong)}.sis-kpi strong{font-size:1.35rem}.sis-hidden-input{display:none}.sis-table-row-active{background:#21523d14}.sis-list-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.sis-list-heading h2{margin:0;font-size:1.2rem}.sis-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.sis-list-heading+.sis-pagination{margin-top:-4px;margin-bottom:14px;padding-top:0;padding-bottom:14px;border-top:0;border-bottom:1px solid var(--line)}.sis-pagination-summary{color:var(--ink-soft);font-size:.9rem}.sis-page-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.sis-page-button{min-width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease}.sis-page-button:hover:not(:disabled){background:#fff;border-color:#3f6f8f59;color:var(--ink)}.sis-page-button.active{background:var(--brand);border-color:var(--brand);color:#fff}.sis-page-button.icon{padding:0}.sis-page-ellipsis{min-width:18px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);font-weight:700}.sis-empty-state{border:1px dashed var(--line);border-radius:8px;padding:18px;color:var(--ink-soft);background:var(--panel-strong)}.eatsmart-menu-list{display:grid;gap:14px}.eatsmart-dish-card{overflow:hidden}.eatsmart-dish-card.expanded{padding:0}.eatsmart-dish-summary{width:100%;color:inherit;display:grid;grid-template-columns:118px minmax(0,1fr) auto auto;gap:16px;align-items:center;text-align:left;padding:0}.eatsmart-dish-card.expanded .eatsmart-dish-summary{padding:18px 20px;border-bottom:1px solid var(--line)}.eatsmart-dish-thumb{width:118px;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;background:var(--panel-alt)}.eatsmart-dish-thumb.placeholder{display:grid;place-items:center;color:var(--brand)}.eatsmart-dish-main{display:grid;gap:8px;min-width:0}.eatsmart-dish-main .sis-panel-title{margin:0}.eatsmart-score-pill,.eatsmart-health-score{border-radius:999px;background:#f4eee9;color:#b8471d;font-weight:800;white-space:nowrap}.eatsmart-score-pill{display:grid;position:relative;gap:2px;justify-items:center;padding:10px 14px}.eatsmart-score-pill.with-popover{cursor:help}.eatsmart-score-pill strong{font-size:1.2rem}.eatsmart-score-pill span{font-size:.78rem}.eatsmart-card-action{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.eatsmart-expanded{display:grid}.eatsmart-dish-detail-shell>.sis-card:first-child{position:static}.eatsmart-detail-hero{position:relative;min-height:260px;background:var(--panel-alt)}.eatsmart-hero-photo{width:100%;height:320px;object-fit:cover;display:block}.eatsmart-health-score{position:absolute;top:24px;right:24px;padding:14px 22px;font-size:1.15rem;box-shadow:0 12px 24px #3c231424}.eatsmart-expanded-body{display:grid;gap:18px;padding:22px}.eatsmart-great-for-panel{display:grid;gap:10px;border:1px solid rgba(40,122,85,.16);border-radius:8px;background:#287a5514;padding:16px;color:#064f34}.eatsmart-great-for-panel strong{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-size:.84rem}.eatsmart-great-for-row{display:grid;grid-template-columns:minmax(160px,.38fr) minmax(0,1fr);gap:16px}.eatsmart-great-for-row span:first-child{font-weight:800}.eatsmart-great-for-row span:last-child{text-align:right}.eatsmart-ai-trigger{width:100%;flex-wrap:wrap;color:#6f2ed8;background:#f4efff;border:1px solid #d9c8ff}.eatsmart-ai-panel{display:grid;gap:12px;border:1px solid #d9c8ff;border-radius:8px;background:#fbf8ff;padding:14px}.eatsmart-assistant-widget{position:fixed;right:18px;bottom:18px;z-index:9999;pointer-events:none}.eatsmart-assistant-fab,.eatsmart-assistant-window,.eatsmart-assistant-window button,.eatsmart-assistant-window textarea,.eatsmart-assistant-window input{pointer-events:auto}.eatsmart-assistant-fab{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid #204f35;border-radius:999px;background:#204f35;color:#fff;box-shadow:0 16px 40px #152a1f3d;font-weight:800;cursor:pointer}.eatsmart-assistant-window{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(390px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 34px));border:1px solid rgba(32,79,53,.18);border-radius:8px;background:#fff;box-shadow:0 24px 70px #152a1f38;overflow:hidden}.eatsmart-assistant-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 12px;background:#204f35;color:#fff}.eatsmart-assistant-header div:first-child{display:grid;gap:2px}.eatsmart-assistant-header span{font-size:.78rem;opacity:.82}.eatsmart-assistant-window-actions{display:flex;gap:6px}.eatsmart-assistant-window-actions button{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff1f;color:#fff;cursor:pointer}.eatsmart-assistant-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.eatsmart-assistant-tabs button,.eatsmart-assistant-feedback-actions button{border:0;background:#f7faf8;color:var(--ink-soft);font-weight:800;cursor:pointer}.eatsmart-assistant-tabs button{min-height:40px}.eatsmart-assistant-tabs button.active,.eatsmart-assistant-feedback-actions button.active{background:#eef7f1;color:#204f35}.eatsmart-assistant-context{display:grid;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.84rem}.eatsmart-assistant-messages{display:grid;align-content:start;gap:10px;min-height:220px;overflow:auto;padding:14px}.eatsmart-assistant-message{display:grid;gap:6px;max-width:88%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong)}.eatsmart-assistant-message.user{justify-self:end;background:#eef7f1}.eatsmart-assistant-message.assistant{justify-self:start}.eatsmart-assistant-compose,.eatsmart-assistant-feedback{display:grid;gap:10px;padding:12px;border-top:1px solid var(--line);background:#fbfcfb}.eatsmart-assistant-compose textarea{min-height:78px}.eatsmart-assistant-feedback-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eatsmart-assistant-feedback-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:8px}.eatsmart-nutrition-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-radius:8px;background:var(--panel-strong);padding:14px 16px;color:var(--ink)}.eatsmart-nutrition-strip span{white-space:nowrap}.eatsmart-score-summary-text{display:inline-flex;align-items:baseline;gap:5px}.eatsmart-score-summary-text b{font-weight:900}.eatsmart-score-summary-text b{color:var(--brand)}.eatsmart-summary-panel{display:grid;gap:14px}.eatsmart-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:14px}.eatsmart-swap-section,.eatsmart-swap-list{display:grid;gap:14px}.eatsmart-swap-group{display:grid;gap:12px}.eatsmart-swap-options{display:flex;flex-wrap:wrap;gap:10px}.eatsmart-swap-pill{border:0;border-radius:999px;background:#eef0ee;color:var(--ink);padding:10px 14px;display:inline-flex;align-items:center;max-width:100%;gap:7px;font-weight:700;text-align:left;white-space:normal;cursor:pointer;box-shadow:inset 0 0 0 1px #171b1f0a}.eatsmart-swap-pill.active{background:#6f2ed8;color:#fff;box-shadow:0 8px 18px #6f2ed83d}@media(max-width:960px){.sis-columns,.sis-workspace-columns,.sis-recipe-detail-grid,.sis-hero,.sis-two-up,.sis-three-up,.sis-metric-editor-grid,.sis-ingredient-workspace,.sis-swap-workspace,.sis-instruction-grid{grid-template-columns:1fr}.sis-recipe-span,.sis-status-toggles{grid-column:auto}.sis-app-shell{padding:16px}.sis-mobile-shell>.sis-card:first-child{position:static}.sis-page-header,.sis-list-heading,.sis-pagination{align-items:stretch;flex-direction:column}.sis-collapsible-header{grid-template-columns:auto minmax(0,1fr)}.sis-collapsible-actions{grid-column:1 / -1;justify-content:flex-start}.sis-toolbar.end,.sis-page-buttons{justify-content:flex-start}.sis-brand-mark{width:48px;height:48px}.eatsmart-dish-summary,.eatsmart-detail-grid{grid-template-columns:1fr}.eatsmart-dish-thumb{width:100%;max-height:220px;aspect-ratio:16 / 9}.eatsmart-score-pill,.eatsmart-card-action{justify-self:start}.eatsmart-card-action{justify-content:flex-start}.eatsmart-health-score{top:16px;right:16px;padding:10px 14px}.eatsmart-great-for-row{grid-template-columns:1fr;gap:4px}.eatsmart-great-for-row span:last-child{text-align:left}}
