/* V2.4.2: scoped components only. The approved V2.4.1-r2 page grid is unchanged. */
.ui-main .due-tabs { gap:8px; margin:12px 0; }
.ui-main .due-tabs a { min-height:42px; font-size:14px; gap:8px; }
.ui-main .due-tabs a[aria-current=page] { background:var(--accent); color:white; border-color:var(--accent); }
.ui-main .due-tabs a span { font-variant-numeric:tabular-nums; }
.ui-main .due-list .plan-line { display:grid; grid-template-columns:minmax(0,1fr) minmax(9rem,auto) minmax(12rem,.5fr); align-items:center; gap:18px; }
.ui-main .due-list .plan-line>div { min-width:0; overflow-wrap:anywhere; }
.ui-main .due-list .plan-line b { font-size:16px; }
.ui-main .due-list .plan-line small { display:block; line-height:1.6; }
.ui-main .due-list .plan-numbers { text-align:right; font-variant-numeric:tabular-nums; }
.ui-main .due-empty { padding:16px 0; }
.ui-main .due-early { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.ui-main .due-early a { display:inline-flex; min-height:44px; align-items:center; padding:8px 12px; border:1px solid var(--line); border-radius:6px; }
.ui-main .plan-status.due-upcoming { background:#edf2f6; color:#394956; }
.ui-main .plan-status.due-today { background:#e8eff7; color:#24456b; }
.ui-main .plan-status.due-overdue { background:#fff0df; color:#7a400c; }
.ui-main .plan-status.due-completed { background:#e5f3ed; color:#15553e; }
.ui-main .retired-carry-notice { margin:12px 0; }
.ui-main .retired-carry-notice summary { min-height:32px; font-weight:600; }
@media(max-width:760px) {
 .ui-main .due-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ui-main .due-tabs a { justify-content:space-between; }
 .ui-main .due-list .plan-line { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
 .ui-main .due-list .plan-line>div:last-child { grid-column:1/-1; }
 .ui-main .due-list .plan-line b { font-size:15px; }
 .ui-main .due-early a { width:100%; justify-content:center; }
}
