:root{color-scheme:light;--background:#f6f4ef;--surface:#ffffff;--text:#233129;--muted:#617067;--accent:#2d6a4f;--accent-dark:#1f513c;--border:#dce4dc;--danger:#a33a32}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background);color:var(--text)}body{margin:0}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}.page-shell{display:grid;min-height:100svh;place-items:center;padding:24px 16px}.card{width:min(100%,640px);padding:clamp(24px,6vw,48px);border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 18px 48px rgb(30 60 42/8%)}.auth-card{width:min(100%,460px)}.auth-link{display:inline-block;margin-top:18px;color:var(--accent);font-weight:800}.form .auth-link{margin-top:0;text-align:center}.auth-note,.form small{color:var(--muted);font-size:.8rem;font-weight:600}.auth-note{margin:0}.account-card{width:min(100%,780px)}.account-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:26px 0}.account-plan div{display:grid;grid-gap:8px;gap:8px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fbfcfb}.account-plan span{color:var(--muted);font-size:.8rem;font-weight:800}.account-plan strong{font-size:1.08rem}.account-note{padding:14px 16px;border-radius:14px;background:#eef3f0}@media (max-width:560px){.account-plan{grid-template-columns:1fr}}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1{margin:12px 0;font-size:clamp(2rem,8vw,3.6rem);line-height:1.02}.auth-card h1{font-size:clamp(2rem,8vw,3rem)}p{color:var(--muted);line-height:1.65}.form{grid-gap:18px;gap:18px;margin-top:28px}.form,label{display:grid}label{grid-gap:8px;gap:8px;color:var(--text);font-weight:700}input,select,textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface)}textarea{min-height:112px;padding-block:12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid rgb(45 106 79/14%)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:0;border-radius:999px;color:white;background:var(--accent);cursor:pointer;font-weight:800;text-decoration:none}.button:hover{background:var(--accent-dark)}.button:disabled{cursor:wait;opacity:.6}.button.secondary{color:var(--accent);background:#eaf2ed}.error{margin:0;color:var(--danger);font-weight:700}.details{display:grid;grid-gap:12px;gap:12px;margin:28px 0}.details div{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:800;text-align:right}.questionnaire-shell{min-height:100svh;padding:32px 16px 64px}.questionnaire-card{width:min(100%,860px);margin:0 auto}.questionnaire-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.completion-card h1,.questionnaire-header h1{font-size:clamp(2rem,6vw,3.2rem)}.questionnaire-header>a{flex:none;color:var(--accent);font-weight:700}.progress-track{height:10px;margin:28px 0;overflow:hidden;border-radius:999px;background:#e8eee9}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.questionnaire-form{display:grid;grid-gap:20px;gap:20px;margin-top:28px}.questionnaire-form small{color:var(--muted);font-weight:500}.checkbox-field{grid-template-columns:24px 1fr;align-items:start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px}.checkbox-field input{width:20px;min-height:20px;margin:2px 0 0;accent-color:var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.questionnaire-actions{justify-content:space-between;margin-top:8px}.medical-warning{padding:18px 20px;border:1px solid #e7c77b;border-radius:16px;background:#fff8e7}.medical-warning p{margin-bottom:0}.success{margin:0;color:var(--accent);font-weight:700}.review-list{display:grid;grid-gap:8px;gap:8px;margin:24px 0}.review-list>strong{margin-bottom:6px}.review-list button{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface);cursor:pointer;text-align:left}.review-list button span:last-child{color:var(--accent);font-weight:700}.answer-preview{margin-top:28px;color:var(--muted)}.answer-preview summary{cursor:pointer;font-weight:700}.answer-preview dl{display:grid;grid-gap:10px;gap:10px}.answer-preview dl div{display:grid;grid-template-columns:minmax(140px,1fr) 1fr;grid-gap:16px;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.answer-preview dd{margin:0;color:var(--text);text-align:right}@media (max-width:640px){.questionnaire-header{display:grid}.questionnaire-card{padding:24px 18px}.questionnaire-actions .button{width:100%}.answer-preview dl div{grid-template-columns:1fr;gap:4px}.answer-preview dd{text-align:left}}.calorie-shell{min-height:100svh;padding:32px 16px 64px}.calorie-layout{display:grid;grid-gap:24px;gap:24px;width:min(100%,960px);margin:0 auto}.admin-card,.calorie-card{width:100%}.admin-card h1,.calorie-card h1{font-size:clamp(2rem,6vw,3.2rem)}.calorie-card h2{margin:10px 0 20px;font-size:clamp(1.6rem,5vw,2.4rem)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:28px 0}.metric-grid article{display:grid;grid-gap:5px;gap:5px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#f8faf8}.metric-grid article>span,.metric-grid small{color:var(--muted)}.metric-grid strong{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1}.metric-grid .target-metric{border-color:#b9d5c3;background:#edf6f0}.compact-details{margin-block:20px}.empty-state{margin:24px 0;padding:18px;border:1px dashed var(--border);border-radius:16px;color:var(--muted)}.history-list{display:grid;grid-gap:12px;gap:12px}.history-list article{display:grid;grid-gap:8px;gap:8px;padding:16px 18px;border:1px solid var(--border);border-radius:16px}.history-list article>div{display:flex;justify-content:space-between;gap:16px}.history-list small,.history-list span,.history-list time{color:var(--muted)}.history-list p{margin:0}.admin-user-list{display:grid;grid-gap:18px;gap:18px;margin:28px 0}.admin-user-list>article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);grid-gap:24px;gap:24px;padding:20px;border:1px solid var(--border);border-radius:18px}.admin-user-list>article>div{display:grid;align-content:start;grid-gap:6px;gap:6px}.admin-user-list small,.admin-user-list span{color:var(--muted)}.manual-target-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:end;grid-gap:10px;gap:10px}.manual-target-form .error,.manual-target-form .success{grid-column:1/-1}@media (max-width:700px){.admin-user-list>article,.manual-target-form,.metric-grid{grid-template-columns:1fr}.manual-target-form .button{width:100%}.history-list article>div{display:grid;grid-gap:4px;gap:4px}}.foods-shell,.recipes-shell{min-height:100svh;padding:32px 16px 64px}.foods-card{width:min(100%,1120px);margin:0 auto}.recipes-card{width:min(100%,1180px);margin:0 auto}.foods-card h1,.recipes-card h1{font-size:clamp(2rem,6vw,3.2rem)}.catalog-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-gap:14px;gap:14px;margin:28px 0 18px}.catalog-filters .checkbox-field{grid-column:1/-1}.catalog-filters>.button{justify-self:start}.catalog-search-field{position:relative;z-index:3}.food-search-suggestions{position:absolute;top:calc(100% + 6px);right:0;left:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#ffffff;box-shadow:0 16px 36px rgb(31 58 46/16%)}.food-search-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;font:inherit;text-align:left;cursor:pointer}.food-search-suggestions button:last-child{border-bottom:0}.food-search-suggestions button.active,.food-search-suggestions button:hover{background:#eaf2ed}.food-search-suggestions span{font-weight:750}.food-search-suggestions small{flex:none;color:var(--muted)}.catalog-count{font-weight:700}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin:20px 0 28px}.food-grid>article{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fbfcfb}.food-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.food-heading span{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.food-heading h2{margin:5px 0 0;font-size:1.25rem}.food-heading>strong{flex:none;font-size:1.15rem}.macro-row{display:flex;flex-wrap:wrap;gap:8px}.macro-row span{padding:6px 9px;border-radius:999px;color:var(--text);background:#eaf2ed;font-size:.86rem;font-weight:700}.food-grid p{margin:0}.allergen-note{color:var(--danger);font-weight:700}.food-grid footer{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.food-grid footer a{color:var(--accent);font-weight:700}.recipe-filters{grid-template-columns:1.4fr repeat(3,1fr)}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin:20px 0 28px}.recipe-grid>article{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fbfcfb}.recipe-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.recipe-grid header span{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.recipe-grid h2{margin:5px 0 0;font-size:1.25rem}.recipe-grid header>strong{flex:none;font-size:1.15rem}.recipe-grid p{margin:0}.recipe-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.9rem;font-weight:700}.recipe-grid details{padding:12px 14px;border-radius:14px;background:#f1f5f2}.recipe-grid summary{cursor:pointer;color:var(--accent);font-weight:800}.recipe-grid h3{margin:16px 0 8px;font-size:1rem}.recipe-grid ol,.recipe-grid ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:22px}.recipe-grid footer{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:28px}@media (max-width:760px){.catalog-filters,.food-grid,.recipe-grid{grid-template-columns:1fr}.catalog-filters>.button{width:100%}.food-heading,.recipe-grid header{display:grid}.catalog-pagination{justify-content:space-between}}.pwa-install-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;margin-top:24px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fbf4e8}.pwa-install-card img{border-radius:16px}.pwa-install-card strong{display:block;margin-bottom:4px}.pwa-install-card p{margin:0;font-size:.88rem}.offline-shell{display:grid;min-height:100svh;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.offline-card{display:grid;justify-items:start;width:min(100%,560px)}.offline-card img{margin-bottom:18px;border-radius:22px}@media (display-mode:standalone){body{overscroll-behavior-y:none}}@media (max-width:560px){.pwa-install-card{grid-template-columns:auto minmax(0,1fr)}.pwa-install-card .button{grid-column:span 2;width:100%}}.ai-status-shell{min-height:100svh;padding:32px 16px 64px}.ai-status-card{width:min(100%,1120px);margin:0 auto}.ai-status-card h1{font-size:clamp(2rem,6vw,3.2rem)}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin:28px 0}.provider-grid>article{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fbfcfb}.provider-grid>article>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.diagnostic-panel h2,.provider-grid h2{margin:0;font-size:1.2rem}.provider-grid strong{padding:5px 9px;border-radius:999px;color:#ffffff;background:var(--accent);font-size:.78rem}.provider-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.provider-grid dl>div{padding:10px;border-radius:12px;background:#eef3f0}.provider-grid dt{color:var(--muted);font-size:.78rem}.provider-grid dd{margin:3px 0 0;font-weight:800}.provider-grid p{margin:0;color:var(--muted)}.provider-grid a{color:var(--accent);font-weight:800}.diagnostic-panel{display:grid;justify-items:start;grid-gap:12px;gap:12px;margin:28px 0;padding:22px;border-radius:18px;background:#eef3f0}.diagnostic-panel p{margin:0}@media (max-width:760px){.provider-grid,.provider-grid dl{grid-template-columns:1fr}.diagnostic-panel .button{width:100%}}.meal-plan-shell{min-height:100svh;padding:32px 16px 64px}.meal-plan-card{width:min(100%,1180px);margin:0 auto}.meal-plan-card h1{font-size:clamp(2rem,6vw,3.2rem)}.meal-plan-intro{max-width:780px;color:var(--muted)}.meal-plan-controls{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));align-items:end;grid-gap:12px;gap:12px;margin:26px 0;padding:18px;border-radius:18px;background:#eef3f0}.meal-plan-controls label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.85rem;font-weight:800}.meal-plan-controls input{min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:#ffffff;font:inherit}.meal-plan-empty{display:grid;justify-items:start;grid-gap:10px;gap:10px;margin:24px 0;padding:24px;border:1px dashed var(--border);border-radius:18px}.meal-plan-empty h2,.meal-plan-empty p{margin:0}.meal-plan-days{display:grid;grid-gap:22px;gap:22px;margin:26px 0}.meal-plan-day{display:grid;grid-gap:16px;gap:16px;padding:22px;border:1px solid var(--border);border-radius:20px;background:#fbfcfb}.meal-plan-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.meal-plan-day>header span{color:var(--accent);font-size:.82rem;font-weight:800;text-transform:capitalize}.meal-plan-day h2{margin:4px 0 0;font-size:1.45rem}.meal-plan-validation{padding:7px 11px;border-radius:999px;color:#ffffff;background:var(--accent);font-size:.8rem;font-weight:800}.meal-plan-summary{margin:0;color:var(--muted);font-weight:700}.meal-plan-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.meal-plan-items>article{padding:17px;border-radius:16px;background:#eef3f0}.meal-plan-items>article>div{display:flex;justify-content:space-between;gap:12px;color:var(--accent);font-size:.8rem;font-weight:800;text-transform:uppercase}.meal-plan-items h3{margin:7px 0;font-size:1.08rem}.meal-plan-items p{margin:0;color:var(--muted);font-size:.88rem}.meal-plan-items details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.meal-plan-items summary{cursor:pointer;color:var(--accent);font-weight:800}.meal-plan-items h4{margin:14px 0 7px}.meal-plan-items ol,.meal-plan-items ul{display:grid;grid-gap:5px;gap:5px;margin:0;padding-left:22px}.meal-plan-items li small{color:var(--accent);font-weight:700}.text-button{margin-top:12px;padding:0;border:0;color:var(--accent);background:transparent;font:inherit;font-weight:800;cursor:pointer}.text-button:disabled{cursor:wait;opacity:.6}.replacement-panel{display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#ffffff}.replacement-panel h4,.replacement-panel p{margin:0}.replacement-dishes{display:grid;grid-gap:7px;gap:7px}.replacement-dishes button{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#f7faf8;text-align:left;cursor:pointer}.replacement-dishes button:hover{border-color:var(--accent)}.ingredient-replacements{display:grid;grid-gap:10px;gap:10px}.ingredient-replacements>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px;gap:8px}.ingredient-replacements label{display:grid;grid-gap:5px;gap:5px;font-size:.85rem;font-weight:800}.ingredient-replacements select{min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#ffffff;font:inherit}.shopping-list-panel{margin:24px 0;padding:22px;border-radius:20px;background:#eef3f0}.shopping-list-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.shopping-list-panel h2{margin:5px 0 0}.shopping-list-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 20px;gap:8px 20px;margin:20px 0 0;padding:0;list-style:none}.shopping-list-panel li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.meal-plan-day>.button{justify-self:start}@media (max-width:860px){.meal-plan-controls,.meal-plan-items{grid-template-columns:1fr}.meal-plan-controls .button{width:100%}.shopping-list-panel ul{grid-template-columns:1fr}}@media (max-width:560px){.meal-plan-day>header{display:grid}.meal-plan-validation{justify-self:start}.meal-plan-day>.button{width:100%}.ingredient-replacements>div,.shopping-list-panel header{display:grid;grid-template-columns:1fr}.ingredient-replacements .button,.shopping-list-panel .button{width:100%}}.chat-shell{min-height:100svh;padding:32px 16px 64px}.chat-card{width:min(100%,1180px);margin:0 auto}.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.chat-heading h1{margin-bottom:8px;font-size:clamp(2rem,6vw,3.2rem)}.chat-heading p{max-width:720px;margin:0;color:var(--muted)}.chat-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:650px;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:#fbfcfb}.chat-threads{padding:16px;border-right:1px solid var(--border);background:#eef3f0}.chat-threads>.button{width:100%}.chat-threads>div{display:grid;grid-gap:7px;gap:7px;margin-top:14px}.chat-threads>div>button{display:grid;grid-gap:4px;gap:4px;width:100%;padding:11px 12px;border:1px solid transparent;border-radius:11px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.chat-threads>div>button.active,.chat-threads>div>button:hover{border-color:var(--border);background:#ffffff}.chat-threads strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-threads span{color:var(--muted);font-size:.76rem}.chat-conversation{display:grid;grid-template-rows:auto minmax(300px,1fr) auto auto auto;min-width:0}.chat-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);color:var(--accent);background:#f7faf8;font-size:.82rem}.chat-mode span{color:var(--muted)}.chat-messages{display:flex;flex-direction:column;gap:12px;max-height:560px;padding:20px;overflow-y:auto}.chat-empty{display:grid;place-items:center;align-content:center;flex:1 1;min-height:360px;text-align:center}.chat-empty h2,.chat-empty p{margin:0 0 8px}.chat-empty p{color:var(--muted)}.chat-empty>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.chat-empty button{padding:9px 12px;border:1px solid var(--border);border-radius:999px;color:var(--accent);background:#ffffff;font:inherit;font-weight:800;cursor:pointer}.chat-message{max-width:min(82%,680px);padding:13px 15px;border-radius:16px}.chat-message.user{align-self:flex-end;color:#ffffff;background:var(--accent);border-bottom-right-radius:5px}.chat-message.assistant{align-self:flex-start;background:#eef3f0;border-bottom-left-radius:5px}.chat-message>span{display:block;margin-bottom:5px;font-size:.72rem;font-weight:800;opacity:.75}.chat-message p{margin:0;white-space:pre-wrap}.chat-conversation>.form-error{margin:0 18px 10px}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:10px;gap:10px;padding:14px 18px;border-top:1px solid var(--border)}.chat-composer textarea{width:100%;min-height:72px;max-height:180px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;resize:vertical;font:inherit}.chat-disclaimer{margin:0;padding:0 18px 14px;color:var(--muted);font-size:.76rem}@media (max-width:760px){.chat-heading{display:grid}.chat-heading .button{width:100%}.chat-layout{grid-template-columns:1fr}.chat-threads{border-right:0;border-bottom:1px solid var(--border)}.chat-threads>div{display:flex;overflow-x:auto}.chat-threads>div>button{min-width:180px}.chat-composer,.chat-mode{grid-template-columns:1fr}.chat-mode{display:grid}.chat-composer .button{width:100%}.chat-message{max-width:92%}}.analytics-shell,.feedback-shell,.progress-shell{min-height:100svh;padding:32px 16px 64px}.analytics-card{width:min(100%,980px);margin:0 auto}.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:28px 0}.analytics-summary article{display:grid;grid-gap:8px;gap:8px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#eef3f0}.analytics-days small,.analytics-events span,.analytics-summary span{color:var(--muted);font-size:.8rem;font-weight:700}.analytics-summary strong{font-size:1.6rem}.analytics-days,.analytics-events{display:grid;grid-gap:10px;gap:10px;margin-top:30px}.analytics-days>div,.analytics-events article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px}.analytics-events article>div{display:grid;grid-gap:4px;gap:4px}.analytics-events b{color:var(--accent);font-size:1.25rem}.analytics-days>div{grid-template-columns:minmax(100px,.6fr) 1fr 1fr}@media (max-width:640px){.analytics-shell{padding:18px 10px calc(40px + env(safe-area-inset-bottom))}.analytics-days>div,.analytics-summary{grid-template-columns:1fr}.analytics-days>div{gap:4px}}.feedback-card{width:min(100%,980px);margin:0 auto}.feedback-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.feedback-heading h1{margin-bottom:10px;font-size:clamp(2rem,6vw,3.2rem)}.feedback-heading p,.feedback-history>p{color:var(--muted)}.feedback-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px;margin:28px 0 36px;padding:22px;border-radius:20px;background:#eef3f0}.feedback-form label{display:grid;align-content:start;grid-gap:7px;gap:7px;color:var(--muted);font-size:.85rem;font-weight:800}.feedback-form input,.feedback-form select,.feedback-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:#ffffff;font:inherit}.feedback-form textarea{resize:vertical}.feedback-consent,.feedback-form .form-error,.feedback-form .form-success,.feedback-form>.button,.feedback-message{grid-column:span 2}.feedback-message small{justify-self:end;font-weight:600}.feedback-form .feedback-consent{display:flex;align-items:center;color:var(--text)}.feedback-consent input{width:20px;min-height:20px;accent-color:var(--accent)}.feedback-form>.button{justify-self:start}.feedback-history{display:grid;grid-gap:12px;gap:12px}.feedback-history h2{margin-bottom:4px}.admin-feedback-list article,.feedback-history article{padding:18px;border:1px solid var(--border);border-radius:16px;background:#fbfcfb}.admin-feedback-list header,.feedback-history footer,.feedback-history header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-history header span,.feedback-status{padding:5px 9px;border-radius:999px;color:var(--accent);background:#e3eee8;font-size:.76rem;font-weight:800}.admin-feedback-list p,.feedback-history p{white-space:pre-wrap}.feedback-history footer{color:var(--muted);font-size:.78rem}.admin-feedback-list{display:grid;grid-gap:14px;gap:14px;margin-top:28px}.admin-feedback-list header>div{display:grid;grid-gap:3px;gap:3px}.admin-feedback-list header span,.admin-feedback-list small{color:var(--muted)}.admin-feedback-list dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-feedback-list dl div{min-width:0}.admin-feedback-list dt{color:var(--muted);font-size:.75rem;font-weight:800}.admin-feedback-list dd{margin:4px 0 0;overflow-wrap:anywhere}.feedback-status.reviewed{color:#79551d;background:#fbefcf}.feedback-status.resolved{color:#2f603f;background:#dfeee2}.feedback-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.feedback-status-actions button{padding:8px 11px;border:1px solid var(--border);border-radius:999px;color:var(--accent);background:#ffffff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.feedback-status-actions button.active{color:#ffffff;background:var(--accent)}.feedback-status-actions button:disabled{cursor:wait;opacity:.6}@media (max-width:720px){.feedback-shell{padding:18px 10px calc(40px + env(safe-area-inset-bottom))}.feedback-heading{display:grid}.feedback-form>.button,.feedback-heading .button{width:100%}.feedback-form{grid-template-columns:1fr;padding:16px}.feedback-consent,.feedback-form .form-error,.feedback-form .form-success,.feedback-form>.button,.feedback-message{grid-column:auto}.admin-feedback-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-card{width:min(100%,1120px);margin:0 auto}.progress-card h1{font-size:clamp(2rem,6vw,3.2rem)}.progress-intro{max-width:780px;color:var(--muted)}.progress-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:26px 0;padding:22px;border-radius:20px;background:#eef3f0}.progress-form label{display:grid;align-content:start;grid-gap:7px;gap:7px;color:var(--muted);font-size:.85rem;font-weight:800}.progress-form input,.progress-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:#ffffff;font:inherit}.progress-form textarea{resize:vertical}.progress-notes{grid-column:span 4}.progress-form-actions{grid-column:span 4;display:flex;flex-wrap:wrap;gap:10px}.progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:28px 0}.progress-summary article{display:grid;grid-gap:7px;gap:7px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fbfcfb}.progress-summary span{color:var(--muted);font-size:.82rem;font-weight:800}.progress-summary strong{font-size:1.1rem}.progress-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:28px 0}.trend-card{padding:18px;border:1px solid var(--border);border-radius:18px;background:#fbfcfb}.trend-card footer,.trend-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.trend-card h3,.trend-card p{margin:0}.trend-card footer,.trend-card p{color:var(--muted)}.trend-card svg{width:100%;height:140px;margin:10px 0;overflow:visible}.trend-card polyline{stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-card footer{font-size:.78rem;font-weight:700}.progress-history{margin:32px 0}.progress-history>div{display:grid;grid-gap:12px;gap:12px}.progress-history>div>article{padding:18px;border:1px solid var(--border);border-radius:16px;background:#fbfcfb}.progress-history header{display:flex;align-items:center;justify-content:space-between;gap:14px}.progress-history header>div{display:flex;gap:14px}.text-button.danger{color:#a33b32}.progress-history dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px;margin:14px 0 0}.progress-history dl>div{padding:10px;border-radius:11px;background:#eef3f0}.progress-history dt{color:var(--muted);font-size:.75rem}.progress-history dd{margin:4px 0 0;font-weight:800}.progress-history article>p{margin:14px 0 0;white-space:pre-wrap}@media (max-width:860px){.progress-form,.progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-form-actions,.progress-notes{grid-column:span 2}.progress-history dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.progress-form,.progress-history dl,.progress-summary,.progress-trends{grid-template-columns:1fr}.progress-form-actions,.progress-notes{grid-column:span 1}.progress-form-actions .button{width:100%}.progress-history header{display:grid}}