

.cabinet-body {
    --app-font-family: "Inter", system-ui, sans-serif;
    --app-font-weight-regular: 400;
    --app-font-weight-bold: 700;
    --app-font-weight-extra-bold: 800;
    --app-type-landing-h1-size: 32px;
    --app-type-landing-h1-line: 32px;
    --app-type-landing-h2-size: 22px;
    --app-type-landing-h2-line: 24px;
    --app-type-metric-size: 18px;
    --app-type-metric-line: 22px;
    --app-type-page-size: 18px;
    --app-type-page-line: 22px;
    --app-type-card-size: 15px;
    --app-type-card-line: 15px;
    --app-type-body-size: 16px;
    --app-type-body-line: 20px;
    --app-type-data-size: 14px;
    --app-type-data-line: 16px;
    --app-type-field-label-size: 12px;
    --app-type-field-label-line: 14px;
    --app-type-input-size: 16px;
    --app-type-input-line: 16px;
    --app-type-control-size: 14px;
    --app-type-control-line: 16px;
    --app-type-caption-size: 12px;
    --app-type-caption-line: 14px;
    --app-letter-spacing: -0.7px;
    --app-color-background: #fff;
    --app-color-card: #f5f5f8;
    --app-radius-surface: 16px;
    --app-radius-control: 12px;
    --app-radius-data: 6px;
    --app-radius-micro: 2px; --app-radius-segment: 1px;
    --app-radius-pill: 999px;
    --app-radius-circle: 50%;
    --app-line-subtle: rgba(0, 0, 0, 0.16);
    --app-line-card: rgba(0, 0, 0, 0);
    --app-line-control: rgba(0, 0, 0, 0.42);
    --app-line-active: #000;
    --app-line-danger: #e13333;
    --app-line-pro: #625b43;
    --app-color-accent: #0f766e;
    --app-color-success: var(--app-color-accent);
    --app-color-text-muted: #625d5a;
    --app-focus-ring: #000;
    --app-corner-shape: squircle;
    --app-card-shadow: none;
    --app-home-card-row-gap: 16px;
    --app-home-card-column-gap: 12px;
    --app-chart-section-gap: 34px;
    --app-chart-title-gap: 10px;
    --app-chart-control-gap: 12px;
    --app-today-card-gap: var(--app-content-gap);
    --app-today-card-padding: 10px;
    background: var(--app-color-background) !important;
}


.cabinet-body {
    font-family: var(--app-font-family);
    font-size: var(--app-type-body-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-body-line);
    letter-spacing: var(--app-letter-spacing);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}


body.cabinet-body .app-type-caption :where(
    :not(button, summary, input, select, textarea)
) {
    font-family: var(--app-font-family);
    font-size: var(--app-type-caption-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-caption-line);
    letter-spacing: var(--app-letter-spacing);
}

body.cabinet-body .app-type-data {
    font-family: var(--app-font-family);
    font-size: var(--app-type-data-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-data-line);
}

body.cabinet-body .app-type-metric {
    font-family: var(--app-font-family);
    font-size: var(--app-type-metric-size);
    font-weight: var(--app-font-weight-bold);
    line-height: var(--app-type-metric-line);
}

body.cabinet-body .app-type-field-label {
    font-family: var(--app-font-family);
    font-size: var(--app-type-field-label-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-field-label-line);
}

body.cabinet-body .app-type-landing-h1 {
    font-family: var(--app-font-family);
    font-size: var(--app-type-landing-h1-size);
    font-weight: var(--app-font-weight-extra-bold);
    line-height: var(--app-type-landing-h1-line);
    text-transform: uppercase;
}

body.cabinet-body .app-type-landing-h2 {
    font-family: var(--app-font-family);
    font-size: var(--app-type-landing-h2-size);
    font-weight: var(--app-font-weight-extra-bold);
    line-height: var(--app-type-landing-h2-line);
    text-transform: uppercase;
}

