/* QWERTY Dues Recovery + Financial Load professional refinement, v89. */

/* Dues Recovery controls */
.dr-heading-tools { display:flex; align-items:flex-end; gap:.7rem; flex-wrap:wrap; justify-content:flex-end; }
.dr-heading-tools > label { order:2; }
.dr-heading-tools .dr-residency-toggle { order:1; }
.dr-residency-toggle button.active.hosteller { background:#16a34a !important; }
.dr-residency-toggle button.active.all { background:#7c3aed !important; }
.dr-residency-toggle button.active.day { background:#2563eb !important; }
.dr-residency-toggle button.active { color:#fff; box-shadow:0 4px 12px rgba(15,23,42,.16); }

/* Fast, clickable suggestions stay exactly under the search field. */
.dr-search { position:relative; z-index:30; }
.dr-search > div { position:relative; }
.dr-search-suggestions {
  position:absolute;
  z-index:80;
  top:calc(100% + 6px);
  left:0;
  right:0;
  max-height:310px;
  overflow-y:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  padding:.35rem;
}
.dr-search-suggestions > p { margin:0; padding:.7rem; color:var(--text-soft); font-size:.75rem; }
.dr-search-suggestion { display:grid; grid-template-columns:minmax(0,1fr) 34px; align-items:stretch; gap:.25rem; }
.dr-search-suggestion + .dr-search-suggestion { border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent); }
.dr-suggestion-main {
  min-width:0;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:.55rem;
  border:0;
  border-radius:9px;
  padding:.48rem .55rem;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.dr-suggestion-main:hover,.dr-suggestion-main:focus-visible { background:var(--accent-soft); outline:none; }
.dr-suggestion-main .dr-avatar { width:32px; height:32px; }
.dr-suggestion-main > span:nth-child(2) { min-width:0; display:grid; }
.dr-suggestion-main strong,.dr-suggestion-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dr-suggestion-main strong { font-size:.76rem; }
.dr-suggestion-main small { color:var(--text-soft); font-size:.65rem; }
.dr-suggestion-main b { color:var(--error); font-size:.72rem; white-space:nowrap; }
.dr-suggestion-follow { border:0; border-radius:9px; background:transparent; color:#2563eb; cursor:pointer; }
.dr-suggestion-follow:hover { background:#eff6ff; }

/* No horizontal scrollbar: every column shares the available workspace. */
.dr-list .dr-table-scroll { width:100%; max-width:100%; overflow-x:hidden !important; }
.dr-list table { width:100% !important; min-width:0 !important; table-layout:fixed; }
.dr-list th,.dr-list td {
  min-width:0;
  padding:.58rem .42rem;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.28;
}
.dr-list th { font-size:.61rem; }
.dr-list td { font-size:.7rem; }
.dr-list th:nth-child(1){width:4.5%}.dr-list th:nth-child(2){width:18%}.dr-list th:nth-child(3){width:7%}
.dr-list th:nth-child(4){width:9%}.dr-list th:nth-child(5){width:9%}.dr-list th:nth-child(6){width:7%}
.dr-list th:nth-child(7){width:10%}.dr-list th:nth-child(8){width:8%}.dr-list th:nth-child(9){width:10%}
.dr-list th:nth-child(10){width:17.5%}
.dr-student-cell { min-width:0 !important; gap:.4rem; }
.dr-student-cell > span:last-child { min-width:0; }
.dr-student-cell strong,.dr-student-cell small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dr-list .dr-avatar { width:30px; height:30px; flex-basis:30px; }
.dr-list .dr-type-chip,.dr-list .dr-priority { white-space:normal; text-align:center; line-height:1.15; }
.dr-list .dr-row-actions { display:flex; margin:.3rem 0 0; }
.dr-list td:last-child > span { display:block; }

/* Financial Load: compact executive workspace, with the main ledger dominant. */
.fl-page { gap:.78rem; padding:0; }
.fl-page::before {
  inset:-.6rem -.6rem auto;
  height:155px;
  border-radius:0 0 24px 24px;
  background:radial-gradient(circle at 12% 0%,rgba(59,130,246,.10),transparent 34%),
             radial-gradient(circle at 88% 0%,rgba(124,58,237,.09),transparent 31%);
}
.fl-page > .fl-head {
  min-height:82px;
  padding:.88rem 1rem;
  overflow:hidden;
  border:1px solid #dbe4f0;
  border-left:5px solid #4f46e5;
  border-radius:15px;
  background:linear-gradient(110deg,#ffffff 0%,#f8faff 68%,#f3f0ff 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.065);
}
.fl-page > .fl-head::after { width:180px; height:180px; right:-85px; top:-116px; border:28px solid rgba(79,70,229,.055); }
.fl-page > .fl-head .fl-title { color:#172033 !important; font-size:1.28rem; letter-spacing:-.018em; }
.fl-page > .fl-head .fl-title i { color:#4f46e5 !important; }
.fl-page > .fl-head .text-soft { color:#64748b !important; max-width:720px; margin:.18rem 0 0; font-size:.76rem; line-height:1.35; opacity:1; }
.fl-page > .fl-head .fl-back { color:#334155; background:#fff; border-color:#dbe4f0; }
.fl-page > .fl-head .fl-month { color:#334155; background:#fff; border-color:#cbd5e1; }
.fl-page > .fl-head .btn.btn-ghost { color:#475569; background:#fff; border-color:#cbd5e1; }
.fl-page > .fl-head .btn.btn-primary { color:#fff; background:#4f46e5; border-color:#4f46e5; box-shadow:0 5px 13px rgba(79,70,229,.2); }
.fl-page > .fl-head .btn.btn-success { color:#fff; background:#0f9f6e; border-color:#0f9f6e; box-shadow:0 5px 13px rgba(15,159,110,.18); }

.fl-kpi-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:.55rem; }
.fl-kpi {
  min-height:68px;
  gap:.52rem;
  padding:.58rem .65rem;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(15,23,42,.045);
}
.fl-kpi:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(15,23,42,.075); }
.fl-kpi::after { width:58px; height:58px; right:-20px; bottom:-24px; }
.fl-kpi-ic { width:34px; height:34px; border-radius:10px; font-size:.82rem; box-shadow:none; }
.fl-kpi-l { font-size:.59rem; line-height:1.2; letter-spacing:.025em; }
.fl-kpi-v { font-size:.95rem; line-height:1.18; }
.fl-kpi-s { font-size:.59rem; line-height:1.18; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.fl-two-col { grid-template-columns:minmax(0,2.65fr) minmax(260px,.72fr); gap:.75rem; }
.fl-panel,.fl-summary-strip,.fl-payroll-summary,.fl-single-form,.fl-detail-head { border-radius:13px !important; box-shadow:0 5px 18px rgba(15,23,42,.05); }
.fl-panel { padding:.72rem .78rem; }
.fl-panel-head { margin:0 0 .5rem; padding:0 0 .5rem; }
.fl-panel-head h2 { font-size:.84rem; }
.fl-panel-head h2 i { width:25px; height:25px; border-radius:7px; font-size:.7rem; }
.fl-two-col > .fl-panel:first-child { min-height:625px; display:flex; flex-direction:column; }
.fl-two-col > .fl-panel:first-child > .table-scroll { flex:1; min-height:520px; max-height:650px; overflow-y:auto; }
.fl-two-col > .fl-panel:first-child .fl-table thead th { top:0; z-index:4; }
.fl-side { gap:.7rem; }
.fl-side .fl-panel { padding:.68rem .72rem; }
.fl-side .fl-chart-wrap { height:175px; }
.fl-list-row { padding:.48rem .1rem; font-size:.73rem; }
.fl-list-row small { font-size:.62rem; }
.fl-table thead th { padding:.5rem .46rem; font-size:.58rem; }
.fl-table tbody td { padding:.55rem .46rem; font-size:.7rem; }
.fl-type-chip { padding:.16rem .42rem; font-size:.61rem; }
.fl-summary-strip > div,.fl-payroll-summary > div { padding:.62rem .72rem; }
.fl-summary-strip span,.fl-payroll-summary span { font-size:.58rem; }
.fl-summary-strip strong,.fl-payroll-summary strong { font-size:.92rem; }
.fl-note { padding:.48rem .65rem; font-size:.69rem; }

[data-theme="dark"] .fl-page > .fl-head { border-color:#334155; background:linear-gradient(110deg,#172033,#1d2840 70%,#241e42); }
[data-theme="dark"] .fl-page > .fl-head .fl-title { color:#f8fafc !important; }
[data-theme="dark"] .fl-page > .fl-head .text-soft { color:#cbd5e1 !important; }
[data-theme="dark"] .fl-page > .fl-head .fl-back,
[data-theme="dark"] .fl-page > .fl-head .fl-month,
[data-theme="dark"] .fl-page > .fl-head .btn.btn-ghost { color:#e2e8f0; background:#1e293b; border-color:#475569; }

@media(max-width:1450px){
  .fl-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .fl-two-col { grid-template-columns:minmax(0,2.15fr) minmax(245px,.8fr); }
}
@media(max-width:1250px) and (min-width:821px){
  .dr-list th:nth-child(9),.dr-list td:nth-child(9){display:none}
  .dr-list th:nth-child(2){width:20%}.dr-list th:nth-child(10){width:20%}
  .dr-list .dr-avatar{display:none}
  .fl-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:960px){
  .fl-two-col { grid-template-columns:1fr; }
  .fl-two-col > .fl-panel:first-child { min-height:540px; }
  .fl-two-col > .fl-panel:first-child > .table-scroll { min-height:440px; }
  .fl-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fl-side > .fl-panel:first-child { grid-column:1/-1; }
}
@media(max-width:820px){
  .dr-heading-tools { display:grid; grid-template-columns:1fr; width:100%; }
  .dr-heading-tools .dr-residency-toggle,.dr-heading-tools > label { width:100%; }
  .dr-search-suggestions { left:0; right:0; max-height:42vh; }
  .dr-list .dr-table-scroll { overflow:visible !important; }
  .fl-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fl-side { display:flex; }
}
@media(max-width:480px){
  .fl-page > .fl-head { padding:.75rem; border-left-width:4px; }
  .fl-kpi-grid { grid-template-columns:1fr 1fr; gap:.45rem; }
  .fl-kpi { min-height:64px; padding:.52rem; }
  .fl-kpi-ic { width:31px; height:31px; }
  .fl-kpi-v { font-size:.88rem; }
}
