:root{--ink:#254239;--muted:#768370;--teal:#174c43;--paper:#f7f8f3;--line:#e5eade;--coral:#bb6551;--blue:#567f9b;--gold:#a48234;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-family:var(--font);color:var(--ink);background:var(--paper);color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.chart-scroll:focus-visible{outline:3px solid #9bc5b0;outline-offset:3px}input,select{color:var(--ink);min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 12px;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650}h2{font-size:22px;letter-spacing:-.7px}.muted{color:var(--muted)}.overline{font-size:10px;font-weight:700;letter-spacing:2px;color:#84937c}.icon{display:inline-block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:-.8px}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:600;margin-top:5px;color:#82917c}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--teal);color:#f6fbef}.brand-mark .icon{width:28px;height:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 16px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button:hover:not(:disabled){background:#eef2e9}.button.primary:hover:not(:disabled){background:#246254}.button .icon{width:17px;height:17px}.icon-button{padding:10px;min-width:42px}
.login-screen{max-width:1310px;margin:auto;padding:42px 64px 25px;min-height:100dvh;display:flex;flex-direction:column}.login-header{display:flex;align-items:center;justify-content:space-between}.header-note{font-size:13px;color:var(--muted)}.login-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center;flex:1;padding:60px 0 65px}.login-intro>.overline{letter-spacing:4px;font-size:12px}.login-intro h1{font-size:clamp(42px,4.5vw,68px);font-weight:600;line-height:1.35;letter-spacing:-3px;margin:22px 0}.login-intro h1 span{color:#7d9477}.login-intro>p{font-size:17px;line-height:1.95;color:#788872}.login-art{margin-top:48px;padding:20px 24px;background:#eff3e8;border:1px solid #e3eadc;border-radius:18px;transform:rotate(-2deg)}.art-caption{font-size:12px;letter-spacing:1px;color:#6d8271}.art-curve{width:100%;height:135px;overflow:visible;margin-top:8px}.art-grid{stroke:#dce4d5;stroke-width:1;fill:none;stroke-dasharray:3 5}.art-area{fill:#dfe9d5}.art-line{stroke:#789669;stroke-width:3;fill:none}.art-curve circle{fill:#f5f8ed;stroke:#789669;stroke-width:3}.art-periods{display:flex;justify-content:space-between;color:#84967c;font-size:12px}.login-card{background:#fff;border:1px solid #e7eae0;box-shadow:0 20px 70px #23463208;border-radius:23px;padding:40px 36px}.login-lock{display:grid;place-items:center;background:#edf3e7;color:var(--teal);width:51px;height:51px;border-radius:15px;margin-bottom:30px}.login-lock .icon{width:24px;height:24px}.login-card h2{font-size:26px;margin:12px 0}.login-card>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:32px}.login-card label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.login-card input{width:100%;min-height:53px;background:#fafbf7;font-size:16px}.login-button{width:100%;min-height:52px;margin-top:17px;justify-content:space-between;font-size:15px}.login-private{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:30px;color:#879183;font-size:12px;line-height:1.8}.login-private .icon{width:16px;height:16px}.login-footer{display:flex;justify-content:space-between;font-size:12px;color:#8c9887;border-top:1px solid var(--line);padding-top:22px}
.sidebar{position:fixed;top:0;left:0;bottom:0;width:230px;padding:35px 24px;background:#f0f3ea;border-right:1px solid #e4e9df;display:flex;flex-direction:column;overflow-y:auto;z-index:5}.sidebar>.brand{margin-bottom:43px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:6px;border-radius:10px;font-size:14px;font-weight:550;color:#75866e}.nav-item.active{background:#e1eadb;color:#315c46}.nav-item:hover{background:#e5ecdf}.nav-dot{width:5px;height:5px;background:#527954;border-radius:50%;margin-left:auto}.sidebar-label{font-size:11px;color:#8b9685;font-weight:600;letter-spacing:2px;margin:30px 11px 15px;display:flex;justify-content:space-between}.member-list{display:grid;gap:6px}.member-button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:10px;background:transparent;padding:10px 11px;text-align:left;color:var(--ink)}.member-button.selected{background:#fff;box-shadow:0 2px 7px #3f513805}.member-button:hover:not(.selected){background:#e7eddf}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#e5ebdc;color:#69835b;font-size:12px;font-weight:700;flex-shrink:0}.member-button:nth-child(3n) .avatar{background:#f0e6dd;color:#a48566}.member-button:nth-child(3n+1) .avatar{background:#dde9e9;color:#5c8990}.member-copy{min-width:0;flex:1}.member-copy strong{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-copy small{font-size:11px;display:block;color:#87967e;margin-top:4px}.member-count{font-size:11px;color:#929d8e;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;padding-top:35px}.family-note{background:#e3ead7;border:1px solid #d9e4cc;border-radius:13px;padding:21px 18px;color:#647f52}.family-note>.icon{display:block;width:23px;height:23px;margin-bottom:16px}.family-note strong{font-size:13px;font-weight:600}.family-note p{font-size:12px;line-height:1.9;color:#839776;margin-top:10px}.logout-button{display:flex;align-items:center;gap:11px;border:0;background:transparent;font-size:13px;padding:22px 12px 0;color:#819080}
.main-content{margin-left:230px;padding:34px 36px 23px;max-width:1870px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.dashboard-header h1{font-size:30px;letter-spacing:-1px;line-height:1.5;margin-top:5px}.subtitle{font-size:13px;color:#7d8b74;margin-top:5px}.header-actions{display:flex;align-items:center;gap:10px}.today{font-size:12px;color:#83917a;margin-right:10px;white-space:nowrap}.filter-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:24px}.range-switch,.mode-switch{display:inline-flex;padding:4px;background:#edf0e7;border-radius:9px;gap:2px}.range-switch button,.mode-switch button{border:0;background:transparent;color:#77856f;min-height:32px;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap}.range-switch button.selected,.mode-switch button.selected{color:#36593f;background:#fff;box-shadow:0 2px 4px #23432608;font-weight:650}.date-fields{display:flex;align-items:center;gap:8px;margin-left:auto}.date-fields>span{color:#adb7a3;font-size:11px}.date-fields>.icon{width:16px;height:16px;color:#82937a}.date-fields input{background:transparent;border:0;min-width:123px;width:125px;padding:7px 1px;min-height:36px;font-size:12px}.apply-button{min-height:35px;padding:8px 12px;font-size:12px;background:transparent}.filter-bar>select{min-height:36px;padding:8px 12px;font-size:12px;max-width:170px;background:transparent}
.summary-grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:16px;margin-bottom:24px}.latest-card{background:var(--teal);color:#fff;border-radius:15px;padding:23px 24px;min-height:195px;position:relative;overflow:hidden}.card-label{display:flex;align-items:center;gap:8px;color:#d6e8d9;font-size:12px;position:relative;z-index:1}.live-dot{width:6px;height:6px;border-radius:50%;background:#b9d1a0}.latest-member{margin-left:auto;font-size:11px;color:#c0d9b7;max-width:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.latest-pressure{font-size:48px;font-weight:600;letter-spacing:-2px;line-height:1.6;font-variant-numeric:tabular-nums;position:relative;z-index:1;white-space:nowrap}.latest-pressure span{color:#88b3a5;font-weight:350;font-size:34px;margin:0 4px}.latest-pressure small{font-size:11px;font-weight:400;letter-spacing:0;color:#a9c6b7;margin-left:10px}.latest-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d0e1d1;line-height:1.8;position:relative;z-index:1;font-size:11px;flex-wrap:wrap}.latest-footer>div{font-size:12px}.latest-footer>span{white-space:nowrap}.latest-decoration{position:absolute;right:-5px;top:62px;width:125px;opacity:.08;fill:none;stroke:#fff;stroke-width:2}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px 22px 14px;overflow:hidden}.stat-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#76846d}.stat-heading .icon{width:18px;height:18px;opacity:.7}.stat-number{display:flex;gap:8px;align-items:baseline;margin:15px 0 7px}.stat-number strong{font-size:38px;font-weight:600;letter-spacing:-1.5px;line-height:1.2;font-variant-numeric:tabular-nums}.stat-number span{font-size:11px;color:#909c82}.stat-card p{font-size:11px;color:#8b977d}.mini-trend{width:100%;height:26px;margin-top:12px;overflow:visible}.coral{color:var(--coral)}.blue{color:var(--blue)}.gold{color:var(--gold)}
.visual-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 26px 0}.panel-heading h2{font-size:21px;letter-spacing:-.6px;margin:7px 0}.panel-heading p{font-size:12px;color:#84927a;line-height:1.7}.chart-settings{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.chart-settings select{font-size:11px;min-height:32px;padding:7px 8px}.mode-switch{padding:3px}.mode-switch button{font-size:11px;min-height:28px;padding:7px 9px}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 26px 0;min-height:37px;font-size:11px;color:#77886c}.legend-item{display:flex;align-items:center;gap:6px}.legend-item svg{width:22px;height:7px}.chart-wrap{padding:4px 15px 0;min-height:250px}.chart-scroll{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d6decf transparent;border-radius:8px;overscroll-behavior-x:contain}.chart{display:block;height:250px;touch-action:pan-x;user-select:none}.chart-axis{font-family:var(--font);font-size:11px;fill:#909e83}.chart-grid{stroke:#edf0e9;stroke-width:1;stroke-dasharray:3 5}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-point{stroke:#fff;stroke-width:2;cursor:pointer}.chart-cursor{stroke:#9eaf95;stroke-dasharray:3 4}.chart-highlight{fill:#fff;stroke-width:2.5}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;text-align:center;color:#849877;padding:20px}.chart-empty>.icon{width:35px;height:35px;margin-bottom:15px;color:#b4c5a6}.chart-empty h3{font-size:15px;font-weight:550}.chart-empty p{font-size:12px;line-height:1.8;margin-top:10px}.chart-inspector{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 25px 0;padding:14px 0;border-top:1px solid #f0f2ea;min-height:62px}.chart-detail{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;font-size:12px;min-width:0}.chart-detail strong{font-weight:650;color:#4e6351}.detail-time{color:#788d6e;white-space:nowrap}.detail-count{color:#8a9a7c;font-size:11px}.detail-reading{display:inline-flex;align-items:center;gap:4px;font-size:11px}.detail-reading b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.point-navigation{display:flex;gap:6px;flex-shrink:0}.point-navigation button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:7px;color:#7f9475;font-size:14px}.chart-footnote{padding:0 25px 18px;font-size:10px;color:#8d9a7e;line-height:1.7}.heading-icon{color:#adb88f;align-self:flex-start;margin-top:16px}.period-panel .panel-heading{padding:25px 23px 0}.period-panel h2{font-size:19px}.period-row{padding:15px 0;border-bottom:1px solid #eef1e9;margin:0 23px}.period-row:first-child{margin-top:8px}.period-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#79906c}.period-name{display:flex;align-items:center;gap:8px}.period-name .icon{width:15px;height:15px}.period-title small{font-size:11px;color:#8d9b7f}.period-values{display:flex;gap:6px;align-items:baseline;margin:9px 0 10px;font-size:21px;color:#52664e;font-weight:550;font-variant-numeric:tabular-nums}.period-values span{font-size:10px;font-weight:400;color:#88987a;margin-left:3px}.period-values .pulse{margin-left:auto;font-size:12px;color:#a48f64}.period-bar{height:4px;border-radius:3px;background:#f0f3e8;overflow:hidden}.period-bar>span{display:block;height:100%;border-radius:3px;background:#c3d2ae}.afternoon .period-bar>span{background:#dbc89f}.evening .period-bar>span{background:#b5c8cc}.period-summary{display:flex;align-items:baseline;gap:7px;margin:19px 23px 0}.period-summary strong{font-size:25px;font-weight:550;color:#758a65}.period-summary span{font-size:10px;color:#8d9a7f}.period-summary span:last-child{margin-left:auto}.period-footnote{font-size:10px;color:#94a084;margin:12px 23px 20px;line-height:1.8}
.history-panel .panel-heading{padding-bottom:22px}.count-badge{font-size:12px;border:1px solid #e6ecdf;background:#f6f8ef;color:#7b8e67;border-radius:7px;padding:7px 11px;white-space:nowrap}.records-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;table-layout:fixed}.records-table thead{background:#f9faf5;border-top:1px solid #eff2e9;border-bottom:1px solid #eff2e9}.records-table th{font-weight:550;color:#869577;font-size:12px;padding:13px 10px}.records-table th small{font-size:9px;font-weight:400;color:#97a18c;display:block;margin-top:4px}.records-table td{padding:16px 10px;border-bottom:1px solid #f0f2eb;vertical-align:middle}.records-table th:first-child,.records-table td:first-child{padding-left:26px;width:25%}.records-table th:nth-child(2){width:13%}.records-table th:nth-child(3),.records-table th:nth-child(4),.records-table th:nth-child(5){width:11%}.records-table th:nth-child(6){width:23%}.records-table th:last-child{width:6%}.records-table tbody tr:hover{background:#fafbf6}.record-date{display:block;font-size:13px;font-weight:550;color:#5d7156;margin-bottom:7px}.record-clock{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:600;color:#4e6550;font-variant-numeric:tabular-nums}.period-tag{font-size:10px;font-weight:450;padding:3px 6px;border-radius:4px;color:#7a8e59;background:#f1f5e7}.period-tag.afternoon{background:#f9f3e7;color:#9b8557}.period-tag.evening,.period-tag.night{background:#edf2f5;color:#718d9a}.record-member{display:flex;align-items:center;gap:7px;font-size:12px;color:#6f8562;overflow-wrap:anywhere}.record-member .avatar{height:25px;width:25px;border-radius:7px;font-size:9px}.record-value{font-size:22px;font-weight:600;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.record-source{font-size:11px;color:#8d9b7e}.record-note{margin-top:6px;color:#7f9171;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-detail{border:0;width:30px;height:30px;border-radius:7px;background:#f3f6ed;color:#8a9f77;font-size:18px}.records-empty{padding:50px 22px;color:#819672;font-size:14px;text-align:center}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px}.pager>span{font-size:12px;color:#849676}.pager>div{display:flex;gap:8px}.pager .button{font-size:12px;min-height:36px;padding:8px 11px}.dashboard-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:25px 2px 0;color:#8e9c81;font-size:11px}.dashboard-footer>span:first-child{display:flex;align-items:center;gap:6px}.dashboard-footer .icon{width:13px;height:13px}.dashboard-footer>p{flex-basis:100%;text-align:center;margin-top:5px;font-size:10px;line-height:1.8}.message{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(90vw,560px);z-index:30;background:#fff6ef;border:1px solid #e5cfb9;box-shadow:0 6px 25px #243b2112;border-radius:12px;padding:14px 20px;color:#9b6552;font-size:13px;line-height:1.8}
.record-dialog{color:var(--ink);background:#fff;max-width:500px;width:calc(100% - 32px);padding:28px;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 100px #152e2a25}.record-dialog::backdrop{background:#1b302b70;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-heading button{font-size:24px;border:0;background:#f2f5ed;border-radius:8px;width:35px;height:35px;color:#859877}.record-dialog h2{font-size:24px;margin-bottom:10px}.dialog-time{color:#788d6e;font-size:14px;line-height:1.8}.dialog-readings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.dialog-reading{padding:15px 12px;background:#f8faf3;border-radius:10px}.dialog-reading span{display:block;font-size:12px;color:#849974}.dialog-reading strong{display:block;font-size:30px;letter-spacing:-1px;margin:9px 0}.dialog-reading small{font-size:10px;color:#8d9d7f}.dialog-note{font-size:14px;color:#74876b;background:#fafbf6;padding:17px;border-radius:10px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.dialog-source{font-size:12px;color:#899b76;margin-top:17px}.dashboard-shell[aria-busy=true] #reload .icon{animation:turn 1s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.main-content{padding:42px 54px}.summary-grid{gap:22px}.latest-pressure{font-size:56px}.visual-grid{grid-template-columns:minmax(0,1fr) 330px}.stat-number strong{font-size:44px}}
@media(max-width:1250px){.sidebar{width:200px;padding:30px 18px}.main-content{margin-left:200px;padding:28px 24px}.visual-grid{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.summary-grid{gap:12px;grid-template-columns:1.45fr repeat(3,1fr)}.latest-card{padding:21px 18px}.latest-pressure{font-size:40px}.stat-card{padding:21px 16px 14px}.stat-number strong{font-size:32px}.today{display:none}.panel-heading{padding:22px 21px 0}.panel-heading h2{font-size:19px}.chart-settings{max-width:152px}.date-fields{margin-left:0}.filter-bar>select{margin-left:auto}}
@media(max-width:1050px){.sidebar{width:182px;padding:27px 13px}.brand{font-size:18px;gap:9px}.brand-mark{width:37px;height:37px}.brand small{font-size:7px}.main-content{margin-left:182px;padding:27px 22px}.visual-grid{grid-template-columns:minmax(0,1fr)}.period-panel>#periods{display:grid;grid-template-columns:repeat(3,1fr);padding:0 22px;gap:20px}.period-row{margin:8px 0 0}.period-row:first-child{margin-top:8px}.period-footnote{margin:8px 23px 18px}.chart-settings{max-width:none}.summary-grid{grid-template-columns:repeat(3,1fr)}.latest-card{grid-column:1/-1;min-height:144px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px}.card-label{grid-column:1;grid-row:1}.latest-pressure{grid-column:2;grid-row:1/3;justify-self:end;font-size:47px;line-height:1}.latest-footer{grid-column:1;grid-row:2;justify-content:flex-start}.latest-decoration{width:165px;right:130px;top:35px}.stat-card{padding:18px}.filter-bar>select{max-width:132px}.login-layout{gap:55px}.login-screen{padding:32px 42px 25px}.login-intro h1{font-size:49px}.login-card{padding:32px 26px}}
@media(max-width:800px){.sidebar{position:static;width:auto;padding:18px 22px 14px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;gap:12px;overflow:visible}.sidebar>.brand{margin:0 auto 4px 0}.sidebar>.nav-item,.sidebar-label,.family-note{display:none}.sidebar-bottom{margin:0;padding:0;align-self:center}.logout-button{padding:7px;font-size:12px}.member-list{display:flex;gap:7px;overflow-x:auto;width:100%;order:3;padding-bottom:3px}.member-button{width:auto;flex-shrink:0;border:1px solid #e3e9da;background:#e9efdf;padding:7px 9px;gap:7px;border-radius:8px;max-width:185px}.member-button.selected{border-color:#ccd9c0;background:#fff}.member-button .avatar{width:24px;height:24px;border-radius:7px;font-size:9px}.member-copy small{display:none}.member-copy strong{font-size:12px}.main-content{margin:0;padding:25px 22px}.dashboard-header h1{font-size:27px}.date-fields input{width:120px}.login-layout{gap:30px}.login-intro h1{font-size:42px}.login-intro>p{font-size:14px}.login-intro>.overline{font-size:10px;letter-spacing:2px}.login-card h2{font-size:22px}.login-screen{padding:27px 30px 20px}.login-layout{padding:45px 0}.header-note{font-size:11px}}
@media(max-width:600px){.login-screen{padding:24px 22px 20px}.login-layout{grid-template-columns:1fr;gap:28px;padding:37px 0}.header-note{display:none}.login-intro h1{font-size:42px;letter-spacing:-2px;margin:14px 0}.login-intro>p{font-size:14px}.login-art{display:none}.login-card{padding:28px 24px}.login-lock{margin-bottom:20px;width:45px;height:45px}.login-card>p{margin-bottom:24px}.login-footer{font-size:10px}.main-content{padding:21px 16px}.sidebar{padding:17px 16px 12px}.dashboard-header{align-items:flex-start;gap:10px}.dashboard-header .overline{font-size:8px;letter-spacing:1.5px}.dashboard-header h1{font-size:24px;line-height:1.4;margin-top:7px}.subtitle{font-size:11px;line-height:1.8;max-width:200px}.header-actions{gap:6px;margin-top:10px}.header-actions .button.primary{font-size:11px;padding:9px 10px;min-height:36px;gap:5px}.header-actions .button.primary .icon{width:13px;height:13px}.icon-button{min-height:36px;min-width:34px;padding:8px}.filter-bar{padding:13px 0;gap:11px;margin-bottom:19px}.range-switch{flex:1;justify-content:space-between}.range-switch button{padding:7px 8px;min-height:31px;font-size:11px}.filter-bar>select{max-width:111px;font-size:11px;min-height:38px;margin-left:0}.date-fields{order:3;width:100%;margin-left:0;gap:7px;justify-content:space-between}.date-fields input{font-size:12px;width:119px;min-width:100px;flex:1}.apply-button{padding:7px 10px}.summary-grid{gap:9px;margin-bottom:18px}.latest-card{padding:19px 18px;min-height:177px;display:block}.card-label{font-size:12px}.latest-member{font-size:11px}.latest-pressure{font-size:46px;line-height:1.75;margin:3px 0}.latest-pressure span{font-size:31px}.latest-pressure small{font-size:10px}.latest-footer{display:flex;justify-content:space-between;gap:5px}.latest-footer>div{font-size:11px}.latest-decoration{width:145px;top:63px;right:0}.stat-card{padding:17px 12px 12px;border-radius:12px}.stat-heading{font-size:11px}.stat-heading .icon{display:none}.stat-number{gap:3px;flex-wrap:wrap;margin:12px 0 8px}.stat-number strong{font-size:30px}.stat-number span{font-size:9px}.stat-card p{font-size:10px;line-height:1.6}.mini-trend{height:23px;margin-top:9px}.visual-grid{gap:18px;margin-bottom:18px}.panel-heading{padding:20px 18px 0;align-items:flex-start}.panel-heading h2{font-size:18px;line-height:1.5;margin:6px 0}.panel-heading p{font-size:11px}.panel-heading .overline{font-size:8px;letter-spacing:1.5px}.trend-panel>.panel-heading{flex-wrap:wrap;gap:12px}.chart-settings{justify-content:flex-start;max-width:none}.chart-legend{padding:14px 18px 0;font-size:10px;gap:8px}.chart-wrap{padding:4px 5px 0}.chart-axis{font-size:10px}.chart-inspector{margin:8px 18px 0;gap:7px;min-height:83px}.chart-detail{gap:6px 9px;font-size:11px;max-width:calc(100% - 75px)}.detail-reading{font-size:10px}.detail-reading b{font-size:14px}.chart-footnote{padding:0 18px 16px;font-size:10px}.period-panel .panel-heading{padding:20px 18px 0}.period-panel>#periods{padding:0 18px;gap:14px;grid-template-columns:repeat(3,1fr)}.period-row{padding:15px 0 11px}.period-name{gap:4px}.period-name .icon{width:13px;height:13px}.period-title{font-size:11px;flex-wrap:wrap;gap:5px}.period-title small{font-size:10px}.period-values{font-size:18px;gap:3px;flex-wrap:wrap;line-height:1.5;margin:7px 0}.period-values>span{display:none}.period-values .pulse{font-size:10px;flex-basis:100%;margin-left:0;margin-top:3px}.period-summary{margin:16px 18px 0}.period-footnote{margin:8px 18px 18px}.history-panel .panel-heading{padding-bottom:19px}.history-panel .panel-heading h2{font-size:18px}.count-badge{font-size:10px;padding:6px 8px}.records-table,.records-table tbody{display:block}.records-table thead{display:none}.records-table tr{display:grid;grid-template-columns:repeat(3,1fr);padding:18px;border-bottom:1px solid var(--line);position:relative}.records-table td{display:block;padding:0;border:0;min-width:0}.records-table td:first-child{padding:0;width:auto;grid-column:1/3;margin-bottom:15px}.records-table td:nth-child(2){grid-column:3;grid-row:1;align-self:start;justify-self:end;max-width:100%}.record-date{font-size:14px;margin-bottom:8px}.record-clock{font-size:18px}.period-tag{font-size:11px}.record-member{font-size:12px}.record-member .avatar{display:none}.records-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:#879a78;margin-bottom:6px}.record-value{font-size:28px;display:block}.records-table td:nth-child(6){grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:13px;padding-right:28px}.record-source{flex-shrink:0}.record-note{font-size:12px;margin:0;max-width:100%}.records-table td:last-child{position:absolute;right:18px;bottom:13px}.record-detail{width:26px;height:26px;font-size:15px}.pager{padding:17px 18px;gap:5px}.pager .button{font-size:11px;padding:7px 9px;min-height:36px}.pager>span{font-size:11px}.dashboard-footer{padding-top:20px;gap:10px}.record-dialog{padding:23px}.dialog-readings{gap:7px}.dialog-reading{padding:14px 10px}}
.chart-wrap{position:relative}.chart{touch-action:pan-x pan-y}.chart-yaxis{position:absolute;top:4px;left:15px;width:46px;height:250px;background:#fff;pointer-events:none;z-index:2}
@media(max-width:600px){.chart-yaxis{left:5px}.latest-pressure{justify-self:auto;text-align:left}.stat-number{min-height:48px;align-content:flex-start}.stat-number span{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
.dashboard-header>div:first-child{min-width:0}.dashboard-header h1,.subtitle{text-wrap:balance}.settings-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.settings-description{color:var(--muted);font-size:14px;line-height:1.8}.settings-fieldset{padding:0;margin:23px 0 17px;border:0;min-width:0}.settings-fieldset legend{font-size:12px;color:#7c8d73;margin-bottom:10px}.settings-members{display:grid;gap:8px;max-height:40dvh;overflow-y:auto;padding:3px}.settings-member{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fafbf6;cursor:pointer}.settings-member:has(input:checked){background:#f0f5e9;border-color:#c8d8bc}.settings-member input{width:20px;height:20px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--teal);cursor:pointer}.settings-member-copy{min-width:0}.settings-member strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.settings-member small{display:block;font-size:12px;color:#819372;line-height:1.7;margin-top:4px}.settings-all{background:#fff}.settings-hint{color:#839475;font-size:12px;line-height:1.8;margin:16px 0 0}.settings-error{font-size:13px;line-height:1.8;color:#a35242;margin-top:10px}.settings-error:empty{display:none}.settings-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
@media(max-width:600px){.header-actions{display:grid;grid-template-columns:42px 42px;gap:6px;flex-shrink:0}.header-actions .icon-button{width:42px;min-height:38px}.header-actions .button.primary{grid-column:1/-1;justify-content:center;padding:9px 7px}.settings-dialog{padding:23px 20px}.settings-member{padding:12px;gap:11px}.settings-member small{font-size:11px}}