body.cabinet-body .app-type-page-title {
    font-family: var(--app-font-family);
    font-size: var(--app-type-page-size);
    font-weight: var(--app-font-weight-bold);
    line-height: var(--app-type-page-line);
    text-transform: uppercase;
}

body.cabinet-body .app-type-card-title {
    font-family: var(--app-font-family);
    font-size: var(--app-type-card-size);
    font-weight: var(--app-font-weight-bold);
    line-height: var(--app-type-card-line);
    text-transform: uppercase;
}

body.cabinet-body .app-type-caption {
    font-family: var(--app-font-family);
    font-size: var(--app-type-caption-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-caption-line);
    letter-spacing: var(--app-letter-spacing);
}

body.cabinet-body .app-type-body {
    font-family: var(--app-font-family);
    font-size: var(--app-type-body-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-body-line);
}

body.cabinet-body .app-type-control {
    font-family: var(--app-font-family);
    font-size: var(--app-type-control-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-control-line);
    letter-spacing: var(--app-letter-spacing);
}

.cabinet-body :is(
    p,
    li,
    dt,
    dd,
    figcaption,
    blockquote
) {
    font-family: var(--app-font-family);
    font-size: var(--app-type-body-size);
    font-weight: var(--app-font-weight-regular);
    line-height: var(--app-type-body-line);
}

.cabinet-body :is(h1, h2, h3, h4, h5, h6) {
    margin-block-start: 0;
}


.cabinet-body :is(h1, h2, h3, h4, h5, h6, small, sub, sup) {
    font-size: inherit;
    line-height: inherit;
}

.cabinet-body :is(h1, h2, h3, h4, h5, h6, strong, b, th) {
    font-weight: inherit;
}

.cabinet-body .pwa-install-step-copy > strong,
.cabinet-body .wearable-onboarding-step-list > li > strong {
    font-weight: var(--app-font-weight-bold);
}

.cabinet-body :is(code, kbd, samp, pre) {
    font-family: inherit;
}

.cabinet-body :is(
    button,
    summary
) {
    font-family: var(--app-font-family);
    font-size: var(--app-type-control-size);
    line-height: var(--app-type-control-line);
}

.cabinet-body :is(
    input,
    select,
    textarea
) {
    font-family: var(--app-font-family);
    font-size: var(--app-type-input-size);
    line-height: var(--app-type-input-line);
}

.cabinet-body :is(
    button,
    summary
) {
    font-weight: var(--app-font-weight-regular);
}

.cabinet-body :is(
    input,
    select,
    textarea
) {
    font-weight: var(--app-font-weight-regular);
}

.cabinet-body .today-debug-actions {
    background: rgb(255 255 255 / 94%);
}

.cabinet-body :is(
    .weight-readonly-label,
    .weight-form > p
) {
    font-family: var(--app-font-family);
}


.cabinet-body .app-info-popover,
.cabinet-body .app-callout {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    border: 1px solid #8a5a00;
    border-radius: var(--app-radius-data);
    padding: 12px;
    background: #fff4cc;
    color: #684300;
    overflow-wrap: anywhere;
    corner-shape: round;
    box-shadow: var(--app-card-shadow);
}

.cabinet-body .home-widget-info-toggle,
.cabinet-body .health-assessment-journey__info-toggle {
    position: absolute;
    top: 50%;
    left: 100%;
    appearance: none;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    touch-action: manipulation;
    transform: translateY(-50%);
}

.cabinet-body .home-widget-info-toggle .home-setup-action-icon,
.cabinet-body .health-assessment-journey__info-toggle .home-setup-action-icon {
    width: 16.5px;
    height: 16.5px;
    pointer-events: none;
}

.cabinet-body .app-info-popover.app-type-caption {
    position: absolute;
    z-index: 21;
    top: calc(100% + 15px);
    right: auto;
    left: var(--widget-info-left, 0px);
    width: var(--widget-info-width, 260px);
    padding: 10px 36px 10px 12px;
    color: #000;
    text-align: left;
    text-transform: none;
    white-space: normal;
}

