
:root{--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#cbd5e1;--primary:#2563eb;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--purple:#7c3aed;--teal:#0f766e;}
*{box-sizing:border-box;}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Tahoma,sans-serif;font-weight:700;}button,input,select,textarea{font:inherit;}button{border:0;border-radius:10px;padding:9px 13px;color:#fff;background:var(--primary);cursor:pointer;font-weight:900;}button:disabled{opacity:.55;cursor:not-allowed;}.secondary{background:#475569;}.success{background:var(--success);}.danger{background:var(--danger);}.warning{background:var(--warning);}.purple{background:var(--purple);}.teal{background:var(--teal);}.ghost{background:#e2e8f0;color:#0f172a;}.hidden{display:none!important;}
#loginView{min-height:100vh;display:grid;place-items:center;padding:18px;background:linear-gradient(135deg,#e0e7ff,#f8fafc 55%,#dbeafe);}.login-card{width:min(470px,96vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 24px 70px #0f172a22;text-align:center;}.login-card h1{margin:0 0 14px;font-size:25px;line-height:1.45;}.login-card input{width:100%;margin:6px 0;padding:12px;border:1px solid #94a3b8;border-radius:12px;text-align:center;}.login-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px;}.msg{min-height:22px;margin:8px 0;font-size:13px;}.error{color:#b91c1c;}.ok{color:#166534;}.muted{color:var(--muted);}
.auth-status-box{margin-top:10px;padding:12px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:#991b1b;font-weight:900;line-height:1.8;text-align:center;}
.auth-whatsapp-link{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;padding:9px 14px;border-radius:11px;background:#16a34a;color:#fff!important;text-decoration:none;font-weight:900;}
#appView{display:none;}.app-shell{max-width:1500px;margin:auto;padding:8px;}.topbar{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:16px;padding:12px;box-shadow:0 8px 28px #0f172a22;}.top-title{text-align:center;font-weight:900;font-size:24px;line-height:1.4;}.account-row,.toolbar,.actions{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px;}.account-pill{background:#ffffff22;border:1px solid #ffffff44;border-radius:999px;padding:6px 10px;font-size:12px;}.toolbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;margin:8px 0;}.toolbar select,.toolbar input{border:1px solid #94a3b8;border-radius:9px;padding:8px;background:#fff;}.dirty{background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:10px;padding:7px 10px;text-align:center;margin:7px 0;}.cards{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:7px;}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px;text-align:center;box-shadow:0 2px 9px #0f172a0c;}.card b{display:block;font-size:18px;margin-top:3px;}.c-prev{background:#f3e8ff;}.c-pay{background:#dcfce7;}.c-other{background:#cffafe;}.c-exp{background:#fee2e2;}.c-total{background:#fef3c7;}.c-bal{background:#dbeafe;}.section{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:8px;padding:9px;box-shadow:0 2px 10px #0f172a0b;}.section h2{font-size:16px;text-align:center;margin:2px 0 8px;}.table-wrap{overflow:auto;border-radius:10px;border:1px solid #64748b;}table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1100px;}th,td{border:1px solid #94a3b8;padding:4px;text-align:center;font-size:11px;}th{background:#0f172a;color:#fff;position:sticky;top:0;z-index:2;}td input{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:5px;text-align:center;background:#fff;font-weight:800;}.name-col{width:132px;}.month-col{width:62px;}.total-col{width:78px;}.note-col{width:135px;}.action-col{width:58px;}.pay-cell{background:#ecfdf5;}.sum-cell{background:#fef3c7;font-weight:900;}.name-cell{background:#e2e8f0;}.note-cell{background:#f8fafc;}.month-total-row td{background:#dbeafe;font-weight:900;}.expense-table{min-width:650px;}.expense-table .date-col{width:150px;}.expense-table .amount-col{width:110px;}.expense-table .details-col{width:auto;}.expense-table .action-col{width:70px;}.expense-form{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-bottom:8px;}.expense-form input{border:1px solid #94a3b8;border-radius:9px;padding:8px;}.expense-form input[type=date]{width:155px;}.expense-form input[type=number]{width:115px;}.expense-form input[type=text]{width:min(380px,90vw);}
/* GENERAL MODALS AND FORMS */
.modal{position:fixed;inset:0;background:#0f172a99;display:none;align-items:center;justify-content:center;padding:15px;z-index:9999;}.modal.active{display:flex;}.modal-box{width:min(900px,97vw);max-height:94vh;overflow:auto;border:1px solid #dbe3ef;border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 30px 90px rgba(15,23,42,.34);}.modal-box.small{width:min(580px,97vw);}.modal h2{text-align:center;margin:0 0 10px;font-size:22px;color:#0f172a;padding-bottom:10px;border-bottom:2px solid #e2e8f0;}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}.field label{display:block;font-size:12px;margin-bottom:4px;color:#334155;}.field input,.field select,.field textarea{width:100%;border:1px solid #94a3b8;border-radius:9px;padding:9px;background:#fff;}.profile-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.image-box{border:1px dashed #94a3b8;border-radius:12px;padding:9px;text-align:center;background:#f8fafc;}.image-box img{display:block;max-width:220px;max-height:100px;object-fit:contain;margin:8px auto;background:#fff;}.plan-badge{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;}.plan-admin{background:#dbeafe;color:#1e3a8a;}.plan-trial{background:#ffedd5;color:#9a3412;}.plan-active{background:#dcfce7;color:#166534;}.plan-stopped{background:#fee2e2;color:#991b1b;}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:11px 16px;border-radius:12px;z-index:20000;display:none;max-width:92vw;text-align:center;}.toast.show{display:block;}.toast.bad{background:#b91c1c;}.toast.good{background:#166534;}/* تقرير المصروفات — تجميع بصري احترافي حسب الشهر: أزرق/أخضر بالتناوب. */
.report-expenses-table tbody tr.report-expense-row td{
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
  transition:none!important;
}
.report-expenses-table tbody tr.report-expense-tone-blue td{background:#eff6ff!important;}
.report-expenses-table tbody tr.report-expense-tone-green td{background:#f0fdf4!important;}
.report-expenses-table tbody tr.report-expense-tone-neutral td{background:#f8fafc!important;}
.report-expenses-table tbody tr.report-expense-month-start td{border-top:2px solid #64748b!important;}
.report-expense-date-cell{white-space:nowrap!important;font-weight:700!important;}
.report-expense-month-label{
  display:inline-block;
  min-width:34px;
  margin-inline-end:4px;
  padding:1px 5px;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  font-size:8px;
  font-weight:900;
  line-height:1.35;
  text-align:center;
  vertical-align:middle;
}
.report-expense-tone-blue .report-expense-month-label{color:#1d4ed8;}
.report-expense-tone-green .report-expense-month-label{color:#15803d;}
.report-expense-date-value{vertical-align:middle;}

@media(max-width:850px){.cards{grid-template-columns:repeat(3,1fr);}.form-grid,.profile-images{grid-template-columns:1fr;}.top-title{font-size:18px;}.account-pill{font-size:10px;}}
@media print{body{background:#fff;}.no-print,.topbar,.toolbar,.section,.modal:not(.printable),.toast,#loginView{display:none!important;}.printable{position:static!important;display:block!important;background:#fff!important;padding:0!important;}.printable .modal-box{width:100%!important;max-height:none!important;box-shadow:none!important;padding:0!important;}}

/* PROFILE */
#profileModal .modal-box{width:min(760px,97vw);padding:22px;}
#profileModal .form-grid{gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:15px;}
#profileModal .field label{font-size:13px;font-weight:900;color:#1e3a8a;}
#profileModal .field input{height:42px;border:1.5px solid #cbd5e1;}
#profileModal .profile-images{margin-top:14px;gap:14px;}
#profileModal .image-box{background:#fff;border:1.5px solid #cbd5e1;border-radius:16px;padding:14px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;}
#profileModal .image-box>b{font-size:16px;color:#0f172a;}
#profileModal .image-box input[type=file]{width:100%;border:1px dashed #94a3b8;padding:8px;border-radius:10px;background:#f8fafc;}
#profileModal .image-box img{width:100%;height:100px;max-width:260px;border:1px solid #e2e8f0;border-radius:10px;padding:6px;}
#profilePlanInfo{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:10px;margin-top:12px;color:#1e3a8a;}

/* SUBSCRIPTION */
.subscription-btn{background:#0ea5e9!important;color:#fff!important;}
.subscription-box{width:min(680px,96vw)!important;}
.subscription-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:18px;padding:18px;text-align:center;margin-bottom:14px;}
.subscription-hero h2{margin:0 0 6px;font-size:24px;}.subscription-hero p{margin:0;opacity:.9;}
.subscription-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0;}
.subscription-plan{border:1px solid #cbd5e1;border-radius:16px;padding:15px;background:#f8fafc;text-align:center;}
.subscription-plan h3{margin:0 0 7px;color:#1e3a8a;font-size:19px;}.subscription-plan p{margin:4px 0;color:#475569;line-height:1.7;}.subscription-price{display:inline-flex;align-items:center;justify-content:center;min-width:145px;margin:8px auto 10px;padding:9px 16px;border-radius:999px;font-size:20px;font-weight:900;color:#fff;background:linear-gradient(135deg,#0f766e,#16a34a);box-shadow:0 6px 16px rgba(15,118,110,.22);}
.subscription-steps{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:13px;line-height:1.9;}
.subscription-steps ol{margin:4px 20px 0 0;padding:0;}
.subscription-contact{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px;}
.subscription-contact a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:11px 15px;font-weight:900;background:#16a34a;color:#fff;}
.main-plan-card{margin:8px 0;background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #93c5fd;border-radius:14px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center;}
.main-plan-card strong{color:#1e3a8a;font-size:14px;}.main-plan-card span{font-size:13px;color:#334155;}
.profile-plan-card{background:linear-gradient(135deg,#eff6ff,#f0fdfa)!important;border:1.5px solid #93c5fd!important;border-radius:14px!important;padding:14px!important;margin-top:14px!important;color:#0f172a!important;line-height:1.8!important;text-align:center!important;font-weight:900!important;}
.whatsapp-btn{background:#16a34a!important;color:#fff!important;}.login-subscription-wrap{margin-top:10px;}.login-subscription-wrap button{width:100%;}
@media(max-width:700px){.subscription-plans{grid-template-columns:1fr;}.main-plan-card{align-items:stretch;flex-direction:column;}}
@media print{#subscriptionModal,.main-plan-card{display:none!important;}}


/* PLAN COLORS AND STATUS BADGES */
:root{
  --plan-admin-bg:#dbeafe;--plan-admin-border:#60a5fa;--plan-admin-text:#1e3a8a;
  --plan-trial-bg:#ffedd5;--plan-trial-border:#fb923c;--plan-trial-text:#9a3412;
  --plan-monthly-bg:#dcfce7;--plan-monthly-border:#4ade80;--plan-monthly-text:#166534;
  --plan-annual-bg:#f3e8ff;--plan-annual-border:#c084fc;--plan-annual-text:#6b21a8;
  --plan-stopped-bg:#fee2e2;--plan-stopped-border:#f87171;--plan-stopped-text:#991b1b;
  --plan-expired-bg:#e5e7eb;--plan-expired-border:#9ca3af;--plan-expired-text:#374151;
}
.plan-color-admin{background:linear-gradient(135deg,#eff6ff,var(--plan-admin-bg))!important;border-color:var(--plan-admin-border)!important;color:var(--plan-admin-text)!important;}
.plan-color-trial{background:linear-gradient(135deg,#fff7ed,var(--plan-trial-bg))!important;border-color:var(--plan-trial-border)!important;color:var(--plan-trial-text)!important;}
.plan-color-monthly{background:linear-gradient(135deg,#f0fdf4,var(--plan-monthly-bg))!important;border-color:var(--plan-monthly-border)!important;color:var(--plan-monthly-text)!important;}
.plan-color-annual{background:linear-gradient(135deg,#faf5ff,var(--plan-annual-bg))!important;border-color:var(--plan-annual-border)!important;color:var(--plan-annual-text)!important;}
.plan-color-stopped{background:linear-gradient(135deg,#fff1f2,var(--plan-stopped-bg))!important;border-color:var(--plan-stopped-border)!important;color:var(--plan-stopped-text)!important;}
.plan-color-expired{background:linear-gradient(135deg,#f9fafb,var(--plan-expired-bg))!important;border-color:var(--plan-expired-border)!important;color:var(--plan-expired-text)!important;}
.main-plan-card[class*="plan-color-"]{border-width:2px!important;box-shadow:0 4px 14px rgba(15,23,42,.08)!important;}
.main-plan-card[class*="plan-color-"] strong,.main-plan-card[class*="plan-color-"] span,
.profile-plan-card[class*="plan-color-"] *{color:inherit!important;}
.user-plan-badge{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 10px;border-radius:999px;border:1.5px solid;font-weight:900;font-size:12px;}
.user-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:4px 9px;border-radius:999px;font-weight:900;font-size:11px;border:1px solid transparent;}
.user-status-active{background:#dcfce7;color:#166534;border-color:#86efac;}.user-status-stopped{background:#fee2e2;color:#991b1b;border-color:#fca5a5;}.user-status-pending{background:#fef3c7;color:#92400e;border-color:#fcd34d;}.user-status-admin{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd;}
#usersBody tr.plan-row-admin td{background:#f8fbff!important;}#usersBody tr.plan-row-trial td{background:#fffaf5!important;}#usersBody tr.plan-row-monthly td{background:#f7fff9!important;}#usersBody tr.plan-row-annual td{background:#fcf8ff!important;}#usersBody tr.plan-row-stopped td{background:#fff7f7!important;}

/* ACCOUNT SUMMARY */
.account-summary-row{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:8px!important;}
.account-data-item{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:30px!important;padding:5px 11px!important;white-space:nowrap!important;}
.account-data-item b{font-size:11px!important;color:#dbeafe!important;}
.account-data-item #accountEmail,.account-data-item #planDates{font-size:12px!important;font-weight:900!important;color:#fff!important;}
.account-data-item #planBadge{display:inline-flex!important;margin:0!important;padding:4px 10px!important;line-height:1.2!important;}
@media(max-width:700px){.account-summary-row{gap:5px!important;}.account-data-item{width:auto!important;max-width:100%!important;font-size:11px!important;}.account-data-item:first-child{width:100%!important;}}
@media print{.account-summary-row{display:none!important;}}


.app-status-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;margin:10px auto 4px;padding:8px 12px;max-width:720px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font-size:12px;font-weight:900;color:#334155;}.save-state-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#16a34a;box-shadow:0 0 0 3px #dcfce7;}.save-state-dot.dirty{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7;}.backup-warning-box{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:12px;line-height:1.8;text-align:center;color:#7c2d12;font-weight:900;}.backup-warning-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px;}@media print{.app-status-footer,#excelWarningModal{display:none!important;}}
.backup-last-info{margin-top:10px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1e3a8a;text-align:center;font-size:12px;line-height:1.7;}.backup-history-list{display:grid;gap:10px;margin-top:12px;}.backup-history-card{border:1px solid #cbd5e1;border-radius:13px;background:#fff;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;}.backup-history-meta{font-size:12px;color:#475569;line-height:1.8;}.backup-history-title{font-size:14px;color:#0f172a;font-weight:900;}.backup-history-empty{padding:24px;text-align:center;color:#64748b;border:1px dashed #94a3b8;border-radius:12px;}.backup-history-card button{min-width:92px;}.backup-history-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}.backup-type-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900;margin-inline-start:5px;}.backup-type-manual{background:#dcfce7;color:#166534;}.backup-type-excel{background:#dbeafe;color:#1d4ed8;}.backup-type-json{background:#ffedd5;color:#9a3412;}.backup-type-auto{background:#dbeafe;color:#1d4ed8;}.backup-type-maintenance{background:#fef3c7;color:#92400e;}.backup-type-default{background:#e2e8f0;color:#334155;}.backup-type-icon{font-size:13px;margin-inline-end:3px;}.backup-latest-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#0f172a;color:#fff;margin-inline-start:5px;}.backup-reason{margin-top:6px;padding:6px 8px;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;}.backup-status{display:inline-flex;align-items:center;gap:3px;font-weight:900;padding:2px 7px;border-radius:999px;}.backup-status-ok{background:#dcfce7;color:#166534;}.backup-status-warn{background:#fef3c7;color:#92400e;}.backup-card-incomplete{border-color:#f59e0b;background:#fffbeb;}.backup-history-meta>div{margin-top:2px;}.backup-name{font-weight:900;color:#0f172a;}.backup-desc{margin-top:3px;color:#64748b;}.backup-create-grid{display:grid;gap:10px;margin:12px 0;}.backup-file-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px;}.backup-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}.backup-center-card{border:1px solid #cbd5e1;border-radius:14px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px;}.backup-center-card h3{margin:0;color:#0f172a;font-size:15px;}.backup-center-card p{margin:0;color:#64748b;font-size:12px;line-height:1.7;}.backup-center-card button{width:100%;margin:0;}@media(max-width:620px){.backup-center-grid{grid-template-columns:1fr;}}@media(max-width:560px){.backup-history-card{grid-template-columns:1fr;}.backup-history-actions{justify-content:stretch;}.backup-history-card button{width:100%;}}@media print{#backupHistoryModal{display:none!important;}}


#usersBtn.hidden,#systemHealthBtn.hidden{display:none!important;}
@media(max-width:520px){.login-card h1{font-size:21px;}.top-title{font-size:20px;}}
.login-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin-top:14px!important;}
.login-actions-grid button{width:100%!important;height:44px!important;min-height:44px!important;margin:0!important;padding:8px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;white-space:nowrap!important;}
.login-version{margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:900;text-align:center;}
@media(max-width:420px){.login-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}.login-actions-grid button{height:38px!important;min-height:38px!important;font-size:12px!important;padding:6px 5px!important;white-space:normal!important;line-height:1.25!important;}}
.remember-login-row{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:8px 2px 2px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:11px;background:#f8fafc;color:#334155;cursor:pointer;user-select:none;text-align:right;}
.remember-login-row input{width:18px!important;height:18px!important;margin:0!important;accent-color:#2563eb;flex:0 0 auto;cursor:pointer;}
.remember-login-row span{font-size:13px;font-weight:900;line-height:1.5;}
.remember-login-note{margin:3px 4px 0;color:#64748b;font-size:11px;line-height:1.5;text-align:right;}


#userGuideBtn{background:#334155!important;color:#fff!important;}
#userGuideModal{z-index:12000;}
#userGuideModal .user-guide-box{width:min(1180px,98vw);height:min(94dvh,920px);max-height:94dvh;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;}
.user-guide-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;flex:0 0 auto;}
.user-guide-header h2{margin:0!important;padding:0!important;border:0!important;color:#fff!important;font-size:19px!important;}
.user-guide-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.user-guide-actions button{padding:8px 12px;font-size:12px;}
#userGuideFrame{width:100%;height:100%;border:0;background:#e2e8f0;flex:1 1 auto;min-height:0;}

@media(max-width:520px){#userGuideModal{padding:0!important;align-items:stretch!important;}.user-guide-header{align-items:center;flex-direction:row;text-align:right;padding:7px 8px;}.user-guide-header h2{font-size:15px!important;}.user-guide-actions{justify-content:flex-end;flex-wrap:nowrap;}.user-guide-actions button{flex:0 0 auto;padding:7px 9px;font-size:11px;}#userGuideModal .user-guide-box{width:100vw;height:100dvh;max-height:100dvh;border-radius:0!important;}#userGuideFrame{background:#e2e8f0;}}
@media print{#userGuideModal{display:none!important;}}


.email-security-card{margin-top:14px;border:1.5px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#f8fafc);border-radius:14px;padding:14px;text-align:right;}
.email-security-card .security-title{font-weight:900;color:#1e3a8a;margin-bottom:8px;font-size:16px;}
.email-security-card .security-email{direction:ltr;text-align:left;background:#fff;border:1px solid #dbeafe;border-radius:9px;padding:8px 10px;word-break:break-all;margin-bottom:8px;}
.email-security-card .verification-status{font-weight:900;border-radius:10px;padding:9px 11px;margin-bottom:9px;}
.email-security-card .verification-status.verified{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.email-security-card .verification-status.unverified{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.email-security-card .security-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.email-security-card .security-note{font-size:12px;color:#475569;line-height:1.7;margin-top:8px;}


/* شاشة إدارة المستخدمين — قواعد موحدة للويب وأندرويد */
#usersModal{
  padding:10px!important;
  align-items:center!important;
  justify-content:center!important;
}
#usersModal .modal-box{
  width:min(1180px,98vw)!important;
  height:min(94dvh,900px)!important;
  max-height:94dvh!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
}
#usersModal .users-modal-header{
  position:sticky;
  top:0;
  z-index:30;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  background:linear-gradient(135deg,#0f172a,#1d4ed8);
  color:#fff;
  border-radius:18px 18px 0 0;
}
#usersModal .users-modal-header h2{
  flex:1;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  font-size:20px!important;
  text-align:center!important;
}
#usersModal .users-top-close{
  flex:0 0 auto;
  min-width:44px;
  min-height:44px;
  padding:8px 12px!important;
  border-radius:11px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
}
#usersModal .users-modal-content{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:10px 12px 0;
}
#usersModal .users-intro,
#usersModal .users-security-summary,
#usersModal .users-tools,
#usersModal .users-note{
  flex:0 0 auto;
}
#usersModal .users-security-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:8px;
  margin:10px 0;
}
#usersModal .security-stat{
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:10px;
  text-align:center;
  box-shadow:0 3px 10px #0f172a0d;
}
#usersModal .security-stat strong{
  display:block;
  font-size:20px;
  margin-top:3px;
}
#usersModal .users-tools{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 220px;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
#usersModal .users-search{
  width:100%;
  height:43px;
  margin:0;
  display:block;
  padding:9px;
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  box-shadow:0 0 0 3px #dbeafe;
  font-size:14px;
  text-align:left;
  direction:ltr;
}
#usersModal .users-verification-filter{
  width:100%;
  height:43px;
  padding:8px;
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
}
#usersModal .table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain;
  border:1px solid #cbd5e1;
  box-shadow:0 5px 18px #0f172a12;
}
#usersModal .users-table{
  min-width:1050px;
  table-layout:auto;
}
#usersModal .users-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  background:linear-gradient(135deg,#0f172a,#1e40af);
  font-size:12px;
  padding:10px 7px;
}
#usersModal .users-table td{
  vertical-align:middle;
  padding:8px 6px;
  background:#fff;
  font-size:12px;
}
#usersModal .users-table tr:nth-child(even) td{background:#f8fafc;}
#usersModal .users-table tr:hover td{background:#eff6ff;}
#usersModal .users-table select{
  min-width:145px;
  padding:8px;
  border:1px solid #94a3b8;
  border-radius:9px;
  background:#fff;
}
#usersModal .users-table button{padding:8px 14px;}
#usersModal .users-state-row td{
  padding:28px 12px!important;
  text-align:center!important;
  font-size:14px!important;
  background:#fff!important;
  color:#475569;
}
#usersModal .users-state-row.error td{color:#b91c1c;}
#usersModal .users-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 2px;
}
#usersModal .users-page-info{
  min-width:190px;
  text-align:center;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
#usersModal #loadMoreUsersBtn{background:#0f766e!important;}
#usersModal #loadMoreUsersBtn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
}
#usersModal .users-modal-footer{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:25;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid #cbd5e1;
  box-shadow:0 -5px 16px rgba(15,23,42,.10);
}
#usersModal .users-modal-footer button{
  min-height:42px;
  min-width:110px;
}
.email-verification-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:6px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
.email-verification-badge.verified{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.email-verification-badge.unverified{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.email-verification-badge.unknown{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;}
@media(max-width:700px){
  #usersModal{
    padding:0!important;
    align-items:stretch!important;
  }
  #usersModal .modal-box{
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  #usersModal .users-modal-header{
    border-radius:0!important;
    padding:calc(8px + env(safe-area-inset-top)) 8px 8px!important;
  }
  #usersModal .users-modal-header h2{
    font-size:16px!important;
    line-height:1.35!important;
  }
  #usersModal .users-top-close{
    min-width:42px!important;
    min-height:42px!important;
    padding:7px 9px!important;
    font-size:12px!important;
  }
  #usersModal .users-modal-content{padding:7px 7px 0!important;}
  #usersModal .users-intro{
    margin-bottom:6px!important;
    font-size:11px!important;
  }
  #usersModal .users-security-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    margin:6px 0!important;
  }
  #usersModal .security-stat{
    min-width:0!important;
    padding:7px 5px!important;
    font-size:11px!important;
  }
  #usersModal .security-stat strong{
    margin-top:2px!important;
    font-size:16px!important;
  }
  #usersModal .users-tools{
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-bottom:6px!important;
  }
  #usersModal .users-search,
  #usersModal .users-verification-filter{
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    font-size:13px!important;
  }
  #usersModal .users-note{
    margin-bottom:6px!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
  #usersModal .users-table{min-width:940px!important;}
  #usersModal .users-table th,
  #usersModal .users-table td{
    padding:6px 5px!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }
  #usersModal .users-table select{
    min-width:170px!important;
    height:38px!important;
    font-size:12px!important;
  }
  #usersModal .users-table button{
    min-height:38px!important;
    padding:7px 11px!important;
    font-size:12px!important;
  }
  #usersModal .users-modal-footer{
    padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
  }
  #usersModal .users-modal-footer button{
    flex:1 1 0;
    min-width:0!important;
    min-height:44px!important;
  }
  .email-verification-badge{min-width:84px;}
}


.receipts-ledger-box{width:min(1180px,98vw)!important;max-height:94dvh!important;display:flex;flex-direction:column;overflow:hidden!important;}
.receipts-ledger-tools{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin-bottom:10px;flex:0 0 auto;}
.receipts-ledger-tools input,.receipts-ledger-tools select{width:100%;border:1px solid #94a3b8;border-radius:10px;padding:9px;background:#fff;}
.receipts-ledger-table-wrap{flex:1 1 auto;min-height:260px;overflow:auto;border:1px solid #cbd5e1;border-radius:12px;}
.receipts-ledger-table{min-width:980px;table-layout:auto;}.receipts-ledger-table th{position:sticky;top:0;z-index:3;}.receipts-ledger-table td{font-size:12px;padding:7px;}
.receipt-status-active,.receipt-status-voided{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:900;font-size:11px;}
.receipt-status-active{background:#dcfce7;color:#166534;border:1px solid #86efac;}.receipt-status-voided{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.receipt-void-banner{background:#fee2e2;color:#991b1b;border:2px solid #ef4444;border-radius:10px;padding:10px;text-align:center;font-weight:900;margin-bottom:10px;line-height:1.7;}
.receipt-void-wrap{position:relative;overflow:hidden;background:#fff;}
.receipt-void-watermark{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;overflow:hidden;}
.receipt-void-watermark span{display:block;transform:rotate(-24deg);font-size:clamp(42px,10vw,86px);font-weight:1000;letter-spacing:2px;color:rgba(185,28,28,.22);border:8px solid rgba(185,28,28,.20);border-radius:16px;padding:12px 28px;white-space:nowrap;line-height:1;}
.receipt-void-details{font-size:13px;font-weight:700;line-height:1.8;margin-top:5px;}
@media print{.receipt-void-watermark span{font-size:72px;color:rgba(185,28,28,.25);border-color:rgba(185,28,28,.24);}.receipt-void-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}
.receipt-view-box{width:min(850px,97vw)!important;}.receipt-view-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px;}
@media(max-width:700px){.receipts-ledger-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;}.receipts-ledger-tools{grid-template-columns:1fr 1fr;}.receipts-ledger-tools input{grid-column:1/-1;}.receipts-ledger-table-wrap{min-height:0;}.receipt-view-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;}}


#systemHealthBtn{background:#0891b2!important;color:#fff!important;}
#systemHealthModal .modal-box{width:min(1050px,98vw);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;}
.system-health-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.system-health-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin:12px 0;}
.health-summary-card{border:1px solid #cbd5e1;border-radius:13px;padding:11px;text-align:center;background:#fff;}
.health-summary-card strong{display:block;font-size:22px;margin-top:4px;}.health-summary-card.good{background:#f0fdf4;border-color:#86efac;color:#166534;}.health-summary-card.warn{background:#fffbeb;border-color:#fcd34d;color:#92400e;}.health-summary-card.bad{background:#fff1f2;border-color:#fca5a5;color:#991b1b;}.health-summary-card.info{background:#eff6ff;border-color:#93c5fd;color:#1e3a8a;}
.system-health-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:#475569;}.system-health-meta span{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;}
.system-health-list{flex:1 1 auto;min-height:240px;overflow:auto;display:grid;gap:8px;padding:2px;}
.health-check{display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(240px,2fr);gap:10px;align-items:center;border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff;}.health-check-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:18px;}.health-check.good .health-check-icon{background:#dcfce7;}.health-check.warn .health-check-icon{background:#fef3c7;}.health-check.bad .health-check-icon{background:#fee2e2;}.health-check.info .health-check-icon{background:#dbeafe;}.health-check-title{font-weight:900;color:#0f172a;}.health-check-detail{font-size:12px;line-height:1.7;color:#475569;word-break:break-word;}.health-check-time{font-size:10px;color:#94a3b8;margin-top:3px;}
.system-health-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0;}
@media(max-width:720px){#systemHealthModal{padding:0!important;}#systemHealthModal .modal-box{width:100vw;height:100dvh;max-height:100dvh;border-radius:0!important;}.system-health-summary{grid-template-columns:repeat(2,1fr);}.health-check{grid-template-columns:38px 1fr;}.health-check-detail{grid-column:2;}.system-health-list{min-height:0;}.system-health-actions button{flex:1 1 45%;}}
@media print{#systemHealthModal{display:none!important;}}


/* توسيط أزرار الحساب تلقائياً للمسؤول والمستخدمين حسب عدد الأزرار الظاهرة */
.account-actions-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:1100px!important;
  margin:10px auto 0!important;
}
.account-actions-grid button{
  flex:0 1 170px!important;
  width:170px!important;
  min-width:140px!important;
  max-width:190px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:8px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
}
.account-actions-grid button.hidden{display:none!important;}
@media(max-width:900px){
  .account-actions-grid{max-width:760px!important;}
  .account-actions-grid button{flex-basis:calc(33.333% - 6px)!important;max-width:220px!important;}
}
@media(max-width:620px){
  .account-actions-grid{max-width:100%!important;}
  .account-actions-grid button{flex-basis:calc(50% - 4px)!important;min-width:0!important;max-width:none!important;}
}
@media(max-width:360px){
  .account-actions-grid button{flex-basis:100%!important;width:100%!important;}
}
@media print{.account-actions-grid{display:none!important;}}


/* V43.3: تذكير لطيف بإكمال الملف الشخصي */
#profileReminderModal .modal-box{width:min(540px,96vw);padding:24px;text-align:center;}
#profileReminderModal .profile-reminder-icon{font-size:46px;line-height:1;margin-bottom:10px;}
#profileReminderModal .profile-reminder-title{font-size:22px;font-weight:900;color:#1e3a8a;margin:0 0 10px;}
#profileReminderModal .profile-reminder-text{color:#334155;line-height:1.9;margin:0 auto 14px;max-width:460px;}
#profileReminderModal .profile-reminder-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.7;margin-bottom:14px;}
#profileReminderModal .actions{justify-content:center;}
@media(max-width:420px){#profileReminderModal .modal-box{padding:18px;}#profileReminderModal .profile-reminder-title{font-size:19px;}#profileReminderModal .actions button{font-size:12px;padding:9px 10px;}}

/* =========================================================
   RECEIPTS, REPORTS & PRINTING — CONSOLIDATED STAGE 2 / ROUND 4
   Visual behavior preserved; accumulated overrides merged here.
   ========================================================= */
.receipt-document,
.receipt-paper,
.receipt-title,
.receipt-row,
.receipt-details,
.sign-box,
.report-root,
.report-year,
.receipt-paper *,
.report-root *{
  font-family:Tahoma,"Noto Sans Arabic","Noto Kufi Arabic",Arial,sans-serif!important;
  letter-spacing:0!important;
  font-kerning:normal!important;
  font-variant-ligatures:normal!important;
}
.receipt-paper{
  width:185mm;
  max-width:100%!important;
  min-height:120mm;
  margin:auto;
  padding:12mm 14mm;
  border:2px solid #111827;
  border-radius:0;
  background:#fff;
  box-shadow:0 6px 24px #0f172a18;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
}
.receipt-paper:before{
  content:"";
  display:block;
  border-top:5px double #111827;
  margin-bottom:6mm;
}
.receipt-title{
  padding-bottom:8px;
  border-bottom:2px solid #111827;
  text-align:center;
  font-size:30px;
  font-weight:900;
  line-height:1.45!important;
  word-spacing:0!important;
  white-space:normal!important;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
}
.receipt-row{
  display:grid;
  grid-template-columns:42mm 1fr;
  padding:3.5mm 2mm;
  border-bottom:1px dashed #94a3b8;
  font-size:17px;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
}
.receipt-row span{color:#475569;}
.receipt-row strong{text-align:center;}
.receipt-row span,
.receipt-row strong,
.sign-box,
.sign-box b{line-height:1.65!important;}
.receipt-details{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:22mm;
  margin:12px 0;
  padding:13px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#f8fafc;
  text-align:center;
  font-size:18px;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
}
.receipt-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25mm;
  margin-top:16mm;
}
.sign-box{
  min-height:110px;
  padding-top:8px;
  border-top:1px solid #111;
  text-align:center;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
}
.sign-box img{
  display:block;
  max-width:190px;
  max-height:80px;
  margin:6px auto;
  object-fit:contain;
}
.report-root{padding:4mm;background:#fff;}
.report-year{padding:4mm;background:#fff;page-break-after:always;}
.report-year:last-child{page-break-after:auto;}
.report-year table{min-width:0!important;table-layout:fixed;}
.report-year th,
.report-year td{padding:3px;color:#000;font-size:9px;}
.report-year th{position:static;background:#dbeafe;color:#000;}
.report-year h3{margin:5mm 0 2mm;text-align:center;}
.report-title{text-align:center;font-size:25px;font-weight:900;}
.report-sub{text-align:center;color:#475569;}
.report-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:3mm;margin:8px 0;}
.report-card{padding:3mm;border:1px solid #111;border-radius:7px;background:#f8fafc;text-align:center;font-size:11px;}


/* Golden Stage 11 — keep report totals visible in preview, print, saved PDF and WhatsApp PDF. */
.report-year table tfoot{display:table-row-group!important;}
.report-year table tfoot tr,
.report-payments-total-row,
.report-expenses-total-row{break-inside:avoid!important;page-break-inside:avoid!important;}
.report-payments-total-row th,
.report-expenses-total-row th{background:#bfdbfe!important;color:#0f172a!important;font-weight:900!important;border-top:2px solid #0f172a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.report-payments-table tbody tr,
.report-expenses-table tbody tr{break-inside:avoid;page-break-inside:avoid;}

@media(max-width:850px){
  .receipt-paper{width:100%!important;min-height:auto!important;padding:18px 16px!important;border-width:2px!important;}
  .receipt-row{grid-template-columns:115px minmax(0,1fr)!important;padding:10px 4px!important;font-size:16px!important;}
  .receipt-row strong{overflow-wrap:anywhere!important;}
  .receipt-signatures{grid-template-columns:1fr 1fr!important;gap:18px!important;margin-top:34px!important;}
  .sign-box{min-width:0!important;overflow:hidden!important;}
  .sign-box img{max-width:100%!important;height:auto!important;}
  .report-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .receipt-signatures{grid-template-columns:1fr 1fr!important;gap:16px!important;}
  .sign-box{min-width:0!important;overflow:hidden!important;}
  .sign-box img{max-width:100%!important;height:auto!important;object-fit:contain!important;}
}

@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important;}
  body>*{display:none!important;}
  #printHost{display:block!important;position:static!important;inset:auto!important;background:#fff!important;}
  #printHost *{visibility:visible!important;}
  #printHost .receipt-paper{width:100%!important;min-height:0!important;margin:0!important;border:2px solid #111;box-shadow:none!important;}
  #printHost .report-root{display:block!important;padding:0!important;}
  #printHost .report-year{padding:0!important;}
  #printHost .report-year table{width:100%!important;min-width:0!important;}
  @page{size:A4 landscape;margin:7mm;}
  body.print-receipt @page{size:A4 portrait;margin:12mm;}
}


/* Stage 10 — Professional biometric lock */
.biometric-lock-field{margin-top:12px}
.biometric-lock-field select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.biometric-lock-overlay{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.94);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}
.biometric-lock-overlay.hidden{display:none!important}
.biometric-lock-box{width:min(420px,100%);background:#fff;border-radius:24px;padding:28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.biometric-lock-icon{font-size:52px;margin-bottom:8px}
.biometric-lock-box h2{margin:0 0 8px;color:#0f172a}
.biometric-lock-box p{margin:0 0 20px;color:#475569;line-height:1.8}
.biometric-lock-box button{width:100%;margin-top:10px;padding:12px}
body.biometric-locked{overflow:hidden!important}
body.biometric-locked #appView{filter:blur(10px);pointer-events:none;user-select:none}


/* Golden Release performance containment: limits layout/paint work to large app regions. */
#paymentsWrap,#expensesWrap,.table-wrap{contain:layout paint;}
.modal:not(.active){content-visibility:hidden;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}


/* Golden Stage 12 — make the printed/PDF payments table match the application table. */
.report-payments-table{direction:rtl!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
.report-payments-table .report-name-col{width:12%!important;}
.report-payments-table .report-month-col{width:4.7%!important;}
.report-payments-table .report-other-col{width:7%!important;}
.report-payments-table .report-total-col{width:6.5%!important;}
.report-payments-table .report-notes-col{width:12.1%!important;}
.report-payments-table th,.report-payments-table td{text-align:center!important;vertical-align:middle!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.report-payments-table thead th{font-size:8.5px!important;line-height:1.25!important;padding:4px 2px!important;}
.report-payments-table tbody td:first-child,.report-payments-table tfoot th:first-child{font-weight:700!important;}
@media print{#printHost .report-payments-table{direction:rtl!important;table-layout:fixed!important;}}


/* Golden Final — complete Android receipts and colored financial summary cards in PDF. */
.receipt-pdf-document{width:190mm!important;max-width:190mm!important;background:#fff!important;padding:0!important;overflow:visible!important;}
.receipt-pdf-document .receipt-paper{width:185mm!important;max-width:185mm!important;min-height:120mm!important;box-sizing:border-box!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.receipt-pdf-document .receipt-signatures,.receipt-pdf-document .sign-box{break-inside:avoid!important;page-break-inside:avoid!important;overflow:visible!important;}
.receipt-pdf-document .sign-box img{max-width:48mm!important;max-height:24mm!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.report-card{font-weight:700!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
.report-card-prev{background:#f3e8ff!important;border-color:#c4b5fd!important;}
.report-card-pay{background:#dcfce7!important;border-color:#86efac!important;}
.report-card-exp{background:#fee2e2!important;border-color:#fca5a5!important;}
.report-card-income{background:#fef3c7!important;border-color:#fcd34d!important;}
.report-card-balance{background:#dbeafe!important;border-color:#93c5fd!important;}
@media print{.report-card-prev{background:#f3e8ff!important}.report-card-pay{background:#dcfce7!important}.report-card-exp{background:#fee2e2!important}.report-card-income{background:#fef3c7!important}.report-card-balance{background:#dbeafe!important}}

/* v1.0.34 Stage 1 — System Monitoring dashboard shell */
.system-monitor-box{width:min(1180px,96vw)!important;max-width:1180px!important;max-height:94vh!important;overflow:auto!important;background:#f8fafc!important;padding:18px!important;}
.system-monitor-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;padding:18px;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.14)}
.system-monitor-topbar h2{margin:0 0 5px;font-size:24px}.system-monitor-topbar p{margin:0;color:#dbeafe;font-size:13px}
.system-monitor-banner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dbeafe;border-right:5px solid #2563eb;border-radius:14px;padding:13px 15px;margin:12px 0;box-shadow:0 3px 12px rgba(15,23,42,.05)}
.system-monitor-banner-icon{font-size:28px}.system-monitor-banner strong,.system-monitor-banner span{display:block}.system-monitor-banner span{color:#64748b;font-size:12px;margin-top:3px}
.system-monitor-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:12px 0}
.monitor-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;text-align:center;box-shadow:0 3px 12px rgba(15,23,42,.04)}
.monitor-kpi span{display:block;color:#475569;font-size:13px;font-weight:700}.monitor-kpi strong{display:block;color:#0f172a;font-size:26px;margin:7px 0}.monitor-kpi small{color:#94a3b8;font-size:10px}
.system-monitor-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin-top:12px;box-shadow:0 3px 12px rgba(15,23,42,.04)}
.system-monitor-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.system-monitor-section-head h3{margin:0;font-size:17px;color:#0f172a}.system-monitor-section-head p{margin:4px 0 0;color:#64748b;font-size:12px}
.monitor-stage-badge{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}
.monitor-table-preview{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.monitor-table-row{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:8px;padding:10px 12px}.monitor-table-head{background:#f1f5f9;color:#334155;font-size:12px;font-weight:800}.monitor-table-empty{text-align:center;color:#94a3b8;padding:24px 10px;font-size:12px}
.system-monitor-box .system-health-list{max-height:320px;min-height:180px}.system-monitor-box .system-health-actions{position:sticky;bottom:-18px;background:#f8fafc;padding:12px 0 2px;z-index:3}
@media(max-width:800px){.system-monitor-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:12px!important}.system-monitor-kpis{grid-template-columns:repeat(2,1fr)}.monitor-table-row{grid-template-columns:1.8fr repeat(2,1fr)}.monitor-table-row span:nth-child(4),.monitor-table-row span:nth-child(5),.monitor-table-row span:nth-child(6){display:none}.system-monitor-topbar h2{font-size:21px}}
@media(max-width:420px){.system-monitor-kpis{grid-template-columns:1fr 1fr}.monitor-kpi{padding:11px 7px}.monitor-kpi strong{font-size:22px}.system-monitor-banner{align-items:flex-start}}


/* v1.0.34 Stage 2 — Real read-only user storage scan */
.monitor-scan-note{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:11px;padding:9px 11px;font-size:11px;line-height:1.7;margin:8px 0 10px}
.monitor-controls{display:grid;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) minmax(150px,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}
.monitor-controls input,.monitor-controls select{width:100%;margin:0!important;min-height:40px;background:#fff}
.monitor-controls button{white-space:nowrap;min-height:40px}
.monitor-progress{display:flex;align-items:center;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;padding:9px 11px;margin-bottom:10px;color:#1e40af;font-size:11px}
.monitor-progress-bar{height:9px;background:#dbeafe;border-radius:999px;overflow:hidden;flex:1;min-width:120px}.monitor-progress-bar span{display:block;height:100%;width:0;background:#2563eb;transition:width .25s ease}
.monitor-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;max-height:430px}
.monitor-users-table{width:100%;border-collapse:collapse;min-width:920px;font-size:11px}.monitor-users-table th{position:sticky;top:0;z-index:2;background:#f1f5f9;color:#334155;padding:10px 8px;border-bottom:1px solid #cbd5e1;white-space:nowrap}.monitor-users-table td{padding:9px 8px;border-bottom:1px solid #eef2f7;text-align:center;vertical-align:middle}.monitor-users-table tbody tr:hover{background:#f8fafc}.monitor-users-table td:first-child{text-align:right;direction:ltr;font-weight:700;color:#0f172a}.monitor-empty-cell{padding:26px!important;color:#94a3b8!important;text-align:center!important;direction:rtl!important;font-weight:400!important}
.monitor-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;white-space:nowrap}.monitor-status.good{background:#dcfce7;color:#166534}.monitor-status.watch{background:#fef9c3;color:#854d0e}.monitor-status.high{background:#ffedd5;color:#9a3412}.monitor-status.critical,.monitor-status.error{background:#fee2e2;color:#991b1b}
.monitor-doc-usage{min-width:100px}.monitor-doc-usage b{display:block;font-size:10px}.monitor-mini-bar{height:5px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-top:4px}.monitor-mini-bar span{display:block;height:100%;background:#22c55e}.monitor-mini-bar.watch span{background:#eab308}.monitor-mini-bar.high span{background:#f97316}.monitor-mini-bar.critical span{background:#ef4444}
.monitor-results-meta{color:#64748b;font-size:10px;text-align:center;margin-top:8px}.monitor-cards{display:none}.monitor-user-sub{display:block;color:#94a3b8;font-size:9px;margin-top:2px;direction:ltr}
@media(max-width:900px){.monitor-controls{grid-template-columns:1fr 1fr}.monitor-controls input{grid-column:1/-1}.monitor-controls button{grid-column:1/-1}.monitor-table-wrap{display:none}.monitor-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.monitor-user-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:11px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.monitor-user-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:7px;margin-bottom:8px}.monitor-user-card-email{font-weight:800;color:#0f172a;font-size:11px;direction:ltr;word-break:break-all}.monitor-user-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.monitor-user-card-grid div{background:#f8fafc;border-radius:8px;padding:6px;text-align:center}.monitor-user-card-grid span{display:block;color:#64748b;font-size:9px}.monitor-user-card-grid b{display:block;color:#0f172a;font-size:12px;margin-top:2px}}
@media(max-width:520px){.monitor-controls{grid-template-columns:1fr}.monitor-controls input,.monitor-controls button{grid-column:auto}.monitor-cards{grid-template-columns:1fr}.monitor-progress{align-items:stretch;flex-direction:column}.monitor-progress-bar{width:100%}}
.monitor-details-btn{padding:7px 12px!important;white-space:nowrap}.monitor-detail-box{width:min(1050px,96vw)!important;max-width:1050px!important;max-height:94vh!important;overflow:auto!important;background:#f8fafc!important}.monitor-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;padding:17px;border-radius:15px}.monitor-detail-head h2{margin:0 0 4px}.monitor-detail-head p{margin:0;color:#bfdbfe;font-size:12px;word-break:break-all}.monitor-detail-tabs{display:flex;gap:6px;overflow:auto;padding:12px 0 8px;position:sticky;top:-18px;background:#f8fafc;z-index:2}.monitor-detail-tabs button{background:#fff;color:#334155;border:1px solid #cbd5e1;white-space:nowrap;padding:9px 12px}.monitor-detail-tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.monitor-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;min-height:220px}.monitor-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.monitor-detail-summary>div{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc}.monitor-detail-summary span,.monitor-detail-summary b{display:block}.monitor-detail-summary span{font-size:12px;color:#64748b;margin-bottom:5px}.monitor-detail-summary b{font-size:16px;color:#0f172a;word-break:break-word}.monitor-dist-row{display:grid;grid-template-columns:150px 1fr 170px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f7}.monitor-dist-bar{height:13px;border-radius:999px;background:#e2e8f0;overflow:hidden}.monitor-dist-bar i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#14b8a6);border-radius:999px}.monitor-alert{padding:12px;border-radius:11px;margin:8px 0;border-right:5px solid}.monitor-alert.good{background:#ecfdf5;border-color:#10b981}.monitor-alert.watch{background:#fffbeb;border-color:#f59e0b}.monitor-alert.high{background:#fff7ed;border-color:#f97316}.monitor-alert.critical,.monitor-alert.error{background:#fef2f2;border-color:#ef4444}.monitor-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:12px}.monitor-user-card .monitor-details-btn{width:100%;margin-top:10px}.monitor-users-table td:last-child,.monitor-users-table th:last-child{text-align:center}.monitor-controls .danger:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:800px){.monitor-detail-box{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.monitor-detail-summary{grid-template-columns:repeat(2,1fr)}.monitor-dist-row{grid-template-columns:100px 1fr}.monitor-dist-row b{grid-column:1/-1;font-size:12px}.monitor-detail-actions{position:sticky;bottom:-18px;background:#f8fafc;padding:10px 0}.monitor-detail-tabs{top:-18px}}
@media(max-width:430px){.monitor-detail-summary{grid-template-columns:1fr}.monitor-detail-head{padding:13px}.monitor-detail-tabs button{padding:8px 9px;font-size:12px}}

/* System monitor: remaining space, largest components and recommendation */
.monitor-components-table-wrap{margin-top:8px;overflow:auto;border:1px solid #dbe3ec;border-radius:12px;background:#fff}
.monitor-components-table{width:100%;border-collapse:collapse;min-width:460px;font-size:13px}
.monitor-components-table th,.monitor-components-table td{padding:9px 12px;border-bottom:1px solid #e7edf3;text-align:right}
.monitor-components-table th{background:#f5f8fb;color:#334155;font-weight:800}
.monitor-components-table tbody tr:last-child td{border-bottom:0}
.monitor-recommendation{background:#effcf8!important;border:1px solid #99e2cf!important;border-right:5px solid #0f9f7f!important}
.monitor-recommendation span{color:#08745e!important}
.monitor-recommendation b{line-height:1.8}


/* System monitor: expandable deep field analysis */
.monitor-component-name{display:block;font-weight:800;color:#0f172a}.monitor-component-type{display:block;margin-top:3px;color:#64748b;font-size:11px}.monitor-component-details>summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:3px}.monitor-component-details>summary::-webkit-details-marker{display:none}.monitor-component-details>summary b:before{content:"▸";display:inline-block;margin-left:6px;color:#2563eb;transition:transform .18s}.monitor-component-details[open]>summary b:before{transform:rotate(90deg)}.monitor-component-details>summary small{color:#64748b;font-weight:600}.monitor-field-tree{margin-top:8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:6px}.monitor-field-node{border-bottom:1px solid #e2e8f0}.monitor-field-node:last-child{border-bottom:0}.monitor-field-node>summary{cursor:pointer;display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(110px,.8fr) minmax(70px,.55fr) 55px;gap:8px;align-items:center;padding:7px 8px;list-style:none}.monitor-field-node>summary::-webkit-details-marker{display:none}.monitor-field-node>.monitor-field-tree{margin:0 12px 8px;background:#fff}.monitor-field-name{font-weight:800;word-break:break-word}.monitor-field-type{font-size:11px;color:#64748b}.monitor-field-node>summary b{white-space:nowrap}.monitor-field-node>summary>span:last-child{font-size:11px;color:#475569;white-space:nowrap}.monitor-tree-empty{padding:8px;color:#64748b;font-size:12px}@media(max-width:700px){.monitor-field-node>summary{grid-template-columns:minmax(120px,1fr) minmax(65px,.45fr);}.monitor-field-type{grid-column:1/2}.monitor-field-node>summary b{grid-column:2/3;grid-row:1}.monitor-field-node>summary>span:last-child{grid-column:2/3;grid-row:2}.monitor-component-details>summary small{font-size:10px}}

/* تنظيف حقول أصول السندات القديمة من مستند الحساب الرئيسي */
.legacy-cleanup-card{margin-top:14px;padding:14px;border:1px solid #f0c36b;border-radius:14px;background:#fff9e9;text-align:right}
.legacy-cleanup-title{font-weight:800;color:#7a4a00;margin-bottom:7px}
.legacy-cleanup-status{line-height:1.75;color:#334155;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px;margin-bottom:10px}
.legacy-cleanup-status.good{border-color:#86efac;background:#f0fdf4;color:#166534}
.legacy-cleanup-status.warn{border-color:#f5c56b;background:#fff7e6;color:#7a4a00}
.legacy-cleanup-status.error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}
.legacy-cleanup-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:8px}
.legacy-cleanup-actions button{min-width:150px}
@media(max-width:640px){.legacy-cleanup-actions button{width:100%}}

/* v38: تقارير الطباعة المباشرة — صفحة مستقلة لكل سنة مع عناوين المتابعة */
@media print{
  body.print-report{margin:0!important;background:#fff!important;}
  body.print-report #printHost{display:block!important;width:100%!important;}
  body.print-report #printHost .report-print-paginated{display:block!important;width:100%!important;}
  body.print-report #printHost .report-print-physical-page{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:8mm 10mm!important;
    box-sizing:border-box!important;
    background:#fff!important;
    break-after:page!important;
    page-break-after:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.print-report #printHost .report-print-physical-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  body.print-report #printHost .report-print-physical-page .report-year{padding:0!important;margin:0!important;page-break-after:auto!important;break-after:auto!important;}
  body.print-report #printHost .report-print-physical-page h3{margin:3mm 0 2mm!important;}
  @page{size:A4 landscape;margin:0;}
}


/* === Resident detailed report === */
.resident-report-name{margin:4px auto 8px;text-align:center;font-size:21px;font-weight:900;color:#0f172a;}
.resident-report-cards{grid-template-columns:repeat(5,1fr)!important;}
.resident-report-year{margin:5mm 0 7mm;break-inside:avoid;page-break-inside:avoid;}
.resident-report-year>h3{margin:3mm 0 1.5mm!important;padding:5px 8px;border-radius:6px;background:#e2e8f0!important;color:#0f172a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-report-year-summary,.resident-report-summary-table{width:100%;border-collapse:collapse;table-layout:fixed;direction:rtl;}
.resident-report-year-summary th,.resident-report-year-summary td,.resident-report-summary-table th,.resident-report-summary-table td{border:1px solid #94a3b8;padding:5px 3px;text-align:center;font-size:9px;}
.resident-report-year-summary thead th,.resident-report-summary-table thead th{background:#dbeafe!important;font-weight:900;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-report-year-summary tfoot th{background:#bfdbfe!important;font-weight:900;border-top:2px solid #0f172a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-payment-positive{background:#dcfce7!important;font-weight:800;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-payment-other{background:#fef3c7!important;font-weight:800;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-payment-zero{background:#fee2e2!important;color:#991b1b!important;font-weight:800;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-payment-total{background:#dbeafe!important;font-weight:900!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.resident-report-note{margin-top:6mm;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#475569;font-size:10px;line-height:1.7;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.report-empty{text-align:center;padding:25px;color:#64748b;font-weight:700;}
@media(max-width:900px){.resident-report-cards{grid-template-columns:repeat(2,1fr)!important;}}
@media print{.resident-report-cards{grid-template-columns:repeat(5,1fr)!important}.resident-report-year{break-inside:avoid;page-break-inside:avoid}.resident-report-note{break-inside:avoid;page-break-inside:avoid}}


/* === v1.0.33 Smart dashboard + resident account UI === */
:root{--ui-border:#dbe4f0;--ui-soft:#f8fafc;--ui-ink:#0f172a;--ui-muted:#64748b}
.smart-dashboard{margin:16px 0 12px;padding:18px;border:1px solid #dbe4f0;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 55%,#f4f8ff 100%);box-shadow:0 12px 32px rgba(15,23,42,.07)}
.smart-dashboard-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-bottom:14px;text-align:center}.smart-dashboard-head>div{text-align:center;width:100%}.smart-dashboard-head h2{margin:3px 0 0;font-size:20px;color:#0f172a;text-align:center}.smart-dashboard-kicker,.resident-account-kicker{display:block;color:#2563eb;font-size:12px;font-weight:900;letter-spacing:.2px;text-align:center}.smart-dashboard-year{display:inline-flex;align-items:center;justify-content:center;padding:7px 13px;border-radius:999px;background:#e0edff;color:#1d4ed8;font-weight:900;white-space:nowrap;text-align:center}
.smart-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-metric{position:relative;overflow:hidden;padding:14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;min-height:102px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.smart-metric:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:#3b82f6}.smart-metric:nth-child(2):before{background:#10b981}.smart-metric:nth-child(3):before{background:#8b5cf6}.smart-metric:nth-child(4):before{background:#f59e0b}.smart-metric span{display:block;width:100%;color:#475569;font-size:12px;font-weight:800;text-align:center}.smart-metric b{display:block;width:100%;margin:7px 0 4px;font-size:26px;line-height:1.05;color:#0f172a;text-align:center;font-variant-numeric:tabular-nums}.smart-metric small{display:block;width:100%;color:#64748b;font-size:10px;line-height:1.45;text-align:center}
.smart-alerts{display:grid;gap:7px;margin-top:12px}.smart-alert{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 12px;border-radius:11px;border:1px solid #dbe4f0;background:#fff;color:#334155;font-size:12px;font-weight:700;text-align:center;min-height:40px}.smart-alert>span:last-child{display:inline-block;text-align:center;line-height:1.55}.smart-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex:0 0 auto;font-weight:900}.smart-alert.good{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.smart-alert.good .smart-alert-icon{background:#dcfce7}.smart-alert.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.smart-alert.warn .smart-alert-icon{background:#fef3c7}.smart-alert.bad{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.smart-alert.bad .smart-alert-icon{background:#ffe4e6}.smart-alert.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.smart-alert.info .smart-alert-icon{background:#dbeafe}
.resident-name-wrap{display:flex;align-items:center;justify-content:center;gap:4px;direction:rtl;width:100%}.resident-name-wrap input{flex:1 1 auto;min-width:0}.resident-account-btn{flex:0 0 auto;border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;border-radius:6px!important;padding:3px 5px!important;min-width:30px!important;font-size:9px!important;line-height:1.2!important;font-weight:900!important;white-space:nowrap}.resident-account-btn:hover{background:#dbeafe!important;transform:translateY(-1px)}
.resident-account-box{max-width:980px!important}.resident-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.resident-account-head h2{margin:3px 0 2px!important;font-size:25px!important}.resident-account-head p{margin:0;color:#64748b;font-weight:700}.resident-account-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.resident-account-cards>div{padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;text-align:center}.resident-account-cards span{display:block;color:#64748b;font-size:11px;font-weight:800}.resident-account-cards b{display:block;margin-top:5px;color:#0f172a;font-size:20px}
.resident-account-cards>div.resident-summary-card{transition:background .18s ease,border-color .18s ease,transform .18s ease;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.resident-account-cards>div.resident-summary-total{background:#fff7cc;border-color:#f6d86b}
.resident-account-cards>div.resident-summary-months{background:#ecfdf3;border-color:#86efac}
.resident-account-cards>div.resident-summary-other{background:#ecfeff;border-color:#67e8f9}
.resident-account-cards>div.resident-summary-paid{background:#eef2ff;border-color:#c4b5fd}
.resident-account-cards>div.resident-summary-total span{color:#854d0e}
.resident-account-cards>div.resident-summary-months span{color:#166534}
.resident-account-cards>div.resident-summary-other span{color:#155e75}
.resident-account-cards>div.resident-summary-paid span{color:#5b21b6}
.resident-month.unpaid{background:#fef2f2;border-color:#fecaca}
.resident-month.unpaid span{color:#991b1b}
.resident-month.unpaid b{color:#b91c1c}
.resident-month.unpaid small{color:#b91c1c}
.resident-month.paid span{color:#166534}
.resident-month.paid b{color:#166534}
.resident-account-section{margin-top:15px}.resident-account-section h3{margin:0 0 8px;color:#1e293b;font-size:15px}.resident-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.resident-month{padding:9px 5px;border:1px solid #e2e8f0;border-radius:11px;text-align:center;background:#f8fafc}.resident-month span{display:block;font-size:10px;font-weight:900;color:#475569}.resident-month b{display:block;margin:4px 0;font-size:14px}.resident-month small{font-size:9px;font-weight:800}.resident-month.paid{background:#f0fdf4;border-color:#bbf7d0}.resident-month.paid small{color:#15803d}.resident-month.unpaid small{color:#94a3b8}.resident-month.other{background:#fffbeb;border-color:#fde68a}.resident-history-table{width:100%;border-collapse:collapse}.resident-history-table th,.resident-history-table td{border:1px solid #dbe4f0;padding:8px;text-align:center;font-size:12px}.resident-history-table th{background:#eff6ff;color:#1e3a8a}.resident-account-note{margin-top:12px;padding:10px 12px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:12px;line-height:1.7}
.section{border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.045)}.cards .card{border-radius:15px!important;transition:transform .16s ease,box-shadow .16s ease}.cards .card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,23,42,.08)}.toolbar button,.account-actions-grid button{transition:transform .14s ease,box-shadow .14s ease}.toolbar button:hover,.account-actions-grid button:hover{transform:translateY(-1px)}
@media(max-width:900px){.smart-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-account-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.smart-dashboard{padding:13px}.smart-dashboard-head{align-items:center}.resident-account-head{align-items:center}}
@media(max-width:560px){.smart-dashboard-metrics{grid-template-columns:1fr 1fr}.resident-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resident-account-cards{grid-template-columns:1fr 1fr}.smart-metric b{font-size:20px}}
@media print{.smart-dashboard{display:none!important}.resident-account-btn{display:none!important}}

/* Payment status colors: monthly cells update live when a payment is entered/removed. */
.pay-cell.month-payment-cell{transition:background-color .18s ease,border-color .18s ease;}
.pay-cell.month-payment-cell input{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
.pay-cell.month-paid{background:#dcfce7;}
.pay-cell.month-paid input{background:#ecfdf5;border-color:#86efac;color:#14532d;}
.pay-cell.month-unpaid{background:#fee2e2;}
.pay-cell.month-unpaid input{background:#fff1f2;border-color:#fca5a5;color:#7f1d1d;}
.pay-cell.month-paid input:focus{background:#f0fdf4;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e22;}
.pay-cell.month-unpaid input:focus{background:#fff7f7;border-color:#ef4444;box-shadow:0 0 0 2px #ef444422;}
.pay-cell.other-payment-cell{background:#ecfdf5;}


/* Expense table month colors: same alternating tones used in printed reports. */
.expense-table tbody tr.expense-row td{transition:background-color .18s ease,border-color .18s ease;}
.expense-table tbody tr.expense-row td input{transition:background-color .18s ease,border-color .18s ease;}
.expense-table tbody tr.expense-tone-blue td{background:#eff6ff;}
.expense-table tbody tr.expense-tone-blue td input{background:#f8fbff;border-color:#bfdbfe;}
.expense-table tbody tr.expense-tone-green td{background:#f0fdf4;}
.expense-table tbody tr.expense-tone-green td input{background:#f7fff9;border-color:#bbf7d0;}
.expense-table tbody tr.expense-tone-neutral td{background:#f8fafc;}
.expense-table tbody tr.expense-tone-neutral td input{background:#fff;border-color:#cbd5e1;}
.expense-table tbody tr.expense-tone-blue td:last-child,
.expense-table tbody tr.expense-tone-green td:last-child{background:inherit;}


/* Resident receipts collection from detailed resident report */
.resident-receipts-modal-box{max-width:1050px!important;width:min(96vw,1050px)!important}
.resident-receipts-toolbar{display:grid;gap:10px;margin-bottom:12px}.resident-receipts-summary{padding:10px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:11px;text-align:center;font-weight:800}
.resident-receipts-content{display:grid;gap:16px;max-height:68vh;overflow:auto;padding:4px 6px 18px}.resident-receipt-item{background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:10px;box-shadow:0 5px 16px rgba(15,23,42,.05)}
.resident-receipt-item-head{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 8px;color:#475569;font-size:12px;font-weight:800}.resident-receipt-item-head b{color:#0f172a}.resident-receipt-item .receipt-paper{margin:0 auto!important}
.resident-receipts-empty{padding:30px;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc}.resident-receipts-loading{padding:30px;text-align:center;color:#1d4ed8;font-weight:800}
.resident-receipt-print-page{break-after:page;page-break-after:always}.resident-receipt-print-page:last-child{break-after:auto;page-break-after:auto}
@media print{.resident-receipts-modal-box{max-width:none!important;width:auto!important}.resident-receipts-content{display:block!important;max-height:none!important;overflow:visible!important}.resident-receipt-item{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;break-after:page;page-break-after:always}.resident-receipt-item:last-child{break-after:auto;page-break-after:auto}.resident-receipt-item-head{display:none!important}}


/* Resident receipt batch — one complete centered receipt per A4 page. */
.resident-receipts-document{width:100%!important;max-width:100%!important;background:#fff!important;box-sizing:border-box!important;}
.resident-receipt-print-page{
  width:100%!important;max-width:100%!important;min-height:273mm!important;
  box-sizing:border-box!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;
  break-after:page!important;page-break-after:always!important;background:#fff!important;
}
.resident-receipt-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
.resident-receipt-print-page>.receipt-void-banner{width:180mm!important;max-width:180mm!important;box-sizing:border-box!important;margin:0 auto 5mm!important;}
.resident-receipt-print-page .receipt-void-wrap{width:180mm!important;max-width:180mm!important;margin:0 auto!important;box-sizing:border-box!important;overflow:visible!important;}
.resident-receipt-print-page .receipt-paper{
  width:180mm!important;max-width:180mm!important;min-height:120mm!important;height:auto!important;
  margin:0 auto!important;padding:10mm 12mm!important;box-sizing:border-box!important;
  overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;
  box-shadow:none!important;transform:none!important;left:auto!important;right:auto!important;
}
.resident-receipt-print-page .receipt-signatures,.resident-receipt-print-page .sign-box{
  break-inside:avoid!important;page-break-inside:avoid!important;overflow:visible!important;
}
@media print{
  #printHost .resident-receipts-document{display:block!important;width:100%!important;max-width:100%!important;}
  #printHost .resident-receipt-print-page{width:100%!important;min-height:273mm!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;}
  #printHost .resident-receipt-print-page .receipt-paper{width:180mm!important;max-width:180mm!important;min-height:120mm!important;height:auto!important;margin:0 auto!important;padding:10mm 12mm!important;box-sizing:border-box!important;}
  #printHost .resident-receipt-print-page .receipt-void-wrap,#printHost .resident-receipt-print-page>.receipt-void-banner{width:180mm!important;max-width:180mm!important;margin-left:auto!important;margin-right:auto!important;}
}


/* Resident receipts — final print/save separation and exact A4 layout. */
@media print{
  body.print-receipt #printHost .resident-receipts-document{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;}
  body.print-receipt #printHost .resident-receipt-print-page{width:190mm!important;max-width:190mm!important;height:260mm!important;min-height:260mm!important;max-height:260mm!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important;background:#fff!important;}
  body.print-receipt #printHost .resident-receipt-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  body.print-receipt #printHost .resident-receipt-print-page>.receipt-void-banner,body.print-receipt #printHost .resident-receipt-print-page .receipt-void-wrap{width:180mm!important;max-width:180mm!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;}
  body.print-receipt #printHost .resident-receipt-print-page .receipt-paper{width:180mm!important;max-width:180mm!important;min-height:0!important;height:auto!important;margin:0 auto!important;padding:10mm 12mm!important;box-sizing:border-box!important;overflow:visible!important;box-shadow:none!important;transform:none!important;}
}
.resident-receipt-capture-host .receipt-paper{max-width:none!important;}

/* Resident receipts: active/cancelled filter */
.resident-receipts-filter-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dbeafe;background:#f8fbff;border-radius:11px}
.resident-receipts-filter-row label{font-weight:800;color:#334155}
.resident-receipts-filter-row select{min-width:220px;max-width:100%;padding:9px 12px;border:1px solid #94a3b8;border-radius:9px;background:#fff;color:#0f172a;font-weight:800;text-align:center}
@media(max-width:600px){.resident-receipts-filter-row{display:grid;grid-template-columns:1fr}.resident-receipts-filter-row select{width:100%;min-width:0}}
