/* Final compatibility layer: loaded after legacy page styles. */
body.abanrah-ui,
body.abanrah-ui.abanrah-app-body,
body.abanrah-ui.abanrah-public-body {
  color: var(--ar-ink) !important;
  background: var(--ar-bg) !important;
  font-family: "Vazir", Tahoma, Arial, sans-serif !important;
  padding: 0 !important;
}
body.abanrah-ui .abanrah-content { line-height: 1.75; }
body.abanrah-ui .abanrah-content > br:first-child,
body.abanrah-ui .abanrah-content > br:first-child + br { display: none; }

/* Page headings and toolbars */
body.abanrah-ui .abanrah-content > h1,
body.abanrah-ui .abanrah-content > h2,
body.abanrah-ui .abanrah-content > h3,
body.abanrah-ui .abanrah-content > h4,
body.abanrah-ui .abanrah-content > h4[align="center"],
body.abanrah-ui .abanrah-page-title {
  min-height: auto !important;
  margin: 0 0 20px !important;
  padding: 0 0 14px !important;
  color: var(--ar-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ar-border) !important;
  border-radius: 0 !important;
  font-size: clamp(1.05rem, 2.1vw, 1.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.65 !important;
  text-align: right !important;
  box-shadow: none !important;
}
body.abanrah-ui .abanrah-content > h4 p,
body.abanrah-ui .abanrah-page-title p { display: inline-flex; float: left; margin: 0 !important; }
body.abanrah-ui hr { margin: 1rem 0 1.3rem; color: var(--ar-border); opacity: 1; }
body.abanrah-ui p[align="left"] { display: flex; align-items: center; justify-content: flex-end; gap: 8px; color: var(--ar-muted); }
body.abanrah-ui h5[align="center"][style] {
  margin: 18px 0 !important;
  padding: 28px !important;
  color: var(--ar-muted) !important;
  background: var(--ar-surface) !important;
  border: 1px dashed #cbdcdf !important;
  border-radius: var(--ar-radius) !important;
}

/* Containers and cards */
body.abanrah-ui .abanrah-content > .container,
body.abanrah-ui .abanrah-content > .container-fluid { max-width: none !important; padding-inline: 0 !important; }
body.abanrah-ui .card,
body.abanrah-ui .dashboard-card,
body.abanrah-ui .stat-card,
body.abanrah-ui .info-card,
body.abanrah-ui .document-card,
body.abanrah-ui .category-card,
body.abanrah-ui .service-card,
body.abanrah-ui .filter-container,
body.abanrah-ui .table-container,
body.abanrah-ui .search-form,
body.abanrah-ui .chart-container {
  color: var(--ar-ink) !important;
  background: var(--ar-surface) !important;
  border: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius) !important;
  box-shadow: var(--ar-shadow-sm) !important;
}
body.abanrah-ui .card:hover,
body.abanrah-ui .dashboard-card:hover,
body.abanrah-ui .stat-card:hover,
body.abanrah-ui .service-card:hover { transform: translateY(-2px) !important; box-shadow: var(--ar-shadow) !important; }
body.abanrah-ui .card-header,
body.abanrah-ui .card-header.primary,
body.abanrah-ui .card-header.success,
body.abanrah-ui .card-header.danger {
  color: var(--ar-ink) !important;
  background: linear-gradient(180deg, #fff, #f6fafa) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius) var(--ar-radius) 0 0 !important;
  font-weight: 800 !important;
}
body.abanrah-ui .card-body { padding: clamp(16px, 2vw, 24px) !important; }
body.abanrah-ui .card-footer { color: var(--ar-muted); background: #f8fbfb !important; border-top: 1px solid var(--ar-border) !important; }

/* Plain primary forms become centered form panels */
body.abanrah-ui .abanrah-content > .col-md-6,
body.abanrah-ui .abanrah-form-card {
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin: 10px auto 28px !important;
  padding: clamp(18px, 2.6vw, 30px) !important;
  background: var(--ar-surface) !important;
  border: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius-lg) !important;
  box-shadow: var(--ar-shadow) !important;
}
body.abanrah-ui form:not(.navbar-form):not(.no-modern-form) { accent-color: var(--ar-primary); }
body.abanrah-ui form p { margin-bottom: 15px; }
body.abanrah-ui .form-group { margin-bottom: 16px !important; }
body.abanrah-ui label,
body.abanrah-ui .form-label { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 7px !important; color: #304b55 !important; font-size: .82rem; font-weight: 700 !important; }
body.abanrah-ui .form-control,
body.abanrah-ui .form-select,
body.abanrah-ui select,
body.abanrah-ui textarea,
body.abanrah-ui input[type="text"],
body.abanrah-ui input[type="number"],
body.abanrah-ui input[type="tel"],
body.abanrah-ui input[type="email"],
body.abanrah-ui input[type="password"],
body.abanrah-ui input[type="search"],
body.abanrah-ui input[type="url"],
body.abanrah-ui input[type="date"] {
  width: 100%;
  min-height: 44px !important;
  padding: 9px 12px !important;
  color: var(--ar-ink) !important;
  background-color: #fff !important;
  border: 1px solid #cbdadd !important;
  border-radius: 11px !important;
  box-shadow: inset 0 1px 2px rgba(20,54,64,.025) !important;
  font-size: .84rem !important;
}
body.abanrah-ui textarea.form-control,
body.abanrah-ui textarea { min-height: 110px !important; resize: vertical; }
body.abanrah-ui .form-control:focus,
body.abanrah-ui .form-select:focus,
body.abanrah-ui select:focus,
body.abanrah-ui textarea:focus,
body.abanrah-ui input:focus {
  outline: 0 !important;
  border-color: var(--ar-primary) !important;
  box-shadow: var(--ar-focus) !important;
}
body.abanrah-ui input[type="checkbox"],
body.abanrah-ui input[type="radio"] { width: 18px; height: 18px; vertical-align: middle; }
body.abanrah-ui .input-group-text { min-width: 42px; justify-content: center; color: var(--ar-primary); background: var(--ar-primary-soft); border-color: #cbdadd; }
body.abanrah-ui .helptext,
body.abanrah-ui .form-text { display: block; margin-top: 5px; color: var(--ar-muted) !important; font-size: .72rem; }
body.abanrah-ui .errorlist,
body.abanrah-ui .error-message { margin: 7px 0; padding: 8px 11px; color: #a83232; background: #fff1f1; border: 1px solid #f0c8c8; border-radius: 9px; font-size: .74rem; }
body.abanrah-ui .abanrah-form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--ar-border); }

/* Buttons */
body.abanrah-ui .btn,
body.abanrah-ui button:not(.abanrah-nav-toggle):not(.abanrah-icon-button):not(.captcha-refresh-btn) {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 10px !important;
  font-size: .78rem;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}
body.abanrah-ui .btn:hover,
body.abanrah-ui button:not(.abanrah-nav-toggle):not(.abanrah-icon-button):not(.captcha-refresh-btn):hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(20,54,64,.12) !important; }
body.abanrah-ui .btn-primary { color: #fff !important; background: var(--ar-primary) !important; border-color: var(--ar-primary) !important; }
body.abanrah-ui .btn-success { color: #fff !important; background: var(--ar-success) !important; border-color: var(--ar-success) !important; }
body.abanrah-ui .btn-danger { color: #fff !important; background: var(--ar-danger) !important; border-color: var(--ar-danger) !important; }
body.abanrah-ui .btn-warning { color: #503305 !important; background: #f3c66e !important; border-color: #f3c66e !important; }
body.abanrah-ui .btn-info { color: #fff !important; background: var(--ar-info) !important; border-color: var(--ar-info) !important; }
body.abanrah-ui .btn-secondary { color: #fff !important; background: #6b7e85 !important; border-color: #6b7e85 !important; }
body.abanrah-ui .btn-outline-light { color: var(--ar-primary) !important; background: #fff !important; border-color: #c9dadd !important; }
body.abanrah-ui .btn-sm { min-height: 34px; padding: 6px 10px; font-size: .71rem; }
body.abanrah-ui input[type="submit"],
body.abanrah-ui input[type="reset"] { width: auto !important; min-width: 118px; }

/* Tables */
body.abanrah-ui .abanrah-table-scroll,
body.abanrah-ui .table-responsive {
  width: 100%;
  margin: 12px 0 20px;
  overflow-x: auto;
  border: 1px solid var(--ar-border);
  border-radius: var(--ar-radius);
  background: #fff;
  box-shadow: var(--ar-shadow-sm);
  -webkit-overflow-scrolling: touch;
}
body.abanrah-ui table,
body.abanrah-ui .table,
body.abanrah-ui .data-table { width: 100% !important; margin: 0 !important; color: var(--ar-ink) !important; background: #fff !important; border-collapse: separate !important; border-spacing: 0 !important; font-size: .77rem !important; }
body.abanrah-ui table thead,
body.abanrah-ui .table thead,
body.abanrah-ui .thead-dark { color: #24414a !important; background: #edf5f5 !important; }
body.abanrah-ui table thead th,
body.abanrah-ui .table thead th {
  min-width: 105px;
  padding: 12px 10px !important;
  color: #24414a !important;
  background: #edf5f5 !important;
  border: 0 !important;
  border-bottom: 1px solid #ccdfe1 !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap;
}
body.abanrah-ui table td,
body.abanrah-ui .table td { padding: 11px 10px !important; border: 0 !important; border-bottom: 1px solid #e6edef !important; vertical-align: middle !important; }
body.abanrah-ui table tbody tr:nth-child(even) { background: #fbfdfd !important; }
body.abanrah-ui table tbody tr:hover { background: #eff8f8 !important; }
body.abanrah-ui table td h4 { margin: 0 0 6px !important; color: var(--ar-primary) !important; background: transparent !important; font-size: .9rem !important; }
body.abanrah-ui table td[style*="color: red"] { color: var(--ar-danger) !important; }
body.abanrah-ui table td[style*="color: green"] { color: var(--ar-success) !important; }

/* Search/filter bars */
body.abanrah-ui .abanrah-content > form[method="get"],
body.abanrah-ui .filter-form,
body.abanrah-ui .controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid var(--ar-border) !important;
  border-radius: var(--ar-radius) !important;
  box-shadow: var(--ar-shadow-sm) !important;
}
body.abanrah-ui .abanrah-content > form[method="get"] > * { margin: 0 !important; }
body.abanrah-ui .abanrah-content > form[method="get"] input,
body.abanrah-ui .abanrah-content > form[method="get"] select { width: min(100%, 280px) !important; }

/* Alerts, pagination, tabs */
body.abanrah-ui .alert { padding: 12px 14px; border-width: 1px !important; border-radius: 12px !important; box-shadow: none !important; }
body.abanrah-ui .alert-success { color: #16613f; background: #ecf8f2; border-color: #bce3cf; }
body.abanrah-ui .alert-danger { color: #8f2d2d; background: #fff1f1; border-color: #efc2c2; }
body.abanrah-ui .alert-warning { color: #795012; background: #fff8e9; border-color: #ecd59f; }
body.abanrah-ui .alert-info { color: #1e597d; background: #edf7fd; border-color: #bddced; }
body.abanrah-ui .pagination { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 18px; }
body.abanrah-ui .page-link { min-width: 38px; min-height: 38px; display: grid; place-items: center; padding: 6px 10px; color: var(--ar-primary); background: #fff; border: 1px solid var(--ar-border); border-radius: 9px !important; }
body.abanrah-ui .page-item.active .page-link { color: #fff; background: var(--ar-primary); border-color: var(--ar-primary); }
body.abanrah-ui .nav-tabs { gap: 5px; padding: 5px; background: #edf4f5; border: 0; border-radius: 12px; }
body.abanrah-ui .nav-tabs .nav-link { color: #526a73; border: 0; border-radius: 9px; }
body.abanrah-ui .nav-tabs .nav-link.active { color: var(--ar-primary); background: #fff; box-shadow: var(--ar-shadow-sm); }

/* Select2 and datepicker */
body.abanrah-ui .select2-container { width: 100% !important; }
body.abanrah-ui .select2-container .select2-selection--single,
body.abanrah-ui .select2-container .select2-selection--multiple { min-height: 44px !important; background: #fff !important; border: 1px solid #cbdadd !important; border-radius: 11px !important; }
body.abanrah-ui .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px !important; color: var(--ar-ink) !important; }
body.abanrah-ui .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px !important; }
body.abanrah-ui .jdp-container,
body.abanrah-ui .abanrah-jalali-datepicker { z-index: 2000 !important; border-radius: 14px !important; box-shadow: 0 20px 50px rgba(15,45,55,.22) !important; }

/* Login */
body.abanrah-ui .login-container { min-height: calc(100vh - 210px) !important; padding: clamp(18px, 5vw, 60px) 0 !important; background: transparent !important; }
body.abanrah-ui .login-card { width: min(100%, 980px) !important; min-height: 540px; overflow: hidden; border: 1px solid var(--ar-border) !important; border-radius: 24px !important; box-shadow: 0 22px 65px rgba(20,54,64,.14) !important; }
body.abanrah-ui .graphic-side { background: linear-gradient(145deg, var(--ar-primary-700), var(--ar-primary)) !important; }
body.abanrah-ui .login-form-container { background: #fff !important; }
body.abanrah-ui .btn-login { width: 100% !important; min-height: 48px !important; color: #fff !important; background: var(--ar-primary) !important; border: 0 !important; border-radius: 12px !important; }

/* Generic grids and dashboard metrics */
body.abanrah-ui .stats-grid,
body.abanrah-ui .dashboard-grid,
body.abanrah-ui .cards-container { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important; gap: 16px !important; }
body.abanrah-ui .stat-number,
body.abanrah-ui .stat-value { color: var(--ar-primary) !important; font-weight: 900 !important; }
body.abanrah-ui .badge,
body.abanrah-ui .performance-badge { padding: .45em .72em !important; border-radius: 999px !important; font-weight: 700 !important; }

/* Permission errors */
body.abanrah-ui .abanrah-content > h4[style*="208, 4, 4"],
body.abanrah-ui .abanrah-content > h4[style*="red"] {
  padding: 20px !important;
  color: #952f2f !important;
  background: #fff2f2 !important;
  border: 1px solid #edc6c6 !important;
  border-radius: var(--ar-radius) !important;
  text-align: center !important;
}

@media (max-width: 767.98px) {
  body.abanrah-ui .abanrah-content > h1,
  body.abanrah-ui .abanrah-content > h2,
  body.abanrah-ui .abanrah-content > h3,
  body.abanrah-ui .abanrah-content > h4 { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  body.abanrah-ui .abanrah-content > h4 p { float: none; display: flex; justify-content: stretch; }
  body.abanrah-ui .abanrah-content > h4 p .btn { width: 100%; }
  body.abanrah-ui .abanrah-content > form[method="get"] { align-items: stretch !important; }
  body.abanrah-ui .abanrah-content > form[method="get"] > *,
  body.abanrah-ui .abanrah-content > form[method="get"] input,
  body.abanrah-ui .abanrah-content > form[method="get"] select,
  body.abanrah-ui .abanrah-content > form[method="get"] button { width: 100% !important; max-width: none !important; }
  body.abanrah-ui .abanrah-form-actions { display: grid; grid-template-columns: 1fr; }
  body.abanrah-ui .abanrah-form-actions > *,
  body.abanrah-ui input[type="submit"],
  body.abanrah-ui input[type="reset"] { width: 100% !important; }
  body.abanrah-ui table,
  body.abanrah-ui .table { min-width: 720px; }
  body.abanrah-ui .card-body { padding: 15px !important; }
}

@media print {
  body.abanrah-ui,
  body.abanrah-ui .card,
  body.abanrah-ui table { background: #fff !important; box-shadow: none !important; }
  body.abanrah-ui .btn,
  body.abanrah-ui form[method="get"] { display: none !important; }
}