.cabinet-body .app-info-popover[hidden] { display: none; }
.cabinet-body .app-info-popover.app-type-caption p { margin: 0; color: inherit; }

.cabinet-body .app-info-popover > button {
    position: absolute;
    z-index: 23;
    top: 2px;
    right: 2px;
    appearance: none;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    touch-action: manipulation;
}

.cabinet-body .app-info-popover > button::before {
    position: absolute;
    inset: -7px;
    content: "";
}

.cabinet-body .app-info-popover > button:hover { background: rgb(0 0 0 / 6%); }
.cabinet-body .app-info-popover > button span { font-size: 20px; line-height: 1; }

.cabinet-body .app-info-popover::before {
    position: absolute;
    z-index: 22;
    top: -5px;
    left: calc(var(--widget-info-arrow-left, 24px) - 1px);
    width: 10px;
    height: 10px;
    border-top: 1px solid #8a5a00;
    border-left: 1px solid #8a5a00;
    background: #fff4cc;
    content: "";
    clip-path: polygon(0 0, 100% 0, 0 100%);
    pointer-events: none;
    transform: translateX(-50%) rotate(45deg);
}

.cabinet-body [data-info-placement="above"] > .app-info-popover {
    top: auto;
    bottom: calc(100% + 15px);
}

.cabinet-body [data-info-placement="above"] > .app-info-popover::before {
    top: auto;
    bottom: -5px;
    transform: translateX(-50%) rotate(225deg);
}

.cabinet-body .app-callout button.notification-install-link {
    position: relative;
    display: inline;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-decoration: underline;
    text-underline-offset: 0.16em;
    white-space: nowrap;
    box-shadow: none;
}

.cabinet-body .app-callout button.notification-install-link:hover {
    background: transparent;
    color: inherit;
}

.cabinet-body .app-callout .notification-install-link::before {
    position: absolute;
    inset: -15px -6px;
    content: "";
}


.cabinet-body :is(button, summary) {
    border-width: 1px;
    border-color: var(--app-line-subtle);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}

.cabinet-body :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="url"],
    input[type="search"],
    input[type="tel"],
    select,
    textarea
) {
    border: 1px solid var(--app-line-control);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
}

.cabinet-body :is(input[type="radio"], input[type="checkbox"]) {
    border-width: 1px;
    border-color: var(--app-line-control);
}


.cabinet-body :is(
    button,
    a[href],
    input,
    select,
    textarea,
    summary,
    .metric-chart-svg
):focus-visible:where(:not(.ai-chat-field textarea)) {
    outline: 3px solid var(--app-focus-ring) !important;
    outline-offset: 3px !important;
}


.cabinet-body .auth-panel,
.cabinet-body .cabinet-setup,
.cabinet-body .wellbeing-checkin-card,
.cabinet-body .wellness-panel,
.cabinet-body .weight-panel,
.cabinet-body .notification-settings,
.cabinet-body .privacy-settings,
.cabinet-body .account-settings,
.cabinet-body .nutrition-progress-card,
.cabinet-body .nutrition-panel,
.cabinet-body .today-item,
.cabinet-body .today-empty,
.cabinet-body .cabinet-section-placeholder,
.cabinet-body .habits-empty,
.cabinet-body .intervals-initial-sync,
.cabinet-body .workouts-empty,
.cabinet-body .health-assessment--stale,
.cabinet-body .health-assessment--missing,
.cabinet-body .sleep-chart-panel,
.cabinet-body .modules-hub-card,
.cabinet-body .modules-home-card {
    border: 1px solid var(--app-line-card);
    border-radius: var(--app-radius-surface);
    background: var(--app-color-card);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}

.cabinet-body .account-settings.account-detail-card {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}


.cabinet-body :is(.home-area--tasks, .home-setup-actions, .modules-hub-list, .settings-quick-actions) {
    row-gap: 12px;
}


.cabinet-body .home-area--tasks > .app-type-page-title {
    margin-block-end: 4px;
}

