.refund-workspace { padding:20px 26px 30px; background:#f3f8fe; }
.refund-page > .refund-page-header { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-bottom:18px; }
.refund-page-header h2 { margin:0; font-size:26px; color:#132443; line-height:1.3; }
.refund-page .refund-tabs { display:flex; border:0; gap:4px; padding:4px; border-radius:6px; background:#eaf2fd; }
.refund-page .refund-tabs button { border:1px solid transparent; border-radius:5px; padding:8px 18px; min-height:36px; font-size:13px; color:#7185a4; }
.refund-page .refund-tabs button[aria-selected=true] { background:#fff6ed; color:#f17418; border-color:#ffdfbc; box-shadow:0 2px 5px #a1b7d015; }
.refund-page .refund-toolbar { margin:0 0 18px; grid-template-columns:minmax(0,1fr) auto; }
.refund-page .refund-toolbar form { justify-self:start; }
.refund-page .refund-entry-form { border:0; margin:0; padding:0; }
.refund-entry-form .entry-main { border-color:#dceafa; }
.refund-entry-form .entry-section h3 > span { width:33px; height:33px; flex-basis:33px; font-size:16px; }
.refund-entry-form .entry-section { padding-bottom:20px; }
.refund-entry-form .entry-section h3 { padding:10px 14px; margin-bottom:18px; }
.refund-entry-form .entry-section-amount h3 { color:#f07419; }
.refund-money-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.refund-date-fields { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:18px; }
.refund-deduction-field output { display:flex; align-items:center; min-height:38px; width:100%; border-radius:5px; border:1px solid #ffe0cf; background:#fff7f0; color:#eb3939; padding:6px 12px; font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; }
.refund-reference { margin-top:14px; color:#8b9bb1; font-size:12px; }
.refund-page .refund-reference summary { padding:0; cursor:pointer; }
.refund-reference input { margin-top:10px; }
.refund-section-people h3 { background:#f1f7ff; color:#2466d5; }
.refund-section-people h3 > span { background:#347af0; }
.refund-person-row { grid-template-columns:130px minmax(0,1fr) auto; gap:14px; min-height:66px; }
.refund-person-row .entry-person-label > strong { font-size:14px; }
.refund-person-row .entry-role-icon { width:36px; height:36px; flex-basis:36px; }
.refund-person-row[data-refund-role=operator] .entry-role-icon { background:#418ff7; }
.refund-person-row[data-refund-role=teacher] .entry-role-icon { background:#9670ef; }
.refund-person-row .entry-person-chip { padding:5px 7px; font-size:13px; }
.refund-person-row .entry-person-chip > i { width:25px; height:25px; flex-basis:25px; }
.refund-person-row .entry-pick-toggle { border-style:dashed; padding:7px 12px; }
.refund-picker .entry-name-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.refund-reason-fields { grid-template-columns:1.2fr 1fr; gap:20px; align-items:start; }
.refund-note-count { text-align:right; color:#91a1b9; font-size:11px; font-weight:400; }
.refund-preview-column { position:sticky; top:82px; display:flex; flex-direction:column; gap:16px; min-width:0; }
.refund-preview-column .entry-preview { position:static; margin:0; align-self:stretch; width:100%; }
.refund-summary .entry-preview-totals { grid-template-columns:minmax(80px,1fr) minmax(0,1.25fr); }
.refund-summary .entry-preview-totals dt,.refund-summary .entry-preview-totals dd { padding:15px 0; font-size:13px; }
.refund-summary .entry-preview-totals [data-refund-auto] { font-size:21px; font-weight:700; white-space:nowrap; color:#ed3434; }
.refund-summary .entry-preview-totals [data-refund-month] { color:#263f65; font-size:14px; }
.refund-people-preview { border-color:#e1edfc; }
.refund-people-preview .entry-preview-heading { background:#f0f7ff; color:#287cec; }
[data-refund-allocations] { padding:0 12px 6px; }
.refund-preview-role { margin-top:12px; }
.refund-preview-role-heading { display:flex; justify-content:space-between; font-size:11px; color:#8295b1; font-weight:600; }
.refund-preview-role-heading small { font-weight:400; font-size:10px; color:#8a9ebc; }
.refund-person-deduction { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:8px; align-items:center; padding:11px 0; border-bottom:1px solid #eff3f9; font-size:12px; color:#3a547a; }
.refund-preview-avatar { display:flex; justify-content:center; align-items:center; width:28px; height:28px; border-radius:50%; background:#fff1dd; color:#e8902d; font-size:12px; }
.refund-preview-avatar[data-role=operator] { background:#e7f1ff; color:#3889e8; }
.refund-preview-avatar[data-role=teacher] { background:#f0ebff; color:#9870eb; }
.refund-person-deduction > span:nth-child(2) { overflow-wrap:anywhere; min-width:0; }
.refund-person-deduction strong { color:#e63f3f; font-size:12px; white-space:nowrap; }
.refund-no-deduction { color:#9aa9bd; font-size:12px; padding:12px 0; }
.refund-submit-footer { gap:12px; background:#fbfdff; }
.refund-submit-label { display:flex; align-items:center; gap:10px; color:#276dd5; font-size:16px; }
.refund-submit-label > span { display:flex; width:33px; height:33px; justify-content:center; align-items:center; border-radius:50%; color:#fff; background:#3481ef; font-size:16px; font-weight:600; }
.refund-entry-form .entry-error { margin:12px 20px; }
.refund-page .refund-note-record { padding-top:6px; color:#7c8ea8; }
.refund-page .refund-record-panel { min-width:0; }
@media (max-width:1280px) {
  .refund-workspace { padding:18px; }
  .refund-person-row { grid-template-columns:112px minmax(0,1fr) auto; gap:10px; }
  .refund-person-row .entry-person-label > strong { font-size:13px; }
}
@media (max-width:1050px) {
  .refund-preview-column { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .refund-summary .entry-preview-totals { grid-template-columns:minmax(80px,1fr) minmax(0,1.25fr); }
}
@media (max-width:760px) {
  .refund-workspace { padding:16px 12px; }
  .refund-page-header h2 { font-size:22px; }
  .refund-page > .refund-page-header { gap:14px; justify-content:space-between; }
  .refund-page .refund-tabs button { font-size:12px; padding:7px 10px; }
  .refund-money-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  .refund-deduction-field { grid-column:1/-1; }
  .refund-person-row { grid-template-columns:110px minmax(0,1fr) auto; gap:10px; }
  .refund-picker .entry-name-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .refund-reason-fields { gap:14px; }
  .refund-preview-column { grid-template-columns:minmax(0,1fr); }
  .refund-submit-label { font-size:15px; }
}
@media (max-width:440px) {
  .refund-page > .refund-page-header { align-items:flex-start; flex-direction:column; }
  .refund-page .refund-tabs { width:100%; }
  .refund-page .refund-tabs button { flex:1; }
  .refund-date-fields,.refund-reason-fields { grid-template-columns:minmax(0,1fr); }
  .refund-person-row { grid-template-columns:105px minmax(0,1fr); }
  .refund-person-row .entry-person-label { grid-row:1 / span 2; }
  .refund-person-row .entry-pick-toggle { grid-column:2; justify-self:start; }
  .refund-picker .entry-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .refund-person-deduction { grid-template-columns:28px minmax(0,1fr) auto; }
}
