@charset "UTF-8";
:root{--bg:#f5f7f6;--surface:#fff;--text:#203d37;--muted:#62756f;--border:#dce5e0;--green:#175f52;--soft:#eaf3ed;--shadow:0 5px 24px #203d3705;font-family:"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:100%;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}body.dark{--bg:#14241f;--surface:#1c3029;--text:#edf6ef;--muted:#b6c8bd;--border:#40584b;--green:#92d9b7;--soft:#273f33;color-scheme:dark}body.dark button:not(.secondary):not(.text-button):not(.profile):not([data-period]){background:#92d9b7;color:#14241f}button,input,select,textarea{font:inherit}button,.button{border:1px solid transparent;border-radius:10px;background:var(--green);color:#fff;padding:12px 19px;font-weight:600;cursor:pointer;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:disabled{opacity:.5;cursor:wait}button:hover,.button:hover{filter:brightness(.94)}.secondary,.profile{background:var(--surface);border-color:var(--border);color:var(--text)}.text-button{padding:8px 0;background:none;color:var(--green);border:0}.danger{color:#ad3732}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ce8c21;outline-offset:4px}[hidden]{display:none!important}.demo-banner{background:#ecf0dc;color:#4e5f32;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-align:center;padding:8px}.demo-banner span{font-weight:400;letter-spacing:.02em}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 33px)}aside{border-right:1px solid var(--border);background:var(--surface);padding:35px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-weight:700;font-size:1.1rem;letter-spacing:-.03em}.brand small{font-size:.68rem;display:block;font-weight:400;letter-spacing:.02em;color:var(--muted)}.brand img{border-radius:14px}.nav-label{margin-top:52px;font-size:.62rem;letter-spacing:.13em;color:var(--muted);font-weight:700}nav{display:grid;gap:8px;margin-top:10px}nav a{display:flex;align-items:center;gap:13px;padding:13px 15px;color:var(--muted);font-weight:600;font-size:.9rem;border-radius:9px}nav a.active{background:var(--soft);color:var(--green)}.aside-note{margin-top:auto;padding-top:80px;font-size:.77rem}.aside-note strong{display:block}.aside-note p{color:var(--muted)}.shield{display:block;color:var(--green);font-size:2rem}.version{font-size:.65rem;color:var(--muted);padding-top:32px}main{width:100%;max-width:1440px;padding:30px 52px 0;margin:auto;align-self:start}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--border)}.eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.13em;color:var(--green)}header p{margin:6px 0 0;font-size:.8rem;color:var(--muted)}.header-controls{display:flex;gap:10px}.header-controls button{font-size:.8rem}.profile{border-radius:30px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:37px 0 28px}h1{font-size:2.05rem;line-height:1.15;letter-spacing:-.045em;margin:9px 0 12px;font-weight:650}h2{font-size:1.23rem;letter-spacing:-.025em;margin:10px 0 15px}h3{font-size:.97rem;font-weight:600;margin:0}.page-heading p{color:var(--muted);font-size:.88rem;margin:0}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:26px;box-shadow:var(--shadow)}.card-title{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600}.pill{font-size:.68rem;font-weight:400;background:var(--soft);padding:4px 10px;border-radius:20px;color:var(--green)}.big-value{font-size:4.2rem;font-weight:650;line-height:1.3;letter-spacing:-.065em;margin:10px 0 2px}.muted{color:var(--muted)}.last-card p{font-size:.77rem}.last-card .text-button{font-size:.82rem}.badge{font-size:.75rem;display:inline-block;line-height:1.5}.target{color:#24734c}.high{color:#a04723}.low{color:#335fa0}.neutral{color:var(--muted)}body.dark .target{color:#9ce5b7}body.dark .high{color:#ffbc8a}body.dark .low{color:#accdfd}.gentle{background:var(--soft);position:relative;overflow:hidden}.gentle:after{content:'♡';font-size:11rem;line-height:1;color:var(--green);opacity:.06;position:absolute;right:10px;top:25px;pointer-events:none}.gentle h2{font-size:1.65rem;line-height:1.25;max-width:85%;margin-top:18px}.gentle p{font-size:.8rem;color:var(--muted);max-width:90%}.gentle button{font-size:.8rem;margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px}.section-heading h2{margin:0}.section-heading a{font-size:.78rem}.chart-heading{display:flex;justify-content:space-between;align-items:center}.chart-heading span{font-size:.75rem}.stats{display:flex;gap:50px;margin:24px 0 4px}.stats small{font-size:.72rem;color:var(--muted);display:block}.stats strong{font-size:1.4rem;font-weight:600}.chart-wrap svg{display:block;width:100%;height:auto;min-height:160px}.gridline{stroke:var(--border);stroke-dasharray:4 5}.axis{font-size:11px;fill:var(--muted)}.chart-line{stroke:var(--green)}.dot{fill:var(--green);stroke:var(--surface);stroke-width:2}.dot.high{fill:#a04723}.dot.low{fill:#335fa0}.point-symbol{font-size:12px;fill:var(--text)}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.66rem;border-top:1px solid var(--border);padding-top:14px}.future-strip{margin:25px 0;padding:20px 0;display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--border)}.future-strip>span{font-size:.6rem;color:var(--muted);font-weight:700;letter-spacing:.1em}.future-strip p,.future-strip a{font-size:.77rem}.future-strip a{margin-left:auto}footer{padding:32px 0;font-size:.65rem;color:var(--muted)}footer span{padding:0 10px}.notice{padding:14px 18px;margin:16px 0;background:var(--soft);border-radius:9px;font-size:.88rem}.error,#form-error{color:#b0332d}.welcome{padding:65px 15px;max-width:800px}.welcome h1{font-size:3.4rem;margin-top:20px}.welcome p{color:var(--muted)}.login-actions{display:flex;gap:12px;margin:30px 0 15px}.fine{font-size:.72rem;color:var(--muted);margin-top:20px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.periods{display:flex;background:var(--surface);padding:5px;border:1px solid var(--border);border-radius:12px}.periods button{background:none;color:var(--muted);min-height:40px;padding:7px 17px}.periods .selected{background:var(--green);color:var(--surface)}.toolbar label{font-size:.75rem}.toolbar input{margin-top:3px}label{display:block;font-weight:600;font-size:.85rem;margin-bottom:17px}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);margin-top:7px;min-height:48px}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card{max-width:850px}.form-card h2:not(:first-child){margin-top:30px}.form-card p{font-size:.83rem}.check{display:flex;align-items:center;gap:12px}.check input{width:23px;height:23px;min-height:23px;accent-color:var(--green);margin:0}details{margin:12px 0 28px}summary{cursor:pointer;color:var(--green);font-size:.88rem;padding:10px 0}fieldset{border:1px solid var(--border);border-radius:9px;margin:15px 0;padding:18px}legend{font-size:.8rem;padding:0 8px}.measurement-row{display:flex;align-items:center;gap:24px;margin-bottom:12px;padding:20px 24px}.row-value{min-width:90px}.row-value strong{font-size:2rem;display:block}.row-value small{color:var(--muted)}.row-info{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.row-info strong{font-size:.84rem}.row-info span{font-size:.76rem}.row-info p{font-size:.82rem;margin:4px 0}.row-actions{margin-left:auto;display:flex;gap:16px}.row-actions button{font-size:.78rem}.export-actions{display:flex;gap:10px}.export-actions button,.export-actions .button{font-size:.78rem}#seed{margin-top:16px}.empty{padding:35px 0;color:var(--muted);font-size:.9rem}dialog{width:min(570px,calc(100% - 28px));max-height:90vh;overflow-y:auto;border:1px solid var(--border);border-radius:19px;padding:28px;background:var(--surface);color:var(--text)}dialog::backdrop{background:#122e2877;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-heading h2{margin:5px 0}.value-input{font-size:2rem;font-weight:600}.full{width:100%}#profile-dialog button{display:flex;width:100%;margin:12px 0}.simple .big-value{font-size:6rem}.simple .gentle,.simple .future-strip,.simple .aside-note{display:none}.simple .overview-grid{grid-template-columns:1fr}.simple button,.simple .button{font-size:1.1rem;min-height:60px}.simple .badge{font-size:1.15rem}.simple .row-value strong{font-size:3rem}.simple .last-card p{font-size:1rem}.simple .stats strong{font-size:1.8rem}
@media(min-width:1600px){main{padding:40px 70px}}@media(max-width:1100px){.shell{grid-template-columns:215px minmax(0,1fr)}aside{padding:26px 16px}main{padding:25px}.page-heading{align-items:flex-start}h1{font-size:1.8rem}.stats{gap:28px}.header-controls{flex-wrap:wrap;justify-content:flex-end}.overview-grid{gap:15px}.card{padding:22px}.row-actions{flex-direction:column;gap:4px}}
@media(max-width:760px){.shell{display:block}aside{padding:18px;border:0;border-bottom:1px solid var(--border)}.brand{font-size:1.05rem}.brand img{width:36px;height:36px}.nav-label,.aside-note,.version{display:none}nav{display:flex;gap:5px;margin-top:17px;overflow-x:auto}nav a{font-size:.76rem;padding:9px 10px;white-space:nowrap;min-height:44px;gap:6px}main{padding:22px 18px}header{padding-bottom:18px;align-items:flex-start}.eyebrow{font-size:.6rem}.header-controls button{font-size:.7rem;padding:8px 10px;min-height:44px}header>.header-controls{max-width:175px}.page-heading{margin:28px 0 22px;flex-direction:column;gap:18px}h1{font-size:1.9rem}.page-heading p{font-size:.82rem}.page-heading>button{width:100%}.overview-grid{grid-template-columns:1fr}.gentle h2{font-size:1.4rem}.section-heading{flex-wrap:wrap}.section-heading h2{font-size:1.1rem}.stats{gap:0;justify-content:space-between}.stats strong{font-size:1.25rem}.card{padding:20px}.chart-wrap{margin:12px -8px}.legend{gap:10px;font-size:.6rem}.toolbar{align-items:stretch;flex-direction:column}.toolbar label{margin:0}.periods button{flex:1;padding:7px 12px}.measurement-row{gap:15px;flex-wrap:wrap}.row-actions{flex-direction:row;width:100%;margin:5px 0 0}.row-actions button{flex:1}.row-value{min-width:70px}.row-info{flex:1}.form-grid{grid-template-columns:1fr;gap:0}.export-actions{width:100%}.export-actions>*{flex:1}.welcome{padding:35px 0}.welcome h1{font-size:2.3rem}.login-actions{flex-direction:column}footer{font-size:.6rem}.future-strip{gap:6px}.future-strip p{margin:7px 0}.future-strip a{margin-left:0}.demo-banner{font-size:.62rem;letter-spacing:.03em}.simple header{flex-direction:column}.simple header>.header-controls{max-width:none;width:100%}.simple .header-controls button{flex:1}.simple .big-value{font-size:5.5rem}.simple nav a{font-size:.85rem}.simple .row-info span{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.demo-banner,aside,header,footer,.page-heading>button,.toolbar,.row-actions,#seed,.export-actions,#notice,#login,dialog{display:none!important}.shell{display:block}main{padding:0;max-width:none}.page{display:none!important}#page-glucose{display:block!important}.card{box-shadow:none;break-inside:avoid}.measurement-row{padding:10px}.chart-wrap svg{max-height:220px}body{--bg:white;--surface:white;--text:#14241f;--muted:#44594f;background:white;color:#14241f}#authenticated[hidden]{display:none!important}}

body.dark .periods .selected{background:#92d9b7;color:#14241f}@media(max-width:760px){nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible}nav a{white-space:normal}}

.date-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.date-filters label{flex:1;min-width:150px;margin:0}.toolbar{flex-wrap:wrap}.time-meta{font-size:.75rem;color:var(--muted)}#date-filter-error{color:#b0332d}.simple .time-meta{font-size:.95rem}.simple #measurement-form input[type=date],.simple #measurement-form input[type=time]{font-size:1.15rem}a[aria-disabled=true]{opacity:.5;cursor:not-allowed}@media(max-width:760px){.date-filters{display:grid;grid-template-columns:1fr}.date-filters label{min-width:0}#measurement-form input[type=date],#measurement-form input[type=time]{font-size:1rem;width:100%;min-width:0}.toolbar .date-filters{width:100%}}