.cabinet-body .home-setup-actions { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.cabinet-body .home-setup-action {
    --app-navigation-border-width: 1px;
    position: relative;
    display: grid; grid-template-columns: 22px minmax(0, 1fr) 8px; align-content: center; align-items: center; column-gap: 10px;
    min-width: 0; height: 38px; min-height: 38px; border: 1px solid var(--app-line-card); border-radius: var(--app-radius-surface); padding: 4px 8px;
    box-sizing: border-box; -webkit-appearance: none; appearance: none; corner-shape: var(--app-corner-shape);
    background: var(--app-color-card); color: #000; font: inherit; text-align: left; text-decoration: none; cursor: pointer; touch-action: manipulation;
}
.cabinet-body .home-setup-action-copy { display: flex; align-items: center; gap: 8px; min-width: 0; }
.cabinet-body .home-setup-action-copy > .app-action-copy { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-body [data-completed="true"] .app-action-copy { text-decoration: line-through; }
.cabinet-body .app-action-complete-mark { color: #000; background: transparent; }
.cabinet-body .home-setup-action::after { content: ""; position: absolute; inset: -3px 0; }
.cabinet-body .home-setup-action[hidden] { display: none; }
.cabinet-body .upgrade-status { margin: 0; }
.cabinet-body .upgrade-status:empty { display: none; }
.cabinet-body .upgrade-status[data-tone="error"] { color: #e13333; }
.cabinet-body .home-setup-action:disabled { cursor: wait; opacity: 0.55; }
.cabinet-body .home-setup-action-icon { display: block; width: 22px; height: 22px; color: #707070; }
.cabinet-body .home-setup-action-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.cabinet-body .assessment-history-card,
.cabinet-body .wellness-history,
.cabinet-body .weight-history,
.cabinet-body .weight-history-table,
.cabinet-body .nutrition-history-panel,
.cabinet-body .workouts-history,
.cabinet-body .settings-utility-card,
.cabinet-body .cabinet-dialog,
.cabinet-body .quick-add-sheet,
.cabinet-body .app-history-table {
    border: 1px solid var(--app-line-subtle);
    border-radius: var(--app-radius-surface);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}


.cabinet-body .today-item-readiness > .recovery-recommendation {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: var(--app-card-shadow);
}


.cabinet-body #cabinet-section-home {
    --app-today-card-gap: var(--app-home-card-row-gap);
    gap: 32px var(--app-home-card-column-gap);
}

.cabinet-body #cabinet-section-home :is(
    .sleep-observation-home,
    .wellbeing-home-checkin
) {
    margin: 0;
}

.cabinet-body #cabinet-section-home :is(.today-list, .modules-home-list) {
    gap: var(--app-home-card-row-gap) var(--app-home-card-column-gap);
}

.cabinet-body #cabinet-section-home > .today-list:not(:has(> :not([hidden]))) {
    display: none;
}

.cabinet-body #cabinet-section-home :is(
    .wellbeing-checkin-card,
    .today-item,
    .nutrition-progress-card,
    .today-empty
) {
    padding: var(--app-today-card-padding);
}

.assessment-module-group__caption-highlight {
    display: inline-block;
    padding: 0 4px;
    border-radius: var(--app-radius-pill);
    background: #2563eb;
    color: #fff;
    white-space: nowrap;
    vertical-align: baseline;
}

.interactive-kamalama-result__metric-gain {
    box-sizing: border-box;
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    border-radius: var(--app-radius-pill);
    padding: 3px 8px;
    background: var(--app-color-accent);
    color: #fff;
    overflow-wrap: anywhere;
}

.interactive-kamalama-result__metric-gain.is-positive {
    background: #eef5ec;
    color: #0f766e;
}


.cabinet-body .habit-summary > div,
.cabinet-body .habit-row,
.cabinet-body .wellness-card,
.cabinet-body .weight-current-card,
.cabinet-body .weight-chart-panel,
.cabinet-body .steps-summary article,
.cabinet-body .workout-card,
.cabinet-body .manual-activity-preview,
.cabinet-body .nutrition-assumptions {
    border-width: 1px;
    border-color: var(--app-line-card);
    border-radius: var(--app-radius-control);
    background: var(--app-color-card);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}


