@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--background:#e9ebef;--foreground:#17284f;--muted:#9198a6;--panel:#fff;--panel-soft:#f6f8fc;--line:#edf0f6;--green:#3fbe84;--amber:#ffb45f;--blue:#3d7df0;--aqua:#35c3cb;--rose:#ff4e69;--orange:#ff7659;--shadow:0 26px 80px #27304624}*{box-sizing:border-box}html{background:var(--background);min-height:100%;color:var(--foreground);scroll-behavior:smooth}body{background:linear-gradient(180deg, #f1f2f5 0%, var(--background) 100%);min-height:100vh;color:var(--foreground);font-family:var(--font-geist-sans), "Geist", ui-sans-serif, system-ui, sans-serif;margin:0}button,input,select,textarea{font:inherit}button{border:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}.app-shell{width:min(1280px,100% - 32px);margin:0 auto;padding:36px 0 52px}.dashboard-frame{min-height:calc(100vh - 72px);box-shadow:var(--shadow);background:#fffffff5;border:1px solid #ffffffc2;border-radius:36px;padding:42px}.topbar,.welcome-row,.topbar-actions,.tile-heading,.focus-header,.goal-heading,.goal-meta,.source-row,.body-snapshot,.bottom-nav{align-items:center;display:flex}.topbar{justify-content:space-between;gap:18px}.menu-button,.icon-button{width:44px;height:44px;color:var(--foreground);cursor:pointer;background:#f0f5ff;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:transform .16s,background .16s;display:inline-flex}.menu-button:hover,.icon-button:hover,.primary-button:hover,.secondary-button:hover,.bottom-nav a:hover{transform:translateY(-1px)}.icon-button.danger{color:var(--rose);background:#fff1f4}.update-time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.9rem}.avatar-ring{background:conic-gradient(var(--rose) 0 34%, transparent 34% 48%, var(--rose) 48% 82%, transparent 82% 100%);border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.avatar-ring span{width:44px;height:44px;color:var(--foreground);background:#ffe0d8;border:4px solid #fff;border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;display:grid}.welcome-row{justify-content:space-between;gap:24px;margin:34px 0 28px}.hello{color:var(--foreground);font-size:1.15rem}h1{color:var(--foreground);letter-spacing:0;font-size:3rem;line-height:1}.domain-pill{color:var(--blue);background:#eef4ff;border-radius:8px;margin-top:12px;padding:8px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.topbar-actions{justify-content:flex-end;gap:10px}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;transition:transform .16s,opacity .16s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--blue), #6f9cff);white-space:nowrap;padding:0 18px;box-shadow:0 12px 24px #3d7df033}.secondary-button{color:#fff;background:var(--foreground);width:100%}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.overview-grid{grid-template-columns:minmax(210px,.9fr) minmax(220px,.95fr) minmax(320px,1.25fr);grid-template-areas:"heart steps focus""heart activity focus""sleep activity focus";align-items:stretch;gap:18px;display:grid}.tile,.focus-card,.panel,.login-panel{border-radius:8px}.tile{color:#fff;min-height:210px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 34px #1c2a4a1f}.tile h2{letter-spacing:0;max-width:9rem;font-size:1.24rem;line-height:1.12}.tile strong{z-index:1;margin-top:42px;font-size:1.65rem;line-height:1;display:block;position:relative}.tile strong small{font-size:.72em;font-weight:700}.tile>span,.progress-orbit span,.stat-chip span{font-size:.9rem}.tile>span{z-index:1;color:#ffffffd1;margin-top:8px;font-weight:700;display:block;position:relative}.tile-heading{z-index:1;justify-content:space-between;gap:14px;position:relative}.soft-icon{color:#fff;background:#fff3;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.tile-heart{background:linear-gradient(180deg, var(--rose), #ff7591);grid-area:heart;min-height:438px}.tile-steps{background:linear-gradient(180deg, #ff8265, var(--orange));grid-area:steps}.tile-sleep{background:linear-gradient(#3f96dc,#347ed2);grid-area:sleep}.tile-activity{background:linear-gradient(180deg, var(--green), #72caa0);grid-area:activity;min-height:312px}.tile-line,.tile-wave{width:100%;height:48%;position:absolute;bottom:0;left:0;right:0;overflow:visible}.tile-line path,.tile-wave path{fill:none;stroke:#ffffffeb;stroke-width:6px;stroke-linecap:round}.tile-line circle,.tile-wave circle{fill:#0000;stroke:#fff;stroke-width:7px}.mini-ring{place-items:center;width:132px;height:132px;margin:18px auto 0;display:grid;position:relative}.mini-ring svg{position:absolute;inset:0;rotate:-90deg}.mini-ring circle{fill:none;stroke:#ffffff57;stroke-width:8px}.mini-ring .mini-ring-progress{stroke:#fff;stroke-linecap:round}.mini-ring strong{margin:0;font-size:1.2rem}.sleep-bars{align-items:flex-end;gap:10px;height:86px;display:flex;position:absolute;bottom:0;left:22px;right:22px}.sleep-bars span{background:#fffffff2;border-radius:8px 8px 0 0;flex:1;min-width:8px}.sleep-bars span:first-child{height:72%}.sleep-bars span:nth-child(2){opacity:.86;height:46%}.sleep-bars span:nth-child(3){opacity:.5;height:32%}.sleep-bars span:nth-child(4){height:82%}.sleep-bars span:nth-child(5){height:94%}.sleep-bars span:nth-child(6){opacity:.74;height:56%}.sleep-bars span:nth-child(7){height:72%}.sleep-bars span:nth-child(8){opacity:.58;height:48%}.focus-card{border:1px solid var(--line);background:#fff;grid-area:focus;align-content:start;gap:22px;padding:26px;display:grid;box-shadow:0 18px 36px #1c2a4a1a}.focus-header{justify-content:space-between;gap:14px}.focus-header>span{color:var(--blue);background:#edf4ff;border-radius:8px;padding:8px 10px;font-weight:800}.progress-orbit{place-items:center;min-height:280px;display:grid;position:relative}.progress-orbit svg{width:min(100%,300px);max-width:300px;overflow:visible;rotate:-90deg}.orbit-bg,.orbit-progress,.orbit-segment{fill:none;stroke-linecap:round}.orbit-bg{stroke:#f5f6fa;stroke-width:28px}.orbit-progress{stroke:var(--blue);stroke-width:12px;filter:drop-shadow(0 8px 10px #3d7df033);transition:stroke-dashoffset .22s}.orbit-segment{stroke-width:7px}.orbit-segment.rose{stroke:var(--rose)}.orbit-segment.green{stroke:var(--green)}.orbit-segment.aqua{stroke:var(--aqua)}.orbit-segment.orange{stroke:var(--orange)}.progress-orbit>div{text-align:center;align-content:center;place-items:center;gap:8px;display:grid;position:absolute;inset:0}.progress-orbit strong{color:var(--foreground);font-size:3rem;line-height:1;display:block}.progress-orbit span{color:var(--foreground);font-weight:800}.focus-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stat-chip{color:#fff;text-align:center;border-radius:8px;place-items:center;gap:8px;min-height:112px;font-weight:800;display:grid}.stat-chip strong{font-size:1.55rem;line-height:1}.stat-chip span{color:#ffffffdb}.stat-chip.distance{background:var(--orange)}.stat-chip.map{background:var(--rose)}.stat-chip.time{background:var(--green)}.workspace-grid{grid-template-columns:minmax(360px,1.2fr) repeat(2,minmax(280px,1fr));align-items:start;gap:18px;margin-top:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;padding:22px;box-shadow:0 16px 32px #1c2a4a14}.goals-panel{grid-row:span 2}.chat-panel{grid-column:span 2}.panel-title{color:var(--foreground);align-items:center;gap:8px;margin-bottom:16px;display:flex}.panel-title h2{letter-spacing:0;font-size:1rem}.panel-title svg{color:var(--blue)}label{color:var(--muted);gap:7px;font-size:.8rem;font-weight:700;display:grid}input,select,textarea{width:100%;min-height:42px;color:var(--foreground);background:#f9fbff;border:1px solid #e1e6ef;border-radius:8px;outline:none;padding:0 12px}textarea{resize:vertical;min-height:92px;padding:11px 12px;line-height:1.45}input[type=range]{accent-color:var(--blue);padding:0}input:focus,select:focus,textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #3d7df01f}.body-fields,.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.body-snapshot{justify-content:space-between;gap:10px;margin:14px 0 0}.body-snapshot span{color:var(--foreground);text-align:center;background:#f4f7fc;border-radius:8px;flex:1;padding:10px;font-size:.8rem;font-weight:800}.goal-list,.today-stack,.cpap-summary,.mini-list,.source-list{gap:10px;display:grid}.goal-list{margin:16px 0}.goal-row,.mini-list>div,.source-row,.today-stack>div,.cpap-summary>div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px}.goal-row{gap:12px;padding:14px;display:grid}.goal-heading,.goal-meta,.source-row{justify-content:space-between;gap:12px}.goal-heading{justify-content:flex-start}.goal-heading strong,.source-row strong{margin-bottom:4px;font-size:.93rem;display:block}.goal-heading span,.goal-meta,.source-row span,.mini-list span,.mini-list small{color:var(--muted);font-size:.78rem;font-weight:700}.icon-chip{width:36px;height:36px;color:var(--blue);background:#3d7df01a;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.progress-track{background:#e4e9f2;border-radius:8px;height:8px;position:relative;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));height:100%;display:block}.inline-form{grid-template-columns:minmax(120px,1.6fr) minmax(98px,1fr) minmax(90px,.8fr) minmax(92px,.9fr) minmax(92px,.9fr) 44px;align-items:end;gap:8px;display:grid}.stack-form{gap:10px;display:grid}.today-stack,.cpap-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.today-stack>div,.cpap-summary>div{min-height:78px;padding:12px}.today-stack span,.cpap-summary span{color:var(--muted);margin-bottom:8px;font-size:.78rem;font-weight:800;display:block}.today-stack strong,.cpap-summary strong{font-size:1.08rem}.cpap-summary small{color:var(--muted);margin-top:6px;font-size:.76rem;font-weight:700;display:block}.mini-list{margin-top:14px}.mini-list>div{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;min-height:44px;padding:9px 10px;display:grid}.mini-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-row{flex-wrap:wrap;min-height:64px;padding:12px}.source-controls{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.source-button,.source-icon-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.76rem;font-weight:800;transition:transform .16s,opacity .16s;display:inline-flex}.source-button{color:#fff;background:var(--foreground);gap:6px;min-height:34px;padding:0 10px}.source-icon-button{width:34px;height:34px;color:var(--rose);background:#fff1f4}.source-button:hover,.source-icon-button:hover{transform:translateY(-1px)}.source-button:disabled,.source-icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.source-note,.source-message,.source-error{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.45}.source-message,.source-error{margin-top:10px}.source-message{color:#198655}.source-error{color:var(--rose)}.renpho-import-card,.resmed-import-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;margin-top:14px;padding:12px;display:grid}.renpho-import-head,.resmed-import-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.renpho-import-head strong,.resmed-import-head strong{margin-bottom:4px;font-size:.93rem;display:block}.renpho-import-head span,.renpho-import-message,.renpho-import-error,.resmed-import-head span,.resmed-import-message,.resmed-import-error{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.45}.renpho-import-head svg,.resmed-import-head svg{color:var(--blue)}.renpho-file-control,.resmed-file-control{color:#fff;background:var(--foreground);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;transition:transform .16s,opacity .16s;display:inline-flex;position:relative;overflow:hidden}.renpho-file-control:hover,.resmed-file-control:hover{transform:translateY(-1px)}.renpho-file-control input,.resmed-file-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.renpho-import-message,.resmed-import-message{color:#198655}.renpho-import-error,.resmed-import-error{color:var(--rose)}.status-pill{text-align:center;border-radius:8px;min-width:70px;padding:7px 9px;font-size:.76rem;font-weight:800}.status-pill.planned{color:var(--blue);background:#3d7df01a}.status-pill.manual{color:#bd7426;background:#ffb45f2e}.status-pill.ready{color:#198655;background:#3fbe8429}.chat-panel{gap:14px;display:grid}.chat-log{gap:10px;max-height:360px;padding-right:4px;display:grid;overflow-y:auto}.chat-message{border:1px solid var(--line);max-width:82%;color:var(--foreground);background:var(--panel-soft);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;padding:12px 13px;line-height:1.5}.chat-message.assistant{justify-self:start}.chat-message.user{color:#fff;background:var(--blue);border-color:#3d7df047;justify-self:end}.chat-message.loading{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.chat-message.loading svg{animation:1s linear infinite spin}.chat-error{color:var(--rose);font-size:.82rem;line-height:1.45}.chat-form{grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:10px;display:grid}.bottom-nav{border:1px solid var(--line);background:#fffffff0;border-radius:8px;justify-content:space-between;gap:12px;width:min(100%,520px);margin:26px auto 0;padding:10px 14px;box-shadow:0 16px 38px #17284f1f}.bottom-nav a{min-width:48px;height:44px;color:var(--foreground);border-radius:8px;justify-content:center;align-items:center;gap:8px;transition:transform .16s,background .16s;display:inline-flex}.bottom-nav a.active{min-width:128px;color:var(--blue);background:#eef4ff;font-weight:800}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);background:#fff;gap:22px;padding:28px;display:grid}.login-icon{width:46px;height:46px;color:var(--blue);background:#eef4ff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.login-form{gap:14px;display:grid}.login-error{color:var(--rose);font-size:.86rem;line-height:1.45}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1160px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"heart steps""sleep activity""focus focus"}.tile-heart,.tile-activity{min-height:300px}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goals-panel,.chat-panel{grid-column:span 2}}@media (max-width:760px){.app-shell{width:min(100% - 18px,720px);padding:14px 0 28px}.dashboard-frame{border-radius:26px;min-height:calc(100vh - 28px);padding:24px 18px 18px}.topbar{gap:12px}.update-time{font-size:.8rem}.avatar-ring{width:52px;height:52px}.avatar-ring span{width:40px;height:40px;font-size:.76rem}.welcome-row{flex-direction:column;align-items:flex-start;margin:28px 0 22px}h1{font-size:2.35rem}.topbar-actions{width:100%}.primary-button{flex:1}.overview-grid,.workspace-grid,.body-fields,.field-pair,.today-stack,.cpap-summary,.inline-form,.chat-form,.focus-stats{grid-template-columns:1fr}.overview-grid{grid-template-areas:"heart""steps""activity""sleep""focus"}.tile,.tile-heart,.tile-activity{min-height:242px}.tile-heart{min-height:360px}.progress-orbit{min-height:240px}.goals-panel,.chat-panel{grid-column:auto}.mini-list>div{grid-template-columns:1fr}.body-snapshot{flex-direction:column}.source-controls{justify-content:flex-start;width:100%;margin-left:0}.icon-button{width:44px}.chat-message{max-width:100%}.bottom-nav{padding:8px 10px}.bottom-nav a.active{min-width:112px}}
