/*
 * Clean controls & Progress — LBRank 2026-10-10
 * A light divider-first visual system, inspired by the in-page quote row.
 * Loaded last to supersede old gradient/glass !important rules.
 */

/* DASHBOARD screenshot cleanup: there is no themed hero in the HTML
   anymore and the unused empty subtitle must not reserve space. */
#infoDetailModal[data-topic="lifehub"] #infoDetailSubtitle {
    display: none !important;
}
#infoDetailModal[data-topic="lifehub"] .info-detail-topbar {
    padding-bottom: 12px !important;
    margin-bottom: 6px !important;
}
#infoDetailModal[data-topic="lifehub"] .info-detail-body,
#infoDetailModal[data-topic="lifehub"] #lifeHub,
#infoDetailModal[data-topic="lifehub"] .life-hub-panel {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
#infoDetailModal[data-topic="lifehub"] .life-hub-panel > .life-section-heading:first-child {
    margin-top: 0 !important;
}

/* DASHBOARD LAUNCHER: a simple quote-style horizontal strip,
   with no thick all-around frame, blur or coloured glass. */
#rank-tab .rank-content > #rankLifeDashboardButton {
    width: 100% !important;
    min-height: 47px !important;
    padding: 11px 14px !important;
    margin: 26px 0 16px !important;
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-top: 1px solid rgba(172,192,219,.23) !important;
    border-bottom: 1px solid rgba(172,192,219,.23) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--theme-text,#fff) !important;
}
#rank-tab .rank-content > #rankLifeDashboardButton .rank-life-dashboard-icon,
#rank-tab .rank-content > #rankLifeDashboardButton .rank-life-dashboard-icon svg {
    color: var(--ui-special-text,var(--theme-text,#fff)) !important;
    filter: none !important;
}
#rank-tab .rank-content > #rankLifeDashboardButton .rank-life-dashboard-label {
    color: var(--theme-text,#fff) !important;
    -webkit-text-fill-color: var(--theme-text,#fff) !important;
    letter-spacing: .08em !important;
    text-shadow: none !important;
}
#rank-tab .rank-content > #rankLifeDashboardButton:active {
    background: rgba(var(--theme-primary-rgb,0,212,255),.07) !important;
    transform: scale(.99) !important;
}
#rank-tab .rank-content > #rankLifeDashboardButton:focus-visible {
    outline: 2px solid var(--theme-primary,#00D4FF) !important;
    outline-offset: 2px !important;
}

/* Clean secondary controls. Primary Save/Add actions still retain their
   stronger fill so critical form actions remain obvious. */
#graph-tab :is(.minimal-cycle-btn,.eta-entry-btn,.graph-landscape-button,.show-more-history-btn,.personal-records-details-btn),
#infoDetailModal.life-dashboard-open :is(.life-heading-actions button,.life-history-modes button,.life-section-heading > button),
#rank-tab .comparison-header-actions :is(button,.comparison-reset,.rank-path-preview-toggle) {
    appearance: none !important;
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-top: 1px solid rgba(172,192,219,.22) !important;
    border-bottom: 1px solid rgba(172,192,219,.22) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    text-shadow: none !important;
    color: var(--ui-card-title,var(--theme-text,#fff)) !important;
    -webkit-text-fill-color: var(--ui-card-title,var(--theme-text,#fff)) !important;
    min-height: 32px !important;
    padding: 5px 9px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
    letter-spacing: .012em !important;
    cursor: pointer !important;
}
#graph-tab :is(.minimal-cycle-btn,.eta-entry-btn,.graph-landscape-button,.show-more-history-btn,.personal-records-details-btn):active,
#infoDetailModal.life-dashboard-open :is(.life-heading-actions button,.life-history-modes button,.life-section-heading > button):active,
#rank-tab .comparison-header-actions button:active {
    background: rgba(var(--theme-primary-rgb,0,212,255),.085) !important;
    transform: scale(.98);
}
#graph-tab :is(.minimal-cycle-btn,.eta-entry-btn,.graph-landscape-button,.show-more-history-btn,.personal-records-details-btn):focus-visible,
#infoDetailModal.life-dashboard-open :is(.life-heading-actions button,.life-history-modes button,.life-section-heading > button):focus-visible,
#rank-tab .comparison-header-actions button:focus-visible {
    outline: 2px solid var(--theme-primary,#00D4FF) !important;
    outline-offset: 2px !important;
}
#graph-tab .eta-entry-btn[aria-pressed="true"],
#infoDetailModal.life-dashboard-open .life-history-modes button.active,
#rank-tab .comparison-header-actions [aria-pressed="true"] {
    border-bottom: 2px solid var(--theme-primary,#00D4FF) !important;
    color: var(--ui-special-text,var(--theme-text,#fff)) !important;
    -webkit-text-fill-color: var(--ui-special-text,var(--theme-text,#fff)) !important;
}
#graph-tab .show-more-history-btn {
    width: 100% !important;
    min-height: 40px !important;
}

/* PROGRESS overview: a single canvas with strong hierarchy, separated by
   one thin horizontal rule at each major content group. */
#graph-tab .graph-container {
    gap: 18px !important;
    background: transparent !important;
}
#graph-tab .graph-container > .app-page-header {
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
}
#graph-tab .chart-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 262px !important;
    min-height: 262px !important;
    max-height: none !important;
    padding: 0 0 16px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--flat-divider,rgba(172,192,219,.18)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .chart-top-row {
    grid-template-columns: minmax(0,1fr) 35px !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}
#graph-tab .chart-canvas-area {
    flex: 1 1 auto !important;
    min-height: 160px !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
#graph-tab .chart-toolbar.chart-toolbar-in-graph {
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    gap: 3px !important;
    min-height: 37px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.12)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
#graph-tab .chart-toolbar .range-option {
    position: relative;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .chart-toolbar .range-option .range-btn {
    display: grid !important;
    place-items: center !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 6px 2px !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--theme-text-muted,#B8C5D6) !important;
    -webkit-text-fill-color: var(--theme-text-muted,#B8C5D6) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-shadow: none !important;
}
#graph-tab .chart-toolbar .range-option input:checked + .range-btn {
    color: var(--theme-text,#fff) !important;
    -webkit-text-fill-color: var(--theme-text,#fff) !important;
    border-bottom: 2px solid var(--theme-primary,#00D4FF) !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .chart-toolbar .range-option input:focus-visible + .range-btn {
    outline: 2px solid var(--theme-primary,#00D4FF) !important;
    outline-offset: -2px !important;
}
#graph-tab #graphLandscapeButton {
    font-size: 20px !important;
    width: 35px !important;
    height: 35px !important;
    padding: 4px !important;
}
#graph-tab #graphWeekSelectorWrap {
    margin-bottom: 2px !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .graph-info {
    padding: 0 0 12px !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.12)) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

/* Goal section: label and forecast values only, no nested plastic tiles. */
#graph-tab #goalForecastPanel {
    margin: 0 !important;
    padding: 0 0 17px !important;
    gap: 11px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--flat-divider,rgba(172,192,219,.18)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .goal-forecast-heading {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 10px 12px !important;
    margin: 0 0 10px !important;
}
#graph-tab .goal-forecast-heading h3 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.24 !important;
    font-weight: 850 !important;
    text-shadow: none !important;
}
#graph-tab .goal-heading-right {
    min-width: 0 !important;
    gap: 5px !important;
}
#graph-tab .eta-entry-controls {
    gap: 5px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
#graph-tab #goalForecastStatus {
    width: auto !important;
    max-width: 100% !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    color: var(--ui-card-description,var(--theme-text-muted,#B8C5D6)) !important;
    text-align: right !important;
}
#graph-tab .goal-forecast-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 0 12px !important;
    padding: 0 !important;
}
#graph-tab .goal-forecast-grid > .goal-forecast-card {
    display: grid !important;
    align-content: start !important;
    min-width: 0 !important;
    min-height: 94px !important;
    height: auto !important;
    padding: 14px 5px 11px !important;
    gap: 3px !important;
    border: none !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.12)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}
#graph-tab .goal-forecast-grid > .goal-forecast-card.featured {
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .goal-forecast-grid > .goal-forecast-card strong {
    font-size: clamp(16px,4vw,21px) !important;
    line-height: 1.12 !important;
    text-shadow: none !important;
}
#graph-tab .goal-forecast-grid > .goal-forecast-card small {
    font-size: 10px !important;
    line-height: 1.3 !important;
}
#graph-tab .goal-forecast-grid > button.goal-forecast-card {
    cursor: pointer !important;
}
#graph-tab .goal-eta-goal-inline {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--flat-divider-soft,rgba(172,192,219,.12)) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 6px !important;
    padding: 8px 0 0 !important;
}

