*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f14;--surface:#1a1a24;--surface2:#22222f;--border:#2e2e3e;--accent:#e94560;--accent2:#4a9eff;--text:#eaeaea;--text-muted:#7a7a9a;--radius:12px;--radius-sm:8px}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:system-ui,-apple-system,sans-serif;font-size:16px}#app{flex-direction:column;min-height:100dvh;display:flex}.app-nav{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;gap:.5rem;padding:.5rem;display:flex;position:sticky;top:0}.nav-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:.6rem 1rem;font-size:.95rem;font-weight:500;transition:all .15s}.nav-btn.active{background:var(--surface2);border-color:var(--border);color:var(--text)}.screen{flex:1;overflow-y:auto}.empty-msg{text-align:center;color:var(--text-muted);padding:3rem 1.5rem}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .15s}.btn-primary:active{opacity:.75}.btn-icon{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1rem;display:flex}.btn-icon:active{opacity:.6}select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;min-height:2.5rem;padding:.5rem .6rem;font-size:.9rem}.planner{flex-direction:column;gap:1rem;width:100%;max-width:600px;margin:0 auto;padding:1rem;display:flex}.day-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.day-header{background:var(--surface2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.day-label{font-size:1rem;font-weight:600}.meal-row{border-bottom:1px solid var(--border);gap:.75rem;padding:.75rem 1rem;display:flex}.meal-row:last-of-type{border-bottom:none}.meal-slot-label{letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;width:3rem;padding-top:.6rem;font-size:.7rem;font-weight:700}.meal-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.meal-type-row{align-items:center;gap:.4rem;display:flex}.type-sel{flex-shrink:0;width:7.5rem}.cook-controls{flex-direction:column;gap:.5rem;display:flex}.recipe-row{align-items:center;gap:.4rem;display:flex}.recipe-sel{flex:1;min-width:0}.leftover-controls{flex-direction:column;gap:.5rem;display:flex}.source-sel{width:100%}.people-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.btn-stepper{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1.1rem;display:flex}.btn-stepper:active{opacity:.6}.people-count{text-align:center;min-width:1.2rem;font-size:1rem;font-weight:600}.people-label{color:var(--text-muted);font-size:.85rem}.servings-note{color:var(--accent2);margin-left:.25rem;font-size:.82rem}.scale-note{color:var(--text-muted)}.btn-add-lunch{border:none;border-top:1px solid var(--border);width:100%;color:var(--text-muted);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;padding:.6rem 1rem;font-size:.875rem;display:block}.btn-add-lunch:active{background:var(--surface2)}.add-day-form{align-items:center;gap:.5rem;padding:.25rem 0 1rem;display:flex}.add-day-form input[type=date]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:1;min-height:2.75rem;padding:.7rem .75rem;font-size:1rem}#add-day-btn{white-space:nowrap;flex-shrink:0}.shopping{flex-direction:column;gap:1.5rem;width:100%;max-width:600px;margin:0 auto;padding:1rem;display:flex}.shopping h2{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.summary-table{border-collapse:collapse;width:100%;font-size:.9rem}.summary-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .75rem}.summary-table td:first-child{color:var(--text-muted);white-space:nowrap}.summary-table td:last-child{color:var(--accent2);white-space:nowrap}.summary-table tr:last-child td{border-bottom:none}.summary-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.shopping-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;list-style:none;overflow:hidden}.shopping-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.7rem 1rem;font-size:.95rem;display:flex}.shopping-item:last-child{border-bottom:none}.item-name{flex:1}.item-qty{color:var(--accent2);white-space:nowrap;margin-left:1rem;font-size:.875rem}.btn-copy{text-align:center;width:100%}.nav-signout{color:var(--text-muted);margin-left:auto;font-size:.8rem}.loading-screen{min-height:100dvh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.auth-screen{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1.5rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.auth-card h1{text-align:center;font-size:1.5rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-form input[type=email]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:100%;padding:.75rem;font-size:1rem}.auth-form input[type=email]::placeholder{color:var(--text-muted)}.auth-form input[type=email]:focus{outline:2px solid var(--accent);outline-offset:2px}.auth-form .btn-primary{width:100%}.auth-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-sent{text-align:center;color:var(--text-muted);line-height:1.5}.auth-error{color:var(--accent);text-align:center;font-size:.875rem}
