@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-radial:none;--surface:#fffffff5;--surface-strong:#fff;--surface-soft:#f5f7fb;--surface-muted:#eff3f8;--text:#1d2947;--text-subtle:#6f7f9d;--line-muted:#8597ba2e;--line-strong:#8195bcb8;--tooltip-bg:#ffffff85;--tooltip-border:#ffffff73;--tooltip-shadow:0 14px 36px #18264724, 0 4px 12px #1826471a;--timeline-hover-line:#111c30c7;--primary:#5b86f7;--primary-strong:#3d6bec;--accent-soft:#ff7d96;--shadow-card:0 10px 28px #7184ae14;--stage-awake:#d9dce0;--stage-rem:#6db3ff;--stage-light:#8f6cf6;--stage-deep:#5f39d9;--series-movement:#42be74;--series-hr:#df6d98;--series-rr:#2c9ab7;--series-hrv:#6b57e4;--series-noise:#f1c84d;--success:#2caa65;--warning:#c08a1f;--danger:#da6177;--chart-bg:#f7f9fd;--shell-max:1600px;--app-bar-bottom-gap:22px;--dashboard-left-rail-width:238px;--dashboard-right-rail-width:288px;--dashboard-column-gap:22px;--session-strip-bg:#f8fbff;--session-strip-border:#7490c457;--session-strip-shadow:0 10px 22px #2e4f8624;--session-strip-text:#5571a2;--session-strip-arrow-bg:#ecf3ff;--session-strip-arrow-bg-hover:#dbe9ff;--session-strip-arrow-bg-disabled:#f4f8ff;--session-strip-arrow-color:#3560ac;--session-strip-item-hover:#eaf2ff;--session-strip-item-active-bg:#fff;--session-strip-item-active-color:#2752ab;--session-strip-empty-color:#6c85b3;font-family:Inter,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101826;--bg-radial:none;--surface:#141e2ef0;--surface-strong:#172131;--surface-soft:#1d2b42;--surface-muted:#22314a;--text:#ebf3ff;--text-subtle:#97a8c5;--line-muted:#6a7ea53d;--line-strong:#96add78c;--tooltip-bg:#0e1826d6;--tooltip-border:#7d95c242;--tooltip-shadow:0 16px 36px #04091080, 0 5px 14px #02060c6b;--timeline-hover-line:#e7efffbd;--primary:#7ca6ff;--primary-strong:#6794ff;--accent-soft:#ff87a3;--shadow-card:0 26px 72px #02081273;--chart-bg:#1c2940;--session-strip-bg:#1a273ee6;--session-strip-border:#718ec361;--session-strip-shadow:0 14px 24px #040a1857;--session-strip-text:#a9bde3;--session-strip-arrow-bg:#7394ce33;--session-strip-arrow-bg-hover:#8bace352;--session-strip-arrow-bg-disabled:#5871a224;--session-strip-arrow-color:#d3e2ff;--session-strip-item-hover:#81a1d933;--session-strip-item-active-bg:#e9f3ff24;--session-strip-item-active-color:#d9e6ff;--session-strip-empty-color:#a7bde5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-radial), var(--bg);color:var(--text);margin:0}button,input,a{font:inherit}a{color:inherit;text-decoration:none}.app-shell{max-width:var(--shell-max);min-height:100vh;margin:0 auto;padding:0 24px 34px}.app-bar{grid-template-columns:var(--dashboard-left-rail-width) minmax(0, 1fr) var(--dashboard-right-rail-width);margin-bottom:var(--app-bar-bottom-gap);background:0 0;border:0;border-radius:0;align-items:center;gap:12px 16px;padding:18px 16px 16px;display:grid;position:relative}.app-bar:after{content:"";border-bottom:1px solid var(--surface-muted);pointer-events:none;width:100vw;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.app-bar--with-tabbar{grid-template-columns:var(--dashboard-left-rail-width) minmax(0, 1fr) var(--dashboard-right-rail-width)}.app-bar--with-tabbar .app-bar__brand{grid-column:1}.app-bar__nav{grid-column:2;justify-self:start}.app-bar--with-tabbar .app-bar__actions{grid-column:3;justify-self:end}.app-bar--with-tabbar .app-bar__tabbar{grid-area:2/1/auto/-1;width:100%;min-width:0}.app-bar__brand{min-width:0}.app-bar__brand strong,h1,h2{font-family:Inter,sans-serif}.app-bar__brand strong{font-size:1.12rem;display:block}.app-bar__nav{justify-content:flex-start;align-items:center;gap:8px;margin-left:-8px;padding-left:0;display:flex}.app-bar__nav-button,.icon-button,.pill-button{cursor:pointer;border:0}.app-bar__nav-button{color:var(--text-subtle);background:0 0;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;transition:color .2s;display:inline-flex}.app-bar__nav-button.is-active{color:var(--text)}.app-bar__actions{grid-column:3;justify-content:flex-end;align-items:center;gap:10px;display:flex}.icon-button{width:42px;height:42px;color:var(--text);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s;display:inline-flex}.icon-button:hover{background:var(--surface-soft)}.icon-button--ghost{background:0 0}.pill-button{border-radius:999px;justify-content:center;align-items:center;padding:12px 18px;transition:transform .2s;display:inline-flex}.pill-button:hover{transform:translateY(-1px)}.pill-button--primary{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff}.pill-button--ghost{background:var(--surface-soft);color:var(--text)}.app-shell__body{min-height:calc(100vh - 140px)}.app-footer{border-top:1px solid var(--surface-muted);width:100%;color:var(--text-subtle);justify-content:center;align-items:center;margin-top:28px;padding:0;font-size:.84rem;display:flex}.app-footer__inner{text-align:center;width:100%;padding-top:34px}.app-footer__inner small{text-align:center;width:100%;margin:0 auto;display:block}.dashboard-page{grid-template-columns:var(--dashboard-left-rail-width) minmax(0, 1fr) var(--dashboard-right-rail-width);gap:var(--dashboard-column-gap);display:grid;position:relative}.dashboard-page:before,.dashboard-page:after{content:"";top:calc(-1 * var(--app-bar-bottom-gap));background:var(--surface-muted);pointer-events:none;width:1px;position:absolute;bottom:0}.dashboard-page:before{left:calc(var(--dashboard-left-rail-width) + (var(--dashboard-column-gap) / 2))}.dashboard-page:after{right:calc(var(--dashboard-right-rail-width) + (var(--dashboard-column-gap) / 2))}.dashboard-rail,.dashboard-center,.detail-page__main,.detail-page__side{flex-direction:column;gap:24px;display:flex}.dashboard-rail--left,.dashboard-center,.dashboard-rail--right{padding-left:12px;padding-right:12px}.profile-card,.section-card,.summary-card,.notice-banner{background:var(--surface-soft)}.profile-card{align-items:center;gap:16px;min-height:116px;display:flex}.profile-card__avatar{color:#7b3f35;background:linear-gradient(135deg,#ffd9bf,#f2b39c);border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;font-size:1.45rem;font-weight:800;display:inline-flex}.profile-card p{color:var(--text-subtle);margin:6px 0 0}.section-card{border-radius:32px;padding:22px}.section-card--no-border,.section-card--assistant,.section-card--insights{border-color:#0000}.section-card--insights{box-shadow:none;background:0 0;border:0;padding:0}.dashboard-surface,.section-card--surface{background:var(--surface-strong);box-shadow:none;border:0}.section-card--surface{padding-left:0;padding-right:0}.section-card--surface .section-card__header{padding:0 2px}.section-card--surface>:not(.section-card__header){padding-left:2px;padding-right:2px}:root:not([data-theme=dark]) .dashboard-page .section-card--metrics-flat-light,:root:not([data-theme=dark]) .live-monitoring-page .section-card--metrics-flat-light{box-shadow:none;background:0 0;border:0}:root[data-theme=dark] .dashboard-page .dashboard-surface,:root[data-theme=dark] .dashboard-page .section-card--surface,:root[data-theme=dark] .live-monitoring-page .section-card--surface{background:0 0}.section-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-card__header h2{margin:0;font-size:1.06rem;line-height:1.2}.section-card__header p,.section-card__action{color:var(--text-subtle);font-size:.92rem;line-height:1.45}.section-card__header p{margin:4px 0 0}.section-card__action-button{color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.92rem;line-height:1.45;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.section-card__action-button:hover,.section-card__action-button:focus-visible{color:var(--text);background:#6d8ac51f;outline:none}.section-card__action-button--icon{padding:6px}.section-card--chart .section-card__header{align-items:center}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-grid--dashboard{margin-top:4px}.summary-card{border-radius:24px;padding:18px 18px 16px}.summary-card__label,.summary-card__supporting{color:var(--text-subtle);display:block}.summary-card__header{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.summary-card__value-row{align-items:baseline;gap:10px;margin:12px 0 6px;display:flex}.summary-card__value{margin:0;font-size:1.75rem;line-height:1;display:block}.summary-card--dashboard{background:var(--surface-soft);min-height:144px;box-shadow:none;border:none;flex-direction:column;gap:16px;padding-top:16px;display:flex;position:relative}.summary-card--dashboard .summary-card__label{font-size:.9rem}.summary-card--dashboard .summary-card__value{color:var(--text);font-size:clamp(1.45rem,1.9vw,1.7rem)}.section-card--metrics-flat-light .summary-card--dashboard .summary-card__value{font-size:clamp(1.1rem,1.65vw,1.3rem)}.summary-card--dashboard .summary-card__supporting{font-size:.88rem}.summary-card--dashboard .summary-card__value-row{margin:0}.summary-card__icon{color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.summary-card__supporting--inline{margin-top:2px}.summary-card__status{border:none;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:auto;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.summary-card__status--optimal{color:var(--success);background:#2ea05814}.summary-card__status--moderate{color:var(--warning);background:#da9c2f17}.summary-card__status--low{color:var(--danger);background:#d83d3d14}.summary-card__tooltip{background:var(--surface-strong);border:1px solid var(--line-muted);width:min(300px,100vw - 48px);box-shadow:var(--shadow-card);color:var(--text);opacity:0;visibility:hidden;pointer-events:none;z-index:12;border-radius:12px;padding:10px 12px;font-size:.78rem;line-height:1.45;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.summary-card__tooltip p{margin:0}.summary-card__tooltip p+p{margin-top:8px}.summary-card--dashboard:hover .summary-card__tooltip,.summary-card--dashboard:focus-within .summary-card__tooltip{opacity:1;visibility:visible;transform:translateY(0)}.tone-optimal small,.tone-optimal{color:var(--success)}.tone-moderate small,.tone-moderate{color:var(--warning)}.tone-alert,.tone-alert small{color:var(--danger)}.section-card--session{padding-top:18px}.session-strip{border:1px solid var(--session-strip-border);background:var(--session-strip-bg);color:var(--session-strip-text);box-shadow:none;border-radius:16px;grid-template-columns:46px minmax(0,1fr) 46px;align-items:stretch;margin:0;display:grid;overflow:hidden}.session-strip__arrow{background:var(--session-strip-arrow-bg);color:var(--session-strip-arrow-color);cursor:pointer;border:0;justify-content:center;align-items:center;transition:background-color .2s;display:inline-flex}.session-strip__arrow:hover:not(:disabled),.session-strip__arrow:focus-visible:not(:disabled){background:var(--session-strip-arrow-bg-hover);outline:none}.session-strip__arrow:disabled{cursor:not-allowed;color:var(--session-strip-text);background:var(--session-strip-arrow-bg-disabled)}.session-strip__viewport{position:relative;overflow:hidden}.session-strip__page{gap:8px;padding:8px;display:grid}.session-strip__page.is-sliding-next{animation:.22s session-strip-slide-next}.session-strip__page.is-sliding-previous{animation:.22s session-strip-slide-previous}.session-strip__item{color:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:4px;transition:background-color .2s,color .2s;display:flex}.session-strip__item strong{color:var(--text);letter-spacing:.01em;font-size:.7rem;font-weight:600;line-height:1.1}.session-strip__item span,.session-strip__item small{color:var(--session-strip-text);opacity:1;font-size:.84rem;line-height:1.1}.session-strip__item small{font-size:.78rem}.session-strip__item:hover,.session-strip__item:focus-visible{background:var(--session-strip-item-hover);outline:none}.session-strip__item.is-active{background:var(--session-strip-item-active-bg);color:var(--session-strip-item-active-color);box-shadow:0 8px 18px #2949802e}.session-strip__item.is-active strong{color:var(--session-strip-item-active-color)}.session-strip__item.is-active span,.session-strip__item.is-active small{color:var(--session-strip-item-active-color);opacity:1}.session-strip__empty{min-height:72px;color:var(--session-strip-empty-color);grid-column:1/-1;place-items:center;margin:0;font-size:.9rem;display:grid}@keyframes session-strip-slide-next{0%{opacity:.75;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes session-strip-slide-previous{0%{opacity:.75;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.session-detail-list,.rule-list,.architecture-list,.insight-list,.history-list{flex-direction:column;display:flex}.session-detail-list{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.session-detail-item{border:1px solid var(--line-muted);border-radius:14px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid}.session-detail-item__icon{width:28px;height:28px;color:var(--primary);border-radius:12px;justify-content:center;align-self:center;align-items:center;display:inline-flex}.session-detail-item small,.rule-list span,.insight-list p,.insight-list span{color:var(--text-subtle)}.session-detail-item small{margin-bottom:4px;display:block}.session-detail-item strong{font-size:.98rem;line-height:1.35;display:block}.architecture-list{gap:14px;margin:0;padding:0;list-style:none}.architecture-list li{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;display:grid}.architecture-list__icon{justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.dashboard-center__split{grid-template-columns:minmax(0,2.02fr) minmax(230px,.82fr);gap:22px;display:grid}.sleep-stage-chart,.timeline-chart,.mini-trend-chart{width:100%}.sleep-stage-chart{position:relative}.sleep-stage-chart svg,.mini-trend-chart svg{width:100%}.sleep-stage-chart svg{aspect-ratio:1100/410;height:auto;min-height:300px}.mini-trend-chart svg{height:360px}.timeline-chart{position:relative}.timeline-chart svg{aspect-ratio:980/300;width:100%;height:auto;min-height:250px}.timeline-chart--responsive svg{aspect-ratio:auto;height:100%;min-height:0}.weekly-trends__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.weekly-trends__grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.weekly-trends__chart-card{border-color:#0000;flex-direction:column;height:auto;display:flex;overflow:hidden}.weekly-trends__chart-card .section-card__header{margin-bottom:12px}.weekly-trends__chart-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.weekly-trends__chart-header strong{font-size:.92rem}.weekly-trends__chart-header span{color:var(--text-subtle);font-size:.86rem}.weekly-trend-chart{width:min(100%,320px);max-width:100%;margin-inline:auto;display:block;position:relative}.weekly-trend-chart svg{width:100%;height:auto;display:block}.weekly-trend-chart__point{stroke:var(--surface-strong);stroke-width:2px}.sleep-stage-chart__label{fill:var(--text-subtle);text-rendering:geometricprecision;font-family:Manrope,sans-serif;font-size:15px}.sleep-stage-chart__tick,.timeline-chart__tick{fill:var(--text-subtle);font-family:Manrope,sans-serif;font-size:16px}.sleep-stage-chart__tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);width:224px;height:56px;box-shadow:var(--tooltip-shadow);-webkit-backdrop-filter:blur(12px)saturate(145%);box-sizing:border-box;pointer-events:none;z-index:10;border-radius:14px;flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;display:inline-flex;position:absolute}.sleep-stage-chart__tooltip strong{font-size:.86rem}.sleep-stage-chart__tooltip span{color:var(--text-subtle);font-size:.8rem}.stage-summary{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;display:flex}.timeline-chart__captions{margin-top:14px}.stage-summary__item{color:var(--text-subtle);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:.94rem;display:inline-flex}.stage-summary__dot{border-radius:50%;width:10px;height:10px}.rule-list{gap:12px;margin:0;padding:0;list-style:none}.rule-list li{border-top:1px solid var(--line-muted);grid-template-columns:46px minmax(0,1fr);align-items:start;gap:10px;padding:12px 0;display:grid}.rule-list li:first-child{border-top:0;padding-top:2px}.rule-list li strong{font-family:Space Grotesk,sans-serif}.assistant-card{flex-direction:column;gap:18px;display:flex}.assistant-card__header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.assistant-card__badge{width:62px;height:62px;color:var(--primary);background:#5b86f71f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.assistant-card__title-group h2{margin:0;font-size:1.06rem;line-height:1.2}.assistant-card__title-group p{color:var(--text-subtle);margin:6px 0 0;font-size:.96rem;line-height:1.35}.assistant-card p{margin:0;font-size:.98rem;line-height:1.6}.insight-list{gap:18px;margin:0;padding:0;list-style:none;position:relative}.insight-list li{padding-left:22px;position:relative}.insight-list li:before{content:"";background:var(--line-muted);width:1px;position:absolute;top:8px;bottom:-18px;left:3px}.insight-list li:last-child:before{display:none}.insight-list__marker{background:currentColor;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:0}.insight-list li strong{margin-bottom:8px;font-size:.98rem;display:block}.insight-list p{margin:0 0 10px;line-height:1.45}.insight-warning{color:var(--primary)}.insight-positive{color:var(--series-hrv)}.insight-neutral{color:var(--text-subtle)}.notice-banner{color:var(--danger);border-radius:20px;margin-bottom:4px;padding:13px 16px}.chart-empty{background:var(--surface-soft);min-height:220px;color:var(--text-subtle);border-radius:24px;place-items:center;display:grid}.chart-empty--loading{background:linear-gradient(#93a3be14,#93a3be24)}.chart-empty--error{color:var(--danger);text-align:center;padding:24px;font-weight:600}.dashboard-placeholder-stack{gap:8px;display:grid}.dashboard-placeholder-line{background:linear-gradient(90deg,#8e9fba29 25%,#c2cee06b 50%,#8e9fba29 75%) 0 0/240% 100%;border-radius:999px;width:100%;height:14px;animation:1.4s ease-in-out infinite dashboard-shimmer}.dashboard-placeholder-line--small{max-width:110px}.dashboard-placeholder-line--medium{max-width:180px}.dashboard-placeholder-line--title{max-width:145px}.dashboard-placeholder-line--value{max-width:120px;height:28px}.dashboard-placeholder-line--status{max-width:96px}.dashboard-placeholder-line--large{max-width:360px;height:18px}.dashboard-placeholder-line--icon{width:18px;min-width:18px;max-width:18px;height:18px}.dashboard-placeholder-line--architecture-text{width:132px;min-width:132px;max-width:132px}.dashboard-inline-error{color:var(--danger);margin:0;font-size:.86rem;line-height:1.4}.dashboard-inline-error--small{margin-top:6px;font-size:.76rem;display:block}.dashboard-inline-error-block{min-height:84px;color:var(--danger);text-align:center;background:#d83d3d14;border:1px solid #d83d3d3d;border-radius:18px;place-items:center;padding:16px;font-weight:600;display:grid}.insight-list--loading{padding-top:4px}.insight-list--loading li{row-gap:12px;display:grid}.timeline-chart__note{display:none}.timeline-chart__tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);min-width:220px;max-width:320px;box-shadow:var(--tooltip-shadow);-webkit-backdrop-filter:blur(12px)saturate(145%);pointer-events:none;z-index:10;border-radius:14px;flex-direction:column;gap:4px;padding:10px 12px;display:inline-flex;position:absolute}.timeline-chart__tooltip strong{font-size:.86rem}.timeline-chart__tooltip-row{color:var(--text);align-items:center;gap:8px;font-size:.84rem;display:inline-flex}.timeline-chart__tooltip-row i{border-radius:50%;width:10px;height:10px}.timeline-chart__series-path{vector-effect:non-scaling-stroke}.timeline-chart__series-path--animate:not(.timeline-chart__series-path--dashed){stroke-dasharray:1;stroke-dashoffset:1px;animation:1s forwards timeline-series-draw}@keyframes timeline-series-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.timeline-chart__axis-value{fill:var(--text-subtle);font-family:Manrope,sans-serif;font-size:13px}.settings-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#161f332e;place-items:center;padding:24px;animation:.22s forwards modal-backdrop-in;display:grid;position:fixed;inset:0}.settings-modal{background:var(--surface-strong);border:1px solid var(--surface-muted);transform-origin:top;border-radius:30px;flex-direction:column;gap:22px;width:min(560px,100%);padding:24px;animation:.24s cubic-bezier(.2,.7,.2,1) forwards modal-panel-in;display:flex;box-shadow:0 20px 60px #28365729}.settings-modal-backdrop.is-closing{animation:.18s forwards modal-backdrop-out}.settings-modal-backdrop.is-closing .settings-modal{animation:.18s forwards modal-panel-out}.app-settings-modal{gap:8px}.settings-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.app-settings-modal .settings-modal__header{align-items:center}.app-settings-modal .settings-modal__section{padding-top:12px}.app-settings-modal .settings-choice-row{margin-bottom:8px}.settings-modal__header h2,.settings-modal__section h3{margin:0}.settings-modal__header p{color:var(--text-subtle);margin:6px 0 0}.settings-modal__section{border-top:1px solid var(--line-muted);padding-top:18px}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.992)}}@media (prefers-reduced-motion:reduce){.settings-modal-backdrop,.settings-modal,.settings-modal-backdrop.is-closing,.settings-modal-backdrop.is-closing .settings-modal{animation:none}}.sleep-stages-modal{max-width:620px}.sleep-stages-modal__list{gap:10px;margin:0;padding-left:18px;display:grid}.sleep-stages-modal__list li strong{margin-bottom:4px;display:block}.sleep-stages-modal__list li p{color:var(--text-subtle);margin:0}.sleep-stages-modal__targets{color:var(--text-subtle);margin:14px 0 0}.session-picker-modal{width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:hidden}.session-picker-modal__list{flex-direction:column;gap:16px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.session-picker-modal__month{flex-direction:column;gap:10px;display:flex}.session-picker-modal__month-title{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.92rem}.session-picker-modal__day{flex-direction:column;gap:8px;display:flex}.session-picker-modal__day-title{color:var(--text);margin:0;font-size:.9rem}.session-picker-modal__item{border:1px solid var(--line-muted);background:var(--surface-soft);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .2s,background-color .2s;display:flex}.session-picker-modal__item:hover,.session-picker-modal__item:focus-visible{background:#6d8ac514;border-color:#6d8ac56b;outline:none}.session-picker-modal__item.is-active{background:#5b86f71a;border-color:#5b86f77a}.session-picker-modal__item-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.session-picker-modal__item-header strong{font-size:.95rem;font-weight:400}.session-picker-modal__item-header span{color:var(--primary);letter-spacing:.01em;font-size:.78rem;font-weight:700}.session-picker-modal__item p{color:var(--text-subtle);margin:0;font-size:.9rem}.session-picker-modal__item small{color:var(--text-subtle);font-size:.84rem}.session-picker-modal__empty{color:var(--text-subtle);margin:0}.settings-list{gap:12px;margin:12px 0 0;display:grid}.settings-list div{grid-template-columns:120px minmax(0,1fr);gap:12px;display:grid}.settings-list dt{color:var(--text-subtle)}.settings-list dd{margin:0;font-weight:600}.settings-logout-button{color:#fff;background:linear-gradient(135deg,#f07b94,#da6177);gap:8px;margin-top:16px;margin-bottom:10px}.settings-logout-button:hover,.settings-logout-button:focus-visible{background:linear-gradient(135deg,#ea6e88,#cb5168);transform:none}.settings-choice-row{flex-wrap:wrap;gap:10px;margin-top:14px;margin-bottom:16px;display:flex}.settings-choice{border:1px solid var(--surface-muted);background:var(--surface-soft);color:var(--text-subtle);border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.settings-choice.is-active{color:var(--text);background:#5b86f71a;border-color:#5b86f733}.detail-page{grid-template-columns:minmax(0,1fr) 320px;gap:24px;display:grid}.live-monitoring-page{gap:18px;display:grid}.live-monitoring-primary-card{min-width:0}.live-monitoring-top-row{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;display:grid}.live-monitoring-robert{min-width:0}.live-monitoring-robert__header h2{margin:0}.live-monitoring-robert .live-monitoring-chips{margin-top:8px}.live-monitoring-metric-rail{grid-auto-flow:column;align-self:start;align-items:start;gap:10px;display:grid}.live-monitoring-chips{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin:-2px 0 12px;display:flex}.live-monitoring-chip{border:1px solid var(--surface-muted);background:var(--surface-soft);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.84rem;line-height:1.35;display:inline-flex}.live-monitoring-chip strong{font-weight:600}.live-monitoring-chip--status{padding-left:10px}.live-status-dot{width:9px;height:9px;color:var(--text-subtle);background:currentColor;border-radius:999px;flex:none;position:relative}.live-status-dot:after{content:"";border-radius:inherit;opacity:.28;background:currentColor;animation:1.7s ease-out infinite live-status-dot-pulse;position:absolute;inset:-4px}.live-monitoring-chip--in-bed .live-status-dot{color:var(--success)}.live-monitoring-chip--out-of-bed .live-status-dot{color:var(--warning)}.live-monitoring-chip--offline .live-status-dot{color:var(--danger)}.live-monitoring-chip--unknown .live-status-dot{color:var(--text-subtle)}@keyframes live-status-dot-pulse{0%{opacity:.35;transform:scale(.9)}75%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.live-status-dot:after{animation:none}}.live-monitoring-metric-card{border-color:var(--line-muted);background:0 0;border-radius:14px;width:max-content;min-width:124px}.live-monitoring-metric-card .session-detail-item__icon{background:0 0}.live-monitoring-graph-row{width:100%;height:clamp(380px,52vh,620px);margin-top:10px}.live-monitoring-graph-row .timeline-chart{height:100%;min-height:0}.detail-page__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-page__header h1,.login-panel h1{margin:6px 0 10px;font-size:clamp(2rem,4vw,3rem)}.detail-page__trend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.history-pill{justify-content:space-between;align-items:center;gap:16px;display:flex}.history-pill.is-active{background:linear-gradient(135deg,#5a8cff38,#8f6cf633)}.mini-trend-chart{min-height:84px}.mini-trend-chart--empty{background:var(--surface-soft);border-radius:18px}.login-page{--login-layout-inline-padding:clamp(24px, 5.5vw, 78px);isolation:isolate;min-height:100vh;display:block;position:relative;overflow:hidden}.login-page__media,.login-page__tint{pointer-events:none;position:absolute;inset:0}.login-page__media{z-index:-2;background-position:50%;background-size:cover;animation:.76s ease-out both login-bg-appear;transform:scale(1.02)}.login-page__tint{z-index:-1;background:linear-gradient(120deg,#f2f6ff85 0%,#e9effb4d 38%,#dbe4f76b 100%),linear-gradient(#e9f0fb0f,#e9f0fb24 58%,#e9f0fb57);animation:.54s ease-out both login-fade-in}.login-page__controls{z-index:3;top:24px;right:var(--login-layout-inline-padding);gap:10px;display:flex;position:absolute}.login-page .icon-button{color:#1f2c47;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7faff57;border:1px solid #fafcff73}.login-page .icon-button:hover{background:#f7faff85}.login-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f9fcff85;border:1px solid #fff9;border-radius:30px;width:min(480px,100%);padding:clamp(24px,3vw,34px);animation:.52s cubic-bezier(.2,.8,.2,1) both login-panel-enter;box-shadow:0 24px 72px #31466d38,inset 0 1px #ffffff59}.login-page__layout{min-height:100vh;padding:var(--login-layout-inline-padding);place-items:center end;display:grid}.login-panel__brand{flex-direction:column;gap:6px;margin-bottom:22px;display:flex}.login-panel__brand strong{letter-spacing:.01em;color:#132444;font-size:1.28rem}.login-panel__brand span{color:#1b345ab8;letter-spacing:.08em;text-transform:uppercase;font-size:.92rem;font-weight:600}.login-panel__copy{flex-direction:column;gap:12px;margin-bottom:26px;display:flex}.login-panel__copy h1{color:#132444;margin:0;font-size:clamp(1.85rem,3vw,2.45rem);line-height:1.08}.login-panel__copy p{color:#213659d6;max-width:36ch;margin:0;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:10px;display:flex}.field input{color:#102241;background:#f6faffb8;border:1px solid #fff9;border-radius:16px;width:100%;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.field input:focus{background:#fbfdffe6;border-color:#5984f68c;outline:none;box-shadow:0 0 0 3px #6088f629}.field__input-wrap{position:relative}.field__input-wrap input{padding-right:48px}.field__password-toggle{color:#122a4cb8;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;transition:background-color .2s,color .2s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field__password-toggle:hover{color:#122a4ceb;background:#a0b3d638}.field__password-toggle:focus-visible{color:#0f2444f2;background:#a0b3d63d;outline:none;box-shadow:0 0 0 2px #6088f62e}.login-form .pill-button--primary{min-height:46px;margin-top:4px}.login-form .pill-button--primary:hover,.login-form .pill-button--primary:focus-visible{background:linear-gradient(135deg,#6a96ff,#4f7ff1);transform:none}.login-submit-button__content{align-items:center;gap:10px;display:inline-flex}.login-submit-button__spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite login-button-spin}.form-error{color:#b43a53;margin:0;font-size:.95rem}:root[data-theme=dark] .login-page__tint{background:linear-gradient(120deg,#09142480 0%,#0b192e61 38%,#101f3a75 100%),linear-gradient(#0814240f,#08142429 50%,#08142457)}:root[data-theme=dark] .login-page .icon-button{color:#edf4ff;background:#14223675;border-color:#a7c1eb52}:root[data-theme=dark] .login-page .icon-button:hover{background:#1c2f499e}:root[data-theme=dark] .field__password-toggle{color:#e0ebffcc}:root[data-theme=dark] .field__password-toggle:hover{color:#ecf2fff5;background:#738caf42}:root[data-theme=dark] .field__password-toggle:focus-visible{background:#809ac13d;box-shadow:0 0 0 2px #93b4eb57}:root[data-theme=dark] .login-panel{background:#0e1c308a;border-color:#9fb8e447;box-shadow:0 24px 72px #0509107a,inset 0 1px #ffffff14}:root[data-theme=dark] .login-panel__brand strong,:root[data-theme=dark] .login-panel__copy h1{color:#edf4ff}:root[data-theme=dark] .login-panel__brand span,:root[data-theme=dark] .login-panel__copy p{color:#e4ecfad1}:root[data-theme=dark] .field input{color:#ebf3ff;background:#0f1d318f;border-color:#a0bae742}:root[data-theme=dark] .field input:focus{background:#102239c2;border-color:#84a8f394;box-shadow:0 0 0 3px #749bf02e}:root[data-theme=dark] .form-error{color:#ff8ba0}.dashboard-page--login-entry{transform-origin:top;animation:.44s cubic-bezier(.2,.75,.2,1) both dashboard-login-entry}@keyframes login-bg-appear{0%{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1.02)}}@keyframes login-fade-in{0%{opacity:0}to{opacity:1}}@keyframes login-panel-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes login-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dashboard-login-entry{0%{opacity:0;transform:translateY(8px)scale(.988)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dashboard-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.loading-screen{place-items:center;min-height:100vh;display:grid}.loading-shell{text-align:center;padding:24px}.protected-route{position:relative}.protected-route__content{opacity:1;transition:opacity .32s cubic-bezier(.22,1,.36,1)}.protected-route--intro-exiting .protected-route__content{animation:.42s cubic-bezier(.22,1,.36,1) both protected-route-content-enter}.loading-screen--brand{z-index:120;background:var(--surface);position:fixed;inset:0}.loading-shell--brand{padding:24px 28px}.loading-kicker--brand{color:var(--text);letter-spacing:-.015em;justify-content:center;align-items:center;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;display:inline-flex}.loading-kicker--brand:before{content:none}.loading-shell--brand h1{color:var(--text-subtle);letter-spacing:.02em;text-transform:none;margin:10px 0 0;font-family:Manrope,sans-serif;font-size:.95rem;font-weight:600}.loading-screen--exit{pointer-events:none;animation:.43s cubic-bezier(.22,1,.36,1) forwards loading-screen-out}@keyframes protected-route-content-enter{0%{opacity:.04;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-screen-out{0%{opacity:1;filter:blur()}to{opacity:0;filter:blur(3px)}}@media (prefers-reduced-motion:reduce){.loading-screen--exit,.protected-route--intro-exiting .protected-route__content{animation-duration:1ms}}@media (width>=1201px){.app-bar{column-gap:22px}.live-monitoring-primary-card>.live-monitoring-top-row,.live-monitoring-primary-card>.live-monitoring-graph-row{padding-left:12px;padding-right:12px}}@media (width<=1200px){.dashboard-page{grid-template-columns:var(--dashboard-left-rail-width) minmax(0, 1fr);grid-template-areas:"left center"".right"}.dashboard-page:before,.dashboard-page:after{content:none}.dashboard-rail--left{grid-area:left}.dashboard-center{grid-area:center}.dashboard-rail--right{grid-area:right}.detail-page{grid-template-columns:1fr}.detail-page__main{order:1}.detail-page__side{order:2}}@media (width<=960px){.dashboard-page{grid-template-columns:1fr;grid-template-areas:"left""center""right"}.dashboard-page:before,.dashboard-page:after{content:none}.dashboard-rail--left{order:1;padding-left:0;padding-right:0}.dashboard-center{order:2;padding-left:0;padding-right:0}.dashboard-rail--right{order:3;padding-left:0;padding-right:0}.session-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.architecture-list--two-column-sm{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.architecture-list--two-column-sm li{border:1px solid var(--line-muted);border-radius:12px;align-items:center;padding:10px 12px}.login-page{--login-layout-inline-padding:18px}.session-strip__item{min-height:48px}.app-shell{padding:16px}.app-bar{grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding-left:0;padding-right:0}.app-bar__nav{grid-area:2/1/auto/-1;justify-content:flex-start;margin-left:-10px;padding-left:0;overflow-x:auto}.app-bar__actions{flex-wrap:nowrap;grid-area:1/2;justify-content:flex-end}.summary-grid,.environment-grid,.dashboard-center__split,.weekly-trends__metrics,.weekly-trends__grid,.detail-page__trend-grid{grid-template-columns:1fr}.summary-grid.summary-grid--dashboard,.weekly-trends__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.live-monitoring-top-row{grid-template-columns:1fr}.live-monitoring-metric-rail{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}.live-monitoring-metric-card{width:100%;min-width:0}.live-monitoring-graph-row{height:clamp(340px,48vh,520px)}.login-page__layout{place-items:end center;padding:18px}.login-panel{border-radius:26px;width:min(560px,100%)}}@media (width>=961px) and (width<=1200px){.live-monitoring-top-row{grid-template-columns:1fr}.live-monitoring-metric-rail{grid-template-columns:repeat(3,max-content);grid-auto-flow:row;justify-content:start}}@media (width<=640px){.live-monitoring-graph-row{height:clamp(300px,44vh,460px)}.login-page__controls{top:16px;right:var(--login-layout-inline-padding)}.login-panel{padding:22px 18px}.login-panel__brand strong{font-size:1.15rem}.login-panel__copy h1{font-size:clamp(1.55rem,8vw,2rem)}}@media (prefers-reduced-motion:reduce){.login-page__media,.login-page__tint,.login-panel,.dashboard-page--login-entry{animation:none}.login-submit-button__spinner{animation-duration:1.5s}}
