/* ===== Revision Plan panel (Mechanics M1 Rebuild Fortnight) ===== */
.rp{font-family:'Inter',sans-serif;color:#334155;padding:1.5rem;}
.rp *{box-sizing:border-box;}

/* ── intro ── */
.rp-lede{font-size:0.92rem;line-height:1.7;color:#475569;max-width:70ch;margin:0 0 1.25rem;}
.rp-lede strong{color:#1e293b;font-weight:600;}

.rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:1px;
  background:#e5e7eb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:2.25rem;}
.rp-stat{background:#fff;padding:0.85rem 1rem 0.95rem;}
.rp-stat-k{display:block;font-size:0.63rem;letter-spacing:0.12em;text-transform:uppercase;
  color:#94a3b8;font-weight:600;margin-bottom:0.35rem;}
.rp-stat-v{font-size:1.4rem;font-weight:700;color:#1e293b;line-height:1.15;font-variant-numeric:tabular-nums;}
.rp-stat-v small{font-size:0.72rem;font-weight:500;color:#94a3b8;margin-left:3px;}

/* ── section frame ── */
.rp-sec{margin-bottom:2.25rem;}
.rp-sec-head{display:flex;align-items:baseline;gap:0.75rem;flex-wrap:wrap;
  border-bottom:1px solid #e2e8f0;padding-bottom:0.5rem;margin-bottom:1.1rem;}
.rp-sec-title{font-size:1.02rem;font-weight:600;color:#1e293b;margin:0;}
.rp-sec-note{font-size:0.75rem;color:#94a3b8;margin-left:auto;}
.rp-p{font-size:0.88rem;line-height:1.7;color:#475569;margin:0.9rem 0 0;max-width:72ch;}
.rp-p strong{color:#1e293b;font-weight:600;}

/* ── diagnostic bars ── */
.rp-diag{display:flex;flex-direction:column;gap:2px;}
.rp-drow{display:grid;grid-template-columns:minmax(0,15rem) 1fr 10.5rem;align-items:center;
  gap:0.9rem;padding:0.5rem 0.7rem;border-radius:7px;}
.rp-drow.is-focus{background:#fff7ed;}
.rp-dq{font-size:0.83rem;font-weight:600;color:#1e293b;line-height:1.3;}
.rp-dq span{display:block;font-size:0.66rem;font-weight:500;letter-spacing:0.06em;
  text-transform:uppercase;color:#94a3b8;margin-top:2px;}
.rp-track{height:11px;background:#f1f5f9;border-radius:3px;overflow:hidden;}
.rp-fill{height:100%;background:#94a3b8;border-radius:3px;}
.rp-drow.is-focus .rp-fill{background:#c2410c;}
.rp-dn{font-size:0.73rem;color:#94a3b8;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.rp-dn b{color:#1e293b;font-weight:600;}
.rp-drow.is-focus .rp-dn b{color:#c2410c;}

/* ── tables ── */
.rp-tblwrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}
.rp-tbl{width:100%;min-width:34rem;border-collapse:collapse;font-size:0.82rem;}
.rp-tbl th,.rp-tbl td{padding:0.6rem 0.9rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top;}
.rp-tbl th{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:#94a3b8;
  font-weight:600;background:#f8fafc;white-space:nowrap;}
.rp-tbl tr:last-child td{border-bottom:0;}
.rp-tbl .rp-strong{font-weight:600;color:#1e293b;}
.rp-tbl .rp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:#1e293b;}
.rp-tbl .rp-dim{color:#94a3b8;font-size:0.76rem;}
.rp-tbl tr.rp-skip td{background:#fef2f2;}
.rp-tbl tr.rp-skip .rp-strong{color:#dc2626;text-decoration:line-through;}

/* ── lesson cards ── */
.rp-lesson{display:grid;grid-template-columns:7.5rem 1fr;gap:1.4rem;background:#fff;
  border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem 1.4rem;margin-bottom:0.75rem;}
.rp-rail{border-right:1px solid #f1f5f9;padding-right:1.1rem;}
.rp-rail-num{font-size:1.5rem;font-weight:700;color:#c2410c;line-height:1;}
.rp-rail-date{font-size:0.82rem;font-weight:600;color:#1e293b;margin-top:0.5rem;}
.rp-rail-slot{font-size:0.72rem;color:#94a3b8;margin-top:2px;line-height:1.5;font-variant-numeric:tabular-nums;}
.rp-l-title{font-size:0.98rem;font-weight:600;color:#1e293b;margin:0 0 0.45rem;}
.rp-why{font-size:0.85rem;line-height:1.65;color:#475569;margin:0;}
.rp-why b{color:#1e293b;font-weight:600;}
.rp-blk{margin-top:0.9rem;}
.rp-lbl{display:block;font-size:0.63rem;letter-spacing:0.12em;text-transform:uppercase;
  color:#94a3b8;font-weight:600;margin-bottom:0.4rem;}
.rp-blk ul{margin:0;padding-left:1.1rem;}
.rp-blk li{font-size:0.85rem;line-height:1.6;color:#475569;margin-bottom:0.3rem;}
.rp-blk li:last-child{margin-bottom:0;}
.rp-blk li b{color:#1e293b;font-weight:600;}
.rp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.rp-chip{font-size:0.72rem;padding:4px 9px;border-radius:6px;white-space:nowrap;
  background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-variant-numeric:tabular-nums;}
.rp-chip.is-hw{background:transparent;border-style:dashed;color:#94a3b8;}
.rp-note{margin-top:0.9rem;padding:0.6rem 0.85rem;background:#fff7ed;border-left:3px solid #c2410c;
  border-radius:0 7px 7px 0;font-size:0.83rem;line-height:1.6;color:#475569;}
.rp-note b{color:#9a3412;font-weight:600;}

/* ── checkpoint ── */
.rp-callout{background:#fff;border:1px solid #e5e7eb;border-top:3px solid #c2410c;
  border-radius:0 0 12px 12px;padding:1.25rem 1.4rem;}
.rp-callout h4{font-size:0.98rem;font-weight:600;color:#1e293b;margin:0 0 0.2rem;}
.rp-callout .rp-rail-slot{margin:0 0 0.75rem;}

/* ── habits ── */
.rp-habits{list-style:none;margin:0;padding:0;counter-reset:rph;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1px;
  background:#e5e7eb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;}
.rp-habits li{counter-increment:rph;background:#fff;padding:0.85rem 1rem 0.95rem;
  font-size:0.84rem;line-height:1.6;color:#475569;}
.rp-habits li::before{content:counter(rph,decimal-leading-zero);display:block;
  font-size:0.65rem;font-weight:700;color:#c2410c;letter-spacing:0.08em;margin-bottom:0.35rem;}
.rp-habits li b{color:#1e293b;font-weight:600;}

/* ── out of scope ── */
.rp-scope{border:1px dashed #cbd5e1;border-radius:12px;padding:1rem 1.2rem;background:#fff;}
.rp-scope p{font-size:0.85rem;line-height:1.7;color:#475569;margin:0 0 0.75rem;}
.rp-scope p:last-child{margin-bottom:0;}
.rp-scope b{color:#1e293b;font-weight:600;}

.rp-foot{margin-top:2rem;padding-top:0.9rem;border-top:1px solid #f1f5f9;
  font-size:0.72rem;color:#94a3b8;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}

@media (max-width:720px){
  .rp{padding:1.1rem;}
  .rp-lesson{grid-template-columns:1fr;gap:0.9rem;padding:1.1rem;}
  .rp-rail{border-right:0;border-bottom:1px solid #f1f5f9;padding-right:0;padding-bottom:0.7rem;
    display:flex;align-items:baseline;gap:0.7rem;flex-wrap:wrap;}
  .rp-rail-num{font-size:1.15rem;}
  .rp-rail-date,.rp-rail-slot{margin-top:0;}
  .rp-drow{grid-template-columns:1fr;gap:0.35rem;}
  .rp-dn{text-align:left;}
}
