/* I2 — S02 플래너, S03/S14 시트, S09 결산. semantic 토큰만, .pl- 접두사만 (mockup/screens-more.css 기준) */

.pl-stack { display: grid; gap: var(--stack-gap); }
.pl-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.pl-num { font-variant-numeric: tabular-nums; }
.pl-plus { color: var(--color-primary-text); font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; }
.pl-minus { color: var(--color-text-sub); font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; }
.pl-divider { border: 0; border-top: var(--border-width) solid var(--color-divider); margin: var(--space-3) 0; }
.pl-foot { position: sticky; bottom: 0; }
.pl-foot .ds-btn--ghost { width: 100%; margin-top: var(--space-1); }
.pl-dim { opacity: 0.5; }
.pl-mt { margin-top: var(--space-4); }
.pl-radio .ds-segment__item[aria-checked="true"] { background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-1); font-weight: var(--font-weight-bold); }
.pl-ellipsis { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 주 이동 바 */
.pl-weeknav { display: grid; grid-template-columns: var(--touch-min) 1fr var(--touch-min); align-items: center; text-align: center; }
.pl-weeknav__label { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); font-variant-numeric: tabular-nums; }
.pl-weeknav__sub { display: flex; justify-content: center; margin-top: var(--space-1); }

/* 루틴 트래커 (390 안, 가로 스크롤 없음 — M12) */
.pl-card-tight { padding: var(--space-3) var(--space-2); }
.pl-tracker-title { display: block; width: 100%; min-height: var(--touch-min); padding: 0; border: 0; background: none; text-align: left; color: inherit; font: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-tracker-title:active { background: var(--color-surface-sunken); border-radius: var(--radius-sm); }
.pl-tracker-title:disabled { cursor: default; }
.pl-met { color: var(--badge-done-fg); font-weight: var(--font-weight-bold); }
@media (max-width: 374px) { .pl-tracker col.ds-tracker__title-col { width: 76px; } }

/* 목표 스테퍼 */
.pl-stepper { display: inline-flex; align-items: center; gap: var(--space-2); }
.pl-stepper output { min-width: 2ch; text-align: center; font-size: var(--font-size-2xl); font-weight: var(--font-weight-heavy); font-variant-numeric: tabular-nums; }
.pl-stepper .ds-icon-btn { border: var(--border-width) solid var(--color-border-strong); }

/* 결산 모달 */
.pl-summary { text-align: center; }
.pl-char-140 { width: 140px; height: 140px; margin: var(--space-2) auto; }
.pl-rate { font-size: var(--font-size-3xl); font-weight: var(--font-weight-heavy); font-variant-numeric: tabular-nums; line-height: 1; margin: var(--space-2) 0; }
.pl-rate small { font-size: var(--font-size-md); color: var(--color-text-sub); }
.pl-sum { display: grid; gap: var(--space-2); text-align: left; font-size: var(--font-size-sm); }
.pl-sum > div { display: flex; justify-content: space-between; gap: var(--space-2); font-variant-numeric: tabular-nums; }
.pl-sum__head { font-weight: var(--font-weight-bold); color: var(--color-text); }
