/* Daily Review command center. The daily action UI lives in the floating deck. */

.review-loop-page {
    --rl-band-bg: #050505;
    --journal-page-bg: var(--app-bg-page);
    --journal-section-bg: var(--app-surface-section);
    --journal-section-bg-alt: var(--app-surface-section-alt);
    --journal-control-bg: var(--app-surface-control);
    --journal-card-bg: var(--app-surface-card);
    --journal-card-bg-hover: var(--app-surface-card-hover);
    --journal-border-soft: var(--app-border-soft);
    --journal-radius: var(--app-radius-card);
    --journal-fs-kicker: 12px;
    --journal-fs-body-sm: 14px;
    --journal-fs-card-title: 19px;
    --journal-fs-metric: 18px;
    --rl-bg: var(--journal-page-bg);
    --rl-surface: var(--journal-section-bg);
    --rl-surface-alt: var(--journal-section-bg-alt);
    --rl-card: var(--journal-card-bg);
    --rl-control: var(--journal-control-bg);
    --rl-border: var(--journal-border-soft);
    --rl-border-strong: var(--journal-border-soft);
    --rl-border-hairline: rgba(255, 255, 255, 0.06);
    --rl-border-ghost: rgba(255, 255, 255, 0.04);
    --rl-border-hover: var(--app-border-hover);
    --rl-radius-card: var(--journal-radius);
    --rl-radius-section: var(--journal-radius);
    --rl-text: var(--text-primary);
    --rl-muted: rgba(214, 223, 232, 0.58);
    --rl-faint: rgba(214, 223, 232, 0.48);
    --rl-accent: rgba(130, 210, 197, 0.9);
    --rl-danger: #e57373;
    --pb-fs-kicker: 12px;
    --pb-fs-meta: 13px;
    --pb-fs-body: 15px;
    --pb-fs-body-sm: 14px;
    --pb-fs-title: 24px;
    --pb-fs-card-title: 19px;
    --pb-fs-metric: 18px;
    --pb-radius: var(--app-radius-card, 10px);
    --pb-radius-lg: var(--app-radius-section, 12px);
    --pb-surface: var(--app-surface-card);
    --pb-border: var(--app-border-soft);
    --pb-border-hover: var(--app-border-hover);
    background: var(--rl-bg);
    color: var(--rl-text);
    font-family: "Instrument Sans", sans-serif;
}

.review-loop-layout {
    min-height: 100dvh;
}

.review-loop-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 18px 28px;
}

.review-loop-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0;
    overflow: visible;
}

.review-loop-title-group {
    gap: 12px;
}

.review-loop-status-bar {
    --app-status-fade-size: 34px;
    width: 100%;
    max-width: 100%;
    margin: 2px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--app-status-fade-size)), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--app-status-fade-size)), transparent 100%);
}

.review-loop-status-bar::-webkit-scrollbar {
    display: none;
}

.review-loop-status-bar .app-status-meta,
.review-loop-status-bar .app-status-copy {
    flex-wrap: nowrap;
}

.review-loop-status-bar .app-status-meta {
    width: max-content;
    min-width: 100%;
    max-width: none;
    overflow: visible;
    white-space: nowrap;
    padding-right: var(--app-status-fade-size) !important;
}

.review-loop-status-bar .app-status-copy {
    flex: 0 0 auto;
    width: max-content;
    min-width: 0;
    max-width: none;
}

.review-loop-toolbar.app-toolbar {
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    align-self: end;
}

.review-loop-toolbar .app-action-btn {
    flex: 0 0 auto;
    min-height: 46px;
    min-width: 0;
    padding-inline: 16px;
    font-size: 14px;
    font-weight: 600;
}

.review-loop-toolbar .creator-mode-toggle {
    width: 46px;
    min-width: 46px;
    padding-inline: 0;
}

.review-loop-page .app-action-btn svg,
.review-loop-page .app-action-btn i {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

.rl-command,
.rl-card {
    border-radius: var(--rl-radius-section);
    border: 1px solid var(--rl-border);
    background: var(--rl-surface);
    box-shadow: none;
}

.rl-command {
    --rl-command-cell-x: 24px;
    display: block;
    grid-template-columns: none;
    gap: 0;
    overflow: hidden;
    padding: 0;
}

.rl-command-main,
.rl-command-side {
    min-width: 0;
}

.rl-command-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 14px 30px;
    padding: 24px var(--rl-command-cell-x) 0;
}

.rl-command-side {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-left: 1px solid var(--rl-border);
}

.rl-command-title {
    grid-column: 1;
    max-width: 900px;
}

.rl-kicker {
    margin: 0 0 9px;
    color: var(--rl-faint);
    font-size: var(--journal-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
}

.rl-command-title,
.rl-command h2,
.rl-card h2 {
    margin: 0;
    color: var(--rl-text);
    font-size: var(--journal-fs-card-title);
    font-weight: 680;
    line-height: 1.18;
    letter-spacing: 0;
}

.rl-command-title {
    font-size: clamp(40px, 3.45vw, 58px);
    font-weight: 680;
    letter-spacing: -0.055em;
    line-height: 0.94;
}

.rl-command-copy {
    grid-column: 1;
    max-width: 66ch;
    margin: 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body);
    line-height: 1.58;
}

.rl-next-action {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    max-width: 760px;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--rl-border-hairline);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.018);
}

.rl-command-main .rl-next-action {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
    max-width: none;
    min-height: 148px;
}

.rl-next-action > span {
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-next-action > span {
    grid-column: auto;
}

.rl-next-action strong {
    color: var(--rl-text);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.18;
}

.rl-next-action em {
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.42;
}

.rl-next-action .app-action-btn {
    grid-column: auto;
    grid-row: auto;
    align-self: flex-start;
    min-height: 40px;
    padding-inline: 14px;
    font-size: var(--pb-fs-meta);
}

.rl-command-score {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 16px var(--rl-command-cell-x);
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-card);
    background: var(--rl-control);
}

.rl-rule-box.rl-command-score {
    border-top: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
}

.rl-command-score span,
.rl-session-state span,
.rl-rule-box span {
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-command-score strong {
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
}

.rl-source-note span {
    display: block;
    color: var(--rl-faint);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-source-note p {
    margin: 7px 0 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    line-height: 1.45;
}

.rl-command-score[data-tone="bad"] strong {
    color: var(--rl-danger);
}

.rl-command-score em {
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.5;
}

.rl-today-center[data-state="review"] .rl-next-action,
.rl-today-center[data-state="blocked"] .rl-next-action {
    border-color: rgba(130, 210, 197, 0.24);
    background: rgba(130, 210, 197, 0.045);
}

.rl-today-center[data-state="allowed"] .rl-card-head svg,
.rl-today-center[data-state="allowed"] .rl-card-head i,
.rl-today-center[data-state="ready"] .rl-card-head svg,
.rl-today-center[data-state="ready"] .rl-card-head i {
    color: rgba(214, 223, 232, 0.6);
}

.rl-today-center[data-state="weak"] .rl-next-action {
    border-color: rgba(229, 115, 115, 0.2);
    background: rgba(229, 115, 115, 0.035);
}

.rl-today-center[data-state="weak"] .rl-card-head svg,
.rl-today-center[data-state="weak"] .rl-card-head i {
    color: rgba(214, 223, 232, 0.6);
}

.rl-rule-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--rl-border-hairline);
}

.rl-rule-stack--three {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.rl-rule-stack--three .rl-rule-box {
    grid-column: span 2;
}

.rl-command-table {
    border-left: 0;
    border-top: 1px solid var(--rl-border-hairline);
    margin-top: 0;
}

.rl-loop-timeline {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: hidden;
    border: 0;
    border-top: 0;
    border-radius: 0;
    background: transparent;
}

.rl-loop-step {
    min-width: 0;
    padding: 11px var(--rl-command-cell-x);
    border-right: 1px solid var(--rl-border-hairline);
}

.rl-loop-step:last-child {
    border-right: 0;
}

.rl-loop-step span,
.rl-loop-step strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-loop-step span {
    color: var(--rl-faint);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-loop-step strong {
    margin-top: 7px;
    color: var(--rl-muted);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.12;
}

.rl-loop-step.is-done strong {
    color: var(--rl-accent);
}

.rl-loop-step.is-ready strong {
    color: var(--rl-text);
}

.rl-loop-step.is-warning strong {
    color: #ffd166;
}

.rl-loop-step.is-blocked {
    background: rgba(229, 115, 115, 0.025);
}

.rl-loop-step.is-blocked strong {
    color: var(--rl-danger);
}

.rl-data-contract {
    min-width: 0;
    overflow: hidden;
    border: 0;
    border-top: 1px solid var(--rl-border-hairline);
    border-radius: 0;
    background: transparent;
}

.rl-data-contract summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    color: var(--rl-faint);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    list-style: none;
    text-transform: uppercase;
}

.rl-data-contract summary::-webkit-details-marker {
    display: none;
}

.rl-data-contract summary svg,
.rl-data-contract summary i {
    width: 14px;
    height: 14px;
    color: var(--rl-faint);
    transition: transform 0.16s ease;
}

.rl-data-contract[open] summary {
    border-bottom: 1px solid var(--rl-border-hairline);
}

.rl-data-contract[open] summary svg,
.rl-data-contract[open] summary i {
    transform: rotate(180deg);
}

.rl-data-contract div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.rl-data-contract p {
    margin: 0;
    padding: 12px 14px;
    border-right: 1px solid var(--rl-border-hairline);
    color: var(--rl-muted);
    font-size: 14px;
    line-height: 1.4;
}

.rl-data-contract p:last-child {
    border-right: 0;
}

.rl-data-contract strong {
    color: rgba(245, 247, 250, 0.86);
}

.rl-overview-grid {
    display: block;
}

.rl-review-workspace {
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: var(--pb-surface);
}

.rl-review-workspace > .rl-card-head {
    margin: 0;
    padding: 20px 24px;
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-review-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.86fr);
    align-items: start;
    gap: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rl-review-primary,
.rl-review-history-panel {
    min-width: 0;
    padding: 0;
}

.rl-review-primary {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-right: 1px solid var(--app-border-muted);
}

.rl-review-history-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: transparent;
}

.rl-subsection-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.rl-subsection-head h3 {
    margin: 0;
    color: var(--rl-text);
    font-size: var(--pb-fs-card-title);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.03em;
}

.rl-subsection-head svg,
.rl-subsection-head i {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    color: rgba(214, 223, 232, 0.6);
    opacity: 0.42;
}

.rl-impact {
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: var(--pb-surface);
}

.rl-impact--locked {
    position: relative;
    min-height: 420px;
}

.rl-impact--locked > .rl-card-head,
.rl-impact--locked > .rl-impact-summary,
.rl-impact--locked > .rl-impact-chart {
    filter: blur(5px);
    opacity: 0.42;
    pointer-events: none;
    user-select: none;
}

.rl-impact-gate {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 10px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: inherit;
    background: rgba(5, 5, 5, 0.74);
    text-align: center;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.rl-impact-gate span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border: 1px solid rgba(77, 171, 154, 0.2);
    border-radius: 7px;
    background: rgba(77, 171, 154, 0.075);
    color: rgba(130, 210, 197, 0.86);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rl-impact-gate strong {
    color: var(--rl-text);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.rl-impact-gate p {
    max-width: 440px;
    margin: 0;
    color: rgba(214, 223, 232, 0.6);
    font-size: 14px;
    line-height: 1.5;
}

.rl-impact-gate a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 6px;
    padding: 0 18px;
    border: 1px solid rgba(77, 171, 154, 0.24);
    border-radius: 8px;
    background: rgba(77, 171, 154, 0.1);
    color: rgba(185, 238, 230, 0.92);
    font-size: 13px;
    font-weight: 740;
    text-decoration: none;
}

.rl-impact-gate a:hover {
    border-color: rgba(130, 210, 197, 0.38);
    background: rgba(77, 171, 154, 0.16);
    color: #eafffb;
}

.rl-impact > .rl-card-head {
    margin: 0;
    padding: var(--rl-impact-y) var(--rl-impact-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-impact-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid var(--app-border-muted);
    border-radius: 0;
    background: transparent;
}

.rl-impact-summary div {
    display: grid;
    align-content: center;
    min-width: 0;
    gap: 8px;
    min-height: 74px;
    padding: 15px var(--rl-impact-x) 16px;
    border-right: 1px solid var(--app-border-muted);
    background: transparent;
}

.rl-impact-summary div:last-child {
    border-right: 0;
}

.rl-impact-summary span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-impact-summary strong {
    min-width: 0;
    overflow: hidden;
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: var(--pb-fs-metric);
    font-weight: 700;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-impact-summary em {
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.48;
}

.rl-impact-chart {
    min-height: 0;
    overflow: hidden;
    overflow-y: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.rl-impact-chart::-webkit-scrollbar {
    display: none;
}

.rl-discipline-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    min-width: 0;
}

.rl-discipline-lower {
    order: 1;
    display: grid;
    grid-template-columns: minmax(390px, 0.88fr) minmax(0, 1.12fr);
    align-items: stretch;
    border-top: 1px solid var(--app-border-muted);
}

.rl-discipline-calendar-panel {
    min-width: 0;
    border-top: 0;
    border-right: 1px solid var(--app-border-muted);
    background: #0d0d0d;
}

.rl-discipline-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: var(--rl-impact-y) var(--rl-impact-x) 15px;
}

.rl-discipline-panel-head div {
    display: grid;
    min-width: 0;
    gap: 0;
}

.rl-discipline-panel-head > div:first-child {
    flex: 1 1 auto;
}

.rl-discipline-panel-head span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-discipline-panel-head strong,
.rl-discipline-panel-head em {
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    font-weight: 500;
    line-height: 1.45;
}

.rl-discipline-panel-head strong {
    flex: 0 0 auto;
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: var(--pb-fs-body-sm);
    font-weight: 700;
}

.rl-discipline-panel-head > div:first-child em {
    color: rgba(245, 247, 250, 0.82);
    font-size: var(--pb-fs-body-sm);
    font-weight: 650;
}

.rl-discipline-month-nav {
    display: inline-flex !important;
    flex: 0 0 auto;
    grid-template-columns: none !important;
    gap: 7px !important;
}

.rl-discipline-month-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--rl-border-hairline);
    border-radius: 9px;
    background: var(--rl-control);
    color: var(--rl-faint);
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.rl-discipline-month-nav button:hover,
.rl-discipline-month-nav button:focus-visible {
    outline: none;
    border-color: var(--rl-border-hover);
    background: var(--rl-card);
    color: var(--rl-text);
}

.rl-discipline-month-nav button:disabled {
    opacity: 0.34;
    cursor: default;
}

.rl-discipline-month-nav svg,
.rl-discipline-month-nav i {
    width: 15px;
    height: 15px;
}

.rl-discipline-calendar-scroll {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 var(--rl-impact-x) 22px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.14) transparent;
}