.cabinet-body .manual-activity-weight,
.cabinet-body .support-channel,
.cabinet-body .nutrition-day-picker,
.cabinet-body .assessment-day-picker,
.cabinet-body .assessment-backfill {
    border-width: 1px;
    border-color: var(--app-line-subtle);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}

@keyframes longevity-checkin-heart-rise {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.65);
    }

    18% {
        opacity: 1;
        transform: translate(-50%, -75%) scale(1.15);
    }

    35% {
        transform: translate(-50%, -88%) scale(1);
    }

    70% {
        opacity: 1;
        transform: translate(-50%, -150%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -180%) scale(0.9);
    }
}

@keyframes longevity-checkin-broken-heart-rise {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.65);
    }

    18% {
        opacity: 1;
        transform: translate(-45%, -75%) scale(1.12);
    }

    28% {
        transform: translate(-55%, -88%) scale(1);
    }

    38% {
        transform: translate(-48%, -100%) scale(1);
    }

    70% {
        opacity: 1;
        transform: translate(-52%, -150%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -180%) scale(0.9);
    }
}

.app-pixel-feedback {
    --app-pixel-feedback-animation: app-pixel-feedback-rise;
    position: fixed;
    z-index: 10000;
    display: block;
    width: 56px;
    height: 56px;
    background-image: var(--app-pixel-feedback-icon);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    image-rendering: pixelated;
    pointer-events: none;
    transform-origin: center;
    animation: var(--app-pixel-feedback-animation) 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.app-pixel-feedback[data-pixel-feedback="meal"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-meal.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="workout"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-workout.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="strength"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-strength.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="sauna"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-sauna.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="steps"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-steps.svg?v=20261007-selected-steps-v1");
}

.app-pixel-feedback[data-pixel-feedback="measurement"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-measurement.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="lab"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-lab.svg?v=20261021-lab-achievements-v1");
}

.app-pixel-feedback[data-pixel-feedback="sleep"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-sleep.svg?v=20261007-unified-pixel-assets-v1");
}

.app-pixel-feedback[data-pixel-feedback="done"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-journal.svg?v=20261007-unified-pixel-assets-v1");
    --app-pixel-feedback-animation: longevity-checkin-heart-rise;
}

.app-pixel-feedback[data-pixel-feedback="not_done"] {
    --app-pixel-feedback-icon: url("/assets/icons/pixel-heart-broken.svg?v=20261023-broken-heart-crack-v1");
    --app-pixel-feedback-animation: longevity-checkin-broken-heart-rise;
}

@keyframes app-pixel-feedback-rise {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) translateY(0) scale(0.55);
    }

    18% {
        opacity: 1;
        transform: translate(-50%, -50%) translateY(-14px) scale(1.15);
    }

    36% {
        transform: translate(-50%, -50%) translateY(-28px) scale(1);
    }

    72% {
        opacity: 1;
        transform: translate(-50%, -50%) translateY(-54px) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) translateY(-72px) scale(0.9);
    }
}


.cabinet-body .today-item-actions :is(a, button),
.cabinet-body .health-assessment__action,
.cabinet-body .pro-payment-promo summary {
    border-width: 1px;
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}


.cabinet-body #cabinet-section-weight .body-metrics-summary {
    gap: 10px;
    border: 0;
    padding-block: 0;
}

.cabinet-body #cabinet-section-weight .weight-current-card {
    border: 1px solid var(--app-line-card);
    border-radius: var(--app-radius-control);
    padding: 14px;
    background: var(--app-color-card);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}

.cabinet-body #cabinet-section-weight .weight-current-card:first-child,
.cabinet-body #cabinet-section-weight .weight-current-card:last-child {
    border: 1px solid var(--app-line-card);
    padding: 12px;
}

.cabinet-body .app-history-table:focus-visible {
    outline: 3px solid var(--app-focus-ring);
    outline-offset: 3px;
}