/* Weight History: separate the tally from the two controls rather than
   compressing title, actions and total into one congested narrow row. */
#graph-tab .history-section {
    margin: 0 !important;
    padding: 0 0 17px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--flat-divider,rgba(172,192,219,.18)) !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .history-section > .history-heading-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
    margin-bottom: 8px !important;
    padding: 0 0 9px !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
}
#graph-tab .history-heading-row h3 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.23 !important;
    text-shadow: none !important;
}
#graph-tab .history-heading-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    min-width: 0 !important;
}
#graph-tab .history-total-change {
    flex: 0 0 100% !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
#graph-tab .history-total-change :is(span,strong) {
    font-size: 11px !important;
    line-height: 1.18 !important;
    text-shadow: none !important;
}
#graph-tab .history-list {
    gap: 0 !important;
}
#graph-tab .history-list .rank-history-item,
#graph-tab .history-list .history-item {
    padding: 9px 3px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#graph-tab .history-list .rank-history-item:active {
    background: rgba(var(--theme-primary-rgb,0,212,255),.07) !important;
}
#graph-tab .weight-history-calendar {
    background: transparent !important;
    box-shadow: none !important;
}

/* Records and monthly recap: remove unnecessary second-level frames,
   but keep the primary headings and data. */
#graph-tab .personal-records-section .life-record-grid {
    gap: 0 10px !important;
}
#graph-tab .personal-records-section .life-record-grid > div {
    min-height: 68px !important;
    padding: 13px 5px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#graph-tab .personal-records-section .life-record-grid > div strong {
    text-shadow: none !important;
}
#graph-tab .life-progress-recap {
    gap: 10px !important;
}
#graph-tab .life-progress-recap .life-change-row,
#graph-tab .life-progress-recap .life-month-recap-card,
#graph-tab .life-progress-recap .life-recap-hero {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
    border-radius: 0 !important;
}
#graph-tab .life-recap-month-choice input {
    font-size: 15px !important;
    padding: 7px !important;
    border: none !important;
    border-top: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
    border-bottom: 1px solid var(--flat-divider-soft,rgba(172,192,219,.11)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#graph-tab .life-recap-month-choice {
    min-width: 0;
}

