/* الهوية البصرية: المستظل لخدمات السفر والسياحة — كحلي #21345E وذهبي #A3863A */
:root {
  --brand: #21345e;
  --brand-dark: #18274a;
  --brand-darker: #111c36;
  --brand-soft: #e9edf5;
  --gold: #a3863a;
  --gold-dark: #8a7030;
  --gold-soft: #f6f0e1;
  --sidebar-w: 250px;

  /* اللون الأساسي في Bootstrap = كحلي الهوية */
  --bs-primary: #21345e;
  --bs-primary-rgb: 33, 52, 94;
  --bs-primary-bg-subtle: #e9edf5;
  --bs-primary-border-subtle: #b9c3d9;
  --bs-primary-text-emphasis: #18274a;
  --bs-link-color: #21345e;
  --bs-link-color-rgb: 33, 52, 94;
  --bs-link-hover-color: #a3863a;
  --bs-link-hover-color-rgb: 163, 134, 58;
  --bs-focus-ring-color: rgba(163, 134, 58, .3);
}
body { font-family: 'Cairo', system-ui, sans-serif; background: #f5f6f9; font-size: .95rem; color: #2a3142; }
h1, h2, h3, h4, h5, h6 { color: var(--brand); }
.bg-brand { background: var(--brand) !important; }
.text-brand { color: var(--brand) !important; }
.text-gold { color: var(--gold) !important; }
.bg-gold { background: var(--gold) !important; color: #fff; }
.bg-gold-soft { background: var(--gold-soft) !important; }
.border-gold { border: 1px solid var(--gold) !important; }
.card.border-primary { border: 1px solid var(--bs-primary-border-subtle) !important; }
.min-vw-0 { min-width: 0; }
.fs-xs { font-size: .65rem; }

/* الأزرار */
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-darker); --bs-btn-active-border-color: var(--brand-darker); --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand); }
.btn-outline-primary { --bs-btn-color: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark); --bs-btn-disabled-color: var(--brand); --bs-btn-disabled-border-color: var(--brand); }
.btn-gold { --bs-btn-color: #fff; --bs-btn-bg: var(--gold); --bs-btn-border-color: var(--gold); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--gold-dark);
  --bs-btn-hover-border-color: var(--gold-dark); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--gold-dark); --bs-btn-active-border-color: var(--gold-dark); font-weight: 600; }
.btn-outline-gold { --bs-btn-color: var(--gold-dark); --bs-btn-border-color: var(--gold); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--gold); --bs-btn-hover-border-color: var(--gold); }
.btn-link { --bs-btn-color: var(--brand); --bs-btn-hover-color: var(--gold-dark); }
.btn { border-radius: .55rem; }

/* عناصر النماذج والتنقل بألوان الهوية */
.form-control:focus, .form-select:focus { border-color: var(--gold); box-shadow: 0 0 0 .2rem rgba(163, 134, 58, .2); }
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }
.form-check-input:focus { border-color: var(--gold); box-shadow: 0 0 0 .2rem rgba(163, 134, 58, .2); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--brand); }
.nav-tabs { --bs-nav-tabs-link-active-color: var(--brand); }
.nav-tabs .nav-link { color: #5b6478; }
.nav-tabs .nav-link.active { font-weight: 700; border-bottom-color: var(--gold); box-shadow: inset 0 -3px 0 var(--gold); }
.pagination { --bs-pagination-color: var(--brand); --bs-pagination-hover-color: var(--gold-dark); --bs-pagination-active-bg: var(--brand); --bs-pagination-active-border-color: var(--brand); }
.list-group { --bs-list-group-active-bg: var(--brand); --bs-list-group-active-border-color: var(--brand); }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--brand); }
.progress { --bs-progress-bar-bg: var(--brand); }
.spinner-border { color: var(--gold); }

