/* PAGES.CSS — page-level and print layout, no CRLF BOM */
/* Remove number input spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
/* Disable text-selection (security) but keep inputs selectable */
body{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;user-select:text}
/* Global bold */
body,body *:not(i){font-weight:700!important}
/* Fluid root font */
html{font-size:clamp(14px,0.85vw+8px,18px)}

/* ── Page: Report ── */
.report-total-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0.45rem;margin-bottom:1.25rem}
#balanceReportContainer .summary-bar{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0.45rem;margin-bottom:0.65rem}
#balanceReportContainer .sum-card{padding:0.55rem 0.7rem}
#balanceReportContainer .sum-card .label{font-size:0.63rem;margin-bottom:0.15rem}
#balanceReportContainer .sum-card .value{font-size:0.95rem}
#balanceReportContainer .report-section-label{margin-bottom:0.35rem;padding-bottom:0.18rem}
/* Print-safe table borders */
#report table,#report th,#report td,
#accountPage table,#accountPage th,#accountPage td{border:1px solid #000!important;color:#000!important}
#report th,#accountPage th{background:#e2e8f0!important;color:#000!important}
#accountPage td.balance-col{background:#f1f5f9!important;color:#000!important}

/* ── Page: Print preview ── */
#printPreviewModal .modal-content{max-width:900px!important;padding:1.1rem}

/* ── Page: Sponsor Donation ── */
body:not(.dark-mode) #sdFilterPanel{border-color:var(--rf-border)!important}
body:not(.dark-mode) #sdSummaryBar .sum-card{border:1px solid var(--rf-border)!important}
body:not(.dark-mode) #sdMatrixContainer{border-color:var(--rf-border)!important}

/* ── Page: Residents Fund ── */
body:not(.dark-mode) #rfFilterPanel{border-color:var(--rf-border)!important}
body:not(.dark-mode) #rfSummaryBar .sum-card{border:1px solid var(--rf-border)!important}
body:not(.dark-mode) #rfMatrixContainer{border-color:var(--rf-border)!important}
body:not(.dark-mode) #residentFundTable th,
body:not(.dark-mode) #residentFundTable td{border-color:var(--rf-border)!important}

/* ── Salary + Resident entry modals ── */
#salaryEntryModal .modal-content,#residentEntryModal .modal-content{max-width:95vw!important;width:1100px!important}

/* ── Calendar ── */
.calendar-page{display:flex;gap:1rem;height:100%}
.cal-main{flex:1;display:flex;flex-direction:column;min-width:0}
.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.75rem;background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-card);margin-bottom:0.6rem;box-shadow:var(--shadow-sm)}
.cal-nav-title{font-size:1rem;font-weight:800}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;flex:1}
.cal-weekday{text-align:center;font-size:0.65rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;padding:0.35rem 0}
.cal-day{background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:0.6rem;padding:0.4rem;cursor:pointer;transition:background 0.15s,box-shadow 0.15s;min-height:72px;display:flex;flex-direction:column;gap:0.2rem}
.cal-day:hover{background:var(--surface-tint);box-shadow:var(--shadow-sm)}
.cal-day.today{border-color:var(--primary);box-shadow:0 0 0 2px rgba(79,70,229,0.25)}
.cal-day.other-month{opacity:0.38}
.day-number{font-size:0.72rem;font-weight:800;color:var(--text-muted);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.day-number.today-badge{background:var(--primary);color:#fff}
.reminder-badge{font-size:0.6rem;padding:0.1rem 0.35rem;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-sidebar{width:240px;flex-shrink:0;background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-card);padding:0.85rem;overflow-y:auto;box-shadow:var(--shadow-sm)}
.cal-sidebar h3{font-size:0.82rem;font-weight:800;margin-bottom:0.6rem}
.reminder-item{padding:0.5rem 0.6rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s;border-radius:0.4rem}
.reminder-item:hover{background:var(--surface-tint)}
.reminder-item:last-child{border-bottom:none}
.reminder-time{font-size:0.65rem;color:var(--text-muted)}
.reminder-text{font-size:0.78rem;margin-top:0.15rem}
