.ps-settle { font-variant-numeric: tabular-nums; letter-spacing: 0; }
.ps-settle h2, .ps-help h2 { font-size: 1rem; line-height: 1.5; }
.ps-month { display: flex; align-items: center; justify-content: space-between; padding: .875rem 1.25rem; background: #fff; }
.ps-month__nav { display: grid; grid-template-columns: 2.5rem minmax(8.75rem, 1fr) 2.5rem; align-items: center; }
.ps-month__nav > a, .ps-pagination a { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; font-size: 1.4rem; }
.ps-month form { position: relative; text-align: center; min-width: 0; }
.ps-month label { display: flex; justify-content: center; gap: .375rem; font-size: 1.125rem; font-weight: 700; }
.ps-month input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ps-month form:focus-within { outline: 2px solid var(--pm-green); outline-offset: .125rem; }
.ps-current { color: var(--pm-green-d); font-size: .8125rem; padding: .625rem .25rem; white-space: nowrap; }
.ps-overview { background: #fff; padding: .5rem 1.25rem 1.25rem; }
.ps-company { font-size: .75rem; color: var(--pm-sub); overflow-wrap: anywhere; line-height: 1.6; }
.ps-overview h2 { margin-top: .5rem; font-size: .8125rem; font-weight: 500; }
.ps-total { font-size: 2rem; line-height: 1.5; font-weight: 750; color: #2563eb; overflow-wrap: anywhere; }
.ps-total span, .ps-detail__total span { font-size: 1rem; font-weight: 500; margin-left: .25rem; }
.ps-metrics { display: flex; flex-wrap: wrap; gap: .625rem 1.5rem; margin-top: .625rem; font-size: .75rem; color: var(--pm-sub); }
.ps-metrics b { margin-left: .375rem; color: var(--pm-text); }
.ps-checked { font-size: .6875rem; color: var(--pm-sub); margin-top: .75rem; }
.ps-calendar { padding: 1rem 1rem .75rem; background: #fff; border-top: 1px solid var(--pm-line); }
.ps-weekdays, .ps-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .1875rem; }
.ps-weekdays { text-align: center; font-size: .6875rem; color: var(--pm-sub); padding-bottom: .625rem; }
.ps-week { margin-bottom: .25rem; }
.ps-day { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .25rem; height: 3.75rem; padding: .375rem .125rem; border: 1px solid transparent; border-radius: .375rem; font-size: .8125rem; }
.ps-day small { font-size: .5625rem; color: var(--pm-green-d); line-height: 1; }
.ps-day i, .ps-legend i { display: inline-block; width: .25rem; height: .25rem; border-radius: 50%; background: var(--pm-green); }
.ps-day[data-scheduled="true"] { background: #edf8f4; }
.ps-day[data-today="true"] { border-color: var(--pm-green); font-weight: 700; }
.ps-week > :first-child, .ps-weekdays > :first-child { color: #cf3f4c; }
.ps-week > :last-child, .ps-weekdays > :last-child { color: #2563eb; }
.ps-legend { display: flex; justify-content: flex-end; align-items: center; gap: 1rem; font-size: .625rem; color: var(--pm-sub); padding: .5rem 0; }
.ps-legend i { margin-right: .25rem; }
.ps-legend__today { border-bottom: 1px solid var(--pm-green); }
.ps-schedule { background: #fff; margin-top: .5rem; padding: 1.125rem 1.25rem 0; }
.ps-section-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: .75rem; }
.ps-section-head > span { color: var(--pm-sub); font-size: .75rem; }
.ps-row { display: flex; align-items: center; gap: 1rem; border-top: 1px solid var(--pm-line); padding: 1rem 0; }
.ps-row__date { width: 2.5rem; flex: none; display: flex; flex-direction: column; text-align: center; gap: .25rem; }
.ps-row__date b { font-size: 1.25rem; }
.ps-row small { color: var(--pm-sub); font-size: .6875rem; }
.ps-row__body { display: flex; flex-direction: column; flex: 1; min-width: 0; gap: .3125rem; }
.ps-row__body b { color: #2563eb; font-size: 1.0625rem; overflow-wrap: anywhere; }
.ps-row > i { color: var(--pm-sub); }
.ps-note { padding: .75rem 1.25rem 0; font-size: .6875rem; color: var(--pm-sub); line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
.ps-note:last-child { padding-bottom: 1.25rem; }
.ps-empty { text-align: center; padding: 2rem .5rem; }
.ps-empty > i { font-size: 2rem; color: var(--pm-sub); }
.ps-empty h3 { font-size: .9375rem; margin: .5rem 0; }
.ps-empty p { font-size: .8125rem; color: var(--pm-sub); line-height: 1.6; }
.ps-help, .ps-detail { padding: .75rem 1.25rem 1.25rem; }
.ps-help p { font-size: .875rem; color: var(--pm-sub); line-height: 1.8; margin-top: 1rem; word-break: keep-all; }
.ps-confirm { width: 100%; min-height: 3.25rem; margin-top: 1.25rem; background: var(--pm-green); color: #fff; border-radius: .5rem; font-size: .9375rem; font-weight: 600; }
.ps-detail__total { font-size: 1.75rem; font-weight: 700; color: #2563eb; overflow-wrap: anywhere; }
.ps-trade { padding: 1rem 0; border-bottom: 1px solid var(--pm-line); }
.ps-trade__head { display: flex; justify-content: space-between; font-size: .6875rem; color: var(--pm-sub); }
.ps-trade h3 { font-size: .9375rem; line-height: 1.5; margin: .625rem 0; word-break: keep-all; overflow-wrap: anywhere; }
.ps-trade dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .8125rem; line-height: 1.8; }
.ps-trade dt { color: var(--pm-sub); flex: none; }
.ps-trade dd { text-align: right; overflow-wrap: anywhere; }
.ps-trade__amount { color: #2563eb; font-weight: 600; }
.ps-total[data-negative="true"], .ps-detail__total[data-negative="true"], .ps-row[data-negative="true"] .ps-row__body b,
.ps-trade[data-state="1"] .ps-trade__amount, .ps-trade[data-state="2"] .ps-trade__amount { color: #cf3f4c; }
.ps-trade > a { display: flex; align-items: center; justify-content: flex-end; min-height: 2.5rem; font-size: .75rem; color: var(--pm-green-d); }
.ps-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding-top: .75rem; font-size: .8125rem; }
.ps-error { padding: .75rem 1.25rem; color: #cf3f4c; font-size: .8125rem; }
.ps-settle a:focus-visible, .ps-confirm:focus-visible { outline: 2px solid var(--pm-green); outline-offset: 2px; }
@media (min-width: 600px) { .ps-day { height: 4.5rem; } }