.cabinet-body #cabinet-section-night-metrics > .wellness-panel,
.cabinet-body #cabinet-section-weight > .weight-panel:first-of-type,
.cabinet-body #cabinet-section-activity > .steps-panel,
.cabinet-body #cabinet-section-nutrition > .nutrition-module-content > .nutrition-panel,
.cabinet-body #cabinet-section-nutrition > .nutrition-module-content > .nutrition-history-panel {
    border: 0;
    border-radius: 0;
    corner-shape: round;
    background: transparent;
    box-shadow: var(--app-card-shadow);
}


.cabinet-body :is(
    .auth-tab,
    .sleep-reminder-option,
    .wellness-average-toggle,
    .modules-hub-settings-toggle,
    .manual-activity-type-options span,
    .manual-activity-intensity-options span
) {
    border: 1px solid var(--app-line-control);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
    box-shadow: var(--app-card-shadow);
}

.cabinet-body :is(
    .auth-tab.is-active,
    .manual-activity-type-options input:checked + span,
    .manual-activity-intensity-options input:checked + span
) {
    border-color: var(--app-line-active);
}


.cabinet-body :is(
    .today-status[data-type="loading"],
    .recovery-readiness-signal,
    .workout-sport,
    .settings-upgrade-placeholder
) {
    border-radius: var(--app-radius-pill);
    corner-shape: round;
}

.cabinet-body :is(
    .intervals-initial-sync-track,
    .nutrition-progress-track
) {
    border-color: var(--app-line-control);
}


.cabinet-body :is(
    .app-bottom-nav-icon,
    .cabinet-back-button,
    input[type="radio"]
) {
    border-radius: var(--app-radius-circle);
    corner-shape: round;
}


.cabinet-body :is(
    .app-card-disclosure-companion,
    .app-card-disclosure-toggle
) {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    padding: 0;
    border: 1px solid var(--app-line-control);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
    background: transparent;
    white-space: nowrap;
}

.cabinet-body .app-card-disclosure-companion {
    position: absolute;
    z-index: 1;
    top: 3px;
    right: 34px;
    margin: 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: #000;
    cursor: pointer;
    touch-action: manipulation;
}

.cabinet-body .app-card-disclosure-toggle {
    position: absolute;
    z-index: 1;
    top: 5px;
    right: 0;
    margin: 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: #000;
    cursor: pointer;
    touch-action: manipulation;
}

.cabinet-body .app-card-disclosure-chevron {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-4px) rotate(45deg);
    transition: transform 160ms ease;
}


.cabinet-body :is(.home-setup-action-chevron, .modules-hub-module-open-icon) {
    position: absolute;
    top: calc(19px - 4px - var(--app-navigation-border-width, 0px));
    right: calc(15px - 4px - var(--app-navigation-border-width, 0px));
    color: #000;
    opacity: 1;
    transform: rotate(-45deg);
    transition: none;
}

.cabinet-body :is(
    .app-card-disclosure-toggle[aria-expanded="true"],
    details[open] > .app-card-disclosure-toggle
) > .app-card-disclosure-chevron {
    transform: translateY(2px) rotate(225deg);
}

.cabinet-body :is(
    .recovery-readiness-details,
    .nutrition-progress-details,
    .modules-hub-recommendation-why-body
) :is(h3, h4) {
    text-transform: none;
}



.cabinet-body .account-detail-card .account-delete-open,
.cabinet-body .account-delete-submit {
    border-color: var(--app-line-danger);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
}

.cabinet-body .account-detail-card .account-delete-open,
.cabinet-body :is(
    .today-debug-button,
    .today-debug-time,
    .intervals-disconnect-button,
    .workout-delete,
    .weight-row-actions button.is-delete,
    .habit-action[data-action="delete"]
) {
    border-color: var(--app-line-danger);
}

.cabinet-body .account-delete-submit:disabled {
    border-color: var(--app-line-danger);
    background: var(--app-line-danger);
    color: #fff;
    opacity: 0.48;
}


