body {
    background: var(--ui-bg);
    color: var(--ui-text);
}

.site-header {
    background: var(--ui-header);
    border-bottom: 1px solid #30343a;
    box-shadow: none;
}

.header-inner {
    width: min(1560px, calc(100% - 24px));
    min-height: 50px;
    gap: 14px;
}

.nav-logo {
    height: 29px;
    max-width: 150px;
}

.main-nav {
    gap: 1px;
}

.main-nav a,
.login-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: var(--radius-control);
    font-size: .84rem;
    font-weight: 600;
}

.main-nav a:hover,
.login-button:hover,
.user-menu summary:hover {
    background: var(--ui-header-hover);
}

.userimage {
    width: 34px;
    height: 34px;
}

.user-menu summary {
    border-radius: var(--radius-circle);
    padding: 2px;
    corner-shape: round;
}

.user-menu-content {
    top: calc(100% + 5px);
    border-color: var(--ui-border-strong);
    border-radius: var(--radius-menu);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .18);
}

@media (hover: hover) and (pointer: fine) {
    .user-menu {
        padding: 9px 10px 14px;
        margin: -9px -10px -14px;
    }
    .user-menu-content { top: calc(100% - 14px); }
}

.user-menu-content a,
.user-menu-content button {
    padding: 9px 12px;
    font-size: .86rem;
}

.user-menu-content {
    width: 238px;
    padding: 5px;
}

.user-menu-section + .user-menu-section,
.user-menu-content > form,
.user-menu-content > a {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid #e5e8eb;
}

.user-menu-label {
    display: block;
    padding: 5px 8px 3px;
    color: var(--ui-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.user-menu-content a,
.user-menu-content button {
    border-radius: 0;
}

.page-shell {
    width: min(1380px, calc(100% - 28px));
    padding: 24px 0 42px;
}

.page-heading {
    margin-bottom: 14px;
}

.page-heading h1 {
    font-size: 1.55rem;
}

.content-card,
.dashboard-card,
.status-card,
.tool-card,
.person-card,
.admin-card,
.admin-metrics article,
.onboarding-card,
.shared-schedule-card {
    border-color: var(--ui-border);
    border-radius: var(--radius-card);
    box-shadow: none;
}

.content-card,
.dashboard-card,
.status-card,
.tool-card {
    padding: 16px;
}

.dashboard-grid,
.tools-grid {
    gap: 9px;
}

.dashboard-card:hover {
    transform: none;
    border-color: var(--ui-border-strong);
    box-shadow: none;
    background: var(--ui-panel-soft);
}

.alert {
    padding: 9px 11px;
    border-radius: 0;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea) {
    border-radius: var(--radius-control) !important;
}

button,
input,
select,
textarea {
    accent-color: var(--ui-accent);
}

.primary-button,
.secondary-button,
.danger-button,
.view-button,
.settings-save,
.friend-search button,
.person-card button,
.profile-hero > a,
.role-form select,
.tool-actions button,
.onboarding-actions button,
.onboarding-actions .primary-action,
.onboarding-actions .secondary-action,
.activity-primary-action,
.activity-secondary-button,
.activity-toolbar-link,
.add-unit-button,
.activity-empty-action,
.time-now-button,
.equipment-manage-link,
.equipment-submit,
.equipment-secondary-action {
    border-radius: var(--radius-control) !important;
}

.icon-button,
.remove-row-button,
.activity-icon-button,
.time-quick-toggle,
.activity-tool-panel-header > button,
.library-editor-close,
.schedule-month-event-menu,
.dashboard-customize-move button {
    border-radius: var(--radius-detail) !important;
}

.quick-tools-launcher,
.quick-tools-close,
.pin-tool-button,
.workout-session-clock button,
.session-exercise-check {
    border-radius: var(--radius-circle);
    corner-shape: round;
}

.quick-tools-panel,
.workout-session-panel,
.mobile-more-panel {
    border-radius: var(--radius-modal);
}

.active-workout-main,
.session-exercise {
    border-radius: var(--radius-card);
}

.session-set {
    border-radius: var(--radius-control);
}

.session-empty {
    border-radius: var(--radius-card);
}

.quick-tools-tabs {
    border-radius: var(--radius-control);
}

.quick-tools-tabs button {
    border-radius: var(--radius-detail);
}

.quick-timer-inputs input,
.session-exercise-footer button,
.workout-session-actions button,
.mobile-more-panel a,
.mobile-more-panel button,
.choice-card,
.onboarding-option {
    border-radius: var(--radius-control);
}

.pinned-tool-chip,
.relationship-badge,
.profile-chips span,
.admin-role,
.section-title-row span {
    border-radius: var(--radius-full);
    corner-shape: round;
}

.activities-page {
    width: min(1540px, calc(100% - 20px));
    padding-top: 12px;
}

.activity-editor,
.activity-history,
.activity-detail-panel,
.equipment-card,
.equipment-editor {
    border-radius: var(--radius-card) !important;
    box-shadow: none !important;
}

.activity-editor-heading,
.activity-context-grid,
.activity-history-toolbar {
    background: var(--ui-panel-soft);
}

.sport-combobox-popover {
    border-radius: var(--radius-menu) !important;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .14) !important;
}

.sport-option-icon,
.activity-row-icon,
.activity-sport-inline {
    color: var(--ui-text-secondary);
}

.sport-icon,
.sport-option-icon .sport-icon,
.activity-row-icon .sport-icon,
.activity-sport-inline .sport-icon,
.sport-current .sport-icon {
    width: 21px;
    height: 21px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 21px;
    font-size: 20px;
    line-height: 1;
}

.sport-option-icon {
    width: 24px !important;
    display: grid;
    place-items: center;
}

.sport-current,
.activity-sport-inline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.sport-current .sport-icon {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
}

.activity-row-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ui-icon-border);
    border-radius: var(--radius-detail);
    background: var(--ui-icon-surface);
    color: var(--ui-icon-foreground);
}

:root[data-theme="dark"] .activity-row-icon {
    border-color: var(--ui-icon-border);
    background: var(--ui-icon-surface);
    color: var(--ui-icon-foreground);
}

.activity-row-icon svg {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
}

.optional-field-chip,
.equipment-chip span,
.detail-chips span,
.sport-favorite-quick {
    border-radius: var(--radius-full) !important;
    corner-shape: round !important;
}

.activity-list-row:hover {
    background: var(--ui-surface-hover);
}

.activity-form-actions {
    border-top: 1px solid var(--ui-border);
}

.cronograma-page,
.exercicios-page,
.library-page {
    background: var(--ui-bg) !important;
}

.schedule-shell,
.exercise-shell,
.library-shell {
    width: min(1560px, calc(100% - 20px)) !important;
    padding: 16px 0 42px !important;
}

.schedule-heading,
.exercise-heading {
    align-items: center !important;
    margin-bottom: 12px !important;
}

.schedule-heading h1,
.exercise-heading h1 {
    margin-bottom: 2px !important;
    font-size: 1.55rem !important;
}

.schedule-heading p,
.exercise-heading p {
    font-size: .82rem;
}

.schedule-toolbar {
    gap: 7px !important;
    margin-bottom: 8px !important;
    padding: 7px !important;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card) !important;
    background: var(--ui-panel-soft);
}

.schedule-toolbar .primary-button,
.schedule-toolbar .secondary-button,
.schedule-toolbar .view-button,
.schedule-heading-actions .primary-button,
.schedule-heading-actions .secondary-button {
    min-height: 34px;
    padding: 6px 10px;
    font-size: .8rem;
}

.schedule-select-label {
    gap: 3px !important;
}

.schedule-select-label span {
    font-size: .67rem;
}

.schedule-select-label select {
    min-width: min(300px, 60vw) !important;
    min-height: 34px;
    padding: 6px 8px !important;
    font-size: .82rem;
}

.view-switch {
    border-radius: var(--radius-control) !important;
}

.exercise-tools-card,
.exercise-editor-card,
.exercise-copy-card,
.library-form-card,
.library-exercise-card,
.empty-state,
.calendar-view,
.agenda-card,
.schedule-month-toolbar,
.monthly-day {
    border-radius: var(--radius-card) !important;
    box-shadow: none !important;
}

.monthly-event {
    box-shadow: none !important;
}

.workout-preview-dialog {
    border-radius: var(--radius-modal) !important;
    box-shadow: none !important;
}

.schedule-create-panel,
.workout-editor {
    box-shadow: none !important;
}

.calendar-view {
    border-color: var(--ui-border-strong) !important;
}
@media (min-width: 761px) {
    .calendar-view { height: clamp(500px, 72dvh, 800px) !important; }
}

.calendar-corner,
.day-header,
.time-track {
    background: var(--ui-panel-soft) !important;
}

.day-header {
    font-size: .78rem;
}

.workout-card {
    border-radius: var(--radius-card) !important;
}

.schedule-month-view[hidden],
.agenda-view[hidden],
.calendar-view[hidden] {
    display: none !important;
}

.schedule-month-toolbar {
    padding: 7px 9px !important;
    border-color: var(--ui-border) !important;
}

.schedule-month-hint {
    font-size: .78rem !important;
}

.schedule-month-calendar .monthly-day {
    min-height: 132px !important;
}

.schedule-month-day-heading strong,
.preview-exercise-number,
.session-exercise-number {
    border-radius: var(--radius-circle) !important;
    corner-shape: round !important;
}

.preview-exercise-meta span,
.field-chip {
    border-radius: var(--radius-full) !important;
    corner-shape: round !important;
}

@media (max-width: 900px) {
    .header-inner {
        min-height: 50px;
    }

    .nav-logo {
        height: 28px;
    }
}

@media (max-width: 720px) {
    .activities-page,
    .schedule-body .schedule-shell,
    .schedule-shell,
    .exercise-shell,
    .library-shell {
        width: calc(100% - 12px) !important;
    }

    .mobile-bottom-nav {
        left: 6px;
        right: 6px;
        bottom: max(6px, env(safe-area-inset-bottom));
        border-radius: var(--radius-menu);
        box-shadow: 0 8px 24px rgba(15, 23, 42, .16);
    }

    .mobile-nav-item {
        border-radius: var(--radius-control);
    }

    .mobile-more-panel,
    .quick-tools-panel,
    .workout-session-panel,
    .workout-preview-dialog {
        border-radius: var(--radius-modal) var(--radius-modal) 0 0 !important;
    }

    .schedule-toolbar {
        border-radius: var(--radius-card) !important;
    }

    .calendar-view {
        border-radius: var(--radius-card) !important;
    }
}

.schedule-view-layout {
    display: grid;
    grid-template-columns: 196px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    min-width: 0;
}

.schedule-view-main {
    min-width: 0;
}

.schedule-side-panel {
    position: sticky;
    top: 8px;
    display: grid;
    gap: 8px;
    min-width: 0;
}

.schedule-side-new {
    width: 100%;
    justify-content: flex-start !important;
    min-height: 34px;
    padding: 6px 9px !important;
    font-size: .8rem !important;
}

.schedule-mini-month,
.schedule-side-list {
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}

.schedule-mini-month {
    padding: 8px;
}

.schedule-mini-month-heading,
.schedule-side-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.schedule-mini-month-heading strong,
.schedule-side-list-heading strong {
    min-width: 0;
    overflow: hidden;
    color: var(--ui-text-strong);
    font-size: .74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-mini-month-heading a {
    flex: 0 0 auto;
    color: var(--ui-text-secondary);
    font-size: .64rem;
    text-decoration: none;
}

.schedule-mini-month-heading a:hover {
    text-decoration: underline;
}

.schedule-mini-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    margin-top: 7px;
}

.schedule-mini-weekday,
.schedule-mini-day {
    min-width: 0;
    min-height: 21px;
    display: grid;
    place-items: center;
    color: var(--ui-muted);
    font-size: .62rem;
    font-variant-numeric: tabular-nums;
}

.schedule-mini-weekday {
    min-height: 17px;
    color: var(--ui-muted);
    font-size: .56rem;
    font-weight: 800;
    text-transform: uppercase;
}

.schedule-mini-day.is-outside {
    visibility: hidden;
}

.schedule-mini-day.is-today {
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--radius-detail);
    background: var(--ui-panel-soft);
    color: var(--ui-text-strong);
    font-weight: 800;
}

.schedule-side-list {
    overflow: hidden;
}

.schedule-side-list-heading {
    padding: 8px 9px 6px;
    border-bottom: 1px solid var(--ui-border);
}

.schedule-side-list-heading span {
    color: var(--ui-muted);
    font-size: .64rem;
}

.schedule-side-list nav {
    display: grid;
    padding: 3px;
}

.schedule-side-list a {
    min-width: 0;
    min-height: 29px;
    display: flex;
    align-items: center;
    padding: 5px 7px;
    border-left: 2px solid transparent;
    border-radius: 0;
    color: var(--ui-text-secondary);
    font-size: .72rem;
    text-decoration: none;
}

.schedule-side-list a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-side-list a:hover {
    background: var(--ui-surface-hover);
}

.schedule-side-list a.is-active {
    border-left-color: var(--ui-accent);
    background: var(--ui-accent-soft);
    color: var(--ui-text-strong);
    font-weight: 700;
}

@media (max-width: 1100px) {
    .schedule-view-layout {
        grid-template-columns: 1fr;
    }

    .schedule-side-panel {
        display: none;
    }
}

@media print {
    .schedule-side-panel {
        display: none !important;
    }

    .schedule-view-layout,
    .schedule-view-main {
        display: block !important;
    }
}


.main-nav > a.is-active,
.nav-menu-group.is-active > summary {
    background: rgba(255, 255, 255, .09);
    color: #fff;
}

.nav-menu-group {
    position: relative;
}

.nav-menu-group > summary {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    list-style: none;
    border-radius: var(--radius-control);
    padding: 7px 10px;
    color: #f8fafc;
    font-size: .84rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.nav-menu-group > summary::-webkit-details-marker {
    display: none;
}

.nav-menu-group > summary:hover,
.nav-menu-group[open] > summary {
    background: var(--ui-header-hover);
}

.nav-menu-group > summary svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .12s ease;
}

.nav-menu-group[open] > summary svg {
    transform: rotate(180deg);
}

.nav-dropdown {
    position: absolute;
    z-index: var(--z-dropdown);
    top: 100%;
    left: 0;
    width: 248px;
    overflow: hidden;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--radius-menu);
    background: var(--ui-panel);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}

.nav-dropdown a {
    min-height: 0;
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 0;
    background: transparent;
    color: var(--ui-text);
}

.nav-dropdown a + a {
    border-top: 1px solid var(--ui-border);
}

.nav-dropdown a:hover {
    background: var(--ui-surface-hover);
    color: var(--ui-text-strong);
}

.nav-dropdown strong {
    font-size: .8rem;
}

.nav-dropdown span {
    color: var(--ui-muted);
    font-size: .68rem;
    font-weight: 500;
}

@media (max-width: 720px) {
    .nav-menu-group {
        display: none;
    }
}

/* Profile photo */
.settings-avatar-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 4px 0 16px;
    padding: 12px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}
.settings-avatar-preview {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    object-fit: cover;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-circle);corner-shape:round;
    background: var(--ui-panel);
}
.settings-avatar-controls { display: grid; gap: 6px; min-width: 0; }
.settings-avatar-controls small { color: var(--ui-muted); font-size: .76rem; }
.settings-avatar-picker input[type="file"] { margin-top: 5px; padding: 6px; }
.settings-avatar-remove { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 7px !important; font-size: .8rem; font-weight: 600 !important; }
.settings-avatar-remove input { width: auto !important; }
.sport-icon { fill: currentColor; }

@media (max-width: 560px) {
    .settings-avatar-row { align-items: flex-start; }
    .settings-avatar-preview { width: 62px; height: 62px; flex-basis: 62px; }
}

/* Profile settings: sports are explicit preferences, not side effects of favorites/history. */
.settings-section-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.settings-sports-count {
    flex: 0 0 auto;
    color: var(--ui-muted);
    font-size: .76rem;
    white-space: nowrap;
    padding-top: 2px;
}

.settings-sports-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 12px 0 14px;
}

.settings-sports-search {
    width: min(360px, 100%);
    margin: 0 !important;
}

.settings-sports-search > span {
    display: block;
    margin-bottom: 5px;
    color: var(--ui-text-secondary);
    font-size: .72rem;
    font-weight: 700;
}

.settings-sports-search input {
    margin: 0 !important;
}

.settings-sports-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--ui-muted);
    font-size: .72rem;
}

.settings-sports-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.settings-practice-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-circle);corner-shape:round;
    background: var(--ui-accent);
}

.settings-favorite-star {
    color: var(--ui-warning);
    font-size: .9rem;
    line-height: 1;
}

