/*! 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}}}@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;--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{.absolute{position:absolute}.relative{position:relative}.static{position:static}.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}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;--card:#fff;--muted:#64748b;--border:#e2e8f0;--shadow:0 18px 45px #0f172a14;--emerald:#059669;--teal:#14b8a6;--amber:#f59e0b;--sky:#0ea5e9;--indigo:#7c3aed;--rose:#f43f5e;--slate:#64748b;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;--card:#111827;--muted:#94a3b8;--border:#263244;--shadow:0 18px 45px #00000038;background:#0f172a}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#10b9811a,#0000 32rem),linear-gradient(#f8fafc 0%,#eef8f4 100%);min-width:320px;min-height:100vh;margin:0}.dark body{background:radial-gradient(circle at 0 0,#14b8a61a,#0000 30rem),#0f172a}button,.button,input,textarea,select{font:inherit}button,.button{min-height:44px;color:inherit;cursor:pointer;background:#eef4f2;border:0;border-radius:8px;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)}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{color:#be123c;background:#ffe4e6;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,#ecfdf5db,#f0f9ffe6),#f8fafc}.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{color:#9a3412;background:#fff7ed;border-color:#fed7aa;font-weight:800}.app-update-banner{color:#065f46;background:#ecfdf5;border-color:#a7f3d0;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:#f8fafc;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.75rem;display:grid}.dark .install-steps article{background:#0f172a}.install-steps strong{color:#065f46;background:#d1fae5;border-radius:999px;place-items:center;width:32px;height:32px;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{color:#047857;background:#ecfdf5;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.quick-action-card div{gap:.15rem;display:grid}.quick-action-card small{color:var(--muted);line-height:1.35}.tone-amber span{color:#b45309;background:#fffbeb}.tone-sky span{color:#0369a1;background:#f0f9ff}.tone-emerald span{color:#047857;background:#ecfdf5}.tone-indigo span{color:#4f46e5;background:#eef2ff}.tone-rose span{color:#be123c;background:#fff1f2}.topbar-brand{display:none}.app-shell{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;flex-direction:column;gap:1.1rem;height:100vh;padding:1.1rem;display:flex;position:sticky;top:0}.dark .sidebar{background:#111827db}.sidebar nav{gap:.35rem;display:grid}.sidebar nav button,.sidebar-footer button{color:#334155;justify-content:flex-start}.dark .sidebar nav button,.dark .sidebar-footer button{color:#cbd5e1}.sidebar nav button.active,.bottom-nav button.active{color:#065f46;background:#d1fae5;font-weight:900}.sidebar-footer{gap:.35rem;margin-top:auto;display:grid}main{min-width:0;padding-bottom:5.8rem}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:5;background:#ffffffc7;justify-content:space-between;align-items:center;min-height:68px;padding:.75rem 1.2rem;display:flex;position:sticky;top:0}.dark .topbar{background:#0f172ac2}.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;background:#ecfdf5;border:2px solid #d1fae5;border-radius:999px;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{min-height:132px;color:var(--muted);cursor:pointer;background:#f8fafc;border:1px dashed #94a3b8;border-radius:16px;place-items:center;gap:.4rem;padding:1rem;display:grid}.upload-drop strong{color:#0f172a}.dark .upload-drop strong{color:#f8fafc}.dark .upload-drop{background:#0f172a}.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:#e2e8f0;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);color:var(--text);border-radius:var(--radius);min-height:98px;box-shadow:var(--shadow-soft);background:#fff;gap:.35rem;padding:.95rem;display:grid}.selection-grid button.selected{border-color:var(--emerald);background:#ecfdf5;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:#f8fafc;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-actions{z-index:5;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;justify-content:space-between;gap:.75rem;padding:.65rem;display:flex;position:sticky;bottom:74px}.dark .selection-grid button,.dark .routine-card,.dark .wizard-actions{background:#111827}.dark .selection-grid button.selected{background:#0596692e}.page{width:min(1220px,100%);margin:0 auto;padding:1.05rem}.page.narrow{width:min(820px,100%)}.page-title{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-title h1{letter-spacing:0;margin:.12rem 0 0;font-size:clamp(1.55rem,4vw,2.35rem)}.eyebrow{color:#047857;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{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);margin-bottom:1rem}.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))}.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,.empty-state,.loading-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px}.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{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.today-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;gap:.35rem;padding:1rem;display:grid}.status-card{padding:1.1rem;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{color:#065f46;background:#ecfdf5;border-radius:12px;align-items:center;gap:.55rem;margin-bottom:.8rem;padding:.72rem .85rem;display:flex}.dark .goal-strip,.dark .context-card{color:#a7f3d0;background:#065f4638}.metric{gap:.28rem;min-height:132px;padding:1rem;display:grid}.metric-icon{color:#0f766e;background:#0f766e1a;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.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:1rem;overflow:hidden}.panel h2{align-items:center;gap:.5rem;margin:0 0 .85rem;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{width:100%;min-height:46px;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.68rem .78rem}input[readonly],textarea[readonly]{color:#475569;cursor:default;background:#f1f5f9}.dark input,.dark textarea,.dark select{background:#0f172a;border-color:#334155}.dark input[readonly],.dark textarea[readonly]{color:#cbd5e1;background:#1e293b}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:#f8fafc;border-radius:16px;justify-items:center;gap:.75rem;padding:1rem;display:grid}.dark .qr-card{background:#0f172a}.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:#f8fafc;border-radius:16px;padding:.85rem}.dark .security-card,.dark .code-grid code{background:#0f172a}.security-card{gap:.55rem;display:grid}.security-card p{color:var(--muted);margin:0;font-weight:700}.code-grid code{color:#0f766e;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}.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,#e2e8f0)}@supports (color:color-mix(in lab, red, red)){.metric{border-color:color-mix(in srgb, var(--tone,#e2e8f0) 22%, var(--border))}}.metric .metric-icon{color:var(--tone-text,#0f766e);background:#ffffff8f}.trend{border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.82rem;font-weight:900;display:inline-flex}.trend.good{color:#065f46;background:#d1fae5}.trend.attention{color:#92400e;background:#fef3c7}.chart-tooltip{background:var(--card);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,#ecfdf5,#e0f2fe);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:#e2e8f0;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:#0f766e;font-weight:900}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.info-grid span{border:1px solid var(--border);background:#f8fafc;border-radius:14px;gap:.2rem;padding:.75rem;display:grid}.dark .info-grid span{background:#0f172a}.notice{border-radius:14px;padding:.8rem .95rem;font-weight:800}.notice.success{color:#065f46;background:#d1fae5}.notice.danger{color:#be123c;background:#ffe4e6}.notice.info{color:#075985;background:#e0f2fe}.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 #d1fae5;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:#ecfdf5;border-color:#10b981}.day.partial{background:#fffbeb;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{color:#065f46;background:#d1fae5;font-weight:900}.search-box{border:1px solid var(--border);background:#f8fafc;border-radius:14px;align-items:center;gap:.55rem;margin-bottom:.75rem;padding:.2rem .65rem;display:flex}.dark .search-box{background:#0f172a}.search-box input{background:0 0;border:0}.user-list,.audit-list,.mini-rows{gap:.55rem;display:grid}.user-row{text-align:left;border:1px solid var(--border);background:#f8fafc;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;width:100%;display:grid}.dark .user-row{background:#0f172a}.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:#f8fafc;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.dark .audit-row,.dark .mini-rows article,.dark .import-box{background:#0f172a}.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{border-top:1px solid var(--border);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;grid-template-columns:repeat(5,1fr);gap:.25rem;padding:.45rem;position:fixed;bottom:0;left:0;right:0}.dark .bottom-nav{background:#0f172aeb}.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,.calculator-grid,.today-card-grid{grid-template-columns:1fr}.metric-grid,.info-grid,.security-card-grid,.code-grid,.upload-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.topbar{padding:.65rem .85rem}.topbar-brand{width:38px;height:38px;display:block}.user-chip div{display:none}.page{padding:.85rem}.page-title{align-items:flex-start;gap:.75rem}.page-title h1{font-size:clamp(1.75rem,8vw,2.35rem);line-height:1.05}.login-panel{border-radius:18px;padding:1rem}.brand-logo-full{width:min(230px,78vw);max-height:86px}.form-grid,.metric-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{grid-template-columns:1fr}.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,.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}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
