@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:block}@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:block}:root{color:#fffffff0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel-surface:#ffffff0a;--panel-border:#ffffff14;--panel-border-soft:#ffffff0d;--panel-muted:#ffffff8f;--panel-success:#7ee7b2;--panel-warning:#f6c870;background:#020307;font-family:Work Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{background:#020307}body{background:#020307;min-width:320px;min-height:100vh;margin:0}body,button,a,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}#root{min-height:100svh}.panel-page{background:linear-gradient(#1a1a1a 0%,#050505 42%,#000 100%);min-height:100svh}.panel-header,.panel-main{width:min(1120px,100% - 2.5rem);margin:0 auto}.panel-header{width:100%;margin:0;padding:1.75rem 1.5rem 1rem}.header-shell{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.panel-header-authenticated .header-shell{column-gap:1.5rem}.wordmark{color:#fffffff5;letter-spacing:-.08em;text-shadow:0 0 24px #ffffff1a;font-size:1.85rem;font-weight:500}.header-nav{justify-content:center;align-items:center;gap:2.25rem;display:inline-flex}.header-link{color:#ffffffc7;letter-spacing:-.02em;align-items:center;padding:0;font-size:1rem;transition:color .18s;display:inline-flex}.header-link:hover{color:#fffffffa}.header-link.active{color:#fff}.header-link:focus-visible{outline-offset:6px;border-radius:.4rem;outline:2px solid #ffffffbf}.header-spacer{justify-self:end;width:1px;height:1px}.panel-main{justify-content:center;align-items:center;min-height:calc(100svh - 5.5rem);padding:0 0 2rem;display:flex}.panel-main-authenticated{min-height:0;padding:0 0 2.75rem;display:block}.auth-shell{width:min(100%,27rem)}.auth-card{padding:1.4rem 0}.authenticated-shell{min-height:0}.auth-form{flex-direction:column;gap:.95rem;display:flex}.auth-status,.auth-error{color:#ffffff9e;margin:0;line-height:1.6}.auth-error,.dashboard-message-error{color:#ffb4b4}.field{flex-direction:column;gap:.45rem;display:flex}.field span{color:#ffffff8f;font-size:.88rem}.field input{border:1px solid var(--panel-border);color:#fffffff5;background:#ffffff08;border-radius:1rem;outline:none;width:100%;padding:.95rem 1rem;transition:border-color .18s,background-color .18s,box-shadow .18s}.field input::placeholder{color:#ffffff52}.field input:focus{background:#ffffff0d;border-color:#fff3;box-shadow:0 0 0 3px #ffffff0d}.primary-button{color:#000000eb;letter-spacing:-.02em;cursor:pointer;background:#fffffffa;border:0;border-radius:999px;margin-top:.35rem;padding:1rem 1.25rem;font-weight:500;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 34px #0000004d}.primary-button:hover{transform:translateY(-1px);box-shadow:0 18px 40px #00000061}.primary-button:disabled{cursor:default;opacity:.78;transform:none;box-shadow:0 14px 34px #0000003d}.primary-button:focus-visible{outline-offset:3px;outline:2px solid #ffffffbf}.dashboard-shell,.placeholder-shell{flex-direction:column;gap:1.25rem;padding-top:1.1rem;display:flex}.dashboard-intro,.panel-heading-row,.status-grid{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.eyebrow,.panel-label,.card-label{color:#ffffff75;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:500}.dashboard-title,.panel-title{color:#fffffff5;letter-spacing:-.05em;margin:.3rem 0 0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500}.panel-title{font-size:1.35rem}.dashboard-copy,.panel-note,.card-detail,.dashboard-message,.meta-line,.status-copy,.recent-event-row,.detail-label,.detail-value{color:#ffffff9e;margin:0;line-height:1.6}.dashboard-copy{max-width:38rem;margin-top:.55rem}.dashboard-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.dashboard-panel,.dashboard-card,.placeholder-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff08;border:1px solid #ffffff14;border-radius:1.5rem;box-shadow:0 18px 42px #0000002e}.dashboard-panel,.placeholder-card{padding:1.35rem}.back-link{color:#ffffffb3;margin-bottom:.85rem;font-size:.95rem;transition:color .18s;display:inline-flex}.back-link:hover{color:#fffffffa}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.dashboard-card{padding:1.15rem 1.2rem}.card-value,.status-value{color:#fffffff7;letter-spacing:-.06em;margin:.5rem 0 0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500}.chart-scroll{padding-bottom:.25rem;overflow-x:auto}.chart-columns{grid-template-columns:repeat(24,minmax(1.8rem,1fr));gap:.7rem;min-width:48rem;margin-top:1.1rem;display:grid}.chart-column{flex-direction:column;align-items:center;gap:.55rem;display:flex}.chart-value{color:#ffffff94;min-height:1.2rem;font-size:.72rem}.chart-track{background:#ffffff0a;border-radius:999px;align-items:flex-end;width:100%;height:12rem;display:flex;overflow:hidden}.chart-bar{background:linear-gradient(#fffffff5 0%,#b0b0b0bd 100%);border-radius:999px;width:100%;display:block;box-shadow:0 10px 30px #ffffff14}.chart-label{color:#0000;min-height:1rem;font-size:.72rem;transition:color .18s}.chart-label.visible{color:#ffffff85}.status-panel{gap:1.2rem}.status-grid{align-items:stretch}.status-primary{width:min(100%,18rem)}.status-secondary{flex-direction:column;flex:1;gap:1rem;display:flex}.type-pill-row{flex-wrap:wrap;gap:.7rem;display:flex}.type-pill{color:#ffffffdb;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:.55rem .85rem;font-size:.88rem;display:inline-flex}.feed-status-pill{color:#ffffffe0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;min-width:6.5rem;padding:.45rem .8rem;font-size:.84rem;display:inline-flex}.feed-status-live{color:var(--panel-success);border-color:#7ee7b240}.feed-status-connecting,.feed-status-reconnecting{color:var(--panel-warning);border-color:#f6c87038}.feed-status-disconnected{color:#ffb4b4}.recent-events{flex-direction:column;gap:.55rem;display:flex}.recent-event-row{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:1rem;padding-top:.55rem;font-size:.92rem;display:flex}.users-list-head,.user-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.4fr);align-items:center;gap:1rem;display:grid}.users-list-head{color:#ffffff6b;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff14;padding:0 1rem .8rem;font-size:.8rem;font-weight:500}.users-list-body{flex-direction:column;display:flex}.feed-list{flex-direction:column;gap:0;display:flex}.feed-list-head,.feed-row-toggle{grid-template-columns:12rem minmax(0,1.5fr) minmax(10rem,.9fr);align-items:center;gap:1rem;display:grid}.feed-list-head{color:#ffffff6b;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff14;min-height:3.1rem;padding:0 1rem;font-size:.8rem;font-weight:500}.feed-item+.feed-item{border-top:1px solid #ffffff0f}.feed-row-toggle{color:#ffffffb8;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;min-height:3.2rem;padding:.75rem 1rem;transition:background-color .18s,color .18s}.feed-row-toggle:hover,.feed-row-toggle.expanded{color:#fffffff0;background:#ffffff0a}.feed-row-cell{min-width:0;font-size:.92rem;line-height:1.45}.feed-row-user{color:#ffffffeb;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:.82rem;overflow:hidden}.feed-row-type{color:#ffffffc7}.feed-row-expanded{padding:0 1rem 1rem}.feed-payload{color:#ffffffd1;white-space:pre-wrap;word-break:break-word;background:#ffffff06;border:1px solid #ffffff14;border-radius:1rem;margin:0;padding:1rem 1.05rem;font-family:SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:.82rem;line-height:1.6}.user-row{color:#ffffffb8;border-radius:1rem;padding:1rem;transition:background-color .18s,color .18s}.user-row+.user-row{border-top:1px solid #ffffff0f}.user-row:hover{color:#fffffff0;background:#ffffff0a}.user-primary{color:#fffffff0}.user-mono{word-break:break-all;font-family:SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:.82rem}.user-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.detail-item{background:#ffffff06;border:1px solid #ffffff14;border-radius:1rem;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;display:flex}.detail-item-button{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background-color .18s,transform .18s}.detail-item-button:hover{background:#ffffff0a;border-color:#ffffff24;transform:translateY(-1px)}.detail-item-button:focus-visible{outline-offset:4px;outline:2px solid #ffffffbf}.detail-item-wide{grid-column:1/-1}.detail-label{color:#ffffff6b;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:500}.detail-value{color:#ffffffeb}.detail-value-wrap{word-break:break-all}.detail-subvalue{color:#ffffff8f;font-size:.82rem}.detail-inline-edit{flex-wrap:wrap;align-items:center;gap:.9rem;width:100%;display:flex}.detail-inline-input{border:1px solid var(--panel-border);color:#fffffff5;background:#ffffff08;border-radius:1rem;outline:none;flex:1;min-width:16rem;padding:.95rem 1rem;transition:border-color .18s,background-color .18s,box-shadow .18s}.detail-inline-input::placeholder{color:#ffffff52}.detail-inline-input:focus{background:#ffffff0d;border-color:#fff3;box-shadow:0 0 0 3px #ffffff0d}.detail-inline-button{white-space:nowrap;margin-top:0}.detail-save-message{color:#ffffffa8;margin:0}.detail-save-message-error{color:#ffb4b4}.exercise-summary-list{flex-direction:column;display:flex}.exercise-summary-row{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.exercise-summary-row+.exercise-summary-row{border-top:1px solid #ffffff0f}.exercise-summary-name{color:#fffffff0;font-size:1rem}.exercise-summary-value{color:#ffffffa3;text-align:right}.detail-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;z-index:50;background:#0000008f;border:0;position:fixed;inset:0}.detail-drawer{z-index:60;background:linear-gradient(#1c1c1cfa 0%,#050505fa 100%);border-left:1px solid #ffffff14;width:min(38rem,100%);padding:1.5rem;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-24px 0 64px #0000006b}.detail-drawer-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.detail-drawer-close{color:#ffffffe0;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;padding:.65rem .95rem;transition:background-color .18s,border-color .18s}.detail-drawer-close:hover{background:#ffffff0f;border-color:#ffffff24}.detail-drawer-close:focus-visible{outline-offset:3px;outline:2px solid #ffffffbf}.heart-rate-chart-shell{flex-direction:column;gap:1rem;display:flex}.heart-rate-chart-meta,.heart-rate-chart-label-row{color:#ffffff8f;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;display:flex}.heart-rate-chart-frame{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:1rem;display:grid}.heart-rate-chart-scale{flex-direction:column;justify-content:space-between;min-width:2rem;padding:.2rem 0;display:flex}.heart-rate-chart-scale-label{color:#ffffff6b;font-size:.78rem}.heart-rate-chart-svg{background:linear-gradient(#ffffff09 0%,#ffffff03 100%);border:1px solid #ffffff14;border-radius:1.2rem;width:100%;height:14rem;display:block;overflow:hidden}.heart-rate-chart-area{fill:#ffffff14}.heart-rate-chart-line{stroke:#fffffff5;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.heart-rate-chart-point{fill:#ffffffeb}.weight-chart-shell{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.weight-chart-meta,.weight-chart-label-row{color:#ffffff8f;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;display:flex}.weight-chart-frame{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:1rem;display:grid}.weight-chart-scale{flex-direction:column;justify-content:space-between;min-width:4.5rem;padding:.2rem 0;display:flex}.weight-chart-scale-label{color:#ffffff6b;font-size:.78rem}.weight-chart-svg{background:linear-gradient(#ffffff09 0%,#ffffff03 100%);border:1px solid #ffffff14;border-radius:1.2rem;width:100%;height:14rem;display:block;overflow:hidden}.weight-chart-area{fill:#ffffff14}.weight-chart-line{stroke:#fffffff5;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.weight-chart-point{fill:#050505fa;stroke:#fffffff5;stroke-width:3px}@media (width<=980px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-intro,.panel-heading-row,.status-grid{flex-direction:column}.dashboard-meta{text-align:left;align-items:flex-start}.status-primary{width:100%}.users-list-head,.user-row,.user-detail-grid{grid-template-columns:1fr}.users-list-head,.feed-list-head{display:none}.user-row{gap:.25rem}.feed-row-toggle{grid-template-columns:1fr;align-items:flex-start;gap:.25rem}.feed-row-cell{width:100%}.exercise-summary-row{flex-direction:column;align-items:flex-start}.exercise-summary-value{text-align:left}.heart-rate-chart-meta,.heart-rate-chart-label-row,.heart-rate-chart-frame,.weight-chart-meta,.weight-chart-label-row,.weight-chart-frame{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.heart-rate-chart-frame,.weight-chart-frame{display:flex}.heart-rate-chart-scale,.weight-chart-scale{flex-direction:row;justify-content:space-between;width:100%}}@media (width<=820px){.panel-header,.panel-main{width:min(100% - 2rem,1120px)}.panel-header{padding-inline:1rem;width:100%;padding-top:1.3rem}.panel-main{min-height:calc(100svh - 5rem)}.header-shell{grid-template-columns:1fr;row-gap:1rem}.panel-header-authenticated .header-shell{justify-items:start}.header-nav{flex-wrap:wrap;justify-content:flex-start;gap:1rem 1.5rem}.header-spacer{display:none}}@media (width<=640px){.metrics-grid{grid-template-columns:1fr}.dashboard-panel,.dashboard-card,.placeholder-card{border-radius:1.25rem}.dashboard-shell,.placeholder-shell{padding-top:.7rem}.chart-columns{min-width:38rem}}