/* اللوحة: شريط جانبي كحلي بلمسات ذهبية */
.sidebar { width: var(--sidebar-w); min-height: 100vh; flex-shrink: 0; background: var(--brand) !important; border: 0 !important; }
@media (min-width: 992px) { .sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; } }
/* الهاتف: القائمة تفتح كدرج جانبي، ويجب أن تتمرّر ليظهر كل عناصرها */
@media (max-width: 991.98px) {
  .sidebar { min-height: 0; height: 100vh; height: 100dvh; max-width: 85vw; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .sidebar .sidebar-brand { position: sticky; top: 0; z-index: 2; }
  .sidebar nav { padding-bottom: 2rem !important; }
}
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .2); border-radius: 3px; }
.sidebar-brand { background: #fff; padding: .7rem .9rem; border-bottom: 3px solid var(--gold); min-height: 72px; }
.sidebar-brand img { height: 48px; width: auto; }
.sidebar-brand .brand-name { color: var(--brand); font-weight: 700; font-size: .8rem; line-height: 1.25; }
.sidebar-brand .brand-sub { color: var(--gold-dark); font-size: .6rem; font-weight: 600; letter-spacing: .02em; }
.sidebar .nav-link { color: rgba(255, 255, 255, .82); border-radius: .5rem; padding: .55rem .8rem; display: flex; align-items: center; gap: .6rem; margin-bottom: 2px; border-inline-start: 3px solid transparent; }
.sidebar .nav-link i { color: var(--gold); opacity: .95; }
.sidebar .nav-link:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.sidebar .nav-link.active { background: rgba(255, 255, 255, .13); color: #fff; font-weight: 700; border-inline-start-color: var(--gold); }
.sidebar .nav-header { font-size: .72rem; color: var(--gold); padding: .9rem .8rem .3rem; letter-spacing: .02em; opacity: .9; }
.topbar { height: 60px; position: sticky; top: 0; z-index: 100; border-bottom: 1px solid #e6e9f0 !important; }
.topbar h1 { color: var(--brand); }

.card { border: 0; box-shadow: 0 1px 3px rgba(33, 52, 94, .08); border-radius: .75rem; }
.card-header { background: #fff; border-bottom: 1px solid #eef0f5; font-weight: 700; color: var(--brand); border-radius: .75rem .75rem 0 0 !important; }
.stat-card .stat-icon { width: 48px; height: 48px; border-radius: .75rem; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.stat-card .fs-4 { color: var(--brand); }
.table { --bs-table-bg: transparent; }
.table th { font-weight: 700; color: var(--brand); font-size: .85rem; white-space: nowrap; }
.table td { vertical-align: middle; }
.table-light { --bs-table-bg: #f3f5fa; }
.form-label { font-weight: 600; font-size: .88rem; color: #33405f; }
.req::after { content: " *"; color: #dc3545; }

/* الواجهة العامة */
.public .navbar { background: #fff !important; border-bottom: 3px solid var(--gold); }
.public .navbar-brand img { height: 46px; width: auto; }
.public .navbar-brand .brand-name { color: var(--brand); font-weight: 700; line-height: 1.2; font-size: 1rem; }
.public .navbar-brand .brand-sub { color: var(--gold-dark); font-size: .68rem; font-weight: 600; }
.public .navbar .nav-link { color: var(--brand); font-weight: 600; }
.public .navbar .nav-link:hover { color: var(--gold-dark); }
.hero { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--brand-darker), var(--brand) 60%, #2c4580); color: #fff; border-radius: 1rem; border-bottom: 4px solid var(--gold); }
.hero h1, .hero h2 { color: #fff; }
.hero::after { content: ""; position: absolute; inset-inline-end: -90px; top: -150px; width: 380px; height: 380px; border: 46px solid rgba(163, 134, 58, .22); border-radius: 50%; pointer-events: none; }
.hero > * { position: relative; z-index: 1; }
.country-card { transition: transform .15s, box-shadow .15s; border-top: 3px solid transparent; }
.country-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(33, 52, 94, .12); border-top-color: var(--gold); }
.flag { font-size: 2.2rem; line-height: 1; }
.auth-box { max-width: 460px; margin: 2rem auto; }
.auth-logo { display: block; height: 150px; width: auto; margin: 0 auto 1rem; }
/* ===================== التصميم العام لكل الصفحات ===================== */
body { background: #f3f5f9; }
body.panel main { max-width: 1500px; }

/* الشريط الجانبي والعلوي */
.sidebar { background: linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%) !important; box-shadow: -2px 0 14px rgba(17, 28, 54, .18); }
.sidebar .nav { padding: .75rem .65rem 1.5rem !important; }
.sidebar .nav-link { border-radius: .65rem; padding: .6rem .85rem; font-size: .92rem; transition: background .15s, color .15s, transform .15s; }
.sidebar .nav-link i { font-size: 1.05rem; width: 1.3rem; text-align: center; }
.sidebar .nav-link:hover { transform: translateX(-2px); }
.sidebar .nav-link.active { color: #fff !important; background: rgba(163, 134, 58, .28) !important; box-shadow: inset 0 0 0 1px rgba(163, 134, 58, .5); border-inline-start-color: var(--gold); }
.sidebar .nav-link.active i { color: #e8cf8a; }
.sidebar .nav-header { margin-top: .6rem; border-top: 1px solid rgba(255, 255, 255, .1); padding-top: .9rem; font-weight: 700; }
.topbar { height: 64px; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); border-bottom: 0 !important; padding-inline: 1.25rem !important; }
.topbar h1 { position: relative; padding-inline-start: .85rem; font-size: 1.15rem; }
.topbar h1::before { content: ""; position: absolute; inset-inline-start: 0; top: 10%; height: 80%; width: 4px; border-radius: 2px; background: var(--gold); }
.user-chip { display: flex; align-items: center; gap: .55rem; padding: .3rem .6rem; border-radius: 2rem; transition: background .15s; }
.user-chip:hover { background: #f1f3f8; }
.user-avatar { width: 36px; height: 36px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background: var(--brand); box-shadow: 0 0 0 2px var(--gold-soft); }
.user-role { font-size: .7rem; color: #8a93a6; margin-top: .2rem; }
.topbar .bi-bell { color: var(--brand); }

/* البطاقات */
.card { border-radius: 1rem; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); }
.card-header { padding: .9rem 1.25rem; border-radius: 1rem 1rem 0 0 !important; font-size: 1rem; }
.card-header > i:first-child, .card-header > span > i:first-child { color: var(--gold); margin-inline-end: .15rem; }
.card-body { padding: 1.15rem 1.25rem; }
.card-footer { border-top: 1px solid #eef0f5; border-radius: 0 0 1rem 1rem !important; }
.card > .table-responsive:last-child, .card > .list-group:last-child { border-radius: 0 0 1rem 1rem; overflow: hidden; }
.card > .table-responsive:first-child { border-radius: 1rem; overflow: hidden; }
.card.border-success, .card.border-warning, .card.border-danger, .card.border-secondary, .card.border-primary, .card.border-gold { border-width: 1px !important; border-style: solid !important; }

/* بطاقات الأرقام */
.stat-card { position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.stat-card::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 4px; background: var(--brand); }
.stat-card.stat-success::before { background: #2e9e57; } .stat-card.stat-danger::before { background: #d24b54; }
.stat-card.stat-warning::before { background: #e0a800; } .stat-card.stat-info::before { background: #2aa5c9; } .stat-card.stat-secondary::before { background: #8a93a6; }
a > .stat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(33, 52, 94, .12); }
.stat-card .stat-icon { width: 52px; height: 52px; border-radius: 50%; flex: none; }
.stat-card .fs-4 { font-size: 1.35rem !important; line-height: 1.25; }
.stat-card .text-muted { font-size: .8rem; }

/* الجداول */
.table { margin-bottom: 0; }
.table > thead > tr > th { background: #f3f5fa; border-bottom: 2px solid #e3e7f0; padding: .75rem .9rem; font-size: .8rem; letter-spacing: .01em; }
.table > tbody > tr > td, .table > tbody > tr > th { padding: .7rem .9rem; border-color: #eef0f5; }
.table-sm > thead > tr > th { padding: .55rem .75rem; } .table-sm > tbody > tr > td { padding: .5rem .75rem; }
.table-hover > tbody > tr { transition: background .12s; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: #faf6ea; }
.table > tfoot > tr > td, .table > tfoot > tr > th { padding: .75rem .9rem; background: #f3f5fa; border-top: 2px solid #e3e7f0; }
.table > tbody > tr:last-child > td { border-bottom: 0; }

/* النماذج والأزرار */
.form-control, .form-select { border-radius: .6rem; border-color: #d6dbe8; padding: .5rem .8rem; }
.form-control-sm, .form-select-sm { border-radius: .5rem; padding: .35rem .65rem; }
.form-control-lg { border-radius: .7rem; }
.input-group > .form-control:not(:last-child), .input-group > .form-select:not(:last-child) { border-start-end-radius: 0; border-end-end-radius: 0; }
.input-group-text { background: #f3f5fa; border-color: #d6dbe8; color: var(--brand); font-weight: 600; border-radius: .6rem; }
.form-text { color: #8a93a6; font-size: .78rem; }
.form-check-input { border-color: #b9c3d9; }
.form-switch .form-check-input { width: 2.4em; height: 1.25em; }
.btn { font-weight: 600; padding: .45rem 1rem; transition: transform .1s, box-shadow .15s, background .15s; }
.btn-sm { padding: .3rem .7rem; border-radius: .5rem; }
.btn-lg { border-radius: .7rem; }
.btn-primary, .btn-gold, .btn-success, .btn-danger { box-shadow: 0 2px 6px rgba(33, 52, 94, .15); }
.btn-primary:hover, .btn-gold:hover, .btn-success:hover { box-shadow: 0 4px 12px rgba(33, 52, 94, .22); }
.btn:active { transform: translateY(1px); }
.btn-success { --bs-btn-bg: #2e9e57; --bs-btn-border-color: #2e9e57; --bs-btn-hover-bg: #258548; --bs-btn-hover-border-color: #258548; --bs-btn-active-bg: #1f7a3d; --bs-btn-disabled-bg: #2e9e57; --bs-btn-disabled-border-color: #2e9e57; }
.btn-outline-secondary { --bs-btn-color: #5b6478; --bs-btn-border-color: #cfd5e3; --bs-btn-hover-bg: #5b6478; --bs-btn-hover-border-color: #5b6478; }

/* الخانات داخل صف مرن تنكمش مع المساحة ولا تدفع الصفحة للخارج (مثل خانتي التاريخ في شريط البحث) */
.d-flex > .form-control, .d-flex > .form-select { min-width: 0; }
input[type=date].form-control, input[type=time].form-control { padding-inline: .55rem; }

/* خانة اختيار ملف موحّدة (تُبنى في app.js حول input[type=file]) */
.file-pick { display: flex; align-items: center; gap: .65rem; flex: 1 1 auto; min-width: 0; width: 100%; margin: 0; padding: .3rem; cursor: pointer; background: #fbfcfe;
  border: 1.5px dashed #c9d1e3; border-radius: .6rem; transition: border-color .15s, background .15s; }
.file-pick:hover, .file-pick:focus-within { border-color: var(--gold); background: var(--gold-soft); }
.file-pick-btn { flex: none; padding: .3rem .8rem; border-radius: .45rem; background: var(--brand); color: #fff; font-weight: 600; font-size: .85rem; white-space: nowrap; }
.file-pick-name { color: #8a93a6; font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-pick.has-file { border-style: solid; border-color: #2e9e57; background: #f3fbf5; }
.file-pick.has-file .file-pick-name { color: #1f7a3d; font-weight: 600; direction: ltr; }
.file-pick-sm { padding: .2rem; } .file-pick-sm .file-pick-btn { padding: .2rem .6rem; font-size: .78rem; }
.input-group > .file-pick { width: 1%; border-start-end-radius: 0; border-end-end-radius: 0; }

/* الشارات والتنبيهات والتبويبات */
.badge { border-radius: 2rem; padding: .4em .8em; font-weight: 600; letter-spacing: 0; }
.alert { border: 0; border-radius: .85rem; border-inline-start: 4px solid currentColor; box-shadow: 0 1px 4px rgba(33, 52, 94, .05); }
.alert-success { background: #eaf7ee; color: #1f6b38; } .alert-danger { background: #fdecee; color: #a3262f; }
.alert-warning { background: #fff6dc; color: #7a5600; } .alert-info { background: #e8f4fa; color: #1b5e78; } .alert-light { background: #fff; color: #4a5468; border-inline-start-color: var(--gold); }
.alert .alert-link { color: inherit; }
.nav-tabs { border-bottom: 0; gap: .35rem; flex-wrap: wrap; }
.nav-tabs .nav-link { border: 1px solid #e3e7f0; border-radius: 2rem; background: #fff; padding: .45rem 1.1rem; font-weight: 600; font-size: .9rem; }
.nav-tabs .nav-link:hover { border-color: var(--gold); color: var(--brand); }
.nav-tabs .nav-link.active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 4px 10px rgba(33, 52, 94, .2); }
.nav-pills .nav-link { border-radius: 2rem; font-weight: 600; color: #5b6478; }
.list-group-item { border-color: #eef0f5; padding: .8rem 1.25rem; }
.dropdown-menu { border: 0; border-radius: .85rem; box-shadow: 0 10px 30px rgba(33, 52, 94, .16); padding: .4rem; }
.dropdown-item { border-radius: .5rem; padding: .45rem .8rem; }
.pagination .page-link { border-radius: .5rem; margin: 0 2px; border-color: #e3e7f0; }
.modal-content { border: 0; border-radius: 1rem; }
hr { border-color: #e3e7f0; opacity: 1; }

/* الصفحات العامة */
.public main.container { max-width: 1140px; }
.auth-box .card { border-top: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(33, 52, 94, .12); }
.auth-box .btn-primary { padding-block: .65rem; font-size: 1rem; }
.country-card { border-radius: 1rem; }
.site-footer a { color: #e8cf8a; }
@media print { .sidebar, .topbar { display: none !important; } body { background: #fff; } .card { box-shadow: none; } }
/* ===== صفحة بيانات الطلب (application/edit.php) ===== */
.ae-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border-radius: 1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker, #16233f), var(--brand) 65%, #2c4580); border-bottom: 4px solid var(--gold); box-shadow: 0 8px 22px rgba(33, 52, 94, .18); }
.ae-flag { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; line-height: 1;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); }
.ae-title { font-size: 1.35rem; font-weight: 700; }
.ae-meta { font-size: .85rem; color: rgba(255, 255, 255, .75); }
.ae-price { font-size: 1.5rem; font-weight: 700; color: #e8cf8a; white-space: nowrap; }
.ae-steps { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: 2px; }
.ae-step { flex: 1 1 0; min-width: 150px; display: flex; align-items: center; gap: .6rem; padding: .65rem .9rem; border-radius: .75rem; background: #fff;
  border: 1px solid #e3e6ea; color: #5b6478; text-decoration: none; font-weight: 600; font-size: .9rem; white-space: nowrap; transition: border-color .15s, box-shadow .15s; }
.ae-step:hover { border-color: var(--gold); color: var(--brand); box-shadow: 0 4px 12px rgba(33, 52, 94, .08); }
.ae-step-n { width: 28px; height: 28px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .85rem; font-weight: 700;
  background: #eef1f6; color: var(--brand); }
.ae-step.done { border-color: #b7e0c4; background: #f3fbf5; color: #1f7a3d; }
.ae-step.done .ae-step-n { background: #2e9e57; color: #fff; }
.ae-card { border: 0; border-radius: 1rem; box-shadow: 0 2px 10px rgba(33, 52, 94, .07); overflow: hidden; scroll-margin-top: 80px; }
.ae-head { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.25rem; border-bottom: 1px solid #eef0f4; background: #fff; }
.ae-num { width: 38px; height: 38px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.05rem;
  color: #fff; background: var(--brand); box-shadow: 0 0 0 4px var(--gold-soft); }
.ae-h { font-weight: 700; font-size: 1.1rem; color: var(--brand); line-height: 1.2; }
.ae-sub { font-size: .8rem; color: #8a93a6; }
.ae-card .card-body { padding: 1.25rem; }
.ae .form-label { font-size: .82rem; font-weight: 600; color: #4a5468; margin-bottom: .3rem; }
.ae .form-control, .ae .form-select { border-radius: .6rem; border-color: #d9deea; padding: .55rem .8rem; background-color: #fbfcfe; }
.ae .form-control:focus, .ae .form-select:focus { background-color: #fff; }
.ae .form-control[readonly] { background-color: #f1f3f7; }
/* مربع رفع الملفات: مساحة منقّطة واضحة بدل خانة المتصفح */
.ae-upload { display: flex; align-items: stretch; gap: .6rem; flex-wrap: wrap; }
.ae-file { flex: 1 1 260px; display: flex; align-items: center; gap: .85rem; padding: .85rem 1rem; margin: 0; cursor: pointer; border: 2px dashed #c9d1e3; border-radius: .85rem;
  background: #f7f9fd; color: var(--brand); transition: border-color .15s, background .15s; }
.ae-file:hover, .ae-file:focus-within { border-color: var(--gold); background: var(--gold-soft); }
.ae-file > i { font-size: 2rem; line-height: 1; color: var(--gold); }
.ae-file-text { display: flex; flex-direction: column; min-width: 0; }
.ae-file-text strong { font-size: .95rem; }
.ae-file-text small { color: #8a93a6; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: rtl; }
.ae-file.has-file { border-style: solid; border-color: #2e9e57; background: #f3fbf5; }
.ae-file.has-file > i { color: #2e9e57; }
.ae-file.has-file small { color: #1f7a3d; font-weight: 600; direction: ltr; text-align: right; }
.ae-upload > .btn { border-radius: .85rem; padding-inline: 1.25rem; font-weight: 600; white-space: nowrap; }
.ae-upload-sm { min-width: min(100%, 340px); }
.ae-upload-sm .ae-file { padding: .5rem .8rem; flex-basis: 180px; }
.ae-upload-sm .ae-file > i { font-size: 1.3rem; }
.ae-leg { height: 100%; padding: .9rem; border-radius: .85rem; background: #f7f9fd; border: 1px solid #e6eaf2; }
.ae-leg-t { font-weight: 700; color: var(--brand); margin-bottom: .6rem; }
.ae-leg-t i { color: var(--gold); }
/* الملخص الجانبي */
.ae-side { border: 0; border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 16px rgba(33, 52, 94, .1); }
.ae-side-head { padding: .9rem 1.25rem; font-weight: 700; color: #fff; background: var(--brand); border-bottom: 3px solid var(--gold); }
.ae-row { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; font-size: .9rem; color: #5b6478; border-bottom: 1px dashed #e6eaf2; }
.ae-row strong { color: var(--brand); text-align: end; }
.ae-total { display: flex; justify-content: space-between; align-items: center; margin: .9rem 0 1rem; padding: .8rem 1rem; border-radius: .75rem; background: var(--gold-soft); }
.ae-total strong { font-size: 1.35rem; color: var(--brand); white-space: nowrap; }
.ae-side #missing-box .alert { border: 0; border-radius: .75rem; }
.ae-side #missing-box ul { list-style: none; padding: 0 !important; margin-top: .4rem; }
.ae-side #missing-box li { position: relative; padding: .2rem 1.5rem .2rem 0; }
.ae-side #missing-box li::before { content: "\F28A"; font-family: "bootstrap-icons"; position: absolute; right: 0; top: .2rem; color: #c58a00; }
.ae-side #submit-btn { border-radius: .75rem; font-weight: 700; padding-block: .75rem; }
@media (max-width: 575px) { .ae-hero { padding: 1rem; } .ae-title { font-size: 1.1rem; } .ae-price { font-size: 1.2rem; } .ae-flag { width: 48px; height: 48px; font-size: 1.5rem; }
  .ae-upload > .btn { flex: 1 1 100%; } }
/* ===== قائمة الطلبات (employee/applications.php) ===== */
.al-quick { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: 2px; }
.al-q { flex: 1 0 auto; display: flex; align-items: center; gap: .5rem; padding: .7rem .9rem; border-radius: .85rem; background: #fff; border: 1px solid #e6eaf2;
  color: #5b6478; font-weight: 600; font-size: .88rem; text-decoration: none; white-space: nowrap; transition: border-color .15s, box-shadow .15s, transform .15s; }
.al-q i { font-size: 1.1rem; color: var(--gold); }
.al-q b { margin-inline-start: auto; min-width: 1.7rem; padding: .1rem .5rem; border-radius: 2rem; background: #eef1f6; color: var(--brand); text-align: center; font-size: .82rem; }
.al-q:hover { border-color: var(--gold); color: var(--brand); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(33, 52, 94, .08); }
.al-q.active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 6px 16px rgba(33, 52, 94, .22); }
.al-q.active i { color: #e8cf8a; } .al-q.active b { background: var(--gold); color: #fff; }
.al-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .75rem; border-radius: 1rem; background: #fff; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); }
.al-bar .form-select { width: auto; flex: 0 1 160px; }
.al-search { position: relative; flex: 1 1 260px; }
.al-search i { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: #8a93a6; }
.al-search .form-control { padding-right: 2.4rem; background: #f6f7fb; border-color: transparent; }
.al-search .form-control:focus { background: #fff; }
.al-dates { display: flex; align-items: center; gap: .35rem; font-size: .8rem; color: #8a93a6; }
.al-dates .form-control { width: 145px; }
.al-list { display: flex; flex-direction: column; gap: .55rem; }
.al-row { display: grid; grid-template-columns: auto minmax(150px, 1.2fr) minmax(170px, 1.4fr) minmax(150px, 1fr) minmax(130px, auto) auto; align-items: center; gap: 1rem; padding: .85rem 1.1rem;
  border-radius: .9rem; background: #fff; border: 1px solid #edf0f5; color: inherit; text-decoration: none; box-shadow: 0 1px 4px rgba(33, 52, 94, .04); transition: transform .12s, box-shadow .15s, border-color .15s; }
.al-row:hover { transform: translateX(-3px); border-color: var(--gold); box-shadow: 0 6px 18px rgba(33, 52, 94, .1); color: inherit; }
.al-flag { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; line-height: 1; background: #f3f5fa; border: 1px solid #e3e7f0; }
.al-main, .al-cust, .al-meta { display: flex; flex-direction: column; min-width: 0; }
.al-visa { font-weight: 700; color: var(--brand); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.al-ref { font-size: .8rem; color: #8a93a6; font-weight: 600; text-align: right; letter-spacing: .02em; }
.al-cust-n { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.al-cust-p { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .8rem; color: #8a93a6; }
.al-ch { padding: .05rem .5rem; border-radius: 2rem; background: #eef1f6; color: #4a5468; font-weight: 600; font-size: .72rem; white-space: nowrap; }
.al-ch.ag { background: var(--gold-soft); color: var(--gold-dark); } .al-ch.of { background: #e8f4fa; color: #1b5e78; }
.al-price { font-weight: 700; color: var(--brand); white-space: nowrap; }
.al-date { font-size: .78rem; color: #8a93a6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.al-status { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; }
.al-docs { font-size: .72rem; font-weight: 600; color: #8a6100; background: #fff3cd; padding: .1rem .55rem; border-radius: 2rem; white-space: nowrap; }
.al-go { color: #c3cadb; transition: color .15s, transform .15s; }
.al-row:hover .al-go { color: var(--gold); transform: translateX(-3px); }
@media (max-width: 991px) {
  .al-row { grid-template-columns: auto 1fr auto; row-gap: .5rem; }
  .al-cust { grid-column: 2 / 4; } .al-meta { grid-column: 2 / 3; } .al-status { grid-column: 1 / 4; flex-direction: row; align-items: center; } .al-go { display: none; }
  .al-bar .form-select, .al-dates { flex: 1 1 100%; } .al-dates .form-control { width: auto; flex: 1; }
}
/* ===== الحسابات والديون (employee/accounts.php) ===== */
.wl-navy { background: linear-gradient(135deg, var(--brand-dark), #2c4580); }
.acc-seg { display: inline-flex; padding: 3px; border-radius: 2rem; background: #eef1f6; }
.acc-seg a { padding: .35rem .9rem; border-radius: 2rem; color: #5b6478; font-weight: 600; font-size: .85rem; text-decoration: none; white-space: nowrap; transition: background .12s, color .12s; }
.acc-seg a.active { background: #fff; color: var(--brand); box-shadow: 0 1px 4px rgba(33, 52, 94, .15); }
.acc-row { display: grid; grid-template-columns: auto minmax(160px, 1.2fr) minmax(220px, 1.6fr) minmax(140px, auto) auto; align-items: center; gap: 1.1rem; padding: .9rem 1.1rem;
  border-radius: .9rem; background: #fff; border: 1px solid #edf0f5; border-inline-start: 4px solid #c3cadb; box-shadow: 0 1px 4px rgba(33, 52, 94, .04); transition: box-shadow .15s, border-color .15s; }
.acc-row:hover { box-shadow: 0 6px 18px rgba(33, 52, 94, .1); }
.acc-row.acc-debt { border-inline-start-color: #d24b54; } .acc-row.acc-credit { border-inline-start-color: #2e9e57; }
.acc-bar { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.acc-bar-top { display: flex; justify-content: space-between; gap: .75rem; font-size: .8rem; color: #8a93a6; white-space: nowrap; }
.acc-bar-top b { color: var(--brand); }
.acc-prog { height: 8px; border-radius: 4px; background: #eef1f6; overflow: hidden; }
.acc-prog > span { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #2e9e57, #5cc784); }
.acc-bar-pct { font-size: .72rem; color: #a3abbb; }
.acc-bal { display: flex; flex-direction: column; align-items: flex-end; }
.acc-bal-l { font-size: .72rem; color: #8a93a6; }
.acc-bal-v { font-size: 1.15rem; font-weight: 700; white-space: nowrap; color: #8a93a6; }
.acc-debt .acc-bal-v { color: #c0392b; } .acc-credit .acc-bal-v { color: #1f7a3d; }
@media (max-width: 991px) { .acc-row { grid-template-columns: auto 1fr; } .acc-bar, .acc-bal, .acc-row > .btn { grid-column: 1 / 3; } .acc-bal { align-items: flex-start; } }
/* وصف خدمة المزود داخل بطاقة الخدمة (نموذج الطلب السريع) */
.offer-desc summary { color: var(--gold-dark); font-weight: 600; cursor: pointer; }
.offer-desc > div { white-space: pre-line; margin-top: .35rem; padding: .5rem .65rem; border-radius: .5rem; background: #fff; border: 1px solid #eef0f5; color: #4a5468; max-height: 220px; overflow-y: auto; }
/* شريط الحالات الثلاث: قيد الانتظار ← قيد التنفيذ ← موافَق عليها */
.steps3 { display: flex; align-items: flex-start; }
.step3 { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: .4rem; color: #a3abbb; font-weight: 600; font-size: .88rem; text-align: center; }
.step3::before { content: ""; position: absolute; top: 21px; inset-inline-start: -50%; width: 100%; height: 4px; background: #e3e7f0; z-index: 0; }
.step3:first-child::before { display: none; }
.step3-ic { position: relative; z-index: 1; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; background: #fff; border: 3px solid #e3e7f0; color: #a3abbb; }
.step3.done::before, .step3.current::before { background: var(--gold); }
.step3.done { color: var(--gold-dark); } .step3.done .step3-ic { background: var(--gold); border-color: var(--gold); color: #fff; }
.step3.current { color: var(--brand); } .step3.current .step3-ic { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 0 0 5px var(--brand-soft); }
.step3.done.current { color: #1f7a3d; } .step3.done.current .step3-ic { background: #2e9e57; border-color: #2e9e57; box-shadow: 0 0 0 5px #dcf2e4; }
/* ===== الملف الشخصي وحقول ملف العميل (customer/profile.php, partials/customer_form.php) ===== */
.pf-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 1.1rem; padding: 1.4rem 1.6rem; border-radius: 1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker), var(--brand) 65%, #2c4580); border-bottom: 4px solid var(--gold); box-shadow: 0 8px 22px rgba(33, 52, 94, .18); }
.pf-avatar { width: 76px; height: 76px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.1rem; font-weight: 700; color: var(--brand);
  background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 0 0 4px rgba(255, 255, 255, .18); }
.pf-name { font-size: 1.45rem; font-weight: 700; }
.pf-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; font-size: .85rem; color: rgba(255, 255, 255, .8); }
.pf-meta i { color: #e8cf8a; }
.pf-done { width: min(100%, 240px); padding: .8rem 1rem; border-radius: .85rem; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); }
.pf-done-top { display: flex; justify-content: space-between; font-size: .85rem; } .pf-done-top b { font-size: 1.1rem; color: #e8cf8a; }
.pf-done-bar { height: 8px; margin: .35rem 0; border-radius: 4px; background: rgba(255, 255, 255, .2); overflow: hidden; }
.pf-done-bar > span { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--gold), #f3e3b0); }
.pf-done-s { font-size: .72rem; color: rgba(255, 255, 255, .75); }
.pf-sec { display: flex; align-items: center; gap: .5rem; margin-bottom: .9rem; padding-bottom: .5rem; border-bottom: 1px solid #eef0f5; font-weight: 700; color: var(--brand); }
.pf-sec i { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--gold-soft); color: var(--gold-dark); }
.pf-gender { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.pf-gender label { display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .5rem; border-radius: .6rem; border: 1px solid #d6dbe8; background: #fff; color: #5b6478; font-weight: 600; cursor: pointer; transition: all .12s; }
.pf-gender .btn-check:checked + label { border-color: var(--brand); background: var(--brand); color: #fff; }
.pf-gender .btn-check:focus-visible + label { outline: 2px solid var(--gold); }
.pf-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #eef0f5; }
.pf-pass { display: flex; align-items: center; gap: .8rem; padding: .75rem .85rem; margin-bottom: .5rem; border-radius: .75rem; background: #f7f9fd; border: 1px solid #e6eaf2; border-inline-start: 4px solid #2e9e57; }
.pf-pass:last-child { margin-bottom: 0; }
.pf-pass > i { font-size: 1.6rem; color: var(--brand); }
.pf-pass.soon { border-inline-start-color: #e0a800; } .pf-pass.expired { border-inline-start-color: #d24b54; background: #fdf5f5; }
/* ===== قائمة طلبات صاحب الطلب (includes/partials/app_list.php) ===== */
.my-card { overflow: hidden; }
.my-row { display: grid; grid-template-columns: auto minmax(160px, 1.3fr) minmax(200px, 1.4fr) minmax(150px, auto) auto; align-items: center; gap: 1rem; padding: .95rem 1.25rem;
  color: inherit; text-decoration: none; border-bottom: 1px solid #eef0f5; border-inline-start: 4px solid transparent; transition: background .12s, border-color .12s; }
.my-row:last-child { border-bottom: 0; }
.my-row:hover { background: #fbf8ef; border-inline-start-color: var(--gold); color: inherit; }
.my-row.my-draft { background: #fcfcfe; }
.my-row.my-awaiting_documents { border-inline-start-color: #d24b54; }
.my-row.my-visa_ready { border-inline-start-color: #2e9e57; }
.my-prog { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.my-prog-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.my-prog .acc-prog { height: 6px; }
.my-prog .acc-prog > span { background: linear-gradient(90deg, var(--brand), #4a68a8); }
.my-visa_ready .acc-prog > span, .my-delivered .acc-prog > span { background: linear-gradient(90deg, #2e9e57, #5cc784); }
.my-end { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; }
.my-cta { padding: .12rem .65rem; border-radius: 2rem; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.my-cta-gold { background: var(--gold-soft); color: var(--gold-dark); } .my-cta-red { background: #fdecee; color: #a3262f; } .my-cta-green { background: #eaf7ee; color: #1f6b38; }
.my-row:hover .al-go { color: var(--gold); transform: translateX(-3px); }
@media (max-width: 991px) { .my-row { grid-template-columns: auto 1fr; } .my-prog, .my-end { grid-column: 1 / 3; } .my-end { flex-direction: row; align-items: center; justify-content: space-between; } .my-row .al-go { display: none; } }
/* ===== كشوفات الوكالات (admin/agency_accounts.php) ===== */
.acc-prog-use > span { background: linear-gradient(90deg, var(--gold), #d4b35a); }
.acc-row > .d-flex { flex-wrap: wrap; justify-content: flex-end; }
.ag-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border-radius: 1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker), var(--brand) 65%, #2c4580); border-bottom: 4px solid var(--gold); box-shadow: 0 8px 22px rgba(33, 52, 94, .18); }
.ag-hero-av { width: 60px; height: 60px; font-size: 1.6rem; background: rgba(255, 255, 255, .14); box-shadow: 0 0 0 2px rgba(232, 207, 138, .6); }
.ag-hero-n { font-size: 1.35rem; font-weight: 700; }
.ag-hero-s { font-size: .85rem; color: rgba(255, 255, 255, .75); }
.ag-hero-bal { font-size: 1.7rem; font-weight: 700; color: #8fe0a8; white-space: nowrap; }
.ag-hero-bal.debt { color: #ff9aa2; }
@media print { .ag-hero { color: #000; background: #fff; border: 1px solid #999; box-shadow: none; } .ag-hero-s { color: #333; } .ag-hero-bal, .ag-hero-bal.debt { color: #000; } .ag-hero-av { display: none; } }
/* ===== كشف الحساب (includes/partials/statement.php) ===== */
.st .wl-stat { padding: .9rem 1rem; gap: .7rem; }
.st .wl-stat > i { width: 44px; height: 44px; font-size: 1.4rem; }
.st .wl-stat-v { font-size: 1.2rem; }
.st .wl-stat > div { min-width: 0; }
.st-card { overflow: hidden; }
.st-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem; color: #fff; background: var(--brand); border-bottom: 3px solid var(--gold); }
.st-title { font-weight: 700; font-size: 1.1rem; } .st-title i { color: #e8cf8a; }
.st-sub { font-size: .8rem; color: rgba(255, 255, 255, .75); }
.st-filter { display: flex; align-items: center; gap: .35rem; }
.st-filter .form-control { width: 140px; border: 0; }
.st-row { display: grid; grid-template-columns: auto 1fr minmax(150px, auto) minmax(140px, auto); align-items: center; gap: 1rem; padding: .8rem 1.25rem; border-bottom: 1px solid #eef0f5; }
.st-row:hover { background: #fbfcfe; }
.st-ic { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; background: #eef1f6; color: #5b6478; }
.st-debit .st-ic { background: #fdecee; color: #c0392b; } .st-credit .st-ic { background: #eaf7ee; color: #1f7a3d; }
.st-desc, .st-amt, .st-bal { display: flex; flex-direction: column; min-width: 0; }
.st-d1 { font-weight: 600; color: #2a3142; }
.st-d2 { font-size: .78rem; color: #8a93a6; }
.st-type { display: inline-block; padding: 0 .5rem; border-radius: 2rem; background: #eef1f6; color: #4a5468; font-weight: 600; margin-inline-end: .3rem; }
.st-receipt { font-size: .78rem; font-weight: 600; margin-inline-start: .4rem; text-decoration: none; }
.st-amt, .st-bal { align-items: flex-end; white-space: nowrap; }
.st-l, .st-bal-l { font-size: .7rem; color: #a3abbb; }
.st-debit .st-amt b { color: #c0392b; } .st-credit .st-amt b { color: #1f7a3d; }
.st-bal b { color: var(--brand); }
.st-open { background: #f6f7fb; } .st-open:hover { background: #f6f7fb; }
.st-total { background: var(--gold-soft); border-bottom: 0; } .st-total:hover { background: var(--gold-soft); }
.st-total .st-ic { background: var(--brand); color: #fff; } .st-total .st-d1 { color: var(--brand); font-weight: 700; } .st-total .st-bal b { font-size: 1.3rem; }
@media (max-width: 767px) { .st-row { grid-template-columns: auto 1fr; } .st-amt, .st-bal { grid-column: 2; align-items: flex-start; flex-direction: row; gap: .5rem; align-items: baseline; } .st-filter { flex-wrap: wrap; } }
@media print { .st-head { color: #000; background: #fff; border-bottom: 2px solid #000; } .st-sub { color: #333; } .st-title i { display: none; } .st-row { break-inside: avoid; padding: .4rem .6rem; }
  .wl-stat { color: #000 !important; background: #fff !important; border: 1px solid #999; box-shadow: none; } .wl-stat > i { display: none; } }
/* كشف الحساب — نسخة الطباعة الرسمية */
@media print {
  @page { size: A4 portrait; margin: 12mm; }
  /* لا يُطبع من الصفحة إلا الكشف الرسمي (ينقله السكربت ليكون ابناً مباشراً لـ body) */
  body.st-printing { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body.st-printing > *:not(.st-print) { display: none !important; }
  .st-print { width: 100%; color: #1a1a1a; font-family: 'Cairo', sans-serif; font-size: 12px; line-height: 1.5; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .st-print table { width: 100%; border-collapse: collapse; }
  .st-print th, .st-print td { border: 1px solid #b9bfcc; padding: 5px 8px; vertical-align: middle; }
  .st-print small { font-size: 10px; color: #666; }

  .stp-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 3px solid #21345e; }
  .stp-brand { display: flex; align-items: center; gap: 12px; }
  .stp-brand img { height: 70px; width: auto; }
  .stp-co-n { font-size: 20px; font-weight: 700; color: #21345e; line-height: 1.3; }
  .stp-co-en { font-size: 12px; font-weight: 700; color: #8a7030; letter-spacing: .5px; text-align: right; }
  .stp-contact { font-size: 11px; color: #444; text-align: left; }
  .stp-title { text-align: center; margin: 14px 0; padding: 8px 0; border-bottom: 1px solid #a3863a; }
  .stp-title h1 { margin: 0; font-size: 22px; font-weight: 700; color: #21345e; }
  .stp-title div { font-size: 10px; letter-spacing: 3px; color: #8a7030; }

  .stp-boxes { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; }
  .stp-box th { width: 38%; background: #f2f4f8; color: #21345e; font-weight: 600; }
  .stp-box .stp-box-h { background: #21345e; color: #fff; text-align: center; font-weight: 700; }
  .stp-box td { text-align: right; }
  .stp-box-f th, .stp-box-f td { background: #f3ecd9; font-weight: 700; }
  .stp-party { font-size: 14px; font-weight: 700; color: #000; }

  .stp-tbl { margin-bottom: 12px; }
  .stp-tbl thead { display: table-header-group; }
  .stp-tbl thead th { background: #21345e; color: #fff; text-align: center; font-weight: 700; border-color: #21345e; }
  .stp-tbl tbody tr { break-inside: avoid; }
  .stp-tbl tbody tr:nth-child(even) td { background: #f8f9fb; }
  .stp-tbl td { text-align: center; }
  .stp-tbl td.stp-desc { text-align: right; font-weight: 600; }
  .stp-tbl td.stp-desc small { display: block; font-weight: 400; }
  .stp-open td { background: #f2f4f8 !important; font-weight: 700; }
  .stp-tbl tfoot td { background: #f3ecd9; font-weight: 700; border-top: 2px solid #21345e; }
  .stp-n { white-space: nowrap; font-weight: 700; direction: ltr; unicode-bidi: isolate; }
  .stp-n small { direction: rtl; font-weight: 600; }
  .stp-dr, .st-print small.stp-dr { color: #b3261e; }
  .stp-cr, .st-print small.stp-cr { color: #1f7a3d; }

  .stp-final { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: #21345e; color: #fff; font-size: 14px; font-weight: 600; break-inside: avoid; }
  .stp-final b { font-size: 18px; direction: ltr; }
  .stp-sign { display: flex; justify-content: space-between; margin-top: 34px; text-align: center; font-weight: 700; color: #21345e; break-inside: avoid; }
  .stp-sign > div { width: 28%; }
  .stp-sign span { display: block; margin-top: 36px; border-top: 1px dashed #555; }
  .stp-foot { display: flex; justify-content: space-between; margin-top: 18px; padding-top: 6px; border-top: 1px solid #ccc; font-size: 10px; color: #777; }
}
/* ===== المدفوعات (employee/payments.php) ===== */
.al-q-warn:not(.active) { border-color: #f0d58a; background: #fffaf0; }
.al-q-warn:not(.active) b { background: #e0a800; color: #fff; }
.pay-row { display: grid; grid-template-columns: auto minmax(160px, 1.3fr) minmax(140px, 1fr) minmax(150px, 1fr) minmax(110px, auto) auto; align-items: center; gap: 1rem; padding: .85rem 1.1rem;
  border-radius: .9rem; background: #fff; border: 1px solid #edf0f5; border-inline-start: 4px solid #2e9e57; box-shadow: 0 1px 4px rgba(33, 52, 94, .04); }
.pay-row.pay-pending { border-inline-start-color: #e0a800; background: #fffdf6; }
.pay-row.pay-rejected { border-inline-start-color: #d24b54; opacity: .85; }
.pay-ic { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; background: #f3fbf5; color: #2e9e57; }
.pay-pending .pay-ic { background: #fff3cd; color: #b98900; } .pay-rejected .pay-ic { background: #fdecee; color: #d24b54; }
.pay-amount { font-size: 1.1rem; font-weight: 700; color: #1f7a3d; white-space: nowrap; }
.pay-pending .pay-amount { color: var(--brand); } .pay-rejected .pay-amount { color: #8a93a6; text-decoration: line-through; }
.pay-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem; }
.pay-reject { display: flex; gap: .3rem; } .pay-reject .form-control { width: 130px; }
@media (max-width: 991px) { .pay-row { grid-template-columns: auto 1fr; } .pay-row > .al-meta, .pay-row > .al-status, .pay-actions { grid-column: 2; justify-content: flex-start; } }
/* ===== قائمة العملاء (employee/customers.php) ===== */
.al-q-info { cursor: default; background: #f6f7fb; border-style: dashed; }
.al-q-info:hover { transform: none; box-shadow: none; border-color: #e6eaf2; color: #5b6478; }
.cu-card { display: flex; flex-direction: column; gap: .8rem; height: 100%; padding: 1.1rem 1.15rem; border-radius: 1rem; background: #fff; border: 1px solid #e9edf4; color: inherit; text-decoration: none;
  box-shadow: 0 2px 8px rgba(33, 52, 94, .05); transition: transform .15s, box-shadow .15s, border-color .15s; }
.cu-card:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 10px 24px rgba(33, 52, 94, .12); color: inherit; }
.cu-top { display: flex; align-items: center; gap: .8rem; }
.cu-avatar { width: 50px; height: 50px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--brand), #2c4580); box-shadow: 0 0 0 3px var(--gold-soft); }
.cu-id { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.cu-name { font-weight: 700; color: var(--brand); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cu-en { font-size: .75rem; color: #8a93a6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.cu-acc { color: #2e9e57; font-size: 1.25rem; }
.cu-info { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .88rem; color: #4a5468; }
.cu-info i { color: var(--gold); }
.cu-bottom { display: flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: .7rem; border-top: 1px dashed #e3e7f0; font-size: .78rem; }
.cu-apps { padding: .05rem .55rem; border-radius: 2rem; background: #eef1f6; color: #8a93a6; font-weight: 600; white-space: nowrap; }
.cu-apps.has { background: #e9f6ee; color: #1f7a3d; }
.cu-date { margin-inline-start: auto; color: #a3abbb; white-space: nowrap; }
.cu-card.cu-new { background: #fbfcfe; border-style: dashed; }
.cu-card.cu-new .cu-avatar { background: #c3cadb; box-shadow: none; }
.cu-card.cu-new .cu-name { color: #8a93a6; }
/* ===== اختيار التأشيرة (application/new.php) ===== */
.vs-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 1.6rem; border-radius: 1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker), var(--brand) 65%, #2c4580); border-bottom: 4px solid var(--gold); box-shadow: 0 8px 22px rgba(33, 52, 94, .18); }
.vs-hero-t { font-size: 1.4rem; font-weight: 700; }
.vs-hero-t i { color: #e8cf8a; }
.vs-hero-s { font-size: .9rem; color: rgba(255, 255, 255, .8); }
.vs-search { position: relative; width: min(100%, 320px); }
.vs-search i { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: #8a93a6; }
.vs-search .form-control { padding-right: 2.4rem; border-radius: 2rem; border: 0; }
.vs-card { display: flex; flex-direction: column; gap: 1rem; width: 100%; height: 100%; padding: 1.25rem; text-align: start; font: inherit; color: inherit; cursor: pointer; background: #fff;
  border: 1px solid #e6eaf2; border-top: 4px solid var(--brand); border-radius: 1rem; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); transition: transform .15s, box-shadow .15s, border-color .15s; }
.vs-card:hover, .vs-card:focus-visible { transform: translateY(-4px); border-top-color: var(--gold); box-shadow: 0 12px 28px rgba(33, 52, 94, .16); outline: 0; }
.vs-card.vs-picked { border-color: var(--gold); border-top-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft), 0 8px 20px rgba(163, 134, 58, .2); }
.vs-top { display: flex; align-items: center; gap: .9rem; }
.vs-flag { width: 62px; height: 62px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.1rem; line-height: 1;
  background: #f3f5fa; border: 1px solid #e3e7f0; box-shadow: 0 0 0 4px var(--gold-soft); }
.vs-name { display: flex; flex-direction: column; min-width: 0; }
.vs-country { font-size: 1.25rem; font-weight: 700; color: var(--brand); line-height: 1.25; }
.vs-type { font-size: .85rem; color: #5b6478; }
.vs-type i { color: var(--gold); }
.vs-chips { display: flex; flex-wrap: wrap; gap: .4rem; min-height: 1.9rem; }
.vs-chips span { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .7rem; border-radius: 2rem; background: #f1f3f8; color: #4a5468; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.vs-chips span i { color: var(--gold); }
.vs-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: .9rem; border-top: 1px dashed #e3e7f0; }
.vs-price-l { display: block; font-size: .72rem; color: #8a93a6; }
.vs-price { display: block; font-size: 1.25rem; font-weight: 700; color: var(--brand); white-space: nowrap; }
.vs-go { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1rem; border-radius: 2rem; background: var(--gold); color: #fff; font-weight: 700; font-size: .88rem; white-space: nowrap; transition: background .15s, gap .15s; }
.vs-card:hover .vs-go { background: var(--gold-dark); gap: .7rem; }
/* ===== محافظ الوكالات (admin/wallets.php) ===== */
.wl-stat { display: flex; align-items: center; gap: 1rem; height: 100%; padding: 1.1rem 1.25rem; border-radius: 1rem; color: #fff; box-shadow: 0 6px 18px rgba(33, 52, 94, .12); }
.wl-stat > i { font-size: 2rem; width: 58px; height: 58px; flex: none; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.wl-stat-l { font-size: .85rem; opacity: .9; }
.wl-stat-v { font-size: 1.55rem; font-weight: 700; white-space: nowrap; }
.wl-green { background: linear-gradient(135deg, #1f7a3d, #2e9e57); }
.wl-red { background: linear-gradient(135deg, #a8323a, #d24b54); }
.wl-grey { background: linear-gradient(135deg, #6b7488, #8a93a6); }
.wl-gold { background: linear-gradient(135deg, var(--gold-dark), var(--gold)); }
.wl-search { position: relative; width: min(100%, 300px); }
.wl-search i { position: absolute; right: .8rem; top: 50%; transform: translateY(-50%); color: #8a93a6; }
.wl-search .form-control { padding-right: 2.3rem; border-radius: 2rem; background: #fff; }
.wl-card { height: 100%; padding: 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid #e6eaf2; border-top: 4px solid #c9d1e3; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); transition: transform .15s, box-shadow .15s; }
.wl-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(33, 52, 94, .12); }
.wl-card.wl-ok { border-top-color: #2e9e57; }
.wl-card.wl-debt { border-top-color: #d24b54; }
.wl-card.wl-picked { box-shadow: 0 0 0 3px var(--gold-soft), 0 8px 20px rgba(163, 134, 58, .2); border-color: var(--gold); }
.wl-avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; color: #fff; background: var(--brand); box-shadow: 0 0 0 3px var(--gold-soft); }
.min-w-0 { min-width: 0; }
.wl-bal-l { font-size: .78rem; color: #8a93a6; }
.wl-bal { font-size: 1.7rem; font-weight: 700; line-height: 1.2; color: #8a93a6; white-space: nowrap; }
.wl-ok .wl-bal { color: #1f7a3d; }
.wl-debt .wl-bal { color: #c0392b; }
.wl-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; min-height: 1.6rem; }
.wl-tags span { font-size: .72rem; padding: .15rem .55rem; border-radius: 2rem; background: #eef1f6; color: #4a5468; white-space: nowrap; }
.wl-tags span.warn { background: #fff3cd; color: #8a6100; }
.wl-list { border: 0; border-radius: 1rem; box-shadow: 0 2px 10px rgba(33, 52, 94, .06); overflow: hidden; }
.wl-op { display: flex; align-items: center; gap: .9rem; padding: .85rem 1.1rem; border-bottom: 1px solid #eef0f4; }
.wl-op:last-child { border-bottom: 0; }
.wl-op-ic { width: 40px; height: 40px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; background: #f3fbf5; color: #2e9e57; }
.wl-top { border: 0; border-radius: 1rem; overflow: hidden; box-shadow: 0 6px 20px rgba(33, 52, 94, .12); scroll-margin-top: 80px; }
.wl-top-head { padding: 1rem 1.25rem; font-weight: 700; font-size: 1.05rem; color: #fff; background: var(--brand); border-bottom: 3px solid var(--gold); }
.wl .form-label { font-size: .82rem; font-weight: 600; color: #4a5468; margin-bottom: .3rem; }
.wl-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.wl-chip { flex: 1 1 auto; padding: .3rem .6rem; border-radius: 2rem; border: 1px solid #d9deea; background: #fff; color: var(--brand); font-weight: 600; font-size: .85rem; transition: all .12s; }
.wl-chip:hover, .wl-chip.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.wl-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.wl-method { display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .5rem .25rem; border-radius: .65rem; border: 1px solid #d9deea; background: #fff; color: #4a5468; font-size: .76rem; font-weight: 600; cursor: pointer; text-align: center; transition: all .12s; }
.wl-method i { font-size: 1.15rem; color: var(--gold); }
.btn-check:checked + .wl-method { border-color: var(--brand); background: #f4f6fb; color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.btn-check:focus-visible + .wl-method { outline: 2px solid var(--gold); }
/* حركات محفظة الوكالة (agency/wallet.php): صفوف تتكيّف مع الهاتف بدل الجدول */
.wt-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: .75rem 1rem; border-bottom: 1px solid #eef0f5; }
.wt-row:last-child { border-bottom: 0; }
.wt-ic { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; background: #fdecee; color: #c0392b; }
.wt-in .wt-ic { background: #eaf7ee; color: #1f7a3d; }
.wt-main { min-width: 0; }
.wt-top { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; }
.wt-date { font-size: .75rem; color: #8a93a6; }
.wt-desc { font-size: .82rem; color: #4a5468; margin-top: .2rem; overflow-wrap: anywhere; }
.wt-amt { font-weight: 700; white-space: nowrap; color: #c0392b; }
.wt-in .wt-amt { color: #1f7a3d; }
@media (max-width: 420px) { .wt-row { grid-template-columns: auto 1fr; padding: .7rem .75rem; } .wt-amt { grid-column: 2; } }
.wl-wrap-btns { flex-wrap: wrap; }
/* تنسيق عام: جدول بكلاس m-cards يظهر على الهاتف كبطاقات.
   ضع data-label على كل خانة، و mc-title لخانة العنوان، و mc-full لخانة تأخذ العرض كاملاً */
@media (max-width: 767.98px) {
  .m-cards thead { display: none; }
  .m-cards, .m-cards tbody { display: block; width: 100%; }
  .m-cards tr { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem .8rem; padding: .9rem; border-bottom: 6px solid #f1f3f8; }
  .m-cards td { display: block; min-width: 0 !important; padding: 0; border: 0; white-space: normal; overflow-wrap: anywhere; }
  .m-cards td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .15rem; font-size: .72rem; font-weight: 600; color: #8a93a6; }
  .m-cards td.mc-title { order: -1; grid-column: 1 / -1; padding-bottom: .5rem; border-bottom: 1px dashed #e3e7f0; }
  .m-cards td.mc-full { grid-column: 1 / -1; }
  .m-cards td.mc-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
  .m-cards td.mc-actions .btn:first-child { flex: 1; }
  .m-cards td[colspan] { grid-column: 1 / -1; }
}
/* المكسب والأسعار (admin/prices.php): على الهاتف كل خدمة تظهر كبطاقة بدل صف جدول بثمانية أعمدة */
@media (max-width: 767.98px) {
  .pr-table thead { display: none; }
  .pr-table, .pr-table tbody { display: block; width: 100%; }
  .pr-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .8rem; padding: .9rem; border-bottom: 6px solid #f1f3f8; }
  .pr-table td { display: block; min-width: 0 !important; padding: 0; border: 0; white-space: normal; }
  .pr-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .2rem; font-size: .72rem; font-weight: 600; color: #8a93a6; }
  .pr-table td.pr-name { order: -1; grid-column: 1 / -1; font-size: .9rem; padding-bottom: .5rem; border-bottom: 1px dashed #e3e7f0; }
  .pr-table td.pr-type { grid-column: 1 / -1; }
  .pr-table td.pr-active { display: flex; align-items: center; gap: .5rem; }
  .pr-table td.pr-active::before { order: 2; margin: 0; font-size: .8rem; }
  .pr-table td.pr-active .form-check-input { width: 1.4em; height: 1.4em; margin: 0; }
}
@media (min-width: 992px) { .position-lg-sticky { position: sticky; top: 80px; } }
.wl-after { padding: .7rem .9rem; margin-bottom: 1rem; border-radius: .75rem; background: var(--gold-soft); font-size: .9rem; }
/* الصفحة الرئيسية: بطاقتا الأفراد والوكالات (تسجيل + دخول) */
.hero-card { position: relative; height: 100%; padding: 1.25rem 1rem 1rem; text-align: center; border-radius: 1rem; color: #fff;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(4px); transition: transform .15s, background .15s, border-color .15s; }
.hero-card:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .13); border-color: var(--gold); }
.hero-card-icon { width: 56px; height: 56px; margin: 0 auto .6rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: var(--gold); background: rgba(255, 255, 255, .1); border: 1px solid rgba(163, 134, 58, .55); }
.hero-card-sub { font-size: .78rem; color: rgba(255, 255, 255, .7); margin-bottom: .9rem; min-height: 2.3em; }
.hero-card .btn { white-space: nowrap; }
@media (max-width: 420px) { .hero-card { padding: 1rem .6rem .8rem; } .hero-card .btn { font-size: .8rem; padding-inline: .3rem; } }
/* صفحة الدخول: فاصل "ليس لديك حساب؟" وبطاقتا التسجيل (فرد / وكالة) */
.auth-divider { display: flex; align-items: center; gap: .75rem; margin: 1.5rem 0 1rem; color: #8a93a6; font-size: .85rem; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: #e3e6ea; }
.auth-choice { display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .9rem .5rem; border: 1.5px solid #d9deea; border-radius: .75rem;
  background: #fff; color: var(--brand); text-decoration: none; text-align: center; transition: border-color .15s, box-shadow .15s, transform .15s, background .15s; }
.auth-choice i { font-size: 1.7rem; line-height: 1; margin-bottom: .2rem; }
.auth-choice .t { font-weight: 700; font-size: .95rem; }
.auth-choice .s { font-size: .72rem; color: #8a93a6; }
.auth-choice:hover, .auth-choice:focus-visible { border-color: var(--brand); background: #f4f6fb; box-shadow: 0 6px 16px rgba(33, 52, 94, .12); transform: translateY(-2px); color: var(--brand); }
.auth-choice.gold i { color: var(--gold); }
.auth-choice.gold:hover, .auth-choice.gold:focus-visible { border-color: var(--gold); background: var(--gold-soft); box-shadow: 0 6px 16px rgba(163, 134, 58, .18); }
.site-footer { border-top: 3px solid var(--gold); background: var(--brand); color: rgba(255, 255, 255, .8); }

/* مسار الحالة */
.steps { display: flex; flex-wrap: wrap; gap: .25rem; }
.steps .step { flex: 1 1 0; min-width: 80px; text-align: center; font-size: .72rem; color: #999; padding-top: .5rem; border-top: 4px solid #e3e6ea; }
.steps .step.done { border-color: var(--gold); color: var(--gold-dark); }
.steps .step.current { border-color: var(--brand); color: var(--brand); font-weight: 700; }

.doc-thumb { width: 64px; height: 64px; object-fit: cover; border-radius: .4rem; border: 1px solid #ddd; }
.req-facts .lbl { font-size: .78rem; color: #6c757d; }
.req-facts .val { font-weight: 700; color: var(--brand); }
/* وضع الصيانة للأفراد: صفحة العميل (includes/maintenance.php) وبطاقة الإعدادات */
.mnt-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem;
  background: linear-gradient(135deg, var(--brand-darker), var(--brand) 60%, #2c4580); }
.mnt { width: 100%; max-width: 520px; text-align: center; padding: 2.5rem 1.75rem 2rem; border-radius: 1.25rem; background: #fff;
  border-bottom: 5px solid var(--gold); box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.mnt-logo { height: 90px; width: auto; margin-bottom: 1.25rem; }
.mnt-ic { width: 76px; height: 76px; margin: 0 auto 1rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.2rem;
  color: var(--brand); background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 0 0 8px var(--gold-soft); }
.mnt h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: .75rem; }
.mnt p { color: #5b6478; line-height: 1.9; margin-bottom: 1rem; }
.mnt-contact { font-weight: 600; color: var(--brand); }
.mnt-contact i { color: var(--gold); }
.mnt-site { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #eef0f5; font-size: .85rem; color: #8a93a6; }
.mnt-card { border-inline-start: 5px solid #1f7a3d; }
.mnt-card.mnt-on { border-inline-start-color: #b3261e; background: #fff7f6; }
.mnt-card-ic { width: 52px; height: 52px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: #1f7a3d; background: #eaf7ee; }
.mnt-on .mnt-card-ic { color: #b3261e; background: #fdecee; }

/* تعديلات الطلب: ترقية / جواز / تذكرة (application/change.php) */
.chg { max-width: 900px; margin: 0 auto; }
.chg-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.chg-back { font-weight: 600; text-decoration: none; }
.chg-app { display: flex; align-items: center; gap: .75rem; }
.chg-app-t { font-weight: 700; color: var(--brand); }
.chg-app-s { font-size: .82rem; color: #6b7385; }
.chg-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; overflow-x: auto; }
.chg-tabs a { flex: 1 0 auto; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .75rem 1rem; border-radius: .8rem; font-weight: 700; text-decoration: none;
  color: var(--brand); background: #fff; border: 1px solid #e3e7f0; transition: border-color .15s, box-shadow .15s; white-space: nowrap; }
.chg-tabs a i { color: var(--gold); font-size: 1.1rem; }
.chg-tabs a:hover { border-color: var(--gold); }
.chg-tabs a.active { color: #fff; background: var(--brand); border-color: var(--brand); box-shadow: 0 6px 16px rgba(33, 52, 94, .18); }
.chg-tabs a.active i { color: #e8cf8a; }
.chg-card { border-radius: 1rem; border-top: 4px solid var(--gold); }
.chg-current { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: .8rem 1rem; margin-bottom: 1rem; border-radius: .8rem; background: #f4f6fa; }
.chg-current span { font-size: .8rem; color: #6b7385; } .chg-current b { color: var(--brand); flex: 1; } .chg-current em { font-style: normal; font-weight: 700; }
.chg-opts { display: grid; gap: .6rem; margin-bottom: 1rem; }
.chg-opt { display: flex; align-items: center; gap: .9rem; padding: .9rem 1rem; border-radius: .8rem; border: 2px solid #e3e7f0; cursor: pointer; transition: border-color .15s, background .15s; }
.chg-opt:hover { border-color: #d4c08a; }
.chg-opt:has(input:checked) { border-color: var(--gold); background: var(--gold-soft); }
.chg-opt input { width: 1.15rem; height: 1.15rem; accent-color: var(--gold); flex: none; }
.chg-opt-b { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.chg-opt-n { font-weight: 700; color: var(--brand); }
.chg-opt-p { font-size: .8rem; color: #6b7385; }
.chg-opt-price { text-align: left; white-space: nowrap; display: flex; flex-direction: column; }
.chg-opt-price b { color: var(--brand); } .chg-opt-price small { color: #1f7a3d; font-weight: 700; }
.chg-note { padding: .7rem .9rem; margin-bottom: 1rem; border-radius: .7rem; font-size: .88rem; background: var(--gold-soft); color: #6b5520; }
.chg-note i { color: var(--gold); }
/* نموذج بيانات الجواز بنفس شكل نموذج المزود: حقول كبيرة بخلفية رمادية فاتحة */
.chg-info { padding: .85rem 1rem; border-radius: .8rem; font-size: .9rem; line-height: 1.7; color: #23406e; background: #eef5ff; border: 1px solid #cfe0fb; }
.chg-info i { color: #3b6fd1; }
.chg-form .form-label { font-weight: 600; color: #2a3142; margin-bottom: .5rem; }
.chg-form .form-control, .chg-form .form-select { padding: .85rem 1rem; border-radius: .8rem; background-color: #f8f9fb; border-color: #e5e8ee; font-size: .92rem; }
.chg-form .form-control:focus, .chg-form .form-select:focus { background-color: #fff; }
.chg-form .form-select { background-position: left 1rem center; }
/* تغيير التذكرة بنفس شكل صفحة المزود */
.chg-tk-info { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid #e5e8ee; }
.chg-tk-ic { flex: none; width: 42px; height: 42px; border-radius: .7rem; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; color: var(--gold-dark); background: var(--gold-soft); }
.chg-tk-sec { font-size: .82rem; font-weight: 600; color: #8a93a6; line-height: 1.6; }
/* زر الإلغاء بجانب زر الحفظ الذهبي (نفس زر تنفيذ الترقية): أبيض بإطار خفيف */
.chg-tk-cancel { color: #2a3142; background: #fff; border: 1px solid #dfe3ea; font-weight: 700; }
.chg-tk-cancel:hover, .chg-tk-cancel:focus { color: #2a3142; background: #f6f7f9; border-color: #cfd5df; }
.chg-form input[type=file].form-control { padding: 0; overflow: hidden; }
.chg-form input[type=file].form-control::file-selector-button { padding: .85rem 1.2rem; margin-inline-end: 1rem; border: 0; font-weight: 700; color: var(--brand); background: var(--gold-soft); }
/* زر التعديلات في صفحة الطلب */
.chg-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.chg-links a { flex: 1 1 140px; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .6rem .8rem; border-radius: .7rem; font-weight: 700; font-size: .9rem;
  text-decoration: none; color: var(--brand); background: #fff; border: 1px solid #e3e7f0; transition: border-color .15s, transform .15s; }
.chg-links a i { color: var(--gold); }
.chg-links a:hover { border-color: var(--gold); transform: translateY(-1px); }

/* صفحة التحقق العامة من الموافقة (verify.php) */
.vf { max-width: 860px; margin: 2rem auto; padding: 0 1rem; }
.vf-card { position: relative; overflow: hidden; text-align: center; padding: 2.2rem 1.5rem 1.8rem; border-radius: 1.1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker), var(--brand) 60%, #2c4580); border-bottom: 5px solid var(--gold); box-shadow: 0 12px 30px rgba(33, 52, 94, .2); }
.vf-card h1 { color: #fff; font-size: 1.55rem; font-weight: 700; margin: .5rem 0 1.2rem; }
.vf-card p { color: rgba(255, 255, 255, .8); margin-bottom: 0; }
.vf-seal { width: 92px; height: 92px; margin: 0 auto .9rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--brand);
  background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 0 0 7px rgba(255, 255, 255, .12), 0 0 0 14px rgba(163, 134, 58, .18); }
.vf-bad .vf-seal { color: #fff; background: linear-gradient(135deg, #e0645a, #b3261e); box-shadow: 0 0 0 7px rgba(255, 255, 255, .12), 0 0 0 14px rgba(179, 38, 30, .25); }
.vf-kicker { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .9rem; border-radius: 2rem; font-size: .8rem; font-weight: 700; letter-spacing: .04em; color: #e8cf8a; background: rgba(163, 134, 58, .22); }
.vf-ok .vf-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5ee08a; box-shadow: 0 0 0 3px rgba(94, 224, 138, .25); }
.vf-bad .vf-kicker { color: #ffc9c4; background: rgba(179, 38, 30, .3); }
.vf-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .6rem; text-align: right; margin-bottom: 1.4rem; }
.vf-facts > div { padding: .65rem .9rem; border-radius: .7rem; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); }
.vf-facts span { display: block; font-size: .75rem; color: rgba(255, 255, 255, .65); }
.vf-facts b { display: block; font-size: 1rem; color: #fff; }
.vf-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.vf-btn { display: inline-flex; align-items: center; gap: .45rem; padding: .65rem 1.4rem; border-radius: 2rem; font-weight: 700; text-decoration: none; color: #fff;
  border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .08); transition: transform .15s, background .15s; }
.vf-btn:hover { color: #fff; background: rgba(255, 255, 255, .18); transform: translateY(-2px); }
.vf-btn-main { color: var(--brand); border: 0; background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 4px 14px rgba(163, 134, 58, .4); }
.vf-btn-main:hover { color: var(--brand-darker); background: linear-gradient(135deg, #f3e3b0, var(--gold)); }
.vf-doc { margin-top: 1.25rem; border-radius: 1rem; overflow: hidden; background: #fff; box-shadow: 0 6px 20px rgba(33, 52, 94, .1); }
.vf-doc iframe { display: block; width: 100%; height: 1100px; border: 0; }
@media (max-width: 575px) { .vf { margin: 1rem auto; } .vf-card { padding: 1.6rem 1rem 1.4rem; } .vf-card h1 { font-size: 1.25rem; } }

/* بطاقة الموافقة الجاهزة (application/view.php) */
.apv { position: relative; overflow: hidden; display: flex; align-items: stretch; gap: 1.25rem; padding: 1.4rem 1.5rem; border-radius: 1rem; color: #fff;
  background: linear-gradient(135deg, var(--brand-darker, #16233f), var(--brand) 60%, #2c4580); border-bottom: 4px solid var(--gold); box-shadow: 0 10px 26px rgba(33, 52, 94, .2); }
.apv::after { content: ""; position: absolute; inset-inline-end: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; border: 30px solid rgba(163, 134, 58, .12); pointer-events: none; }
.apv-main { flex: 1; display: flex; align-items: center; gap: 1.25rem; min-width: 0; }
.apv-seal { flex: none; width: 84px; height: 84px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.8rem; color: var(--brand);
  background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 0 0 6px rgba(255, 255, 255, .12), 0 0 0 12px rgba(163, 134, 58, .18); }
.apv-body { min-width: 0; }
.apv-kicker { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .7rem; border-radius: 2rem; font-size: .78rem; font-weight: 700; color: #e8cf8a; background: rgba(163, 134, 58, .2); }
.apv-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #5ee08a; box-shadow: 0 0 0 3px rgba(94, 224, 138, .25); }
.apv-title { margin: .35rem 0 .6rem; font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.apv-facts { display: flex; flex-wrap: wrap; gap: .4rem .9rem; margin-bottom: 1rem; font-size: .85rem; color: rgba(255, 255, 255, .82); }
.apv-facts i { color: #e8cf8a; margin-inline-end: .15rem; }
.apv-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.apv-btn { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.3rem; border-radius: 2rem; font-weight: 700; text-decoration: none; transition: transform .15s, background .15s, box-shadow .15s; }
.apv-btn:hover { transform: translateY(-2px); }
.apv-btn-dl { color: var(--brand); background: linear-gradient(135deg, #f3e3b0, var(--gold)); box-shadow: 0 4px 14px rgba(163, 134, 58, .4); }
.apv-btn-dl:hover { color: var(--brand-darker, #16233f); box-shadow: 0 6px 18px rgba(163, 134, 58, .55); }
.apv-btn-view { color: #fff; border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .08); }
.apv-btn-view:hover { color: #fff; background: rgba(255, 255, 255, .18); }
.apv-thumb { position: relative; z-index: 1; flex: none; width: 150px; border-radius: .7rem; overflow: hidden; display: flex; align-items: center; justify-content: center;
  background: #fff; border: 3px solid rgba(255, 255, 255, .9); box-shadow: 0 6px 16px rgba(0, 0, 0, .25); transform: rotate(-2deg); transition: transform .2s; text-decoration: none; }
.apv-thumb:hover { transform: rotate(0) scale(1.03); }
.apv-thumb img { width: 100%; height: 100%; max-height: 180px; object-fit: cover; object-position: top; }
.apv-thumb span { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 1.5rem .5rem; color: var(--brand); font-weight: 700; font-size: .85rem; }
.apv-thumb span i { font-size: 2.4rem; color: #c0392b; }
@media (max-width: 767px) { .apv { flex-direction: column; padding: 1.2rem; } .apv-main { flex-direction: column; text-align: center; } .apv-facts, .apv-actions { justify-content: center; }
  .apv-thumb { width: 100%; height: 160px; transform: none; } .apv-title { font-size: 1.25rem; } }
.doc-shot { display: flex; align-items: center; justify-content: center; height: 220px; background: #f4f5f7; text-align: center; text-decoration: none; overflow: hidden; }
.doc-shot img { max-width: 100%; max-height: 100%; object-fit: contain; }
.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { position: relative; padding: 0 1.25rem .9rem 0; border-right: 2px solid #e3e6ea; }
.timeline li::before { content: ""; position: absolute; right: -6px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 2px #fff; }

@media print {
  .sidebar, .topbar, .no-print, .btn { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none; }
  main { padding: 0 !important; }
}

/* نموذج الطلب السريع (مطابق لنموذج المزود) */
.xp-card { border-radius: 1rem; }
.xp-h { font-size: 1.05rem; font-weight: 700; display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; color: var(--brand); }
.xp-n { width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--brand); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .85rem; }
.xp-desc { white-space: pre-line; margin-top: .5rem; padding: .65rem .8rem; border-radius: .6rem; background: #f7f8fb; border: 1px solid #eef0f5; color: #4a5468; font-size: .9rem; max-height: 260px; overflow-y: auto; }
.xp-fact { border: 1px solid #eef0f5; border-radius: .6rem; padding: .55rem .75rem; background: #fff; height: 100%; }
.xp-fact span { display: block; font-size: .78rem; color: #6c757d; }
.xp-fact b { color: var(--brand); }
.xp-ex { border: 1px solid #e3e8f2; border-radius: .75rem; padding: .85rem; background: #fbfcfe; }
.xp-ex .ex-item { background: #fff; border: 1px solid #eef0f5; border-radius: .5rem; padding: .4rem .6rem; height: 100%; }
.xp-ex .ex-l { display: block; font-size: .75rem; color: #6c757d; }
.xp-ex .ex-v { display: block; font-weight: 600; word-break: break-word; text-align: right; }
.xp-ex .ex-in { display: none; }
.xp-ex.editing .ex-v { display: none; }
.xp-ex.editing .ex-in { display: block; }