.settings-sports-catalog {
    display: grid;
    gap: 18px;
    max-height: 430px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.settings-sports-hint {
    margin: 0 0 10px;
    color: var(--ui-muted);
    font-size: .76rem;
}

.settings-social-input {
    min-height: 40px;
    display: flex;
    align-items: stretch;
    margin-top: 5px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    overflow: hidden;
}
.settings-social-input:focus-within { border-color: var(--ui-accent); box-shadow: var(--focus-ring); }
.settings-social-input > span { display:flex; align-items:center; padding:0 9px; border-right:1px solid var(--ui-border); background:var(--ui-panel-soft); color:var(--ui-muted); font-size:.76rem; white-space:nowrap; }
.settings-social-input input { min-width:0; margin:0 !important; border:0 !important; box-shadow:none !important; }
.settings-form .settings-social-input input { border-radius: 0 !important; }

/* Dense administration follows the dashboard's compact rhythm. */
.admin-shell { width:min(1460px,calc(100% - 24px)); padding:18px 0 38px; }
.admin-heading { align-items:flex-end; margin-bottom:12px; }
.admin-heading h1 { font-size:1.55rem; }
.admin-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-bottom:10px; border:1px solid var(--ui-border); background:var(--ui-panel); }
.admin-metrics article { padding:11px 13px; border:0; border-radius:0; }
.admin-metrics article+article { border-left:1px solid var(--ui-border); }
.admin-metrics article:nth-child(4n+1) { border-left:0; }
.admin-metrics article:nth-child(n+5) { border-top:1px solid var(--ui-border); }
.admin-metrics strong { font-size:1.35rem; }
.admin-grid { gap:10px; margin-top:10px; }
.admin-card { padding:14px; }
.admin-table-card { margin-top:10px; }
.admin-table-wrap th,.admin-table-wrap td { padding:7px 8px; }
.admin-preview-bar { display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:16px; margin-bottom:10px; padding:10px 12px; border:1px solid var(--ui-border); background:var(--ui-panel-soft); }
.admin-preview-bar>div { display:grid; gap:2px; }
.admin-preview-bar span { color:var(--ui-muted); font-size:.75rem; }
.admin-preview-bar form { display:flex; align-items:center; gap:7px; margin:0; }
.admin-preview-bar select { min-width:280px; min-height:34px; }
.admin-preview-bar button { min-height:34px; padding:6px 10px; border:1px solid var(--ui-accent); border-radius:var(--radius-control); background:var(--ui-accent); color:#fff; font:inherit; font-size:.78rem; font-weight:750; cursor:pointer; }
.admin-preview-heading { min-width:0; }
.admin-preview-favorites { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.admin-preview-favorites form { margin:0; }
.admin-preview-favorites button { min-height:29px; padding:4px 8px; border-color:var(--ui-border); background:var(--ui-panel); color:var(--ui-text-secondary); }
.admin-preview-favorites button span { color:var(--ui-warning); }
.admin-preview-star { border-color:var(--ui-border) !important; background:var(--ui-panel) !important; color:var(--ui-text-secondary) !important; }

/* One aligned utility rail instead of unrelated floating pills. */
.quick-tools-launcher { right:16px; bottom:16px; width:44px; height:44px; border-radius:var(--radius-circle); corner-shape:round; box-shadow:0 6px 18px rgba(15,23,42,.2); }
.quick-tools-launcher svg { width:20px; height:20px; }
.feedback-fab { right:16px; bottom:66px; min-height:36px; padding:0 10px; border-radius:var(--radius-control); box-shadow:0 6px 18px rgba(15,23,42,.16); }

@media (max-width:1050px) {
    .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-metrics article:nth-child(odd) { border-left:0; }
    .admin-metrics article:nth-child(even) { border-left:1px solid var(--ui-border); }
    .admin-metrics article:nth-child(n+3) { border-top:1px solid var(--ui-border); }
}
@media (max-width:720px) {
    .admin-preview-bar { grid-template-columns:1fr; }
    .admin-preview-picker { align-items:stretch !important; flex-direction:column; }
    .admin-preview-bar select,.admin-preview-bar button { width:100%; min-width:0; }
}

/* Static pages load the same compact navigation rules as the application. */
.static-content button,
.static-content select {
    max-width: 100%;
}

.settings-sport-category[hidden] {
    display: none !important;
}

.settings-sport-category h3 {
    margin: 0 0 7px;
    color: var(--ui-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.settings-sport-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #e2e6ec;
    border-left: 1px solid #e2e6ec;
}

.settings-sport-card {
    min-width: 0;
    min-height: 55px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border-right: 1px solid #e2e6ec;
    border-bottom: 1px solid #e2e6ec;
    background: var(--ui-panel);
}

.settings-sport-card[hidden] {
    display: none !important;
}

.settings-sport-card.is-practiced {
    background: #f7f8fb;
    box-shadow: inset 2px 0 0 var(--ui-accent);
}

.settings-sport-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    color: #4f5e73;
}

.settings-sport-icon .sport-icon {
    width: 25px;
    height: 25px;
}

.settings-sport-name {
    min-width: 0;
}

.settings-sport-name strong {
    display: block;
    overflow: hidden;
    color: #263142;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-sport-controls {
    display: flex;
    align-items: center;
    gap: 5px;
}

.settings-sport-practice,
.settings-sport-favorite {
    margin: 0 !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.settings-sport-practice {
    gap: 4px !important;
    color: var(--ui-muted);
    font-size: .68rem !important;
    font-weight: 600 !important;
}

.settings-sport-practice input {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    accent-color: var(--ui-accent);
}

.settings-sport-favorite {
    width: 26px;
    height: 26px;
}

.settings-sport-favorite input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.settings-sport-favorite > span[aria-hidden="true"] {
    color: #c0c6d0;
    font-size: 1rem;
    line-height: 1;
    transition: color .12s ease, transform .12s ease;
}

.settings-sport-favorite input:checked + span {
    color: var(--ui-warning);
    transform: scale(1.08);
}

.settings-sport-favorite:focus-within {
    outline: 2px solid #9db4dd;
    outline-offset: 1px;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 1050px) {
    .settings-sport-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .settings-sports-toolbar { align-items: stretch; flex-direction: column; }
    .settings-sports-legend { justify-content: flex-start; }
    .settings-sport-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .settings-sport-grid { grid-template-columns: 1fr; }
    .settings-sport-card { min-height: 50px; }
}

/* Global navigation feedback */
.page-load-indicator[hidden] { display: none !important; }
.page-load-indicator {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: var(--z-toast);
    pointer-events: none;
    overflow: hidden;
}
.page-load-bar {
    width: 34%;
    height: 100%;
    background: #50648f;
    animation: stridebr-load-bar .85s ease-in-out infinite;
}
@keyframes stridebr-load-bar {
    from { transform: translateX(-110%); }
    to { transform: translateX(330%); }
}

@media (prefers-reduced-motion: reduce) {
    .page-load-bar, .page-load-block, .page-load-cell { animation: none; }
}

.session-mark-all {
    background: var(--ui-accent-soft);
    color: var(--ui-text-secondary);
}

.activity-workout-field > small {
    margin-top: 2px;
    color: var(--ui-muted);
    font-size: .72rem;
    line-height: 1.35;
}

/* Sporticon assets are external masks: smaller HTML and browser-level caching. */
.sport-icon {
    background-color: currentColor;
    -webkit-mask-image: var(--sport-icon-url);
    mask-image: var(--sport-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.settings-avatar-optimize {
    width: max-content;
    min-height: 34px;
    padding: 6px 9px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
}
.settings-avatar-optimize:hover { background: var(--ui-panel-soft); }
.settings-avatar-optimize:disabled { opacity: .55; cursor: wait; }

/* Product polish: schedules, profile links and owner test switching */
.monthly-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: -2px 0 12px;
    padding: 0 2px;
    color: var(--ui-muted);
    font-size: .76rem;
}
.monthly-legend span { display: inline-flex; align-items: center; gap: 6px; }
.monthly-legend i { width: 10px; height: 10px; border: 1px solid #9aa6b7; border-radius: var(--radius-circle); corner-shape: round; background: var(--ui-accent-soft); }
.monthly-legend i.is-scheduled { background: #e9f1ff; border-color: #8aa4d2; }
.monthly-legend i.is-trainer { background: #f3ecff; border-color: #aa8bc8; }
.monthly-today-button { margin-left: 4px; }
.schedule-month-calendar .monthly-day:target {
    outline: 3px solid rgba(66, 91, 130, .28);
    outline-offset: -3px;
    box-shadow: inset 0 0 0 1px #425b82;
}
.preview-copy-form { display: contents; }
.profile-links { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-links a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
}
.profile-links a:hover { background: var(--ui-panel-soft); border-color: #aeb8c6; }
.admin-user-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 4px; }
.admin-user-actions form { margin: 0; }
.admin-impersonate-button {
    min-height: 28px;
    padding: 4px 7px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font: inherit;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
}
.impersonation-banner {
    position: relative;
    z-index: 80;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 6px 12px;
    border-bottom: 1px solid #c7a84d;
    background: #fff7d6;
    color: #5b4711;
    font-size: .78rem;
}
.impersonation-banner form { margin: 0; }
.impersonation-banner button {
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #b79535;
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: #59450e;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
@media (max-width: 720px) {
    .monthly-heading { align-items: flex-start; }
    .monthly-heading .trainer-card-actions { width: 100%; justify-content: flex-start; }
    .monthly-toolbar { gap: 10px; }
    .monthly-nav { flex-wrap: wrap; }
    .monthly-legend { gap: 6px 12px; }
    .impersonation-banner { align-items: stretch; flex-direction: column; gap: 5px; }
    .impersonation-banner button { width: 100%; }
}

.settings-data-actions {
    display: grid;
    gap: 8px;
}

.settings-data-actions article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px;
    border: 1px solid var(--ui-border);
    background: var(--ui-panel-soft);
}

.settings-data-actions article > div {
    min-width: 0;
}

.settings-data-actions strong,
.settings-data-actions span {
    display: block;
}

.settings-data-actions strong {
    margin-bottom: 3px;
    font-size: .82rem;
}

.settings-data-actions span {
    max-width: 780px;
    color: var(--ui-muted);
    font-size: .72rem;
    line-height: 1.45;
}

.settings-data-actions form {
    margin: 0;
}

.account-delete-shell {
    width: min(900px, calc(100% - 28px));
}

.account-danger-card {
    border-left: 3px solid var(--ui-danger);
    background: var(--ui-panel);
}

.account-danger-card li {
    margin: 7px 0;
    color: var(--ui-text-secondary);
    line-height: 1.5;
}

.account-delete-form {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--ui-border);
}

.account-delete-form label {
    display: grid;
    gap: 5px;
    color: var(--ui-text-secondary);
    font-size: .75rem;
    font-weight: 700;
}

.account-delete-form > div {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 680px) {
    .settings-data-actions article {
        align-items: stretch;
        flex-direction: column;
    }
    .settings-data-actions article > a,
    .settings-data-actions article form,
    .settings-data-actions article form button {
        width: 100%;
    }
}

.static-page-shell {
    width: min(1040px, calc(100% - 28px));
}

.static-content {
    line-height: 1.62;
}

.static-content > :first-child {
    margin-top: 0;
}

.static-content > :last-child {
    margin-bottom: 0;
}

.static-content h2 {
    margin: 26px 0 8px;
    font-size: 1.02rem;
}

.static-content p,
.static-content li {
    color: var(--ui-text-secondary);
}

.static-content a:not(.primary-button):not(.secondary-button) {
    color: var(--ui-accent);
}

.static-lead,
.legal-lead {
    color: var(--ui-text-secondary);
    font-size: .96rem;
}

.static-content ul {
    padding-left: 21px;
}

.static-content code {
    padding: 2px 4px;
    border: 1px solid var(--ui-border);
    background: var(--ui-panel-soft);
    color: var(--ui-text-strong);
    font-family: var(--font-mono);
    font-size: .82em;
}

.team-profile {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.team-mark {
    width: 94px;
    height: 94px;
    padding: 18px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}

.team-profile h2 {
    margin-top: 0;
}

.contact-options,
.support-grid,
.credits-grid,
.roadmap-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.contact-options article,
.support-grid article,
.credits-grid article,
.roadmap-columns section {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}

.contact-options h2,
.support-grid h2,
.credits-grid h2,
.roadmap-columns h2 {
    margin: 2px 0 7px;
    font-size: .9rem;
}

.contact-options p,
.support-grid p,
.credits-grid li,
.roadmap-columns li {
    font-size: .78rem;
}

.contact-options .primary-button,
.contact-options .secondary-button,
.support-grid .primary-button,
.support-grid .secondary-button {
    margin-top: 6px;
}

.faq-list {
    display: grid;
    gap: 6px;
}

.faq-list details {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
}

.faq-list summary {
    padding: 11px 13px;
    color: var(--ui-text-strong);
    font-size: .82rem;
    font-weight: 750;
    cursor: pointer;
}

.faq-list details[open] summary {
    border-bottom: 1px solid var(--ui-border-soft);
    background: var(--ui-surface-hover);
}

.faq-list p {
    margin: 0;
    padding: 11px 13px 13px;
    color: var(--ui-text-secondary);
    font-size: .8rem;
}

.changelog-list {
    display: grid;
    gap: 12px;
}

.changelog-list section {
    padding-left: 14px;
    border-left: 3px solid var(--ui-accent);
}

.changelog-list time {
    color: var(--ui-muted);
    font-size: .69rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.changelog-list h2 {
    margin: 3px 0 8px;
}

@media (max-width: 800px) {
    .contact-options,
    .support-grid,
    .credits-grid,
    .roadmap-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .team-profile {
        grid-template-columns: 1fr;
    }
    .team-mark {
        width: 76px;
        height: 76px;
    }
}

/* Release 1.0 polish: planning navigation, goals guidance and one consistent utility dock. */
.goal-field-help {
    display: block;
    margin-top: 5px;
    color: #6b7280;
    font-size: .72rem;
    line-height: 1.35;
}

.monthly-planning-subnav {
    width: max-content;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 3px;
    margin: 0 0 12px;
    padding: 4px;
    overflow-x: auto;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    scrollbar-width: thin;
}

.monthly-planning-subnav a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: var(--radius-detail);
    color: #56606d;
    font-size: .75rem;
    font-weight: 750;
    text-decoration: none;
}

.monthly-planning-subnav a:hover {
    background: #f1f3f5;
    color: #242b33;
}

.monthly-planning-subnav a.is-active {
    background: var(--ui-accent);
    color: #fff;
}

.monthly-planning-subnav .planning-subnav-context {
    margin-left: 6px;
    border-left: 1px solid var(--ui-border);
    color: var(--ui-accent);
}

.monthly-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
    padding: 11px 12px;
    border-radius: 0;
    box-shadow: none;
}

.monthly-nav {
    display: flex;
    align-items: center;
    gap: 6px;
}

.monthly-nav .secondary-button {
    width: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.monthly-nav strong {
    min-width: 164px;
    color: #303842;
    font-size: .86rem;
    text-align: center;
}

.monthly-nav .monthly-today-button {
    width: auto;
    padding: 0 10px;
}

.monthly-filter {
    min-width: 250px;
}

.monthly-filter label {
    display: grid;
    gap: 4px;
    color: #5f6874;
    font-size: .69rem;
    font-weight: 800;
}

.monthly-filter select {
    min-height: 34px;
    margin: 0;
}

.monthly-legend {
    margin: 0 2px 10px;
}

.monthly-add {
    margin-bottom: 10px;
    padding: 0;
    overflow: hidden;
    box-shadow: none;
}

.monthly-add summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    color: var(--ui-text-secondary);
    font-size: .79rem;
    font-weight: 800;
    cursor: pointer;
}

.monthly-add summary::-webkit-details-marker { display: none; }
.monthly-add summary::before { content: '+'; color: var(--ui-accent); font-size: 1rem; font-weight: 900; }
.monthly-add[open] summary { margin: 0; border-bottom: 1px solid #e2e6ea; background: #f8f9fb; }
.monthly-add[open] summary::before { content: '−'; }
.monthly-add-form { padding: 12px; margin-top: 0; }

.global-tools { position: static; z-index: auto; }

.floating-utility-dock {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: var(--z-floating-tools);
    max-width: calc(100vw - 32px);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    pointer-events: none;
}

.floating-utility-dock > * { pointer-events: auto; }

.floating-utility-dock .feedback-fab,
.floating-utility-dock .pinned-tools,
.floating-utility-dock .quick-tools-launcher {
    position: static;
    right: auto;
    bottom: auto;
    margin: 0;
    transform: none !important;
}

.floating-utility-dock .feedback-fab {
    min-height: 42px;
    padding: 0 12px;
    border-radius: var(--radius-control);
    box-shadow: 0 5px 16px rgba(15, 23, 42, .14);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.floating-utility-dock .feedback-fab:hover {
    transform: none !important;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .16);
}

.floating-utility-dock .pinned-tools {
    display: flex;
    align-items: center;
    gap: 7px;
    max-width: min(58vw, 560px);
    overflow-x: auto;
    scrollbar-width: none;
}

.floating-utility-dock .pinned-tools::-webkit-scrollbar { display: none; }

.floating-utility-dock .pinned-tool-chip {
    min-height: 42px;
    flex: 0 0 auto;
    border-color: var(--ui-border);
    border-radius: var(--radius-full);
    corner-shape: round;
    background: var(--ui-panel);
    color: var(--ui-text-strong);
    box-shadow: var(--shadow-sm);
}

.floating-utility-dock .pinned-tool-chip:hover,
.floating-utility-dock .pinned-tool-chip:focus-visible {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
}

.floating-utility-dock .quick-tools-launcher {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: var(--radius-circle);
    corner-shape: round;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .17);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.floating-utility-dock .quick-tools-launcher:hover {
    transform: none !important;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .2);
}

html.mobile-sheet-open .floating-utility-dock,
html.quick-tools-open .floating-utility-dock {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 720px) {
    .monthly-planning-subnav {
        width: 100%;
        box-sizing: border-box;
    }

    .monthly-planning-subnav .planning-subnav-context { margin-left: 0; }

    .monthly-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

    .monthly-nav { width: 100%; }
    .monthly-nav strong { min-width: 0; flex: 1; }
    .monthly-filter { width: 100%; min-width: 0; }

    .floating-utility-dock {
        right: 10px;
        bottom: calc(76px + env(safe-area-inset-bottom));
        max-width: calc(100vw - 20px);
        gap: 6px;
    }

    .floating-utility-dock .feedback-fab { display: none; }
    .floating-utility-dock .pinned-tools { max-width: calc(100vw - 70px); }
    .floating-utility-dock .pinned-tool-chip { min-height: 42px; }
    .floating-utility-dock .quick-tools-launcher { width: 44px; height: 44px; flex-basis: 44px; }

    .global-tools.has-active-workout .floating-utility-dock {
        bottom: calc(138px + env(safe-area-inset-bottom));
    }
}

.settings-data-card { margin-top: 16px; }

.settings-sports-disclosure {
    padding: 0 !important;
    overflow: visible;
}
.settings-sports-summary {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.settings-sports-summary::-webkit-details-marker { display: none; }
.settings-sports-summary > span:first-child { display: grid; gap: 3px; }
.settings-sports-summary strong { color: var(--ui-text-secondary); font-size: .98rem; }
.settings-sports-summary small { color: var(--ui-muted); font-size: .76rem; font-weight: 500; }
.settings-sports-summary-meta { display: inline-flex; align-items: center; gap: 12px; }
.settings-sports-summary .settings-sports-count { padding: 0; }
.settings-sports-chevron { color: var(--ui-muted); font-size: 1.1rem; line-height: 1; transition: transform .16s ease; }
.settings-sports-disclosure[open] .settings-sports-chevron { transform: rotate(180deg); }
.settings-sports-content { padding: 0 18px 18px; border-top: 1px solid var(--ui-border); }
.settings-sports-intro { margin: 14px 0 0; color: var(--ui-muted); font-size: .8rem; }
.settings-sports-disclosure .settings-sports-catalog {
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
}
@media (max-width: 560px) {
    .settings-sports-summary { align-items: flex-start; padding: 14px; }
    .settings-sports-summary-meta { gap: 8px; }
    .settings-sports-summary .settings-sports-count { white-space: normal; text-align: right; }
    .settings-sports-content { padding: 0 14px 14px; }
}

.error-reference {
    margin-top: -2px;
    color: var(--ui-faint);
    font-size: .82rem;
}
.error-reference code {
    padding: 2px 6px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-detail);
    color: var(--ui-border);
    background: rgba(255,255,255,.05);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid rgba(60, 105, 245, .38);
    outline-offset: 2px;
}

button.is-submitting,
input[type="submit"].is-submitting {
    cursor: wait !important;
    opacity: .72;
}

.network-status-banner,
.noscript-banner {
    position: relative;
    z-index: var(--z-sticky);
    width: 100%;
    padding: 9px 16px;
    border-bottom: 1px solid #f0c36d;
    background: #fff7e6;
    color: #7a4d00;
    text-align: center;
    font-size: .82rem;
    font-weight: 700;
}
.network-status-banner[hidden] { display: none !important; }

.diagnostics-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.release-readiness {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-full);corner-shape:round;
    background: var(--ui-panel-soft);
    color: var(--ui-text-secondary);
    font-size: .78rem;
    font-weight: 800;
}
.release-readiness.is-ready {
    border-color: #a6d8bd;
    background: #f0faf4;
    color: #17663a;
}
.release-readiness.has-warning {
    border-color: #e5c07b;
    background: #fff8e8;
    color: #865800;
}
.diagnostics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.diagnostics-card { min-width: 0; }
.diagnostics-span-full { grid-column: 1 / -1; }
.diagnostic-list {
    display: grid;
    gap: 2px;
}
.diagnostic-list > div {
    display: grid;
    grid-template-columns: 12px minmax(130px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 8px 0;
    border-bottom: 1px solid #eef1f5;
}
.diagnostic-list > div:last-child { border-bottom: 0; }
.diagnostic-list strong { color: var(--ui-text-secondary); font-size: .88rem; }
.diagnostic-list span:last-child { min-width: 0; overflow-wrap: anywhere; color: var(--ui-muted); font-size: .82rem; }
.health-dot.bad { background: var(--ui-danger); box-shadow: 0 0 0 4px rgba(180,35,24,.08); }
.diagnostic-definition-list {
    display: grid;
    gap: 0;
    margin: 0;
}
.diagnostic-definition-list > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #eef1f5;
}
.diagnostic-definition-list > div:last-child { border-bottom: 0; }
.diagnostic-definition-list dt { color: var(--ui-muted); font-size: .8rem; }
.diagnostic-definition-list dd { margin: 0; color: var(--ui-text-secondary); font-weight: 750; text-align: right; overflow-wrap: anywhere; }
.diagnostic-definition-list.compact { margin-top: 12px; }
.diagnostic-warning,
.diagnostic-success {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #e6bd69;
    border-radius: var(--radius-card);
    background: #fff8e8;
    color: #785000;
}
.diagnostic-success {
    border-color: #a6d8bd;
    background: #f0faf4;
    color: #17663a;
}
.diagnostic-warning.subtle { margin-top: 10px; border-color: var(--ui-border); background: var(--ui-panel-soft); color: var(--ui-text-secondary); }
.diagnostic-code-list { display: flex; flex-wrap: wrap; gap: 6px; }
.diagnostic-code-list code,
.diagnostic-definition-list code {
    max-width: 100%;
    padding: 3px 6px;
    border-radius: var(--radius-detail);
    background: rgba(15,23,42,.05);
    overflow-wrap: anywhere;
}
.diagnostic-flags {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}
.diagnostic-flags > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid var(--ui-border-soft);
    border-radius: var(--radius-detail);
    background: var(--ui-panel-soft);
}
.diagnostic-flags code { min-width: 0; overflow-wrap: anywhere; color: var(--ui-text-secondary); }
.diagnostics-next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
}
.diagnostics-next h2 { margin: 0 0 5px; }
.diagnostics-next p { margin: 0; color: var(--ui-muted); }
.diagnostics-next > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

.empty-state.rich,
.trainer-empty.rich,
.profile-empty-state {
    display: grid;
    justify-items: start;
    gap: 7px;
    padding: 18px;
    border: 1px dashed var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}
.empty-state.rich strong,
.trainer-empty.rich strong,
.profile-empty-state strong { color: var(--ui-text-secondary); }
.empty-state.rich p,
.trainer-empty.rich p,
.profile-empty-state p { margin: 0; color: var(--ui-muted); }

@media (max-width: 760px) {
    .diagnostics-heading,
    .diagnostics-next { align-items: stretch; flex-direction: column; }
    .release-readiness { align-self: flex-start; }
    .diagnostics-grid,
    .diagnostic-flags { grid-template-columns: 1fr; }
    .diagnostics-span-full { grid-column: auto; }
    .diagnostic-list > div { grid-template-columns: 12px minmax(0,1fr); }
    .diagnostic-list > div > span:last-child { grid-column: 2; }
    .diagnostics-next > div:last-child { justify-content: flex-start; }
}
.profile-primary-action { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 760px) {
    .profile-primary-action > button { width: 100%; justify-content: center; }
}

.schedule-week-progress {
    display: grid;
    gap: 7px;
    padding: 9px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}

.schedule-week-progress-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.schedule-week-progress-heading > div {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.schedule-week-progress-heading span {
    color: #8a929c;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.schedule-week-progress-heading strong {
    overflow: hidden;
    color: var(--ui-text-strong);
    font-size: .74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-week-progress-count {
    flex: 0 0 auto;
    color: #697484 !important;
    font-size: .64rem !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0 !important;
}

.schedule-week-progress-bar {
    height: 4px;
    overflow: hidden;
    border-radius: var(--radius-full);corner-shape:round;
    background: #e4e8ed;
}

.schedule-week-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;corner-shape:inherit;
    background: #66758a;
}

.schedule-week-progress.is-complete .schedule-week-progress-bar span {
    background: #4f6f5c;
}

.schedule-week-progress p {
    margin: 0;
    color: #7a838e;
    font-size: .64rem;
    line-height: 1.35;
}

.schedule-week-progress p strong {
    color: #59616c;
}

.schedule-week-next {
    display: grid;
    gap: 5px;
    padding-top: 2px;
}

.schedule-week-next-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.schedule-week-next-heading > span {
    color: #8a929c;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.schedule-week-next-heading > button {
    border: 0;
    padding: 1px 0;
    background: transparent;
    color: #52677f;
    font: inherit;
    font-size: .62rem;
    font-weight: 700;
    cursor: pointer;
}

.schedule-week-next-main,
.schedule-week-choices > button {
    width: 100%;
    border: 1px solid #dde3ea;
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    padding: 7px 8px;
    text-align: left;
    cursor: pointer;
}

.schedule-week-next-main:hover,
.schedule-week-choices > button:hover {
    border-color: #b9c6d5;
    background: #f7f9fb;
}

.schedule-week-next-main strong,
.schedule-week-choices strong {
    display: block;
    overflow: hidden;
    font-size: .69rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-week-next-main small,
.schedule-week-choices small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: #7a838e;
    font-size: .6rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-week-choices {
    display: grid;
    gap: 4px;
}

.schedule-week-choices[hidden] {
    display: none;
}

@media (min-width: 1101px) {
    .schedule-view-layout {
        grid-template-columns: 212px minmax(0, 1fr);
    }
}

.schedule-week-progress {
    overflow: hidden;
}

.schedule-week-next-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px;
}

.schedule-week-next-copy,
.schedule-week-choices > button > span:last-child {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.schedule-week-next-code,
.schedule-week-choice-code {
    min-width: 25px;
    min-height: 25px;
    display: inline-grid;
    place-items: center;
    padding: 2px 6px;
    border: 1px solid #d7dee8;
    border-radius: var(--radius-detail);
    background: var(--ui-panel-soft);
    color: #4a586c;
    font-size: .65rem;
    font-weight: 800;
    line-height: 1;
}

.schedule-week-next-main strong,
.schedule-week-choices strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.schedule-week-next-main small,
.schedule-week-choices small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.schedule-week-choices > button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.workout-card.is-complete::before,
.schedule-month-recurring.is-complete::before {
    content: '';
}

.workout-card.is-complete {
    border-left-color: #4f6f5c;
    background: #f2f5f3;
}

.workout-card.is-realized-shifted {
    border-left-style: solid;
}

.workout-card.is-swap-target {
    z-index: 9;
    outline: 2px solid #526b8d;
    outline-offset: 2px;
    background: #e8edf4;
}

.monthly-event.is-swap-target {
    outline: 2px solid #526b8d;
    outline-offset: 1px;
    background: #edf1f6;
}

.schedule-month-recurring.is-complete {
    border-color: #cad5ce;
    background: #f4f7f5;
    color: #435249;
}

.schedule-month-recurring.is-complete:hover {
    border-color: #b6c4bb;
    background: #eef3f0;
}

.is-plan-ghost {
    display: none !important;
}

.schedule-show-original-plan .workout-card.is-plan-ghost {
    display: block !important;
    z-index: 2;
    border: 1px dashed #aeb7c4;
    border-left: 3px dashed #8b96a6;
    background: rgba(248, 250, 252, .78);
    color: #707b8a;
    opacity: .78;
    pointer-events: auto;
}

.schedule-show-original-plan .monthly-event.is-plan-ghost {
    display: block !important;
    border-style: dashed;
    border-color: #b8c0ca;
    background: var(--ui-panel-soft);
    color: #717b88;
    opacity: .78;
}

.schedule-show-original-plan .monthly-day:has(.is-plan-ghost) .schedule-month-empty-day {
    display: none;
}

.workout-preview-occurrence-context {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 8px;
    padding: 5px 8px;
    border: 1px solid #dfe5ec;
    border-radius: var(--radius-full);
    corner-shape: round;
    background: #f7f9fb;
    color: #5f6d80;
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.35;
}

.workout-preview-occurrence-context[hidden] {
    display: none;
}

.schedule-week-next-main > .schedule-week-next-copy:first-child,
.schedule-week-choices > button > span:last-child:first-child {
    grid-column: 1 / -1;
}

.monthly-shell { width: min(1420px, calc(100% - 24px)); }
.monthly-toolbar { align-items: center; margin-bottom: 8px; padding: 10px 12px; }
.monthly-nav-button { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid #d6dce4; border-radius: var(--radius-control); background: var(--ui-panel); color: var(--ui-accent); font-size: 1.2rem; line-height: 1; text-decoration: none; }
.monthly-nav-button:hover { background: #f4f6f8; }
.monthly-title-block { min-width: 170px; display: grid; gap: 1px; padding-inline: 4px; }
.monthly-title-block strong { min-width: 0; color: #303842; font-size: .87rem; text-align: left; }
.monthly-title-block span { color: #87909d; font-size: .66rem; }
.monthly-filter { min-width: 220px; }
.monthly-filter label { display: grid; grid-template-columns: auto minmax(140px, 1fr); align-items: center; gap: 8px; }
.monthly-filter label > span { color: #758091; font-size: .67rem; font-weight: 800; }
.monthly-filter select { min-height: 34px; }
.monthly-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 2px 9px; }
.monthly-legend { margin: 0; gap: 6px 12px; }
.monthly-legend span { color: #758091; font-size: .69rem; }
.monthly-legend i { width: 8px; height: 8px; border-radius: var(--radius-circle); corner-shape: round; }
.monthly-legend i.is-completed { border-color: #668176; background: #dce9e2; }
.monthly-summary-pills { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.monthly-summary-pills span { padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--ui-grid-border) 74%, var(--ui-panel)); border-radius: var(--radius-full);corner-shape:round; background: color-mix(in srgb, var(--ui-panel-soft) 86%, var(--ui-panel)); color: color-mix(in srgb, var(--ui-muted) 88%, var(--ui-text-secondary)); font-size: .65rem; }
.monthly-summary-pills strong { color: var(--ui-accent); }
.monthly-add summary { justify-content: flex-start; }
.monthly-add summary > span { color: var(--ui-text-secondary); }
.monthly-add summary > small { margin-left: auto; color: var(--ui-faint); font-size: .66rem; font-weight: 500; }
.monthly-calendar { gap: 1px; border-color: var(--ui-grid-border); border-radius: var(--radius-card); background: var(--ui-grid-border); box-shadow: none; }
.monthly-weekday { padding: 7px 6px; background: var(--ui-grid-header); color: var(--ui-muted); font-size: .65rem; letter-spacing: .02em; }
.monthly-day { min-height: 146px; padding: 6px; border-radius: 0 !important; }
.monthly-day.is-outside { background: var(--ui-panel-soft); }
.monthly-day.is-today { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-accent) 32%, var(--ui-grid-border)); }
.monthly-day > header { min-height: 24px; display: flex; align-items: center; gap: 5px; }
.monthly-day > header strong { width: 23px; height: 23px; display: grid; place-items: center; border-radius: var(--radius-circle);corner-shape:round; color: var(--ui-text-secondary); font-size: .72rem; }
.monthly-day.is-today > header strong { background: var(--ui-accent); color: #fff; }
.monthly-day > header span { padding: 2px 5px; border-radius: var(--radius-full);corner-shape:round; background: color-mix(in srgb, var(--ui-panel-soft) 82%, var(--ui-grid-header)); color: color-mix(in srgb, var(--ui-text-secondary) 88%, var(--ui-muted)); font-size: .58rem; font-weight: 800; }
.monthly-events { gap: 4px; margin-top: 3px; }
.monthly-event { gap: 3px; padding: 6px 7px; border-color: color-mix(in srgb, var(--ui-grid-border) 82%, var(--ui-panel)); border-radius: var(--radius-control) !important; background: var(--ui-panel-soft); font-size: .67rem; line-height: 1.25; }
.monthly-event.is-recurring { border-left: 2px solid color-mix(in srgb, var(--ui-muted) 86%, var(--ui-border-strong)); }
.monthly-event.is-scheduled { border-left: 2px solid color-mix(in srgb, var(--ui-accent) 88%, var(--ui-border)); background: color-mix(in srgb, var(--ui-accent-soft) 72%, var(--ui-panel) 28%); }
.monthly-event.is-trainer { border-left-color: #8A6CAF; background: color-mix(in srgb, #8A6CAF 10%, var(--ui-panel) 90%); }
.monthly-event.is-completed { border-left-color: #5d806d; background: #f5f9f7; }
.monthly-event.is-shifted { border-style: solid; }
.monthly-event-kicker { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--ui-muted); font-size: .59rem; }
.monthly-event-kicker > span { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.monthly-event-kicker > em { min-width: 0; overflow: hidden; color: #87919f; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.monthly-event > strong { display: flex; align-items: baseline; gap: 4px; color: #303a49; font-size: .7rem; line-height: 1.25; }
.monthly-event > strong b { flex: 0 0 auto; padding: 1px 3px; border: 1px solid #d8dee7; border-radius: var(--radius-detail); background: var(--ui-panel); color: var(--ui-accent); font-size: .58rem; }
.monthly-event > small { color: #758091; font-size: .59rem; line-height: 1.25; }
.monthly-event .monthly-plan-note { color: #8b6e4f; }
.monthly-event-actions { gap: 5px; margin-top: 2px; }
.monthly-event-actions button,.monthly-event-actions a { min-height: 24px; padding: 3px 6px; border-radius: var(--radius-control); font-size: .61rem; font-weight: 750; }
.monthly-event-actions.is-link-row a { padding: 2px 0; border: 0; background: transparent; color: #405b8a; text-decoration: none; }
.monthly-event-actions.is-link-row a:hover { text-decoration: underline; }
@media (max-width: 900px) { .monthly-meta-row { align-items: flex-start; flex-direction: column; } .monthly-summary-pills { justify-content: flex-start; } .monthly-day { min-height: 128px; } }
@media (max-width: 720px) { .monthly-toolbar { align-items: stretch; flex-direction: column; } .monthly-filter { width: 100%; min-width: 0; } .monthly-filter label { grid-template-columns: 1fr; } .monthly-title-block { flex: 1; min-width: 0; } .monthly-add summary > small { display: none; } .monthly-calendar { min-width: 760px; } .monthly-shell { overflow-x: auto; } }

.workout-editor-modal { z-index: var(--z-modal) !important; }
.workout-editor { width: min(1180px, calc(100vw - 40px)); max-height: min(90dvh, 840px); padding: 18px 20px 20px; }
.workout-form { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 12px; align-items: start; }
.workout-form > label { min-width: 0; }
.workout-form .editor-title-field { grid-column: span 4; }
.workout-form .editor-code-field { grid-column: span 2; }
.workout-form .editor-focus-field { grid-column: span 3; }
.workout-form .editor-sport-field { grid-column: span 3; }
.workout-form .editor-day-field { grid-column: span 2; }
.workout-form .editor-start-field,.workout-form .editor-end-field { grid-column: span 2; }
.workout-form .editor-next-day-field { grid-column: span 2; min-height: 42px; }
.workout-form .editor-series-start,.workout-form .editor-series-end { grid-column: span 2; }
.workout-form .editor-description,.workout-form .form-actions,.workout-edit-scope { grid-column: 1 / -1; }
.workout-form [hidden],.workout-edit-scope[hidden] { display: none !important; }
.workout-edit-scope { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 0; border: 0; }
.workout-edit-scope legend { grid-column: 1 / -1; margin: 0 0 2px; color: var(--ui-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.workout-edit-scope label { min-width: 0; display: flex; align-items: flex-start; gap: 8px; padding: 9px 10px; border: 1px solid #d8dee7; border-radius: var(--radius-control); background: var(--ui-panel-soft); cursor: pointer; }
.workout-edit-scope label:has(input:checked) { border-color: #7182aa; background: #f3f6fc; box-shadow: inset 3px 0 0 var(--ui-accent); }
.workout-edit-scope input { width: 16px; height: 16px; margin: 2px 0 0; flex: 0 0 auto; }
.workout-edit-scope span { min-width: 0; display: grid; gap: 1px; }
.workout-edit-scope strong { color: var(--ui-text-secondary); font-size: .78rem; }
.workout-edit-scope small { color: #758091; font-size: .66rem; line-height: 1.3; }
.workout-form .form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 3px; }

.workout-preview-dialog { width: min(900px, calc(100vw - 40px)); max-height: min(88dvh, 860px); padding: 20px; }
.workout-preview-exercises { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
.preview-exercise { min-width: 0; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; padding: 9px 10px; border-radius: var(--radius-card); }
.preview-exercise-number { width: 26px; height: 26px; border-radius: var(--radius-circle); corner-shape: round; }
.preview-exercise strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-exercise-meta { gap: 4px; margin-top: 3px; }
.preview-exercise-meta span { padding: 2px 6px; border-radius: var(--radius-full); corner-shape: round; font-size: .69rem; }
.workout-preview-actions { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e8ebf0; }
.workout-preview-primary-actions { width: 100%; display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.workout-preview-primary-actions > .primary-button,.workout-preview-primary-actions > .secondary-button,.workout-preview-more > summary { min-height: 34px; padding: 6px 10px; font-size: .75rem; }
.workout-preview-more { position: relative; }
.workout-preview-more > summary { display: inline-flex; align-items: center; gap: 5px; list-style: none; cursor: pointer; }
.workout-preview-more > summary::-webkit-details-marker { display: none; }
.workout-preview-more > summary::after { content: '⋯'; font-size: .9rem; line-height: 1; }
.workout-preview-menu { position: absolute; z-index: 8; right: 0; bottom: calc(100% + 7px); width: max-content; min-width: 220px; display: grid; gap: 2px; padding: 5px; border: 1px solid #d7dde6; border-radius: var(--radius-menu); background: var(--ui-panel); box-shadow: 0 14px 34px rgba(15,23,42,.16); }
.workout-preview-menu > button,.workout-preview-menu > a,.workout-preview-menu form button { width: 100%; min-height: 32px; display: flex; align-items: center; justify-content: flex-start; padding: 6px 8px; border: 0; border-radius: 0; background: transparent; color: var(--ui-text-secondary); font: inherit; font-size: .72rem; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.workout-preview-menu > button:hover,.workout-preview-menu > a:hover,.workout-preview-menu form button:hover { background: var(--ui-surface-hover); }
.workout-preview-menu form { margin: 0; }
.workout-preview-menu .is-danger { color: var(--ui-danger); }

@media (min-width: 980px) {
    .workout-library-grid { grid-template-columns: 1fr !important; gap: 6px; }
    .workout-library-card { grid-template-columns: minmax(280px, 2fr) minmax(160px, 1fr) auto auto; align-items: center; gap: 12px; min-height: 62px; padding: 9px 11px; }
    .workout-library-card-top { grid-template-columns: 34px minmax(0, 1fr); align-items: center; }
    .workout-library-card > p { min-height: 0; margin: 0; -webkit-line-clamp: 1; white-space: nowrap; text-overflow: ellipsis; }
    .workout-library-stats { justify-content: flex-end; white-space: nowrap; }
    .workout-library-card-actions { flex-wrap: nowrap; justify-content: flex-end; padding-top: 0; border-top: 0; }
    .workout-library-card-actions form { margin-left: 2px; }
    .library-exercise-grid-modern { grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); }
    .library-exercise-grid-modern .library-exercise-card { padding: 11px; gap: 7px; }
}

@media (max-width: 820px) {
    .workout-editor { width: 100%; max-height: 94dvh; padding: 15px; }
    .workout-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workout-form .editor-title-field,.workout-form .editor-focus-field,.workout-form .editor-sport-field,.workout-form .editor-description,.workout-form .form-actions,.workout-edit-scope { grid-column: 1 / -1; }
    .workout-form .editor-code-field,.workout-form .editor-day-field,.workout-form .editor-start-field,.workout-form .editor-end-field,.workout-form .editor-next-day-field,.workout-form .editor-series-start,.workout-form .editor-series-end { grid-column: span 1; }
    .workout-edit-scope { grid-template-columns: 1fr; }
    .workout-preview-dialog { width: 100%; }
    .workout-preview-exercises { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .workout-form { grid-template-columns: 1fr; }
    .workout-form .editor-title-field,.workout-form .editor-code-field,.workout-form .editor-focus-field,.workout-form .editor-sport-field,.workout-form .editor-day-field,.workout-form .editor-start-field,.workout-form .editor-end-field,.workout-form .editor-next-day-field,.workout-form .editor-series-start,.workout-form .editor-series-end,.workout-form .editor-description,.workout-form .form-actions,.workout-edit-scope { grid-column: 1; }
    .workout-form .form-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .workout-preview-primary-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .workout-preview-primary-actions > * { min-width: 0; }
    .workout-preview-more { position: static; }
    .workout-preview-menu { position: fixed; right: 10px; bottom: 10px; left: 10px; width: auto; min-width: 0; }
}

.time24-control{position:relative;min-width:0}.time24-input-row{display:flex;align-items:center;min-height:36px;border:1px solid #cfd5de;border-radius:var(--radius-control);background:var(--ui-panel);overflow:visible}.time24-input-row:focus-within{border-color:#6d7b9d;box-shadow:0 0 0 2px rgba(64,80,124,.1)}.time24-input-row>input{width:42px!important;min-width:0!important;min-height:34px!important;padding:6px 5px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;text-align:center;font-variant-numeric:tabular-nums}.time24-separator{color:var(--ui-muted);font-weight:800}.time24-toggle{width:34px;min-width:34px;height:34px;margin-left:auto;padding:0;border:0;border-left:1px solid var(--ui-border-soft);background:var(--ui-panel-soft);color:#5d6879;font:inherit;cursor:pointer}.time24-toggle:hover{background:#f0f2f5;color:var(--ui-text-secondary)}.time24-menu[hidden]{display:none!important}.time24-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 5px);right:0;width:min(320px,calc(100vw - 28px));padding:9px;border:1px solid #cfd5de;border-radius:var(--radius-menu);background:var(--ui-panel);box-shadow:0 16px 38px rgba(15,23,42,.18)}.time24-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--ui-text-secondary);font-size:.7rem;font-weight:800}.time24-menu-head button{min-height:28px;padding:4px 8px;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel);color:var(--ui-accent);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}.time24-hours-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.time24-minutes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #edf0f4}.time24-hours-grid button,.time24-minutes-grid button{min-height:28px;padding:3px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--ui-text-secondary);font:inherit;font-size:.72rem;font-variant-numeric:tabular-nums;cursor:pointer}.time24-hours-grid button:hover,.time24-minutes-grid button:hover{border-color:#d7dde6;background:#f5f6f8}.time24-hours-grid button.is-selected,.time24-minutes-grid button.is-selected{border-color:#aeb8cf;background:#edf1f8;color:#25304c;font-weight:800}.time24-field-label{display:grid;gap:5px;min-width:0}
@media(max-width:560px){.time24-menu{position:fixed;right:10px;bottom:10px;left:10px;top:auto;width:auto}.time24-hours-grid{grid-template-columns:repeat(6,1fr)}}

.schedule-body .workout-editor{width:min(1180px,calc(100vw - 40px));max-height:min(90dvh,860px)!important;overflow:auto!important;margin:0!important;border-radius:var(--radius-modal)}.workout-editor-modal{align-items:center!important}.workout-save-scope-modal[hidden]{display:none!important}.workout-save-scope-modal{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);display:grid;place-items:center;padding:20px}.workout-save-scope-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.5);backdrop-filter:blur(2px)}.workout-save-scope-dialog{position:relative;z-index:1;width:min(560px,100%);padding:17px;border:1px solid #d4dae3;border-radius:var(--radius-modal);background:var(--ui-panel);box-shadow:0 24px 70px rgba(15,23,42,.28)}.workout-save-scope-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid #e8ebf0}.workout-save-scope-dialog h2{margin:2px 0 3px;font-size:1.08rem}.workout-save-scope-dialog p{margin:0;color:var(--ui-muted);font-size:.76rem}.workout-save-scope-options{display:grid;gap:6px;padding:12px 0}.workout-save-scope-options>button{display:grid;gap:2px;width:100%;padding:10px 11px;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-panel);color:var(--ui-text-secondary);text-align:left;cursor:pointer}.workout-save-scope-options>button:hover,.workout-save-scope-options>button:focus-visible{border-color:#9eabc5;background:var(--ui-panel-soft);outline:none;box-shadow:inset 3px 0 0 var(--ui-accent)}.workout-save-scope-options strong{font-size:.82rem}.workout-save-scope-options span{color:#6f7a8a;font-size:.7rem}.workout-save-scope-dialog>footer{display:flex;justify-content:flex-end;padding-top:3px}.workout-form .time24-control{width:100%}.workout-form .time24-menu{right:auto;left:0}
@media(max-width:700px){.workout-save-scope-modal{align-items:end;padding:0}.workout-save-scope-dialog{width:100%;border-radius:var(--radius-modal) var(--radius-modal) 0 0;padding:15px}.schedule-body .workout-editor{width:100%;max-height:92dvh!important;border-radius:var(--radius-modal) var(--radius-modal) 0 0}}

.trainer-athlete-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.trainer-prescription-modal[hidden]{display:none!important}.trainer-prescription-modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:22px}.trainer-prescription-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}.trainer-prescription-dialog{position:relative;z-index:1;width:min(1180px,calc(100vw - 44px));max-height:calc(100dvh - 44px);overflow:auto;margin:0!important;padding:16px 18px!important;box-shadow:0 24px 72px rgba(15,23,42,.26)}.trainer-prescription-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:11px;border-bottom:1px solid #e8ebf0}.trainer-prescription-modal-heading h2{margin:2px 0 3px!important}.trainer-prescription-modal-heading p{margin:0!important}.trainer-prescription-dialog .trainer-form-grid{grid-template-columns:minmax(260px,2fr) minmax(150px,.8fr) minmax(170px,.9fr) minmax(160px,.8fr);gap:9px;margin-top:12px}.trainer-prescription-dialog .trainer-form-grid input,.trainer-prescription-dialog .trainer-form-grid textarea,.trainer-prescription-dialog .trainer-form-grid select,.trainer-invite-form input,.trainer-feedback-form input,.trainer-feedback-form select,.trainer-feedback-form textarea{min-height:36px;border-radius:var(--radius-control);padding:7px 9px}.trainer-prescription-dialog .trainer-form-grid textarea{min-height:74px}.trainer-prescription-dialog .prescription-exercises-heading{margin-top:12px}.trainer-prescription-dialog .prescription-exercises{gap:5px;margin-top:7px}.trainer-prescription-dialog .prescription-exercise-row{grid-template-columns:minmax(180px,1.8fr) .48fr .7fr .7fr .7fr minmax(150px,1.2fr) 34px;gap:5px}.trainer-prescription-dialog .prescription-exercise-row input{min-height:34px;border-radius:var(--radius-control);padding:6px 7px}.trainer-prescription-dialog .prescription-exercise-row .icon-button{min-height:34px;height:34px;width:34px}.trainer-prescription-dialog .trainer-card-actions{justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid #edf0f4}html.trainer-prescription-open,html.trainer-prescription-open body{overflow:hidden}.trainer-more-menu{position:relative;margin-left:auto}.trainer-more-menu>summary{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel);color:#566274;cursor:pointer;list-style:none;font-weight:800}.trainer-more-menu>summary::-webkit-details-marker{display:none}.trainer-more-menu>div{position:absolute;z-index:80;right:0;top:calc(100% + 4px);min-width:180px;padding:4px;border:1px solid var(--ui-border);border-radius:var(--radius-menu);background:var(--ui-panel);box-shadow:0 12px 30px rgba(15,23,42,.16)}.trainer-more-menu form{margin:0}.trainer-more-menu button{width:100%;min-height:30px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:var(--ui-text-secondary);font:inherit;font-size:.72rem;font-weight:750;text-align:left;cursor:pointer}.trainer-more-menu button:hover{background:var(--ui-surface-hover)}.trainer-more-menu button.is-danger{color:var(--ui-danger)}.trainer-shell .content-card{border-radius:var(--radius-card)}.trainer-shell .primary-button,.trainer-shell .secondary-button{min-height:32px;padding:6px 9px;border-radius:var(--radius-control);font-size:.75rem}.trainer-invite-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:8px;padding:10px 12px}.trainer-invite-form label{font-size:.75rem}.trainer-people-grid,.trainer-prescription-list{gap:8px}.trainer-person-card,.trainer-prescription-card{padding:11px 12px}.trainer-card-actions{gap:5px;margin-top:8px}.trainer-permissions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:9px}.trainer-permissions>strong,.trainer-permissions>button{grid-column:1/-1}.trainer-permissions label{font-size:.76rem}.trainer-mini-list article{padding:8px 0}
@media(max-width:800px){.trainer-athlete-actions{width:100%}.trainer-prescription-modal{align-items:end;padding:0}.trainer-prescription-dialog{width:100%;max-height:94dvh;border-radius:var(--radius-modal) var(--radius-modal) 0 0}.trainer-prescription-dialog .trainer-form-grid{grid-template-columns:1fr 1fr}.trainer-prescription-dialog .trainer-form-wide{grid-column:1/-1}.trainer-invite-form{grid-template-columns:1fr}.trainer-permissions{grid-template-columns:1fr}.trainer-prescription-dialog .prescription-exercise-row{grid-template-columns:1fr 1fr 1fr 34px}}

.library-more-menu{position:relative;margin-left:2px}.library-more-menu>summary{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel);color:var(--ui-text-secondary);cursor:pointer;list-style:none;font-weight:800}.library-more-menu>summary::-webkit-details-marker{display:none}.library-more-menu>div{position:absolute;z-index:var(--z-dropdown);right:0;top:calc(100% + 4px);min-width:170px;padding:4px;border:1px solid var(--ui-border);border-radius:var(--radius-menu);background:var(--ui-panel);box-shadow:0 12px 30px rgba(15,23,42,.16)}.library-more-menu form{margin:0!important}.library-more-menu button{width:100%;min-height:30px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:var(--ui-text-secondary);font:inherit;font-size:.71rem;font-weight:750;text-align:left;cursor:pointer}.library-more-menu button:hover{background:var(--ui-surface-hover)}.library-more-menu button.is-danger{color:var(--ui-danger)}.workout-library-card-actions{justify-content:flex-end}.workout-library-card-actions .library-more-menu{margin-left:0}.library-editor-dialog{width:min(980px,100%)}.library-editor-dialog .workout-library-form{grid-template-columns:minmax(0,2fr) minmax(90px,.55fr) minmax(0,1.25fr) minmax(190px,1fr)!important;gap:10px 11px}.library-editor-dialog .workout-library-form .is-wide:first-of-type{grid-column:span 2}.library-editor-dialog .workout-library-form>label:nth-of-type(4){grid-column:span 1!important}.library-editor-dialog .workout-library-form>label:nth-of-type(5),.library-editor-dialog .workout-library-propagate,.library-editor-dialog .workout-library-form-actions{grid-column:1/-1!important}.library-exercise-dialog{width:min(940px,100%)}.library-exercise-dialog .library-exercise-form{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px 12px}.library-exercise-dialog .library-exercise-form>label:first-of-type,.library-exercise-dialog .library-exercise-form>label:nth-of-type(2),.library-exercise-dialog .library-form-columns,.library-exercise-dialog .library-modal-actions{grid-column:1/-1}.library-exercise-dialog .library-exercise-form>label:nth-of-type(2) textarea{min-height:76px}.library-exercise-dialog .library-selector-panel{margin:0}.library-exercise-dialog .library-modal-actions{justify-content:flex-end}
@media(min-width:980px){.library-exercise-grid-modern{display:grid;grid-template-columns:1fr!important;gap:5px}.library-exercise-grid-modern .library-exercise-card{display:grid;grid-template-columns:72px minmax(260px,1.45fr) minmax(260px,1.15fr) auto;align-items:center;gap:11px;min-height:64px;padding:8px 10px}.library-exercise-grid-modern .library-exercise-card:not(:has(.library-exercise-media)){grid-template-columns:minmax(260px,1.45fr) minmax(260px,1.15fr) auto}.library-exercise-grid-modern .library-exercise-media{width:72px;aspect-ratio:4/3}.library-exercise-main{min-width:0;display:grid;gap:3px}.library-exercise-grid-modern .library-card-top{display:flex;align-items:center;gap:7px;min-width:0}.library-exercise-grid-modern .library-card-top h2{min-width:0;flex:1}.library-exercise-grid-modern .library-exercise-description{min-height:0;-webkit-line-clamp:1;white-space:normal}.library-exercise-grid-modern .library-exercise-tags{display:grid;gap:3px}.library-exercise-grid-modern .library-exercise-tags span{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px}.library-exercise-grid-modern .library-exercise-tags b{color:var(--ui-muted);font-size:.61rem;text-transform:uppercase;letter-spacing:.025em}.library-exercise-grid-modern .library-card-actions{justify-content:flex-end;flex-wrap:nowrap;margin-top:0;padding-top:0;border-top:0}.library-exercise-grid-modern .library-card-actions form:last-child{margin-left:0}.library-exercise-grid-modern .exercise-video-link{width:max-content}}
@media(max-width:760px){.library-editor-dialog,.library-exercise-dialog{max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));padding-bottom:max(15px,env(safe-area-inset-bottom))!important}.library-editor-dialog .workout-library-form,.library-exercise-dialog .library-exercise-form{grid-template-columns:1fr 1fr!important}.library-editor-dialog .workout-library-form .is-wide:first-of-type{grid-column:1/-1}.library-editor-dialog .workout-library-form>label:nth-of-type(4){grid-column:1/-1!important}}
@media(max-width:520px){.library-editor-dialog .workout-library-form,.library-exercise-dialog .library-exercise-form{grid-template-columns:1fr!important}.library-editor-dialog .workout-library-form .is-wide:first-of-type,.library-exercise-dialog .library-exercise-form>*{grid-column:1!important}}
.agenda-actions{align-items:flex-start}.agenda-more-menu>div{right:0;top:calc(100% + 4px)}.agenda-more-menu>div>button{width:100%;min-height:30px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:var(--ui-text-secondary);font:inherit;font-size:.71rem;font-weight:750;text-align:left;cursor:pointer}.agenda-more-menu>div>button:hover{background:var(--ui-surface-hover)}

.usersection {
    gap: 5px;
}

.global-create-menu {
    position: relative;
}

.global-create-menu > summary {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    list-style: none;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--radius-detail);
    background: transparent;
    color: #f8fafc;
    font-size: 1.28rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    user-select: none;
}

.global-create-menu > summary::-webkit-details-marker {
    display: none;
}

.global-create-menu > summary:hover,
.global-create-menu[open] > summary {
    background: var(--ui-header-hover);
    border-color: rgba(255,255,255,.24);
}

.global-create-content {
    position: absolute;
    z-index: var(--z-dropdown);
    top: calc(100% + 5px);
    right: 0;
    width: 238px;
    padding: 5px;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--radius-menu);
    background: var(--ui-panel);
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
}

.global-create-label {
    display: block;
    padding: 5px 8px 4px;
    color: var(--ui-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.global-create-content a {
    min-height: 0;
    display: grid;
    gap: 2px;
    padding: 8px 9px;
    border-radius: 0;
    color: #27303a;
    text-decoration: none;
}

.global-create-content a:hover {
    background: #f4f6f8;
}

.global-create-content strong {
    font-size: .8rem;
}

.global-create-content span:not(.global-create-label) {
    color: var(--ui-muted);
    font-size: .68rem;
    font-weight: 500;
}

@media (max-width: 720px) {
    .global-create-menu {
        display: none;
    }

    .mobile-nav-item > span {
        max-width: 100%;
        line-height: 1.05;
        text-align: center;
        white-space: normal;
    }
}

:root {
    --ui-control-height: var(--control-default);
    --ui-z-dropdown: var(--z-dropdown);
    --ui-z-popover: var(--z-popover);
    --ui-z-drawer: var(--z-drawer);
    --ui-z-modal: var(--z-modal);
    --ui-z-confirm: var(--z-confirm);
}

.primary-button,
.primary-action,
.activity-primary-action,
.profile-primary-action,
.feedback-submit {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--ui-control-height);
    padding: 7px 11px;
    border: 1px solid var(--ui-accent-strong);
    border-radius: var(--radius-control);
    background: var(--ui-accent);
    color: #fff;
    font: inherit;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    vertical-align: middle;
}

.secondary-button,
.secondary-action,
.activity-secondary-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--ui-control-height);
    padding: 7px 11px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font: inherit;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    vertical-align: middle;
}

.danger-button,
.danger-action,
.activity-danger-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--ui-control-height);
    padding: 7px 11px;
    border: 1px solid var(--ui-danger-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-danger);
    font: inherit;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    vertical-align: middle;
}

.alert {
    display: flex;
    align-items: center;
    width: fit-content;
    max-width: min(760px, 100%);
    min-height: 24px;
    margin: 0 0 8px;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
}

.alert-success { color: var(--ui-success); }
.alert-info { color: var(--ui-accent); }
.alert-danger,
.alert-error,
.alert.error { color: var(--ui-danger); }
.alert.is-leaving { opacity: 0; transition: opacity .2s ease; }

.ui-inline-notice {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin: 2px 0 7px;
    color: var(--ui-accent);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.3;
}
.ui-inline-notice[data-type="success"] { color: var(--ui-success); }
.ui-inline-notice[data-type="error"] { color: var(--ui-danger); }
.ui-inline-notice.is-leaving { opacity: 0; transition: opacity .2s ease; }

.ui-confirm-overlay[hidden] { display: none !important; }
.ui-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--ui-z-confirm) !important;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    border: 0;
    background: transparent;
    overflow: hidden;
}
.ui-confirm-overlay::backdrop { background: transparent; }
.ui-confirm-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, .48);
}
.ui-confirm-dialog {
    position: relative;
    width: min(430px, 100%);
    padding: 15px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-modal);
    background: var(--ui-panel);
    box-shadow: 0 22px 60px rgba(15, 23, 42, .24);
}
.ui-confirm-dialog h2 { margin: 0 0 5px; font-size: 1rem; }
.ui-confirm-copy { display: grid; gap: 7px; }
.ui-confirm-dialog p { margin: 0; color: var(--ui-muted); font-size: .8rem; line-height: 1.45; }
.ui-confirm-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 14px; }
.ui-confirm-actions button { min-height: 32px; padding: 6px 10px; border-radius: var(--radius-control); font: inherit; font-size: .75rem; font-weight: 750; cursor: pointer; }
.ui-confirm-cancel { border: 1px solid var(--ui-border); background: var(--ui-panel); color: var(--ui-text-secondary); }
.ui-confirm-ok { border: 1px solid var(--ui-accent-strong); background: var(--ui-accent); color: #fff; }
.ui-confirm-actions .ui-confirm-ok.is-danger { border-color: var(--ui-danger); background: var(--ui-danger); color: var(--ui-on-danger, #fff); -webkit-text-fill-color: currentColor; }
.ui-confirm-actions .ui-confirm-ok.is-danger:hover:not(:disabled), .ui-confirm-actions .ui-confirm-ok.is-danger:active:not(:disabled) { border-color: var(--ui-danger-hover); background: var(--ui-danger-hover); color: var(--ui-on-danger, #fff); -webkit-text-fill-color: currentColor; }
.ui-confirm-actions .ui-confirm-ok.is-danger:focus-visible { color: var(--ui-on-danger, #fff); -webkit-text-fill-color: currentColor; }

.nav-dropdown,
.user-menu-content,
.global-create-content,
.sport-combobox-popover,
.time24-menu,
.library-more-menu > div,
.trainer-more-menu > div,
.activity-context-menu { z-index: var(--ui-z-popover) !important; }
.activity-detail-drawer { z-index: var(--ui-z-drawer) !important; }
.activity-editor-shell,
.quick-tools-modal,
.workout-session-modal,
.workout-complete-modal,
.workout-editor-modal,
.trainer-prescription-modal,
.library-editor-modal,
.calendar-quick-create,
.quick-register-workout,
.occurrence-editor{ z-index: var(--ui-z-modal) !important; }
.workout-save-scope-modal { z-index: calc(var(--z-modal) + 10) !important; }

.content-card > .content-card,
.content-card .content-card.is-nested {
    border-radius: 0;
    box-shadow: none;
}

/* Agenda mensal: navegação sem recarregar a página e correção histórica do planejamento. */
[data-monthly-dynamic][aria-busy="true"] .monthly-calendar{opacity:.82}
.monthly-nav-button.is-loading{pointer-events:none}
.monthly-title-block small[data-monthly-load-status]{color:var(--ui-muted);font-size:.63rem;font-weight:650}
.monthly-plan-note:is(button){width:max-content;margin:0;padding:0;border:0;background:transparent;color:#8b6e4f;font:inherit;font-size:.59rem;line-height:1.25;text-align:left;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}
.monthly-plan-note:is(button):hover{color:#684d32}
.planned-date-modal[hidden]{display:none!important}.planned-date-modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:18px}.planned-date-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.5);backdrop-filter:blur(2px)}.planned-date-dialog{position:relative;z-index:1;width:min(510px,100%);padding:17px;border:1px solid #d4dae3;border-radius:var(--radius-modal);background:var(--ui-panel);box-shadow:0 24px 70px rgba(15,23,42,.28)}.planned-date-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid #e8ebf0}.planned-date-dialog h2{margin:2px 0 3px;font-size:1.08rem}.planned-date-dialog p{margin:0;color:var(--ui-muted);font-size:.76rem;line-height:1.45}.planned-date-dialog form{display:grid;gap:9px;padding-top:13px}.planned-date-dialog form>label{display:grid;gap:5px;color:#4f5d70;font-size:.76rem;font-weight:750}.planned-date-dialog form>small{color:var(--ui-muted);font-size:.7rem}.planned-date-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}

/* O editor compartilhado não deve exibir controles de rascunho de criação ao editar ocorrência existente. */
.workout-form>.draft-recovery,.workout-form>.form-draft-status{grid-column:1/-1}.workout-form>.draft-recovery{position:static!important;display:flex!important;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;margin:0 0 2px;padding:8px 10px}.workout-form>.form-draft-status{margin:0;color:var(--ui-muted);font-size:.68rem}

@media(max-width:620px){.planned-date-modal{align-items:end;padding:0}.planned-date-dialog{width:100%;border-radius:var(--radius-modal) var(--radius-modal) 0 0;padding:15px}.planned-date-dialog footer{display:grid;grid-template-columns:1fr 1fr}}

.activity-context-grid{align-items:start!important}.activity-context-grid>.input-field{align-self:start}.activity-context-grid>.input-field>small{display:block;min-height:0;margin-top:5px;color:var(--ui-muted);font-size:.67rem;line-height:1.35}.activity-context-grid .clock-segments{min-height:38px;border-radius:var(--radius-control)}.activity-context-grid .clock-segments>input:not([type="hidden"]){min-height:var(--control-default)!important;border:1px solid var(--ui-border)!important;border-radius:0!important;background:var(--ui-panel)!important}.activity-context-grid .time-now-button,.activity-context-grid .time-quick-toggle{min-height:var(--control-default);border-color:var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel)}.activity-context-grid .time-now-button:hover,.activity-context-grid .time-quick-toggle:hover{background:var(--ui-surface-hover)}
@media(min-width:1080px){.activity-context-grid{grid-template-columns:minmax(250px,1.45fr) minmax(220px,1.15fr) minmax(150px,.72fr) minmax(220px,.95fr)!important}.activity-model-field[hidden]+.activity-workout-field:not([hidden]){grid-column:auto}}

.calendar-quick-create-popover{width:min(620px,calc(100vw - 28px))!important}.calendar-quick-create form label{gap:6px;color:#465366;font-size:.75rem}.calendar-quick-create input:not([type="checkbox"]):not([type="hidden"]),.calendar-quick-create select,.calendar-quick-create textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfd5de;border-radius:var(--radius-control);background:var(--ui-panel);color:#253041;font:inherit;box-shadow:none;outline:0}.calendar-quick-create textarea{min-height:72px;resize:vertical}.calendar-quick-create input:focus,.calendar-quick-create select:focus,.calendar-quick-create textarea:focus{border-color:#7483a1;box-shadow:0 0 0 2px rgba(64,80,124,.11)}.quick-create-source-cards{grid-auto-flow:initial!important;grid-auto-columns:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));max-height:150px;overflow:auto}.quick-create-source-card{min-height:62px}.quick-create-schedule-fields{padding:12px!important;background:var(--ui-panel-soft)!important}.quick-create-time-row{align-items:start}.quick-create-next-day{min-height:34px;padding:4px 0}.quick-create-exercises{background:var(--ui-panel-soft)!important}.quick-create-actions .primary-button,.quick-create-actions .secondary-button{min-height:38px}
@media(max-width:560px){.quick-create-source-cards{grid-template-columns:1fr;max-height:190px}.calendar-quick-create-popover{width:100%!important}}

.schedule-create-panel[hidden]{display:none!important}.schedule-create-panel{position:fixed!important;inset:0!important;z-index:var(--z-modal)!important;display:grid!important;place-items:center!important;margin:0!important;padding:22px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.schedule-create-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.48);backdrop-filter:blur(2px);cursor:default}.schedule-create-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100dvh - 44px);overflow:auto;padding:18px;border:1px solid #d4dae3;border-radius:var(--radius-modal);background:var(--ui-panel);box-shadow:0 26px 74px rgba(15,23,42,.28)}html.schedule-create-open,html.schedule-create-open body{overflow:hidden}.schedule-create-header{margin-bottom:14px!important;padding-bottom:12px;border-bottom:1px solid #e7ebf0}.schedule-create-options{gap:9px!important}.schedule-create-option{min-height:86px!important;padding:13px!important;border-radius:var(--radius-control)!important;box-shadow:none!important}.schedule-create-option:hover,.schedule-create-option:focus-visible{transform:none!important;background:var(--ui-panel-soft)!important}.schedule-create-option-icon{width:36px!important;height:36px!important;border-radius:var(--radius-detail)!important}.schedule-create-form .compact-form{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;align-items:end}.schedule-create-form .compact-form>label{display:grid;gap:5px;color:#4b586b;font-size:.75rem;font-weight:750}.schedule-create-form .compact-form input[type="text"]{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfd5de;border-radius:var(--radius-control);background:var(--ui-panel);color:#253041;font:inherit}.schedule-create-form .compact-form .form-actions{grid-column:1/-1;justify-content:flex-end;margin-top:2px}.schedule-file-drop{position:relative;grid-template-columns:48px minmax(0,1fr)!important;gap:11px!important;align-items:center;min-height:110px;padding:14px;border:1px dashed #b9c3d1;border-radius:var(--radius-control);background:var(--ui-panel-soft);cursor:pointer}.schedule-file-drop:hover{border-color:#7e8daa;background:#f3f6fa}.schedule-file-drop input[type="file"]{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer}.schedule-file-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #d9e0e9;border-radius:var(--radius-detail);background:var(--ui-panel);color:var(--ui-accent);font-size:1.35rem}.schedule-file-copy{min-width:0;display:grid;gap:3px}.schedule-file-copy strong{color:#2f3b4d;font-size:.83rem}.schedule-file-copy>span{overflow:hidden;color:var(--ui-muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.schedule-file-copy small{color:#8a94a3;font-size:.68rem;font-weight:600}.schedule-import-preview{margin-top:2px}.schedule-import-create-form .form-actions{justify-content:flex-end}.schedule-import-error{padding:7px 0!important;border:0!important;background:transparent!important}
@media(max-width:640px){.schedule-create-panel{align-items:end!important;padding:0!important}.schedule-create-dialog{width:100%;max-height:92dvh;padding:15px;border-radius:var(--radius-modal) var(--radius-modal) 0 0}.schedule-create-options,.schedule-create-form .compact-form{grid-template-columns:1fr}.schedule-create-form .compact-form .form-actions{grid-column:auto}.schedule-create-option{min-height:78px!important}.schedule-file-drop{min-height:96px}}

.settings-shell{max-width:1180px!important}.settings-form{padding:18px 20px!important}.settings-section:not(.settings-sports-disclosure){display:grid;grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:18px 24px;align-items:start}.settings-section:not(.settings-sports-disclosure)>div:first-child{grid-column:1;grid-row:1}.settings-section:not(.settings-sports-disclosure)>:not(:first-child){grid-column:2}.settings-section:not(.settings-sports-disclosure)+.settings-section{margin-top:22px;padding-top:22px}.settings-section>div:first-child h2{font-size:1rem!important}.settings-section>div:first-child p{margin-bottom:0!important;font-size:.76rem!important;line-height:1.45}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px 12px!important}.settings-form label{gap:5px!important;font-size:.75rem}.settings-form input,.settings-form select,.settings-form textarea{min-height:40px;border-radius:var(--radius-control)!important;padding:8px 9px!important}.settings-form textarea{min-height:82px}.settings-social-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.settings-avatar-row{margin:0!important}.settings-appearance-section{padding-top:0!important}.settings-banner-editor{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.65fr);gap:12px;align-items:stretch}.settings-banner-preview{position:relative;overflow:hidden;min-height:150px;display:flex;align-items:flex-end;gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background-color:var(--settings-banner-color,#1d3150);background-image:linear-gradient(180deg,rgba(10,18,32,.04),rgba(10,18,32,.46)),var(--settings-banner-image,none);background-position:center;background-size:cover;color:#fff}.settings-banner-preview img{width:72px;height:72px;border:3px solid #fff;border-radius:var(--radius-circle);corner-shape:round;object-fit:cover;box-shadow:0 4px 16px rgba(0,0,0,.2)}.settings-banner-preview>div{display:grid;gap:2px;text-shadow:0 1px 5px rgba(0,0,0,.45)}.settings-banner-preview strong{font-size:1rem}.settings-banner-preview span{font-size:.72rem;opacity:.88}.settings-banner-controls{display:grid;align-content:start;gap:9px;padding:11px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel-soft)}.settings-color-field{grid-template-columns:1fr 48px!important;align-items:center}.settings-color-field input[type="color"]{width:48px!important;height:36px!important;min-height:36px!important;padding:3px!important;cursor:pointer}.settings-banner-picker small{color:var(--ui-muted);font-size:.67rem;font-weight:600}.settings-banner-remove{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;color:var(--ui-muted)!important;font-size:.7rem!important}.settings-banner-remove input{width:auto!important;min-height:0!important}.settings-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.settings-highlight-slot{display:grid;gap:8px;padding:10px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel-soft)}.settings-highlight-custom[hidden]{display:none!important}.settings-highlight-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-sports-disclosure{margin-top:22px!important;padding-top:18px!important}.settings-save{margin-left:calc(210px + 24px);min-height:40px;border-radius:var(--radius-control)!important}.settings-wide{grid-column:1/-1!important}
.profile-banner-cover{background-color:var(--profile-banner-color,#1d3150)!important;background-image:linear-gradient(180deg,rgba(10,18,32,.02),rgba(10,18,32,.16)),var(--profile-banner-image,none)!important;background-position:center!important;background-size:cover!important}.profile-stat-grid{grid-template-columns:repeat(var(--profile-highlight-count,3),minmax(0,1fr))!important}.profile-stat-grid article{padding:14px 12px!important}.profile-section-edit{color:var(--ui-muted);font-size:.7rem;font-weight:750;text-decoration:none}.profile-section-edit:hover{color:var(--ui-text-secondary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.settings-section:not(.settings-sports-disclosure){grid-template-columns:1fr;gap:11px}.settings-section:not(.settings-sports-disclosure)>div:first-child,.settings-section:not(.settings-sports-disclosure)>:not(:first-child){grid-column:1;grid-row:auto}.settings-grid,.settings-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-banner-editor{grid-template-columns:1fr}.settings-save{margin-left:0}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-stat-grid article:nth-child(2){border-right:0}.profile-stat-grid article:nth-child(n+3){border-top:1px solid #e5e9ef}}
@media(max-width:620px){.settings-form{padding:14px!important}.settings-grid,.settings-social-grid,.settings-highlight-grid,.settings-highlight-custom{grid-template-columns:1fr!important}.settings-banner-preview{min-height:125px}.profile-stat-grid{grid-template-columns:1fr 1fr!important}}
@media(min-width:1080px){.activity-context-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}.activity-sport-field{grid-column:span 3}.activity-model-field{grid-column:span 2}.activity-workout-field{grid-column:span 3}.activity-date-field{grid-column:span 2}.activity-time-field{grid-column:span 2}.activity-context-grid:has(.activity-model-field[hidden]) .activity-sport-field{grid-column:span 4}.activity-context-grid:has(.activity-model-field[hidden]) .activity-workout-field{grid-column:span 3}.activity-context-grid:has(.activity-model-field[hidden]) .activity-date-field{grid-column:span 2}.activity-context-grid:has(.activity-model-field[hidden]) .activity-time-field{grid-column:span 3}.activity-context-grid:has(.activity-workout-field[hidden]):has(.activity-model-field[hidden]) .activity-sport-field{grid-column:span 5}.activity-context-grid:has(.activity-workout-field[hidden]):has(.activity-model-field[hidden]) .activity-date-field{grid-column:span 3}.activity-context-grid:has(.activity-workout-field[hidden]):has(.activity-model-field[hidden]) .activity-time-field{grid-column:span 4}}
.settings-color-field{display:grid!important;grid-template-columns:1fr 48px!important;align-items:center!important}.settings-form input[type="file"]{padding:5px 6px!important}.settings-form input[type="file"]::file-selector-button{min-height:30px;margin-right:8px;padding:5px 9px;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-panel-soft);color:var(--ui-text-secondary);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.settings-form input[type="file"]::file-selector-button:hover{background:var(--ui-surface-hover)}

.monthly-inline-action{padding:0;border:0;background:transparent;color:#526b9c;font:inherit;font-size:.62rem;font-weight:750;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}
.monthly-inline-action:hover{color:#2f4d86}
.schedule-history-dialog{width:min(660px,100%)}
.schedule-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.schedule-history-grid fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.72fr);gap:8px;margin:0;padding:11px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel-soft)}
.schedule-history-grid legend{padding:0 5px;color:var(--ui-text-secondary);font-size:.76rem;font-weight:800}
.schedule-history-grid label{display:grid;gap:5px;min-width:0;color:#4f5d70;font-size:.73rem;font-weight:750}
@media(max-width:620px){.schedule-history-grid{grid-template-columns:1fr}.schedule-history-grid fieldset{grid-template-columns:1fr}}


/* 2026-08-28 — consistência global de formulários e navegação.
   Componentes especializados podem sobrescrever estas bases localmente. */
:where(
    input[type="text"], input[type="email"], input[type="password"], input[type="search"],
    input[type="url"], input[type="tel"], input[type="number"], input[type="date"],
    input[type="datetime-local"], input[type="month"], input[type="week"],
    select, textarea
) {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font: inherit;
    line-height: 1.35;
    box-shadow: none;
    outline: 0;
    transition: border-color .12s ease, box-shadow .12s ease, background-color .12s ease;
}
:where(
    input[type="text"], input[type="email"], input[type="password"], input[type="search"],
    input[type="url"], input[type="tel"], input[type="number"], input[type="date"],
    input[type="datetime-local"], input[type="month"], input[type="week"],
    select, textarea
):hover:not(:disabled):not([readonly]) { border-color: var(--ui-border-strong); }
:where(
    input[type="text"], input[type="email"], input[type="password"], input[type="search"],
    input[type="url"], input[type="tel"], input[type="number"], input[type="date"],
    input[type="datetime-local"], input[type="month"], input[type="week"],
    select, textarea
):focus {
    border-color: var(--ui-accent);
    box-shadow: 0 0 0 2px var(--ui-focus-ring);
}
:where(input, textarea)::placeholder { color: var(--ui-faint); opacity: 1; }
:where(input, select, textarea):disabled,
:where(input, select, textarea)[readonly] {
    background: var(--ui-surface-hover);
    color: var(--ui-muted);
    cursor: not-allowed;
}
textarea { resize: vertical; }
input[type="date"], input[type="datetime-local"], input[type="number"] { font-variant-numeric: tabular-nums; }
input[type="file"] {
    width: 100%;
    min-height: 38px;
    padding: 4px 6px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-muted);
    font: inherit;
}
input[type="file"]::file-selector-button {
    min-height: 28px;
    margin-right: 8px;
    padding: 5px 9px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-surface-subtle);
    color: var(--ui-text-secondary);
    font: inherit;
    font-size: .74rem;
    font-weight: 750;
    cursor: pointer;
}
input[type="file"]::file-selector-button:hover { background: var(--ui-surface-hover); }

/* O indicador de abertura do histórico sempre ocupa a última coluna, mesmo sem métricas. */
.activity-row-main > .activity-row-metrics { grid-column: 4; }
.activity-row-main > .activity-row-open {
    grid-column: 5;
    justify-self: end;
    align-self: center;
    color: var(--ui-faint);
}

.settings-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.settings-heading-row .page-heading { margin-bottom: 14px; }
.settings-workspace-heading { display:grid; gap:var(--space-1); }
.settings-workspace-kicker { color:var(--ui-accent); font-size:var(--type-meta-size); line-height:var(--type-meta-line); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.settings-profile-back { flex: 0 0 auto; margin-top: 1px; }
@media (max-width: 620px) {
    .settings-heading-row { align-items: stretch; flex-direction: column; gap: 8px; }
    .settings-profile-back { width: max-content; }
}

/* Registro rápido: duração opcional, sem forçar um tempo fictício. */
.quick-register-duration-field{display:grid;gap:5px;min-width:0}.quick-register-duration-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ui-text-secondary);font-size:.75rem;font-weight:750}.quick-register-duration-heading>span{display:inline-flex;align-items:baseline;gap:5px}.quick-register-duration-heading small{color:var(--ui-text-muted);font-size:.66rem;font-weight:650}.quick-register-duration-heading label{display:inline-flex;align-items:center;gap:5px;color:var(--ui-text-muted);font-size:.68rem;font-weight:650;cursor:pointer}.quick-register-duration-heading input{width:14px!important;min-height:14px!important;margin:0!important;padding:0!important}.quick-register-duration-input{display:flex;align-items:center;min-height:36px;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-surface);overflow:hidden}.quick-register-duration-input:focus-within{border-color:#6d7b9d;box-shadow:0 0 0 2px rgba(64,80,124,.1)}.quick-register-duration-input input{width:100%!important;min-width:0!important;min-height:34px!important;padding:7px 9px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.quick-register-duration-input>span{padding:0 9px;color:var(--ui-text-muted);font-size:.7rem;font-weight:700}.quick-register-duration-field.is-disabled .quick-register-duration-input{background:var(--ui-surface-soft);opacity:.68}
.workout-preview-loading{display:grid;place-items:center;min-height:220px}.workout-preview-loading-line{display:grid;gap:8px;width:min(460px,80%)}.workout-preview-loading-line span{display:block;height:12px;border-radius:var(--radius-detail);background:linear-gradient(90deg,#eef1f5 0%,#f8fafc 45%,#eef1f5 100%);background-size:220% 100%;animation:uiPreviewPulse 1.1s linear infinite}.workout-preview-loading-line span:nth-child(2){width:72%}.workout-preview-loading-line span:nth-child(3){width:54%}@keyframes uiPreviewPulse{to{background-position:-220% 0}}.workout-preview-load-error{display:grid;justify-items:center;gap:10px;color:var(--ui-text-muted);text-align:center}

/* Goal flexibility + nested schedule modal fixes */
.goal-exercise-field[hidden], [data-goal-exercise-field][hidden] { display: none !important; }
.goal-exercise-field { grid-column: 1 / -1; }
.goal-exercise-field small { color: var(--ui-text-muted); font-size: .68rem; font-weight: 600; line-height: 1.4; }
/* Preview is the first layer. Actions opened from it must sit above it. */
.workout-preview { z-index: var(--z-drawer) !important; }
.quick-register-workout, .occurrence-editor, .workout-editor-modal { z-index: var(--z-modal) !important; }
.workout-save-scope-modal { z-index: calc(var(--z-modal) + 10) !important; }
.ui-confirm-overlay { z-index: var(--z-confirm) !important; }

.activity-edit-context-grid > .input-field {
    min-width: 0;
}

@media (min-width: 761px) {
    .activity-edit-context-grid {
        display: grid !important;
        grid-template-columns: minmax(220px, 1.35fr) minmax(128px, .7fr) minmax(170px, .82fr) minmax(145px, .72fr) !important;
        grid-template-areas:
            "sport date time status"
            "end end end end";
        gap: 12px 14px !important;
        align-items: start !important;
    }
    .activity-edit-context-grid .activity-edit-sport-field {
        grid-area: sport !important;
        grid-column: auto !important;
    }
    .activity-edit-context-grid .activity-edit-date-field {
        grid-area: date !important;
        grid-column: auto !important;
    }
    .activity-edit-context-grid .activity-edit-time-field {
        grid-area: time !important;
        grid-column: auto !important;
    }
    .activity-edit-context-grid .activity-edit-status-field {
        grid-area: status !important;
        grid-column: auto !important;
    }
    .activity-edit-context-grid .activity-edit-end-field {
        grid-area: end !important;
        grid-column: auto !important;
        max-width: 520px !important;
    }
    .activity-edit-context-grid .activity-edit-time-field .clock-segments {
        display: grid !important;
        grid-template-columns: 48px auto 48px 30px !important;
        gap: 5px !important;
        width: max-content;
        max-width: 100%;
    }
    .activity-edit-context-grid .activity-edit-time-field .time-now-button {
        display: none !important;
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    .activity-edit-context-grid {
        grid-template-columns: minmax(128px, .72fr) minmax(170px, .9fr) minmax(145px, .78fr) !important;
        grid-template-areas:
            "sport sport sport"
            "date time status"
            "end end end";
    }
}

:root {
    --ui-motion-fast: var(--motion-hover);
    --ui-motion-base: var(--motion-modal);
    --ui-ease: var(--ease-state);
}

:where(a, button, summary, input, select, textarea) {
    transition-property: background-color, border-color, color, box-shadow, opacity, transform;
    transition-duration: var(--ui-motion-fast);
    transition-timing-function: var(--ui-ease);
}

:where(button, [role="button"]):active:not(:disabled) {
    transform: translateY(1px);
}

.onboarding-step-heading {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-bottom: 5px;
}

.onboarding-step-heading h2 {
    margin: 0;
}

.onboarding-step-heading > span {
    color: var(--ui-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.onboarding-subsection {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.onboarding-subsection > strong {
    color: var(--ui-text-secondary);
    font-size: .78rem;
}

.onboarding-result {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #d7dce3;
    border-radius: var(--radius-card);
    background: #d7dce3;
}

.onboarding-result > div {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    background: var(--ui-panel);
}

.onboarding-result span {
    color: #7a838e;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.onboarding-result strong {
    color: #2f3742;
    font-size: .79rem;
    line-height: 1.45;
}

.onboarding-result-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 10px;
}

.onboarding-result-actions > div {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid #e0e4e8;
    border-radius: var(--radius-detail);
    background: #f8f9fa;
}

.onboarding-result-actions strong {
    color: #384250;
    font-size: .75rem;
}

.onboarding-result-actions span {
    color: #707985;
    font-size: .71rem;
    line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    :where(button, [role="button"]):active:not(:disabled) {
        transform: none;
    }
}

@media (max-width: 620px) {
    .onboarding-result,
    .onboarding-result-actions {
        grid-template-columns: 1fr;
    }
}

.ui-undo-toast {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: var(--z-toast);
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: min(420px, calc(100vw - 32px));
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-card);
    background: #17233a;
    color: #fff;
    box-shadow: 0 18px 46px rgba(16,27,46,.28);
    transition: opacity 160ms ease, transform 160ms ease;
}
.ui-undo-toast button {
    border: 0;
    background: transparent;
    color: #b9d4ff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.ui-undo-toast button:disabled { opacity: .65; cursor: default; }
.ui-undo-toast.is-leaving { opacity: 0; transform: translateY(8px); }
@media (max-width: 640px) {
    .ui-undo-toast { left: 16px; right: 16px; bottom: calc(80px + env(safe-area-inset-bottom)); justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
    .ui-undo-toast { transition: none; }
}

.header-notification-button{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-detail);color:inherit;text-decoration:none;transition:background .16s ease,transform .16s ease}.header-notification-button:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.header-notification-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-notification-button>span{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-full);corner-shape:round;background:var(--ui-panel);color:#172033;display:grid;place-items:center;font-size:10px;font-weight:800;line-height:1}.header-notification-button.has-unread svg{stroke-width:2.2}@media(prefers-reduced-motion:reduce){.header-notification-button{transition:none}.header-notification-button:hover{transform:none}}

.trainer-athlete-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.trainer-athlete-summary .content-card{padding:15px}.trainer-athlete-summary span,.trainer-athlete-summary small{display:block;color:var(--ui-text-muted,#687386)}.trainer-athlete-summary strong{display:block;font-size:1.45rem;margin:5px 0}@media(max-width:900px){.trainer-athlete-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.trainer-athlete-summary{grid-template-columns:1fr}}
.ui-server-undo{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--ui-border,#d9e0e8);border-radius:var(--radius-card);background:var(--ui-surface,#fff);font-size:.9rem}.ui-server-undo form{margin:0}.ui-server-undo button{border:0;background:transparent;color:var(--ui-brand,#1d4ed8);font:inherit;font-weight:700;cursor:pointer;padding:5px 6px}.ui-server-undo button:hover{text-decoration:underline}@media(max-width:640px){.ui-server-undo{margin-inline:10px}}

.signup-onboarding-shell{width:min(900px,calc(100% - 24px))}.signup-onboarding-alert{margin:12px 26px 0}.signup-sports-grid{max-height:330px;overflow:auto;padding-right:4px}.signup-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-top:16px}.signup-account-grid .gps-field{display:grid;gap:6px;font-weight:700;color:var(--ui-text-secondary);margin-top:10px}.signup-account-grid .gps-field input{width:100%;min-height:44px;border:1px solid var(--ui-border);border-radius:var(--radius-control);padding:9px 10px;font:inherit}.signup-account-grid .is-wide{grid-column:1/-1}.signup-terms{display:flex;align-items:flex-start;gap:9px;margin:16px 0;color:var(--ui-text-secondary);font-size:.86rem;line-height:1.5}.signup-terms input{margin-top:3px}.signup-login-link{text-align:center;margin-top:16px}.onboarding-actions .onboarding-skip-inline{border:0;background:transparent;color:var(--ui-muted);padding:8px 10px;font:inherit;font-size:.8rem;cursor:pointer}.signup-account-step .onboarding-result{margin-top:16px}
@media(max-width:640px){.signup-onboarding-alert{margin-inline:16px}.signup-account-grid{grid-template-columns:1fr}.signup-account-grid .is-wide{grid-column:auto}.signup-sports-grid{max-height:300px}.onboarding-actions .onboarding-skip-inline{order:2;width:100%;text-align:center}.signup-onboarding-form .onboarding-actions{flex-wrap:wrap}}

.signup-onboarding-card{
    height:min(720px,calc(100dvh - 88px));
    min-height:620px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.signup-onboarding-topline{
    min-height:54px;
    padding:17px 26px 10px;
    align-items:center;
}
.signup-step-status{display:flex;align-items:center;gap:10px;min-width:0}
.onboarding-step-kind{color:var(--ui-muted);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.signup-onboarding-topline .onboarding-skip-inline{border:0;background:transparent;color:var(--ui-accent);padding:4px 0;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.signup-onboarding-topline .onboarding-skip-inline:hover{text-decoration:underline}
.signup-onboarding-form{display:flex;flex:1;min-height:0;flex-direction:column;padding-bottom:0}
.signup-onboarding-step{flex:1;min-height:0;overflow:auto;padding:24px 26px 18px;scrollbar-gutter:stable}
.signup-onboarding-step.is-active{display:block}
.signup-onboarding-step .onboarding-step-heading{margin:0 0 16px}
.signup-onboarding-step .onboarding-step-heading h1{margin:0;color:var(--ui-text-strong);font-size:clamp(1.45rem,2.5vw,1.9rem);line-height:1.15}
.signup-onboarding-actions{flex:0 0 auto;display:grid!important;grid-template-columns:1fr auto;align-items:center;min-height:68px;margin:0!important;padding:12px 26px 14px!important;border-top:1px solid var(--ui-border-soft);background:var(--ui-panel)}
.signup-onboarding-actions .secondary-action{justify-self:start;min-width:86px}
.signup-onboarding-actions .is-invisible{visibility:hidden;pointer-events:none}
.signup-action-end{display:flex;justify-content:flex-end;min-width:126px}
.signup-action-end .primary-action{min-width:126px}
.signup-sport-picker{display:grid;gap:16px}
.signup-sport-search{display:grid;gap:6px;color:var(--ui-text-secondary);font-size:.78rem;font-weight:700}
.signup-sport-search input{width:100%;min-height:44px;border:1px solid var(--ui-border);border-radius:var(--radius-control);padding:9px 11px;font:inherit;background:var(--ui-panel);color:var(--ui-text-strong)}
.signup-sport-search input:focus{outline:0;border-color:var(--ui-muted);box-shadow:0 0 0 3px rgba(115,128,163,.15)}
.signup-sports-catalog{display:grid;gap:18px}
.signup-sport-group{display:grid;gap:8px}
.signup-sport-group-title{color:var(--ui-muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.signup-sports-grid-main{margin-top:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.choice-card-sport{min-height:48px;padding:9px 10px}
.signup-sport-icon{display:inline-block;flex:0 0 auto;width:22px;height:22px;color:var(--ui-accent);background-color:currentColor;-webkit-mask-image:var(--sport-icon-url);mask-image:var(--sport-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.signup-sport-empty{padding:20px 0;color:var(--ui-muted);text-align:center;font-size:.86rem}
.signup-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.signup-training-grid{margin-top:0!important}
.signup-tracking-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:0!important}
.choice-card-detail{align-items:flex-start;min-height:68px}
.choice-card-detail>span{display:grid;gap:2px}
.choice-card-detail strong{color:var(--ui-text-secondary);font-size:.82rem;line-height:1.3}
.choice-card-detail small{color:var(--ui-muted);font-size:.7rem;font-weight:500;line-height:1.35}
.signup-defaults-grid{margin-top:0!important}
.signup-summary-block{margin-bottom:16px}
.signup-summary-title{margin-bottom:8px;color:var(--ui-muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.signup-account-step .onboarding-result{margin-top:0}
.signup-account-step .signup-account-grid{margin-top:0}

.auth-modern-body{min-height:100dvh;background:var(--ui-bg)}
.auth-modern-shell{width:min(100% - 24px,620px);margin:0 auto;padding:32px 0 64px}
.auth-modern-brand{display:inline-flex;margin-bottom:14px}
.auth-modern-brand img{display:block;width:auto;height:38px}
.auth-modern-card{padding:28px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel);box-shadow:0 18px 50px rgba(15,23,42,.1)}
.auth-modern-card h1{margin:0 0 20px;color:var(--ui-text-strong);font-size:1.8rem;line-height:1.15}
.auth-modern-form{display:grid;gap:16px}
.auth-modern-field{display:grid;gap:6px;color:var(--ui-text-secondary);font-size:.82rem;font-weight:700}
.auth-modern-field-wrap{position:relative;display:block}
.auth-modern-field input{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-panel);color:var(--ui-text-strong);font:inherit;font-size:1rem;outline:0}
.auth-modern-field input.password{padding-right:86px}
.auth-modern-field input:focus{border-color:var(--ui-muted);box-shadow:0 0 0 3px rgba(115,128,163,.15)}
.auth-modern-submit{width:100%;min-height:46px;border:0;border-radius:var(--radius-control);background:var(--ui-accent);color:#fff;font:inherit;font-weight:750;cursor:pointer}
.auth-modern-submit:hover{background:#334266}
.auth-modern-links{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.84rem}
.auth-modern-links a,.auth-modern-footer a{color:var(--ui-accent);text-decoration:none}
.auth-modern-links a:hover,.auth-modern-footer a:hover{text-decoration:underline}
.auth-modern-footer{margin-top:20px;text-align:center;color:var(--ui-muted);font-size:.86rem}

@media(max-width:760px){
    .signup-onboarding-card{height:calc(100dvh - 76px);min-height:0;border-radius:var(--radius-card)}
    .signup-onboarding-topline{padding:14px 16px 8px}
    .signup-onboarding-step{padding:20px 16px 14px}
    .signup-onboarding-actions{padding:10px 16px 12px!important;min-height:64px}
    .signup-sports-grid-main,.signup-purpose-grid,.signup-tracking-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:500px){
    .signup-onboarding-shell{width:min(100% - 12px,900px);padding-top:10px}
    .signup-onboarding-card{height:calc(100dvh - 64px);border-radius:var(--radius-card)}
    .signup-onboarding-step .onboarding-step-heading h1{font-size:1.35rem}
    .signup-sports-grid-main,.signup-purpose-grid,.signup-tracking-grid{grid-template-columns:1fr!important}
    .signup-step-status{gap:8px}
    .signup-onboarding-topline .onboarding-skip-inline{font-size:.73rem}
    .auth-modern-shell{width:min(100% - 20px,620px);padding:18px 0 40px}
    .auth-modern-card{padding:22px 18px;border-radius:var(--radius-card)}
}

.settings-choice-block{display:grid;gap:9px;margin-top:16px}.settings-choice-block>strong{color:var(--ui-text-secondary);font-size:.78rem}.settings-preference-grid{margin-top:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:680px){.settings-preference-grid{grid-template-columns:1fr!important}}
.auth-modern-note{margin:0 0 18px;color:var(--ui-muted);font-size:.9rem;line-height:1.5}
.auth-modern-code-input{text-align:center;letter-spacing:.28em;font-size:1.25rem!important;font-weight:750;font-variant-numeric:tabular-nums}
.auth-modern-resend{margin-top:14px;text-align:center}
.auth-modern-resend button{padding:6px 8px;border:0;background:transparent;color:var(--ui-accent);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}
.auth-modern-resend button:hover{text-decoration:underline}

@media (min-width: 901px) {
  .activities-page { padding-top: 24px; }
  .workout-library-page { width: min(1260px, calc(100% - 28px)); max-width: none; padding: 24px 0 54px; }
  .draft-exercise-page,
  .model-exercise-page { width: min(1220px, calc(100% - 28px)); max-width: none; padding: 24px 0 54px; }
}

@media (max-width: 900px) {
  .activities-page { padding-top: 16px; }
  .workout-library-page,
  .draft-exercise-page,
  .model-exercise-page { width: min(1260px, calc(100% - 24px)); padding: 16px 0 calc(88px + env(safe-area-inset-bottom)); }
}
/* ===== Native appearance modes (2026-08-31) ===== */
:root[data-theme="dark"] body,
:root[data-theme="dark"] .container-fluid,
:root[data-theme="dark"] .main-content,
:root[data-theme="dark"] .page-shell,
:root[data-theme="dark"] .dashboard-page,
:root[data-theme="dark"] .activities-page,
:root[data-theme="dark"] .settings-shell,
:root[data-theme="dark"] .monthly-shell,
:root[data-theme="dark"] .schedule-view-shell,
:root[data-theme="dark"] .library-page,
:root[data-theme="dark"] .progress-page {
    background: var(--ui-bg);
    color: var(--ui-text);
}

:root[data-theme="dark"] :is(.content-card,.dashboard-card,.status-card,.tool-card,.person-card,.admin-card,.onboarding-card,.shared-schedule-card,.dashboard-panel,.dashboard-today,.dashboard-quickbar,.settings-form,.settings-section,.activity-card,.activity-detail-card,.activity-form-card,.workout-card,.monthly-day,.monthly-toolbar,.event-card,.profile-card,.profile-panel,.goal-card,.quick-tools-panel,.workout-session-panel,.modal-content,.dialog-card),
:root[data-theme="dark"] dialog {
    background: var(--ui-panel);
    color: var(--ui-text);
    border-color: var(--ui-border);
    box-shadow: none;
}

:root[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,strong,label,dt,.page-heading h1,.dashboard-heading h1,.dashboard-panel-heading h2,.settings-section h2,.settings-section h3,.activity-card strong,.workout-card strong) {
    color: var(--ui-text-strong);
}

:root[data-theme="dark"] :is(p,small,dd,.page-heading p,.dashboard-heading p,.dashboard-eyebrow,.dashboard-panel-heading a,.settings-section p,.settings-section small,.activity-card small,.workout-card small,.footer-build) {
    color: var(--ui-muted);
}

:root[data-theme="dark"] input:focus,
:root[data-theme="dark"] select:focus,
:root[data-theme="dark"] textarea:focus { border-color: var(--ui-accent) !important; box-shadow: 0 0 0 3px var(--ui-focus-ring) !important; }

:root[data-theme="dark"] :is(.secondary-button,.dashboard-button-secondary,.activity-secondary-button,.settings-profile-back,.monthly-nav-button,.choice-card,.time-now-button,.equipment-secondary-action) {
    background: var(--ui-panel-soft) !important;
    color: var(--ui-text) !important;
    border-color: var(--ui-border) !important;
}
:root[data-theme="dark"] :is(.secondary-button,.dashboard-button-secondary,.activity-secondary-button,.choice-card):hover { background: var(--ui-surface-hover) !important; border-color: var(--ui-border-strong) !important; }
:root[data-theme="dark"] :is(.primary-button,.dashboard-button-primary,.settings-save,.primary-action,.auth-modern-submit) { background: var(--ui-accent) !important; color: #fff !important; }

:root[data-theme="dark"] .site-footer { background: #111b29; color: #bcc4cf; border-top-color: #2e3947; }
:root[data-theme="dark"] .site-footer a { color: #8bbceb; }
:root[data-theme="dark"] .site-footer h4 { color: #e8e5df; }
:root[data-theme="dark"] .user-menu-content,
:root[data-theme="dark"] .nav-dropdown,
:root[data-theme="dark"] .global-create-content { background: var(--ui-panel); border-color: var(--ui-border); color: var(--ui-text); }
:root[data-theme="dark"] .user-menu-content a,
:root[data-theme="dark"] .user-menu-content button,
:root[data-theme="dark"] .nav-dropdown a,
:root[data-theme="dark"] .global-create-content a { background: transparent; color: var(--ui-text); }
:root[data-theme="dark"] .user-menu-content a:hover,
:root[data-theme="dark"] .user-menu-content button:hover,
:root[data-theme="dark"] .nav-dropdown a:hover,
:root[data-theme="dark"] .global-create-content a:hover { background: var(--ui-surface-hover); }
:root[data-theme="dark"] .user-menu-section + .user-menu-section,
:root[data-theme="dark"] .user-menu-content > form,
:root[data-theme="dark"] .user-menu-content > a { border-top-color: var(--ui-border-soft); }

:root[data-theme="dark"] .dashboard-progress-chart,
:root[data-theme="dark"] .dashboard-progress-summary,
:root[data-theme="dark"] .dashboard-summary-stat,
:root[data-theme="dark"] .dashboard-schedule-row,
:root[data-theme="dark"] .dashboard-activity-row,
:root[data-theme="dark"] .dashboard-empty,
:root[data-theme="dark"] .monthly-event,
:root[data-theme="dark"] .schedule-week-next-main,
:root[data-theme="dark"] .schedule-week-choices > button {
    background: var(--ui-panel);
    border-color: var(--ui-border);
    color: var(--ui-text);
}
:root[data-theme="dark"] .dashboard-schedule-row:hover,
:root[data-theme="dark"] .dashboard-activity-row:hover,
:root[data-theme="dark"] .monthly-event:hover { background: var(--ui-panel-soft); }
:root[data-theme="dark"] :is(.dashboard-goal-icon,.dashboard-activity-icon){background:var(--ui-icon-surface)!important;border-color:var(--ui-icon-border)!important;color:var(--ui-icon-foreground)!important}

:root[data-theme="dark"] .auth-modern-body,
:root[data-theme="dark"] .onboarding-body { background: var(--ui-bg); }
:root[data-theme="dark"] .auth-modern-card,
:root[data-theme="dark"] .signup-onboarding-card { background: var(--ui-panel); border-color: var(--ui-border); box-shadow: none; }
:root[data-theme="dark"] .auth-modern-card h1,
:root[data-theme="dark"] .signup-onboarding-step .onboarding-step-heading h1,
:root[data-theme="dark"] .auth-modern-field,
:root[data-theme="dark"] .signup-account-grid .gps-field,
:root[data-theme="dark"] .signup-sport-search { color: var(--ui-text-strong); }
:root[data-theme="dark"] .signup-onboarding-actions { background: var(--ui-panel); border-top-color: var(--ui-border); }
:root[data-theme="dark"] .signup-sport-search input,
:root[data-theme="dark"] .signup-account-grid .gps-field input { background:color-mix(in srgb,var(--ui-panel) 78%,var(--ui-panel-soft)); color:var(--ui-text-strong); border-color:var(--ui-border); }
:root[data-theme="dark"] .choice-card { background:var(--ui-panel-soft); }
:root[data-theme="dark"] .choice-card:has(input:checked) { background:var(--ui-accent-soft) !important; border-color:color-mix(in srgb,var(--ui-accent) 68%,var(--ui-border)) !important; }

.header-theme-button { width:38px; height:38px; border:0; border-radius:var(--radius-detail); display:grid; place-items:center; background:transparent; color:#f4f5f7; cursor:pointer; }
.header-theme-button:hover { background:rgba(255,255,255,.08); }
.header-theme-button .theme-icon { grid-area:1/1; font-size:1rem; line-height:1; }
:root[data-theme="dark"] .header-theme-button .theme-icon-light,
:root[data-theme="light"] .header-theme-button .theme-icon-dark { opacity:0; transform:scale(.75); }
:root[data-theme="dark"] .header-theme-button .theme-icon-dark,
:root[data-theme="light"] .header-theme-button .theme-icon-light { opacity:1; }
:root[data-theme="system"] .header-theme-button .theme-icon-light { opacity:.75; }
:root[data-theme="system"] .header-theme-button .theme-icon-dark { opacity:.75; transform:translate(5px,4px) scale(.75); }
.user-menu-select { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:8px; padding:5px 8px; color:var(--ui-muted); font-size:.72rem; font-weight:700; }
.user-menu-select select { min-width:0; min-height:30px; padding:4px 6px; font-size:.76rem; }

.auth-page-tools { display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-bottom:10px; }
.auth-page-tools select,.auth-page-tools button { min-height:32px; border:1px solid var(--ui-border); border-radius:var(--radius-control); background:var(--ui-panel); color:var(--ui-text); padding:5px 8px; font:inherit; font-size:.76rem; }
.auth-google-button { width:100%; min-height:46px; display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--ui-border); border-radius:var(--radius-control); background:var(--ui-panel); color:var(--ui-text-strong); font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.auth-google-button:hover { background:var(--ui-surface-hover); border-color:var(--ui-border-strong); text-decoration:none; }
.auth-google-mark { width:22px; height:22px; border-radius:var(--radius-circle);corner-shape:round; display:grid; place-items:center; background:var(--ui-panel); color:#3764d8; border:1px solid #d6dbe4; font-weight:900; }
.auth-divider { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; color:var(--ui-muted); font-size:.74rem; margin:2px 0; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; background:var(--ui-border-soft); }
.auth-unified-shell { width:min(100% - 24px,900px); padding:18px 0 48px; }
.auth-unified-card { width:min(100%,620px); margin:0 auto; padding:28px; border:1px solid var(--ui-border); border-radius:var(--radius-card); background:var(--ui-panel); }
.auth-unified-heading { margin-bottom:20px; }
.auth-unified-heading h1 { margin:0 0 5px; color:var(--ui-text-strong); font-size:1.7rem; }
.auth-unified-heading p { margin:0; color:var(--ui-muted); font-size:.9rem; }



/* ===== Appearance polish: deterministic light/dark rendering ===== */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }

.header-notification-menu{position:relative;display:block}
.header-notification-menu>summary{list-style:none}
.header-notification-menu>summary::-webkit-details-marker{display:none}
.header-notification-button{color:#f4f6f8!important;background:transparent;border:0;cursor:pointer}
.header-notification-button:hover,.header-notification-menu[open]>.header-notification-button{background:rgba(255,255,255,.1)}
.header-notification-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--ui-z-popover,800);width:min(360px,calc(100vw - 20px));overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--radius-menu);background:var(--ui-panel);color:var(--ui-text);box-shadow:0 18px 44px rgba(15,23,42,.2)}
.header-notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid var(--ui-border-soft)}
.header-notification-head strong{color:var(--ui-text-strong);font-size:.86rem}
.header-notification-head small{color:var(--ui-muted);font-size:.68rem}
.header-notification-list{display:grid;max-height:min(420px,60vh);overflow:auto}
.header-notification-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:8px;padding:10px 13px;border-bottom:1px solid var(--ui-border-soft);color:var(--ui-text);text-decoration:none}
.header-notification-item:hover{background:var(--ui-surface-hover);text-decoration:none}
.header-notification-item>span:last-child{display:grid;gap:2px;min-width:0}
.header-notification-item strong{overflow:hidden;color:var(--ui-text-strong);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.header-notification-item small{display:-webkit-box;overflow:hidden;color:var(--ui-muted);font-size:.7rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.header-notification-item time{color:var(--ui-faint);font-size:.62rem}
.header-notification-dot{width:6px;height:6px;margin-top:5px;border-radius:var(--radius-circle);corner-shape:round;background:transparent}
.header-notification-item.is-unread .header-notification-dot{background:var(--ui-accent)}
.header-notification-empty{margin:0;padding:24px 16px;color:var(--ui-muted);font-size:.76rem;text-align:center}
.header-notification-admin{display:grid;gap:5px;padding:10px 13px;border-top:1px solid var(--ui-border-soft);border-bottom:1px solid var(--ui-border-soft);background:var(--ui-panel-soft)}
.header-notification-admin-label{color:var(--ui-faint);font-size:.62rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.header-notification-admin a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;color:var(--ui-text);font-size:.72rem;font-weight:650;text-decoration:none}
.header-notification-admin a:hover{color:var(--ui-accent);text-decoration:none}
.header-notification-admin strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border:1px solid var(--ui-border);border-radius:var(--radius-control);background:var(--ui-panel);color:var(--ui-text-strong);font-size:.68rem;font-variant-numeric:tabular-nums}
.header-notification-all{display:block;padding:10px 13px;color:var(--ui-accent);font-size:.72rem;font-weight:750;text-align:center;text-decoration:none}
.header-notification-all:hover{background:var(--ui-surface-hover);text-decoration:none}
@media(max-width:620px){.header-notification-popover{position:fixed;top:58px;right:10px;left:10px;width:auto}}



/* Components that used literal white surfaces and therefore ignored the theme. */
:root[data-theme="dark"] :is(.admin-metrics,.insight-card,.insight-section,.notification-card,.empty-action-state,.trend-card,.compare-head article){background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
:root[data-theme="dark"] .onboarding-brand img,
:root[data-theme="dark"] .auth-modern-brand img{filter:brightness(0) invert(1)}

/* ===== Dark-mode completion pass: legacy white surfaces ===== */
:root[data-theme="dark"] body,
:root[data-theme="dark"] main,
:root[data-theme="dark"] .main-content,
:root[data-theme="dark"] .page-shell,
:root[data-theme="dark"] .dashboard-shell,
:root[data-theme="dark"] .schedule-shell,
:root[data-theme="dark"] .cronograma-page,
:root[data-theme="dark"] .activities-shell,
:root[data-theme="dark"] .exchange-page {background:var(--ui-bg)!important;color:var(--ui-text)!important}



:root[data-theme="dark"] :is(.dashboard-panel-heading,.calendar-corner,.day-header,.preview-exercise,.quick-create-exercises,.library-selector-panel,.exchange-dropzone,.exchange-import-preview){background:var(--ui-panel-soft)!important}
:root[data-theme="dark"] .time-track{background:var(--ui-grid-rail)!important}
:root[data-theme="dark"] :is(.calendar-corner,.day-header){background:var(--ui-grid-header)!important}
:root[data-theme="dark"] .day-track{background:var(--ui-panel)!important;border-left-color:var(--ui-grid-border)!important}
:root[data-theme="dark"] .hour-line{border-top-color:var(--ui-grid-border-soft)!important}
:root[data-theme="dark"] .calendar-view{border-color:var(--ui-grid-border-strong)!important}

:root[data-theme="dark"] .workout-card{background:color-mix(in srgb,var(--ui-panel) 72%,var(--ui-panel-soft))!important;border-color:var(--ui-grid-border)!important;border-left-color:color-mix(in srgb,var(--ui-accent) 82%,var(--ui-grid-border))!important;color:var(--ui-text)!important}
:root[data-theme="dark"] .workout-card:hover{background:var(--ui-panel-soft)!important;color:var(--ui-text-strong)!important}
:root[data-theme="dark"] .workout-card.is-complete{background:color-mix(in srgb,var(--ui-panel) 88%,var(--ui-panel-soft))!important;border-color:var(--ui-border-soft)!important;border-left-color:var(--ui-muted)!important;color:var(--ui-text-secondary)!important}
:root[data-theme="dark"] :is(.dashboard-stat-strip strong,.dashboard-panel-heading h2,.dashboard-empty strong,.dashboard-quickbar strong,
.schedule-heading h1,.agenda-day h2,.schedule-actions-header strong,.workout-preview-heading h2,.preview-exercise strong,
.library-card-top h2,.exchange-heading h1,.exchange-card-heading h2,.exchange-preview-fileline strong,.exchange-preview-metrics strong,
.activity-row-title strong,.activity-detail-panel h2,.settings-section h2,.settings-section h3){color:var(--ui-text-strong)!important}
:root[data-theme="dark"] :is(.dashboard-stat-strip span,.dashboard-stat-strip small,.dashboard-panel-heading p,.dashboard-empty span,.dashboard-quickbar strong,
.schedule-heading p,.schedule-select-label>span,.agenda-card span,.workout-preview-heading p,.preview-exercise-meta span,.preview-exercise small,
.library-exercise-description,.library-exercise-tags,.exchange-back,.exchange-dropzone small,.exchange-preview-identity>span,.exchange-preview-metrics span,
.exchange-preview-meta,.activity-row-title span,.activity-row-metrics small,.settings-section p,.settings-section small){color:var(--ui-muted)!important}

:root[data-theme="dark"] :is(.secondary-button,.view-button,.dashboard-button-secondary,.icon-button,.icon-only-button,.monthly-nav-button,
.schedule-actions-header .icon-button,.exchange-back,.exchange-export-actions a,.exchange-bulk-actions button,.exchange-card-close){background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
:root[data-theme="dark"] :is(.secondary-button,.view-button,.dashboard-button-secondary,.icon-button,.icon-only-button,.exchange-back,.exchange-export-actions a):hover{background:var(--ui-surface-hover)!important;color:var(--ui-text-strong)!important;border-color:var(--ui-border-strong)!important}

:root[data-theme="dark"] :is(.activity-row-select span,.check-label span){background:var(--ui-panel-soft)!important;border-color:var(--ui-border)!important}



:root[data-theme="dark"] :is(.dashboard-quickbar a,.dashboard-panel-heading>a,.dashboard-link-button,.site-footer a,.header-notification-all){color:color-mix(in srgb,var(--ui-info) 72%,var(--ui-text-strong))!important}
:root[data-theme="dark"] .header-notification-button{color:#f5f7fa!important;opacity:1!important}
:root[data-theme="dark"] .header-notification-popover{background:var(--ui-panel)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}

:root[data-theme="dark"] .site-footer{background:#111b29!important;color:#bcc4cf!important;border-top-color:#2e3947!important}
:root[data-theme="dark"] .site-footer h4{color:#ece8e1!important}

/* Dark surfaces for the month/schedule side rails and list cards. */
:root[data-theme="dark"] :is(.schedule-sidebar,.schedule-mini-calendar,.schedule-week-summary,.schedule-next-card,.schedule-list-card,.monthly-toolbar,.monthly-day,.monthly-event,
.schedule-week-next-main,.schedule-week-choices>button,.library-sidebar,.library-tab-stage,.library-tab-view){background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
:root[data-theme="dark"] :is(.schedule-mini-calendar button,.schedule-week-summary small,.schedule-list-card small,.monthly-day small){color:var(--ui-muted)!important}

/* Keep the transparency checkerboard intentionally light/dark instead of flattening it. */


/* Separate profile editing from product preferences without duplicating persistence logic. */
.settings-view-profile [data-settings-area="settings"]{display:none!important}
.settings-view-settings [data-settings-area="profile"]{display:none!important}

/* Mobile overlay layering: editors and dialogs must always sit above persistent navigation/tools. */
:root {
    --ui-z-mobile-nav: var(--z-mobile-nav);
    --ui-z-floating-tools: var(--z-floating-tools);
    --ui-z-drawer: var(--z-drawer);
    --ui-z-modal: var(--z-modal);
}

.mobile-bottom-nav { z-index: var(--ui-z-mobile-nav) !important; }
.floating-utility-dock { z-index: var(--ui-z-floating-tools) !important; }

.activity-editor-shell,
.quick-tools-modal,
.workout-session-modal,
.workout-complete-modal,
.workout-editor-modal,
.trainer-prescription-modal,
.library-editor-modal,
.calendar-quick-create,
.quick-register-workout,
.occurrence-editor,
.schedule-create-panel,
.planned-date-modal{
    z-index: var(--ui-z-modal) !important;
}

@media (max-width: 720px) {
    html.activity-editor-open .mobile-bottom-nav,
html.activity-editor-open .floating-utility-dock,
html.activity-tool-open .mobile-bottom-nav,
html.activity-tool-open .floating-utility-dock,
html.quick-tools-open .mobile-bottom-nav,
html.quick-tools-open .floating-utility-dock,
html.schedule-create-open .mobile-bottom-nav,
html.schedule-create-open .floating-utility-dock,
html.calendar-quick-open .mobile-bottom-nav,
html.calendar-quick-open .floating-utility-dock,
html.schedule-actions-open .mobile-bottom-nav,
html.schedule-actions-open .floating-utility-dock,
html.trainer-prescription-open .mobile-bottom-nav,
html.trainer-prescription-open .floating-utility-dock{
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .activity-editor-shell.is-open {
        z-index: var(--ui-z-modal) !important;
    }

    .activity-editor {
        max-height: 100dvh !important;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .activity-editor .activity-form-actions {
        padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    }
}
.activity-editor-shell .activity-editor {
    width: min(1080px, calc(100vw - 44px)) !important;
}

.activity-editor-shell .activity-editor .activity-context-grid {
    padding: 14px 18px !important;
    gap: 10px !important;
}

.activity-editor-shell .activity-editor .activity-model-panel {
    padding-inline: 18px;
}

.activity-editor-shell .activity-editor .activity-metrics-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px;
    padding: 15px 0 11px;
    border-bottom: 0;
}

.activity-editor-shell .activity-editor .activity-metrics-strip > .input-field[data-field-slug="distancia"] { order: 10; }
.activity-editor-shell .activity-editor .activity-metrics-strip > .input-field[data-field-slug="duracao"] { order: 20; }
.activity-editor-shell .activity-editor .activity-metrics-strip > .input-field[data-field-slug="elevacao"],
.activity-editor-shell .activity-editor .activity-metrics-strip > .input-field[data-field-slug="desnivel"] { order: 30; }
.activity-editor-shell .activity-editor .activity-metrics-strip > .derived-metric-field { order: 40; }
.activity-editor-shell .activity-editor .activity-metrics-strip > .input-field { order: 60; }

.activity-editor-shell .activity-editor .derived-result-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    min-height: 38px;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel-soft);
}

.activity-editor-shell .activity-editor .derived-result-wrap input {
    min-height: 36px !important;
    padding: 7px 4px 7px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ui-text-strong) !important;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    box-shadow: none !important;
}

.activity-editor-shell .activity-editor .derived-result-wrap input:not([readonly]) {
    background: var(--ui-panel) !important;
}

.activity-editor-shell .activity-editor .derived-result-wrap > span:not(.auto-badge) {
    position: static !important;
    padding: 0 8px 0 2px;
    color: var(--ui-muted);
    white-space: nowrap;
}

.activity-editor-shell .activity-editor .derived-result-wrap .auto-badge {
    display: none;
}

.activity-editor-shell .activity-editor .derived-edit-button,
.activity-editor-shell .activity-editor .activity-inline-action {
    min-height: 28px;
    padding: 4px 8px;
    border: 0;
    border-radius: var(--radius-control);
    background: transparent;
    color: var(--ui-accent);
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    cursor: pointer;
}

.activity-editor-shell .activity-editor .derived-edit-button:hover,
.activity-editor-shell .activity-editor .activity-inline-action:hover {
    background: var(--ui-accent-soft);
    color: var(--ui-accent-strong);
}

.activity-editor-shell .activity-editor .derived-edit-button {
    margin-right: 4px;
}

.activity-editor-shell .activity-editor .optional-fields-bar {
    min-height: 36px;
    padding: 4px 0 9px;
    border-bottom: 1px solid var(--ui-border-soft);
}

.activity-editor-shell .activity-editor .optional-fields-bar > span {
    color: var(--ui-muted);
    font-weight: 650;
}

.activity-editor-shell .activity-editor .optional-field-chip {
    min-height: 28px;
    border-color: var(--ui-border);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
}

.activity-editor-shell .activity-editor .optional-field-chip.is-active,
.activity-editor-shell .activity-editor .optional-field-chip:hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-accent-soft);
    color: var(--ui-accent-strong);
}

.activity-editor-shell .activity-editor .activity-segments-entry {
    min-height: 48px;
    margin: 0;
    padding: 9px 0;
    border: 0;
    border-bottom: 1px solid var(--ui-border-soft);
    border-radius: 0;
    background: transparent;
}

.activity-editor-shell .activity-editor .activity-segments-entry.is-suggested,
.activity-editor-shell .activity-editor .activity-segments-entry.is-subtle {
    background: transparent;
}

.activity-editor-shell .activity-editor .activity-segments-entry strong,
.activity-editor-shell .activity-editor .activity-route-copy strong {
    color: var(--ui-text-strong);
    font-size: .8rem;
}

.activity-editor-shell .activity-editor .activity-segments-entry span,
.activity-editor-shell .activity-editor .activity-route-copy span {
    color: var(--ui-muted);
    font-size: .68rem;
    line-height: 1.35;
}

.activity-editor-shell .activity-editor .activity-row-action {
    flex: 0 0 auto;
    min-width: 78px;
    text-align: center;
}

.activity-editor-shell .activity-editor > .activity-route-builder {
    margin: 0 18px;
    border: 0;
    border-bottom: 1px solid var(--ui-border-soft);
    border-radius: 0;
    background: transparent;
}

.activity-editor-shell .activity-editor > .activity-route-builder .activity-route-heading {
    min-height: 49px;
    padding: 9px 0;
}

.activity-editor-shell .activity-editor > .activity-route-builder.has-route {
    margin-top: 11px;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
}

.activity-editor-shell .activity-editor > .activity-route-builder.has-route .activity-route-heading {
    padding: 10px 12px;
}

.activity-editor-shell .activity-editor .activity-route-copy {
    display: grid;
    gap: 2px;
}

.activity-editor-shell .activity-editor .activity-route-workspace {
    border-color: var(--ui-border-soft);
}

.activity-route-privacy-fields.activity-contextual-detail {
    margin: 10px 18px 0;
}

.activity-log-details {
    display: grid;
    gap: 0;
    padding: 0 18px 15px;
}

.activity-smart-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: center;
    padding: 14px 0 12px;
    border-bottom: 1px solid var(--ui-border-soft);
}

.activity-smart-title-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.activity-smart-title-copy > span:first-child {
    color: var(--ui-muted);
    font-size: .67rem;
    font-weight: 700;
}

.activity-smart-title-copy > strong {
    overflow: hidden;
    color: var(--ui-text-strong);
    font-size: .95rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-smart-title .activity-title-field {
    grid-column: 1 / -1;
    padding-top: 2px;
}

.activity-smart-title .activity-title-field[hidden] {
    display: none !important;
}

.activity-smart-title .activity-summary {
    display: block;
    min-height: 0;
    padding: 1px 0 0;
    border: 0;
    background: transparent;
    color: var(--ui-muted);
    font-size: .72rem;
}

.activity-smart-title .activity-summary[hidden] {
    display: none !important;
}

.activity-enrichment-section {
    display: grid;
    gap: 9px;
    padding: 11px 0;
    border-bottom: 1px solid var(--ui-border-soft);
}

.activity-enrichment-heading,
.activity-detail-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.activity-enrichment-heading > div:first-child,
.activity-detail-heading > div:first-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.activity-enrichment-heading strong,
.activity-detail-heading strong {
    color: var(--ui-text-strong);
    font-size: .76rem;
}

.activity-enrichment-heading span,
.activity-detail-heading span {
    color: var(--ui-muted);
    font-size: .66rem;
}

.activity-enrichment-actions,
.activity-detail-heading-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.activity-detail-heading-actions a {
    color: var(--ui-accent);
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
}

.activity-contextual-detail {
    display: grid;
    gap: 9px;
    padding: 10px 11px;
    border: 1px solid var(--ui-border-soft);
    border-radius: var(--radius-card);
    background: var(--ui-panel-soft);
}

.activity-contextual-detail[hidden] {
    display: none !important;
}

.activity-observations-field {
    padding: 12px 0;
    border-bottom: 1px solid var(--ui-border-soft);
}

.activity-editor-shell .activity-editor .activity-observations-field textarea {
    min-height: 39px;
    max-height: 180px;
    resize: vertical;
    transition: min-height .16s ease;
}

.activity-editor-shell .activity-editor .activity-observations-field textarea:focus,
.activity-editor-shell .activity-editor .activity-observations-field textarea:not(:placeholder-shown) {
    min-height: 82px;
}

.activity-more-options {
    padding-top: 10px;
}

.activity-more-options > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    color: var(--ui-muted);
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.activity-more-options > summary::-webkit-details-marker {
    display: none;
}

.activity-more-options > summary::after {
    content: "⌄";
    font-size: .8rem;
    transition: transform .16s ease;
}

.activity-more-options[open] > summary::after {
    transform: rotate(180deg);
}

.activity-more-options-content {
    display: grid;
    grid-template-columns: minmax(180px, 260px);
    gap: 10px;
    padding: 8px 0 2px;
}

.activity-more-options .visibility-field {
    padding-top: 0;
    border-top: 0;
}

.activity-editor-shell .activity-editor .activity-form-actions {
    padding-inline: 18px !important;
}

@media (max-width: 760px) {
    .activity-editor-shell .activity-editor {
        width: 100% !important;
    }

    .activity-editor-shell .activity-editor .activity-context-grid,
    .activity-editor-shell .activity-editor .activity-model-panel,
    .activity-log-details {
        padding-inline: 14px !important;
    }

    .activity-editor-shell .activity-editor > .activity-route-builder,
    .activity-route-privacy-fields.activity-contextual-detail {
        margin-inline: 14px;
    }

    .activity-editor-shell .activity-editor .activity-metrics-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .activity-enrichment-heading,
    .activity-detail-heading {
        align-items: flex-start;
    }

    .activity-enrichment-heading {
        display: grid;
    }

    .activity-enrichment-actions {
        justify-content: flex-start;
    }

    .activity-editor-shell .activity-editor .effort-selector {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
    }

    .activity-more-options-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .activity-editor-shell .activity-editor .activity-metrics-strip {
        grid-template-columns: 1fr 1fr !important;
    }

    .activity-smart-title-copy > strong {
        font-size: .9rem;
    }

    .activity-contextual-detail .activity-compact-two-columns {
        grid-template-columns: 1fr;
    }
}

:root[data-theme="dark"] .activity-editor-shell .activity-editor :is(.derived-result-wrap,.activity-contextual-detail,.activity-route-builder.has-route) {
    background: var(--ui-panel-soft) !important;
    color: var(--ui-text) !important;
    border-color: var(--ui-border) !important;
}

:root[data-theme="dark"] .activity-editor-shell .activity-editor :is(.optional-field-chip,.equipment-chip span) {
    background: var(--ui-panel) !important;
    color: var(--ui-text) !important;
    border-color: var(--ui-border) !important;
}

:root[data-theme="dark"] .activity-editor-shell .activity-editor :is(.activity-smart-title,.activity-enrichment-section,.activity-observations-field,.activity-segments-entry,.activity-route-builder) {
    border-color: var(--ui-border-soft) !important;
}
.activity-editor-shell .activity-editor .activity-time-field .clock-segments {
    display: grid;
    grid-template-columns: 34px 8px 34px auto 30px;
    gap: 1px;
    min-height: 38px;
    padding: 0 3px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
}

.activity-editor-shell .activity-editor .activity-time-field .clock-segments > input:not([type="hidden"]) {
    width: 34px !important;
    min-height: 36px !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.activity-editor-shell .activity-editor .activity-time-field .clock-segments > span {
    color: var(--ui-muted);
    text-align: center;
}

.activity-editor-shell .activity-editor .activity-time-field :is(.time-now-button,.time-quick-toggle) {
    min-height: 30px;
    align-self: center;
    border: 0;
    background: transparent;
}

.activity-editor-shell .activity-editor .activity-time-field .time-now-button:hover,
.activity-editor-shell .activity-editor .activity-time-field .time-quick-toggle:hover {
    background: var(--ui-surface-hover);
}

@media (max-width: 480px) {
    .activity-editor-shell .activity-editor .activity-time-field .clock-segments {
        grid-template-columns: 36px 8px 36px minmax(58px, auto) 30px;
    }
}

.settings-connections{padding:20px;margin-bottom:16px}.settings-connections-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.settings-connections-heading h2{margin:3px 0 5px;font-size:1.15rem}.settings-connections-heading p{margin:0;max-width:720px;color:var(--ui-muted);font-size:.8rem;line-height:1.5}.settings-connections-badge{flex:0 0 auto;padding:7px 9px;border:1px solid var(--ui-border);border-radius:var(--radius-full);corner-shape:round;background:var(--ui-panel-soft);color:var(--ui-muted);font-size:.68rem;font-weight:700}.settings-connections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.integration-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel)}.integration-card.is-connected{border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border));background:var(--ui-accent-soft)}.integration-card-main{display:flex;gap:11px;min-width:0}.integration-provider-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:var(--radius-detail);background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:800}.integration-card-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.integration-card-title h3{margin:0;font-size:.88rem}.integration-card p{margin:4px 0 3px;color:var(--ui-muted);font-size:.72rem;line-height:1.45}.integration-card small{color:var(--ui-muted);font-size:.65rem}.integration-status{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:var(--radius-full);corner-shape:round;background:var(--ui-panel-soft);color:var(--ui-muted);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.integration-status.is-connected{background:var(--ui-success-soft);color:var(--ui-success)}.integration-card-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}.integration-card-actions form{margin:0}.integration-card-actions .primary-button,.integration-card-actions .secondary-button{min-height:34px;padding:7px 10px;font-size:.7rem}.integration-disabled-action{max-width:150px;color:var(--ui-muted);font-size:.65rem;text-align:right}.integration-preferences{position:relative}.integration-preferences>summary{cursor:pointer;color:var(--ui-text-secondary);font-size:.68rem;font-weight:700;list-style:none}.integration-preferences>summary::-webkit-details-marker{display:none}.integration-preferences-form{position:absolute;z-index:12;right:0;top:calc(100% + 7px);width:min(330px,80vw);display:grid!important;gap:9px!important;padding:12px!important;border:1px solid var(--ui-border);border-radius:var(--radius-menu);background:var(--ui-panel);box-shadow:var(--shadow-sm)}.integration-preferences-form label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;font-size:.7rem!important}.integration-preferences-form label:has(input[type="url"]){display:grid!important;gap:5px!important}.integration-preferences-form input[type="checkbox"]{width:auto!important;min-height:0!important}.integration-preferences-form input[type="url"]{width:100%}.text-button.danger{color:var(--ui-danger)}.text-button.danger:hover{color:var(--ui-danger-hover)}
@media(max-width:900px){.settings-connections-grid{grid-template-columns:1fr}.settings-connections-heading{display:grid}.settings-connections-badge{justify-self:start}.integration-card{grid-template-columns:1fr}.integration-card-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.integration-disabled-action{text-align:left;max-width:none}.integration-preferences-form{left:0;right:auto}}
@media(max-width:620px){.settings-connections{padding:14px}.integration-card{padding:12px}.integration-card-actions{display:grid;grid-template-columns:1fr;width:100%}.integration-card-actions form,.integration-card-actions .primary-button,.integration-card-actions .secondary-button{width:100%}.integration-preferences{width:100%}.integration-preferences>summary{padding:7px 0}.integration-preferences-form{position:static;width:100%;margin-top:7px;box-shadow:none}}

.onboarding-connections-intro{margin:0 0 14px;color:var(--ui-muted);font-size:.8rem;line-height:1.5}.onboarding-connections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.onboarding-connection-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e0e5ec;border-radius:var(--radius-card);background:var(--ui-panel-soft)}.onboarding-connection-card.is-connected{border-color:#b9c9e6;background:#f8fbff}.onboarding-connection-card>div{display:grid;gap:3px}.onboarding-connection-card strong{font-size:.8rem}.onboarding-connection-card small{color:#778190;font-size:.66rem;line-height:1.4}.onboarding-connection-card .secondary-action{flex:0 0 auto;min-height:32px;padding:6px 9px;font-size:.68rem}.onboarding-connection-note{flex:0 0 auto;color:var(--ui-muted);font-size:.65rem;font-weight:700}.onboarding-connection-footnote{margin:12px 0 0;color:#7c8592;font-size:.7rem}@media(max-width:620px){.onboarding-connections-grid{grid-template-columns:1fr}.onboarding-connection-card{align-items:flex-start}}:root[data-theme="dark"] .onboarding-connections-intro,:root[data-theme="dark"] .onboarding-connection-card small,:root[data-theme="dark"] .onboarding-connection-note,:root[data-theme="dark"] .onboarding-connection-footnote{color:var(--ui-muted)!important}:root[data-theme="dark"] .onboarding-connection-card{background:var(--ui-panel-soft)!important;border-color:var(--ui-border)!important}:root[data-theme="dark"] .onboarding-connection-card.is-connected{background:color-mix(in srgb,var(--ui-accent-soft) 58%,var(--ui-panel))!important;border-color:color-mix(in srgb,var(--ui-accent) 42%,var(--ui-border))!important}

.activity-smart-title-top{margin:0 18px;padding:10px 0 12px}.activity-smart-title-top .activity-smart-title-copy>span:first-child{text-transform:uppercase;letter-spacing:.05em}.activity-smart-title-top .activity-smart-title-copy>strong{font-size:1.08rem}.activity-effort-section{display:grid;gap:9px;padding:12px 0;border-bottom:1px solid var(--ui-border-soft)}.effort-range-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:10px}.activity-editor-shell .activity-editor [data-effort-range]{width:100%;height:26px;min-height:26px!important;padding:0!important;accent-color:var(--ui-accent);cursor:pointer}.effort-range-row output{display:grid;place-items:center;min-height:32px;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel-soft);color:var(--ui-text-strong);font-size:.8rem;font-weight:800}.activity-effort-section:not(.has-value) [data-effort-range]{opacity:.72}.activity-effort-section .effort-scale{display:flex;justify-content:space-between;color:var(--ui-muted);font-size:.62rem}.activity-effort-section .activity-inline-action[hidden]{display:none!important}@media(max-width:760px){.activity-smart-title-top{margin-inline:14px}.activity-smart-title-top .activity-smart-title-copy>strong{font-size:1rem}}:root[data-theme="dark"] .effort-range-row output{background:var(--ui-panel-soft)!important;border-color:var(--ui-border)!important;color:var(--ui-text-strong)!important}
.integration-status.has-error{background:var(--ui-warning-soft);color:var(--ui-warning)}.integration-error-text{display:block;max-width:520px;color:var(--ui-warning)!important}
.settings-weight-history{display:grid;gap:12px}.settings-weight-history-list{display:flex;gap:7px;flex-wrap:wrap}.settings-weight-history-list span{display:grid;gap:1px;min-width:102px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel-soft)}.settings-weight-history-list strong{font-size:.78rem;font-variant-numeric:tabular-nums}.settings-weight-history-list small{color:var(--ui-muted);font-size:.64rem}
.signup-sport-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.signup-sport-family-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--ui-border,#d9e0e8);border-radius:var(--radius-card);background:var(--ui-surface,#fff);color:var(--ui-text-strong,#172033);text-align:left;cursor:pointer}
.signup-sport-family-card:hover{border-color:#aeb9c7;background:var(--ui-surface-soft,#f8fafc)}
.signup-sport-family-card>span{display:grid;gap:3px;min-width:0}.signup-sport-family-card strong{font-size:.9rem}.signup-sport-family-card small{color:var(--ui-text-muted,var(--ui-muted));font-size:.72rem;line-height:1.35}.signup-sport-family-card b{min-width:28px;padding:4px 7px;border-radius:var(--radius-full);corner-shape:round;background:var(--ui-surface-soft,#eef2f6);color:var(--ui-text-muted,var(--ui-muted));font-size:.68rem;text-align:center}.signup-sport-family-card i{color:var(--ui-text-muted,var(--ui-muted));font-size:1.35rem;font-style:normal}
.signup-sport-family-panel[hidden]{display:none!important}.signup-sport-family-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:2px 0 10px}.signup-sport-family-head>button{justify-self:start;font-size:.76rem}.signup-sport-family-head>div{display:grid;gap:2px}.signup-sport-family-head strong{font-size:1rem}.signup-sport-family-head small{color:var(--ui-text-muted,var(--ui-muted));font-size:.74rem}.signup-sport-more{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:9px 2px;border:0;border-top:1px solid var(--ui-border,var(--ui-border-soft));background:transparent;color:#4c6283;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.signup-sport-more[aria-expanded="true"] span{transform:rotate(180deg)}.signup-sport-more-list[hidden]{display:none!important}
:root[data-theme="dark"] .signup-sport-family-card{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-text)}:root[data-theme="dark"] .signup-sport-family-card:hover{background:var(--ui-panel-soft);border-color:var(--ui-border-strong)}:root[data-theme="dark"] .signup-sport-family-card b{background:var(--ui-panel-soft);color:var(--ui-text-secondary)}:root[data-theme="dark"] .signup-sport-more{border-color:var(--ui-border)}
@media(max-width:720px){.signup-sport-families{grid-template-columns:1fr}.signup-sport-family-card small{font-size:.7rem}.signup-sport-family-head{align-items:start}}

.sport-select-picker {
    position: relative;
    min-width: 0;
}

.sport-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.sport-select-trigger {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: var(--control-comfortable);
    padding: 0 10px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-strong);
    font: inherit;
    line-height: 1;
    text-align: left;
    cursor: pointer;
}

.sport-select-trigger:hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
}

.sport-select-trigger:focus-visible {
    outline: var(--focus-width) solid var(--focus-color);
    outline-offset: var(--focus-width);
}

.sport-select-trigger-icon,
.sport-option-icon {
    display: grid;
    place-items: center;
    width: 24px;
    color: var(--ui-muted);
}

.sport-select-trigger-icon {
    height: 24px;
}

.sport-select-trigger-icon .sport-icon,
.sport-option-icon .sport-icon {
    width: 21px;
    height: 21px;
}

.sport-select-trigger-arrow {
    color: var(--ui-muted);
}

.sport-select-trigger[aria-expanded="true"] .sport-select-trigger-arrow {
    transform: rotate(180deg);
}

.sport-select-popover {
    position: absolute;
    z-index: var(--z-popover);
    top: calc(100% + 6px);
    left: 0;
    width: min(520px, calc(100vw - 28px));
    max-height: min(560px, 70vh);
    overflow: auto;
    padding: 10px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-menu);
    background: var(--ui-panel);
    color: var(--ui-text);
    box-shadow: var(--shadow-sm);
}

.sport-select-popover[hidden],
.sport-family-grid[hidden],
.sport-family-panel[hidden],
.sport-family-more-list[hidden] {
    display: none !important;
}

.sport-select-search {
    display: grid;
    gap: 5px;
    padding-bottom: 8px;
    color: var(--ui-muted);
    font-size: .72rem;
    font-weight: 750;
}

.sport-select-search input {
    width: 100%;
    min-height: var(--control-default);
    padding: 0 10px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-strong);
    font: inherit;
}

.sport-select-empty,
.sport-generic-option {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--ui-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.sport-select-empty {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    padding: 9px 10px;
}

.sport-select-empty:hover,
.sport-generic-option:hover {
    background: var(--ui-surface-hover);
}

.sport-family-browser {
    min-width: 0;
}

.sport-family-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 4px 0;
}

.sport-family-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
    color: var(--ui-text-strong);
    text-align: left;
    cursor: pointer;
}

.sport-family-card:hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
}

.sport-family-card-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sport-family-card-copy strong {
    font-size: .83rem;
}

.sport-family-card-copy small {
    overflow: hidden;
    color: var(--ui-muted);
    font-size: .68rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sport-family-card-count {
    min-width: 24px;
    padding: 3px 6px;
    border-radius: var(--radius-full);
    corner-shape: round;
    background: var(--ui-accent-soft);
    color: var(--ui-text-secondary);
    font-size: .66rem;
    font-weight: 750;
    text-align: center;
}

.sport-family-card-arrow {
    color: var(--ui-muted);
    font-size: 1.2rem;
}

.sport-family-panel-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 4px 2px 10px;
    border-bottom: 1px solid var(--ui-border-soft);
}

.sport-family-panel-head > div {
    display: grid;
    gap: 2px;
}

.sport-family-panel-head strong {
    font-size: .9rem;
}

.sport-family-panel-head small,
.sport-select-no-results,
.sport-family-section-title {
    color: var(--ui-muted);
}

.sport-family-panel-head small {
    font-size: .7rem;
}

.sport-family-back {
    justify-self: start;
    font-size: .72rem;
}

.sport-family-section {
    padding-top: 7px;
}

.sport-family-section-title {
    padding: 5px 7px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.sport-family-more-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 5px;
    padding: 8px 7px;
    border: 0;
    border-top: 1px solid var(--ui-border-soft);
    background: transparent;
    color: var(--ui-text-secondary);
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    cursor: pointer;
}

.sport-family-more-toggle[aria-expanded="true"] span:last-child {
    transform: rotate(180deg);
}

.sport-generic-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    font-size: .84rem;
}

.sport-generic-option[aria-selected="true"] {
    border-color: color-mix(in srgb, var(--ui-accent) 52%, var(--ui-border));
    background: var(--ui-accent-soft);
    color: var(--ui-text-strong);
    box-shadow: inset 3px 0 0 var(--ui-accent);
}

.sport-select-no-results {
    padding: 18px 10px;
    font-size: .82rem;
    text-align: center;
}

.sport-family-browser.is-searching .sport-family-panel-head {
    grid-template-columns: 1fr;
    padding: 5px;
    border: 0;
}

.sport-family-browser.is-searching :is(.sport-family-back, .sport-family-panel-head small, .sport-family-section-title, .sport-family-more-toggle) {
    display: none;
}

.sport-family-browser.is-searching .sport-family-section {
    padding-top: 0;
}

.sport-option-row-no-favorite {
    grid-template-columns: 1fr !important;
}

@media (min-width: 760px) {
    .sport-family-panel :is(.sport-family-section, .sport-family-more-list) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 8px;
    }

    .sport-family-panel .sport-family-section-title {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .sport-family-grid {
        grid-template-columns: 1fr;
    }

    .sport-family-card-copy small {
        white-space: normal;
    }

    .sport-select-popover {
        position: fixed;
        z-index: var(--z-popover);
        top: auto;
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
        left: max(12px, env(safe-area-inset-left));
        width: auto;
        max-height: min(72dvh, calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))));
    }

    .sport-family-panel-head {
        align-items: start;
    }
}


.settings-sport-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-sport-family-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--ui-border);border-radius:var(--radius-card);background:var(--ui-panel);color:var(--ui-text-strong);text-align:left;cursor:pointer}.settings-sport-family-card:hover{background:var(--ui-panel-soft);border-color:var(--ui-border-strong)}.settings-sport-family-card>span{display:grid;gap:3px;min-width:0}.settings-sport-family-card strong{font-size:.9rem}.settings-sport-family-card small{overflow:hidden;color:var(--ui-muted);font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.settings-sport-family-card b{min-width:26px;padding:3px 7px;border-radius:var(--radius-full);corner-shape:round;background:var(--ui-panel-soft);color:var(--ui-muted);font-size:.68rem;text-align:center}.settings-sport-family-card i{color:var(--ui-faint);font-size:1.2rem;font-style:normal}.settings-sport-family-panel[hidden],.settings-sport-more-list[hidden],.settings-sport-empty[hidden]{display:none!important}.settings-sport-family-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--ui-border)}.settings-sport-family-head>button{justify-self:start;font-size:.76rem}.settings-sport-family-head>div{display:grid;gap:2px}.settings-sport-family-head strong{font-size:1rem}.settings-sport-family-head small{color:var(--ui-muted);font-size:.74rem}.settings-sport-section-title{margin:2px 0 8px;color:var(--ui-muted);font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.settings-sport-more{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:10px 2px;border:0;border-top:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.settings-sport-more[aria-expanded="true"] span{transform:rotate(180deg)}.settings-sport-more-list{padding-top:10px}.settings-sport-empty{padding:24px 8px;color:var(--ui-muted);text-align:center}.settings-sports-catalog.is-searching .settings-sport-family-head{grid-template-columns:1fr;margin:0;padding:6px 0;border:0}.settings-sports-catalog.is-searching .settings-sport-family-head>button,.settings-sports-catalog.is-searching .settings-sport-family-head small,.settings-sports-catalog.is-searching .settings-sport-section-title,.settings-sports-catalog.is-searching .settings-sport-more{display:none}@media(max-width:940px){.settings-sport-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.settings-sport-family-grid{grid-template-columns:1fr}.settings-sport-family-card small{white-space:normal}.settings-sport-family-head{align-items:start}}
.activity-effort-section .effort-scale{position:relative;margin-right:48px}.activity-effort-section .effort-scale span:nth-child(2){position:absolute;left:44.444%;transform:translateX(-50%)}.activity-effort-section:not(.has-value) [data-effort-range]{opacity:.48;accent-color:var(--ui-faint)}.activity-effort-section.has-value [data-effort-range]{opacity:1;accent-color:var(--ui-accent)}.activity-effort-section:not(.has-value) .effort-range-row output{opacity:.58;color:var(--ui-muted)}

.activity-post-save-delete{margin-right:auto}
@media(max-width:640px){.activity-post-save-delete{margin-right:0}}
.activity-strength-editor[hidden]{display:none!important}
.ui-undo-toast{display:none!important}
form.is-submitting button[type="submit"],form.is-submitting input[type="submit"]{cursor:wait}
form.is-submitting button[type="submit"]{position:relative}
form.is-submitting button[type="submit"]::after{content:"";width:12px;height:12px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-circle);corner-shape:round;display:inline-block;vertical-align:-2px;animation:uiSubmitSpin .7s linear infinite}
@keyframes uiToastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes uiSubmitSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){form.is-submitting button[type="submit"]::after{animation-duration:1.4s}}

.activity-edit-modal{position:fixed;inset:0;z-index:calc(var(--ui-z-modal) + 20);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .16s ease}.activity-edit-modal[hidden]{display:none!important}.activity-edit-modal.is-open{opacity:1}.activity-edit-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(17,24,39,.58);backdrop-filter:blur(3px)}.activity-edit-modal-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,calc(100vw - 40px));height:min(920px,calc(100dvh - 40px));overflow:hidden;border:1px solid var(--ui-border-strong);border-radius:var(--radius-modal);background:var(--ui-bg);box-shadow:0 24px 70px rgba(15,23,42,.28);transform:translateY(10px) scale(.995);transition:transform .16s ease}.activity-edit-modal.is-open .activity-edit-modal-panel{transform:none}.activity-edit-modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--ui-border);background:var(--ui-panel)}.activity-edit-modal-header>div{display:grid;gap:1px}.activity-edit-modal-header span{color:var(--ui-muted);font-size:.64rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.activity-edit-modal-header h2{margin:0;color:var(--ui-text-strong);font-size:1.08rem}.activity-edit-modal-header>button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--ui-border);border-radius:var(--radius-detail);background:var(--ui-panel);color:var(--ui-text-secondary);font:inherit;font-size:1.25rem;cursor:pointer}.activity-edit-modal-header>button:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.activity-edit-modal-body{position:relative;min-height:0;background:var(--ui-bg)}.activity-edit-modal-body iframe{display:block;width:100%;height:100%;border:0;background:var(--ui-bg);opacity:0;transition:opacity .12s ease}.activity-edit-modal.is-ready .activity-edit-modal-body iframe{opacity:1}.activity-edit-modal-loading{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:10px;background:var(--ui-bg);color:var(--ui-muted);font-size:.78rem}.activity-edit-modal-loading[hidden]{display:none!important}.activity-edit-modal-loading span{width:24px;height:24px;border:2px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:var(--radius-circle);corner-shape:round;animation:stridebr-edit-modal-spin .7s linear infinite}@keyframes stridebr-edit-modal-spin{to{transform:rotate(360deg)}}html.activity-edit-open,html.activity-edit-open body{overflow:hidden}

body.activity-edit-embedded{min-height:100dvh;background:var(--ui-bg)}body.activity-edit-embedded>.container-fluid>.site-header,body.activity-edit-embedded>.container-fluid>.main-content>.activities-toolbar,body.activity-edit-embedded>.site-footer,body.activity-edit-embedded .mobile-bottom-nav,body.activity-edit-embedded .floating-utility-dock{display:none!important}body.activity-edit-embedded .main-content.activities-page{width:min(1080px,calc(100% - 24px));margin:0 auto;padding:14px 0 24px}body.activity-edit-embedded .activity-edit-form{margin:0!important;width:100%!important;max-width:none!important;border-color:var(--ui-border)!important;border-radius:var(--radius-card)!important;box-shadow:none!important}body.activity-edit-embedded .activity-editor-heading{top:0}body.activity-edit-embedded .activity-edit-actions{bottom:0;margin-bottom:0;background:var(--ui-panel)}

@media(max-width:720px){.activity-edit-modal{padding:0}.activity-edit-modal-panel{width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none}.activity-edit-modal-header{min-height:54px;padding-top:max(8px,env(safe-area-inset-top));padding-inline:12px}.activity-edit-modal-body{min-height:0}.activity-editor-shell{padding:0!important;place-items:stretch!important}.activity-editor-shell .activity-editor{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.activity-tool-overlay{z-index:var(--ui-z-modal)!important;align-items:stretch!important}.activity-tool-panel{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important}.activity-tool-panel-header{padding-top:max(12px,env(safe-area-inset-top))!important}.activity-tool-panel-content{padding-bottom:max(28px,env(safe-area-inset-bottom))!important}html.activity-edit-open .mobile-bottom-nav,html.activity-edit-open .floating-utility-dock{visibility:hidden!important;opacity:0!important;pointer-events:none!important}body.activity-edit-embedded .main-content.activities-page{width:100%;padding:0}body.activity-edit-embedded .activity-edit-form{min-height:calc(100dvh - 1px);border:0!important;border-radius:0!important}body.activity-edit-embedded .activity-editor-heading{padding-top:12px}body.activity-edit-embedded .activity-edit-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}

@media(prefers-reduced-motion:reduce){.activity-edit-modal,.activity-edit-modal-panel,.activity-edit-modal-body iframe{transition:none!important}.activity-edit-modal-loading span{animation-duration:1.4s}}

:is(.activity-editor-shell .activity-editor, .activity-edit-modal-panel, .activity-tool-panel, .activity-post-save-panel, .workout-save-scope-dialog, .trainer-prescription-dialog, .planned-date-dialog, .schedule-create-dialog, .library-editor-dialog, .library-exercise-dialog, .occurrence-history-dialog, .workout-preview-dialog, dialog) {
    border: var(--border-width) solid var(--ui-border-strong);
    background: var(--ui-panel);
    box-shadow: var(--shadow-md);
}

@supports (corner-shape: squircle) {
    :where(*, *::before, *::after) {
        corner-shape: var(--corner-shape);
    }
}

.activity-editor-shell .activity-editor,
.activity-edit-modal-panel,
.workout-editor,
.activity-tool-panel,
.activity-post-save-panel,
.workout-save-scope-dialog,
.trainer-prescription-dialog,
.planned-date-dialog,
.schedule-create-dialog,
.library-editor-dialog,
.library-exercise-dialog,
.occurrence-history-dialog,
.workout-preview-dialog,
.calendar-quick-create-popover{
    border-radius: var(--radius-modal) !important;
}

.sport-combobox-popover,
.activity-context-menu,
.time-quick-menu,
.time24-menu,
.user-menu-content,
.nav-dropdown,
.global-create-content,
.header-notification-popover,
.integration-preferences-form,
.sport-select-popover,
.trainer-more-menu > div,
.library-more-menu > div {
    border-radius: var(--radius-menu) !important;
}

.content-card,
.dashboard-card,
.status-card,
.tool-card,
.person-card,
.admin-card,
.admin-metrics article,
.onboarding-card,
.shared-schedule-card,
.activity-history,
.activity-detail-panel,
.equipment-card,
.equipment-editor,
.activity-route-builder.has-route,
.activity-strength-editor,
.activity-strength-exercise,
.library-exercise-card,
.insight-section,
.notification-card,
.sync-card {
    border-radius: var(--radius-card) !important;
}

@media (max-width: 800px) {
    .activity-post-save-panel,
.mobile-more-panel,
.quick-tools-panel,
.workout-session-panel,
.workout-preview-dialog,
.workout-save-scope-dialog,
.schedule-body .workout-editor,
.trainer-prescription-dialog,
.planned-date-dialog,
.schedule-create-dialog,
.library-editor-dialog,
.library-exercise-dialog,
.occurrence-history-dialog,
.calendar-quick-create-popover{
        border-radius: var(--radius-modal) var(--radius-modal) 0 0 !important;
    }
}

@media (max-width: 720px) {
    .activity-editor-shell .activity-editor,
    .activity-edit-modal-panel,
    .activity-tool-panel {
        border-radius: 0 !important;
    }
}

html {
    background: var(--ui-bg);
    color: var(--ui-text);
    font-family: var(--font-ui);
    text-rendering: optimizeLegibility;
}

body {
    background: var(--ui-bg);
    color: var(--ui-text);
    font-family: var(--font-ui);
    font-size: var(--type-body-size);
    line-height: var(--type-body-line);
}

:is(h1, h2, h3, .metric-value, .dashboard-stat strong, .insight-card strong, .activity-row-metrics strong, .activity-detail-stats strong) {
    font-family: var(--font-display);
}

:is(.page-heading, .product-page-header, .activities-toolbar-title, .dashboard-heading, .settings-heading, .schedule-page-heading, .gps-page-heading, .admin-heading) h1 {
    font-size: var(--type-h1-size);
    line-height: var(--type-h1-line);
    font-weight: 600;
    letter-spacing: -.025em;
}

:is(.content-card, .dashboard-card, .insight-section, .settings-section, .activity-detail-section, .admin-card, .tool-card, .status-card) h2 {
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    font-weight: 600;
    letter-spacing: -.015em;
}

:is(.content-card, .dashboard-card, .activity-card, .activity-detail-section, .library-exercise-card, .notification-card, .sync-card) h3 {
    font-size: var(--type-h3-size);
    line-height: var(--type-h3-line);
    font-weight: 600;
}

:is(label, .form-label, .field-label, .settings-label, .activity-field-label) {
    font-size: var(--type-label-size);
    line-height: var(--type-label-line);
    font-weight: 600;
}

:is(small, .meta, .eyebrow, .insight-muted, .activity-row-meta, .activity-summary, .dashboard-panel-heading p) {
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
}

:is(table, .metric-value, .dashboard-stat strong, .activity-row-metrics strong, .activity-detail-stats strong, .insight-card strong, .trend-card strong, .goal-progress, .week-chart, .cardio-week-bars, .sport-session-weekly) {
    font-variant-numeric: tabular-nums lining-nums;
}

:is(input, select, textarea, button) {
    font-family: var(--font-ui);
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea) {
    min-height: var(--control-default);
    border-width: var(--border-width);
    border-style: solid;
    border-color: var(--ui-border);
    background: var(--ui-panel);
    color: var(--ui-text);
    padding-inline: var(--space-3);
    font-size: var(--type-body-size);
    line-height: var(--type-body-line);
    transition: border-color var(--motion-state) var(--ease-state), background-color var(--motion-state) var(--ease-state), box-shadow var(--motion-state) var(--ease-state);
}

textarea {
    min-height: 88px;
    padding-block: var(--space-2);
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea):hover:not(:disabled):not([readonly]) {
    border-color: var(--ui-border-strong);
}

:is(input, select, textarea):focus-visible {
    border-color: var(--ui-accent);
    outline: var(--focus-width) solid var(--ui-focus-ring);
    outline-offset: 1px;
    box-shadow: none;
}

:is(input, select, textarea)[aria-invalid="true"],
:is(input, select, textarea):user-invalid {
    border-color: var(--ui-danger);
}

:is(input, select, textarea):disabled,
:is(input, select, textarea)[readonly] {
    background: var(--ui-panel-soft);
    color: var(--ui-muted);
    opacity: 1;
}

:is(input[type="checkbox"], input[type="radio"]) {
    width: 20px;
    height: 20px;
    accent-color: var(--ui-accent);
}

input[type="radio"] {
    border-radius: var(--radius-circle) !important;
    corner-shape: round !important;
}

:is(
    .primary-button,
    .primary-action,
    .activity-primary-action,
    .profile-primary-action,
    .feedback-submit,
    .product-button,
    .settings-save,
    .event-save-button,
    .equipment-submit,
    .global-create-trigger,
    .onboarding-actions .primary-action,
    .secondary-button,
    .secondary-action,
    .activity-secondary-button,
    .product-button-secondary,
    .profile-secondary-action,
    .equipment-secondary-action,
    .onboarding-actions .secondary-action,
    .activity-toolbar-link,
    .add-unit-button,
    .activity-empty-action,
    .danger-button,
    .danger-action,
    .activity-danger-button,
    .destructive-button
) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    vertical-align: middle;
    font-family: var(--font-ui);
    line-height: 1;
}

:is(.primary-button, .primary-action, .activity-primary-action, .profile-primary-action, .feedback-submit, .product-button, .settings-save, .event-save-button, .equipment-submit, .global-create-trigger, .onboarding-actions .primary-action) {
    min-height: var(--control-default);
    padding: 0 var(--space-3);
    border: var(--border-width) solid var(--ui-accent);
    border-radius: var(--radius-control) !important;
    background: var(--ui-accent);
    color: #fff;
    font-size: var(--type-label-size);
    line-height: var(--type-label-line);
    font-weight: 600;
    box-shadow: none;
    text-decoration: none;
    transition: background-color var(--motion-hover) var(--ease-enter), border-color var(--motion-hover) var(--ease-enter), color var(--motion-hover) var(--ease-enter), opacity var(--motion-state) var(--ease-state);
}

:is(.primary-button, .primary-action, .activity-primary-action, .profile-primary-action, .feedback-submit, .product-button, .settings-save, .event-save-button, .equipment-submit, .global-create-trigger, .onboarding-actions .primary-action):hover:not(:disabled) {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    transform: none;
}

:is(.primary-button, .primary-action, .activity-primary-action, .profile-primary-action, .feedback-submit, .product-button, .settings-save, .event-save-button, .equipment-submit, .global-create-trigger, .onboarding-actions .primary-action):active:not(:disabled) {
    background: var(--color-accent-pressed);
    border-color: var(--color-accent-pressed);
    transform: none;
}

:is(.secondary-button, .secondary-action, .activity-secondary-button, .product-button-secondary, .profile-secondary-action, .equipment-secondary-action, .onboarding-actions .secondary-action, .activity-toolbar-link, .add-unit-button, .activity-empty-action) {
    min-height: var(--control-default);
    padding: 0 var(--space-3);
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-control) !important;
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font-size: var(--type-label-size);
    line-height: var(--type-label-line);
    font-weight: 600;
    box-shadow: none;
    text-decoration: none;
    transition: background-color var(--motion-hover) var(--ease-enter), border-color var(--motion-hover) var(--ease-enter), color var(--motion-hover) var(--ease-enter);
}

:is(.secondary-button, .secondary-action, .activity-secondary-button, .product-button-secondary, .profile-secondary-action, .equipment-secondary-action, .onboarding-actions .secondary-action, .activity-toolbar-link, .add-unit-button, .activity-empty-action):hover:not(:disabled) {
    background: var(--ui-surface-hover);
    border-color: var(--ui-border-strong);
    color: var(--ui-text-strong);
    transform: none;
}

.context-back-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    min-height: var(--control-compact);
    width: max-content;
    max-width: 100%;
    padding: 0 var(--space-2);
    border: var(--border-width) solid var(--ui-border-soft);
    border-radius: var(--radius-control) !important;
    background: var(--ui-panel-soft);
    color: var(--ui-text-secondary);
    font-family: var(--font-ui);
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    transition: background-color var(--motion-hover) var(--ease-enter), border-color var(--motion-hover) var(--ease-enter), color var(--motion-hover) var(--ease-enter);
}

.context-back-button:hover {
    border-color: var(--ui-border);
    background: var(--ui-surface-hover);
    color: var(--ui-text-strong);
    text-decoration: none;
}

.context-back-button:active {
    border-color: var(--ui-border-strong);
    background: var(--ui-panel-soft);
}

.context-back-button:focus-visible {
    border-color: var(--ui-accent);
    outline: var(--focus-width) solid var(--ui-focus-ring);
    outline-offset: 2px;
}

@media (max-width: 639px) {
    .context-back-button {
        min-height: var(--control-touch);
        padding-inline: var(--space-3);
    }
}

:is(.ghost-button, .ghost-action, .time-now-button) {
    border-radius: var(--radius-control) !important;
}

:is(.icon-button, .field-remove-button, .sport-favorite-button, .activity-icon-button) {
    border-radius: var(--radius-detail) !important;
}

.quick-tools-close {
    border-radius: var(--radius-circle) !important;
    corner-shape: round !important;
}

:is(.ghost-button, .ghost-action, .activity-icon-button, .icon-button, .quick-tools-close, .field-remove-button, .sport-favorite-button, .time-now-button) {
    box-shadow: none;
}

:is(.danger-button, .danger-action, .activity-danger-button, .is-danger, .destructive-button) {
    min-height: var(--control-default);
    border-radius: var(--radius-control) !important;
    border-color: var(--ui-danger);
    color: var(--ui-danger);
    background: var(--ui-panel);
    box-shadow: none;
}

:is(.danger-button, .danger-action, .activity-danger-button, .is-danger, .destructive-button):hover:not(:disabled) {
    border-color: var(--ui-danger-hover);
    background: var(--ui-danger-soft);
    color: var(--ui-danger-hover);
}

:is(button, [role="button"], a[class*="button"], a[class*="action"]):focus-visible,
:is(summary, a, input, select, textarea):focus-visible {
    outline: var(--focus-width) solid var(--focus-color);
    outline-offset: 2px;
}

:is(button, input[type="button"], input[type="submit"], input[type="reset"]):disabled,
:is(button, [role="button"])[aria-disabled="true"] {
    opacity: .52;
    cursor: not-allowed;
    filter: none;
}

form.is-submitting :is(button[type="submit"], input[type="submit"]) {
    min-width: max-content;
}

:is(.content-card, .dashboard-card, .status-card, .tool-card, .person-card, .admin-card, .admin-metrics article, .onboarding-card, .shared-schedule-card, .activity-history, .activity-detail-panel, .equipment-card, .equipment-editor, .activity-strength-editor, .activity-strength-exercise, .library-exercise-card, .insight-card, .insight-section, .notification-card, .sync-card, .trend-card, .compare-head article, .gps-start-card, .gps-expect-card, .gps-review-form, .gps-review-side) {
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-card) !important;
    background: var(--ui-panel);
    box-shadow: var(--shadow-none);
}

:is(.content-card, .dashboard-card, .activity-card, .library-exercise-card, .notification-card, .sync-card)[tabindex]:hover,
:is(.content-card, .dashboard-card, .activity-card, .library-exercise-card, .notification-card, .sync-card)[role="button"]:hover,
a:is(.content-card, .dashboard-card, .activity-card, .library-exercise-card):hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
    transform: none;
    box-shadow: none;
}

:is(.user-menu-content, .sport-combobox-popover, .activity-context-menu, .time-quick-menu, .time24-menu, .trainer-more-menu > div, .library-more-menu > div, .schedule-month-event-menu, .calendar-quick-create-popover, .global-create-content) {
    border: var(--border-width) solid var(--ui-border);
    background: var(--ui-panel);
    box-shadow: var(--shadow-sm);
}

.global-create-content {
    border-radius: var(--radius-menu) !important;
}



:is(.activity-editor-backdrop, .activity-edit-modal-backdrop, .modal-backdrop, dialog::backdrop) {
    background: rgba(12, 16, 20, .56);
    backdrop-filter: blur(3px);
}

:is(.badge, .status-pill, .status-badge, .chip, .filter-chip, .sport-chip, .equipment-chip, .compare-suggestion) {
    border-radius: var(--radius-full) !important;
    corner-shape: round !important;
}

:is(.tag, .eyebrow, .category-tag) {
    border-radius: var(--radius-detail) !important;
}

:is(.userimage, .avatar, .status-dot, .color-swatch, .swatch, .activity-status-dot, .notification-dot) {
    border-radius: var(--radius-circle) !important;
    corner-shape: round !important;
}





:is(.alert, .privacy-note, .gps-web-warning, .gps-review-warning, .exchange-import-success, .exchange-inline-error) {
    border-width: var(--border-width);
    border-style: solid;
    box-shadow: none;
}

:is(.privacy-note, .gps-web-warning, .gps-review-warning, .exchange-import-success) {
    border-radius: var(--radius-card);
}

.exchange-inline-error {
    border-radius: var(--radius-detail);
}

:is(.alert-success, .is-success, .exchange-import-success) {
    border-color: color-mix(in srgb, var(--ui-success) 34%, var(--ui-border));
    background: var(--ui-success-soft);
    color: var(--ui-success);
}

:is(.alert-warning, .is-warning, .gps-web-warning, .gps-review-warning) {
    border-color: color-mix(in srgb, var(--ui-warning) 34%, var(--ui-border));
    background: var(--ui-warning-soft);
    color: var(--ui-warning);
}

:is(.alert-danger, .alert-error, .is-error, .exchange-inline-error) {
    border-color: color-mix(in srgb, var(--ui-danger) 34%, var(--ui-border));
    background: var(--ui-danger-soft);
    color: var(--ui-danger);
}

:is(.alert-info, .is-info, .privacy-note) {
    border-color: color-mix(in srgb, var(--ui-info) 28%, var(--ui-border));
    background: var(--ui-info-soft);
    color: var(--ui-text-secondary);
}

.ui-toast-host {
    position: fixed;
    right: var(--space-4);
    bottom: var(--space-4);
    z-index: var(--z-toast);
    display: grid;
    gap: var(--space-2);
    width: min(400px, calc(100vw - 32px));
    pointer-events: none;
}

.ui-toast {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    min-height: 56px;
    padding: 10px 10px 10px 12px;
    border: var(--border-width) solid var(--ui-border-strong);
    border-left-width: 3px;
    border-radius: var(--radius-card);
    background: var(--ui-panel);
    color: var(--ui-text);
    box-shadow: var(--shadow-sm);
    pointer-events: auto;
    animation: uiToastIn var(--motion-popover) var(--ease-enter);
    transition: opacity var(--motion-state) var(--ease-exit), transform var(--motion-state) var(--ease-exit);
}

.ui-toast[data-type="success"] { border-left-color: var(--ui-success); }
.ui-toast[data-type="warning"] { border-left-color: var(--ui-warning); }
.ui-toast[data-type="error"] { border-left-color: var(--ui-danger); }
.ui-toast[data-type="info"], .ui-toast.is-undo { border-left-color: var(--ui-info); }
.ui-toast.is-leaving { opacity: 0; transform: translateY(6px); }

.ui-toast-mark {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: var(--border-width) solid color-mix(in srgb, var(--ui-info) 24%, var(--ui-border));
    border-radius: var(--radius-detail);
    background: var(--ui-info-soft);
    color: var(--ui-info);
    box-shadow: none;
}

.ui-toast-mark::before { content: "i"; font-size: 12px; font-weight: 700; }
.ui-toast[data-type="success"] .ui-toast-mark { border-color: color-mix(in srgb, var(--ui-success) 24%, var(--ui-border)); background: var(--ui-success-soft); color: var(--ui-success); }
.ui-toast[data-type="success"] .ui-toast-mark::before { content: "✓"; }
.ui-toast[data-type="warning"] .ui-toast-mark { border-color: color-mix(in srgb, var(--ui-warning) 24%, var(--ui-border)); background: var(--ui-warning-soft); color: var(--ui-warning); }
.ui-toast[data-type="warning"] .ui-toast-mark::before { content: "!"; }
.ui-toast[data-type="error"] .ui-toast-mark { border-color: color-mix(in srgb, var(--ui-danger) 24%, var(--ui-border)); background: var(--ui-danger-soft); color: var(--ui-danger); }
.ui-toast[data-type="error"] .ui-toast-mark::before { content: "×"; }
.ui-toast.is-undo .ui-toast-mark::before { content: "↶"; }

.ui-toast-copy { display: grid; align-content: center; min-width: 0; }
.ui-toast-message {
    color: var(--ui-text);
    font-size: var(--type-label-size);
    line-height: var(--type-body-line);
    font-weight: 500;
    overflow-wrap: anywhere;
}
.ui-toast-actions { display: flex; align-items: center; gap: var(--space-1); }
.ui-toast-action {
    min-height: var(--control-compact);
    padding: 6px 9px;
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel-soft);
    color: var(--ui-accent);
    font: inherit;
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
    font-weight: 600;
    cursor: pointer;
}
.ui-toast-action:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-hover); }
.ui-toast-action:disabled { opacity: .58; cursor: wait; }
.ui-toast-close {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: var(--radius-detail);
    background: transparent;
    color: var(--ui-muted);
    font: inherit;
    font-size: 16px;
    cursor: pointer;
}
.ui-toast-close:hover { background: var(--ui-surface-hover); color: var(--ui-text); }

