:root{color:#17211b;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f3f7f4;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}#root{min-height:100vh}:root{--background:#f3f7f4;--surface:#fff;--surface-muted:#f7faf8;--border:#dce7df;--border-strong:#bfd1c4;--text:#17211b;--text-muted:#637067;--primary:#186b46;--primary-dark:#105337;--primary-soft:#e6f4ec;--danger:#a53232;--danger-soft:#fff0f0;--success:#16663f;--success-soft:#e8f7ef;--shadow:0 20px 60px #193a281a}.page-shell,.dashboard-shell{min-height:100vh;padding:32px 20px}.page-shell{place-items:center;display:grid}.dashboard-shell{width:min(920px,100%);margin:0 auto}.auth-card,.form-card,.loading-card{background:var(--surface);border:1px solid var(--border);width:min(100%,520px);box-shadow:var(--shadow);border-radius:24px}.auth-card{padding:36px}.form-card{padding:32px}.wide-card{width:min(100%,700px)}.loading-card{text-align:center;padding:44px}.brand-mark{background:var(--primary);color:#fff;border-radius:15px;place-items:center;width:48px;height:48px;font-size:30px;font-weight:400;display:grid}.auth-heading,.section-heading{margin:24px 0}.auth-heading h1,.section-heading h1,.section-heading h2,.dashboard-header h1{margin:4px 0 8px;line-height:1.15}.auth-heading h1,.section-heading h1{font-size:clamp(28px,6vw,38px)}.section-heading h2{font-size:26px}.auth-heading p,.section-heading p{color:var(--text-muted);margin:0;line-height:1.6}.eyebrow{letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750;color:var(--primary)!important}.form-stack{gap:20px;display:grid}.form-grid{gap:18px;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-group{gap:8px;display:grid}.field-group>span,.choice-section legend{font-size:14px;font-weight:700}input,select{width:100%;min-height:48px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;outline:none;padding:11px 13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #186b461f}input:disabled,select:disabled{color:#89928c;background:#edf1ee}.primary-button,.secondary-button,.text-button{border-radius:12px;min-height:48px;font-weight:750}.primary-button{color:#fff;background:var(--primary);border:1px solid var(--primary);padding:12px 18px}.primary-button:hover:not(:disabled){background:var(--primary-dark)}.primary-button:disabled{opacity:.6}.secondary-button{color:var(--primary);background:var(--surface);border:1px solid var(--border-strong);padding:12px 18px}.secondary-button:hover:not(:disabled){background:var(--primary-soft)}.text-button{color:var(--primary);background:0 0;border:0;padding:4px}.back-button{min-height:auto}.compact-button{min-height:42px;padding:9px 14px}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;margin:24px 0 18px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{background:var(--border);content:"";flex:1;height:1px}.message{border-radius:11px;padding:12px 14px;font-size:14px;line-height:1.5}.error-message{color:var(--danger);background:var(--danger-soft);border:1px solid #f1caca}.success-message{color:var(--success);background:var(--success-soft);border:1px solid #bfe5cf}.choice-section{border:0;min-width:0;margin:0;padding:0}.choice-section legend{margin-bottom:10px}.choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-card{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;border-radius:13px;align-items:flex-start;gap:11px;min-width:0;padding:14px;display:flex}.choice-card:has(input:checked){background:var(--primary-soft);border-color:var(--primary)}.choice-card input{width:18px;min-height:18px;accent-color:var(--primary);margin-top:2px}.choice-card span{gap:3px;display:grid}.choice-card small{color:var(--text-muted);line-height:1.35}.measurement-panel{background:var(--surface-muted);border:1px solid var(--border);border-radius:15px;padding:18px}.measurement-panel h2,.measurement-panel h3{margin:0 0 15px;font-size:17px}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.dashboard-header h1{font-size:clamp(28px,5vw,40px)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:19px;justify-content:space-between;align-items:flex-start;gap:18px;min-height:166px;padding:22px;display:flex;box-shadow:0 10px 30px #193a280f}.summary-card>div:first-child{gap:7px;display:grid}.summary-card p{color:var(--text-muted);margin:0;font-size:14px}.summary-card strong{font-size:30px;line-height:1.2}.summary-card small{color:var(--text-muted)}.summary-count{white-space:nowrap;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.empty-value{color:var(--text-muted);font-size:18px}.dashboard-form-card{width:100%}.loading-spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin:0 auto 18px;animation:.7s linear infinite spin}.loading-card p{color:var(--text-muted);margin:0}.startup-error{z-index:10;max-width:700px;color:var(--danger);background:var(--danger-soft);text-align:center;border:1px solid #f1caca;border-radius:12px;margin:0 auto;padding:12px 15px;position:fixed;top:16px;left:16px;right:16px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.page-shell,.dashboard-shell{padding:18px 14px}.auth-card,.form-card{border-radius:19px;padding:24px 20px}.two-columns,.choice-row,.summary-grid{grid-template-columns:1fr}.dashboard-header{align-items:flex-start}.dashboard-header .compact-button{white-space:nowrap}.summary-card{min-height:140px}}.history-section{margin-top:26px}.history-heading{margin-bottom:18px}.history-grid{gap:18px;display:grid}.history-card{background:var(--surface);border:1px solid var(--border);border-radius:19px;overflow:hidden;box-shadow:0 10px 30px #193a280f}.history-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.history-card-header h3{margin:0 0 5px;font-size:19px}.history-card-header p{color:var(--text-muted);margin:0;font-size:14px}.history-table-wrap{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;min-width:560px}.history-table th,.history-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 18px}.history-table th{color:var(--text-muted);background:var(--surface-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.history-table td{font-size:15px}.history-table tr:last-child td{border-bottom:0}.history-table strong{color:var(--text)}.history-empty{color:var(--text-muted);background:var(--surface-muted);padding:28px 22px}.history-empty p{margin:0}@media (width<=680px){.history-card-header{padding:18px}.history-table-wrap{overflow-x:auto}.history-table{min-width:360px}.history-table th,.history-table td{padding:13px 14px}.mobile-hidden-column{display:none}.history-line-chart{min-height:360px}.chart-axis-label{font-size:11px}.chart-line{stroke-width:3px}.chart-point{r:4.5}.chart-hint{padding-left:16px;font-size:12px}}.history-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.history-controls{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.segmented-control-group{gap:7px;display:grid}.segmented-control-group>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.segmented-control{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;padding:4px;display:inline-flex}.segmented-button{min-height:34px;color:var(--text-muted);background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800}.segmented-button.active{color:#fff;background:var(--primary)}.chart-wrap{touch-action:pan-y;padding:18px 18px 20px}.history-line-chart{width:100%;height:auto;min-height:340px;display:block;overflow:visible}.chart-grid-line{stroke:#63706747;stroke-width:.85px}.chart-axis-line{stroke:var(--border-strong);stroke-width:1.3px}.chart-axis-label{fill:var(--text-muted);font-size:12px;font-weight:650}.chart-line{stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.chart-line-1{stroke:var(--primary)}.chart-line-2{stroke:#c26a21}.chart-point{stroke:var(--surface);stroke-width:2px}.chart-point-1{fill:var(--primary)}.chart-point-2{fill:#c26a21}.chart-legend{flex-wrap:wrap;gap:14px;margin-top:10px;padding-left:36px;display:flex}.chart-legend-item{color:var(--text-muted);align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.chart-legend-dot{border-radius:999px;width:10px;height:10px}.chart-legend-dot-1{background:var(--primary)}.chart-legend-dot-2{background:#c26a21}.chart-active-line{stroke:#186b4647;stroke-width:1.4px;stroke-dasharray:5 5}.chart-point-active{filter:drop-shadow(0 3px 6px #193a2840)}.chart-tooltip-box{fill:#fffffff5;stroke:var(--border-strong);stroke-width:1px;filter:drop-shadow(0 8px 18px #193a282e)}.chart-tooltip-title{fill:var(--text);font-size:13px;font-weight:800}.chart-tooltip-text{fill:var(--text);font-size:13px;font-weight:700}.chart-tooltip-muted{fill:var(--text-muted);font-size:12px;font-weight:650}.chart-hint{color:var(--text-muted);margin:10px 0 0;padding-left:36px;font-size:12px}@media (width<=680px){.history-heading{gap:18px;display:grid}.history-controls{justify-content:flex-start}.segmented-control{width:100%}.segmented-button{flex:1}.chart-wrap{padding:14px 10px 18px}.chart-legend{padding-left:16px}}.reference-controls{gap:7px;display:grid}.reference-controls>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.reference-input-row{gap:8px;display:flex}.reference-input-row label{color:var(--text-muted);gap:5px;font-size:12px;font-weight:750;display:grid}.reference-input-row input{border-radius:10px;width:92px;min-height:36px;padding:7px 9px}.chart-reference-line{stroke-width:1.8px;stroke-dasharray:6 6}.chart-reference-line-1{stroke:#d64545f2}.chart-reference-line-2{stroke:#1f6febf2}.chart-reference-label{font-size:12px;font-weight:800}.chart-legend-dash{background:repeating-linear-gradient(90deg,currentColor 0 7px,#0000 7px 11px);border-radius:999px;width:44px;height:3px;display:inline-block}.chart-legend-dash-1{color:#d64545}.chart-legend-dash-2{color:#1f6feb}@media (width<=680px){.chart-tooltip-title{font-size:16px}.chart-tooltip-text{font-size:15px}.chart-tooltip-muted{font-size:13px}.reference-input-row{width:100%}.reference-input-row label{flex:1}.reference-input-row input{width:100%}}.chart-average-line{stroke-width:1.2px;stroke-linecap:round}.chart-average-line-1{stroke:#111827e6}.chart-average-line-2{stroke:#7c3aedeb}.chart-legend-average{background:currentColor;border-radius:999px;width:44px;height:2px;display:inline-block}.chart-legend-average-1{color:#111827}.chart-legend-average-2{color:#7c3aed}.history-average-strip{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.history-average-pill{width:fit-content;color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:750;display:inline-flex}.history-average-pill strong{color:var(--text)}.chart-average-label{fill:var(--text-muted);letter-spacing:.01em;dominant-baseline:middle;font-size:10px;font-weight:850}.chart-average-label-1{fill:#111827}.chart-average-label-2{fill:#7c3aed}@media (width<=680px){.chart-average-label{font-size:8.5px}}.chart-scroll{overflow-x:visible}@media (width<=680px){.chart-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -10px;padding:0 10px 8px;overflow:auto visible}.chart-scroll .history-line-chart{width:800px;min-width:800px;max-width:none;min-height:410px}.chart-wrap{touch-action:auto}}
