/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline{display:inline}.border{border-style:var(--tw-border-style);border-width:1px}.bg-white{background-color:var(--color-white)}.text-black{color:var(--color-black)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--background);color:var(--foreground);--background:#f8fafc;--foreground:#0f172a;--card:#fff;--card-elevated:#f8fafc;--popover:#fff;--muted:#64748b;--muted-foreground:#64748b;--surface-muted:#f1f5f9;--border:#e2e8f0;--input:#fff;--input-border:#cbd5e1;--button:#eef4f2;--button-hover:#e2e8f0;--button-foreground:#0f172a;--soft:#f8fafc;--soft-foreground:#0f172a;--shadow:0 18px 45px #0f172a14;--shadow-soft:0 10px 24px #0f172a0f;--radius:16px;--radius-sm:10px;--radius-lg:22px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--page-pad:clamp(1rem, 2vw, 1.75rem);--card-pad:clamp(1rem, 1.4vw, 1.25rem);--emerald:#059669;--teal:#14b8a6;--amber:#f59e0b;--sky:#0ea5e9;--indigo:#7c3aed;--rose:#f43f5e;--slate:#64748b;--success-soft:#d1fae5;--success-text:#065f46;--warning-soft:#fff7ed;--warning-text:#9a3412;--warning-border:#fed7aa;--info-soft:#e0f2fe;--info-text:#075985;--danger-soft:#ffe4e6;--danger-text:#be123c;--chart-grid:#e2e8f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--background);color:var(--foreground);--background:#020617;--foreground:#f8fafc;--card:#0f172a;--card-elevated:#111827;--popover:#0f172a;--muted:#94a3b8;--muted-foreground:#94a3b8;--surface-muted:#1e293b;--border:#334155;--input:#111827;--input-border:#475569;--button:#1e293b;--button-hover:#334155;--button-foreground:#f8fafc;--soft:#111827;--soft-foreground:#f8fafc;--shadow:0 18px 45px #00000047;--shadow-soft:0 10px 24px #0000002e;--emerald:#34d399;--teal:#2dd4bf;--amber:#fbbf24;--sky:#38bdf8;--indigo:#a78bfa;--rose:#fb7185;--success-soft:#065f4657;--success-text:#a7f3d0;--warning-soft:#92400e52;--warning-text:#fde68a;--warning-border:#f59e0b6b;--info-soft:#07598557;--info-text:#bae6fd;--danger-soft:#be123c4d;--danger-text:#fecdd3;--chart-grid:#334155}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #10b9811a, transparent 32rem), linear-gradient(180deg, var(--background) 0%, var(--background) 100%);min-width:320px;min-height:100vh;margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at top left, #10b9811a, transparent 32rem), linear-gradient(180deg, var(--background) 0%, color-mix(in srgb, var(--background) 92%, var(--emerald)) 100%)}}body{color:var(--foreground)}.dark body{background:radial-gradient(circle at 0 0,#14b8a61a,#0000 30rem),#0f172a}button,.button,input,textarea,select{font:inherit}button,.button{border-radius:var(--radius-sm);background:var(--button);min-height:44px;color:var(--button-foreground);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.68rem .92rem;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}button:hover,.button:hover{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #14b8a659}button:disabled{cursor:not-allowed;opacity:.64;transform:none}.primary{color:#fff;background:linear-gradient(135deg,#059669,#0f766e);font-weight:800;box-shadow:0 10px 22px #05966938}.danger{background:var(--danger-soft);color:var(--danger-text);font-weight:700}.danger.soft{box-shadow:none}.ghost{background:0 0}.icon-button{width:44px;padding:0}.mobile-only{display:none}.center-screen,.login-screen{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-screen{background:linear-gradient(135deg, var(--background), var(--background)), var(--background)}@supports (color:color-mix(in lab, red, red)){.login-screen{background:linear-gradient(135deg, color-mix(in srgb, var(--background) 86%, var(--emerald)), color-mix(in srgb, var(--background) 90%, var(--sky))), var(--background)}}.login-panel{background:var(--card);border:1px solid var(--border);width:min(100%,420px);box-shadow:var(--shadow);border-radius:22px;gap:1rem;padding:1.35rem;display:grid}.brand,.brand-block,.user-chip,.button-row,.badge-row,.toolbar,.legend,.phase-head{align-items:center;display:flex}.brand{gap:.65rem;font-size:1.15rem;font-weight:900}.brand-block{align-items:center;gap:1rem}.brand-block h1{margin:0;font-size:1.8rem}.brand-block p{color:var(--muted);margin:.2rem 0 0}.brand-mark{color:#fff;background:linear-gradient(135deg,#10b981,#0ea5e9);border-radius:18px;place-items:center;width:52px;height:52px;display:grid}.brand-mark.small{border-radius:14px;width:40px;height:40px}.brand-logo{object-fit:contain;flex:none;display:block}.brand-logo-full{width:min(260px,72vw);max-height:110px}.brand-logo-compact{border-radius:13px;width:42px;height:42px}.login-panel .brand-logo-full{background:0 0;border-radius:0;justify-self:center;margin:.15rem auto .35rem}.mobile-more-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem;display:grid}.offline-banner,.app-update-banner,.pwa-install-banner{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);border-radius:16px;margin:0 0 1rem;padding:.8rem}.offline-banner,.app-update-banner{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.offline-banner{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border);font-weight:800}.app-update-banner{background:var(--success-soft);color:var(--success-text);border-color:var(--emerald)}@supports (color:color-mix(in lab, red, red)){.app-update-banner{border-color:color-mix(in srgb, var(--emerald) 42%, var(--border))}}.app-update-banner{font-weight:800}.pwa-install-banner{grid-template-columns:1fr auto;align-items:center;gap:.8rem;display:grid}.pwa-install-banner div:first-child{gap:.15rem;display:grid}.pwa-install-banner span{color:var(--muted);font-weight:700}.install-steps{gap:.65rem;margin:1rem 0;display:grid}.install-steps article{border:1px solid var(--border);background:var(--card-elevated);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.75rem;display:grid}.install-steps strong{background:var(--success-soft);width:32px;height:32px;color:var(--success-text);border-radius:999px;place-items:center;display:grid}.quick-action-card{text-align:left;background:var(--card);border:1px solid var(--border);width:100%;min-height:92px;box-shadow:var(--shadow-soft);border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;padding:1rem;display:grid}.quick-action-card span{background:var(--tone-bg,var(--success-soft));width:42px;height:42px;color:var(--tone-text,var(--success-text));border-radius:14px;place-items:center;display:grid}.quick-action-card div{gap:.15rem;display:grid}.quick-action-card small{color:var(--muted);line-height:1.35}.topbar-brand{display:none}.app-shell{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--card);height:100vh;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.sidebar{background:color-mix(in srgb, var(--card) 86%, transparent)}}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:1.1rem;padding:1.1rem;display:flex}.sidebar nav{gap:.35rem;display:grid}.sidebar nav button,.sidebar-footer button{color:var(--muted);justify-content:flex-start}.sidebar nav button.active,.bottom-nav button.active{background:var(--success-soft);color:var(--success-text);font-weight:900}.sidebar-footer{gap:.35rem;margin-top:auto;display:grid}.theme-select{color:var(--muted);gap:.35rem;font-weight:800;display:grid}.theme-select span{align-items:center;gap:.5rem;display:inline-flex}main{min-width:0;padding-bottom:5.8rem}.topbar{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;min-height:68px;padding:.75rem 1.2rem;display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--card) 78%, transparent)}}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:5;position:sticky;top:0}.topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}.topbar-actions .icon-button{width:44px;height:44px;min-height:44px;padding:0}.user-chip{gap:.75rem}.user-chip div{display:grid}.user-chip span:not(.avatar){color:var(--muted);font-size:.88rem}.avatar{color:#fff;background:linear-gradient(135deg,#0f766e,#0ea5e9);border-radius:999px;flex:none;place-items:center;width:40px;height:40px;font-weight:900;display:inline-grid}.avatar.large{width:62px;height:62px;font-size:1.25rem}.avatar-img{object-fit:cover;border:2px solid var(--emerald);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.avatar-img{border:2px solid color-mix(in srgb, var(--emerald) 45%, var(--border))}}.avatar-img{background:var(--success-soft);flex:none}.avatar-img.large,.avatar.large{width:72px;height:72px}.avatar-upload{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.avatar-preview{object-fit:cover;border:2px solid var(--border);border-radius:999px;width:96px;height:96px}.upload-drop{border:1px dashed var(--input-border);min-height:132px;color:var(--muted);background:var(--card-elevated);cursor:pointer;border-radius:16px;place-items:center;gap:.4rem;padding:1rem;display:grid}.upload-drop strong{color:var(--foreground)}.upload-drop input{display:none}.compact-upload{min-width:220px;min-height:88px}.upload-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem;display:grid}.upload-choice-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));width:100%}.focus-section{scroll-margin-top:5rem}.focus-section:target .panel,.focus-section:focus-within .panel{box-shadow:0 0 0 3px #14b8a62e, var(--shadow)}.photo-preview{object-fit:cover;border:1px solid var(--border);border-radius:18px;width:min(100%,360px);max-height:360px}.wizard-intro{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wizard-intro p,.wizard-step p{color:var(--muted);margin:.35rem 0 0}.energy-wizard{gap:1rem;margin-top:1rem;display:grid}.wizard-progress{color:var(--muted);gap:.5rem;font-weight:700;display:grid}.wizard-progress div{background:var(--surface-muted);border-radius:999px;height:9px;overflow:hidden}.wizard-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--emerald), var(--teal));height:100%;display:block}.wizard-step{gap:1rem;display:grid}.wizard-step h3{margin:0;font-size:clamp(1.15rem,2vw,1.45rem)}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.selection-grid button{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius);min-height:98px;box-shadow:var(--shadow-soft);gap:.35rem;padding:.95rem;display:grid}.selection-grid button.selected{border-color:var(--emerald);background:var(--success-soft);box-shadow:0 0 0 3px #05966924}.selection-grid span{color:var(--muted);font-size:.9rem}.routine-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-elevated);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;padding:.85rem;display:grid}.energy-results{gap:1rem;display:grid}.energy-total{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#047857,#0f766e);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.energy-total span{opacity:.9;font-weight:700}.energy-total strong{font-size:clamp(1.8rem,6vw,3rem)}.wizard-save-callout{z-index:4;border:1px solid var(--emerald);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex;position:sticky;top:.75rem}@supports (color:color-mix(in lab, red, red)){.wizard-save-callout{border:1px solid color-mix(in srgb, var(--emerald) 45%, var(--border))}}.wizard-save-callout{border-radius:var(--radius);background:var(--success-soft)}@supports (color:color-mix(in lab, red, red)){.wizard-save-callout{background:color-mix(in srgb, var(--success-soft) 82%, var(--card))}}.wizard-save-callout{box-shadow:var(--shadow-soft)}.wizard-save-callout div{gap:.2rem;display:grid}.wizard-save-callout span{color:var(--muted);font-size:.92rem}.wizard-actions{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);justify-content:space-between;gap:.75rem;padding:.65rem;display:flex;position:sticky;bottom:74px}@supports (color:color-mix(in lab, red, red)){.wizard-actions{background:color-mix(in srgb, var(--card) 92%, transparent)}}.wizard-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .selection-grid button.selected{background:var(--success-soft)}.page{width:min(1320px,100%);padding:var(--page-pad);margin:0 auto}.page.narrow{width:min(760px,100%)}.page-title{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-title h1{letter-spacing:0;text-wrap:balance;max-width:min(100%,18ch);margin:.12rem 0 0;font-size:clamp(1.65rem,3.2vw,2.45rem);line-height:1.04}.eyebrow{color:var(--emerald);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:900;display:inline-flex}.hero-grid,.chart-grid,.admin-layout,.calculator-grid,.phase-grid,.photo-grid,.report-cards,.metric-grid,.macro-card-grid,.tdee-grid,.recommendation-grid{gap:1rem;display:grid}.hero-grid{margin-bottom:var(--space-4);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-metrics,.chart-grid,.admin-layout,.calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.admin-sidebar{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-soft);gap:.95rem;padding:.8rem;display:grid;position:sticky;top:1rem}.admin-nav-group{gap:.35rem;display:grid}.admin-nav-group>span,.breadcrumbs{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.76rem;font-weight:900}.admin-nav-group button{width:100%;min-height:40px;color:var(--muted);background:0 0;justify-content:flex-start;padding:.58rem .7rem}.admin-nav-group button.active{background:var(--success-soft);color:var(--success-text)}.admin-nav-group button strong{font-size:.9rem}.admin-content,.admin-section-stack{gap:1rem;min-width:0;display:grid}.admin-page-header{padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-page-header h2{margin:.2rem 0;font-size:clamp(1.25rem,2vw,1.7rem)}.admin-page-header p{color:var(--muted);margin:0}.breadcrumbs{gap:.45rem;display:flex}.breadcrumbs span+span:before{content:"/";color:var(--border);margin-right:.45rem}.admin-filter-bar,.quick-action-grid{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.admin-filter-bar .search-box{flex:260px;margin-bottom:0}.quick-action-grid button{flex:180px}a.disabled{pointer-events:none;opacity:.55}.phase-grid,.photo-grid,.report-cards,.macro-card-grid,.tdee-grid,.recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-card,.panel,.metric,.phase-card,.result-card,.macro-card,.recommendation,.photo-card,.photo-placeholder,.context-card,.today-hero,.quick-status-card,.motivation-card,.empty-state,.loading-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.status-card:hover,.panel:hover,.metric:hover,.quick-status-card:hover,.motivation-card:hover,.today-card:hover,.photo-card:hover{box-shadow:var(--shadow)}.photo-card{overflow:hidden}.photo-card img{aspect-ratio:1;object-fit:cover;width:100%}.photo-card>div{gap:.35rem;padding:.75rem;display:grid}.today-card-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.today-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad);box-shadow:var(--shadow-soft);gap:.35rem;display:grid}.today-hero{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg, var(--card), var(--card)), var(--card);grid-template-columns:minmax(0,1fr) auto;padding:clamp(1rem,2vw,1.5rem);display:grid}@supports (color:color-mix(in lab, red, red)){.today-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--card) 84%, var(--emerald)), color-mix(in srgb, var(--card) 92%, var(--teal))), var(--card)}}.today-hero h2{text-wrap:balance;margin:.15rem 0 0;font-size:clamp(1.45rem,4vw,2.05rem);line-height:1.05}.today-hero p{color:var(--muted);margin:.45rem 0 0}.today-primary-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.motivation-card{margin-bottom:var(--space-4);border-color:var(--emerald);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.95rem 1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.motivation-card{border-color:color-mix(in srgb, var(--emerald) 24%, var(--border))}}.motivation-card{background:linear-gradient(135deg, var(--card), var(--card)), var(--card)}@supports (color:color-mix(in lab, red, red)){.motivation-card{background:linear-gradient(135deg, color-mix(in srgb, var(--card) 84%, var(--emerald)), color-mix(in srgb, var(--card) 94%, var(--teal))), var(--card)}}.motivation-card.compact{padding:.8rem .9rem}.motivation-card.login-quote{margin-bottom:0}.motivation-card small{text-transform:uppercase;letter-spacing:.08em;color:var(--emerald);margin-bottom:.12rem;font-weight:900;display:block}.motivation-card strong{color:var(--foreground);text-wrap:balance;line-height:1.25;display:block}.motivation-icon{width:42px;height:42px;color:var(--emerald);background:var(--emerald);border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.motivation-icon{background:color-mix(in srgb, var(--emerald) 14%, var(--card))}}.motivation-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.motivation-actions button{border-radius:10px;min-height:34px;padding:.45rem .6rem;font-size:.78rem}.quick-status-card{padding:var(--card-pad);gap:var(--space-3);border-color:var(--tone,var(--border));align-content:start;display:grid}@supports (color:color-mix(in lab, red, red)){.quick-status-card{border-color:color-mix(in srgb, var(--tone,var(--border)) 24%, var(--border))}}.quick-status-card div{gap:.2rem;display:grid}.quick-status-card strong{font-size:clamp(1.1rem,3vw,1.45rem);line-height:1.08}.quick-status-card p{color:var(--muted);min-height:2.4em;margin:0;font-size:.92rem}.quick-status-card button{justify-content:center;align-self:end;margin-top:auto}.status-card{padding:var(--card-pad);overflow:hidden}.status-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.status-card-header div{gap:.2rem;display:grid}.status-card-header strong{font-size:clamp(2.3rem,10vw,4rem);line-height:1}.goal-strip,.context-card{background:var(--success-soft);color:var(--success-text);border-radius:12px;align-items:center;gap:.55rem;margin-bottom:.8rem;padding:.72rem .85rem;display:flex}.metric{padding:var(--card-pad);gap:.28rem;min-height:118px;display:grid}.metric-icon{background:var(--tone,var(--emerald));border-radius:11px;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab, red, red)){.metric-icon{background:color-mix(in srgb, var(--tone,var(--emerald)) 12%, var(--card))}}.metric-icon{color:var(--tone-text,var(--emerald))}.metric span:not(.metric-icon),.muted,small{color:var(--muted)}.metric strong{font-size:clamp(1.35rem,4vw,1.95rem);line-height:1.08}.panel{padding:var(--card-pad);overflow:hidden}.panel h2{margin:0 0 var(--space-4);align-items:center;gap:.5rem;font-size:1.04rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.form-field{gap:.4rem;font-size:.9rem;font-weight:800;display:grid}.form-field.wide{grid-column:1/-1}.input-wrap{align-items:stretch;display:flex;position:relative}input,textarea,select{border:1px solid var(--input-border);background:var(--input);width:100%;min-height:46px;color:var(--foreground);border-radius:12px;padding:.68rem .78rem}input[readonly],textarea[readonly]{background:var(--surface-muted);color:var(--muted);cursor:default}input::placeholder,textarea::placeholder{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 74%, transparent)}}select{appearance:none;padding-right:2.2rem}.select-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:.72rem;transform:translateY(-50%)}textarea{resize:vertical;min-height:96px}.input-wrap.has-unit input{padding-right:4.2rem}.input-wrap b{color:var(--muted);font-size:.86rem;position:absolute;top:50%;right:.78rem;transform:translateY(-50%)}.wide-button,.sticky-action{width:100%;margin-top:1rem}.button-row{flex-wrap:wrap;gap:.55rem}.button-row.compact{gap:.35rem}.link-button{min-height:auto;color:var(--emerald);background:0 0;justify-self:center;padding:.25rem;font-weight:800}.check-row{color:var(--muted);align-items:center;gap:.55rem;font-weight:700;display:flex}.check-row input{width:18px;min-height:18px}.qr-card{border:1px solid var(--border);background:var(--card-elevated);border-radius:16px;justify-items:center;gap:.75rem;padding:1rem;display:grid}.qr-card img{background:#fff;border-radius:14px;width:210px;max-width:100%;padding:.5rem}.qr-card code{overflow-wrap:anywhere;max-width:100%;color:var(--muted)}.security-card-grid,.code-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.8rem 0;display:grid}.security-card,.code-grid code{border:1px solid var(--border);background:var(--card-elevated);border-radius:16px;padding:.85rem}.security-card{gap:.55rem;display:grid}.security-card p{color:var(--muted);margin:0;font-weight:700}.code-grid code{color:var(--emerald);text-align:center;overflow-wrap:anywhere;font-weight:900}.password-strength{margin-top:-.3rem}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1rem 0;display:grid}.badge-row,.legend{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.badge{border:1px solid #0000;border-radius:999px;align-items:center;min-height:28px;padding:.28rem .62rem;font-size:.78rem;font-weight:900;display:inline-flex}.phase{text-transform:capitalize}.tone-emerald{--tone:var(--emerald);--tone-bg:#d1fae5;--tone-text:#065f46}.tone-teal{--tone:var(--teal);--tone-bg:#ccfbf1;--tone-text:#115e59}.tone-amber{--tone:var(--amber);--tone-bg:#fef3c7;--tone-text:#92400e}.tone-sky,.tone-blue{--tone:var(--sky);--tone-bg:#e0f2fe;--tone-text:#075985}.tone-indigo{--tone:var(--indigo);--tone-bg:#ede9fe;--tone-text:#5b21b6}.tone-rose{--tone:var(--rose);--tone-bg:#ffe4e6;--tone-text:#be123c}.tone-slate{--tone:var(--slate);--tone-bg:#f1f5f9;--tone-text:#334155}.dark .tone-emerald{--tone-bg:#065f466b;--tone-text:#a7f3d0}.dark .tone-teal{--tone-bg:#115e596b;--tone-text:#99f6e4}.dark .tone-amber{--tone-bg:#92400e66;--tone-text:#fde68a}.dark .tone-sky,.dark .tone-blue{--tone-bg:#0759856b;--tone-text:#bae6fd}.dark .tone-indigo{--tone-bg:#4c1d956b;--tone-text:#ddd6fe}.dark .tone-rose{--tone-bg:#9f12396b;--tone-text:#fecdd3}.dark .tone-slate{--tone-bg:#1e293b;--tone-text:#cbd5e1}.badge,.recommendation,.metric.tone-emerald,.metric.tone-amber,.metric.tone-sky,.metric.tone-blue,.metric.tone-indigo,.metric.tone-rose,.metric.tone-slate{background:var(--tone-bg);color:var(--tone-text)}.metric{border-color:var(--tone,var(--border))}@supports (color:color-mix(in lab, red, red)){.metric{border-color:color-mix(in srgb, var(--tone,var(--border)) 22%, var(--border))}}.metric .metric-icon{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.metric .metric-icon{background:color-mix(in srgb, var(--card) 56%, white 44%)}}.metric .metric-icon{color:var(--tone-text,#0f766e)}.dark .metric .metric-icon{background:var(--tone-bg,#1e293b)}@supports (color:color-mix(in lab, red, red)){.dark .metric .metric-icon{background:color-mix(in srgb, var(--tone-bg,#1e293b) 72%, var(--card))}}.trend{border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.82rem;font-weight:900;display:inline-flex}.trend.good{background:var(--success-soft);color:var(--success-text)}.trend.attention{background:var(--warning-soft);color:var(--warning-text)}.chart-tooltip{background:var(--card);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;gap:.25rem;padding:.7rem;display:grid}.donut-wrap{align-items:center;gap:.35rem;display:grid}.donut-legend{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.donut-legend span{color:var(--muted);align-items:center;gap:.3rem;font-size:.84rem;display:inline-flex}.donut-legend i{border-radius:999px;width:10px;height:10px}.result-card{gap:1rem;margin-top:1rem;padding:1rem;display:grid}.result-hero,.tdee-total{background:linear-gradient(135deg, var(--success-soft), var(--info-soft));border-radius:16px;gap:.25rem;padding:1rem;display:grid}.dark .result-hero,.dark .tdee-total{background:linear-gradient(135deg,#065f4652,#0ea5e92e)}.result-hero strong,.tdee-total strong{font-size:2rem}.macro-card{gap:.45rem;padding:.85rem;display:grid}.macro-card>div{align-items:center;gap:.45rem;display:flex}.macro-icon{color:#fff;border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.macro-card b{font-size:1.4rem}.macro-bars{gap:.55rem;display:grid}.progress-line{gap:.25rem;display:grid}.progress-line span{color:var(--muted);justify-content:space-between;font-size:.82rem;display:flex}.progress-line div{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.progress-line i{border-radius:inherit;height:100%;display:block}.tdee-total{text-align:center}.recommendation{text-align:center;box-shadow:none;border-radius:16px;gap:.15rem;padding:.85rem;display:grid}.recommendation strong{font-size:1.55rem}.calc-details{border-top:1px solid var(--border);padding-top:.7rem}.calc-details summary{cursor:pointer;color:var(--emerald);font-weight:900}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.info-grid span{background:var(--card-elevated);border:1px solid var(--border);border-radius:14px;gap:.2rem;padding:.75rem;display:grid}.notice{border-radius:14px;padding:.8rem .95rem;font-weight:800}.notice.success{background:var(--success-soft);color:var(--success-text)}.notice.danger{background:var(--danger-soft);color:var(--danger-text)}.notice.info{background:var(--info-soft);color:var(--info-text)}.empty-state,.loading-card{text-align:center;color:var(--muted);place-items:center;gap:.55rem;padding:1.2rem;display:grid}.empty-state strong{color:inherit;font-size:1.05rem}.empty-state p{max-width:42rem;margin:0}.empty-state.compact{box-shadow:none;border-style:dashed;padding:.9rem}.spinner{border:3px solid var(--success-soft);border-top-color:#059669;border-radius:999px;width:28px;height:28px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.day{border:1px solid var(--border);background:var(--card);border-radius:16px;align-content:start;gap:.22rem;min-height:92px;padding:.65rem;display:grid;box-shadow:0 8px 22px #0f172a0d}.day.complete{background:var(--success-soft);border-color:#10b981}.day.partial{background:var(--warning-soft);border-color:#f59e0b}.day span{color:var(--muted);font-size:.78rem}.phase-card,.photo-placeholder{gap:.65rem;padding:1rem;display:grid}.phase-card strong{font-size:1.45rem}.photo-placeholder{min-height:220px;color:var(--muted);border-style:dashed;place-items:center}.profile-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-header h2,.profile-header p{margin:0}.tabs{gap:.35rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;min-height:36px;padding:.45rem .75rem}.tabs button.active{background:var(--success-soft);color:var(--success-text);font-weight:900}.compact-tabs{margin-bottom:.75rem}.food-product-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-elevated);gap:.85rem;margin-bottom:1rem;padding:.85rem;display:grid}.food-result-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem;display:grid}.food-product-card{text-align:left;border:1px solid var(--border);background:var(--card);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:76px;display:grid}.food-product-card.selected{border-color:var(--emerald)}@supports (color:color-mix(in lab, red, red)){.food-product-card.selected{border-color:color-mix(in srgb, var(--emerald) 62%, var(--border))}}.food-product-card.selected{box-shadow:0 0 0 3px var(--emerald)}@supports (color:color-mix(in lab, red, red)){.food-product-card.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--emerald) 20%, transparent)}}.food-product-card img,.food-image-fallback{object-fit:cover;background:var(--surface-muted);border-radius:12px;width:48px;height:48px}.food-image-fallback{color:var(--muted);place-items:center;display:grid}.food-product-card strong,.food-log-item strong,.meal-group h3,.food-detail h3{color:var(--foreground)}.food-product-card small,.food-detail p,.food-detail small,.food-log-item small,.food-log-total span{color:var(--muted)}.food-detail,.food-log-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:.85rem;padding:.9rem;display:grid}.food-detail h3{margin:.1rem 0}.food-detail p{margin:0}.food-log-total{background:var(--surface-muted);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.meal-group{gap:.5rem;display:grid}.meal-group h3{margin:0;font-size:.92rem}.food-log-item{border:1px solid var(--border);background:var(--card-elevated);border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.food-log-item span,.food-product-card span{gap:.2rem;min-width:0;display:grid}.food-log-item strong,.food-product-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-box{border:1px solid var(--border);background:var(--card-elevated);border-radius:14px;align-items:center;gap:.55rem;margin-bottom:.75rem;padding:.2rem .65rem;display:flex}.search-box input{background:0 0;border:0}.user-list,.audit-list,.mini-rows{gap:.55rem;display:grid}.user-row{text-align:left;background:var(--card-elevated);border:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;width:100%;display:grid}.user-row.active{border-color:#10b981;box-shadow:0 0 0 3px #10b98129}.user-row span:nth-child(2){display:grid}.audit-row,.mini-rows article,.import-box{border:1px solid var(--border);background:var(--card-elevated);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.mini-rows article span{display:grid}.bottom-nav{display:none}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-only,.bottom-nav{display:grid}.bottom-nav{background:var(--card);grid-template-columns:repeat(5,1fr);gap:.25rem;padding:.45rem;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.bottom-nav{background:color-mix(in srgb, var(--card) 92%, transparent)}}.bottom-nav{border-top:1px solid var(--border);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{border-radius:14px;justify-items:center;gap:.12rem;min-height:56px;padding:.35rem;font-size:.73rem;line-height:1.1;display:grid}.hero-grid,.chart-grid,.admin-layout,.admin-shell,.calculator-grid,.today-card-grid{grid-template-columns:1fr}.admin-sidebar{padding:.55rem;display:flex;position:static;overflow-x:auto}.admin-nav-group{min-width:170px}.admin-page-header{display:grid}.today-primary-grid,.metric-grid,.info-grid,.security-card-grid,.code-grid,.upload-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.topbar{grid-template-columns:minmax(44px,1fr) auto minmax(88px,1fr);gap:.6rem;min-height:60px;padding:.55rem .75rem;display:grid}.topbar-brand{border-radius:11px;justify-self:start;width:40px;height:40px;display:block}.topbar .user-chip{justify-self:center;min-width:0}.topbar .avatar,.topbar .avatar-img{width:42px!important;height:42px!important}.topbar-actions{flex-direction:row;justify-self:end;gap:.4rem;display:inline-flex}.topbar-actions .icon-button{border-radius:12px;width:42px;height:42px;min-height:42px}.user-chip div{display:none}.page{padding:.85rem}.page-title{align-items:flex-start;gap:.75rem}.page-title h1{text-wrap:balance;font-size:clamp(1.72rem,7.2vw,2.12rem);line-height:1.08}.login-panel{border-radius:18px;padding:1rem}.brand-logo-full{width:min(230px,78vw);max-height:86px}.form-grid,.metric-grid,.today-primary-grid,.upload-choice-grid,.compact-metrics,.phase-grid,.photo-grid,.report-cards,.macro-card-grid,.tdee-grid,.recommendation-grid,.category-grid,.selection-grid,.security-card-grid,.code-grid,.info-grid,.today-hero{grid-template-columns:1fr}.motivation-card{grid-template-columns:auto minmax(0,1fr)}.motivation-actions{grid-column:1/-1;justify-content:flex-start}.quick-status-card p{min-height:auto}.offline-banner,.app-update-banner,.pwa-install-banner{margin-inline:0}.pwa-install-banner,.offline-banner,.app-update-banner{grid-template-columns:1fr;align-items:stretch}.offline-banner,.app-update-banner{display:grid}.wizard-intro,.energy-total,.wizard-save-callout,.button-row{flex-direction:column;align-items:stretch}.button-row.compact{flex-direction:row}.button-row button,.wide-button,.primary,.danger{justify-content:center;width:100%}.bottom-nav{padding:.35rem max(.35rem, env(safe-area-inset-left)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-right))}.bottom-nav button{min-height:54px;font-size:.68rem}main{padding-bottom:5.4rem}.wizard-actions button{flex:1}.calendar-grid{gap:.35rem}.day{border-radius:12px;min-height:74px;padding:.45rem}.day span{font-size:.68rem}.user-row{grid-template-columns:auto minmax(0,1fr)}.user-row .badge{justify-self:start}.profile-header{align-items:flex-start}}.legal-footer{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;gap:.5rem .75rem;margin-top:1rem;font-size:.82rem;display:flex}.legal-footer a,.legal-link-grid a{color:var(--muted-foreground);text-decoration:none}.legal-footer a:hover,.legal-link-grid a:hover{color:var(--foreground)}.legal-link-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin-top:1rem;display:grid}.legal-link-grid a{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);padding:.8rem .9rem;font-weight:750}.legal-page-shell{background:var(--background);min-height:100vh;color:var(--foreground);padding:clamp(1rem,4vw,3rem)}.legal-page{gap:1rem;max-width:920px;margin:0 auto;display:grid}.legal-page .brand-logo-full{justify-self:center;max-width:250px}.about-hero{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.about-hero .brand-logo{width:58px;height:58px}.about-hero h3{margin:0 0 .2rem;font-size:1.35rem}.about-hero p{color:var(--muted-foreground);margin:0}.markdown-text{gap:.9rem;line-height:1.7;display:grid}.markdown-text h2,.markdown-text h3,.markdown-text p,.markdown-text ul{margin:0}.markdown-text h2{font-size:clamp(1.45rem,4vw,2rem)}.markdown-text h3{margin-top:.6rem;font-size:1.05rem}.markdown-text ul{padding-left:1.2rem}.markdown-text p,.markdown-text li{color:var(--muted-foreground)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