.ui-server-undo {
    position: fixed;
    right: var(--space-4);
    bottom: var(--space-4);
    z-index: calc(var(--z-toast) - 1);
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    width: min(400px, calc(100vw - 32px));
    margin: 0;
    padding: 10px 10px 10px 12px;
    border: var(--border-width) solid var(--ui-border-strong);
    border-left: 3px solid var(--ui-info);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
    color: var(--ui-text);
    box-shadow: var(--shadow-sm);
    font-size: var(--type-label-size);
    line-height: var(--type-body-line);
    font-weight: 500;
}
.ui-server-undo::before {
    content: "↶";
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: var(--border-width) solid color-mix(in srgb, var(--ui-info) 24%, var(--ui-border));
    border-radius: var(--radius-detail);
    background: var(--ui-info-soft);
    color: var(--ui-info);
    font-weight: 700;
}
.ui-server-undo form { margin: 0; }
.ui-server-undo button {
    min-height: var(--control-compact);
    padding: 6px 9px;
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel-soft);
    color: var(--ui-accent);
    font: inherit;
    font-size: var(--type-meta-size);
    font-weight: 600;
    cursor: pointer;
}
.ui-server-undo button:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-hover); text-decoration: none; }

.draft-recovery,
.draft-recovery-toast {
    position: static;
    z-index: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    width: 100%;
    max-width: none;
    margin: 0 0 var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: var(--border-width) solid color-mix(in srgb, var(--ui-info) 28%, var(--ui-border));
    border-left: 3px solid var(--ui-info);
    border-radius: var(--radius-card);
    background: var(--ui-info-soft);
    color: var(--ui-text);
    box-shadow: none;
    animation: none;
}

