/* Scoped Admin financial configuration, using existing Staff surfaces and tokens. */
body.staff-app.staff-shell-visible .pfc { color:var(--staff-foundation-text); max-width:1160px; }
body.staff-app.staff-shell-visible .pfc-header,
body.staff-app.staff-shell-visible .pfc-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
body.staff-app.staff-shell-visible .pfc-header { margin:4px 0 18px; }
body.staff-app.staff-shell-visible .pfc-header h2 { margin:0 0 4px; }
body.staff-app.staff-shell-visible .pfc-header-actions,
body.staff-app.staff-shell-visible .pfc-section-head,
body.staff-app.staff-shell-visible .pfc-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
body.staff-app.staff-shell-visible .pfc-section-head { justify-content:space-between; margin-bottom:14px; }
body.staff-app.staff-shell-visible .pfc-section-head h3,
body.staff-app.staff-shell-visible .pfc-section-title { margin:0 0 12px; }
body.staff-app.staff-shell-visible .pfc-header p,
body.staff-app.staff-shell-visible .pfc-note { color:var(--staff-foundation-text-muted); margin:3px 0 0; }
body.staff-app.staff-shell-visible .pfc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:14px; margin-bottom:16px; }
body.staff-app.staff-shell-visible .pfc-card,
body.staff-app.staff-shell-visible .pfc-teacher-editor { background:var(--staff-foundation-surface); border:1px solid var(--staff-foundation-border); border-radius:14px; padding:18px; margin-bottom:16px; min-width:0; }
body.staff-app.staff-shell-visible .pfc-card h3 { margin:0 0 12px; }
body.staff-app.staff-shell-visible .pfc-card-head h3 { overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-profile { display:flex; flex-direction:column; }
body.staff-app.staff-shell-visible .pfc-profile .pfc-card-head { align-items:center; flex-wrap:nowrap; }
body.staff-app.staff-shell-visible .pfc-profile .pfc-card-head h3 { flex:1; min-width:0; }
body.staff-app.staff-shell-visible .pfc-profile .pfc-overflow { flex:none; }
body.staff-app.staff-shell-visible .pfc-rate-state { border-top:1px solid var(--staff-foundation-border); padding:12px 0; }
body.staff-app.staff-shell-visible .pfc-state { display:flex; flex-wrap:wrap; gap:4px 8px; margin:0 0 12px; }
body.staff-app.staff-shell-visible .pfc-state time,
body.staff-app.staff-shell-visible .pfc-count { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-count { margin:10px 0 0; font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-card-actions { margin-top:auto; padding-top:12px; border-top:1px solid var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-overflow { position:relative; margin:0; }
body.staff-app.staff-shell-visible .pfc-overflow summary { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); list-style:none; }
body.staff-app.staff-shell-visible .pfc-overflow summary::-webkit-details-marker { display:none; }
body.staff-app.staff-shell-visible .pfc-overflow-menu { position:absolute; z-index:2; right:0; top:100%; width:max-content; max-width:min(280px,80vw); padding:8px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); box-shadow:var(--staff-foundation-elevation-overlay); }
body.staff-app.staff-shell-visible .pfc-overflow-menu button { display:block; width:100%; text-align:left; }
body.staff-app.staff-shell-visible .pfc-history-disclosure { flex:1 1 100%; }
body.staff-app.staff-shell-visible .pfc-history-disclosure ul { padding-left:20px; }
body.staff-app.staff-shell-visible .pfc-assignment-head,
body.staff-app.staff-shell-visible .pfc-assignment-row { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) auto; align-items:center; gap:10px; }
body.staff-app.staff-shell-visible .pfc-assignment-head { color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); font-weight:600; }
body.staff-app.staff-shell-visible .pfc-assignment-row { border-top:1px solid var(--staff-foundation-border); padding:10px 0; }
body.staff-app.staff-shell-visible .pfc-assignment-row > * { min-width:0; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-all-history h4 { margin:14px 0 6px; }
body.staff-app.staff-shell-visible .pfc-dialog { position:fixed; inset:0; margin:auto; box-sizing:border-box; width:min(540px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); padding:20px; }
body.staff-app.staff-shell-visible .pfc-dialog::backdrop { background:rgba(0,0,0,.48); }
body.staff-app.staff-shell-visible .pfc-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
body.staff-app.staff-shell-visible .pfc-dialog-head h2 { margin:0; }
body.staff-app.staff-shell-visible .pfc-dialog .pfc-form { grid-template-columns:1fr; }
body.staff-app.staff-shell-visible .pfc-dialog .pfc-form button { justify-self:start; }
body.staff-app.staff-shell-visible .pfc-preview dl { display:grid; gap:8px; margin:16px 0 0; }
body.staff-app.staff-shell-visible .pfc-preview dl > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; border-top:1px solid var(--staff-foundation-border); padding-top:8px; }
body.staff-app.staff-shell-visible .pfc-preview dt { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-preview dd { margin:0; font-weight:700; text-align:right; }
body.staff-app.staff-shell-visible .pfc-dialog-status { color:var(--staff-foundation-status-error); }
body.staff-app.staff-shell-visible .pfc-card p { line-height:1.5; }
body.staff-app.staff-shell-visible .pfc-card details { margin-top:12px; }
body.staff-app.staff-shell-visible .pfc-card summary { cursor:pointer; font-weight:600; }
body.staff-app.staff-shell-visible .pfc-card li { margin:8px 0; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-card li button { margin:3px; }
body.staff-app.staff-shell-visible .pfc-rate-grid { display:grid; gap:8px; }
body.staff-app.staff-shell-visible .pfc-version-rates { margin:8px 0 12px; }
body.staff-app.staff-shell-visible .pfc-rate-grid div { display:flex; justify-content:space-between; gap:10px; }
body.staff-app.staff-shell-visible .pfc-rate-grid strong { text-align:right; }
body.staff-app.staff-shell-visible .pfc-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.staff-app.staff-shell-visible .pfc-form label { display:grid; gap:5px; font-weight:600; min-width:0; }
body.staff-app.staff-shell-visible .pfc-form input,
body.staff-app.staff-shell-visible .pfc-form select,
body.staff-app.staff-shell-visible .pfc-teacher-editor input,
body.staff-app.staff-shell-visible .pfc-teacher-editor select { width:100%; min-height:42px; border:1px solid var(--staff-foundation-border); border-radius:8px; background:var(--staff-foundation-surface); color:inherit; padding:8px; }
body.staff-app.staff-shell-visible .pfc button { min-height:44px; border-radius:8px; padding:8px 12px; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc :is(button,summary,input,select):focus-visible { outline:3px solid var(--staff-foundation-focus); outline-offset:2px; }
body.staff-app.staff-shell-visible .pfc-primary { background:var(--staff-accent-strong); color:var(--staff-foundation-surface); border:1px solid transparent; }
body.staff-app.staff-shell-visible .pfc-wide,
body.staff-app.staff-shell-visible .pfc-actions { grid-column:1/-1; }
body.staff-app.staff-shell-visible .pfc-actions { display:flex; flex-wrap:wrap; gap:10px; }
body.staff-app.staff-shell-visible .pfc-rate-fields { display:grid; gap:10px; padding:12px; border:1px solid var(--staff-foundation-border); border-radius:10px; }
body.staff-app.staff-shell-visible .pfc-rate-fields legend { font-weight:700; }
body.staff-app.staff-shell-visible .pfc-status { min-height:1.5em; }
body.staff-app.staff-shell-visible .pfc-status[data-error="true"] { color:var(--staff-foundation-status-error); }
body.staff-app.staff-shell-visible .pfc-preview { overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-teacher-editor { margin-top:12px; }
body.staff-app.staff-shell-visible .pfc-teacher-editor label { display:block; margin-top:10px; }
body.staff-app.staff-shell-visible .pfc-teacher-editor details { margin-top:14px; }
body.staff-app.staff-shell-visible .pfc-teacher-editor summary { cursor:pointer; }
body.staff-app.staff-shell-visible .pfc [hidden] { display:none !important; }
/* Payment policies: one catalog, grouped by exact canonical situation and session type. */
body.staff-app.staff-shell-visible .pfc-policy-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
body.staff-app.staff-shell-visible .pfc-policy-metric { display:grid; gap:3px; min-width:0; padding:12px 14px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-policy-metric span,
body.staff-app.staff-shell-visible .pfc-policy-metric small { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-policy-metric strong { font-size:1.5rem; line-height:1.2; }
body.staff-app.staff-shell-visible .pfc-policy-tabs { display:flex; gap:4px; margin-bottom:14px; padding:4px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface-soft); }
body.staff-app.staff-shell-visible .pfc-policy-tabs button { flex:1; border:1px solid transparent; background:transparent; color:var(--staff-foundation-text); font-weight:700; }
body.staff-app.staff-shell-visible .pfc-policy-tabs button[aria-selected="true"] { border-color:var(--staff-foundation-border); background:var(--staff-foundation-surface); box-shadow:var(--staff-foundation-elevation-overlay); }
body.staff-app.staff-shell-visible .pfc-policy-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,1.4fr); gap:10px; margin-bottom:16px; padding:14px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-policy-filters label { display:grid; gap:5px; min-width:0; font-size:var(--staff-foundation-type-label); font-weight:600; }
body.staff-app.staff-shell-visible .pfc-policy-filters :is(select,input) { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:8px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); font:inherit; }
body.staff-app.staff-shell-visible .pfc-policy-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,355px); align-items:start; gap:16px; }
body.staff-app.staff-shell-visible .pfc-policy-list { display:grid; align-content:start; gap:12px; min-width:0; }
body.staff-app.staff-shell-visible .pfc-policy-group { min-width:0; padding:12px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-policy-group h3 { display:flex; justify-content:space-between; gap:12px; margin:0 0 8px; font-size:var(--staff-foundation-type-body); }
body.staff-app.staff-shell-visible .pfc-policy-group h3 span { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-policy-rows { display:grid; gap:6px; }
body.staff-app.staff-shell-visible .pfc-policy-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; min-width:0; padding:8px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); }
body.staff-app.staff-shell-visible .pfc-policy-open { display:grid; gap:4px; min-width:0; text-align:left; border:0; background:transparent; color:var(--staff-foundation-text); }
body.staff-app.staff-shell-visible .pfc-policy-open[aria-pressed="true"] { background:var(--staff-foundation-surface-soft); }
body.staff-app.staff-shell-visible .pfc-policy-name { font-weight:800; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-meta,
body.staff-app.staff-shell-visible .pfc-policy-date { color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-policy-badges { display:flex; flex-wrap:wrap; gap:5px; }
body.staff-app.staff-shell-visible .pfc-policy-badge { display:inline-flex; align-items:center; width:fit-content; max-width:100%; padding:2px 8px; border:1px solid var(--staff-foundation-border); border-radius:99px; background:var(--staff-foundation-surface-soft); color:var(--staff-foundation-text); font-size:var(--staff-foundation-type-label); font-weight:650; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-row-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:end; gap:5px; }
body.staff-app.staff-shell-visible .pfc-policy-row-actions > button { min-height:44px; }
body.staff-app.staff-shell-visible .pfc-policy-inspector { position:sticky; top:76px; max-height:calc(100dvh - 92px); overflow:auto; min-width:0; padding:16px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); }
html[data-theme="dark"] body.staff-app.staff-shell-visible .pfc-policy-inspector { scrollbar-color:var(--staff-foundation-border) var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-policy-inspector-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
body.staff-app.staff-shell-visible .pfc-policy-inspector-head h3 { margin:0 0 5px; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-inspector-head p { margin:0 0 12px; color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-eyebrow { font-size:var(--staff-foundation-type-meta); font-weight:700; }
body.staff-app.staff-shell-visible .pfc-policy-rule { display:grid; gap:7px; margin:8px 0; padding:12px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface-soft); }
body.staff-app.staff-shell-visible .pfc-policy-rule strong { overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-rule time { color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-policy-inspector h4,
body.staff-app.staff-shell-visible .pfc-policy-sheet h4 { margin:18px 0 8px; }
body.staff-app.staff-shell-visible .pfc-policy-fields { display:grid; gap:0; margin:0; }
body.staff-app.staff-shell-visible .pfc-policy-fields div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; padding:8px 0; border-bottom:1px solid var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-policy-fields dt { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-policy-fields dd { margin:0; text-align:right; font-weight:600; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-history ol { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
body.staff-app.staff-shell-visible .pfc-policy-history li { display:grid; gap:3px; padding:10px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); }
body.staff-app.staff-shell-visible .pfc-policy-history li span { overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-history-actions { display:flex; flex-wrap:wrap; gap:6px; }
body.staff-app.staff-shell-visible .pfc-policy-technical { margin-top:14px; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-policy-sheet { position:fixed; inset:0; margin:auto; box-sizing:border-box; width:min(760px,calc(100vw - 16px)); max-height:calc(100dvh - 16px); overflow:auto; padding:18px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); }
body.staff-app.staff-shell-visible .pfc-policy-sheet::backdrop { background:rgba(0,0,0,.48); }
body.staff-app.staff-shell-visible .pfc-policy-sheet [data-policy-sheet-close] { flex:none; }
body.staff-app.staff-shell-visible .pfc-policy-filters :is(input,select):focus-visible,
body.staff-app.staff-shell-visible .pfc-policy-tabs button:focus-visible,
body.staff-app.staff-shell-visible .pfc-policy-sheet :is(button,summary):focus-visible { outline:3px solid var(--staff-foundation-focus); outline-offset:2px; }
@media (max-width:1049px) {
  body.staff-app.staff-shell-visible .pfc-policy-layout { display:block; }
  body.staff-app.staff-shell-visible .pfc-policy-inspector { display:none; }
  body.staff-app.staff-shell-visible .pfc-policy-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:780px) {
  body.staff-app.staff-shell-visible .pfc-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.staff-app.staff-shell-visible .pfc { padding-bottom:calc(var(--staff-foundation-mobile-nav-height,64px) + env(safe-area-inset-bottom) + 20px); }
  body.staff-app.staff-shell-visible .pfc-assignment-head { display:none; }
  body.staff-app.staff-shell-visible .pfc-assignment-list { display:grid; gap:10px; }
  body.staff-app.staff-shell-visible .pfc-assignment-row { grid-template-columns:minmax(0,1fr) auto; padding:12px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); }
  body.staff-app.staff-shell-visible .pfc-assignment-row > :not(button) { grid-column:1; }
  body.staff-app.staff-shell-visible .pfc-assignment-row button { grid-column:2; grid-row:1 / span 4; align-self:center; }
}
@media (max-width:520px) {
  body.staff-app.staff-shell-visible .pfc-header { flex-direction:column; }
  body.staff-app.staff-shell-visible .pfc-header-actions { width:100%; }
  body.staff-app.staff-shell-visible .pfc-header-actions button { flex:1 1 auto; }
  body.staff-app.staff-shell-visible .pfc-form { grid-template-columns:1fr; }
  body.staff-app.staff-shell-visible .pfc-card-head { flex-wrap:wrap; }
  body.staff-app.staff-shell-visible .pfc-rate-grid div { flex-direction:column; gap:2px; }
  body.staff-app.staff-shell-visible .pfc-rate-grid strong { text-align:left; }
}
@media (max-width:640px) {
  body.staff-app.staff-shell-visible .pfc-policy-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.staff-app.staff-shell-visible .pfc-policy-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; }
  body.staff-app.staff-shell-visible .pfc-policy-filters label:last-child { grid-column:1/-1; }
  body.staff-app.staff-shell-visible .pfc-policy-row { grid-template-columns:1fr; }
  body.staff-app.staff-shell-visible .pfc-policy-row-actions { justify-content:start; }
  body.staff-app.staff-shell-visible .pfc-policy-sheet { inset:0; width:100vw; height:100dvh; max-height:100dvh; border-radius:0; border:0; padding:20px 16px calc(20px + env(safe-area-inset-bottom)); }
}
/* Payment Policies actions share the approved Teacher Rates hierarchy. */
body.staff-app.staff-shell-visible .pfc-policy-mode button:not(:where(.pfc-policy-open,[data-policy-session])) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); font:600 var(--staff-foundation-type-label)/1.25 var(--staff-font); }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-primary { border-color:var(--staff-accent-strong); background:var(--staff-accent-strong); color:var(--staff-on-accent); }
body.staff-app.staff-shell-visible .pfc-policy-mode :is([data-policy-query-open],[data-policy-new]:not([data-policy-new=""]),[data-policy-activate]) { border-color:var(--staff-foundation-border); background:var(--staff-foundation-surface-soft); color:var(--staff-accent-strong); }
body.staff-app.staff-shell-visible .pfc-policy-mode :is([data-policy-refresh],[data-policy-history],[data-policy-sheet-close],[data-dialog-close],[data-policy-edit]) { border-color:transparent; background:transparent; color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-policy-mode :is([data-policy-query-open],[data-policy-new]:not([data-policy-new=""]),[data-policy-activate],[data-policy-refresh],[data-policy-history],[data-policy-sheet-close],[data-dialog-close],[data-policy-edit]):hover { border-color:var(--staff-accent); background:var(--staff-accent-soft); color:var(--staff-accent-strong); }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-primary:hover { background:var(--staff-accent); border-color:var(--staff-accent); }
body.staff-app.staff-shell-visible .pfc-policy-mode button:disabled { opacity:.55; cursor:not-allowed; }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-overflow summary { display:grid; place-items:center; width:44px; height:44px; padding:0; background:var(--staff-foundation-surface); color:var(--staff-foundation-text); font-size:1.35rem; line-height:1; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-overflow summary:hover { border-color:var(--staff-accent); background:var(--staff-accent-soft); color:var(--staff-accent-strong); }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-overflow-menu button { justify-content:flex-start; color:var(--staff-foundation-status-error); }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-overflow-menu button:hover { background:var(--staff-foundation-surface-soft); }
body.staff-app.staff-shell-visible .pfc-policy-mode .pfc-policy-tabs button:hover:not([aria-selected="true"]) { background:var(--staff-accent-soft); color:var(--staff-accent-strong); }

/* Teacher Rates controls and history use Staff tokens. */
body.staff-app.staff-shell-visible .pfc-rate-mode button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); font:600 var(--staff-foundation-type-label)/1.25 var(--staff-font); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-primary { border-color:var(--staff-accent-strong); background:var(--staff-accent-strong); color:var(--staff-on-accent); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-secondary { border-color:var(--staff-foundation-border); background:var(--staff-foundation-surface-soft); color:var(--staff-accent-strong); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-ghost { border-color:transparent; background:transparent; color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-rate-mode :is(.pfc-secondary,.pfc-ghost):hover { border-color:var(--staff-accent); background:var(--staff-accent-soft); color:var(--staff-accent-strong); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-action-icon { display:inline-grid; flex:none; place-items:center; width:18px; height:18px; font-size:1.25rem; line-height:1; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-card { border-radius:var(--staff-foundation-radius-surface); padding:18px; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-grid { align-items:start; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-profile .pfc-card-head { align-items:center; min-height:44px; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-profile .pfc-card-head h3 { margin:0; line-height:1.3; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-overflow summary { display:grid; place-items:center; width:44px; height:44px; padding:0; background:var(--staff-foundation-surface); color:var(--staff-foundation-text); font-size:1.35rem; line-height:1; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-overflow-menu button { justify-content:flex-start; background:var(--staff-foundation-surface); color:var(--staff-foundation-status-error); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-rate-state { padding:14px 0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-state { align-items:center; gap:6px 10px; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-state strong { display:inline-flex; align-items:center; padding:3px 9px; border:1px solid var(--staff-foundation-border); border-radius:99px; background:var(--staff-foundation-surface-soft); font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-rate-grid { gap:0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-rate-grid div { display:grid; grid-template-columns:minmax(75px,.45fr) minmax(0,1fr); align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-rate-grid div:last-child { border-bottom:0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-rate-grid strong { text-align:right; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-card-actions { align-items:center; gap:8px; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-history-disclosure { flex:1 1 auto; margin:0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-history-disclosure > summary { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px; color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); font-weight:700; list-style:none; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-history-disclosure > summary::-webkit-details-marker,
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-all-history-disclosure > summary::-webkit-details-marker { display:none; }
body.staff-app.staff-shell-visible .pfc-rate-mode :is(.pfc-history-disclosure,.pfc-all-history-disclosure) > summary .pfc-action-icon { box-sizing:border-box; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin:0 3px 4px; }
body.staff-app.staff-shell-visible .pfc-rate-mode :is(.pfc-history-disclosure,.pfc-all-history-disclosure)[open] > summary .pfc-action-icon { transform:rotate(225deg); margin:4px 3px 0; }
body.staff-app.staff-shell-visible .pfc-rate-version-list { display:grid; gap:10px; padding-top:12px; }
body.staff-app.staff-shell-visible .pfc-rate-history-entry,
body.staff-app.staff-shell-visible .pfc-assignment-history-entry { min-width:0; padding:14px; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-control); background:var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-rate-history-head,
body.staff-app.staff-shell-visible .pfc-assignment-history-entry { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
body.staff-app.staff-shell-visible .pfc-rate-history-head > div:first-child,
body.staff-app.staff-shell-visible .pfc-assignment-history-entry > div:first-child { display:grid; gap:3px; min-width:0; }
body.staff-app.staff-shell-visible .pfc-rate-history-head strong,
body.staff-app.staff-shell-visible .pfc-assignment-history-entry strong { overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-rate-history-head span:not(.pfc-rate-badge),
body.staff-app.staff-shell-visible .pfc-assignment-history-entry div:first-child span { color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-rate-history-period { display:grid; justify-items:end; gap:4px; flex:none; text-align:right; }
body.staff-app.staff-shell-visible .pfc-rate-history-period time { color:var(--staff-foundation-text-muted); font-size:var(--staff-foundation-type-label); }
body.staff-app.staff-shell-visible .pfc-rate-badge { display:inline-flex; align-items:center; width:fit-content; padding:3px 9px; border:1px solid var(--staff-foundation-border); border-radius:99px; background:var(--staff-foundation-surface-soft); color:var(--staff-foundation-text); font-size:var(--staff-foundation-type-label); font-weight:700; }
body.staff-app.staff-shell-visible .pfc-rate-history-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row { min-height:62px; border-color:var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row > * { min-width:0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-profile { font-weight:650; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-all-history { padding:0; overflow:hidden; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-all-history-disclosure { margin:0; }
body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-all-history-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; list-style:none; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc-all-history-disclosure > summary > span:first-child { display:grid; gap:4px; }
body.staff-app.staff-shell-visible .pfc-all-history-disclosure > summary strong { font-size:var(--staff-foundation-type-body); }
body.staff-app.staff-shell-visible .pfc-all-history-disclosure > summary small { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-all-history-body { display:grid; gap:22px; padding:0 18px 18px; border-top:1px solid var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-all-history-body h4 { margin:18px 0 10px; font-size:var(--staff-foundation-type-label); letter-spacing:.06em; text-transform:uppercase; }
body.staff-app.staff-shell-visible .pfc-rate-history-list,
body.staff-app.staff-shell-visible .pfc-assignment-history-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:10px; }
body.staff-app.staff-shell-visible .pfc-rate-drawer { position:fixed; inset:0 0 0 auto; box-sizing:border-box; width:min(560px,calc(100vw - 24px)); max-width:100vw; height:100dvh; max-height:100dvh; margin:0 0 0 auto; padding:0; overflow:auto; border:1px solid var(--staff-foundation-border); border-radius:var(--staff-foundation-radius-surface) 0 0 var(--staff-foundation-radius-surface); background:var(--staff-foundation-surface); color:var(--staff-foundation-text); box-shadow:var(--staff-foundation-elevation-overlay); }
body.staff-app.staff-shell-visible .pfc-rate-drawer::backdrop { background:rgba(0,0,0,.42); }
body.staff-app.staff-shell-visible .pfc-rate-drawer-head { position:sticky; top:0; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--staff-foundation-border); background:var(--staff-foundation-surface); }
body.staff-app.staff-shell-visible .pfc-rate-drawer-head small { color:var(--staff-foundation-text-muted); }
body.staff-app.staff-shell-visible .pfc-rate-drawer-head h3 { margin:4px 0 0; font-size:1.18rem; overflow-wrap:anywhere; }
body.staff-app.staff-shell-visible .pfc-rate-drawer-close { flex:none; width:44px; height:44px; padding:0; }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:18px 20px calc(22px + env(safe-area-inset-bottom)); }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-form > label:first-of-type,
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-rate-fields { grid-column:1/-1; }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-rate-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-rate-fields label { min-width:0; }
body.staff-app.staff-shell-visible .pfc-rate-drawer :is(input,select) { box-sizing:border-box; min-width:0; min-height:44px; }
body.staff-app.staff-shell-visible .pfc-rate-drawer input[type="date"] { color-scheme:light; }
html[data-theme="dark"] body.staff-app.staff-shell-visible .pfc-rate-drawer input[type="date"] { color-scheme:dark; }
body.staff-app.staff-shell-visible .pfc-rate-drawer input[type="date"]::-webkit-calendar-picker-indicator { width:18px; height:18px; cursor:pointer; }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-actions { position:sticky; bottom:0; z-index:1; justify-content:flex-end; padding:12px 0; background:var(--staff-foundation-surface); border-top:1px solid var(--staff-foundation-border); }
body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-dialog-status { margin:0 20px 18px; }
@media (max-width:780px) {
  body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row { grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; }
  body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row > :not(button) { grid-column:1; }
  body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row button { grid-column:2; grid-row:1 / span 4; }
  body.staff-app.staff-shell-visible .pfc-rate-mode .pfc-assignment-row [data-label]::before { content:attr(data-label) ' · '; color:var(--staff-foundation-text-muted); font-weight:500; }
}
@media (max-width:600px) {
  body.staff-app.staff-shell-visible .pfc-rate-drawer { inset:0; width:100%; max-width:100%; height:100dvh; margin:0; border:0; border-radius:0; }
  body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-rate-fields { grid-template-columns:1fr; }
  body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-form { grid-template-columns:1fr; padding:14px 16px calc(80px + env(safe-area-inset-bottom)); }
  body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-form > label { grid-column:1; }
  body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-actions { flex-wrap:wrap; }
  body.staff-app.staff-shell-visible .pfc-rate-drawer .pfc-actions button { flex:1 1 145px; }
  body.staff-app.staff-shell-visible .pfc-rate-history-head,
  body.staff-app.staff-shell-visible .pfc-assignment-history-entry { flex-wrap:wrap; }
  body.staff-app.staff-shell-visible .pfc-rate-history-period { justify-items:start; text-align:left; }
}
