:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--surface:#141414;--card:#1a1a1a;--surface-2:#262626;--surface-sunken:#0a0a0a;--border:#2a2a2a;--border-strong:#3d3d3d;--sidebar:#161616;--ink:#fff;--muted:#a1a1a1;--subtle:#6b6b6b;--on-brand:#fff;--brand:#8b5cf6;--brand-dark:#7c3aed;--brand-soft:#a78bfa;--brand-tint:#8b5cf629;--accent:#8b5cf6;--success:#34d399;--success-2:#34d399;--success-bg:#34d39924;--success-solid:#16a34a;--danger:#f87171;--danger-bg:#3a1f1f;--danger-solid:#dc2626;--warning:#f59e0b;--warning-bg:#2a2410;--warning-solid:#b45309;--info:#a78bfa;--info-bg:#a78bfa24;--shadow:0 1px 3px #00000080, 0 1px 2px #0006;--shadow-lg:0 16px 48px #00000080;--overlay:#0000009e;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display:26px;--fs-h1:24px;--fs-h2:18px;--fs-h3:16px;--fs-body:14px;--fs-small:13px;--fs-tiny:11px;--fw-regular:400;--fw-medium:600;--fw-bold:700;--fw-black:800;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--transition:.15s ease}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#fff;--card:#fff;--surface-2:#f1f1f3;--surface-sunken:#f4f4f5;--border:#e4e4e7;--border-strong:#c7c7cc;--sidebar:#fff;--ink:#18181b;--muted:#52525b;--subtle:#a1a1aa;--on-brand:#fff;--brand:#7c3aed;--brand-dark:#6d28d9;--brand-soft:#6d28d9;--brand-tint:#7c3aed1a;--accent:#7c3aed;--success:#047857;--success-2:#047857;--success-bg:#0478571a;--success-solid:#047857;--danger:#dc2626;--danger-bg:#dc262614;--danger-solid:#b91c1c;--warning:#b45309;--warning-bg:#b453091a;--warning-solid:#92400e;--info:#4f46e5;--info-bg:#4f46e51a;--shadow:0 1px 2px #0000000f;--shadow-lg:0 12px 36px #0000001f;--overlay:#18181b73}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}input,select,textarea{color:var(--ink);border:1px solid var(--border);background:#141414}input::placeholder,textarea::placeholder{color:#6b6b6b}.app{min-height:100vh;display:flex}.sidebar{color:#cfcfcf;border-right:1px solid var(--border);background:#161616;flex-direction:column;gap:4px;width:220px;padding:20px 12px;display:flex}.logo{color:#fff;cursor:pointer;padding:8px 12px 18px;font-size:20px;font-weight:800;display:block}.logo span{color:var(--brand)}.nav-link{border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.nav-link:hover{color:#fff;background:#262626}.nav-link.active{background:var(--brand);color:#fff}.sidebar-foot{color:var(--muted);margin-top:auto;padding:12px;font-size:12px}.main{flex:1;max-width:1100px;padding:28px 32px}.page-title{margin:0 0 4px;font-size:24px;font-weight:700}.page-sub{color:var(--muted);margin:0 0 24px;font-size:14px}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:18px}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=800px){.grid-4,.grid-2{grid-template-columns:1fr 1fr}}.kpi .kpi-value{font-size:30px;font-weight:800}.kpi .kpi-label{color:var(--muted);margin-top:2px;font-size:13px}.kpi .kpi-trend{font-size:12px;font-weight:600}.trend-down{color:var(--brand)}.trend-up{color:#f87171}.section-title{margin:28px 0 12px;font-size:16px;font-weight:700}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.list-row:last-child{border-bottom:none}.avatar{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.client-row{align-items:center;gap:12px;display:flex}.badge{background:var(--brand-tint);color:var(--brand-soft);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.badge.blue{background:var(--brand-tint);color:var(--brand-soft)}.badge.gray{background:var(--surface-2);color:var(--muted)}.meal{margin-bottom:14px}.meal-head{justify-content:space-between;margin-bottom:6px;font-weight:600;display:flex}.meal-time{color:var(--muted);font-size:13px;font-weight:400}.food-item{color:var(--ink);justify-content:space-between;padding:3px 0;font-size:14px;display:flex}.food-item .g{color:var(--muted)}.macro-pill{color:var(--ink);background:#262626;border-radius:6px;margin-right:6px;padding:3px 10px;font-size:12px;display:inline-block}.ex-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.ex-row:last-child{border-bottom:none}.ex-name{font-weight:600}.ex-meta{color:var(--muted);font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:6px;margin:20px 0;display:flex}.tab{cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;padding:10px 14px;font-size:14px}.tab.active{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}.login-wrap{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.brand-wordmark{text-align:center;letter-spacing:-.5px;color:var(--ink);margin-bottom:14px;font-size:34px;font-weight:800}.brand-wordmark .brand-accent{color:var(--brand);margin-left:6px}.sidebar-wordmark{letter-spacing:-.5px;color:var(--ink);font-size:22px;font-weight:800}.sidebar-wordmark .brand-accent{color:var(--brand);margin-left:4px}.sidebar-wordmark-mark{color:var(--brand)}.login-card{width:360px}.login-card h1{margin:0 0 6px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 20px;font-size:14px}.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;margin-bottom:12px;padding:11px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-in-out}.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-in-out}.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-in-out}.input-password{position:relative}.input-password .input{margin-bottom:0;padding-right:44px}.input-password .toggle-pw{width:42px;height:100%;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.input-password .toggle-pw:hover{color:var(--ink)}.input-password,.role-select{margin-bottom:12px}.role-label{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.role-options{gap:6px;display:flex}.role-option{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:9px 6px;font-size:13px;font-weight:600;transition:all .15s}.role-option:hover{border-color:var(--muted);color:var(--ink)}.role-option.active{background:var(--brand-tint);border-color:var(--brand);color:var(--ink)}.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:15px;font-weight:600}.btn:hover{background:var(--brand-dark)}.login-message{min-height:20px;margin-bottom:8px;font-size:13px;line-height:1.45}.login-error{color:var(--danger)}.login-notice{color:var(--brand-soft)}.login-forgot{width:100%;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;padding:10px 0 0;font-size:13px;display:block}.login-forgot:hover{color:var(--brand-soft);text-decoration:underline}.hint{color:var(--muted);text-align:center;margin-top:12px;font-size:12px}.divider{color:var(--muted);align-items:center;gap:10px;margin:14px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-google{border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#1a1a1a;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:11px;font-size:14px;font-weight:600;display:flex}.btn-google:hover{border-color:var(--muted);background:#262626}.phone{background:var(--card);width:340px;box-shadow:var(--shadow);border:8px solid #000;border-radius:28px;margin:0 auto;overflow:hidden}.phone-head{background:var(--brand);color:#fff;padding:18px 18px 22px}.phone-body{padding:16px}.phone-card{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:14px}.progress-bar{background:#2a2a2a;border-radius:99px;height:8px;margin-top:8px;overflow:hidden}.progress-fill{background:var(--brand);height:100%}.cl-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cl-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.cl-modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.cl-modal-head strong{font-size:17px}.cl-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.cl-close:hover{color:var(--ink)}.cl-modal-body{flex:1;padding:22px;overflow-y:auto}.cl-modal-foot{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.cl-btn-ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:9px 18px;font-size:14px;transition:border-color .15s,color .15s}.cl-btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.btn-ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:9px 18px;font-size:14px;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}:where(a,button,[role=button],[role=option],[role=radio],[tabindex]):focus-visible,:where(input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.input:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){button,[role=button],a.btn,.btn,.mini,.add{min-height:44px}}.skip-link{z-index:2000;background:var(--brand);color:var(--on-brand);border-radius:var(--r-md);transition:top var(--transition);padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