.draft-recovery-toast::before {
    display: none;
}

.draft-recovery-toast strong,
.draft-recovery strong {
    color: var(--ui-text-strong);
    font-size: var(--type-label-size);
    line-height: var(--type-label-line);
    font-weight: 600;
}

.draft-recovery-toast span,
.draft-recovery span {
    color: var(--ui-muted);
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
}

.draft-recovery-toast button,
.draft-recovery button {
    min-height: var(--control-compact);
    border-radius: var(--radius-control);
    box-shadow: none;
    transform: none;
}

.draft-recovery-toast [data-draft-restore],
.draft-recovery [data-draft-restore] {
    border-color: var(--ui-accent);
    background: var(--ui-accent);
    color: #fff;
}

.draft-recovery-toast [data-draft-discard],
.draft-recovery [data-draft-discard] {
    border-color: var(--ui-border);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
}

.empty-action-state,
.activity-empty,
.dashboard-empty,
.sport-hub-empty,
.exchange-empty {
    border-color: var(--ui-border);
    background: transparent;
    color: var(--ui-muted);
    box-shadow: none;
}

.empty-action-state {
    padding: var(--space-6) var(--space-4);
    border-style: dashed;
    border-radius: var(--radius-card);
}

:is(table, .compare-table) {
    width: 100%;
    border-collapse: collapse;
    color: var(--ui-text);
    font-size: var(--type-body-size);
    line-height: var(--type-body-line);
}

