:root{color:#17201a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit}#app{min-height:100vh}.auth-page{background:linear-gradient(135deg,#37725f1f,#0000 42%),linear-gradient(315deg,#28536b1f,#0000 38%),#f7f8f4;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel,.panel{background:#fff;border:1px solid #d9ded4;border-radius:8px;width:min(100%,460px);box-shadow:0 18px 50px #1b2b2014}.auth-panel{padding:28px}.auth-panel.wide{width:min(100%,720px)}.auth-panel h1,.page-header h1{color:#17201a;letter-spacing:0;margin:0;font-size:32px;font-weight:700}.auth-panel h1{margin-bottom:24px}.auth-toolbar{justify-content:flex-end;margin-bottom:18px;display:flex}.form-stack,.form-grid{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-section{border-top:1px solid #e5e9e0;gap:12px;padding-top:18px;display:grid}.registration-section:first-child{border-top:0;padding-top:0}.registration-section h2{color:#617061;letter-spacing:0;text-transform:uppercase;margin:0;font-size:13px;font-weight:750}.registration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}label{color:#344238;gap:6px;font-size:14px;font-weight:650;display:grid}input,select{color:#17201a;background:#fff;border:1px solid #ccd3c7;border-radius:6px;width:100%;min-height:42px;padding:8px 10px}input:focus,select:focus{border-color:#37725f;outline:3px solid #37725f29}input.invalid-field,select.invalid-field{background:#fff7f7;border-color:#bd3b3b}input.invalid-field:focus,select.invalid-field:focus{border-color:#bd3b3b;outline-color:#bd3b3b2e}.primary-button,.ghost-button{border-radius:6px;min-height:40px;padding:8px 14px;font-weight:700}.primary-button{color:#fff;background:#28536b;border:1px solid #28536b}.primary-button:hover{background:#1f4357}.ghost-button{color:#17201a;background:#fff;border:1px solid #ccd3c7}.ghost-button:hover{background:#f4f6f1;border-color:#8c9a88}.auth-links{color:#28536b;justify-content:space-between;gap:12px;margin-top:18px;font-size:14px;font-weight:650;display:flex}.form-error,.form-success{border-radius:6px;margin:0;padding:10px 12px;font-size:14px;font-weight:650}.form-error{color:#842c2c;background:#fdecec}.form-success{color:#236044;background:#eaf6ef}.full-width{grid-column:1/-1}.app-shell{background:#f7f8f4;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #d9ded4;align-items:center;gap:24px;min-height:64px;padding:0 24px;display:flex}.brand{color:#17201a;font-size:20px;font-weight:800;text-decoration:none}.main-nav{flex:1;align-items:center;gap:6px;display:flex}.main-nav a{color:#485548;border-radius:6px;padding:8px 10px;font-size:14px;font-weight:700;text-decoration:none}.main-nav a:hover,.main-nav a.router-link-active{color:#17201a;background:#edf1ea}.language-select{white-space:nowrap;grid-template-columns:auto auto;align-items:center;gap:8px}.language-select select{width:auto;min-height:36px;padding:6px 28px 6px 8px}.app-main{width:min(100%,1040px);margin:0 auto;padding:32px 24px}.page-header{gap:6px;margin-bottom:24px;display:grid}.page-header p{color:#617061;white-space:pre-line;margin:0}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.action-card{min-height:150px;color:inherit;background:#fff;border:1px solid #d9ded4;border-radius:8px;align-content:start;gap:8px;padding:20px;text-decoration:none;display:grid}.action-card:hover{border-color:#8c9a88}.action-card h2,.panel h2{color:#17201a;letter-spacing:0;margin:0;font-size:20px}.action-card p,.panel p{color:#617061;margin:0}.panel{width:100%;margin-bottom:20px;padding:20px}.toolbar{grid-template-columns:repeat(2,minmax(0,180px)) auto auto;align-items:end;gap:16px;margin-bottom:20px;display:grid}.toolbar-action{justify-self:start}.checkbox-label{align-items:center;gap:8px;min-height:40px;font-weight:700;display:flex}.checkbox-label input{width:16px;height:16px;min-height:auto}.chart-range-toolbar{margin-bottom:14px}.chart-option-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.chart-frame{width:100%;overflow-x:auto}.weight-chart{width:100%;min-width:560px;height:auto;display:block}.chart-grid{stroke:#e5e9e0;stroke-width:1px}.chart-axis{stroke:#8c9a88;stroke-width:1.25px}.chart-axis-label{fill:#617061;font-size:12px;font-weight:650}.chart-bmi-band{opacity:.55}.chart-bmi-band-normal{fill:#7ccf92}.chart-bmi-band-overweight{fill:#eadb76}.chart-bmi-band-obesity-1{fill:#f2a766}.chart-bmi-band-obesity-2{fill:#ef6f6f}.chart-bmi-boundary{stroke:#8c6b42;stroke-dasharray:6 5;stroke-width:1.2px}.chart-bmi-label{fill:#5e4b32;font-size:9px;font-weight:750}.chart-year-line{stroke:#aeb8a8;stroke-dasharray:5 5;stroke-width:1.25px}.chart-year-label{fill:#617061;font-size:12px;font-weight:800}.chart-line{fill:none;stroke:#28536b;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-point{fill:#fff;stroke:#28536b;stroke-width:2px}.chart-target-line{stroke:#2f8f5b;stroke-dasharray:7 6;stroke-linecap:round;stroke-width:2px}.chart-target-label{fill:#236044;font-size:12px;font-weight:800}.chart-point-hitarea{cursor:crosshair}.chart-point-hitarea:hover .chart-point,.chart-point-hitarea:focus .chart-point{fill:#28536b}.chart-hit-circle{fill:#0000;stroke:#0000}.chart-hover-line{stroke:#8c9a88;stroke-dasharray:4 4;stroke-width:1px}.chart-tooltip-box{fill:#17201a;opacity:.94}.chart-tooltip-title{fill:#fff;font-size:13px;font-weight:800}.chart-tooltip-value{fill:#dce6d9;font-size:12px;font-weight:700}.empty-state{color:#617061;text-align:center;border:1px dashed #ccd3c7;border-radius:8px;place-items:center;min-height:180px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.metric-badge{color:#28536b;white-space:nowrap;background:#e8f0f4;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:800}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card{background:#fbfcf8;border:1px solid #e5e9e0;border-radius:8px;gap:4px;padding:14px;display:grid}.metric-card span,.metric-card small{color:#617061;font-size:13px;font-weight:700}.metric-card strong{color:#17201a;font-size:24px;line-height:1.1}.insight-list{gap:8px;display:grid}.insight-list p{margin:0}.insight-list a{color:#28536b;font-weight:800}.inline-form{grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.bmi-underweight,.bmi-normal{color:#236044;background:#eaf6ef}.bmi-overweight{color:#775b14;background:#fff3c4}.bmi-obesity_class_1,.bmi-obesity_class_2,.bmi-obesity_class_3{color:#842c2c;background:#fdecec}.data-table{border-collapse:collapse;width:100%;margin-top:16px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e9e0;padding:12px 8px}.data-table th{color:#617061;font-size:13px}.table-actions{text-align:right}@media (width<=720px){.form-grid,.content-grid,.toolbar,.metric-grid,.inline-form,.registration-fields{grid-template-columns:1fr}.toolbar-action{justify-self:stretch}.app-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.main-nav{flex-wrap:wrap}.app-main{padding:24px 16px}}