/* Responsive: maintain readable touch targets and stop Forecast controls
   forcing numeric tiles off-screen on narrow iPhone widths. */
@media(max-width:440px) {
    #graph-tab .chart-wrapper {
        height: 238px !important;
        min-height: 238px !important;
    }
    #graph-tab .graph-container {
        gap: 15px !important;
    }
    #graph-tab .goal-forecast-heading {
        gap: 7px !important;
    }
    #graph-tab .goal-forecast-heading > div:first-child {
        grid-row: auto !important;
    }
    #graph-tab .goal-forecast-heading h3 {
        font-size: 16px !important;
    }
    #graph-tab .eta-entry-controls {
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
    }
    #graph-tab #goalForecastStatus {
        margin-top: 3px !important;
        text-align: right !important;
    }
    #graph-tab .history-heading-row h3 {
        font-size: 15px !important;
    }
    #graph-tab .history-heading-actions {
        gap: 5px !important;
    }
    #graph-tab :is(.minimal-cycle-btn,.eta-entry-btn,.graph-landscape-button) {
        padding-inline: 7px !important;
    }
}
@media(max-width:360px) {
    #graph-tab .history-section > .history-heading-row {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 6px !important;
    }
    #graph-tab .history-heading-actions :is(.history-period-cycle-btn,.history-view-cycle-btn) {
        font-size: 9px !important;
        padding: 5px !important;
        min-height: 30px !important;
    }
    #graph-tab .goal-forecast-grid { column-gap: 8px !important; }
}