:is(table, .compare-table) :is(th, td) {
    padding: var(--space-3);
    border-bottom: var(--border-width) solid var(--ui-border-soft);
    vertical-align: middle;
}

:is(table, .compare-table) th {
    color: var(--ui-muted);
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
    font-weight: 600;
    text-align: left;
}

:is(table, .compare-table) tbody tr {
    min-height: 56px;
    transition: background-color var(--motion-hover) var(--ease-enter);
}

:is(table, .compare-table) tbody tr:hover {
    background: var(--ui-surface-hover);
}

:is(table, .compare-table) :is(td, th)[data-numeric],
:is(table, .compare-table) :is(td, th):has(> .metric-value) {
    text-align: right;
}

:is(.week-bar, .cardio-week-bars span, .sport-session-weekly-bar span, .dashboard-progress > span, .goal-progress > span, .muscle-bars i) {
    background: var(--ui-route);
    box-shadow: none;
}

:is(.week-chart, .cardio-week-bars, .sport-session-weekly, .muscle-bars) {
    color: var(--ui-text);
}

:is(.main-nav > a, .login-button, .mobile-nav-item, .planning-subnav a, .workout-library-tabs a, .workout-library-tabs button, [role="tab"]) {
    border-radius: var(--radius-control);
    transition: background-color var(--motion-hover) var(--ease-enter), color var(--motion-hover) var(--ease-enter), border-color var(--motion-hover) var(--ease-enter);
}