.rl-discipline-calendar-scroll::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.rl-discipline-calendar-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.rl-discipline-calendar-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.rl-discipline-board {
    --rl-discipline-weeks: 6;
    --rl-discipline-cell: 56px;
    --rl-discipline-gap: 10px;
    --rl-discipline-weekday-col: 56px;
    display: grid;
    grid-template-columns: var(--rl-discipline-weekday-col) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--rl-discipline-gap) 10px;
    width: 100%;
    min-width: 0;
}

.rl-discipline-months {
    display: grid;
    grid-column: 2;
    grid-template-columns: repeat(var(--rl-discipline-weeks), minmax(0, 1fr));
    gap: var(--rl-discipline-gap);
    min-height: 15px;
    padding: 0;
    color: rgba(214, 223, 232, 0.42);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-discipline-months span {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.rl-discipline-weekdays {
    display: grid;
    grid-column: 1;
    grid-row: 2;
    grid-template-rows: repeat(7, var(--rl-discipline-cell));
    gap: var(--rl-discipline-gap);
    padding-top: 0;
    color: rgba(214, 223, 232, 0.42);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.035em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-discipline-weekdays span {
    display: flex;
    align-items: center;
    min-height: var(--rl-discipline-cell);
}

.rl-discipline-calendar {
    display: grid;
    grid-column: 2;
    grid-row: 2;
    grid-auto-flow: column;
    grid-template-rows: repeat(7, var(--rl-discipline-cell));
    grid-template-columns: repeat(var(--rl-discipline-weeks), minmax(0, 1fr));
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--rl-discipline-gap);
    align-content: start;
    justify-content: start;
    width: 100%;
    padding: 0;
}

.rl-discipline-day {
    position: relative;
    display: block;
    width: 100%;
    height: var(--rl-discipline-cell);
    min-width: 0;
    min-height: var(--rl-discipline-cell);
    padding: 0;
    border: 1px solid var(--rl-border-ghost);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.012);
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
    overflow: hidden;
}

.rl-discipline-day.is-outside {
    opacity: 0.22;
}

.rl-discipline-day:hover,
.rl-discipline-day:focus-visible,
.rl-discipline-day.is-selected {
    outline: none;
    border-color: rgba(214, 223, 232, 0.24);
    background: rgba(255, 255, 255, 0.026);
}

.rl-discipline-day span {
    display: block;
    padding: 7px 8px;
    color: rgba(214, 223, 232, 0.38);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    text-align: left;
}

.rl-day-markers {
    position: absolute;
    right: 7px;
    bottom: 7px;
    left: 7px;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    font-style: normal;
}

.rl-day-markers i {
    display: block;
    width: 4px;
    height: 4px;
    flex: 0 0 4px;
    border-radius: 999px;
    background: rgba(214, 223, 232, 0.28);
}

.rl-day-markers i[data-marker="trade"] {
    background: rgba(214, 223, 232, 0.52);
}

.rl-day-markers i[data-marker="review"] {
    background: rgba(130, 210, 197, 0.78);
}

.rl-day-markers i[data-marker="coach"] {
    background: rgba(174, 148, 255, 0.82);
}

.rl-day-markers i[data-marker="rule"] {
    background: rgba(255, 209, 102, 0.76);
}

.rl-day-markers i[data-marker="debt"] {
    background: rgba(229, 115, 115, 0.86);
}

.rl-discipline-day[data-kind="dataset"] {
    border-color: rgba(214, 223, 232, 0.16);
    background: rgba(214, 223, 232, 0.045);
}

.rl-discipline-day[data-kind="dataset"] span,
.rl-discipline-day[data-kind="stable-profit"] span,
.rl-discipline-day[data-kind="stable-loss"] span,
.rl-discipline-day[data-kind="weak-profit"] span,
.rl-discipline-day[data-kind="weak-loss"] span,
.rl-discipline-day[data-kind="debt"] span {
    color: rgba(245, 245, 245, 0.78);
    font-weight: 650;
}

.rl-discipline-day[data-kind="stable-profit"],
.rl-discipline-day[data-kind="stable-loss"] {
    border-color: rgba(130, 210, 197, 0.28);
    background: rgba(130, 210, 197, 0.075);
}

.rl-discipline-day[data-kind="stable-loss"] {
    background: rgba(130, 210, 197, 0.052);
}

.rl-discipline-day[data-kind="weak-profit"] {
    border-color: rgba(255, 209, 102, 0.25);
    background: rgba(255, 209, 102, 0.066);
}

.rl-discipline-day[data-kind="weak-loss"] {
    border-color: rgba(229, 115, 115, 0.28);
    background: rgba(229, 115, 115, 0.062);
}

.rl-discipline-day[data-kind="debt"] {
    border-color: rgba(229, 115, 115, 0.38);
    background: rgba(229, 115, 115, 0.055);
    box-shadow: none;
}

.rl-discipline-day.is-selected {
    border-color: rgba(130, 210, 197, 0.58);
    background: rgba(130, 210, 197, 0.12);
    box-shadow: inset 0 0 0 1px rgba(130, 210, 197, 0.16);
}

.rl-discipline-day.is-selected[data-kind="debt"],
.rl-discipline-day.is-selected[data-kind="weak-loss"] {
    border-color: rgba(229, 115, 115, 0.62);
    background: rgba(229, 115, 115, 0.09);
    box-shadow: inset 0 0 0 1px rgba(229, 115, 115, 0.15);
}

.rl-discipline-curve {
    order: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    min-width: 0;
    padding: var(--rl-impact-y) var(--rl-impact-x) 18px;
}

.rl-discipline-curve-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px 16px;
    align-items: center;
    margin-bottom: 8px;
}

.rl-discipline-curve-head div {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.rl-discipline-curve-head span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-discipline-curve-head strong {
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: var(--pb-fs-title);
    font-weight: 700;
    line-height: 1;
}

.rl-discipline-curve-head em {
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.45;
}

.rl-impact-lenses {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 2px !important;
    min-width: 0;
    padding: 2px;
    border: 1px solid rgba(255, 255, 255, 0.065);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.012);
}

.rl-impact-lenses button {
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: rgba(214, 223, 232, 0.48);
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.rl-impact-lenses button:hover,
.rl-impact-lenses button:focus-visible {
    outline: none;
    color: rgba(245, 247, 250, 0.86);
    background: rgba(255, 255, 255, 0.04);
}

.rl-impact-lenses button.is-active {
    border-color: rgba(130, 210, 197, 0.28);
    background: rgba(130, 210, 197, 0.09);
    color: rgba(182, 235, 226, 0.95);
}

.rl-discipline-curve-body {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    min-width: 0;
    min-height: var(--rl-curve-height, 330px);
}

.rl-capital-scale {
    position: relative;
    z-index: 2;
    min-height: var(--rl-curve-height, 330px);
    background: var(--pb-surface);
    pointer-events: none;
}

.rl-capital-scale span {
    position: absolute;
    right: 8px;
    transform: translateY(-50%);
    color: rgba(214, 223, 232, 0.42);
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.rl-discipline-curve-scroll {
    width: 100%;
    min-width: 0;
    min-height: var(--rl-curve-height, 330px);
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.14) transparent;
    -webkit-overflow-scrolling: touch;
}

.rl-discipline-curve-scroll::-webkit-scrollbar {
    height: 5px;
}

.rl-discipline-curve-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.rl-discipline-curve-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.rl-discipline-curve svg {
    display: block;
    max-width: none;
    min-width: 0;
    min-height: 0;
}

.rl-capital-grid {
    stroke: rgba(255, 255, 255, 0.04);
    stroke-width: 1;
}

.rl-capital-axis-label,
.rl-capital-date-label {
    fill: rgba(214, 223, 232, 0.42);
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.rl-capital-axis-label {
    text-anchor: end;
}

.rl-capital-date-label {
    text-anchor: start;
}

.rl-capital-date-label.is-end {
    text-anchor: end;
}

.rl-capital-zero {
    stroke: rgba(255, 255, 255, 0.16);
    stroke-dasharray: 5 7;
    stroke-width: 1;
}

.rl-capital-segment {
    fill: none;
    stroke: rgba(214, 223, 232, 0.28);
    stroke-linecap: round;
    stroke-width: 3.25;
    vector-effect: non-scaling-stroke;
    transition: opacity 0.16s ease, stroke 0.16s ease;
}

.rl-capital-segment[data-kind="stable-profit"],
.rl-capital-segment[data-kind="stable-loss"] {
    stroke: rgba(130, 210, 197, 0.72);
}

.rl-capital-segment[data-kind="weak-profit"] {
    stroke: rgba(255, 209, 102, 0.66);
}

.rl-capital-segment[data-kind="weak-loss"],
.rl-capital-segment[data-kind="debt"] {
    stroke: rgba(229, 115, 115, 0.68);
}

.rl-capital-day-guide {
    stroke: rgba(214, 223, 232, 0.018);
    stroke-linecap: butt;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
    transition: stroke 0.16s ease, stroke-width 0.16s ease;
    pointer-events: none;
}

.rl-discipline-curve[data-impact-lens="reviewed"] .rl-capital-segment[data-reviewed="0"],
.rl-discipline-curve[data-impact-lens="reviewed"] .rl-capital-day-guide[data-reviewed="0"],
.rl-discipline-curve[data-impact-lens="reviewed"] .rl-capital-dot[data-reviewed="0"],
.rl-discipline-curve[data-impact-lens="debt"] .rl-capital-segment[data-debt="0"],
.rl-discipline-curve[data-impact-lens="debt"] .rl-capital-day-guide[data-debt="0"],
.rl-discipline-curve[data-impact-lens="debt"] .rl-capital-dot[data-debt="0"],
.rl-discipline-curve[data-impact-lens="ai"] .rl-capital-segment[data-ai="0"],
.rl-discipline-curve[data-impact-lens="ai"] .rl-capital-day-guide[data-ai="0"],
.rl-discipline-curve[data-impact-lens="ai"] .rl-capital-dot[data-ai="0"],
.rl-discipline-curve[data-impact-lens="rules"] .rl-capital-segment[data-rule="0"],
.rl-discipline-curve[data-impact-lens="rules"] .rl-capital-day-guide[data-rule="0"],
.rl-discipline-curve[data-impact-lens="rules"] .rl-capital-dot[data-rule="0"] {
    opacity: 0.18;
}

.rl-discipline-curve[data-impact-lens="reviewed"] .rl-capital-dot[data-reviewed="1"],
.rl-discipline-curve[data-impact-lens="debt"] .rl-capital-dot[data-debt="1"],
.rl-discipline-curve[data-impact-lens="ai"] .rl-capital-dot[data-ai="1"],
.rl-discipline-curve[data-impact-lens="rules"] .rl-capital-dot[data-rule="1"] {
    stroke: rgba(245, 245, 245, 0.82);
    stroke-width: 2;
}

.rl-capital-day-guide[data-kind="stable-profit"],
.rl-capital-day-guide[data-kind="stable-loss"] {
    stroke: rgba(130, 210, 197, 0.055);
    stroke-width: 2;
}

.rl-capital-day-guide[data-kind="weak-profit"] {
    stroke: rgba(255, 209, 102, 0.052);
    stroke-width: 2;
}

.rl-capital-day-guide[data-kind="weak-loss"],
.rl-capital-day-guide[data-kind="debt"] {
    stroke: rgba(229, 115, 115, 0.062);
    stroke-width: 2;
}

.rl-capital-day-guide:hover,
.rl-capital-day-guide:focus-visible,
.rl-capital-day-guide.is-selected {
    stroke: rgba(130, 210, 197, 0.18);
    stroke-width: 4;
}

.rl-capital-day-guide.is-selected[data-kind="weak-loss"],
.rl-capital-day-guide.is-selected[data-kind="debt"] {
    stroke: rgba(229, 115, 115, 0.2);
}

.rl-capital-day-hit {
    fill: rgba(255, 255, 255, 0.001);
    stroke: none;
    cursor: pointer;
    outline: none;
    pointer-events: all;
}

.rl-capital-day-hit:focus-visible {
    fill: rgba(130, 210, 197, 0.075);
}

.rl-capital-day-hit:hover,
.rl-capital-day-hit.is-selected {
    fill: rgba(130, 210, 197, 0.045);
}

.rl-capital-day-hit:focus-visible[data-kind="weak-loss"],
.rl-capital-day-hit:focus-visible[data-kind="debt"] {
    fill: rgba(229, 115, 115, 0.075);
}

.rl-capital-day-hit:hover[data-kind="weak-loss"],
.rl-capital-day-hit:hover[data-kind="debt"],
.rl-capital-day-hit.is-selected[data-kind="weak-loss"],
.rl-capital-day-hit.is-selected[data-kind="debt"] {
    fill: rgba(229, 115, 115, 0.045);
}

.rl-capital-dot {
    fill: rgba(214, 223, 232, 0.42);
    stroke: var(--rl-card);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
    transition: fill 0.16s ease, r 0.16s ease;
}

.rl-capital-hit {
    fill: transparent;
    cursor: pointer;
    outline: none;
}

.rl-capital-hit:focus-visible + .rl-capital-dot,
.rl-capital-hit.is-selected + .rl-capital-dot,
.rl-capital-dot.is-selected {
    stroke: rgba(245, 245, 245, 0.82);
    stroke-width: 2.25;
}

.rl-capital-dot[data-kind="stable-profit"],
.rl-capital-dot[data-kind="stable-loss"] {
    fill: rgba(130, 210, 197, 0.95);
}

.rl-capital-dot[data-kind="weak-profit"] {
    fill: rgba(255, 209, 102, 0.95);
}

.rl-capital-dot[data-kind="weak-loss"],
.rl-capital-dot[data-kind="debt"] {
    fill: rgba(229, 115, 115, 0.95);
}

.rl-discipline-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    min-width: 0;
    min-height: 100%;
    border-top: 0;
    background: rgba(255, 255, 255, 0.003);
}

.rl-discipline-legend {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    padding: 12px var(--rl-impact-x);
    border-right: 0;
    border-bottom: 1px solid var(--app-border-muted);
    color: var(--text-secondary);
    font-size: var(--pb-fs-caption);
    font-weight: 500;
    line-height: 1;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
}

.rl-discipline-legend::-webkit-scrollbar {
    display: none;
}

.rl-discipline-legend span {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
}

.rl-discipline-legend i {
    display: block;
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(214, 223, 232, 0.16);
}

.rl-discipline-legend i[data-kind="stable-profit"] {
    background: rgba(130, 210, 197, 0.7);
}

.rl-discipline-legend i[data-kind="weak-profit"] {
    background: rgba(255, 209, 102, 0.62);
}

.rl-discipline-legend i[data-kind="weak-loss"],
.rl-discipline-legend i[data-kind="debt"] {
    background: rgba(229, 115, 115, 0.66);
}

.rl-impact-selected {
    display: block;
    min-width: 0;
}

.rl-impact-selected .rl-day-recap,
.rl-impact-selected .rl-day-recap div {
    min-height: 0;
    padding: 0;
    border: 0;
}

.rl-day-recap {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
    min-height: 274px;
    padding: 18px var(--rl-impact-x) 20px !important;
}

.rl-day-recap.is-empty {
    grid-template-columns: 1fr;
    min-height: 180px;
}

.rl-day-recap-main,
.rl-day-recap-head {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 0 !important;
}

.rl-day-recap-head > div:first-child {
    display: grid !important;
    gap: 8px;
    min-width: 0;
}

.rl-day-recap-kicker,
.rl-day-timeline-head span,
.rl-day-event span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 740;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-day-recap h3 {
    margin: 0;
    color: var(--rl-text);
    font-size: 21px;
    font-weight: 760;
    line-height: 1.1;
}

.rl-day-recap-head p,
.rl-day-recap.is-empty p {
    max-width: 620px;
    margin: 0;
    color: rgba(245, 247, 250, 0.84);
    font-size: 14px;
    font-weight: 560;
    line-height: 1.48;
}

.rl-day-recap-outcome {
    display: grid !important;
    justify-items: end;
    gap: 7px;
    min-width: 0;
    text-align: right;
}

.rl-day-recap-outcome span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.018);
    color: rgba(214, 223, 232, 0.66);
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.rl-day-recap-outcome span[data-kind="stable-profit"],
.rl-day-recap-outcome span[data-kind="stable-loss"] {
    border-color: rgba(130, 210, 197, 0.16);
    background: rgba(130, 210, 197, 0.055);
    color: rgba(150, 226, 214, 0.86);
}

