:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#22312b;background:#f5f7f6;font-size:14px;letter-spacing:0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #178364;outline-offset:3px}svg{width:19px;height:19px;flex:none;stroke-width:1.8}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#fff;border-right:1px solid #e3e8e5;display:flex;flex-direction:column;padding:30px 18px 20px}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 32px;font-size:25px;font-weight:650}.brand img{width:37px;height:37px}.brand small{display:block;font-size:9px;font-weight:550;color:#819087;margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:6px;font-size:13px;color:#647269}.nav-item:hover{background:#f4f6f5}.nav-item.active{background:#e9f4ee;color:#176d54;font-weight:600}.sidebar-bottom{margin-top:auto;border-top:1px solid #eef0ee;padding:20px 7px 0;display:flex;align-items:center;gap:8px;color:#7b8780;font-size:10px}.sidebar-bottom svg{width:15px}.sidebar-bottom button{margin-left:auto}main{margin-left:220px;padding:30px 36px 18px;max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.eyebrow{font-size:10px;color:#88948d;font-weight:600}h1{font-size:25px;font-weight:600;margin:4px 0 0;line-height:1.25}h2{font-size:15px;font-weight:600;margin:0;line-height:1.4}.device{display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 13px;border:1px solid #dfe5e1;background:#fff;border-radius:6px}.device svg{color:#7d8982}.device svg:nth-of-type(2){margin-left:7px}.battery{font-weight:650;color:#218166}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:23px;flex-wrap:wrap}.range{display:flex;padding:3px;background:#e9eeeb;border-radius:6px;flex:none}.range button{min-width:56px;height:30px;font-size:12px;border-radius:4px}.range .selected{background:#fff;box-shadow:0 1px 3px #00000010;font-weight:600}.date-nav{display:flex;align-items:center;gap:8px}.date-nav button{width:27px;height:30px;display:grid;place-items:center}.date-nav input{border:0;background:transparent;font-size:12px;color:#5a6a60;width:126px}.sync-area{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:11px;color:#839088}.primary{background:#19785c;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:12px;font-weight:550;min-height:37px}.primary:hover{background:#11694f}.primary svg{width:15px}.message{padding:12px 15px;margin-bottom:18px;border:1px solid #c8e3d4;border-radius:5px;color:#286b50;background:#edf6f0;font-size:12px}.message.error{color:#954b31;background:#fff4ec;border-color:#efcfb6}.sync-progress{display:flex;align-items:center;gap:15px;margin-bottom:15px;font-size:12px;color:#617269}.sync-progress progress{width:190px;height:5px;accent-color:#19785c}[hidden]{display:none!important}.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:27px}.metric{background:#fff;border:1px solid #e2e8e4;padding:17px 17px 15px;border-radius:6px;min-width:0;min-height:127px}.metric-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#718077;font-size:11px}.metric-title svg{color:var(--metric-color);width:17px;height:17px}.metric-value{font-size:27px;font-weight:600;line-height:1.35;margin:11px 0 5px;white-space:nowrap;display:flex;align-items:baseline;gap:5px}.metric-value small{font-size:11px;font-weight:400;color:#839087}.metric-detail{font-size:10px;color:#91a097;line-height:1.5}.chart-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);column-gap:32px;row-gap:28px}.chart-section,.measurements,.table-section{background:transparent;min-width:0;padding:0 0 23px;border-bottom:1px solid #e0e6e2}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.section-heading p{font-size:11px;color:#88958c;margin:5px 0 0}.chart-frame{height:235px;position:relative;width:100%;background:#fff;border:1px solid #e9edea;border-radius:5px;padding:14px 10px 7px;overflow:hidden}.chart-frame canvas{width:100%!important;height:100%!important}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#8f9b92}.legend{display:flex;align-items:center;gap:6px;font-size:10px;color:#849087;padding-top:4px;white-space:nowrap}.legend b,.stage-item b{width:6px;height:6px;border-radius:50%;display:inline-block;flex:none}.heart-dot{background:#d6566a}.pill{border:1px solid #dce4df;border-radius:4px;padding:4px 8px;font-size:10px;color:#7a8980;white-space:nowrap}.sleep-frame{height:173px}.stage-legend{display:flex;flex-wrap:wrap;gap:16px;margin:17px 0 0;font-size:10px;color:#7e8d83}.stage-item{display:flex;align-items:center;gap:6px}.stage-item strong{color:#4b5d51;font-size:11px;font-weight:550}.measure-row{display:flex;align-items:center;gap:9px;padding:13px 0;border-bottom:1px solid #e5eae7;font-size:12px}.measure-row:last-child{border-bottom:0}.measure-dot{width:5px;height:5px;border-radius:50%;flex:none}.measure-row strong{margin-left:auto;font-size:13px;font-weight:600}.measure-row small{font-size:10px;font-weight:400;color:#8a998e}.availability{font-size:9px;color:#96a198;min-width:46px;text-align:right}.text-button{font-size:11px;color:#19785c;padding:2px 0}.sleep-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}.table-section{margin-top:28px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:500;font-size:10px;color:#8b988f;border-bottom:1px solid #dfe6e1;padding:10px 15px 10px 0;white-space:nowrap}td{padding:14px 15px 14px 0;border-bottom:1px solid #e6ebe8;line-height:1.5}td strong{font-weight:550}tr:last-child td{border-bottom:0}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c3cdc6;margin-right:7px}.status-dot.ok{background:#258763}.status-dot.failed{background:#c87953}.empty-inline,.empty-state,.loading{padding:36px;text-align:center;color:#8b978f;font-size:13px}.empty-state{min-height:300px}footer{display:flex;justify-content:space-between;color:#9aa49e;font-size:10px;gap:12px;margin-top:26px;border-top:1px solid #e0e6e2;padding-top:16px}.spinning svg{animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:grid;place-items:center;min-height:100vh}.login-form{background:#fff;border:1px solid #e1e7e3;border-radius:6px;padding:36px;width:340px;max-width:calc(100vw - 32px);display:grid;gap:15px}.login-form img{width:42px}.login-form h1{margin-bottom:8px}.login-form label{font-size:12px}.login-form input{min-width:0;border:1px solid #dce4de;border-radius:4px;padding:10px}.login-form p{margin:0;font-size:12px;color:#a45e40;line-height:1.5}@media(min-width:1450px){.chart-frame{height:275px}.sleep-frame{height:195px}.metric-value{font-size:30px}}@media(max-width:1250px){main{padding:26px}.sidebar{width:195px;padding-inline:12px}main{margin-left:195px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-height:119px}.chart-grid{gap:24px}.legend{display:none}}@media(max-width:900px){.sidebar{width:72px;align-items:center;padding:24px 10px}.brand{padding:0 0 26px}.brand img{width:34px;height:34px}.brand span,.nav-item span,.sidebar-bottom span{display:none}.nav-item{padding:14px}.sidebar-bottom{padding-inline:0}.sidebar-bottom button{margin-left:0}.sidebar-bottom>svg{display:none}main{margin-left:72px;padding:24px}.chart-grid{grid-template-columns:minmax(0,1fr)}.sync-area>span{display:none}.device{font-size:11px}.measurements{padding-bottom:16px}.chart-frame{height:250px}.sleep-frame{height:185px}}@media(max-width:600px){.sidebar{inset:auto 0 0;width:100%;height:64px;border-right:0;border-top:1px solid #e0e7e2;padding:4px 8px;background:#fffffffa;z-index:10}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;width:100%;gap:0}.nav-item{display:flex;flex-direction:column;padding:8px 6px;gap:4px;border-radius:4px;min-width:53px}.nav-item span{display:block;font-size:8px;white-space:nowrap}.nav-item svg{width:18px;height:18px}main{margin-left:0;padding:23px 16px 80px}.topbar{margin-bottom:22px}h1{font-size:23px}.device{gap:5px;padding:8px;font-size:10px}.device svg:first-child{display:none}.device svg:nth-of-type(2){margin-left:3px}.device svg{width:15px}.toolbar{gap:10px;margin-bottom:18px}.range button{min-width:46px}.date-nav{gap:2px}.date-nav input{width:115px;font-size:11px}.sync-area{width:100%;margin-left:0;justify-content:space-between}.sync-area>span{display:inline;font-size:10px}.primary{font-size:11px;padding:9px 11px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:24px}.metric{padding:13px;min-height:110px}.metric-title{font-size:10px}.metric-value{font-size:25px;gap:3px}.metric-detail{font-size:9px}.chart-grid{gap:24px}.chart-frame{height:215px}.sleep-frame{height:166px}.section-heading{margin-bottom:13px}.stage-legend{gap:12px}.sleep-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-progress{gap:10px}.sync-progress progress{width:95px}.sync-progress span{font-size:10px}.table-section{margin-top:24px}.table-scroll table{min-width:500px}footer{margin-top:24px}.metric-value small{font-size:10px}}@media(max-width:360px){.metric-value{font-size:21px}h1{font-size:21px}}