:is(.main-nav > a[aria-current="page"], .main-nav > a.is-active, .mobile-nav-item.is-active, .mobile-nav-item[aria-current="page"], [role="tab"][aria-selected="true"], .planning-subnav a.is-active) {
    background: var(--ui-accent-soft);
    color: var(--ui-text-strong);
    box-shadow: inset 0 -2px 0 var(--ui-accent);
}

.site-header {
    z-index: var(--z-header);
    background: var(--ui-header);
    border-bottom: var(--border-width) solid color-mix(in srgb, var(--ui-border) 38%, transparent);
    box-shadow: none;
}

.user-menu-content { z-index: var(--z-dropdown); }
.sport-combobox-popover { z-index: var(--z-popover); }
.mobile-bottom-nav { z-index: var(--z-mobile-nav); }
.activity-editor-shell, .activity-edit-modal { z-index: var(--z-modal); }
.ui-toast-host { z-index: var(--z-toast); }

@media (max-width: 1023px) {
    :is(.page-shell, .dashboard-page, .product-page, .activities-page, .gps-recorder-page) {
        width: min(100% - 24px, 100%);
    }

    :is(.insight-grid, .progress-trends, .dashboard-grid, .tools-grid) {
        gap: var(--space-3);
    }
}

@media (max-width: 639px) {
    body {
        font-size: var(--type-body-size);
        line-height: var(--type-body-line);
    }

    :is(.page-shell, .dashboard-page, .product-page, .activities-page, .gps-recorder-page) {
        width: 100%;
        padding-inline: var(--space-3);
    }

    :is(button, [role="button"], a[class*="button"], a[class*="action"], .main-nav > a, .mobile-nav-item) {
        min-height: var(--control-touch);
    }

    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select) {
        min-height: var(--control-touch);
    }

    :is(.activity-editor-shell .activity-editor, .activity-edit-modal-panel, .activity-tool-panel) {
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .draft-recovery,
    .draft-recovery-toast {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: var(--space-3);
    }

    .draft-recovery-toast > div:last-child,
    .draft-recovery > div:last-child {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        margin: 0;
    }

    .draft-recovery-toast button,
    .draft-recovery button {
        min-height: var(--control-touch);
    }

    .ui-toast-host {
        left: var(--space-3);
        right: var(--space-3);
        bottom: calc(76px + env(safe-area-inset-bottom));
        width: auto;
    }
}