.cabinet-body .sleep-observation-fields :is(input[type="time"], input[data-time-input-24h]) {
    border: 1px solid var(--app-line-control);
    border-radius: var(--app-radius-control);
    corner-shape: var(--app-corner-shape);
}


.cabinet-body :is(
    .recovery-readiness-details,
    .nutrition-progress-details,
    .nutrition-progress-carryover-explanation,
    .nutrition-progress-empty
) {
    border-color: var(--app-line-subtle);
}

.cabinet-body :is(
    .app-history-table,
    .wellness-history,
    .weight-history-table
) :is(th, td) {
    border-color: var(--app-line-subtle);
}


.cabinet-body .workouts-empty {
    border-style: dashed;
}

.cabinet-body #cabinet-section-home :is(
    .sleep-observation-home-card,
    .wellbeing-home-checkin
) .checkin-card-period {
    margin: 0;
    color: #000;
}


.cabinet-body .wearable-onboarding-dialog.cabinet-dialog {
    border: 0;
    border-radius: 0;
}


.cabinet-body .wearable-onboarding-dialog.cabinet-dialog .wearable-onboarding-heading h2 {
    overflow-wrap: normal;
    word-break: normal;
}

body.cabinet-body .app-beta-badge {
    display: inline-flex;
    flex: 0 0 auto;
    padding: 1px 6px;
    border: 1px solid currentColor;
    border-radius: var(--app-radius-data);
    background: transparent;
    color: #d63384;
    white-space: nowrap;
}

body.cabinet-body .app-beta-title {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.cabinet-body {
    --app-progress-height: 6px;
    --app-progress-gap: 1px;
}

.cabinet-body :is(
    .recovery-readiness-segment,
    .nutrition-progress-track,
    .achievement-progress-segments,
    .achievement-progress-segment,
    .interactive-progress-segment,
    .life-resource__track,
    .intervals-initial-sync-track,
    .wearable-onboarding-progress,
    .auth-loading-track,
    .connection-quality-toast-progress
) {
    box-sizing: border-box;
    height: var(--app-progress-height);
    border-radius: var(--app-radius-segment);
    corner-shape: round;
}

.cabinet-body :is(
    .recovery-readiness-segments,
    .recovery-readiness-scale,
    .achievement-progress-segments,
    .interactive-progress-track
) {
    column-gap: var(--app-progress-gap);
}

.cabinet-body :is(
    .nutrition-progress-fill,
    .achievement-progress-fill,
    .interactive-progress-fill,
    .life-resource__fill,
    .intervals-initial-sync-fill,
    .wearable-onboarding-progress > span,
    .connection-quality-toast-progress > span
) {
    border-radius: inherit;
}

.cabinet-body .interactive-completion[aria-busy="true"] button.interactive-completion-cabinet-return,
.cabinet-body .nutrition-composer-dialog button.nutrition-submit-button.nutrition-submit-pending,
.cabinet-body .wearables-detail-actions button.intervals-full-sync-button.is-busy {
    position: relative;
    overflow: hidden;
    background: #000;
    color: #fff;
    opacity: 1;
}

.cabinet-body .interactive-completion[aria-busy="true"] button.interactive-completion-cabinet-return::after,
.cabinet-body .nutrition-composer-dialog .nutrition-submit-pending::after,
.cabinet-body .wearables-detail-actions .intervals-full-sync-button.is-busy::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 25%, rgb(255 255 255 / 20%) 50%, transparent 75%);
    animation: app-button-shimmer 1.6s linear infinite;
}

@keyframes app-button-shimmer {
    from { transform: translateX(-100%); }
    to { transform: translateX(100%); }
}


.cabinet-body [data-home-loading-slot]:is(
    [data-home-pending="true"],
    [data-health-assessment-widget]:has([data-health-assessment-loading]),
    .cabinet-home[data-home-customization-resolved="false"] [data-home-customization-widget]:not([hidden])
)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 20%, rgb(255 255 255 / 85%) 50%, transparent 80%);
    animation: app-button-shimmer 1.6s linear infinite;
}

