:root{--color-primary: #3a8b7a;--color-primary-dark: #25685d;--color-primary-soft: #e3f2ed;--color-secondary: #5f9b8a;--color-accent: #b5894f;--color-danger: #d35d5d;--color-danger-dark: #b84d4d;--color-danger-soft: #faeaea;--color-green: #4f8a5b;--color-green-soft: #edf5ee;--color-yellow: #d99a3d;--color-yellow-soft: #faf3e0;--color-blue: #5b7db1;--color-blue-soft: #edf0f7;--color-bg: #f8faf8;--color-surface: #ffffff;--color-surface-soft: #f3faf7;--color-muted-surface: #eef6f2;--color-card-subtle: #f5faf7;--color-border: #d7e7e1;--color-text: #1f2933;--color-muted: #6b7280;--color-subtle: #9ca3a0;--chart-blue: #6b7f94;--chart-green: #6b8f71;--chart-olive: #8a8f5a;--chart-gold: #b58b4a;--chart-lavender: #8b86a3;--chart-slate: #64748b;--chart-hypertension: #b45353;--chart-hypertension-soft-line: #c88484;--chart-diabetes: #c27a2c;--chart-dyslipidemia: #6d5a9c;--chart-obesity: #2f7c7a;--chart-obesity-soft-line: #6aa5a1;--chart-overall: #475569;--chart-grid: #cbd5e1;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 8px 24px rgba(15, 23, 42, .06);--shadow-soft: 0 4px 12px rgba(15, 23, 42, .04);--shadow-interactive: 0 14px 30px rgba(47, 124, 111, .14);--sidebar-collapsed-width: 72px;--sidebar-expanded-width: 240px;--sidebar-width: var(--sidebar-collapsed-width);--topbar-height: 72px;color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}[data-theme=dark]{--color-primary: #3a8b7a;--color-primary-dark: #5bb09d;--color-primary-soft: rgba(47, 124, 111, .16);--color-secondary: #5f9b8a;--color-accent: #b5894f;--color-danger: #d97878;--color-danger-dark: #f0a7a7;--color-danger-soft: rgba(217, 120, 120, .16);--color-green: #6ea87b;--color-green-soft: rgba(110, 168, 123, .16);--color-yellow: #c99a4a;--color-yellow-soft: rgba(201, 154, 74, .16);--color-blue: #8aa8c7;--color-blue-soft: rgba(138, 168, 199, .16);--color-bg: #212121;--color-surface: #2a2a2a;--color-surface-soft: #303030;--color-muted-surface: #333333;--color-card-subtle: #262626;--color-border: #3a3a3a;--color-text: #ececec;--color-muted: #b4b4b4;--color-subtle: #8e8e8e;--chart-blue: #8aa8c7;--chart-green: #75aa83;--chart-olive: #a9ad7a;--chart-gold: #d0a05a;--chart-lavender: #b9a7e8;--chart-slate: #cbd5e1;--chart-hypertension: #f0a6a6;--chart-hypertension-soft-line: #d78f8f;--chart-diabetes: #f2b56b;--chart-dyslipidemia: #b9a7e8;--chart-obesity: #73c8bd;--chart-obesity-soft-line: #5aaea4;--chart-overall: #cbd5e1;--chart-grid: #475569;--shadow-card: 0 12px 28px rgba(0, 0, 0, .28);--shadow-soft: 0 6px 16px rgba(0, 0, 0, .22);--shadow-interactive: 0 14px 28px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,.button,.btn-primary,.btn-secondary{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:8px;justify-content:center;line-height:1.25;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:12px 18px;text-align:center;white-space:normal}button,.button,.btn-primary{background:var(--color-primary);border:none;color:#fff}button.secondary,.button.secondary,.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}button.danger{background:var(--color-danger)}button.danger-ghost,.button.danger-ghost{background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger-dark)}.btn-danger{align-items:center;background:var(--color-danger);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:8px;justify-content:center;line-height:1.25;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:12px 18px;text-align:center;white-space:normal}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font:inherit;padding:12px 14px;width:100%;appearance:none;-webkit-appearance:none}select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font:inherit;padding:10px 14px;width:100%;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}textarea{min-height:120px;resize:vertical}pre{background:var(--color-card-subtle);border-radius:var(--radius-md);color:var(--color-text);max-width:100%;overflow:auto;padding:14px}.app-shell{background:var(--color-bg);display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;min-height:100vh}.app-shell-public{grid-template-columns:1fr}.topbar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;grid-column:1 / -1;height:var(--topbar-height);justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand{align-items:center;color:var(--color-text);display:inline-flex;font-size:20px;font-weight:900;gap:10px;min-width:0;white-space:nowrap}.brand-mark,.avatar{align-items:center;background:var(--color-primary);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;height:34px;justify-content:center;width:34px}.navbar-actions,.button-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.nav-logout-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font-weight:700;gap:8px;padding:8px 12px;cursor:pointer;font-size:14px}.nav-logout-btn:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.desktop-nav-action{font-size:14px;color:var(--color-text-secondary);text-decoration:none;padding:4px 8px;border-radius:var(--border-radius-md);transition:color .15s}.desktop-nav-action:hover{color:var(--color-text)}.desktop-nav-action.active{color:var(--color-primary);font-weight:500;border-bottom:2px solid var(--color-primary)}.theme-toggle{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);display:inline-flex;font-size:14px;gap:6px;min-height:38px;padding:8px 12px}.theme-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.theme-toggle-label{font-size:12px;font-weight:900}.icon-button,.user-chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font-weight:700;gap:8px;padding:8px 12px}.user-chip{padding:2px 10px 2px 2px}.icon-button{position:relative}.mobile-menu-button,.mobile-bottom-nav,.mobile-nav-backdrop,.mobile-nav-drawer{display:none}.notification-badge{align-items:center;background:var(--color-primary);border:2px solid var(--color-surface);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;justify-content:center;line-height:1;min-width:22px;padding:3px 5px}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:9px;grid-column:1;grid-row:2;height:calc(100vh - var(--topbar-height));overflow-x:hidden;overflow-y:auto;padding:20px 12px;position:sticky;top:var(--topbar-height);transition:width .18s ease,box-shadow .18s ease;width:var(--sidebar-collapsed-width);z-index:11}.sidebar:hover,.sidebar:focus-within{box-shadow:var(--shadow-card);width:var(--sidebar-expanded-width)}.sidebar-title{align-items:center;color:var(--color-subtle);display:flex;font-size:12px;font-weight:900;gap:10px;justify-content:center;min-height:46px;padding:6px;text-transform:uppercase;white-space:nowrap}.sidebar:hover .sidebar-title,.sidebar:focus-within .sidebar-title{justify-content:flex-start;padding:6px 10px}.sidebar-title-icon{align-items:center;background:var(--color-primary);border-radius:999px;color:#fff;display:inline-grid;flex:0 0 34px;height:34px;place-items:center;width:34px}.sidebar-link,.sidebar a,.sidebar-disabled{align-items:center;align-self:center;background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:14px;color:var(--color-muted);display:flex;font-weight:800;gap:0;height:48px;justify-content:center;margin:0 auto 4px;min-height:48px;padding:0;position:relative;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease,width .16s ease,padding .16s ease;width:48px;white-space:nowrap}.sidebar:hover .sidebar-link,.sidebar:focus-within .sidebar-link,.sidebar:hover a,.sidebar:focus-within a{align-self:stretch;gap:12px;justify-content:flex-start;margin:0 0 4px;padding:0 14px;width:calc(100% - 4px)}.sidebar-link-icon,.sidebar-icon{align-items:center;background:transparent;border:0;border-radius:10px;display:inline-flex;flex:0 0 24px;font-size:17px;height:24px;justify-content:center;margin:0;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;width:24px}.sidebar-link-label,.sidebar-title-label,.sidebar-label{opacity:0;overflow:hidden;pointer-events:none;flex:0 0 0;transform:translate(-4px);transition:flex-basis .16s ease,opacity .16s ease,transform .16s ease,visibility .16s ease,width .16s ease;visibility:hidden;width:0;white-space:nowrap}.sidebar:hover .sidebar-link-label,.sidebar:focus-within .sidebar-link-label,.sidebar:hover .sidebar-title-label,.sidebar:focus-within .sidebar-title-label,.sidebar:hover .sidebar-label,.sidebar:focus-within .sidebar-label{opacity:1;pointer-events:auto;flex:1 1 auto;transform:translate(0);visibility:visible;width:auto}.sidebar-active-indicator{background:var(--color-primary);border-radius:999px;content:"";height:24px;left:0;opacity:0;position:absolute;transition:opacity .16s ease,transform .16s ease;width:4px}.sidebar-link:hover,.sidebar-link-active,.sidebar a.active,.sidebar a:hover{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 68%,var(--color-border));box-shadow:var(--shadow-interactive);color:var(--color-primary-dark);transform:translate(2px)}.sidebar-link-active,.sidebar a.active{transform:none}.sidebar-link:focus-visible{border-color:var(--color-primary);outline:3px solid color-mix(in srgb,var(--color-primary) 32%,transparent);outline-offset:3px}.sidebar-link-active .sidebar-active-indicator,.sidebar a.active .sidebar-active-indicator{opacity:1;transform:translate(1px)}.sidebar-link:hover .sidebar-link-icon,.sidebar-link-active .sidebar-link-icon,.sidebar a.active .sidebar-icon,.sidebar a:hover .sidebar-icon{background:var(--color-primary);color:#fff;transform:none}.page{grid-column:2;grid-row:2;margin:0 auto;max-width:1440px;padding:28px;width:100%}.page-public{grid-column:1;max-width:1280px}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.page-header>*{min-width:0}.page-header h1{font-size:28px;margin:0}.page-header p{color:var(--color-muted);margin:6px 0 0}.page-stack{display:grid;gap:20px}.landing-page{display:grid;gap:44px}.landing-section{display:grid;gap:18px}.landing-feature-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:10px;min-height:190px;padding:20px}.landing-feature-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.landing-feature-card p{color:var(--color-muted);margin:0}.landing-feature-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);display:inline-grid;font-size:30px;height:52px;place-items:center;width:52px}.landing-cta{align-items:center;background:linear-gradient(135deg,var(--color-surface-soft),var(--color-primary-soft));border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;gap:20px;justify-content:space-between;padding:28px}.landing-cta h2{margin:0 0 8px}.landing-cta p{color:var(--color-muted);margin:0}.persona-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.persona-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--color-text);display:grid;gap:10px;justify-items:start;padding:20px;text-align:left}.persona-card:hover,.persona-card.active{background:var(--color-surface-soft);border-color:var(--color-primary)}.persona-card p{color:var(--color-muted);line-height:1.5;margin:0}.persona-card em{color:var(--color-primary);font-style:normal;font-weight:900}.persona-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);display:inline-grid;font-size:30px;height:52px;place-items:center;width:52px}.persona-flow-panel{background:linear-gradient(135deg,var(--color-surface),var(--color-surface-soft));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:20px;padding:28px}.persona-flow-panel h2{margin:4px 0 8px}.persona-flow-panel p{color:var(--color-muted);margin:0}.persona-step-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.persona-step-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:10px;padding:18px}.persona-step-card span{align-items:center;background:var(--color-primary);border-radius:999px;color:#fff;display:inline-grid;font-weight:900;height:30px;place-items:center;width:30px}.persona-timeline,.service-flow-strip{align-items:stretch;display:grid;gap:12px}.persona-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.persona-timeline-item,.service-flow-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:10px;min-height:128px;padding:18px;position:relative}.persona-timeline-item p{color:var(--color-muted);margin:4px 0 0}.timeline-icon{align-items:center;background:var(--color-primary-soft);border-radius:999px;display:inline-grid;font-size:30px;height:54px;place-items:center;width:54px}.persona-timeline-item>em,.service-flow-item>em{color:var(--color-primary);font-size:26px;font-style:normal;font-weight:900;position:absolute;right:-19px;top:50%;transform:translateY(-50%);z-index:1}.service-flow-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.service-flow-item{justify-items:center;min-height:100px;text-align:center}.service-flow-item span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);display:inline-grid;font-size:28px;height:50px;place-items:center;width:50px}.hero-card-topline,.sparkline-row,.progress-label{align-items:center;display:flex;gap:12px;justify-content:space-between}.mini-gauge,.score-gauge{align-items:center;aspect-ratio:1;background:conic-gradient(var(--color-primary) var(--gauge-value),var(--color-muted-surface) 0);border-radius:999px;display:grid;place-items:center}.mini-gauge{width:56px}.score-gauge{width:132px}.mini-gauge span,.score-gauge span{align-items:center;background:var(--color-surface);border-radius:999px;color:var(--color-text);display:grid;font-weight:900;height:72%;place-items:center;width:72%}.sparkline{align-items:end;background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:5px;height:48px;min-width:116px;padding:8px}.sparkline span{background:var(--color-primary);border-radius:999px;flex:1}.sparkline-glucose span:nth-child(1){height:45%}.sparkline-glucose span:nth-child(2){height:62%}.sparkline-glucose span:nth-child(3){height:52%}.sparkline-glucose span:nth-child(4){height:70%}.sparkline-glucose span:nth-child(5){height:58%}.sparkline-pressure span:nth-child(1){height:65%}.sparkline-pressure span:nth-child(2){height:56%}.sparkline-pressure span:nth-child(3){height:72%}.sparkline-pressure span:nth-child(4){height:60%}.sparkline-pressure span:nth-child(5){height:48%}.preview-dashboard-grid{display:grid;gap:16px;grid-template-columns:220px minmax(0,1fr) 220px}.preview-score-card,.preview-record-card,.preview-bars{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:12px;padding:18px}.preview-score-card{justify-items:center;text-align:center}.preview-score-card p,.preview-record-card p{color:var(--color-muted);margin:0}.preview-bar-row{display:grid;gap:8px}.preview-bar-row span{color:var(--color-muted);font-weight:800}.success-fill{background:var(--color-green)!important}.warning-fill{background:var(--color-yellow)!important}.danger-fill{background:var(--color-danger)!important}.main-dashboard-hero{align-items:center;background:linear-gradient(135deg,var(--color-surface),var(--color-surface-soft));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:20px;justify-content:space-between;padding:28px}.main-dashboard-hero h1{font-size:30px;margin:0}.main-dashboard-hero p{color:var(--color-muted);margin:8px 0 0}.home-action-panel{display:grid;gap:10px;min-width:min(440px,100%)}.home-action-card{align-items:center;background:color-mix(in srgb,var(--color-surface) 82%,var(--color-primary-soft));border:1px solid color-mix(in srgb,var(--color-border) 72%,var(--color-primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--color-text);display:flex;gap:12px;padding:14px 16px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.home-action-card:hover{background:color-mix(in srgb,var(--color-surface) 70%,var(--color-primary-soft));border-color:color-mix(in srgb,var(--color-primary) 70%,var(--color-border));box-shadow:var(--shadow-interactive);transform:translateY(-1px)}.home-action-card:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 32%,transparent);outline-offset:3px}.home-action-card__icon{align-items:center;background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 34%,var(--color-border));border-radius:14px;display:inline-grid;flex:0 0 42px;font-size:20px;height:42px;place-items:center;width:42px}.home-action-card__title{display:block;font-size:15px;margin-bottom:3px}.home-action-card__description{color:var(--color-muted);display:block;font-size:12px;font-style:normal;font-weight:700;line-height:1.45}.home-action-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.home-action-links a{background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);font-size:12px;font-weight:900;padding:7px 10px;transition:border-color .16s ease,color .16s ease,transform .16s ease}.home-action-links a:hover{border-color:var(--color-primary);color:var(--color-primary-dark);transform:translateY(-1px)}.main-dashboard-section{display:grid;gap:14px}.quick-action-section{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.quick-action-section>span{color:var(--color-muted);font-size:13px;font-weight:900;white-space:nowrap}.quick-action-row{display:flex;flex:1;flex-wrap:wrap;gap:8px;justify-content:flex-end}.quick-action-chip{align-items:center;background:var(--color-primary-soft);border:1px solid transparent;border-radius:999px;color:var(--color-primary-dark);display:inline-flex;font-size:13px;font-weight:900;gap:6px;padding:8px 12px}.quick-action-chip:hover{border-color:var(--color-primary)}.section-heading.compact{margin:0}.todo-card-grid,.shortcut-grid,.tracking-grid{display:grid;gap:14px}.todo-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shortcut-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.tracking-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.todo-card,.shortcut-card,.tracking-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--color-text);display:grid;gap:8px;padding:18px}.todo-card:hover,.shortcut-card:hover,.tracking-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.todo-card p,.shortcut-card p{color:var(--color-muted);font-size:14px;line-height:1.5;margin:0}.todo-card em,.tracking-card em{color:var(--color-primary);font-size:13px;font-style:normal;font-weight:900}.shortcut-card span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);display:inline-grid;font-size:24px;height:44px;place-items:center;width:44px}.tracking-card{min-height:112px}.tracking-card span{color:var(--color-muted);font-size:13px;font-weight:900}.tracking-card strong{font-size:20px}.main-dashboard-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.compact-list{display:grid;gap:12px}.compact-list-item{align-items:center;background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:14px;justify-content:space-between;padding:14px}.compact-list-item p{color:var(--color-muted);margin:4px 0 0}.empty-state{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-muted);display:grid;gap:12px;padding:18px}.empty-state p{margin:0}.error-page-shell,.not-found-page{align-items:center;background:radial-gradient(circle at top left,var(--color-primary-soft),transparent 34%),var(--color-bg);display:grid;min-height:70vh;padding:32px;place-items:center}.error-page-card,.not-found-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:14px;max-width:560px;padding:28px;text-align:center;width:min(100%,560px)}.error-page-mark,.not-found-code{align-items:center;background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 32%,var(--color-border));border-radius:999px;color:var(--color-primary-dark);display:inline-grid;font-weight:900;height:58px;justify-self:center;place-items:center;width:58px}.not-found-code{font-size:18px;width:72px}.error-page-card h1,.not-found-card h1{margin:0}.error-page-card p,.not-found-card p{color:var(--color-muted);line-height:1.6;margin:0}.error-page-card pre{background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);font-size:12px;margin:0;overflow:auto;padding:10px;text-align:left}.error-page-card .button-row,.not-found-card .button-row{justify-content:center}.page-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{display:grid;gap:20px;grid-template-columns:280px 1fr}.sticky-sidebar{position:sticky;top:20px;align-self:start}.dashboard-shell{display:grid;gap:16px}.dashboard-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dashboard-header h1{margin:0}.dashboard-header p{color:var(--color-muted);margin:8px 0 0}.dashboard-summary-strip,.metric-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(132px,1fr))}.dashboard-summary-card,.metric-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:8px;min-height:122px;padding:12px}.dashboard-page-header{align-items:flex-start}.dashboard-period-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dashboard-period-tabs button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);font-size:12px;font-weight:900;padding:8px 11px}.dashboard-period-tabs button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.dashboard-summary-card__head,.metric-summary-card__head{align-items:center;display:flex;gap:8px;justify-content:space-between}.dashboard-summary-card__head span,.dashboard-summary-card__head em,.metric-summary-card__head span,.metric-summary-card__head em{color:var(--color-muted);font-size:12px;font-style:normal;font-weight:900}.dashboard-summary-card__head em.up,.metric-summary-card__head em.up{color:var(--color-green)}.dashboard-summary-card__head em.down,.metric-summary-card__head em.down{color:var(--color-danger)}.dashboard-summary-card strong,.metric-summary-card strong{color:var(--color-text);font-size:22px;line-height:1.1}.dashboard-summary-card small,.metric-summary-card small{color:var(--color-muted);font-size:11px;margin-left:4px}.dashboard-mini-sparkline,.metric-sparkline{align-self:end;height:44px;width:100%}.dashboard-mini-sparkline path,.metric-sparkline path{fill:none;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.dashboard-mini-empty,.metric-sparkline-empty{align-items:center;background:var(--color-card-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);display:grid;font-size:12px;font-weight:800;min-height:44px;place-items:center}.dashboard-mini-gauge,.metric-gauge{align-items:center;background:conic-gradient(var(--color-primary) var(--gauge-value),var(--color-muted-surface) 0);border-radius:999px;display:grid;height:54px;justify-self:end;place-items:center;width:54px}.dashboard-mini-gauge span,.metric-gauge span{align-items:center;background:var(--color-surface);border-radius:999px;color:var(--color-text);display:grid;font-size:12px;font-weight:900;height:70%;place-items:center;width:70%}.dashboard-analysis-board,.dashboard-analysis-layout{display:grid;gap:16px;grid-template-columns:188px minmax(0,1fr)}.dashboard-analysis-board{align-items:start}.dashboard-analysis-layout{align-items:stretch}.dashboard-metric-menu,.analysis-tab-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:12px;padding:14px}.analysis-tab-list{align-content:start}.dashboard-metric-menu h2,.analysis-tab-list h2{font-size:16px;margin:0}.analysis-tab-health-tip{border-top:1px solid var(--color-border);display:grid;gap:10px;margin-top:4px;padding-top:12px}.analysis-tab-health-tip h3{font-size:14px;margin:0}.analysis-tab-health-tip .dashboard-tip-list{gap:8px}.analysis-tab-health-tip .dashboard-tip-list li{font-size:12px;line-height:1.45}.dashboard-metric-menu>div,.analysis-tab-list>div,.dashboard-analysis-main,.dashboard-tip-list{display:grid;gap:10px;overflow:hidden}.dashboard-metric-menu button,.analysis-tab-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);display:flex;justify-content:space-between;padding:9px 10px;text-align:left;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.dashboard-metric-menu button:hover:not(:disabled),.analysis-tab-button:hover:not(:disabled){background:var(--color-card-subtle);border-color:var(--color-primary);transform:translate(2px)}.dashboard-metric-menu button.active,.analysis-tab-button.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.dashboard-metric-menu button:disabled,.analysis-tab-button:disabled{background:var(--color-muted-surface)}.dashboard-metric-menu em,.analysis-tab-button em{color:var(--color-muted);font-size:11px;font-style:normal;font-weight:900}.dashboard-chart-card,.analysis-chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:18px;min-height:400px;overflow:hidden;padding:22px}.dashboard-chart-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.dashboard-chart-heading h2{color:var(--color-primary-dark);font-size:19px;margin:0 0 6px}.dashboard-chart-heading p{color:var(--color-muted);margin:0}.dashboard-chart-heading>span{color:var(--color-muted);font-size:12px;font-weight:900;white-space:nowrap}.dashboard-chart-panels{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-chart-panels.single-panel{grid-template-columns:1fr}.dashboard-chart-panel{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:14px;grid-template-columns:1fr;min-height:300px;min-width:0;overflow:hidden;padding:16px}.dashboard-chart-panels.single-panel .dashboard-chart-panel{grid-template-columns:minmax(0,1fr) 180px;min-height:300px}.dashboard-chart-panels.single-panel .dashboard-chart-panel .line-chart-card{align-self:stretch}.dashboard-chart-panels.single-panel .dashboard-chart-stat{align-self:center;display:grid;min-height:110px}.dashboard-chart-panel-head{align-items:center;display:flex;gap:8px;grid-column:1 / -1;justify-content:space-between}.dashboard-chart-panel-head strong{font-size:14px}.dashboard-chart-panel-head span{color:var(--color-muted);font-size:12px;font-weight:800}.dashboard-chart-panel .line-chart-card{min-width:0}.dashboard-chart-panel .line-chart-wrap{overflow:hidden}.dashboard-chart-panel .line-chart{min-width:0}.dashboard-chart-stat{align-items:center;align-self:stretch;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:6px;justify-content:space-between;padding:14px}.dashboard-chart-stat span,.dashboard-chart-stat em{color:var(--color-muted);font-size:12px;font-style:normal;font-weight:900}.dashboard-chart-stat strong{align-items:baseline;display:flex;flex-wrap:wrap;font-size:22px;gap:3px;line-height:1.1;min-width:0}.dashboard-chart-stat small{color:var(--color-muted);display:inline-block;font-size:11px;margin-left:3px;white-space:nowrap}.dashboard-insight-grid,.dashboard-helper-grid,.dashboard-primary-grid,.dashboard-support-grid,.dashboard-risk-grid,.dashboard-bottom-grid,.dashboard-sub-grid{display:grid;gap:14px}.dashboard-insight-grid,.dashboard-helper-grid,.dashboard-risk-grid,.dashboard-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary-grid{align-items:stretch;grid-template-columns:1fr}.dashboard-primary-grid>.card{min-height:0}.dashboard-primary-grid .card-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-primary-grid .mini-card{gap:12px;min-height:132px}.dashboard-primary-grid .mini-card .record-row{align-items:flex-start;gap:8px}.dashboard-primary-grid .mini-card .badge-reference{justify-self:stretch;text-align:center}.today-recommendation-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.today-recommendation-item{gap:12px;min-height:150px}.today-recommendation-item p{color:var(--color-muted);font-size:14px;line-height:1.55;margin:6px 0 0}.dashboard-support-grid{grid-template-columns:minmax(0,1fr)}.dashboard-sub-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.dashboard-tip-list{margin:0;padding-left:18px}.dashboard-tip-list li{color:var(--color-muted);font-size:14px;line-height:1.55}.ai-comment-card,.health-tip-card{gap:10px;padding:16px}.ai-comment-card .card-header,.health-tip-card .card-header{margin-bottom:6px}.ai-comment-card h2,.health-tip-card h2{font-size:16px}.ai-comment-card p{color:var(--color-muted);font-size:14px;line-height:1.55;margin:0}.dashboard-diet-summary{align-items:center;display:grid;gap:16px;grid-template-columns:150px minmax(0,1.1fr) minmax(240px,.9fr)}.dashboard-primary-grid .dashboard-diet-summary{align-items:stretch;grid-template-columns:150px minmax(0,1.1fr) minmax(240px,.9fr)}.dashboard-diet-summary p{color:var(--color-muted);margin:8px 0}.diet-summary-section .card-header{margin-bottom:12px}.dashboard-diet-score{align-items:center;display:grid;gap:10px;justify-items:center}.dashboard-diet-score .metric-gauge{height:86px;width:86px}.dashboard-diet-score strong{color:var(--color-text);font-size:18px}.dashboard-primary-grid .dashboard-diet-score{align-content:center;background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:118px;padding:14px}.dashboard-primary-grid .dashboard-diet-points{grid-column:auto}.dashboard-primary-grid .dashboard-diet-score .metric-gauge{height:72px;width:72px}.dashboard-diet-copy,.dashboard-diet-points{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:112px;padding:14px}.dashboard-primary-grid .dashboard-diet-copy,.dashboard-primary-grid .dashboard-diet-points{min-height:0}.dashboard-diet-copy span,.dashboard-diet-points span{color:var(--color-primary-dark);font-size:13px;font-weight:900}.dashboard-diet-points ul{color:var(--color-muted);line-height:1.7;margin:8px 0 0;padding-left:18px}.dashboard-diet-points p{margin-bottom:0}.dashboard-chip-row{display:flex;flex-wrap:wrap;gap:8px}.dashboard-chip-row span{background:var(--color-primary-soft);border-radius:999px;color:var(--color-primary-dark);font-size:12px;font-weight:900;padding:6px 9px}.dashboard-challenge-cards,.challenge-compact-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-primary-grid .challenge-compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));overflow-x:visible;padding:0}.challenge-compact-card{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:10px;min-height:170px;padding:14px}.dashboard-primary-grid .challenge-compact-card{min-height:176px}.challenge-compact-icon{align-items:center;background:var(--color-primary-soft);border-radius:999px;display:grid;font-size:18px;height:34px;place-items:center;width:34px}.challenge-compact-card strong{color:var(--color-text);display:-webkit-box;font-size:14px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.challenge-compact-card p{color:var(--color-muted);font-size:12px;margin:6px 0 0}.challenge-compact-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.challenge-compact-footer span{color:var(--color-muted);font-size:12px;font-weight:900}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.card-header>*{min-width:0}.card h2{font-size:25px;margin:0;overflow-wrap:anywhere}.metric-card{display:flex;flex-direction:column;gap:12px;min-height:120px}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid>div,.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:8px;padding:16px}.metric-grid span,.stat-card span{color:var(--color-muted);font-size:13px;font-weight:700}.metric-grid strong,.stat-card strong{color:var(--color-text);font-size:24px}.card-list,.timeline-list,.table-list,.settings-list{display:grid;gap:12px}.notification-list{display:grid;gap:12px;margin-top:14px}.sub-tabs{margin-top:14px}.notification-management-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);margin-top:16px}.notification-list-section{min-width:0}.notification-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;padding:14px}.notification-item.unread{background:var(--color-primary-soft);border-color:var(--color-primary)}.notification-item.read{opacity:.82}.notification-icon{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;font-size:18px;height:38px;justify-content:center;width:38px}.notification-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.notification-item p{color:var(--color-muted);margin:6px 0}.notification-action-stack{align-items:stretch;display:grid;gap:8px;justify-items:stretch}.notification-log-list{display:grid;gap:12px;margin-top:16px}.notification-log-meta{color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 14px}.mini-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:8px;padding:14px}.mypage-menu{display:grid;gap:10px}.mypage-menu-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:flex;font-weight:800;justify-content:space-between;padding:13px 14px;text-align:left;width:100%}.mypage-menu-item.active{background:var(--color-primary-soft);border-color:var(--color-secondary);color:var(--color-primary-dark)}.mypage-menu-item:disabled{background:var(--color-muted-surface);color:var(--color-subtle);cursor:not-allowed;opacity:1}.mypage-menu-item.danger-ghost{border-color:var(--color-danger-soft)}.profile-card-row{align-items:flex-start;display:flex;gap:16px}.profile-card-main{display:grid;flex:1;gap:8px;min-width:0}.profile-card-main>strong{font-size:24px}.mypage-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-summary-card{align-items:center;display:flex;gap:16px;justify-content:space-between}.family-summary-card h3{font-size:18px;margin:10px 0 6px}.avatar-large{font-size:22px;height:56px;width:56px}.result-summary-card{grid-template-columns:1fr}.health-record-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:14px;padding:16px}.health-record-summary-header{align-items:center;display:flex;justify-content:space-between}.health-record-summary-header>div,.health-record-summary-grid>div{display:grid;gap:4px}.health-record-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.health-record-summary-grid span,.health-record-summary-header span{color:var(--color-muted);font-size:13px;font-weight:800}.health-record-summary-grid strong{font-size:15px}.health-record-lipid-list{display:grid;gap:5px;margin-top:2px}.health-record-lipid-list span{align-items:baseline;color:var(--color-text);display:grid;font-size:14px;font-weight:700;gap:8px;grid-template-columns:minmax(108px,max-content) minmax(0,1fr)}.health-record-lipid-list em{color:var(--color-muted);font-style:normal;font-weight:800}.health-record-lipid-list strong{font-size:14px;overflow-wrap:anywhere}.table,.table-row{width:100%}.table-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-width:0;padding:14px}.table-row>*{min-width:0;overflow-wrap:anywhere}.analysis-history-row{grid-template-columns:1fr auto;align-items:stretch}.record-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.record-row>*{min-width:0}.record-meta-grid,.nutrition-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.record-meta-grid span,.nutrition-grid span{color:var(--color-muted);font-size:13px;font-weight:800}.nutrition-grid>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:4px;padding:12px}.nutrition-grid strong{font-size:18px}.record-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.record-table-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 14px}.record-table-row:last-child{border-bottom:0}.record-table-row span{color:var(--color-muted);font-weight:800}.form{display:grid;gap:14px}.form.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form label,.toggle-row,.search-box{display:grid;gap:7px;font-weight:800}.field-label-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.help-icon-button{align-items:center;background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary-dark);display:inline-flex;font-size:13px;font-weight:900;height:26px;justify-content:center;padding:0;width:26px}.help-icon-button:hover{background:var(--color-primary-soft)}.auth-page{margin:40px auto;max-width:680px}.auth-page .card-header h2{font-size:28px}.muted,.placeholder{color:var(--color-muted)}.helper-disabled{border-bottom:1px dotted var(--color-subtle);cursor:help}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;line-height:1.25;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:5px 10px;white-space:normal}.badge-required{background:var(--color-primary-soft);color:var(--color-primary-dark)}.badge-optional{background:var(--color-blue-soft);color:var(--color-blue)}.badge-saved{color:var(--color-green)}.badge-missing{background:var(--color-yellow-soft);color:var(--color-yellow)}.badge-reference,.badge-muted{background:var(--color-muted-surface);color:var(--color-muted)}.risk-low{color:var(--color-green)}.risk-medium,.risk-attention{background:var(--color-yellow-soft);color:var(--color-yellow)}.risk-caution{background:#f59e0b29;color:#c2410c}.risk-high,.risk-high-caution{background:var(--color-danger-soft);color:var(--color-danger-dark)}.risk-stage-board{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.risk-stage-board-title{color:var(--color-muted);font-size:14px;font-weight:800;grid-column:1 / -1;margin:0}.risk-stage-board-empty{background:var(--color-muted-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);font-weight:800;padding:18px;text-align:center}.risk-stage-card{--risk-stage-bg: var(--color-card-subtle);--risk-stage-border: var(--color-border);--risk-stage-label: var(--color-text);--risk-stage-chip-bg: rgba(255, 255, 255, .86);--risk-stage-chip-border: rgba(15, 23, 42, .12);--risk-stage-chip-color: #334155;background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:7px;min-height:0;min-width:0;padding:0;height:100%}.risk-stage-low{--risk-stage-bg: rgba(22, 163, 127, .13);--risk-stage-border: rgba(22, 137, 104, .44);--risk-stage-label: #176f56}.risk-stage-attention{--risk-stage-bg: rgba(202, 138, 4, .15);--risk-stage-border: rgba(161, 98, 7, .44);--risk-stage-label: #8a5208}.risk-stage-caution{--risk-stage-bg: rgba(249, 115, 22, .15);--risk-stage-border: rgba(234, 88, 12, .46);--risk-stage-label: #b94108}.risk-stage-high-caution{--risk-stage-bg: rgba(225, 29, 72, .12);--risk-stage-border: rgba(190, 18, 60, .46);--risk-stage-label: #be123c}.risk-stage-header{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:22px;padding:0 2px}.risk-stage-header span{color:var(--risk-stage-label);font-size:13px;font-weight:800;letter-spacing:0}.risk-stage-header em{background:var(--color-muted-surface);border:1px solid var(--risk-stage-chip-border);border-radius:999px;color:var(--color-muted);font-size:11px;font-style:normal;font-weight:700;padding:2px 7px;white-space:nowrap}.risk-stage-header em.is-empty{opacity:.55}.risk-stage-panel{background:var(--risk-stage-bg);border:1px solid var(--risk-stage-border);border-radius:10px;box-shadow:inset 3px 0 0 var(--risk-stage-border);max-height:148px;min-height:90px;overflow-y:auto;overscroll-behavior:contain;padding:10px;scrollbar-gutter:stable;scrollbar-width:thin}.risk-stage-chip-list{align-content:flex-start;align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.risk-stage-chip,.risk-stage-empty,.risk-stage-more{border-radius:999px;font-size:12px;font-weight:600;line-height:1.2;padding:4px 8px}.risk-stage-chip{background:var(--risk-stage-chip-bg);border:1px solid var(--risk-stage-chip-border);color:var(--risk-stage-chip-color);display:inline-block;max-width:min(100%,180px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-stage-empty{color:var(--color-muted);font-weight:600;padding-inline:0}.risk-stage-more{background:color-mix(in srgb,var(--color-muted-surface) 72%,var(--risk-stage-bg));border:1px dashed var(--risk-stage-chip-border);color:var(--color-muted)}.risk-stage-board-grid2x2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.risk-stage-board-grid2x2 .risk-stage-panel{min-height:96px}.risk-stage-board-compact,.risk-stage-board-preview{gap:8px}.risk-stage-board-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-stage-board-compact .risk-stage-card,.risk-stage-board-preview .risk-stage-card{gap:6px;min-height:0}.risk-stage-board-compact .risk-stage-panel,.risk-stage-board-preview .risk-stage-panel{border-radius:9px;max-height:112px;min-height:90px;padding:8px}.risk-stage-board-preview .risk-stage-panel{max-height:120px}.risk-stage-board-compact .risk-stage-header span,.risk-stage-board-preview .risk-stage-header span{font-size:14px;font-weight:800}.risk-stage-board-compact .risk-stage-chip,.risk-stage-board-compact .risk-stage-empty,.risk-stage-board-compact .risk-stage-more,.risk-stage-board-preview .risk-stage-chip,.risk-stage-board-preview .risk-stage-empty,.risk-stage-board-preview .risk-stage-more{font-size:13px;font-weight:600;padding:5px 11px}.risk-stage-board-preview .risk-stage-empty{color:var(--color-subtle);font-size:10.5px;opacity:.72}.risk-trend-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.risk-trend-chart-item{display:flex;flex-direction:column;gap:8px}.risk-trend-chart-label{font-size:13px;font-weight:700}@media(max-width:768px){.risk-trend-charts{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none}.risk-trend-charts::-webkit-scrollbar{display:none}.risk-trend-chart-item{min-width:85vw;scroll-snap-align:start;flex-shrink:0}}[data-theme=dark] .risk-stage-card{--risk-stage-chip-bg: rgba(255, 255, 255, .07);--risk-stage-chip-border: rgba(255, 255, 255, .14);--risk-stage-chip-color: #d1d5db}[data-theme=dark] .risk-stage-low{--risk-stage-bg: rgba(52, 211, 153, .12);--risk-stage-border: rgba(74, 222, 128, .42);--risk-stage-label: #8ee6b4}[data-theme=dark] .risk-stage-attention{--risk-stage-bg: rgba(234, 179, 8, .13);--risk-stage-border: rgba(234, 179, 8, .43);--risk-stage-label: #f3d777}[data-theme=dark] .risk-stage-caution{--risk-stage-bg: rgba(249, 115, 22, .15);--risk-stage-border: rgba(251, 146, 60, .5);--risk-stage-label: #ffb36b}[data-theme=dark] .risk-stage-high-caution{--risk-stage-bg: rgba(244, 63, 94, .13);--risk-stage-border: rgba(251, 113, 133, .48);--risk-stage-label: #ff9fb0}[data-theme=dark] .risk-stage-header em{background:#ffffff0e}.landing-preview-dashboard{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr)}.landing-preview-risk-panel,.landing-preview-vitals-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.landing-preview-risk-panel .muted{font-size:12px;margin:-12px 0 0}.state-box,.error-box{border-radius:var(--radius-md);padding:8px 12px;margin:1px 0 6px}.state-box{background:var(--color-blue-soft)}.error-box{background:var(--color-danger-soft);color:var(--color-danger-dark)}.success-text{color:var(--color-green);font-weight:900}.warning-text{color:var(--color-yellow);font-weight:900}.signup-privacy-consent{background:color-mix(in srgb,var(--color-blue-soft) 72%,white);border:1px solid var(--color-border);display:grid;gap:14px}.signup-privacy-consent p{margin:0}.privacy-consent-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.privacy-detail-toggle{align-items:center;background:transparent;border:0;color:unset;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:900;gap:4px;padding:4px 0}.privacy-consent-summary{display:grid;gap:8px}.privacy-consent-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:14px;padding:14px}.privacy-consent-details section{display:grid;gap:8px}.privacy-consent-details h3{font-size:.95rem;margin:0}.privacy-consent-details ul{display:grid;gap:6px;margin:0;padding-left:18px}.privacy-consent-details li{line-height:1.55}.privacy-consent-check{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:12px}.privacy-consent-check span{flex:1;text-align:center}.checkbox-row{align-items:flex-start;display:flex;gap:10px;line-height:1.5}.checkbox-row input{flex:0 0 auto;margin-top:3px}.progress-bar,.bar-track{background:var(--color-muted-surface);border-radius:999px;height:10px;overflow:hidden}.progress-fill,.bar-fill{background:var(--color-primary);height:100%}.bars{display:grid;gap:12px}.bar-row{align-items:center;display:grid;gap:12px;grid-template-columns:96px 1fr 64px}.line-chart-card{display:grid;gap:12px}.line-chart-wrap{overflow:hidden;width:100%;max-width:100%}.line-chart{display:block;max-width:100%;height:auto}.line-chart-grid{opacity:.72;stroke:var(--chart-grid);stroke-width:1}.line-chart-axis{fill:var(--color-muted);font-size:12px;font-weight:800}.line-chart-path{fill:none;stroke:var(--series-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.line-chart-point{fill:var(--color-surface);stroke:var(--series-color);stroke-width:2.4}.line-chart-legend{display:flex;flex-wrap:wrap;gap:10px 14px}.line-chart-legend span{align-items:center;color:var(--color-muted);display:inline-flex;font-size:13px;font-weight:800;gap:6px}.line-chart-legend i{border-radius:999px;display:inline-block;height:9px;width:18px}.chart-empty-state{align-items:flex-start}.chat-context-tabs{display:flex;flex-wrap:wrap;gap:10px}.chat-window{display:grid;gap:14px;margin-bottom:18px}.chat-empty{background:var(--color-blue-soft);border-radius:var(--radius-lg);display:grid;gap:12px;padding:18px}.chat-empty p{color:var(--color-muted);margin:0}.chat-example-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-example-card{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);justify-content:flex-start;text-align:left}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:8px;max-width:min(720px,86%);padding:14px}.chat-message.user .chat-bubble{background:var(--color-primary-soft);border-color:var(--color-secondary)}.chat-role{color:var(--color-muted);font-size:12px;font-weight:900}.chat-bubble p{margin:0}.chat-safety-notice{color:var(--color-muted);font-size:13px}.chat-input-row{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.chat-input-row textarea{min-height:76px}.toggle-row{align-items:center;grid-template-columns:1fr auto}.toggle-row input{width:auto}.browser-push-box{display:grid;gap:10px}.settings-section-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.settings-section-header p{margin:4px 0 0}.status-pill{background:var(--color-primary-soft);border-radius:999px;color:var(--color-primary-dark);flex:0 0 auto;font-size:12px;font-weight:900;padding:6px 10px;white-space:nowrap}.browser-push-actions{display:flex;flex-wrap:wrap;gap:10px}.family-section-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.family-invite-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.family-toggle-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:12px 14px}.family-alert-row{align-items:center;display:flex;justify-content:space-between}.compact-form{margin-bottom:16px}.inline-form-row{align-items:center;display:flex;gap:10px}.inline-form-row .input{min-width:0}.btn-danger-outline{background:transparent;border:1px solid var(--color-danger);border-radius:10px;color:var(--color-danger);cursor:pointer;font-weight:800;padding:10px 14px}.btn-danger-outline:disabled{cursor:not-allowed;opacity:.5}.family-group-list,.family-member-list,.family-form-panel,.family-share-card{display:grid;gap:12px}.family-group-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:grid;gap:4px;padding:14px;text-align:left}.family-group-item span{color:var(--color-muted);font-size:13px}.family-group-item.active,.family-group-item:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.family-member-card,.family-share-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px}.family-member-card{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.family-member-card p{margin:4px 0 0}.family-share-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.family-toggle-row small{color:var(--color-muted);display:block;font-size:12px;font-weight:700;margin-top:3px}.invite-code-box{background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow-wrap:anywhere;padding:12px}.hero-panel{align-items:center;background:linear-gradient(135deg,var(--color-surface),var(--color-primary-soft));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);padding:42px}.hero-panel h1{font-size:45px;letter-spacing:-.02em;line-height:1.12;margin:8px 0 14px}.hero-panel p{color:var(--color-muted);font-size:18px}.hero-card,.score-panel,.mobile-health-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:12px;padding:22px}.mobile-health-card{min-height:360px}.eyebrow{color:var(--color-primary);font-size:15px;font-weight:900;letter-spacing:0;text-transform:uppercase}.score-panel strong{color:var(--color-primary);font-size:36px}.risk-detail-panel,.risk-detail-factor{--risk-detail-bg: var(--color-surface);--risk-detail-border: var(--color-border);--risk-detail-accent: var(--color-primary);--risk-detail-text: var(--color-text);background:var(--risk-detail-bg);border-color:var(--risk-detail-border);box-shadow:inset 4px 0 0 var(--risk-detail-accent),var(--shadow-card);color:var(--color-text)}.risk-detail-factor{box-shadow:inset 3px 0 0 var(--risk-detail-accent)}.risk-detail-panel strong{color:var(--risk-detail-accent)}.risk-detail-panel.risk-low,.risk-detail-factor.risk-low{--risk-detail-bg: rgba(22, 163, 127, .12);--risk-detail-border: rgba(22, 137, 104, .38);--risk-detail-accent: #168968}.risk-detail-panel.risk-attention,.risk-detail-factor.risk-attention{--risk-detail-bg: rgba(202, 138, 4, .13);--risk-detail-border: rgba(161, 98, 7, .38);--risk-detail-accent: #a16207}.risk-detail-panel.risk-caution,.risk-detail-factor.risk-caution,.risk-detail-panel.risk-medium,.risk-detail-factor.risk-medium{--risk-detail-bg: rgba(249, 115, 22, .13);--risk-detail-border: rgba(234, 88, 12, .4);--risk-detail-accent: #ea580c}.risk-detail-panel.risk-high-caution,.risk-detail-factor.risk-high-caution,.risk-detail-panel.risk-high,.risk-detail-factor.risk-high{--risk-detail-bg: rgba(225, 29, 72, .11);--risk-detail-border: rgba(190, 18, 60, .4);--risk-detail-accent: #e11d48}[data-theme=dark] .risk-detail-panel.risk-low,[data-theme=dark] .risk-detail-factor.risk-low{--risk-detail-bg: rgba(52, 211, 153, .1);--risk-detail-border: rgba(74, 222, 128, .38);--risk-detail-accent: #8ee6b4}[data-theme=dark] .risk-detail-panel.risk-attention,[data-theme=dark] .risk-detail-factor.risk-attention{--risk-detail-bg: rgba(234, 179, 8, .11);--risk-detail-border: rgba(234, 179, 8, .38);--risk-detail-accent: #f3d777}[data-theme=dark] .risk-detail-panel.risk-caution,[data-theme=dark] .risk-detail-factor.risk-caution,[data-theme=dark] .risk-detail-panel.risk-medium,[data-theme=dark] .risk-detail-factor.risk-medium{--risk-detail-bg: rgba(249, 115, 22, .12);--risk-detail-border: rgba(251, 146, 60, .42);--risk-detail-accent: #ffb36b}[data-theme=dark] .risk-detail-panel.risk-high-caution,[data-theme=dark] .risk-detail-factor.risk-high-caution,[data-theme=dark] .risk-detail-panel.risk-high,[data-theme=dark] .risk-detail-factor.risk-high{--risk-detail-bg: rgba(244, 63, 94, .11);--risk-detail-border: rgba(251, 113, 133, .42);--risk-detail-accent: #ff9fb0}.upload-box{align-items:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);display:grid;gap:8px;padding:24px;text-align:center}.upload-box .button-row{justify-content:center}.upload-box input[type=file]{display:none;justify-self:center;max-width:100%}.upload-preview{border-radius:var(--radius-md);justify-self:center;max-height:220px;max-width:min(100%,360px);object-fit:cover;width:100%}.upload-selected-file{display:grid;gap:8px;justify-items:center}.upload-selected-file strong{overflow-wrap:anywhere}.heic-preview-notice{background:var(--color-yellow-soft);color:var(--color-text);font-weight:800;justify-self:stretch}.ocr-card-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);display:grid;font-size:54px;min-height:160px;place-items:center}.warning-card{background:var(--color-yellow-soft);color:var(--color-yellow);font-weight:800}.field-error{color:var(--color-danger-dark);font-size:13px;font-weight:800}.phone-input-grid{display:grid;gap:8px;grid-template-columns:.8fr 1fr 1fr}.phone-input-grid input{background-color:var(--color-input-bg, var(--color-surface));color:var(--co <input value={loginId} onChange={(event) => { setLoginId(event.target.value); setLoginIdCheck(null); }} minLength={6} maxLength={40} required /> {fieldErrors.login_id && <span className="field-error">{fieldErrors.login_id}</span>} </label>lor-text);border:1px solid var(--color-border)}input::placeholder{color:color-mix(in srgb,var(--color-text) 50%,transparent);font-style:italic;font-size:14px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text)!important;box-shadow:0 0 0 1000px var(--color-surface) inset!important;transition:background-color 99999s ease-in-out 0s}.signup-verification-panel{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:10px;padding:14px}.signup-analysis-guide{display:grid;gap:6px}.signup-analysis-guide p{margin:0}.signup-complete-panel,.signup-ocr-choice{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:12px;padding:18px}.signup-complete-panel h2,.signup-complete-panel p,.signup-ocr-choice p{margin:0}.signup-ocr-choice{margin-top:16px}.signup-ocr-choice h2{display:block;margin-bottom:8px}.signup-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}.field-group{display:grid;gap:7px}.field-label{font-weight:800}.result-card{background:var(--color-card-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:10px;margin-top:16px;padding:16px}.result-card.success{border-color:var(--color-green)}.result-card p{color:var(--color-muted);margin:0}.day-button-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.day-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:10px}.day-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.upload-action-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.upload-action-button{align-items:center;background:var(--color-primary);border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;padding:12px 18px}.upload-action-button--disabled{background:var(--color-muted-surface);color:var(--color-muted);cursor:not-allowed;flex-direction:column;gap:4px;opacity:.7}.upload-action-button input{display:none}.upload-mobile-hint{align-items:center;background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-muted);display:inline-flex;font-size:13px;font-weight:800;justify-content:center;padding:12px 18px}.step-indicator{display:flex;align-items:center;margin-bottom:1.5rem}.step-indicator__item{display:flex;align-items:center;gap:8px}.step-indicator__circle{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;border:1.5px solid var(--color-border);color:var(--color-muted);background:var(--color-background-primary);flex-shrink:0}.step-indicator__circle--active{background:var(--color-text-primary);color:var(--color-background-primary);border-color:var(--color-text-primary)}.step-indicator__circle--done{background:#1d9e75;color:#fff;border-color:#1d9e75}.step-indicator__label{font-size:13px;color:var(--color-muted);white-space:nowrap}.step-indicator__label--active{font-weight:500;color:var(--color-text-primary)}.step-indicator__line{height:1px;background:var(--color-border);min-width:24px;max-width:60px;margin:0 6px}.ocr-result-table{display:grid;gap:10px;grid-template-columns:1fr 1fr}.ocr-result-row{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:220px minmax(0,1fr) 100px;min-width:0;padding:12px}.ocr-result-row span{align-items:center;display:flex;flex-wrap:wrap;gap:8px;font-weight:800}.ocr-medication-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.stepper{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.step{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted)}.step.active{background:var(--color-primary);color:#fff}.dialog-backdrop{align-items:center;background:#1118277a;display:grid;inset:0;padding:24px;position:fixed;z-index:50}.confirm-dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:14px;margin:0 auto;max-width:420px;padding:24px;width:100%}.help-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:20px;margin:0 auto;max-width:620px;padding:26px;width:100%}.help-dialog-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.help-dialog-header h2{margin:0 0 6px}.help-dialog-header p{color:var(--color-muted);margin:0}.help-close-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);flex-shrink:0}.occupation-help-list{display:grid;gap:12px}.occupation-help-item{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:5px;padding:15px}.occupation-help-item strong{color:var(--color-text);font-size:16px}.occupation-help-item span{color:var(--color-muted);font-size:15px}.profile-section{border-bottom:1px solid var(--color-border);display:grid;gap:14px;padding-bottom:22px}.profile-section:last-child{border-bottom:0;padding-bottom:0}.section-heading h3{margin-bottom:4px;font-size:20px}.section-heading p{color:var(--color-muted);margin:0}.profile-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary-item{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:4px;padding:12px}.profile-summary-item .value-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.profile-summary-item .value-row em{font-size:11px;padding:1px 6px}.profile-summary-item span{color:var(--color-muted);font-size:13px}.readonly-health-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.readonly-health-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:8px;padding:14px}.readonly-health-item .item-header{display:flex;align-items:center;gap:6px}.readonly-health-item .item-header span{color:var(--color-muted);font-size:13px;font-weight:700}.readonly-health-item .item-value-row{display:flex;align-items:center;justify-content:space-between}.readonly-health-item strong{font-size:18px}.readonly-calculated-field{border:1px solid rgba(79,138,91,.22);border-radius:var(--radius-md);display:grid;gap:8px;min-height:94px;padding:14px}.readonly-calculated-field span{color:var(--color-muted);font-size:13px;font-weight:800}.readonly-calculated-field strong{color:var(--color-text);font-size:24px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.readiness-card{display:grid;gap:12px}.analysis-readiness-panel{display:grid;gap:10px}.readiness-status{align-items:center;display:flex;font-size:14px;gap:8px;line-height:1.35}.readiness-status>span{background:currentcolor;border-radius:999px;flex:0 0 8px;height:8px;width:8px}.readiness-status strong{font-size:14px}.readiness-chip-list{gap:6px}.readiness-note{background:var(--color-muted-surface);font-size:13px;line-height:1.5;padding:12px}.readiness-note p{margin:0}.readiness-note .readiness-chip-list{margin-top:10px}.sticky-actions{background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;margin-top:20px;padding-top:16px;position:sticky}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);font-weight:800;padding:8px 12px}.filter-tab.active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.filter-tab:disabled{background:var(--color-muted-surface);color:var(--color-subtle);cursor:not-allowed;opacity:1}.diet-record-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:8px;padding:14px}.diet-record-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.diet-record-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.diet-record-footer{display:flex;justify-content:flex-end}.diet-record-summary{color:var(--color-muted);font-size:14px;margin:0}.manual-food-list{display:grid;gap:12px}.manual-food-row{align-items:end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:minmax(120px,1fr) minmax(100px,.8fr) minmax(120px,1fr) auto;padding:12px}.nutrition-input-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.challenge-icon{align-items:center;border-radius:var(--radius-md);display:inline-grid;font-size:21px;height:40px;justify-content:center;min-width:40px}.challenge-card-header{align-items:flex-start;display:flex;gap:10px}.challenge-card-header.compact{gap:10px}.challenge-card-header>div{display:grid;gap:4px;min-width:0}.challenge-card-header p{color:var(--color-muted);display:-webkit-box;font-size:13px;line-height:1.45;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.challenge-page-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 320px}.challenge-main-list,.my-challenge-panel{min-width:0}.my-challenge-panel{position:sticky;top:calc(var(--topbar-height) + 20px)}.challenge-list,.my-challenge-summary-list{display:grid;gap:10px}.challenge-list-card,.my-challenge-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:8px;padding:8px 12px}.challenge-list-card{grid-template-columns:minmax(0,1fr) 104px}.challenge-list-card .challenge-card-header,.challenge-list-card .challenge-card-meta,.challenge-list-card .challenge-date-meta,.challenge-list-card .challenge-progress,.challenge-list-card>.muted{grid-column:1}.challenge-card-meta{display:flex;flex-wrap:wrap;gap:6px}.challenge-card-meta .badge{font-size:11px;padding:5px 8px}.challenge-date-meta{color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:800;gap:6px 12px}.challenge-date-meta span{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;padding:5px 9px}.challenge-date-meta.compact{font-size:11px;gap:5px}.challenge-card-actions{align-content:center;display:grid;gap:6px;grid-column:2;grid-row:1 / span 3;min-width:104px}.challenge-card-actions .button,.challenge-card-actions button{font-size:12px;padding:8px 10px}.pagination-row,.challenge-calendar-header{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:14px}.challenge-summary-metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.challenge-summary-metrics>div{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:3px;padding:10px}.challenge-summary-metrics span{color:var(--color-muted);font-size:12px;font-weight:800}.challenge-summary-metrics strong{font-size:18px}.challenge-calendar-grid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:12px}.challenge-calendar-weekday{color:var(--color-muted);font-size:12px;font-weight:900;text-align:center}.challenge-calendar-cell{align-items:center;aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:grid;font-size:12px;justify-items:center;min-width:0;padding:5px}.challenge-calendar-cell.empty{background:transparent;border-color:transparent}.challenge-calendar-cell.today{border-color:var(--color-primary)}.challenge-calendar-cell.complete{background:var(--color-primary-soft)}.challenge-calendar-cell.partial{background:var(--color-yellow-soft)}.challenge-calendar-cell em{font-style:normal;line-height:1}.challenge-calendar-cell small{color:var(--color-yellow);font-weight:900}.compact-empty-state{background:var(--color-blue-soft);border-radius:var(--radius-md);color:var(--color-muted);font-size:14px;font-weight:800;padding:12px}.compact-button{font-size:13px;padding:8px 11px}.challenge-icon-large{overflow:hidden;align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);display:grid;font-size:60px;place-items:center}.challenge-icon-large img{width:100%;height:auto;max-height:600px;object-fit:contain;border-radius:var(--radius-xl)}.challenge-progress{display:grid;gap:8px}.challenge-log-grid{display:flex;flex-wrap:wrap;gap:8px}.challenge-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}@media(max-width:980px){.app-shell,.dashboard-grid,.dashboard-summary-strip,.metric-summary-grid,.dashboard-analysis-board,.dashboard-analysis-layout,.dashboard-insight-grid,.dashboard-helper-grid,.dashboard-primary-grid,.dashboard-support-grid,.dashboard-risk-grid,.dashboard-bottom-grid,.dashboard-sub-grid,.dashboard-challenge-cards,.challenge-compact-grid,.dashboard-chart-panels,.dashboard-chart-panel,.risk-stage-board,.challenge-page-layout,.hero-panel,.landing-preview-dashboard,.main-dashboard-grid,.page-grid,.landing-feature-grid,.persona-timeline,.persona-grid,.persona-step-grid,.preview-dashboard-grid,.family-invite-grid,.family-section-grid,.service-flow-strip,.shortcut-grid,.todo-card-grid,.tracking-grid,.notification-management-grid,.manual-food-row,.nutrition-input-grid,.metric-grid{grid-template-columns:1fr}.main-dashboard-hero{align-items:center;flex-direction:column}.home-action-panel{min-width:0;width:100%}.home-action-links{justify-content:flex-start}.dashboard-header{flex-direction:column}.dashboard-summary-strip,.metric-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-diet-summary,.dashboard-chart-panel,.analysis-history-row,.ocr-medication-card,.ocr-result-row,.table-row{grid-template-columns:1fr}.ocr-result-row{align-items:stretch}.ocr-result-row strong{justify-self:start}.quick-action-section{align-items:flex-start;flex-direction:column}.quick-action-row{justify-content:flex-start}.persona-timeline-item>em,.service-flow-item>em{bottom:-24px;right:auto;top:auto;transform:rotate(90deg)}.landing-cta{align-items:flex-start;flex-direction:column}.my-challenge-panel{order:-1;position:static}.challenge-list-card{grid-template-columns:1fr}.challenge-card-actions{grid-column:1;grid-row:auto}.notification-item{align-items:flex-start;grid-template-columns:auto minmax(0,1fr)}.notification-item>button{grid-column:2;justify-self:start}.notification-action-stack{grid-column:2;justify-items:start}.sidebar{display:none}.topbar{gap:12px;padding:0 14px}.brand{font-size:17px;min-width:0}.brand-mark{flex:0 0 32px;height:32px;width:32px}.navbar-actions{flex:0 0 auto;flex-wrap:nowrap;gap:6px;min-width:0}.nav-logout-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font-weight:700;gap:8px;padding:8px 12px;cursor:pointer;font-size:14px}.nav-logout-btn:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.desktop-nav-action{display:none}.mobile-core-action{font-size:13px;min-height:36px;padding:8px 10px}.theme-toggle{min-height:36px;padding:8px 10px}.theme-toggle-label{display:none}.navbar-notification-link,.mobile-menu-button{display:inline-flex;min-height:36px;padding:8px 10px}.mobile-menu-button{font-size:20px;justify-content:center;width:40px}.page{grid-column:1;padding:18px 14px 96px}.mobile-bottom-nav{align-items:center;background:color-mix(in srgb,var(--color-surface) 96%,transparent);border-top:1px solid var(--color-border);bottom:0;box-shadow:0 -10px 28px #0f172a1a;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;min-height:68px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:35}.mobile-bottom-nav-item{align-items:center;border-radius:10px;color:var(--color-muted);display:inline-flex;flex-direction:column;font-size:11px;font-weight:900;gap:3px;justify-content:center;line-height:1.15;min-height:52px;min-width:0;padding:6px 4px;text-align:center}.mobile-bottom-nav-item>span:first-child{font-size:17px;line-height:1}.mobile-bottom-nav-item.active{background:var(--color-primary-soft);color:var(--color-primary-dark)}.mobile-nav-backdrop{background:#0f172a6b;border:0;display:block;inset:0;padding:0;position:fixed;z-index:48}.mobile-nav-drawer{background:var(--color-surface);border-left:1px solid var(--color-border);bottom:0;box-shadow:-18px 0 40px #0f172a2e;display:flex;flex-direction:column;max-width:360px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));position:fixed;pointer-events:none;right:0;top:0;transform:translate(105%);transition:transform .18s ease;visibility:hidden;width:min(360px,calc(100vw - 36px));z-index:49}.mobile-nav-drawer-open{pointer-events:auto;transform:translate(0);visibility:visible}.mobile-nav-drawer-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.mobile-nav-drawer-header>div{display:grid;gap:4px;min-width:0}.mobile-nav-drawer-header strong{font-size:18px}.mobile-nav-drawer-header span{color:var(--color-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-drawer-links{display:grid;gap:16px;overflow-y:auto;padding:2px 2px 14px}.mobile-nav-section{display:grid;gap:8px}.mobile-nav-section h2{color:var(--color-subtle);font-size:12px;font-weight:900;letter-spacing:0;margin:4px 2px 0}.mobile-nav-section-links{display:grid;gap:8px}.mobile-drawer-link{align-items:center;background:var(--color-muted-surface);border:1px solid var(--color-border);border-radius:12px;color:var(--color-muted);display:flex;font-weight:900;gap:10px;min-height:46px;padding:10px 12px}.mobile-drawer-link.active{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 68%,var(--color-border));color:var(--color-primary-dark)}.mobile-nav-logout{margin-top:auto;width:100%}}@media(max-width:680px){.button-row{align-items:stretch}.button-row>.button,.button-row>button{flex:1 1 140px}.card{padding:16px}.card-header{align-items:stretch}.day-button-grid,.stepper,.upload-action-grid{grid-template-columns:1fr}.risk-stage-board{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-preview-dashboard{grid-template-columns:1fr}.filter-tabs{flex-wrap:nowrap;margin-inline:-2px;overflow-x:auto;padding:0 2px 4px}.filter-tab{flex:0 0 auto}.metric-grid strong,.stat-card strong{font-size:21px}.topbar{min-width:0}.upload-mobile-hint{width:100%}}@media(max-width:420px){.risk-stage-board{grid-template-columns:1fr}.brand{font-size:15px;gap:7px}.brand-mark{flex-basis:30px;height:30px;width:30px}.mobile-core-action,.navbar-notification-link,.theme-toggle{padding:7px 8px}}.viz-card-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.viz-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:10px;padding:18px}.viz-card-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.viz-card-label{color:var(--color-muted);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.viz-card-value{font-size:21px;font-weight:900}.viz-card-sub{color:var(--color-muted);font-size:13px}.viz-mini-bars{align-items:flex-end;display:flex;gap:4px;height:48px;margin-top:4px}.viz-mini-bar{background:var(--chart-green);border-radius:3px 3px 0 0;flex:1;min-height:4px;opacity:.82;transition:opacity .15s}.viz-mini-bar.accent{background:var(--chart-blue)}.viz-mini-bar.warn{background:var(--chart-gold)}.viz-mini-bar.danger{background:var(--color-danger);opacity:.7}.viz-sparkline-wrap{height:48px;margin-top:4px;overflow:visible;width:100%}.viz-sparkline-svg{height:100%;overflow:visible;width:100%}.viz-sparkline-fill{opacity:.12}.viz-ring-container{align-items:center;display:flex;gap:14px}.viz-ring-label{color:var(--color-muted);font-size:12px;font-weight:900;line-height:1.4}.viz-ring-value{font-size:18px;font-weight:900}.viz-ring-svg{flex-shrink:0;height:64px;width:64px}.viz-ring-track{fill:none;stroke:var(--color-muted-surface);stroke-width:8}.viz-ring-fill{fill:none;stroke:var(--chart-green);stroke-linecap:round;stroke-width:8;transform-origin:32px 32px;transform:rotate(-90deg)}.viz-empty{color:var(--color-subtle);font-size:13px}.viz-progress-label{align-items:center;display:flex;justify-content:space-between}.viz-progress-bar{background:var(--color-muted-surface);border-radius:999px;height:8px;overflow:hidden}.viz-progress-fill{background:var(--chart-green);border-radius:999px;height:100%}.viz-stat-row{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:8px;justify-content:space-between;padding-top:8px}.viz-stat-row span{color:var(--color-muted);font-size:14px}.viz-stat-row strong{font-size:16px}.sidebar-section-title{font-size:11px;font-weight:500;color:var(--color-muted);letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;margin:0;white-space:nowrap;overflow:hidden;max-height:0;opacity:0;transition:opacity .2s,max-height .2s}.sidebar:hover .sidebar-section-title,.sidebar:focus-within .sidebar-section-title{max-height:32px;opacity:1}.login-link{text-decoration:underline;text-underline-offset:3px}.med-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.notice-box{background:var(--color-muted-surface);border:.5px solid var(--color-border);border-radius:var(--border-radius-md);padding:.75rem 1rem;font-size:13px;color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:8px;margin-bottom:1rem}.notice-box i{font-size:16px;flex-shrink:0;margin-top:1px}.pill-tabs{display:flex;flex-wrap:wrap;gap:6px}.pill-tab{padding:4px 12px;border-radius:99px;font-size:12px;border:.5px solid var(--color-border);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer}.pill-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.diet-analysis-card{display:flex;flex-direction:column}.diet-analysis-card .card-header~*{display:flex;flex-direction:column;flex:1}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-border);cursor:pointer}.toggle-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:44px;height:24px;border-radius:999px;background:var(--color-border);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-row input[type=checkbox]:after{content:"";position:absolute;width:18px;height:18px;border-radius:999px;background:#fff;top:3px;left:3px;transition:left .2s}.toggle-row input[type=checkbox]:checked{background:var(--color-primary)}.toggle-row input[type=checkbox]:checked:after{left:23px}
