:root{color-scheme:dark;--color-bg: #0f1115;--color-surface: #181b21;--color-surface-raised: #20242c;--color-border: #2a2f38;--color-text: #e8eaed;--color-text-muted: #9aa0aa;--color-accent: #ffb547;--color-success: #4ade80;--color-track: #2a2f38;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.6rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-md: 12px;--radius-lg: 16px;--nav-height: 64px;--sidebar-width: 220px;--content-max-width: 1100px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.card-header{display:flex;align-items:center;gap:var(--space-2)}.card-icon{font-size:1.1rem;line-height:1}.card-title{margin:0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.card-badge{margin-left:auto;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.card-body{margin-top:var(--space-3)}.home-header{margin-bottom:var(--space-5)}.home-date{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.home-greeting{margin:var(--space-1) 0 0;font-size:var(--font-size-xl);font-weight:700}.home-cards{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.home-big{margin:0;font-size:var(--font-size-lg);font-weight:700}.home-muted{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-muted)}.home-habits{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.home-habits li{display:flex;align-items:center;gap:var(--space-3)}.home-habits li.is-done{color:var(--color-text-muted);text-decoration:line-through}.home-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--color-border);border-radius:6px;font-size:var(--font-size-xs);font-weight:700}.home-habits li.is-done .home-check{border-color:var(--color-success);background:var(--color-success);color:var(--color-bg)}.home-progress{height:8px;margin-top:var(--space-3);border-radius:999px;background:var(--color-track);overflow:hidden}.home-progress-fill{height:100%;border-radius:inherit;background:var(--color-accent)}@media(min-width:900px){.home-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);align-items:start}}.diet-title{margin:0 0 var(--space-4);font-size:var(--font-size-xl);font-weight:700}.diet-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.diet-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none}.diet-icon{font-size:1.3rem;line-height:1}.diet-item-count{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(min-width:900px){.diet-list{max-width:400px}.diet-item:hover{background:var(--color-surface-raised)}}.products-header{margin-bottom:var(--space-4)}.products-back{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.products-title{margin:var(--space-2) 0 0;font-size:var(--font-size-xl);font-weight:700}.products-count{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.products-unit{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted)}.products-item-name{display:block;font-weight:600}.products-item-sub{display:block;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted)}.products-missing{color:var(--color-text-muted);font-size:var(--font-size-xs);font-style:italic}.products-search{width:100%;height:44px;margin-bottom:var(--space-3);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit}.products-search:focus{outline:none;border-color:var(--color-accent)}.products-empty{margin:var(--space-4) 0;text-align:center;color:var(--color-text-muted)}.products-warnings{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-lg)}.products-warnings-title{margin:0 0 var(--space-3);font-size:var(--font-size-sm);font-weight:700}.products-warnings-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.products-sort{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.products-sort-label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.products-sort-select,.products-sort-direction{height:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit}.products-sort-select{flex:1;min-width:0;padding:0 var(--space-2)}.products-sort-direction{width:40px;flex-shrink:0;cursor:pointer}.products-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.products-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.products-item.is-open{border-color:var(--color-accent)}.products-item-summary{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;text-align:left;cursor:pointer}.products-item-kcal{font-weight:700;white-space:nowrap}.products-item-macros{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.products-details{display:grid;gap:var(--space-4);padding:0 var(--space-4) var(--space-4)}.products-details-title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.products-details-list{margin:0}.products-details-list div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.products-details-list dd{margin:0;font-variant-numeric:tabular-nums}.products-table-wrap{display:none}@media(min-width:900px){.products-sort,.products-list{display:none}.products-table-wrap{display:block;overflow:auto;max-height:calc(100dvh - 180px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.products-search{max-width:400px}.products-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.products-table th,.products-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border);white-space:nowrap}.products-table thead th{position:sticky;z-index:2;background:var(--color-surface-raised);font-weight:600}.products-table-groups th{top:0;font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;border-left:1px solid var(--color-border)}.products-table thead tr:last-child th{top:34px}.products-table-name{position:sticky;left:0;z-index:1;min-width:220px;background:var(--color-surface);text-align:left;font-weight:400;border-right:1px solid var(--color-border)}.products-table thead .products-table-name{z-index:3;top:0;vertical-align:bottom;border-left:none;text-transform:none;letter-spacing:normal;font-size:var(--font-size-sm)}.products-table-num{text-align:right}.products-table tbody tr:hover th,.products-table tbody tr:hover td{background:var(--color-surface-raised)}.products-sort-button{display:inline-flex;flex-direction:column;align-items:inherit;padding:0;background:none;border:none;font-weight:600;cursor:pointer}.products-table-num .products-sort-button{align-items:flex-end}.products-sort-button:hover,.products-sort-button.is-active{color:var(--color-accent)}}.meals-header{margin-bottom:var(--space-4)}.meals-back{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.meals-title{margin:var(--space-2) 0 0;font-size:var(--font-size-xl);font-weight:700}.meals-count{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.meals-unit{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted)}.meals-search{width:100%;height:44px;margin-bottom:var(--space-3);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit}.meals-search:focus{outline:none;border-color:var(--color-accent)}.meals-empty{margin:var(--space-4) 0;text-align:center;color:var(--color-text-muted)}.meals-sort{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.meals-sort-label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.meals-sort-select,.meals-sort-direction{height:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit}.meals-sort-select{flex:1;min-width:0;padding:0 var(--space-2)}.meals-sort-direction{width:40px;flex-shrink:0;cursor:pointer}.meals-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.meals-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.meals-item.is-open{border-color:var(--color-accent)}.meals-item-summary{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;text-align:left;cursor:pointer}.meals-item-name{display:block;font-weight:600}.meals-item-kcal{font-weight:700;white-space:nowrap}.meals-item-macros{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.meals-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.meals-tag{padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:999px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-details{display:grid;gap:var(--space-4)}.meals-details-inline{padding:0 var(--space-4) var(--space-4)}.meals-section-title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.meals-note{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-gains{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.meals-gain{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 var(--space-3)}.meals-gain-label{font-weight:600;font-size:var(--font-size-sm)}.meals-gain-controls{display:flex;align-items:center;gap:var(--space-2)}.meals-gain-button{width:36px;height:36px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-weight:700;cursor:pointer}.meals-gain-button:disabled{opacity:.4;cursor:default}.meals-gain-count{min-width:3.5em;text-align:center;font-variant-numeric:tabular-nums}.meals-gain-items{grid-column:1 / -1;font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-ingredients-wrap{overflow-x:auto}.meals-ingredients{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.meals-ingredients th,.meals-ingredients td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap}.meals-ingredients thead th{font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-ingredients .meals-ingredients-name{padding-left:0;text-align:left;font-weight:400;white-space:normal}.meals-ingredients tfoot th,.meals-ingredients tfoot td{font-weight:700;border-bottom:none}.meals-added{font-size:var(--font-size-xs)}.is-sorted{color:var(--color-accent)}.meals-nutrients{display:grid;gap:var(--space-4)}.meals-nutrient-list{margin:0}.meals-nutrient-list div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.meals-nutrient-list dd{margin:0;font-variant-numeric:tabular-nums}.meals-recipe{margin:0;white-space:pre-line;font-size:var(--font-size-sm);line-height:1.5}.meals-recipe-link{color:var(--color-accent)}.meals-panel{display:none}@media(min-width:900px){.meals-search,.meals-sort{max-width:400px}.meals-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:var(--space-4);align-items:start}.meals-list{max-height:calc(100dvh - 220px);overflow-y:auto}.meals-details-inline{display:none}.meals-panel{display:block;position:sticky;top:var(--space-4);max-height:calc(100dvh - 220px);overflow-y:auto;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.meals-panel-title{margin:0;font-size:var(--font-size-lg);font-weight:700}.meals-panel-empty{margin:0;color:var(--color-text-muted)}.meals-nutrients{grid-template-columns:repeat(3,1fr)}.meals-nutrients .meals-note{grid-column:1 / -1}}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50dvh;text-align:center;gap:var(--space-2)}.coming-soon-icon{font-size:3rem;line-height:1;margin-bottom:var(--space-2)}.coming-soon-title{margin:0;font-size:var(--font-size-xl);font-weight:700}.coming-soon-text{margin:0;color:var(--color-text-muted)}.app{min-height:100dvh}.app-content{padding:var(--space-4);padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-4))}.app-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom)}.app-brand{display:none}.app-nav-list{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:var(--nav-height);margin:0;padding:0;list-style:none}.is-phone-hidden{display:none}.app-nav-item{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);text-decoration:none;cursor:pointer}.app-nav-icon{font-size:1.3rem;line-height:1;filter:grayscale(1);opacity:.7}.app-nav-item.is-active{color:var(--color-accent)}.app-nav-item.is-active .app-nav-icon{filter:none;opacity:1}@media(min-width:900px){.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr}.app-nav{position:sticky;top:0;height:100dvh;border-top:none;border-right:1px solid var(--color-border);padding:var(--space-5) var(--space-3)}.app-brand{display:block;padding:0 var(--space-3) var(--space-5);font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent);letter-spacing:.02em}.app-nav-list{display:flex;flex-direction:column;gap:var(--space-1);height:auto}.is-phone-hidden{display:block}.is-pc-hidden{display:none}.app-nav-item{flex-direction:row;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md)}.app-nav-item:hover,.app-nav-item.is-active{background:var(--color-surface-raised)}.app-content{width:100%;max-width:var(--content-max-width);min-width:0;padding:var(--space-6)}.app-content:has(.page-wide){max-width:none}}.more-title{margin:0 0 var(--space-4);font-size:var(--font-size-xl);font-weight:700}.more-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.more-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none}.more-icon{font-size:1.3rem;line-height:1}