@media (min-width: 1440px) {
    :is(.page-shell, .product-page, .activities-page) {
        max-width: 1380px;
    }

    .dashboard-page {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

.friend-sync-form { margin-bottom: var(--space-4); }
.sync-empty-state { margin-top: var(--space-4); }
.compare-common-heading { margin-top: var(--space-5); }

.progress-period-toolbar {
    margin-block: 0 var(--space-4);
    padding: var(--space-3);
    gap: var(--space-3);
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
    box-shadow: none;
}

.progress-period-heading span,
.progress-period-month label > span {
    color: var(--ui-muted);
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
    font-weight: 600;
    letter-spacing: .04em;
}

.progress-period-ranges {
    gap: var(--space-1);
}

.progress-period-ranges a,
.progress-period-current,
.progress-period-month input[type="month"],
.progress-period-month button,
.progress-period-arrow {
    min-height: var(--control-compact);
    border: var(--border-width) solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    box-shadow: none;
}

.progress-period-ranges a,
.progress-period-current {
    padding-inline: var(--space-3);
    font-size: var(--type-meta-size);
    line-height: var(--type-meta-line);
    font-weight: 600;
}

.progress-period-ranges a:hover,
.progress-period-current:hover,
.progress-period-month button:hover,
.progress-period-arrow:not(.is-disabled):hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
    color: var(--ui-text);
}

.progress-period-ranges a.is-active {
    border-color: var(--ui-accent);
    background: var(--ui-accent-soft);
    color: var(--ui-text-strong);
}

.progress-period-month input[type="month"] {
    min-height: var(--control-default);
    padding-inline: var(--space-3);
    color: var(--ui-text);
}

.progress-period-month button,
.progress-period-arrow,
.progress-period-current {
    min-height: var(--control-default);
}

.progress-period-toolbar::after {
    left: var(--space-3);
    right: var(--space-3);
    height: 2px;
    background: transparent;
}

.is-progress-loading .progress-period-toolbar::after {
    background: var(--ui-route);
}

.trend-card {
    transition: border-color var(--motion-state) var(--ease-state), background-color var(--motion-state) var(--ease-state);
}

.trend-card:hover {
    border-color: var(--ui-border-strong);
    background: var(--ui-surface-hover);
    transform: none;
}

.cardio-trend-grid article,
.cardio-technique-grid article {
    padding: var(--space-3);
    gap: var(--space-1);
    border-color: var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
    box-shadow: none;
}

.cardio-trend-grid .is-up strong {
    color: var(--ui-success);
}

.cardio-recent-list {
    border-color: var(--ui-border);
    border-radius: var(--radius-card);
    background: var(--ui-panel);
}

.cardio-recent-row {
    min-height: 56px;
    gap: var(--space-3);
    padding: var(--space-3);
    border-color: var(--ui-border-soft);
    transition: background-color var(--motion-hover) var(--ease-enter);
}

.cardio-recent-row:hover {
    background: var(--ui-surface-hover);
}

.cardio-recent-main small,
.cardio-recent-row > div:not(.cardio-recent-main) span {
    color: var(--ui-muted);
}

@media (max-width: 639px) {
    .progress-period-toolbar {
        grid-template-columns: 1fr;
        gap: var(--space-3);
        padding: var(--space-3);
    }

    .progress-period-ranges {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        overflow: visible;
        padding: 0;
    }

    .progress-period-ranges a {
        min-width: 0;
        min-height: var(--control-touch);
        padding-inline: var(--space-2);
        white-space: nowrap;
    }

    .progress-period-month :is(input[type="month"], button, .progress-period-arrow, .progress-period-current) {
        min-height: var(--control-touch);
    }

    .cardio-recent-list {
        display: grid;
        gap: var(--space-2);
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .cardio-recent-row {
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-2) var(--space-3);
        padding: var(--space-3);
        border: var(--border-width) solid var(--ui-border);
        border-radius: var(--radius-card);
        background: var(--ui-panel);
    }

    .cardio-recent-row:first-child {
        border-top: var(--border-width) solid var(--ui-border);
    }

    .cardio-recent-main {
        grid-column: 1 / -1;
        padding-bottom: var(--space-2);
        border-bottom: var(--border-width) solid var(--ui-border-soft);
    }

    .cardio-recent-row > div:not(.cardio-recent-main) {
        min-width: 0;
    }

    .cardio-recent-row > div:not(.cardio-recent-main) strong {
        overflow-wrap: anywhere;
    }
}
@media (max-width: 720px) {
    .activity-editor-shell { height: 100vh; height: 100dvh; overflow: hidden !important; }
    .activity-editor-shell .activity-editor { display: block; height: 100vh !important; height: 100dvh !important; max-height: 100vh !important; max-height: 100dvh !important; overflow-y: auto !important; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .activity-editor-shell .activity-editor :is(input, textarea, select, [contenteditable="true"]) { scroll-margin-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .activity-editor-shell .activity-editor .activity-editor-heading { top: 0; padding-top: max(14px, env(safe-area-inset-top)); }
    .activity-editor-shell .activity-editor .activity-form-actions { position: sticky; bottom: 0; z-index: 8; margin-bottom: 0; padding-bottom: calc(10px + env(safe-area-inset-bottom)); background: var(--ui-panel); }
    body.activity-edit-embedded .activity-edit-form { height: 100vh !important; height: 100dvh !important; max-height: 100vh !important; max-height: 100dvh !important; overflow-y: auto !important; }
}
@media (max-height: 520px) {
    .activity-editor-shell .activity-editor { scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .activity-editor-shell .activity-editor :is(input, textarea, select, [contenteditable="true"]) { scroll-margin-bottom: calc(76px + env(safe-area-inset-bottom)); }
}


.activity-edit-modal-error{position:absolute;inset:0;z-index:3;display:none;place-content:center;justify-items:center;gap:12px;padding:24px;background:var(--ui-bg);color:var(--ui-text);text-align:center}.activity-edit-modal-error>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.activity-edit-modal.is-error .activity-edit-modal-error{display:grid}.activity-edit-modal.is-error iframe{opacity:0!important}

:root{
    --pwa-safe-top:0px;
    --pwa-safe-right:0px;
    --pwa-safe-bottom:0px;
    --pwa-safe-left:0px;
}
html.is-standalone{
    --pwa-safe-top:env(safe-area-inset-top);
    --pwa-safe-right:env(safe-area-inset-right);
    --pwa-safe-bottom:env(safe-area-inset-bottom);
    --pwa-safe-left:env(safe-area-inset-left);
}
html.is-standalone .site-header{
    padding-top:var(--pwa-safe-top);
    padding-right:var(--pwa-safe-right);
    padding-left:var(--pwa-safe-left);
}
@media(max-width:720px){
    html.is-standalone .mobile-bottom-nav{
        left:max(6px,var(--pwa-safe-left));
        right:max(6px,var(--pwa-safe-right));
        bottom:max(6px,var(--pwa-safe-bottom));
    }
    html.is-standalone .mobile-more-panel,
    html.is-standalone .quick-tools-panel{
        padding-right:max(12px,var(--pwa-safe-right));
        padding-bottom:max(12px,var(--pwa-safe-bottom));
        padding-left:max(12px,var(--pwa-safe-left));
    }
}

/* 2026-09-05 — activity editor consolidation: embedded shell, shared controls and route workspace. */
.activity-smart-title-trigger {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    min-height: 30px;
    margin: -3px -6px;
    padding: 3px 6px;
    border: 0;
    border-radius: var(--radius-detail);
    background: transparent;
    color: var(--ui-text-strong);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.activity-smart-title-trigger strong {
    display: block;
    overflow: hidden;
    max-width: 100%;
    color: inherit;
    font-size: 1.08rem;
    font-weight: 750;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.activity-smart-title-trigger:hover { background: var(--ui-surface-hover); }
.activity-smart-title-trigger:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 1px; }
.activity-smart-title-trigger[aria-expanded="true"] { background: var(--ui-accent-soft); }

:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-context-grid {
    padding: 12px 18px !important;
    gap: 9px !important;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-model-panel {
    padding-inline: 18px;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip {
    grid-template-columns: minmax(120px,.78fr) minmax(270px,1.6fr) minmax(118px,.72fr) minmax(180px,1fr) !important;
    gap: 9px;
    padding: 13px 0 10px;
    border-bottom: 0;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="distancia"] { order: 10; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="duracao"] { order: 20; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="elevacao"],
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="desnivel"] { order: 30; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .derived-metric-field { order: 40; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field { order: 60; }

.duration-control-row {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-width: 0;
}
.duration-control-row > .duration-segments { flex: 0 1 auto; width: max-content; max-width: 100%; min-width: 0; }
.duration-segments {
    display: flex !important;
    align-items: center;
    gap: 4px !important;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 7px !important;
    overflow: hidden;
}
.duration-segments > label {
    position: static !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: center;
    gap: 3px;
    min-width: 0 !important;
}
.duration-segments > label > span {
    position: static !important;
    order: 2;
    flex: 0 0 auto;
    transform: none !important;
    color: var(--ui-muted) !important;
    font-size: .64rem !important;
    line-height: 1;
}
.duration-segments input:not([type="hidden"]) {
    flex: 0 1 auto;
    width: 34px !important;
    min-width: 28px !important;
    min-height: 34px !important;
    padding: 5px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ui-text-strong);
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.duration-segments [data-duration-hours] { width: 42px !important; }
.duration-segments [data-duration-minutes],
.duration-segments [data-duration-seconds] { width: 30px !important; }
.duration-segments .duration-ms-field input { width: 44px !important; }
.duration-segments > span[aria-hidden="true"] { flex: 0 0 auto; color: var(--ui-muted); }
.duration-precision-toggle {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 4px 7px;
    border: 0;
    border-radius: var(--radius-detail);
    background: transparent;
    color: var(--ui-accent);
    font: inherit;
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}
.duration-precision-toggle:hover { background: var(--ui-accent-soft); }

:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-result-wrap {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    min-width: 0;
    min-height: 38px;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--radius-control);
    background: var(--ui-panel-soft);
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-result-wrap input {
    min-width: 0;
    min-height: 36px !important;
    padding: 7px 4px 7px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ui-text-strong) !important;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    box-shadow: none !important;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-result-wrap input:not([readonly]) { background: var(--ui-panel) !important; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-result-wrap > span:not(.auto-badge) {
    position: static !important;
    padding: 0 7px 0 2px;
    color: var(--ui-muted);
    font-size: .7rem;
    white-space: nowrap;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-result-wrap .auto-badge { display: none; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) :is(.derived-edit-button,.activity-inline-action) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 8px;
    border: 0;
    border-radius: var(--radius-control);
    background: transparent;
    color: var(--ui-accent);
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) :is(.derived-edit-button,.activity-inline-action):hover { background: var(--ui-accent-soft); color: var(--ui-accent-strong); }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .derived-edit-button { margin-right: 4px; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .optional-fields-bar {
    min-height: 36px;
    padding: 4px 0 9px;
    border-bottom: 1px solid var(--ui-border-soft);
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .optional-field-chip {
    min-height: 28px;
    border-color: var(--ui-border);
    background: var(--ui-panel);
    color: var(--ui-text-secondary);
    font: inherit;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) :is(.activity-link-danger,.field-remove-button,.add-unit-button,.activity-route-base-edit,.activity-route-toolbar button,.activity-route-mode button) { font-family: var(--font-ui); }

:is(.activity-editor input[type="number"], .activity-route-privacy-fields input[type="number"]) { -moz-appearance: textfield; appearance: textfield; }
:is(.activity-editor input[type="number"], .activity-route-privacy-fields input[type="number"])::-webkit-outer-spin-button,
:is(.activity-editor input[type="number"], .activity-route-privacy-fields input[type="number"])::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; appearance: none; }
.stride-number-control {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: stretch;
}
.stride-number-control > input[type="number"] { width: 100% !important; min-width: 0; padding-right: 30px !important; }
.stride-number-stepper {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    display: grid;
    grid-template-rows: 1fr 1fr;
    width: 27px;
    overflow: hidden;
    border-left: 1px solid var(--ui-border);
    border-radius: 0 calc(var(--radius-control) - 1px) calc(var(--radius-control) - 1px) 0;
    background: var(--ui-panel-soft);
}
.stride-number-stepper-button {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ui-muted);
    font: inherit;
    font-size: .66rem;
    line-height: 1;
    cursor: pointer;
}
.stride-number-stepper-button + .stride-number-stepper-button { border-top: 1px solid var(--ui-border); }
.stride-number-stepper-button:hover { background: var(--ui-surface-hover); color: var(--ui-text-strong); }
.stride-number-stepper-button:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--ui-focus); outline-offset: -2px; }

:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-builder[data-route-compact="1"] {
    margin: 0 18px;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid var(--ui-border-soft);
    border-radius: 0;
    background: transparent;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-builder[data-route-compact="1"].has-route {
    margin-top: 0;
    border: 0;
    border-bottom: 1px solid var(--ui-border-soft);
    border-radius: 0;
    background: transparent;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-builder[data-route-compact="1"] > .activity-route-heading { min-height: 47px; padding: 8px 0; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-privacy-fields {
    margin: 0 18px 2px;
}
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-privacy-fields .activity-route-privacy-summary { padding: 9px 0; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-privacy-fields .activity-route-privacy-options { padding: 0 0 10px; }

body.activity-edit-embedded { min-height: 100dvh; overflow: hidden; background: var(--ui-panel); }
body.activity-edit-embedded > .container-fluid { width: 100%; min-height: 100dvh; margin: 0; padding: 0; }
body.activity-edit-embedded .main-content.activities-page { width: 100%; height: 100dvh; min-height: 0; margin: 0; padding: 0; }
body.activity-edit-embedded .activity-edit-form {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--ui-panel) !important;
    box-shadow: none !important;
}
body.activity-edit-embedded .activity-edit-form > .activity-editor-heading { display: none !important; }
body.activity-edit-embedded .activity-smart-title-top { margin: 0 18px; padding-top: 12px; }
body.activity-edit-embedded .activity-edit-actions { margin-bottom: 0; background: var(--ui-panel); }

@media (min-width: 980px) {
    body.activity-edit-embedded .activity-edit-context-grid {
        grid-template-columns: minmax(250px,1.45fr) minmax(150px,.78fr) minmax(150px,.72fr) minmax(150px,.78fr) !important;
        grid-template-areas: "sport date time status" "end end end end";
        align-items: end;
    }
    body.activity-edit-embedded .activity-edit-sport-field { grid-area: sport !important; }
    body.activity-edit-embedded .activity-edit-date-field { grid-area: date !important; }
    body.activity-edit-embedded .activity-edit-time-field { grid-area: time !important; }
    body.activity-edit-embedded .activity-edit-status-field { grid-area: status !important; }
    body.activity-edit-embedded .activity-edit-end-field { grid-area: end !important; max-width: none !important; }
    body.activity-edit-embedded .activity-edit-end-field .activity-end-control { grid-template-columns: minmax(170px,220px) minmax(190px,240px) !important; justify-content: start; gap: 8px !important; }
}

.activity-edit-modal.is-route-subview { padding: 12px; }
.activity-edit-modal.is-route-subview .activity-edit-modal-panel {
    width: min(1560px,96vw);
    height: calc(100vh - 24px);
    height: calc(100dvh - 24px);
    max-width: 1560px;
    max-height: calc(100dvh - 24px);
    grid-template-rows: minmax(0,1fr);
}
.activity-edit-modal.is-route-subview .activity-edit-modal-header { display: none; }
.activity-edit-modal.is-route-subview .activity-edit-modal-body,
.activity-edit-modal.is-route-subview .activity-edit-modal-body iframe { width: 100%; height: 100%; min-width: 0; min-height: 0; }
html.activity-edit-route-open, html.activity-edit-route-open body { overflow: hidden; }
body.activity-edit-embedded .activity-edit-form.is-route-subview {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
}
body.activity-edit-embedded .activity-edit-form.is-route-subview > .activity-route-builder[data-route-compact="1"] { margin: 0 !important; border: 0 !important; }
body.activity-edit-embedded .activity-edit-form.is-route-subview .activity-route-workspace { width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.activity-editor.is-route-subview .activity-route-subview-header { min-width: 0; padding: 8px 10px; }
.activity-editor.is-route-subview .activity-route-subview-header > div { min-width: 0; }
.activity-editor.is-route-subview .activity-route-subview-header [data-route-subview-summary] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-editor.is-route-subview .activity-route-mode,
.activity-editor.is-route-subview .activity-route-toolbar,
.activity-editor.is-route-subview .activity-route-map,
.activity-editor.is-route-subview .activity-route-status,
.activity-editor.is-route-subview .activity-route-attribution { box-sizing: border-box; width: 100%; min-width: 0; }
.activity-editor.is-route-subview .activity-route-toolbar { padding: 6px 8px; }
.activity-editor.is-route-subview .activity-route-map { flex: 1 1 0 !important; height: 0 !important; min-height: 0 !important; overflow: hidden; }
.activity-editor.is-route-subview .activity-route-status { min-height: 28px; padding: 4px 8px; }
.activity-editor.is-route-subview .activity-route-status [data-route-elevation][hidden] { display: none !important; }
.activity-editor.is-route-subview .activity-route-attribution { min-height: 20px; padding: 3px 8px; line-height: 1.25; }

@media (max-width: 980px) {
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="duracao"] { grid-column: 1 / -1; }
}
@media (max-width: 760px), (max-height: 520px) {
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-context-grid { padding-inline: 14px !important; }
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-model-panel { padding-inline: 14px; }
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-builder[data-route-compact="1"],
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) > .activity-route-privacy-fields,
    body.activity-edit-embedded .activity-smart-title-top { margin-inline: 14px; }
    .activity-edit-modal.is-route-subview { padding: 0; }
    .activity-edit-modal.is-route-subview .activity-edit-modal-panel {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    body.activity-edit-embedded .activity-edit-form.is-route-subview { padding-top: 0 !important; }
    .activity-editor.is-route-subview .activity-route-subview-header {
        padding-top: max(8px,env(safe-area-inset-top));
        padding-right: max(10px,env(safe-area-inset-right));
        padding-left: max(10px,env(safe-area-inset-left));
    }
    .activity-editor.is-route-subview .activity-route-toolbar {
        padding-right: max(8px,env(safe-area-inset-right));
        padding-left: max(8px,env(safe-area-inset-left));
    }
    .activity-editor.is-route-subview .activity-route-attribution {
        padding-right: max(8px,env(safe-area-inset-right));
        padding-bottom: max(4px,env(safe-area-inset-bottom));
        padding-left: max(8px,env(safe-area-inset-left));
    }
}
@media (max-width: 520px) {
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip { grid-template-columns: 1fr !important; }
    :is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor) .activity-metrics-strip > .input-field[data-field-slug="duracao"] { grid-column: auto; }
    .duration-control-row { flex-wrap: nowrap; }
    .duration-segments { padding-inline: 5px !important; gap: 3px !important; }
    .duration-segments [data-duration-hours] { width: 36px !important; }
    .duration-segments [data-duration-minutes], .duration-segments [data-duration-seconds] { width: 28px !important; }
    .duration-segments .duration-ms-field input { width: 40px !important; }
    .duration-precision-toggle { padding-inline: 5px; }
}
.activity-editor.is-route-subview .activity-route-subview-header [data-route-subview-status] {
    display: block;
    margin-top: 1px;
    color: var(--ui-success, #18794e);
    font-size: .7rem;
    font-weight: 750;
    line-height: 1.2;
}
.activity-editor.is-route-subview .activity-route-subview-header [data-route-subview-status][hidden] { display: none !important; }
.activity-editor.is-route-subview .activity-route-status[hidden] { display: none !important; }
:is(.activity-editor-shell .activity-editor, body.activity-edit-embedded .activity-editor).is-route-subview > .activity-route-builder[data-route-compact="1"] {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
}
@media (max-width: 760px), (max-height: 520px) {
    .activity-editor-shell.is-route-subview .activity-editor.is-route-subview {
        width: 100vw !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
    }
}


@media (max-width: 620px) {
    .duration-control-row > .duration-segments { flex: 1 1 auto; width: 100%; }
    .duration-segments { width: 100%; justify-content: flex-start; }
}
.activity-visibility-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(132px,auto);
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 0;
    border-top: 1px solid var(--ui-border-soft);
}
.activity-visibility-row > label {
    display: grid;
    gap: 2px;
    min-width: 0;
    color: var(--ui-text-strong);
    font-size: .78rem;
    font-weight: 750;
}
.activity-visibility-row > label small { color: var(--ui-muted); font-size: .66rem; font-weight: 500; }
.activity-visibility-row select { min-width: 132px; height: 36px; justify-self: end; }
@media (max-width: 520px) {
    .activity-visibility-row { grid-template-columns: 1fr; gap: 6px; }
    .activity-visibility-row select { width: 100%; justify-self: stretch; }
}

/* Component state must win over display rules, including button normalization. */
[data-onboarding] [hidden], [data-settings-sports-catalog] [hidden],
.settings-sport-family-grid[hidden], [data-generic-sport-picker] [hidden] { display:none!important; }
[data-onboarding] .primary-action:disabled { background:var(--ui-panel-soft)!important;color:var(--ui-muted)!important;border-color:var(--ui-border)!important;box-shadow:none!important;cursor:not-allowed; }
.signup-sport-picker { min-width:0; }
.signup-sport-family-head button { min-height:44px;color:var(--ui-accent); }
.signup-sport-family-card:focus-visible,.signup-sport-family-head button:focus-visible { outline:2px solid var(--ui-accent);outline-offset:2px; }

.site-ad-placement {
    width: 100%;
    min-width: 0;
    margin: 24px 0;
    color: var(--ui-muted);
    text-align: center;
}
.site-ad-placement[hidden] { display: none !important; }
.site-ad-placement--content-end { margin-top: 32px; }
.site-ad-label {
    display: block;
    margin: 0 0 6px;
    color: var(--ui-muted);
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .04em;
    line-height: 1.2;
}
.site-ad-provider,
.site-ad-preview {
    display: block;
    width: 100%;
    min-height: 90px;
}
.site-ad-provider { overflow: hidden; }
.site-ad-preview {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    padding: 12px;
    border: 1px dashed var(--ui-border);
    border-radius: var(--radius-control);
    corner-shape: round;
    background: var(--ui-panel-soft);
    color: var(--ui-muted);
}
.site-ad-preview span {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .72rem;
}
@media (max-width: 640px) {
    .site-ad-placement { margin-block: 20px; }
    .site-ad-provider,
    .site-ad-preview { min-height: 100px; }
}
