:root{font-family:Manrope,sans-serif;color:#1f2a37;background:radial-gradient(circle at top left,rgba(73,168,255,.16),transparent 30%),radial-gradient(circle at top right,rgba(255,179,71,.16),transparent 26%),linear-gradient(180deg,#f3f7fb,#edf2f7);line-height:1.4;font-weight:500;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px}#root{min-height:100vh}button,input,select{font:inherit}button{border:0;border-radius:16px;background:linear-gradient(135deg,#2f80ed,#4f9cff);color:#fff;padding:.9rem 1rem;font-weight:800;cursor:pointer;transition:transform .18s ease,opacity .18s ease}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.secondary-button{background:#edf3fb;color:#36506b}.ghost-button{background:#fff;color:#36506b;border:1px solid #d8e2ee;box-shadow:inset 0 0 0 1px #d8e2ee8c}.auth-secondary-button{width:100%;margin-top:6px;padding:.95rem 1rem}.danger-button{background:#fff0f0;color:#b04242}input,select{width:100%;border:1px solid #d8e2ee;border-radius:14px;padding:.88rem .95rem;background:#fcfdff;color:#1f2a37}input:focus,select:focus{outline:2px solid rgba(47,128,237,.22);border-color:#7bb0f8}.app-shell{min-height:100vh;padding:24px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);background:#ffffffeb;border:1px solid rgba(217,227,239,.9);border-radius:28px;padding:28px;box-shadow:0 16px 34px #20354c0f}.auth-card h1,.hero-head h2{margin:0}.auth-copy{margin:8px 0 0;color:#68819f}.helper-text{margin:-4px 0 0;color:#6f859f;font-size:.9rem}.app-frame{width:min(1180px,100%);margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.topbar-actions{display:flex;align-items:center;gap:12px}.eyebrow{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:#68819f}.date-input{width:180px;max-width:100%}.language-switcher{width:100%}.hero-card{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(217,227,239,.9);border-radius:30px;padding:24px;box-shadow:0 22px 48px #1e375a14}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.muted-label{display:inline-block;margin-bottom:8px;color:#6f859f;font-size:.85rem}.user-picker{min-width:180px}.target-pill{border-radius:999px;padding:.7rem 1rem;background:#ebf4ff;color:#25579f;font-weight:800;white-space:nowrap}.target-pill.muted{background:#f0f4f8;color:#7589a0}.quick-date-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.quick-date-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:78px;padding:14px;border:1px solid #d8e2ee;border-radius:14px;background:#fff;color:#26384e;box-shadow:none}.quick-date-card span{color:#6f859f;font-size:.82rem;font-weight:700}.quick-date-card strong{font-size:1.05rem}.quick-date-card.active{border-color:transparent;background:linear-gradient(135deg,#2f80ed,#4f9cff);color:#fff}.quick-date-card.active span{color:#ffffffd1}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{padding:18px;border-radius:22px;color:#122033}.stat-card span{display:block;margin-bottom:8px;color:#5c6f87}.stat-card strong{font-size:1.55rem}.accent-blue{background:linear-gradient(180deg,#eaf4ff,#dceeff)}.accent-sand{background:linear-gradient(180deg,#fff5e7,#ffeed5)}.progress-card{background:#f7faff;border-radius:22px;padding:16px 18px}.progress-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:#51657f}.progress-track{position:relative;width:100%;height:12px;border-radius:999px;background:#e6edf5;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2f80ed,#3dc8c8)}.goal-marker{position:absolute;top:-4px;width:3px;height:20px;background:#d72638;border-radius:999px;transform:translate(-50%)}.progress-note{margin:10px 0 0;color:#8c5461;font-size:.9rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:20px;margin-top:20px}.content-grid.single-column{grid-template-columns:1fr}.main-column,.side-column{display:flex;flex-direction:column;gap:20px}.profile-column{max-width:520px}.section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.nav-chip{background:#ffffffd6;color:#48627e;border:1px solid rgba(217,227,239,.9);border-radius:999px;padding:.8rem 1rem}.nav-chip.active{background:linear-gradient(135deg,#2f80ed,#4f9cff);color:#fff;border-color:transparent}.panel{background:#ffffffeb;border:1px solid rgba(217,227,239,.9);border-radius:28px;padding:22px;box-shadow:0 16px 34px #20354c0f}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel h2,.panel h3{margin:0}.panel-head p,.meal-group-header p,.entry-card p,.recipe-summary{margin:6px 0 0;color:#68819f}.panel-tag{color:#5c7390;font-weight:700;background:#eef3fa;border-radius:999px;padding:.5rem .8rem}.stack-form{display:flex;flex-direction:column;gap:12px}.field-group{display:flex;flex-direction:column;gap:8px}.field-label{color:#5f7694;font-size:.92rem;font-weight:700}.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.password-toggle{min-width:88px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.line-items,.entry-list,.recipe-cards,.meal-group-list{display:flex;flex-direction:column;gap:12px}.line-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(140px,.6fr) 44px;gap:10px;align-items:end}.remove-line-button{width:44px;min-width:44px;height:46px;padding:0;border-radius:12px;background:#fff0f0;color:#b4232f;border:1px solid #f1cccc;box-shadow:none;font-weight:900}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.yield-pill{background:#f2f7fd;color:#36506b;border-radius:16px;padding:.85rem 1rem;font-weight:700}.meal-group{background:#f8fbff;border-radius:22px;padding:14px}.meal-group-header,.entry-card,.recipe-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.meal-group-header{margin-bottom:12px}.meal-group-header span,.entry-card span,.recipe-card-head span{font-weight:800;color:#233247}.entry-card,.recipe-card{background:#fff;border-radius:18px;padding:14px;border:1px solid #e8eef5}.recipe-summary{margin-top:10px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-card{background:#fff;border-radius:20px;padding:16px;border:1px solid #e8eef5}.report-stats{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.report-stats span{display:block;color:#6f859f;margin-bottom:4px}.report-stats strong{font-size:1.1rem}.info-card{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#f8fbff;border:1px solid #e8eef5}.info-card span{color:#6f859f}.info-card strong{color:#233247}.audit-log{margin-top:18px;padding-top:18px;border-top:1px solid #e8eef5}.audit-log h3{margin:0 0 12px}.audit-log-list{display:flex;flex-direction:column;gap:10px}.audit-log-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#f8fbff;border:1px solid #e8eef5}.audit-log-item span{color:#6f859f}.log-submit-wrap{margin-top:10px}.footer-actions{display:flex;flex-direction:column;gap:14px;margin-top:24px}.footer-action-button{width:100%}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;margin-top:20px}.admin-sidebar{align-self:start;background:#202832;color:#fff;border-radius:24px;padding:18px;box-shadow:0 16px 34px #20354c1f}.admin-sidebar h2{margin:0 0 16px;font-size:1.2rem}.admin-menu{display:flex;flex-direction:column;gap:8px}.admin-menu-button{width:100%;border-radius:12px;background:transparent;color:#d7dee8;text-align:left;box-shadow:none}.admin-menu-button.active{background:#2f80ed;color:#fff}.admin-main{min-width:0}.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid #e8eef5;border-radius:14px}.admin-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:14px 16px;border-bottom:1px solid #e8eef5;text-align:left;vertical-align:top}.admin-table th{color:#50657f;background:#f7faff;font-weight:800}.admin-table td{color:#24344a}.admin-table tr:last-child td{border-bottom:0}.empty-state{margin:0;color:#6f859f}.error-banner{margin:16px 0;padding:14px 16px;border-radius:18px;background:#fff0f0;color:#b04242;border:1px solid #f1cccc}@media (max-width: 900px){.content-grid,.admin-layout{grid-template-columns:1fr}.admin-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}@media (max-width: 640px){.app-shell{padding:14px}.hero-card,.panel{border-radius:24px;padding:18px}.topbar,.topbar-actions,.hero-head,.panel-head,.meal-group-header,.entry-card,.recipe-card-head,.progress-meta,.card-actions{flex-direction:column;align-items:stretch}.topbar-actions{width:100%}.stats-grid,.form-row,.line-item,.quick-date-row,.password-row{grid-template-columns:1fr}.quick-date-row{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.quick-date-card{min-width:132px;scroll-snap-align:start}.date-input,.user-picker{width:100%}.admin-menu{grid-template-columns:1fr}}
