/* ===== 22 · 履历月份尺：时间轴 + 甘特格 · 青绿 / 苔绿 ===== */
.rt-page {
    --cg-accent: #1c7457;
    --cg-accent-2: #12553f;
    --cg-accent-soft: #e3f2ea;
    --cg-accent-ink: #ffffff;
    background: linear-gradient(180deg, rgba(28, 116, 87, .055), transparent 340px), var(--cg-bg);
}
:root[data-theme="dark"] .rt-page {
    --cg-accent: #6ed6a6;
    --cg-accent-2: #93e6bd;
    --cg-accent-soft: rgba(110, 214, 166, .14);
    --cg-accent-ink: #06251a;
    background: linear-gradient(180deg, rgba(110, 214, 166, .06), transparent 340px), var(--cg-bg);
}

.rt-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 460px); gap: 40px; align-items: start; padding: 24px 0 26px; }
.rt-lead .cg-h1 em { text-decoration: underline; text-decoration-color: var(--cg-accent); text-underline-offset: 7px; text-decoration-thickness: 2px; }
.rt-ruler-demo {
    margin-top: 28px; padding: 16px 18px 18px; border-radius: 14px;
    background: var(--cg-surface); border: 1px solid var(--cg-line); box-shadow: var(--cg-shadow);
    max-width: 560px;
}
.rt-ruler-demo-h { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--cg-faint); margin-bottom: 12px; text-transform: uppercase; }
.rt-demo-row { display: grid; grid-template-columns: 34px repeat(12, minmax(0, 1fr)); gap: 4px; align-items: center; margin-bottom: 5px; }
.rt-demo-row span { font-size: 11px; color: var(--cg-muted); }
.rt-demo-row i { height: 12px; border-radius: 3px; background: var(--cg-line-soft); display: block; }
.rt-demo-row i.is-on { background: var(--cg-accent); }
.rt-demo-row i.is-gap { background: var(--cg-warn); }
.rt-demo-row i.is-dual { background: var(--cg-bad); }
.rt-demo-row i.is-alt { background: var(--cg-info); }
.rt-lead .cg-value-row { margin-top: 24px; }

.rt-console .cg-console-h { background: var(--cg-accent-2); }
.rt-source-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.rt-src-btn {
    display: flex; align-items: center; gap: 8px; justify-content: center;
    border: 1px solid var(--cg-line); background: var(--cg-surface-2); color: var(--cg-muted);
    border-radius: 10px; padding: 9px 8px; font-size: 12.5px; font-weight: 700; cursor: pointer;
}
.rt-src-btn b {
    display: grid; place-items: center; width: 19px; height: 19px; border-radius: 6px;
    background: var(--cg-surface-3); color: var(--cg-ink-2); font-family: var(--cg-num); font-size: 11px;
}
.rt-src-btn.is-on { border-color: var(--cg-accent); background: var(--cg-accent-soft); color: var(--cg-accent); }
.rt-src-btn.is-on b { background: var(--cg-accent); color: var(--cg-accent-ink); }
.rt-input { min-height: 118px; }
.rt-source-stat { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 13px; padding-top: 13px; border-top: 1px dashed var(--cg-line); }

.rt-kpis .cg-kpi-value { color: var(--cg-accent); }
.rt-kpis .cg-kpi--warn .cg-kpi-value { color: var(--cg-warn); }
.rt-kpis .cg-kpi--bad .cg-kpi-value { color: var(--cg-bad); }

/* 月份尺：年份行 + 12 月格 + 三轨 */
.rt-ruler-card { margin-top: 26px; }
.rt-legend { padding: 4px 2px 14px; }
.rt-ruler { display: grid; gap: 10px; max-height: 430px; overflow: auto; padding: 2px; }
.rt-year { border: 1px solid var(--cg-line); border-radius: 12px; overflow: hidden; }
.rt-year-h {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 13px; background: var(--cg-surface-2); border-bottom: 1px solid var(--cg-line);
    font-family: var(--cg-num); font-size: 12.5px; font-weight: 700; color: var(--cg-ink-2);
}
.rt-year-h span { font-size: 11px; font-weight: 500; color: var(--cg-faint); font-family: var(--cg-font); }
.rt-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; padding: 9px 11px 4px; }
.rt-month {
    border: 1px solid var(--cg-line-soft); border-radius: 6px; background: var(--cg-surface-2);
    text-align: center; padding: 4px 0 5px; cursor: pointer; transition: transform .14s ease, box-shadow .14s ease;
}
.rt-month:hover { transform: translateY(-2px); box-shadow: var(--cg-shadow); border-color: var(--cg-accent); }
.rt-month b { display: block; font-family: var(--cg-num); font-size: 10.5px; color: var(--cg-faint); font-weight: 600; }
.rt-month i { display: block; height: 7px; margin: 4px 4px 0; border-radius: 3px; background: var(--cg-line); }
.rt-month.is-normal i { background: var(--cg-accent); }
.rt-month.is-gap i { background: var(--cg-warn); }
.rt-month.is-dual i { background: var(--cg-bad); }
.rt-month.is-onlyins i { background: var(--cg-info); }
.rt-month.is-out { opacity: .35; cursor: default; }
.rt-tracks { display: grid; gap: 4px; padding: 4px 11px 11px; }
.rt-track { display: grid; grid-template-columns: 44px repeat(12, minmax(0, 1fr)); gap: 3px; align-items: center; }
.rt-track > span { font-size: 10.5px; color: var(--cg-muted); }
.rt-track i { height: 7px; border-radius: 3px; background: var(--cg-line-soft); }
.rt-track i.has-edu { background: var(--cg-info); }
.rt-track i.has-work { background: var(--cg-accent); }
.rt-track i.has-ins { background: #b4892f; }
:root[data-theme="dark"] .rt-track i.has-ins { background: #e4bd69; }
.rt-track i.is-dual { background: var(--cg-bad); }
.rt-track i.is-gap { background: var(--cg-warn); }

.rt-lower { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; margin-top: 18px; align-items: start; }
.rt-table { min-width: 740px; }
.rt-table td { font-size: 12.5px; }
.rt-seg-state { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; }
.rt-side { display: grid; gap: 14px; }
.rt-side .cg-card + .cg-card { margin-top: 0; }
.rt-list { display: grid; gap: 7px; max-height: 230px; overflow: auto; }
.rt-item { font-size: 12px; line-height: 1.7; padding: 8px 10px; border-radius: 8px; background: var(--cg-surface-2); border-left: 3px solid var(--cg-accent); color: var(--cg-ink-2); }
.rt-item--warn { border-left-color: var(--cg-warn); }
.rt-item--bad { border-left-color: var(--cg-bad); }
.rt-item b { color: var(--cg-ink); }
.rt-item .cg-src { display: block; margin-top: 3px; }

@media print {
    .rt-lead .rt-ruler-demo, .rt-console, .rt-legend { display: none !important; }
    .rt-lower { display: block; }
    .rt-side { display: none !important; }
    .rt-table { min-width: 0; }
}
@media (max-width: 1080px) {
    .rt-hero, .rt-lower { grid-template-columns: 1fr; }
    .rt-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .rt-hero { gap: 22px; padding-top: 14px; }
    .rt-side { grid-template-columns: 1fr; }
    .rt-months { gap: 2px; padding: 8px 7px 3px; }
    .rt-month b { font-size: 9px; }
    .rt-track { grid-template-columns: 32px repeat(12, minmax(0, 1fr)); gap: 2px; }
    .rt-track > span { font-size: 9px; }
    .rt-ruler-demo { display: none; }
}