.rl-day-recap-outcome span[data-kind="weak-profit"] {
    border-color: rgba(255, 209, 102, 0.18);
    background: rgba(255, 209, 102, 0.055);
    color: rgba(242, 209, 129, 0.88);
}

.rl-day-recap-outcome span[data-kind="weak-loss"],
.rl-day-recap-outcome span[data-kind="debt"] {
    border-color: rgba(229, 115, 115, 0.18);
    background: rgba(229, 115, 115, 0.055);
    color: rgba(255, 157, 157, 0.88);
}

.rl-day-recap-outcome strong {
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.1;
    white-space: nowrap;
}

.rl-day-recap-outcome strong[data-tone="bad"] {
    color: var(--rl-danger);
}

.rl-day-recap-metrics {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    padding: 0 !important;
    border: 0;
}

.rl-day-recap-metrics div {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    min-height: 28px;
    padding: 0 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.018);
}

.rl-day-recap-metrics span {
    color: rgba(214, 223, 232, 0.48);
    font-size: 10px;
    font-weight: 740;
    letter-spacing: 0.09em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-day-recap-metrics strong {
    min-width: 0;
    overflow: hidden;
    color: rgba(245, 247, 250, 0.80);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-day-timeline {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-left: 0 !important;
}

.rl-day-timeline-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 2px;
}

.rl-day-timeline-head em {
    min-width: 0;
    overflow: hidden;
    color: rgba(214, 223, 232, 0.54);
    font-size: 12px;
    font-style: normal;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-day-event {
    position: relative;
    display: grid !important;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    padding: 8px 0 !important;
}

.rl-day-event > i {
    display: block;
    width: 7px;
    height: 7px;
    margin-top: 7px;
    border-radius: 999px;
    background: rgba(214, 223, 232, 0.36);
    box-shadow: none;
}

.rl-day-event[data-tone="good"] > i {
    background: rgba(130, 210, 197, 0.9);
}

.rl-day-event[data-tone="bad"] > i {
    background: rgba(229, 115, 115, 0.9);
}

.rl-day-event[data-tone="warn"] > i {
    background: rgba(255, 209, 102, 0.88);
}

.rl-day-event[data-tone="coach"] > i {
    background: rgba(174, 148, 255, 0.9);
}

.rl-day-event[data-tone="rule"] > i {
    background: rgba(130, 210, 197, 0.82);
}

.rl-day-event > div {
    display: grid !important;
    grid-template-columns: minmax(92px, 0.34fr) minmax(0, 1fr);
    gap: 4px 14px;
    min-width: 0;
}

.rl-day-event strong {
    min-width: 0;
    overflow: hidden;
    color: rgba(245, 247, 250, 0.88);
    font-size: 13.5px;
    font-weight: 680;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-day-event em {
    grid-column: 2;
    min-width: 0;
    overflow: hidden;
    color: rgba(214, 223, 232, 0.52);
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 960px) {
    .rl-day-recap {
        grid-template-columns: 1fr;
    }

    .rl-day-timeline {
        border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
        border-left: 0 !important;
    }

    .rl-day-event > div {
        grid-template-columns: 1fr;
    }

    .rl-day-event em {
        grid-column: auto;
    }
}

.rl-impact-selected > div {
    display: grid;
    align-content: center;
    min-width: 0;
    gap: 8px;
    min-height: 74px;
    padding: 14px var(--rl-impact-x) 15px;
    border-right: 1px solid var(--app-border-muted);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-impact-selected > div:nth-child(2n) {
    border-right: 0;
}

.rl-impact-selected > div:last-child {
    border-right: 0;
}

.rl-impact-selected > div > span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-impact-selected > div > strong {
    min-width: 0;
    overflow: hidden;
    color: var(--rl-text);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-impact-selected > div > strong[data-tone="good"] {
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
}

.rl-impact-selected > div > strong[data-tone="bad"] {
    color: var(--rl-danger);
    font-family: "DM Mono", monospace;
}

.rl-impact-selected > div > em {
    min-width: 0;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-impact-tooltip {
    position: fixed;
    z-index: 200;
    display: grid;
    gap: 6px;
    min-width: 170px;
    max-width: 260px;
    padding: 10px 12px;
    border: 1px solid var(--rl-border-hover);
    border-radius: var(--rl-radius-card);
    background: rgba(15, 15, 15, 0.96);
    color: var(--rl-text);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.48);
    pointer-events: none;
}

.rl-impact-tooltip[hidden] {
    display: none;
}

.rl-impact-tooltip strong {
    color: var(--rl-text);
    font-size: 13px;
    font-weight: 700;
}

.rl-impact-tooltip span,
.rl-impact-tooltip em {
    color: var(--rl-muted);
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.25;
}

.rl-impact-matrix {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 0;
    border-top: 1px solid var(--app-border-muted);
}

.rl-impact-quadrant {
    min-width: 0;
    padding: var(--rl-impact-y) var(--rl-impact-x) 19px;
    border-right: 1px solid var(--app-border-muted);
    border-bottom: 0;
    background: transparent;
}

.rl-impact-quadrant:last-child {
    border-right: 0;
}

.rl-impact-quadrant span,
.rl-impact-quadrant strong,
.rl-impact-quadrant em,
.rl-impact-quadrant small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rl-impact-quadrant span {
    color: rgba(214, 223, 232, 0.58);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.rl-impact-quadrant strong {
    margin-top: 12px;
    color: var(--rl-text);
    font-size: var(--pb-fs-metric);
    font-weight: 700;
    line-height: 1.06;
}

.rl-impact-quadrant em {
    margin-top: 8px;
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-style: normal;
    line-height: 1.5;
}

.rl-impact-quadrant small {
    margin-top: 14px;
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 600;
    line-height: 1.25;
}

.rl-impact-quadrant.is-good strong,
.rl-impact-quadrant.is-neutral small {
    color: var(--rl-accent);
}

.rl-impact-quadrant.is-warning strong {
    color: #ffd166;
}

.rl-impact-quadrant.is-bad strong,
.rl-impact-quadrant.is-bad small {
    color: var(--rl-danger);
}

.rl-impact-quadrant.is-warning {
    background: rgba(255, 209, 102, 0.025);
}

.rl-impact-quadrant.is-bad {
    background: rgba(229, 115, 115, 0.025);
}

.rl-impact-window-note {
    padding: 15px var(--rl-impact-x) 16px;
    border-top: 1px solid var(--app-border-muted);
    color: var(--text-secondary);
    font-size: var(--pb-fs-body-sm);
    font-weight: 500;
    line-height: 1.5;
}

.rl-impact-empty {
    display: flex;
    min-height: 160px;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    line-height: 1.55;
    text-align: center;
}

.rl-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 18px 20px;
}

.rl-card.rl-review-workspace {
    --rl-workspace-x: 24px;
    --rl-workspace-y: 20px;
    padding: 0;
    overflow: hidden;
}

.rl-card.rl-review-workspace > .rl-card-head {
    margin: 0;
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-card.rl-review-workspace .rl-card-head h2,
.rl-card.rl-review-workspace .rl-subsection-head h3,
.rl-card.rl-review-workspace .rl-review-queue-head strong,
.rl-card.rl-review-workspace .rl-coach-read-head strong {
    font-size: var(--journal-fs-card-title);
    font-weight: 680;
    letter-spacing: 0;
}

.rl-card.rl-impact {
    --rl-impact-x: 24px;
    --rl-impact-y: 20px;
    padding: 0;
    overflow: hidden;
}

.rl-card.rl-impact > .rl-card-head {
    margin: 0;
    padding: var(--rl-impact-y) var(--rl-impact-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-card--compact {
    gap: 12px;
}

.rl-card--compact .rl-card-head {
    margin-bottom: 0;
}

.rl-card--compact .rl-setting {
    min-height: 58px;
    padding: 12px 14px;
}

.rl-card--compact .rl-source-note {
    padding: 12px 14px;
}

.rl-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.rl-card h2 {
    font-size: var(--journal-fs-card-title);
}

.rl-card-head svg,
.rl-card-head i {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    color: rgba(214, 223, 232, 0.6);
    opacity: 0.42;
}

.rl-session-state {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    margin-top: 20px;
    border: 0;
    border-top: 1px solid var(--app-border-muted);
    border-radius: 0;
    background: transparent;
}

.rl-session-state div {
    display: grid;
    align-content: end;
    min-width: 0;
    gap: 7px;
    min-height: 76px;
    padding: 16px var(--rl-command-cell-x) 15px;
    border-right: 1px solid var(--rl-border-hairline);
    background: transparent;
}

.rl-session-state div:last-child {
    border-right: 0;
}

.rl-session-state--center {
    width: calc(100% + (var(--rl-command-cell-x) * 2));
    margin: 22px calc(var(--rl-command-cell-x) * -1) 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rl-session-state--center .playbook-console-fact:nth-child(1),
.rl-session-state--center .playbook-console-fact:nth-child(2),
.rl-session-state--center .playbook-console-fact:nth-child(3),
.rl-session-state--center .playbook-console-fact:nth-child(4) {
    grid-column: span 1;
}

.rl-session-state strong {
    min-width: 0;
    overflow: hidden;
    color: var(--rl-accent);
    font-family: "DM Mono", monospace;
    font-size: 26px;
    font-weight: 680;
    letter-spacing: -0.04em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-mini-list,
.rl-history {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rl-review-history-panel .rl-subsection-head {
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-empty,
.rl-mini-trade,
.rl-history-item,
.rl-review-queue,
.rl-coach-read {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rl-empty {
    padding: 16px 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    line-height: 1.6;
}

.rl-history > .rl-empty {
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
}

.rl-mini-trade,
.rl-history-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--rl-border-hairline);
    border-radius: var(--pb-radius);
}

.rl-mini-trade div,
.rl-history-item div {
    min-width: 0;
}

.rl-mini-trade strong,
.rl-mini-trade span,
.rl-history-item strong,
.rl-history-item span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-mini-trade strong,
.rl-history-item strong {
    color: var(--rl-text);
    font-size: 14px;
    font-weight: 700;
}

.rl-mini-trade span,
.rl-history-item span {
    margin-top: 4px;
    color: var(--rl-muted);
    font-size: 12.5px;
}

.rl-history-read {
    display: -webkit-box;
    margin: 9px 0 0;
    overflow: hidden;
    color: var(--rl-muted);
    font-size: 13px;
    line-height: 1.4;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.rl-day {
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid var(--app-border-muted);
    border-radius: 0;
    background: transparent;
}

.rl-day.is-weak {
    box-shadow: inset 2px 0 0 rgba(255, 107, 107, 0.22);
}

.rl-day.is-dataset {
    border-bottom-style: dashed;
}

.rl-day summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
}

.rl-day summary::-webkit-details-marker {
    display: none;
}

.rl-day summary div {
    min-width: 0;
}

.rl-day summary strong,
.rl-day summary span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-day summary strong {
    color: var(--rl-text);
    font-size: 14px;
    font-weight: 700;
}

.rl-day summary span {
    margin-top: 4px;
    color: var(--rl-muted);
    font-size: 13px;
}

.rl-day summary em,
.rl-day summary b {
    font-family: "DM Mono", monospace;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.rl-day summary em[data-tone="good"],
.rl-day summary b[data-tone="good"] {
    color: var(--rl-accent);
}

.rl-day summary em[data-tone="bad"],
.rl-day summary b[data-tone="bad"] {
    color: var(--rl-danger);
}

.rl-day summary svg,
.rl-day summary i {
    width: 14px;
    height: 14px;
    color: var(--rl-faint);
    transition: transform 0.16s ease;
}

.rl-day[open] summary {
    border-bottom: 1px solid var(--rl-border-hairline);
}

.rl-day[open] summary svg,
.rl-day[open] summary i {
    transform: rotate(180deg);
}

.rl-day-ledger {
    display: flex;
    flex-direction: column;
    padding: 0 20px 16px;
}

.rl-day-ledger-row,
.rl-day-ledger-metrics {
    min-width: 0;
    border-top: 1px solid var(--rl-border-hairline);
}

.rl-day-ledger-row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 16px;
    align-items: baseline;
    padding: 13px 0;
}

.rl-day-ledger-row--rule {
    border-top: 0;
}

.rl-day-ledger-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rl-day-ledger-metrics > div {
    min-width: 0;
    padding: 13px 16px 13px 0;
}

.rl-day-ledger-metrics > div + div {
    padding-left: 16px;
    border-left: 1px solid var(--rl-border-hairline);
}

.rl-day-ledger-row span,
.rl-day-ledger-metrics span {
    display: block;
    color: var(--rl-faint);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-day-ledger-row strong,
.rl-day-ledger-metrics strong {
    display: block;
    color: var(--rl-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

.rl-day-ledger-metrics strong {
    margin-top: 8px;
}

.rl-day-ledger-row p,
.rl-day-ledger-metrics p {
    margin: 0;
    color: var(--rl-muted);
    font-size: 14px;
    line-height: 1.45;
}

.rl-day-ledger-metrics p {
    margin-top: 6px;
}

.rl-day-ledger-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    padding: 12px 0;
    border-top: 1px solid var(--rl-border-hairline);
}

.rl-day-ledger-inline span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--rl-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
}

.rl-day-ledger-row--note {
    align-items: start;
}

.rl-mini-trade em,
.rl-history-item em {
    flex: 0 0 auto;
    color: var(--rl-accent);
    font: normal 700 13px/1 "DM Mono", monospace;
}

.rl-mini-trade em[data-tone="bad"],
.rl-history-item em[data-tone="bad"] {
    color: var(--rl-danger);
}

.rl-review-queue {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-review-queue-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.rl-review-queue-head div {
    min-width: 0;
}

.rl-review-queue-head strong {
    display: block;
    margin-top: 8px;
    overflow: hidden;
    color: var(--rl-text);
    font-size: var(--pb-fs-card-title);
    font-weight: 700;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-review-queue-head > div > span {
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-review-queue-head .app-action-btn {
    flex: 0 0 auto;
    min-height: 42px;
    padding-inline: 14px;
    font-size: var(--pb-fs-meta);
}

.rl-review-queue-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rl-review-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--rl-border-hairline);
    border-radius: var(--pb-radius);
    background: rgba(255, 255, 255, 0.015);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.16s ease, background 0.16s ease;
}

.rl-review-item:hover {
    border-color: rgba(77, 171, 154, 0.24);
    background: rgba(77, 171, 154, 0.045);
}

.rl-review-item div {
    min-width: 0;
}

.rl-review-item strong,
.rl-review-item span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-review-item strong {
    color: var(--rl-text);
    font-size: 14px;
    font-weight: 700;
}

.rl-review-item span {
    margin-top: 4px;
    color: var(--rl-muted);
    font-size: 12.5px;
}

.rl-review-item em {
    color: var(--rl-accent);
    font: normal 700 13px/1 "DM Mono", monospace;
}

.rl-review-item em[data-tone="bad"] {
    color: var(--rl-danger);
}

.rl-review-item svg,
.rl-review-item i {
    width: 13px;
    height: 13px;
    color: rgba(214, 223, 232, 0.56);
}

.rl-chart-plans {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-chart-plans[hidden] {
    display: none;
}

.rl-chart-plans-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 14px;
}

.rl-chart-plans-head span {
    display: block;
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-chart-plans-head strong {
    display: block;
    margin-top: 8px;
    color: var(--rl-text);
    font-size: var(--pb-fs-card-title);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.rl-chart-plans-head p {
    max-width: 720px;
    margin: 6px 0 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    line-height: 1.5;
}

.rl-chart-plans-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rl-chart-plan-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 0.45fr) auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--rl-border-hairline);
    border-radius: var(--pb-radius);
    background: rgba(255, 255, 255, 0.012);
}

.rl-chart-plan-item[data-state="matched"] {
    border-color: rgba(77, 171, 154, 0.2);
    background: rgba(77, 171, 154, 0.03);
}

.rl-chart-plan-main {
    min-width: 0;
}

.rl-chart-plan-symbol {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.rl-chart-plan-symbol svg,
.rl-chart-plan-symbol i {
    width: 17px;
    height: 17px;
    color: rgba(139, 217, 201, 0.74);
}

.rl-chart-plan-symbol strong,
.rl-chart-plan-symbol span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-chart-plan-symbol strong {
    color: var(--rl-text);
    font-size: 14px;
    font-weight: 700;
}

.rl-chart-plan-symbol span {
    margin-top: 3px;
    color: var(--rl-muted);
    font-size: 12.5px;
}

.rl-chart-plan-prices {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.rl-chart-plan-prices span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 23px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    color: rgba(214, 223, 232, 0.76);
    font: normal 700 11px/1 "DM Mono", monospace;
}

.rl-chart-plan-prices b {
    color: var(--rl-faint);
    font: inherit;
    text-transform: uppercase;
}

.rl-chart-plan-main p {
    margin: 9px 0 0;
    overflow: hidden;
    color: var(--rl-muted);
    font-size: 12.5px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-chart-plan-match,
.rl-chart-plan-wait {
    min-width: 0;
    padding-left: 12px;
    border-left: 1px solid var(--rl-border-hairline);
}

.rl-chart-plan-match span,
.rl-chart-plan-wait span {
    display: block;
    color: var(--rl-faint);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-chart-plan-match strong {
    display: block;
    margin-top: 6px;
    overflow: hidden;
    color: var(--rl-text);
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-chart-plan-match em {
    display: block;
    margin-top: 5px;
    color: var(--rl-accent);
    font: normal 700 12px/1 "DM Mono", monospace;
}

.rl-chart-plan-match em[data-tone="bad"] {
    color: var(--rl-danger);
}

.rl-chart-plan-wait {
    color: var(--rl-muted);
}

.rl-chart-plan-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.rl-chart-plan-actions .app-action-btn,
.rl-chart-plan-link {
    min-height: 38px;
    padding-inline: 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

.rl-chart-plan-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rl-border-hairline);
    color: rgba(139, 217, 201, 0.86);
    text-decoration: none;
}

.rl-chart-plans-more {
    color: var(--rl-muted);
    font-size: 12px;
    font-weight: 700;
}

.rl-controls-drawer {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rl-controls-drawer summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px var(--rl-workspace-x);
    color: var(--rl-faint);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    list-style: none;
    text-transform: uppercase;
}

.rl-controls-drawer summary::-webkit-details-marker {
    display: none;
}

.rl-controls-drawer summary svg,
.rl-controls-drawer summary i {
    width: 15px;
    height: 15px;
    color: rgba(214, 223, 232, 0.6);
    opacity: 0.48;
}

.rl-controls-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 var(--rl-workspace-x) var(--rl-workspace-y);
}

.rl-rule-box {
    display: flex;
    flex-direction: column;
    gap: 9px;
    min-width: 0;
    padding: 16px var(--rl-command-cell-x);
    border-right: 1px solid var(--rl-border-hairline);
    background: transparent;
}

.rl-rule-box:last-child {
    border-right: 0;
}

.rl-rule-box p {
    margin: 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    font-weight: 500;
    line-height: 1.5;
}

.rl-coach-read {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: var(--rl-workspace-y) var(--rl-workspace-x);
    border-bottom: 0;
}

.rl-coach-read-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.rl-coach-read-head div {
    min-width: 0;
}

.rl-coach-read-head > div > span {
    display: block;
    color: var(--rl-faint);
    font-size: var(--pb-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.rl-coach-read-head strong {
    display: block;
    min-width: 0;
    margin-top: 8px;
    overflow: hidden;
    color: var(--rl-text);
    font-size: var(--pb-fs-card-title);
    font-weight: 700;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rl-coach-read-head .app-action-btn {
    flex: 0 0 auto;
    min-height: 42px;
    padding-inline: 14px;
    font-size: var(--pb-fs-meta);
    font-weight: 600;
}

.rl-coach-read-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.rl-coach-read p {
    margin: 0;
    color: var(--rl-muted);
    font-size: var(--pb-fs-body-sm);
    line-height: 1.6;
}

.rl-coach-scope {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.rl-coach-scope span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid rgba(118, 98, 206, 0.14);
    border-radius: 999px;
    background: rgba(39, 32, 70, 0.09);
    color: rgba(199, 188, 242, 0.72);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.rl-coach-read-actions .rl-coach-read-refresh {
    border-color: rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.025);
    color: var(--rl-muted);
    box-shadow: none;
}

.rl-coach-read-actions .rl-coach-read-refresh:hover,
.rl-coach-read-actions .rl-coach-read-refresh:focus-visible {
    border-color: rgba(118, 98, 206, 0.28);
    background: rgba(39, 32, 70, 0.18);
    color: #d8cff8;
}

.rl-coach-read-actions .rl-coach-read-refresh svg,
.rl-coach-read-actions .rl-coach-read-refresh i {
    color: var(--rl-muted);
}

.rl-coach-read-actions .rl-coach-read-refresh:hover svg,
.rl-coach-read-actions .rl-coach-read-refresh:hover i,
.rl-coach-read-actions .rl-coach-read-refresh:focus-visible svg,
.rl-coach-read-actions .rl-coach-read-refresh:focus-visible i {
    color: #d8cff8;
}

.rl-coach-verdict {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--rl-border-hairline);
    border-radius: var(--pb-radius);
    background: rgba(255, 255, 255, 0.012);
}

.rl-coach-verdict[hidden] {
    display: none;
}

.rl-coach-verdict div {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: start;
    min-width: 0;
    padding: 14px 12px;
    border-right: 1px solid var(--rl-border-hairline);
    border-bottom: 1px solid var(--rl-border-hairline);
}

.rl-coach-verdict div:nth-child(2n) {
    border-right: 0;
}

.rl-coach-verdict div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.rl-coach-verdict span {
    color: var(--rl-faint);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.rl-coach-verdict strong {
    display: -webkit-box;
    margin-top: 0;
    overflow: hidden;
    color: var(--rl-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.rl-coach-read[data-state="loading"] {
    border-color: rgba(77, 171, 154, 0.22);
}

.rl-coach-read[data-state="error"] {
    border-color: rgba(255, 107, 107, 0.22);
}

.rl-coach-read[data-state="ready"] p {
    color: var(--rl-text);
}

.rl-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 74px;
    padding: 14px;
    border: 1px solid var(--rl-border-hairline);
    border-radius: var(--pb-radius);
    background: var(--rl-card);
}

.rl-source-note {
    min-height: 0;
    padding: 14px;
    border: 1px solid rgba(77, 171, 154, 0.16);
    border-radius: var(--rl-radius-card);
    background: rgba(77, 171, 154, 0.035);
}

.rl-setting span {
    min-width: 0;
}

.rl-setting strong,
.rl-setting em {
    display: block;
}

.rl-setting strong {
    color: var(--rl-text);
    font-size: 14px;
    font-weight: 650;
}

.rl-setting em {
    margin-top: 4px;
    color: var(--rl-muted);
    font-size: 13px;
    font-style: normal;
    line-height: 1.35;
}

.rl-setting input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    accent-color: var(--rl-accent);
}

/* Journal-aligned Daily Review layout. */
.review-loop-page {
    --rl-surface: var(--app-surface-card);
    --rl-card: var(--app-surface-card);
    --rl-control: var(--app-surface-control);
    --rl-radius-section: var(--app-radius-section);
    --rl-radius-card: 8px;
}

.review-loop-layout {
    gap: 0;
}

.review-loop-layout > .review-loop-shell {
    margin-top: 0 !important;
}

.review-loop-shell {
    gap: 18px;
}

.rl-command.playbook-card,
.rl-command.playbook-console-card {
    position: relative;
    isolation: isolate;
    margin: 0;
    padding: 18px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.rl-command.playbook-card::before,
.rl-command.playbook-card::after {
    content: "";
    position: absolute;
    left: -100vmax;
    right: -100vmax;
    pointer-events: none;
}

.rl-command.playbook-card::before {
    top: 0;
    bottom: 0;
    z-index: 0;
    background: var(--rl-band-bg);
}

.rl-command.playbook-card::after {
    bottom: 0;
    z-index: 1;
    height: 1px;
    background: var(--glass-border, var(--app-border-muted));
}

.rl-command.playbook-card > * {
    position: relative;
    z-index: 2;
}

.rl-command .playbook-console-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 0 16px;
    border: 0;
    background: transparent;
}

.rl-command .playbook-console-label,
.rl-command .playbook-console-caption {
    justify-self: auto;
    text-align: left;
}

.rl-command .playbook-console-grid {
    display: grid;
    gap: 0;
}

.rl-command-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-command-head > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.rl-command-head h2 {
    margin: 0;
    color: var(--rl-text);
    font-size: 22px;
    font-weight: 720;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.rl-command-head p:not(.rl-kicker) {
    max-width: 72ch;
    margin: 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.5;
}

.rl-command-main {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
    gap: 12px 28px;
    padding: 20px 0 0;
}

.rl-command-title {
    font-size: clamp(32px, 2.6vw, 44px);
    letter-spacing: -0.05em;
    line-height: 0.98;
}

.rl-command-copy {
    max-width: 58ch;
    font-size: 14px;
    line-height: 1.55;
}

.rl-command-main .rl-next-action {
    min-height: 126px;
    padding: 16px;
    border-color: var(--app-border-soft);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.014);
}

.rl-session-state--center {
    width: 100%;
    margin: 0;
    border-top: 0;
    border-bottom: 1px solid var(--app-border-muted);
}

.rl-session-state div {
    min-height: 64px;
    padding: 13px 16px 12px;
}

.rl-session-state .playbook-console-fact:first-child,
.rl-rule-stack .rl-rule-box:first-child {
    padding-left: 0;
}

.rl-session-state strong {
    font-size: 22px;
}

.rl-command-table {
    margin-top: 0;
    border-top: 0;
}

.rl-loop-timeline {
    display: none;
}

.rl-rule-stack {
    border-top: 0;
}

.rl-rule-stack--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rl-rule-stack--three .rl-rule-box {
    grid-column: auto;
}

.rl-loop-step,
.rl-rule-box {
    padding-right: 16px;
    padding-left: 16px;
}

.rl-data-contract {
    display: none;
}

.rl-review-workspace,
.rl-impact {
    border-color: var(--app-border-soft);
    background: var(--app-surface-card);
}

.rl-card.rl-review-workspace,
.rl-card.rl-impact {
    border-radius: 8px;
}

.rl-card.rl-review-workspace > .rl-card-head,
.rl-card.rl-impact > .rl-card-head,
.rl-review-queue,
.rl-chart-plans,
.rl-coach-read,
.rl-review-history-panel .rl-subsection-head {
    padding-right: 20px;
    padding-left: 20px;
}

.rl-card.rl-review-workspace .rl-card-head h2,
.rl-card.rl-review-workspace .rl-subsection-head h3,
.rl-card.rl-review-workspace .rl-review-queue-head strong,
.rl-card.rl-review-workspace .rl-chart-plans-head strong,
.rl-card.rl-review-workspace .rl-coach-read-head strong {
    font-size: 18px;
    letter-spacing: -0.025em;
}

.rl-review-history-panel {
    background: rgba(255, 255, 255, 0.004);
}

.rl-controls-drawer {
    display: none;
}

@media (max-width: 1390px) {
    body.review-loop-page.has-sidebar main.app-page-layout {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .review-loop-header {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 16px;
    }

    .review-loop-title-group {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }

    .review-loop-toolbar.app-toolbar {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr)) 46px;
        width: 100%;
        justify-content: stretch;
        margin-left: 0;
        gap: 10px;
    }

    .review-loop-toolbar .app-action-btn {
        min-height: 46px;
        width: 100%;
        justify-content: center;
    }

    .review-loop-toolbar .creator-mode-toggle {
        width: 46px;
        min-width: 46px;
        justify-self: end;
    }

    .rl-command {
        grid-template-columns: 1fr;
    }

    .rl-command-side {
        border-left: 0;
        border-top: 1px solid var(--rl-border);
    }
}

@media (max-width: 980px) {
    .review-loop-shell {
        padding: 0;
    }

    .rl-overview-grid {
        display: block;
    }

    .rl-review-workspace-grid {
        grid-template-columns: 1fr;
    }

    .rl-review-primary {
        border-right: 0;
        border-bottom: 1px solid var(--rl-border-hairline);
    }

    .rl-review-history-panel {
        background: transparent;
    }

    .rl-session-state--center {
        width: 100%;
        margin: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rl-session-state--center .playbook-console-fact,
    .rl-session-state--center .playbook-console-fact:nth-child(1),
    .rl-session-state--center .playbook-console-fact:nth-child(2),
    .rl-session-state--center .playbook-console-fact:nth-child(3),
    .rl-session-state--center .playbook-console-fact:nth-child(4) {
        grid-column: auto;
    }

    .rl-session-state--center div:nth-child(2) {
        border-right: 0;
    }

    .rl-rule-stack,
    .rl-data-contract div {
        grid-template-columns: 1fr;
    }

    .rl-rule-stack--three .rl-rule-box {
        grid-column: auto;
    }

    .rl-loop-timeline {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rl-loop-step {
        border-bottom: 1px solid var(--rl-border);
    }

    .rl-loop-step:nth-child(3n) {
        border-right: 0;
    }

    .rl-loop-step:nth-last-child(-n + 3) {
        border-bottom: 0;
    }

    .rl-loop-step:last-child {
        border-bottom: 0;
    }

    .rl-data-contract p {
        border-right: 0;
        border-bottom: 1px solid var(--rl-border);
    }

    .rl-data-contract p:last-child {
        border-bottom: 0;
    }

    .rl-impact-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rl-impact-summary div {
        border-bottom: 1px solid var(--app-border-muted);
    }

    .rl-impact-summary div:nth-child(2n) {
        border-right: 0;
    }

    .rl-impact-summary div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .rl-impact-summary div:last-child {
        border-right: 0;
        border-bottom: 0;
    }

    .rl-discipline-map {
        grid-template-columns: 1fr;
    }

    .rl-discipline-lower {
        grid-template-columns: 1fr;
    }

    .rl-discipline-calendar-panel {
        border-right: 0;
        border-bottom: 1px solid var(--app-border-muted);
    }

    .rl-discipline-curve-scroll {
        min-height: 270px;
    }

    .rl-discipline-footer {
        grid-template-columns: 1fr;
    }

    .rl-discipline-legend {
        border-right: 0;
        border-bottom: 1px solid var(--app-border-muted);
    }

    .rl-impact-selected {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.rl-impact-selected > div:nth-child(2n) {
    border-right: 0;
}

.rl-impact-selected > div:nth-child(n + 3) {
    border-top: 1px solid var(--app-border-muted);
}

.rl-impact-selected > div:last-child {
    border-right: 0;
}

    .rl-impact-selected > div:nth-last-child(-n + 2) {
        border-top: 1px solid var(--app-border-muted);
    }

    .rl-impact-matrix {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rl-impact-quadrant:nth-child(2n) {
        border-right: 0;
    }

    .rl-impact-quadrant:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .rl-impact-quadrant {
        border-bottom: 1px solid var(--app-border-muted);
    }

}

@media (max-width: 767px) {
    html,
    body.review-loop-page {
        min-height: 100dvh;
        overflow-x: hidden;
        background: var(--rl-bg);
    }

    body.review-loop-page.has-sidebar main.app-page-layout,
    body.review-loop-page main.review-loop-layout {
        width: 100%;
        max-width: none;
        min-height: 100dvh;
        min-width: 0;
        margin: 0;
        padding: calc(14px + env(safe-area-inset-top)) 10px calc(84px + env(safe-area-inset-bottom)) !important;
        gap: 6px;
        overflow-x: clip;
    }

    .review-loop-header {
        gap: 9px;
    }

    .review-loop-title-group {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 42px;
        justify-content: center;
        gap: 7px;
        margin-bottom: 10px;
    }

    body.review-loop-page.has-sidebar .review-loop-title-group {
        padding-left: 54px;
    }

    .review-loop-header .app-page-title {
        max-width: none;
        font-size: clamp(23px, 6.5vw, 28px);
        line-height: 0.98;
        letter-spacing: 0;
    }

    .review-loop-status-bar .app-status-meta {
        display: flex;
        flex-wrap: nowrap !important;
        gap: 8px;
        width: max-content;
        min-width: 100%;
        max-width: none;
        padding: 0 10px 1px 0;
    }

    .review-loop-status-bar .app-status-copy {
        flex: 0 0 auto;
        width: max-content;
        max-width: none;
        gap: 6px;
    }

    .review-loop-status-bar .app-status-kicker {
        flex: 0 0 auto;
        font-size: 10px;
    }

    .review-loop-status-bar .app-status-chip {
        flex: 0 0 auto;
        max-width: 72vw;
        min-height: 23px;
        padding-inline: 8px;
        font-size: 12px;
    }

    .review-loop-toolbar.app-toolbar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .review-loop-toolbar .app-action-btn {
        min-height: 44px;
        width: 100%;
        justify-content: center;
        border-radius: 10px;
        padding-inline: 12px;
        font-size: 14px;
    }

    .review-loop-toolbar .app-action-btn:first-child {
        grid-column: 1 / -1;
    }

    .review-loop-toolbar .creator-mode-toggle {
        width: 100%;
        min-width: 0;
    }

    .rl-card {
        padding: 15px;
    }

    .rl-card.rl-review-workspace {
        --rl-workspace-x: 14px;
        --rl-workspace-y: 15px;
        padding: 0;
    }

    .rl-card.rl-impact {
        --rl-impact-x: 14px;
        --rl-impact-y: 15px;
        padding: 0;
    }

    .rl-command {
        --rl-command-cell-x: 12px;
        padding: 0;
    }

    .rl-command-head {
        padding: 14px 0 13px;
    }

    .rl-command-head h2 {
        font-size: 19px;
        letter-spacing: -0.025em;
    }

    .rl-command-head p:not(.rl-kicker) {
        font-size: 13px;
    }

    .rl-command .playbook-console-topbar {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: start;
        gap: 7px;
        padding: 12px;
    }

    .rl-command .playbook-console-label,
    .rl-command .playbook-console-caption {
        justify-self: start;
        width: 100%;
        text-align: left;
    }

    .rl-command .playbook-console-caption {
        font-size: 10px;
        line-height: 1.35;
        letter-spacing: 0.14em;
    }

    .rl-today-center {
        gap: 0;
    }

    .rl-loop-timeline {
        grid-template-columns: 1fr;
    }

    .rl-loop-step {
        display: none;
    }

    .rl-loop-step.is-mobile-key {
        display: block;
    }

    .rl-loop-step,
    .rl-loop-step:nth-child(3n),
    .rl-loop-step:nth-last-child(-n + 3) {
        border-right: 0;
        border-bottom: 1px solid var(--rl-border);
    }

    .rl-loop-step:last-child {
        border-bottom: 0;
    }

    .rl-command-main {
        display: flex;
        flex-direction: column;
        gap: 9px;
        padding: 12px 12px 0;
    }

    .rl-command-main .rl-session-state--center {
        width: 100%;
        margin: 0;
    }

    .rl-review-primary,
    .rl-review-history-panel {
        padding: 0;
    }

    .rl-coach-verdict div {
        gap: 7px;
        border-right: 0;
        border-bottom: 1px solid var(--rl-border-hairline);
    }

    .rl-coach-verdict div:nth-last-child(-n + 2) {
        border-bottom: 1px solid var(--rl-border-hairline);
    }

    .rl-coach-verdict div:last-child {
        border-bottom: 0;
    }

    .rl-today-center .rl-card-head i,
    .rl-today-center .rl-card-head svg {
        width: 16px;
        height: 16px;
    }

    .review-loop-shell {
        gap: 12px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
    }

    .rl-impact-chart,
    .rl-impact-empty {
        min-height: 0;
    }

    .rl-impact-matrix {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .rl-discipline-calendar-scroll {
        padding: 0 14px 16px;
    }

    .rl-discipline-board {
        --rl-discipline-cell: 38px;
        --rl-discipline-gap: 7px;
        --rl-discipline-weekday-col: 38px;
    }

    .rl-discipline-curve {
        padding: 15px var(--rl-impact-x) 0;
    }

    .rl-discipline-curve-head {
        grid-template-columns: minmax(0, 1fr) max-content;
        gap: 10px 12px;
        align-items: end;
        margin-bottom: 10px;
    }

    .rl-discipline-curve-head div:first-child {
        gap: 6px;
    }

    .rl-discipline-curve-head span {
        font-size: 10.5px;
        letter-spacing: 0.08em;
        line-height: 1.05;
        white-space: nowrap;
    }

    .rl-discipline-curve-head em {
        font-size: 13px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .rl-impact-lenses {
        box-sizing: border-box;
        grid-column: 1 / -1;
        justify-content: flex-start;
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .rl-impact-lenses::-webkit-scrollbar {
        display: none;
    }

    .rl-impact-lenses button {
        flex: 0 0 auto;
    }

    .rl-impact-summary {
        grid-template-columns: 1fr;
    }

    .rl-impact-summary div,
    .rl-impact-summary div:nth-child(2n),
    .rl-impact-summary div:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid var(--app-border-muted);
    }

    .rl-impact-summary div:last-child {
        border-bottom: 0;
    }

    .rl-discipline-curve-body {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .rl-discipline-curve-head strong {
        font-size: 19px;
        align-self: start;
    }

    .rl-impact-selected {
        grid-template-columns: 1fr;
    }

    .rl-impact-selected > div,
    .rl-impact-selected > div:nth-child(2n),
    .rl-impact-selected > div:nth-last-child(-n + 2) {
        min-height: 66px;
        border-right: 0;
        border-top: 1px solid var(--app-border-muted);
    }

    .rl-impact-selected > div:first-child {
        border-top: 0;
    }

    .rl-impact-quadrant,
    .rl-impact-quadrant:nth-child(2n),
    .rl-impact-quadrant:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid var(--app-border-muted);
    }

    .rl-impact-quadrant:last-child {
        border-bottom: 0;
    }

    .rl-command-main .rl-next-action {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px 10px;
        margin-top: 0;
        padding: 11px;
        border: 1px solid var(--rl-border-hairline);
        border-radius: 8px;
    }

    .rl-next-action .app-action-btn {
        grid-column: 2;
        grid-row: 1 / span 3;
        width: auto;
        min-height: 40px;
        justify-content: center;
        padding-inline: 12px;
    }

    .rl-command-title {
        font-size: clamp(31px, 10.4vw, 38px);
        letter-spacing: -0.055em;
        line-height: 0.94;
    }

    .rl-command-head h2 {
        font-size: 19px;
        letter-spacing: -0.025em;
        line-height: 1.08;
    }

    .rl-command-copy {
        display: none;
    }

    .rl-command-score strong {
        font-size: 26px;
    }

    .rl-command-score {
        padding: 14px;
    }

    .rl-coach-read-head {
        align-items: stretch;
        flex-direction: column;
    }

    .rl-review-queue-head {
        align-items: stretch;
        flex-direction: column;
    }

    .rl-review-queue-head .app-action-btn {
        width: 100%;
        justify-content: center;
    }

    .rl-chart-plan-item {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .rl-chart-plan-match,
    .rl-chart-plan-wait {
        padding-left: 0;
        padding-top: 10px;
        border-left: 0;
        border-top: 1px solid var(--rl-border-hairline);
    }

    .rl-chart-plan-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .rl-chart-plan-actions .app-action-btn,
    .rl-chart-plan-link {
        width: 100%;
        justify-content: center;
    }

    .rl-coach-read-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .rl-coach-read-head .app-action-btn {
        width: 100%;
        justify-content: center;
    }

    .rl-coach-verdict {
        grid-template-columns: 1fr;
    }

    .rl-session-state,
    .rl-session-state--center {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rl-session-state--center .playbook-console-fact,
    .rl-session-state--center .playbook-console-fact:nth-child(1),
    .rl-session-state--center .playbook-console-fact:nth-child(2),
    .rl-session-state--center .playbook-console-fact:nth-child(3),
    .rl-session-state--center .playbook-console-fact:nth-child(4) {
        grid-column: auto;
    }

    .rl-session-state div {
        padding: 11px 12px;
    }

    .rl-session-state div:nth-child(odd) {
        border-right: 1px solid var(--rl-border);
    }

    .rl-session-state div:nth-child(even) {
        border-right: 0;
    }

    .rl-session-state div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .rl-rule-stack {
        gap: 8px;
    }

    .rl-rule-box {
        padding: 12px;
    }

    .rl-rule-box p {
        font-size: var(--pb-fs-body-sm);
        line-height: 1.5;
    }

    .rl-data-contract {
        display: none;
    }

    .rl-day summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }

    .rl-day summary b {
        grid-column: 2;
        grid-row: 2;
    }

    .rl-day summary svg,
    .rl-day summary i {
        grid-column: 2;
        grid-row: 1;
    }

    .rl-day-ledger-row,
    .rl-day-ledger-metrics {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .rl-day-ledger-metrics > div {
        padding: 13px 0;
    }

    .rl-day-ledger-metrics > div + div {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--rl-border-hairline);
    }

    .rl-day-ledger-inline {
        gap: 7px;
    }

    .rl-session-state div {
        border-right: 0;
        border-bottom: 1px solid var(--rl-border);
    }

    .rl-session-state div:last-child {
        border-bottom: 0;
    }

    .rl-session-state div:nth-child(odd) {
        border-right: 1px solid var(--rl-border);
    }

    .rl-session-state div:nth-child(even) {
        border-right: 0;
    }

    .rl-session-state div:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 420px) {
    body.review-loop-page.has-sidebar main.app-page-layout,
    body.review-loop-page main.review-loop-layout {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body.review-loop-page.has-sidebar .review-loop-title-group {
        padding-left: 52px;
    }
}

/* Shared workspace header standardization. */
html:has(body.review-loop-page),
body.review-loop-page {
    overflow-x: clip;
}

.review-loop-header.app-page-header--workspace {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    margin-bottom: 0;
    padding: 20px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.review-loop-header.app-page-header--workspace .review-loop-title-group {
    flex: 1 1 auto;
    max-width: none;
    gap: 8px;
    min-width: 0;
    margin-bottom: 0;
}

.review-loop-header.app-page-header--workspace .app-page-title {
    max-width: none;
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.04em;
}

.review-loop-header.app-page-header--workspace .review-loop-title-meta-line {
    width: auto;
    max-width: 100%;
    overflow: visible;
}

.review-loop-header.app-page-header--workspace .review-loop-toolbar.app-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.review-loop-header.app-page-header--workspace .review-loop-toolbar .app-action-btn {
    width: auto;
    min-height: 46px;
    padding-inline: 16px;
}

.review-loop-header.app-page-header--workspace .review-loop-toolbar .creator-mode-toggle {
    width: 46px;
    min-width: 46px;
    padding-inline: 0;
}

@media (max-width: 1500px) {
    .review-loop-header.app-page-header--workspace {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 14px;
    }

    .review-loop-header.app-page-header--workspace .review-loop-title-group {
        flex: 1 1 100%;
        width: 100%;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar.app-toolbar {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr)) 46px;
        width: 100%;
        margin-left: 0;
        gap: 10px;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar .app-action-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar .creator-mode-toggle {
        width: 46px;
        min-width: 46px;
        justify-self: end;
    }
}

@media (max-width: 767px) {
    .review-loop-header.app-page-header--workspace {
        gap: 10px;
        padding: 4px 0 13px;
        overflow: visible;
    }

    .review-loop-header.app-page-header--workspace .review-loop-title-group,
    body.review-loop-page.has-sidebar .review-loop-header.app-page-header--workspace .review-loop-title-group {
        width: 100%;
        min-height: 42px;
        padding-left: 54px;
        margin-bottom: 0;
        justify-content: center;
        gap: 7px;
    }

    .review-loop-header.app-page-header--workspace .review-loop-title-meta-line {
        width: 100%;
        flex-wrap: wrap;
        white-space: normal;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar.app-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar .app-action-btn:first-child {
        grid-column: 1 / -1;
    }

    .review-loop-header.app-page-header--workspace .review-loop-toolbar .creator-mode-toggle {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 420px) {
    body.review-loop-page.has-sidebar .review-loop-header.app-page-header--workspace .review-loop-title-group {
        padding-left: 52px;
    }
}

@media (max-width: 1100px) {
    body.review-loop-page .rl-command-table {
        overflow: visible;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
    }

    body.review-loop-page .rl-rule-stack,
    body.review-loop-page .rl-rule-stack--three {
        grid-template-columns: 1fr !important;
        gap: 0;
        padding: 14px 0 16px !important;
        border: 0 !important;
    }

    body.review-loop-page .rl-rule-box,
    body.review-loop-page .rl-rule-stack--three .rl-rule-box {
        grid-column: auto;
        min-height: 0;
        padding: 8px 0;
        border: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.review-loop-page .rl-rule-box.rl-command-score {
        border: 0 !important;
        border-radius: 0;
        background: transparent;
    }

    body.review-loop-page .rl-rule-box:first-child {
        padding-top: 0 !important;
    }

    body.review-loop-page .rl-rule-box:last-child {
        padding-bottom: 0 !important;
    }

    body.review-loop-page .rl-rule-box span,
    body.review-loop-page .rl-rule-box strong,
    body.review-loop-page .rl-rule-box em,
    body.review-loop-page .rl-rule-box p {
        margin: 0;
    }
}

/* Daily Review light theme bridge. Keeps the dark-first component readable in app light mode. */
html.light body.review-loop-page,
html[data-theme="light"] body.review-loop-page {
    --rl-band-bg: var(--app-bg-page, #f8fafc);
    --rl-bg: var(--app-bg-page, #f8fafc);
    --rl-surface: var(--app-surface-card, #ffffff);
    --rl-surface-alt: var(--app-surface-section-alt, #f8fafc);
    --rl-card: var(--app-surface-card, #ffffff);
    --rl-control: var(--app-surface-control, #f8fafc);
    --rl-border: var(--app-border-soft, rgba(15, 23, 42, 0.14));
    --rl-border-strong: var(--app-border-default, rgba(15, 23, 42, 0.18));
    --rl-border-hairline: var(--app-divider-default, rgba(15, 23, 42, 0.12));
    --rl-border-ghost: rgba(15, 23, 42, 0.09);
    --rl-border-hover: var(--app-border-hover, rgba(15, 23, 42, 0.28));
    --rl-text: var(--app-text-primary, #111827);
    --rl-muted: var(--app-text-secondary, #475569);
    --rl-faint: var(--app-text-muted, #64748b);
    --rl-accent: #0f766e;
    --rl-danger: #dc2626;
    --pb-surface: var(--app-surface-card, #ffffff);
    --pb-border: var(--app-border-soft, rgba(15, 23, 42, 0.14));
    --pb-border-hover: var(--app-border-hover, rgba(15, 23, 42, 0.28));
    background: var(--rl-bg);
    color: var(--rl-text);
}

html.light body.review-loop-page .rl-command.playbook-card::before,
html[data-theme="light"] body.review-loop-page .rl-command.playbook-card::before {
    background: var(--rl-band-bg);
}

html.light body.review-loop-page .rl-command.playbook-card::after,
html.light body.review-loop-page .rl-command-head,
html.light body.review-loop-page .rl-session-state,
html.light body.review-loop-page .rl-review-queue,
html.light body.review-loop-page .rl-chart-plans,
html.light body.review-loop-page .rl-review-history-panel .rl-subsection-head,
html.light body.review-loop-page .rl-card.rl-review-workspace > .rl-card-head,
html.light body.review-loop-page .rl-card.rl-impact > .rl-card-head,
html.light body.review-loop-page .rl-impact-summary,
html.light body.review-loop-page .rl-impact-summary div,
html.light body.review-loop-page .rl-discipline-lower,
html.light body.review-loop-page .rl-discipline-calendar-panel,
html.light body.review-loop-page .rl-discipline-footer,
html.light body.review-loop-page .rl-discipline-legend,
html.light body.review-loop-page .rl-day,
html.light body.review-loop-page .rl-day[open] summary,
html.light body.review-loop-page .rl-day-ledger-row,
html.light body.review-loop-page .rl-day-ledger-metrics,
html.light body.review-loop-page .rl-day-ledger-metrics > div + div,
html.light body.review-loop-page .rl-day-ledger-inline,
html.light body.review-loop-page .rl-impact-window-note,
html[data-theme="light"] body.review-loop-page .rl-command.playbook-card::after,
html[data-theme="light"] body.review-loop-page .rl-command-head,
html[data-theme="light"] body.review-loop-page .rl-session-state,
html[data-theme="light"] body.review-loop-page .rl-review-queue,
html[data-theme="light"] body.review-loop-page .rl-chart-plans,
html[data-theme="light"] body.review-loop-page .rl-review-history-panel .rl-subsection-head,
html[data-theme="light"] body.review-loop-page .rl-card.rl-review-workspace > .rl-card-head,
html[data-theme="light"] body.review-loop-page .rl-card.rl-impact > .rl-card-head,
html[data-theme="light"] body.review-loop-page .rl-impact-summary,
html[data-theme="light"] body.review-loop-page .rl-impact-summary div,
html[data-theme="light"] body.review-loop-page .rl-discipline-lower,
html[data-theme="light"] body.review-loop-page .rl-discipline-calendar-panel,
html[data-theme="light"] body.review-loop-page .rl-discipline-footer,
html[data-theme="light"] body.review-loop-page .rl-discipline-legend,
html[data-theme="light"] body.review-loop-page .rl-day,
html[data-theme="light"] body.review-loop-page .rl-day[open] summary,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-row,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-metrics,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-metrics > div + div,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-inline,
html[data-theme="light"] body.review-loop-page .rl-impact-window-note {
    border-color: var(--rl-border-hairline);
}

html.light body.review-loop-page .rl-command-head p:not(.rl-kicker),
html.light body.review-loop-page .rl-command-copy,
html.light body.review-loop-page .rl-next-action em,
html.light body.review-loop-page .rl-rule-box p,
html.light body.review-loop-page .rl-impact-summary em,
html.light body.review-loop-page .rl-discipline-panel-head em,
html.light body.review-loop-page .rl-discipline-curve-head em,
html.light body.review-loop-page .rl-day-recap-head p,
html.light body.review-loop-page .rl-day-recap.is-empty p,
html.light body.review-loop-page .rl-day-event em,
html.light body.review-loop-page .rl-impact-selected > div > em,
html.light body.review-loop-page .rl-day-ledger-row p,
html.light body.review-loop-page .rl-day-ledger-metrics p,
html.light body.review-loop-page .rl-empty,
html.light body.review-loop-page .rl-coach-read p,
html.light body.review-loop-page .rl-history-read,
html[data-theme="light"] body.review-loop-page .rl-command-head p:not(.rl-kicker),
html[data-theme="light"] body.review-loop-page .rl-command-copy,
html[data-theme="light"] body.review-loop-page .rl-next-action em,
html[data-theme="light"] body.review-loop-page .rl-rule-box p,
html[data-theme="light"] body.review-loop-page .rl-impact-summary em,
html[data-theme="light"] body.review-loop-page .rl-discipline-panel-head em,
html[data-theme="light"] body.review-loop-page .rl-discipline-curve-head em,
html[data-theme="light"] body.review-loop-page .rl-day-recap-head p,
html[data-theme="light"] body.review-loop-page .rl-day-recap.is-empty p,
html[data-theme="light"] body.review-loop-page .rl-day-event em,
html[data-theme="light"] body.review-loop-page .rl-impact-selected > div > em,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-row p,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-metrics p,
html[data-theme="light"] body.review-loop-page .rl-empty,
html[data-theme="light"] body.review-loop-page .rl-coach-read p,
html[data-theme="light"] body.review-loop-page .rl-history-read {
    color: var(--rl-muted);
}

html.light body.review-loop-page .rl-kicker,
html.light body.review-loop-page .rl-next-action > span,
html.light body.review-loop-page .rl-command-score span,
html.light body.review-loop-page .rl-session-state span,
html.light body.review-loop-page .rl-rule-box span,
html.light body.review-loop-page .rl-impact-summary span,
html.light body.review-loop-page .rl-discipline-panel-head span,
html.light body.review-loop-page .rl-discipline-curve-head span,
html.light body.review-loop-page .rl-day-recap-kicker,
html.light body.review-loop-page .rl-day-timeline-head span,
html.light body.review-loop-page .rl-day-event span,
html.light body.review-loop-page .rl-day-recap-metrics span,
html.light body.review-loop-page .rl-impact-selected > div > span,
html.light body.review-loop-page .rl-impact-quadrant span,
html.light body.review-loop-page .rl-impact-quadrant small,
html.light body.review-loop-page .rl-review-queue-head > div > span,
html.light body.review-loop-page .rl-chart-plans-head span,
html.light body.review-loop-page .rl-chart-plan-match span,
html.light body.review-loop-page .rl-chart-plan-wait span,
html.light body.review-loop-page .rl-coach-read-head > div > span,
html.light body.review-loop-page .rl-coach-verdict span,
html.light body.review-loop-page .rl-day-ledger-row span,
html.light body.review-loop-page .rl-day-ledger-metrics span,
html[data-theme="light"] body.review-loop-page .rl-kicker,
html[data-theme="light"] body.review-loop-page .rl-next-action > span,
html[data-theme="light"] body.review-loop-page .rl-command-score span,
html[data-theme="light"] body.review-loop-page .rl-session-state span,
html[data-theme="light"] body.review-loop-page .rl-rule-box span,
html[data-theme="light"] body.review-loop-page .rl-impact-summary span,
html[data-theme="light"] body.review-loop-page .rl-discipline-panel-head span,
html[data-theme="light"] body.review-loop-page .rl-discipline-curve-head span,
html[data-theme="light"] body.review-loop-page .rl-day-recap-kicker,
html[data-theme="light"] body.review-loop-page .rl-day-timeline-head span,
html[data-theme="light"] body.review-loop-page .rl-day-event span,
html[data-theme="light"] body.review-loop-page .rl-day-recap-metrics span,
html[data-theme="light"] body.review-loop-page .rl-impact-selected > div > span,
html[data-theme="light"] body.review-loop-page .rl-impact-quadrant span,
html[data-theme="light"] body.review-loop-page .rl-impact-quadrant small,
html[data-theme="light"] body.review-loop-page .rl-review-queue-head > div > span,
html[data-theme="light"] body.review-loop-page .rl-chart-plans-head span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-match span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-wait span,
html[data-theme="light"] body.review-loop-page .rl-coach-read-head > div > span,
html[data-theme="light"] body.review-loop-page .rl-coach-verdict span,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-row span,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-metrics span {
    color: var(--rl-faint);
}

html.light body.review-loop-page .rl-command,
html.light body.review-loop-page .rl-card,
html.light body.review-loop-page .rl-review-workspace,
html.light body.review-loop-page .rl-impact,
html[data-theme="light"] body.review-loop-page .rl-command,
html[data-theme="light"] body.review-loop-page .rl-card,
html[data-theme="light"] body.review-loop-page .rl-review-workspace,
html[data-theme="light"] body.review-loop-page .rl-impact {
    border-color: var(--rl-border);
    background: var(--rl-card);
}

html.light body.review-loop-page .rl-impact-gate,
html[data-theme="light"] body.review-loop-page .rl-impact-gate {
    border-color: rgba(15, 23, 42, 0.14);
    background: rgba(248, 250, 252, 0.86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

html.light body.review-loop-page .rl-impact-gate span,
html[data-theme="light"] body.review-loop-page .rl-impact-gate span {
    border-color: rgba(15, 118, 110, 0.22);
    background: rgba(15, 118, 110, 0.09);
    color: #0f766e;
}

html.light body.review-loop-page .rl-impact-gate strong,
html[data-theme="light"] body.review-loop-page .rl-impact-gate strong {
    color: #0f172a;
}

html.light body.review-loop-page .rl-impact-gate p,
html[data-theme="light"] body.review-loop-page .rl-impact-gate p {
    color: #64748b;
}

html.light body.review-loop-page .rl-impact-gate a,
html[data-theme="light"] body.review-loop-page .rl-impact-gate a {
    border-color: rgba(15, 118, 110, 0.30);
    background: rgba(15, 118, 110, 0.12);
    color: #0f766e;
}

html.light body.review-loop-page .rl-impact-gate a:hover,
html[data-theme="light"] body.review-loop-page .rl-impact-gate a:hover {
    border-color: rgba(15, 118, 110, 0.40);
    background: rgba(15, 118, 110, 0.16);
    color: #0b5f59;
}

html.light body.review-loop-page .rl-review-history-panel,
html.light body.review-loop-page .rl-discipline-footer,
html.light body.review-loop-page .rl-impact-chart,
html[data-theme="light"] body.review-loop-page .rl-review-history-panel,
html[data-theme="light"] body.review-loop-page .rl-discipline-footer,
html[data-theme="light"] body.review-loop-page .rl-impact-chart {
    background: transparent;
}

html.light body.review-loop-page .rl-next-action,
html.light body.review-loop-page .rl-review-item,
html.light body.review-loop-page .rl-chart-plan-item,
html.light body.review-loop-page .rl-mini-trade,
html.light body.review-loop-page .rl-history-item,
html.light body.review-loop-page .rl-setting,
html.light body.review-loop-page .rl-coach-verdict,
html.light body.review-loop-page .rl-day-recap-metrics div,
html.light body.review-loop-page .rl-day-recap-outcome span,
html.light body.review-loop-page .rl-day-ledger-inline span,
html.light body.review-loop-page .rl-chart-plan-prices span,
html[data-theme="light"] body.review-loop-page .rl-next-action,
html[data-theme="light"] body.review-loop-page .rl-review-item,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-item,
html[data-theme="light"] body.review-loop-page .rl-mini-trade,
html[data-theme="light"] body.review-loop-page .rl-history-item,
html[data-theme="light"] body.review-loop-page .rl-setting,
html[data-theme="light"] body.review-loop-page .rl-coach-verdict,
html[data-theme="light"] body.review-loop-page .rl-day-recap-metrics div,
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span,
html[data-theme="light"] body.review-loop-page .rl-day-ledger-inline span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-prices span {
    border-color: var(--rl-border);
    background: #ffffff;
}

html.light body.review-loop-page .rl-review-item:hover,
html.light body.review-loop-page .rl-chart-plan-item[data-state="matched"],
html[data-theme="light"] body.review-loop-page .rl-review-item:hover,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-item[data-state="matched"] {
    border-color: rgba(15, 118, 110, 0.28);
    background: rgba(15, 118, 110, 0.055);
}

html.light body.review-loop-page .rl-impact-summary strong,
html.light body.review-loop-page .rl-discipline-panel-head strong,
html.light body.review-loop-page .rl-discipline-curve-head strong,
html.light body.review-loop-page .rl-session-state strong,
html.light body.review-loop-page .rl-command-score strong,
html.light body.review-loop-page .rl-mini-trade em,
html.light body.review-loop-page .rl-history-item em,
html.light body.review-loop-page .rl-review-item em,
html.light body.review-loop-page .rl-chart-plan-match em,
html.light body.review-loop-page .rl-impact-selected > div > strong[data-tone="good"],
html.light body.review-loop-page .rl-day-recap-outcome strong,
html.light body.review-loop-page .rl-day summary em[data-tone="good"],
html.light body.review-loop-page .rl-day summary b[data-tone="good"],
html[data-theme="light"] body.review-loop-page .rl-impact-summary strong,
html[data-theme="light"] body.review-loop-page .rl-discipline-panel-head strong,
html[data-theme="light"] body.review-loop-page .rl-discipline-curve-head strong,
html[data-theme="light"] body.review-loop-page .rl-session-state strong,
html[data-theme="light"] body.review-loop-page .rl-command-score strong,
html[data-theme="light"] body.review-loop-page .rl-mini-trade em,
html[data-theme="light"] body.review-loop-page .rl-history-item em,
html[data-theme="light"] body.review-loop-page .rl-review-item em,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-match em,
html[data-theme="light"] body.review-loop-page .rl-impact-selected > div > strong[data-tone="good"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome strong,
html[data-theme="light"] body.review-loop-page .rl-day summary em[data-tone="good"],
html[data-theme="light"] body.review-loop-page .rl-day summary b[data-tone="good"] {
    color: var(--rl-accent);
}

html.light body.review-loop-page .rl-mini-trade em[data-tone="bad"],
html.light body.review-loop-page .rl-history-item em[data-tone="bad"],
html.light body.review-loop-page .rl-review-item em[data-tone="bad"],
html.light body.review-loop-page .rl-chart-plan-match em[data-tone="bad"],
html.light body.review-loop-page .rl-impact-selected > div > strong[data-tone="bad"],
html.light body.review-loop-page .rl-day-recap-outcome strong[data-tone="bad"],
html.light body.review-loop-page .rl-day summary em[data-tone="bad"],
html.light body.review-loop-page .rl-day summary b[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-mini-trade em[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-history-item em[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-review-item em[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-chart-plan-match em[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-impact-selected > div > strong[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome strong[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-day summary em[data-tone="bad"],
html[data-theme="light"] body.review-loop-page .rl-day summary b[data-tone="bad"] {
    color: var(--rl-danger);
}

html.light body.review-loop-page .rl-discipline-calendar-panel,
html[data-theme="light"] body.review-loop-page .rl-discipline-calendar-panel {
    background: #ffffff;
}

html.light body.review-loop-page .rl-discipline-months,
html.light body.review-loop-page .rl-discipline-weekdays,
html.light body.review-loop-page .rl-capital-scale span,
html.light body.review-loop-page .rl-capital-axis-label,
html.light body.review-loop-page .rl-capital-date-label,
html[data-theme="light"] body.review-loop-page .rl-discipline-months,
html[data-theme="light"] body.review-loop-page .rl-discipline-weekdays,
html[data-theme="light"] body.review-loop-page .rl-capital-scale span,
html[data-theme="light"] body.review-loop-page .rl-capital-axis-label,
html[data-theme="light"] body.review-loop-page .rl-capital-date-label {
    color: #64748b;
    fill: #64748b;
}

html.light body.review-loop-page .rl-discipline-month-nav button,
html.light body.review-loop-page .rl-impact-lenses,
html[data-theme="light"] body.review-loop-page .rl-discipline-month-nav button,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses {
    border-color: var(--rl-border);
    background: #ffffff;
    color: #334155;
}

html.light body.review-loop-page .rl-discipline-month-nav button:hover,
html.light body.review-loop-page .rl-discipline-month-nav button:focus-visible,
html[data-theme="light"] body.review-loop-page .rl-discipline-month-nav button:hover,
html[data-theme="light"] body.review-loop-page .rl-discipline-month-nav button:focus-visible {
    border-color: rgba(15, 23, 42, 0.26);
    background: #f8fafc;
    color: #0f172a;
}

html.light body.review-loop-page .rl-impact-lenses button,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button {
    color: #64748b;
}

html.light body.review-loop-page .rl-impact-lenses button:hover,
html.light body.review-loop-page .rl-impact-lenses button:focus-visible,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button:hover,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button:focus-visible {
    background: #f1f5f9;
    color: #111827;
}

html.light body.review-loop-page .rl-impact-lenses button.is-active,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button.is-active {
    border-color: rgba(15, 118, 110, 0.26);
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
}

html.light body.review-loop-page .rl-discipline-day,
html[data-theme="light"] body.review-loop-page .rl-discipline-day {
    border-color: rgba(15, 23, 42, 0.12);
    background: #f8fafc;
}

html.light body.review-loop-page .rl-discipline-day span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day span {
    color: #64748b;
}

html.light body.review-loop-page .rl-discipline-day.is-outside,
html[data-theme="light"] body.review-loop-page .rl-discipline-day.is-outside {
    opacity: 0.42;
}

html.light body.review-loop-page .rl-discipline-day:hover,
html.light body.review-loop-page .rl-discipline-day:focus-visible,
html[data-theme="light"] body.review-loop-page .rl-discipline-day:hover,
html[data-theme="light"] body.review-loop-page .rl-discipline-day:focus-visible {
    border-color: rgba(15, 23, 42, 0.24);
    background: #ffffff;
}

html.light body.review-loop-page .rl-discipline-day[data-kind="dataset"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="dataset"] {
    border-color: rgba(100, 116, 139, 0.22);
    background: #f1f5f9;
}

html.light body.review-loop-page .rl-discipline-day[data-kind="stable-profit"],
html.light body.review-loop-page .rl-discipline-day[data-kind="stable-loss"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="stable-profit"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="stable-loss"] {
    border-color: rgba(15, 118, 110, 0.28);
    background: rgba(15, 118, 110, 0.10);
}

html.light body.review-loop-page .rl-discipline-day[data-kind="weak-profit"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="weak-profit"] {
    border-color: rgba(180, 83, 9, 0.26);
    background: rgba(245, 158, 11, 0.12);
}

html.light body.review-loop-page .rl-discipline-day[data-kind="weak-loss"],
html.light body.review-loop-page .rl-discipline-day[data-kind="debt"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="weak-loss"],
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="debt"] {
    border-color: rgba(220, 38, 38, 0.28);
    background: rgba(220, 38, 38, 0.10);
}

html.light body.review-loop-page .rl-discipline-day[data-kind="dataset"] span,
html.light body.review-loop-page .rl-discipline-day[data-kind="stable-profit"] span,
html.light body.review-loop-page .rl-discipline-day[data-kind="stable-loss"] span,
html.light body.review-loop-page .rl-discipline-day[data-kind="weak-profit"] span,
html.light body.review-loop-page .rl-discipline-day[data-kind="weak-loss"] span,
html.light body.review-loop-page .rl-discipline-day[data-kind="debt"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="dataset"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="stable-profit"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="stable-loss"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="weak-profit"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="weak-loss"] span,
html[data-theme="light"] body.review-loop-page .rl-discipline-day[data-kind="debt"] span {
    color: #111827;
}

html.light body.review-loop-page .rl-discipline-day.is-selected,
html[data-theme="light"] body.review-loop-page .rl-discipline-day.is-selected {
    border-color: rgba(15, 118, 110, 0.62);
    background: rgba(15, 118, 110, 0.16);
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.22);
}

html.light body.review-loop-page .rl-day-markers i,
html[data-theme="light"] body.review-loop-page .rl-day-markers i {
    background: rgba(100, 116, 139, 0.34);
}

html.light body.review-loop-page .rl-day-markers i[data-marker="trade"],
html[data-theme="light"] body.review-loop-page .rl-day-markers i[data-marker="trade"] {
    background: #64748b;
}

html.light body.review-loop-page .rl-day-markers i[data-marker="review"],
html.light body.review-loop-page .rl-day-markers i[data-marker="rule"],
html[data-theme="light"] body.review-loop-page .rl-day-markers i[data-marker="review"],
html[data-theme="light"] body.review-loop-page .rl-day-markers i[data-marker="rule"] {
    background: #0f766e;
}

html.light body.review-loop-page .rl-day-markers i[data-marker="coach"],
html[data-theme="light"] body.review-loop-page .rl-day-markers i[data-marker="coach"] {
    background: #6d4bc7;
}

html.light body.review-loop-page .rl-day-markers i[data-marker="debt"],
html[data-theme="light"] body.review-loop-page .rl-day-markers i[data-marker="debt"] {
    background: #dc2626;
}

html.light body.review-loop-page .rl-capital-scale,
html[data-theme="light"] body.review-loop-page .rl-capital-scale {
    background: #ffffff;
}

html.light body.review-loop-page .rl-capital-grid,
html[data-theme="light"] body.review-loop-page .rl-capital-grid {
    stroke: rgba(15, 23, 42, 0.09);
}

html.light body.review-loop-page .rl-capital-zero,
html[data-theme="light"] body.review-loop-page .rl-capital-zero {
    stroke: rgba(15, 23, 42, 0.20);
}

html.light body.review-loop-page .rl-capital-segment,
html[data-theme="light"] body.review-loop-page .rl-capital-segment {
    stroke: rgba(71, 85, 105, 0.42);
    stroke-width: 2.2;
}

html.light body.review-loop-page .rl-capital-segment[data-kind="stable-profit"],
html.light body.review-loop-page .rl-capital-segment[data-kind="stable-loss"],
html[data-theme="light"] body.review-loop-page .rl-capital-segment[data-kind="stable-profit"],
html[data-theme="light"] body.review-loop-page .rl-capital-segment[data-kind="stable-loss"] {
    stroke: rgba(15, 118, 110, 0.78);
}

html.light body.review-loop-page .rl-capital-segment[data-kind="weak-profit"],
html[data-theme="light"] body.review-loop-page .rl-capital-segment[data-kind="weak-profit"] {
    stroke: rgba(180, 83, 9, 0.70);
}

html.light body.review-loop-page .rl-capital-segment[data-kind="weak-loss"],
html.light body.review-loop-page .rl-capital-segment[data-kind="debt"],
html[data-theme="light"] body.review-loop-page .rl-capital-segment[data-kind="weak-loss"],
html[data-theme="light"] body.review-loop-page .rl-capital-segment[data-kind="debt"] {
    stroke: rgba(220, 38, 38, 0.72);
}

html.light body.review-loop-page .rl-capital-day-guide,
html[data-theme="light"] body.review-loop-page .rl-capital-day-guide {
    stroke: rgba(15, 23, 42, 0.04);
}

html.light body.review-loop-page .rl-capital-dot,
html[data-theme="light"] body.review-loop-page .rl-capital-dot {
    fill: rgba(71, 85, 105, 0.56);
    stroke: #ffffff;
}

html.light body.review-loop-page .rl-capital-hit:focus-visible + .rl-capital-dot,
html.light body.review-loop-page .rl-capital-hit.is-selected + .rl-capital-dot,
html.light body.review-loop-page .rl-capital-dot.is-selected,
html[data-theme="light"] body.review-loop-page .rl-capital-hit:focus-visible + .rl-capital-dot,
html[data-theme="light"] body.review-loop-page .rl-capital-hit.is-selected + .rl-capital-dot,
html[data-theme="light"] body.review-loop-page .rl-capital-dot.is-selected {
    stroke: #111827;
}

html.light body.review-loop-page .rl-capital-dot[data-kind="stable-profit"],
html.light body.review-loop-page .rl-capital-dot[data-kind="stable-loss"],
html[data-theme="light"] body.review-loop-page .rl-capital-dot[data-kind="stable-profit"],
html[data-theme="light"] body.review-loop-page .rl-capital-dot[data-kind="stable-loss"] {
    fill: #0f766e;
}

html.light body.review-loop-page .rl-capital-dot[data-kind="weak-profit"],
html[data-theme="light"] body.review-loop-page .rl-capital-dot[data-kind="weak-profit"] {
    fill: #b45309;
}

html.light body.review-loop-page .rl-capital-dot[data-kind="weak-loss"],
html.light body.review-loop-page .rl-capital-dot[data-kind="debt"],
html[data-theme="light"] body.review-loop-page .rl-capital-dot[data-kind="weak-loss"],
html[data-theme="light"] body.review-loop-page .rl-capital-dot[data-kind="debt"] {
    fill: #dc2626;
}

html.light body.review-loop-page .rl-discipline-legend,
html[data-theme="light"] body.review-loop-page .rl-discipline-legend {
    color: #475569;
}

html.light body.review-loop-page .rl-discipline-legend i,
html[data-theme="light"] body.review-loop-page .rl-discipline-legend i {
    background: #cbd5e1;
}

html.light body.review-loop-page .rl-discipline-legend i[data-kind="stable-profit"],
html[data-theme="light"] body.review-loop-page .rl-discipline-legend i[data-kind="stable-profit"] {
    background: #0f766e;
}

html.light body.review-loop-page .rl-discipline-legend i[data-kind="weak-profit"],
html[data-theme="light"] body.review-loop-page .rl-discipline-legend i[data-kind="weak-profit"] {
    background: #b45309;
}

html.light body.review-loop-page .rl-discipline-legend i[data-kind="weak-loss"],
html.light body.review-loop-page .rl-discipline-legend i[data-kind="debt"],
html[data-theme="light"] body.review-loop-page .rl-discipline-legend i[data-kind="weak-loss"],
html[data-theme="light"] body.review-loop-page .rl-discipline-legend i[data-kind="debt"] {
    background: #dc2626;
}

html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="stable-profit"],
html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="stable-loss"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="stable-profit"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="stable-loss"] {
    border-color: rgba(15, 118, 110, 0.24);
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
}

html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="weak-profit"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="weak-profit"] {
    border-color: rgba(180, 83, 9, 0.24);
    background: rgba(245, 158, 11, 0.10);
    color: #92400e;
}

html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="weak-loss"],
html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="debt"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="weak-loss"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="debt"] {
    border-color: rgba(220, 38, 38, 0.22);
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
}

html.light body.review-loop-page .rl-day-recap-outcome span,
html.light body.review-loop-page .rl-day-recap-outcome span[data-kind="dataset"],
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span,
html[data-theme="light"] body.review-loop-page .rl-day-recap-outcome span[data-kind="dataset"] {
    border-color: rgba(15, 23, 42, 0.16);
    background: #f8fafc;
    color: #475569;
}

html.light body.review-loop-page .rl-day-timeline,
html[data-theme="light"] body.review-loop-page .rl-day-timeline {
    border-top-color: var(--rl-border-hairline) !important;
}

html.light body.review-loop-page .rl-day,
html[data-theme="light"] body.review-loop-page .rl-day {
    border-bottom-color: var(--rl-border);
    background: #ffffff;
    box-shadow: inset 3px 0 0 rgba(15, 118, 110, 0.24);
}

html.light body.review-loop-page .rl-day.is-weak,
html[data-theme="light"] body.review-loop-page .rl-day.is-weak {
    box-shadow: inset 3px 0 0 rgba(220, 38, 38, 0.26);
}

html.light body.review-loop-page .rl-day.is-dataset,
html[data-theme="light"] body.review-loop-page .rl-day.is-dataset {
    border-bottom-style: solid;
    box-shadow: inset 3px 0 0 rgba(100, 116, 139, 0.24);
}

html.light body.review-loop-page .rl-day-event > i,
html[data-theme="light"] body.review-loop-page .rl-day-event > i {
    width: 8px;
    height: 8px;
    background: #64748b;
}

html.light body.review-loop-page .rl-day-event[data-tone="good"] > i,
html.light body.review-loop-page .rl-day-event[data-tone="rule"] > i,
html[data-theme="light"] body.review-loop-page .rl-day-event[data-tone="good"] > i,
html[data-theme="light"] body.review-loop-page .rl-day-event[data-tone="rule"] > i {
    background: #0f766e;
}

html.light body.review-loop-page .rl-day-event[data-tone="bad"] > i,
html[data-theme="light"] body.review-loop-page .rl-day-event[data-tone="bad"] > i {
    background: #dc2626;
}

html.light body.review-loop-page .rl-day-event[data-tone="warn"] > i,
html[data-theme="light"] body.review-loop-page .rl-day-event[data-tone="warn"] > i {
    background: #b45309;
}

html.light body.review-loop-page .rl-day-event[data-tone="coach"] > i,
html[data-theme="light"] body.review-loop-page .rl-day-event[data-tone="coach"] > i {
    background: #6d4bc7;
}

html.light body.review-loop-page .rl-day-event strong,
html.light body.review-loop-page .rl-day-recap-metrics strong,
html.light body.review-loop-page .rl-coach-verdict strong,
html.light body.review-loop-page .rl-impact-selected > div > strong,
html.light body.review-loop-page .rl-impact-quadrant strong,
html.light body.review-loop-page .rl-chart-plan-symbol span,
html.light body.review-loop-page .rl-chart-plan-prices span,
html.light body.review-loop-page .rl-chart-plan-main p,
html[data-theme="light"] body.review-loop-page .rl-day-event strong,
html[data-theme="light"] body.review-loop-page .rl-day-recap-metrics strong,
html[data-theme="light"] body.review-loop-page .rl-coach-verdict strong,
html[data-theme="light"] body.review-loop-page .rl-impact-selected > div > strong,
html[data-theme="light"] body.review-loop-page .rl-impact-quadrant strong,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-symbol span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-prices span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-main p {
    color: #111827;
}

html.light body.review-loop-page .rl-day-timeline-head em,
html.light body.review-loop-page .rl-impact-quadrant em,
html.light body.review-loop-page .rl-chart-plan-symbol span,
html.light body.review-loop-page .rl-chart-plan-main p,
html.light body.review-loop-page .rl-chart-plan-wait,
html[data-theme="light"] body.review-loop-page .rl-day-timeline-head em,
html[data-theme="light"] body.review-loop-page .rl-impact-quadrant em,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-symbol span,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-main p,
html[data-theme="light"] body.review-loop-page .rl-chart-plan-wait {
    color: var(--rl-muted);
}

html.light body.review-loop-page .rl-coach-scope span,
html[data-theme="light"] body.review-loop-page .rl-coach-scope span {
    border-color: rgba(109, 75, 199, 0.22);
    background: rgba(109, 75, 199, 0.08);
    color: #5f42b2;
}

html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh {
    border-color: var(--rl-border);
    background: #ffffff;
    color: #334155;
}

html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible {
    border-color: rgba(109, 75, 199, 0.30);
    background: rgba(109, 75, 199, 0.08);
    color: #5f42b2;
}

html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh svg,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh i,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover svg,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover i,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible svg,
html.light body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible i,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh svg,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh i,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover svg,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:hover i,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible svg,
html[data-theme="light"] body.review-loop-page .rl-coach-read-actions .rl-coach-read-refresh:focus-visible i {
    color: currentColor;
    opacity: 1;
}

html.light body.review-loop-page .rl-impact-tooltip,
html[data-theme="light"] body.review-loop-page .rl-impact-tooltip {
    border-color: rgba(15, 23, 42, 0.16);
    background: #ffffff;
    color: #111827;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
}

html.light body.review-loop-page .rl-impact-tooltip strong,
html[data-theme="light"] body.review-loop-page .rl-impact-tooltip strong {
    color: #111827;
}

html.light body.review-loop-page .rl-impact-tooltip span,
html.light body.review-loop-page .rl-impact-tooltip em,
html[data-theme="light"] body.review-loop-page .rl-impact-tooltip span,
html[data-theme="light"] body.review-loop-page .rl-impact-tooltip em {
    color: #475569;
}

/* Demo shell: keep the Daily Review deck mechanics, remove authenticated app chrome. */
body.review-loop-page.is-demo {
    padding-left: 0 !important;
}

body.review-loop-page.is-demo #tsb-sidebar,
body.review-loop-page.is-demo #mobile-menu-btn,
body.review-loop-page.is-demo #sidebar-overlay,
body.review-loop-page.is-demo .app-account-upgrade-banner,
body.review-loop-page.is-demo .review-insights-popover-global,
body.review-loop-page.is-demo #support-contact-fab,
body.review-loop-page.is-demo #support-contact-modal,
body.review-loop-page.is-demo .review-loop-fab {
    display: none !important;
}

body.review-loop-page.is-demo .review-loop-layout {
    max-width: 1800px;
}

/* Process curve balance pass: roomier controls and clearer supporting labels. */
.rl-card.rl-impact {
    --rl-impact-x: 28px;
    --rl-impact-y: 22px;
}

.rl-discipline-curve {
    padding: 24px var(--rl-impact-x) 22px;
}

.rl-discipline-curve-head {
    align-items: center;
    gap: 12px 18px;
    margin-bottom: 18px;
}

.rl-discipline-curve-head > div:first-child,
.rl-impact-lenses,
.rl-discipline-curve-head strong {
    align-self: center;
}

.rl-discipline-curve-head em {
    font-size: 13px;
}

.rl-discipline-curve-body {
    padding-bottom: 10px;
}

.rl-discipline-curve-scroll {
    padding-bottom: 16px;
    scrollbar-color: rgba(214, 223, 232, 0.22) rgba(255, 255, 255, 0.035);
}

.rl-discipline-curve-scroll::-webkit-scrollbar {
    height: 10px;
}

.rl-discipline-curve-scroll::-webkit-scrollbar-track {
    margin-inline: 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
}

.rl-discipline-curve-scroll::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: rgba(214, 223, 232, 0.22);
    background-clip: padding-box;
}

.rl-discipline-curve-scroll::-webkit-scrollbar-thumb:hover {
    background-color: rgba(214, 223, 232, 0.32);
}

.rl-impact-lenses {
    gap: 3px !important;
    padding: 3px;
    border-color: var(--app-border-default);
    border-radius: 12px;
    background: var(--app-surface-section-alt);
}

.rl-impact-lenses button {
    min-height: 34px;
    padding: 0 13px;
    border: 0;
    border-radius: 9px;
    font-size: 13px;
    line-height: 1;
}

.rl-impact-lenses button.is-active {
    border-color: transparent;
    background: rgba(130, 210, 197, 0.12);
    box-shadow: inset 0 0 0 1px rgba(130, 210, 197, 0.24);
}

.rl-discipline-legend {
    gap: 14px;
    padding: 14px var(--rl-impact-x);
    font-size: 14px;
    font-weight: 600;
}

.rl-discipline-legend i {
    width: 8px;
    height: 8px;
}

html.light body.review-loop-page .rl-impact-lenses,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses {
    border-color: rgba(15, 23, 42, 0.14);
    background: #f8fafc;
}

html.light body.review-loop-page .rl-impact-lenses button,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button {
    color: #64748b;
}

html.light body.review-loop-page .rl-impact-lenses button:hover,
html.light body.review-loop-page .rl-impact-lenses button:focus-visible,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button:hover,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button:focus-visible {
    background: rgba(15, 23, 42, 0.05);
    color: #0f172a;
}

html.light body.review-loop-page .rl-impact-lenses button.is-active,
html[data-theme="light"] body.review-loop-page .rl-impact-lenses button.is-active {
    background: #ffffff;
    color: #0f766e;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.22), 0 1px 2px rgba(15, 23, 42, 0.06);
}

@media (max-width: 767px) {
    .rl-card.rl-impact {
        --rl-impact-x: 14px;
        --rl-impact-y: 15px;
    }

    .rl-discipline-curve {
        padding: 16px var(--rl-impact-x) 0;
    }

    .rl-discipline-curve-head {
        align-items: end;
    }

    .rl-discipline-curve-body {
        padding-bottom: 8px;
    }

    .rl-discipline-curve-scroll {
        padding-bottom: 12px;
    }

    .rl-discipline-curve-scroll::-webkit-scrollbar-track {
        margin-inline: 10px;
    }

    .rl-impact-lenses button {
        min-height: 32px;
        padding: 0 12px;
    }

    .rl-discipline-legend {
        padding: 13px var(--rl-impact-x);
    }
}