.cabinet-body .app-notice-stack[hidden],
.cabinet-body .app-notice[hidden],
.cabinet-body .app-notice [hidden] {
    display: none;
}

.cabinet-body .app-notice-stack {
    display: grid;
    gap: 8px;
    position: sticky;
    z-index: 95;
    top: 0;
    padding: 4px var(--app-page-inline);
    padding-top: calc(4px + env(safe-area-inset-top));
    background: var(--app-color-background, #fff);
}


.cabinet-body.interactive-lock:not(.interactive-results-scroll) .app-notice-stack {
    position: fixed;
    top: var(--app-visual-offset-top, 0px);
    left: calc(var(--app-frame-left, 0px) / var(--app-scale, 1));
    width: var(--app-logical-width, 100cqi);
    box-sizing: border-box;
}

.cabinet-body .app-notice .app-callout {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 26px;
    gap: 6px;
    padding: 4px;
}

.cabinet-body .app-announcement-copy {
    flex: 1;
    min-width: 0;
    margin: 0;
}


.cabinet-body .app-callout:has(.app-notice-dismiss:not([hidden])) .app-announcement-copy:has(a:not([hidden])) {
    padding-right: 8px;
}

.cabinet-body .app-announcement a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.cabinet-body .app-notice :is([data-announcement-type="red"], [data-notice-type="red"]) {
    border-color: #a12828;
    background: #ffebeb;
    color: #842020;
}

.cabinet-body .app-notice [data-notice-type="neutral"] {
    border-color: #bdbdbd;
    background: #f5f5f5;
    color: #525252;
}

.cabinet-body .app-notice :is([data-announcement-type="green"], [data-notice-type="green"]) {
    border-color: #347447;
    background: #e8f5e9;
    color: #225c34;
}

.cabinet-body .app-notice .app-notice-dismiss {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    margin: 0;
    border: 0;
    border-radius: var(--app-radius-control);
    padding: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    touch-action: manipulation;
}


.cabinet-body .app-notice .app-notice-dismiss::before {
    position: absolute;
    inset: -14px;
    content: "";
}

.cabinet-body .app-notice .app-notice-dismiss svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.cabinet-body .cabinet-section-header {
    top: calc(env(safe-area-inset-top) + var(--app-announcement-height, 0px));
}


.cabinet-body:has(> .app-notice-stack:not([hidden])) .cabinet-shell {
    min-height: calc(var(--app-logical-height, 100svh) - var(--app-announcement-height, 0px));
    padding-top: 0;
}

.cabinet-body:has(> .app-notice-stack:not([hidden])) :is(.interactive-assessment.is-results, .interactive-shell.is-results) {
    min-height: calc(var(--app-logical-height, 100dvh) - var(--app-announcement-height, 0px));
}

.cabinet-body:has(> .app-notice-stack:not([hidden])) .cabinet-section-header {
    top: var(--app-announcement-height, 0px);
}

.cabinet-body:has(> .app-notice-stack:not([hidden])) .interactive-assessment:not(.is-results) {
    top: calc(var(--app-visual-offset-top, 0px) + var(--app-announcement-height, 0px));
    height: calc(var(--app-visual-height, var(--app-logical-height, 100dvh)) - var(--app-announcement-height, 0px));
}

.cabinet-body:has(> .app-notice-stack:not([hidden])) .interactive-shell.is-results .interactive-body {
    padding-top: 0;
}

.cabinet-body:has(> .app-notice-stack:not([hidden])) .interactive-kamalama-result__journey-sticky {
    top: var(--app-announcement-height, 0px);
}


.cabinet-body dialog[open] header:has(> .app-notice-stack) {
    flex-wrap: wrap;
}

.cabinet-body dialog[open] .app-notice-stack[data-notice-placement="modal"] {
    position: relative;
    inset: auto;
    z-index: auto;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 4px 0;
    flex: 0 0 auto;
    grid-column: 1 / -1;
}

.cabinet-body dialog[open] .app-announcement-copy {
    overflow-wrap: anywhere;
}
