/* ============================================
   travelaway admin — نظام تصميم لوحة الإدارة
   نفس هوية الموقع العام (كحلي + برتقالي) بتخطيط لوحة تحكم
   ============================================ */

:root {
  --color-bg: #f5f7fa;
  --color-ink: #14213d;
  --color-ink-soft: #5b6b85;
  --color-primary: #0e2a47;
  --color-primary-light: #163a5e;
  --color-accent: #f5821f;
  --color-accent-dark: #d96d0f;
  --color-accent-soft: #ffe8d1;
  --color-success: #1da851;
  --color-success-soft: #e3f8ea;
  --color-danger: #d64545;
  --color-danger-soft: #fbe9e9;
  --color-border: rgba(14, 42, 71, 0.1);
  --color-surface: #ffffff;

  --font-display: "Poppins", "Segoe UI", sans-serif;
  --font-body: "Inter", -apple-system, "Segoe UI", sans-serif;

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 2px 8px rgba(14, 42, 71, 0.06);
  --shadow-md: 0 8px 24px rgba(14, 42, 71, 0.1);

  --sidebar-width: 250px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  background: var(--color-bg);
  color: var(--color-ink);
  direction: rtl;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  margin: 0;
  color: var(--color-primary);
  font-weight: 700;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* ============ صفحة تسجيل الدخول ============ */

.auth-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  background: linear-gradient(rgba(5, 24, 45, .49), rgba(5, 24, 45, .65)), url('../assets/login-hero.png') center / cover no-repeat;
  padding: 32px 20px 64px;
}

.auth-screen::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, transparent 25%, rgba(2, 17, 31, .35) 100%); }
.auth-orb { position:absolute; border-radius:50%; pointer-events:none; }
.auth-orb-one { width:400px; height:400px; border:1px solid rgba(255,255,255,.13); top:-180px; left:16%; }
.auth-orb-two { width:520px; height:520px; background:rgba(5,25,48,.2); bottom:-330px; right:12%; }
.auth-intro { display:none; }
.auth-kicker,.auth-kicker-dark { font-size:11px; font-weight:800; letter-spacing:.13em; margin:0 0 12px; }
.auth-kicker { color:#ffb16b; }
.auth-kicker-dark { color:var(--color-accent-dark); }
.auth-intro h1 { color:#fff; font-size:clamp(34px,4vw,52px); line-height:1.23; margin-bottom:18px; }
.auth-intro p { color:rgba(255,255,255,.72); line-height:1.9; max-width:400px; }
.auth-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.auth-points span { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); padding:9px 12px; border-radius:var(--radius-pill); font-size:12px; }

.auth-card {
  background: linear-gradient(135deg, rgba(255,255,255,.32), rgba(255,255,255,.13));
  backdrop-filter: blur(17px);
  -webkit-backdrop-filter: blur(17px);
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 22px;
  padding: 42px 48px;
  width: 100%;
  max-width: 510px;
  box-shadow: 0 25px 70px rgba(1, 15, 30, .45);
  position:relative; z-index:1; text-align:center;
}

.auth-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content:center;
  margin-bottom: 22px;
}

.auth-logo img {
  height: 74px;
  width: auto;
}

.auth-subtitle {
  text-align:center;
  color:rgba(255,255,255,.88);
  font-size:16px;
  margin:0 0 32px;
}
.auth-card .auth-kicker-dark { display:none; }
.auth-title { color:#fff; font-size:31px; margin-bottom:8px; }
.auth-card .field { text-align:start; margin-bottom:20px; }
.auth-card .field label { color:#fff; font-size:14px; }
.auth-card .field input { background:rgba(255,255,255,.92); border:0; padding:16px 18px; border-radius:12px; color:var(--color-primary); }
.auth-card .field input:focus { box-shadow:0 0 0 3px rgba(245,130,31,.35); }
.auth-card .btn-primary { background:linear-gradient(135deg,#f8b425,#f49a10); box-shadow:0 12px 22px rgba(66,37,0,.28); border-radius:12px; letter-spacing:.03em; }
.auth-card .btn-primary:hover { background:linear-gradient(135deg,#ffc43c,#ff9f12); }

.auth-screen::after { content:'© 2026 TravelAway Admin Crafted by Adel Brakat'; position:absolute; bottom:22px; color:rgba(255,255,255,.73); font-size:12px; z-index:1; }

/* ============ هيكل اللوحة (Sidebar + Main) ============ */

.admin-shell {
  display: flex;
  min-height: 100vh;
}

.sidebar {
  width: var(--sidebar-width);
  background: var(--color-primary);
  color: #fff;
  flex-shrink: 0;
  padding: 24px 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.sidebar-logo {
  display: flex;
  align-items: center;
  padding: 0 24px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 16px;
}

.sidebar-logo img {
  height: 36px;
  width: auto;
}

.sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 24px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14.5px;
  font-weight: 500;
  border-inline-start: 3px solid transparent;
  transition: background 0.2s, color 0.2s;
}

.sidebar-nav a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.sidebar-nav a.active {
  background: rgba(245, 130, 31, 0.15);
  color: #fff;
  border-inline-start-color: var(--color-accent);
}

.sidebar-footer {
  padding: 16px 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 16px;
}

.logout-btn {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  padding: 9px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  cursor: pointer;
  width: 100%;
}

.logout-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

.main-content {
  flex: 1;
  padding: 38px clamp(22px,4vw,56px);
  max-width: 100%;
  overflow-x: hidden;
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 12px;
}
.page-eyebrow { color:var(--color-accent-dark); font-size:12px; font-weight:800; margin:0 0 6px; }
.page-subtitle { color:var(--color-ink-soft); margin:7px 0 0; font-size:14px; }

/* ============ الأزرار ============ */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  border: none;
  transition: opacity 0.15s, transform 0.1s;
}

.btn:active { transform: scale(0.98); }

.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-light); }

.btn-accent { background: var(--color-accent); color: #fff; }
.btn-accent:hover { background: var(--color-accent-dark); }

.btn-outline {
  background: #fff;
  color: var(--color-ink);
  border: 1.5px solid var(--color-border);
}
.btn-outline:hover { border-color: var(--color-primary); }

.btn-danger { background: var(--color-danger-soft); color: var(--color-danger); }
.btn-danger:hover { background: #f6d5d5; }

.btn-sm { padding: 7px 14px; font-size: 13px; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ============ الكروت والحاويات ============ */

.card {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: var(--shadow-sm);
}
.hotel-primary-card { max-width:900px; border-top:4px solid var(--color-accent); }
.hotel-primary-card { border-radius:18px; box-shadow:0 12px 30px rgba(18,51,93,.07); }
.hotel-primary-card .card-title-row { padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid #e5edf6; }
.hotel-primary-card form { display:grid; gap:16px; }.hotel-primary-card form > .field { margin:0; }
.hotel-primary-card .field-row { gap:16px; margin:0; }.hotel-primary-card textarea { min-height:110px; resize:vertical; }
.hotel-primary-card .checkbox-row { padding:13px 15px; border:1px solid #e1eaf4; border-radius:11px; background:#f7faff; }
.hotel-primary-card #save-basic-btn { width:max-content; min-width:210px; margin-top:3px; border-radius:11px; }
.hotel-section-card { max-width:1000px; }
.hotel-steps { display:flex; gap:12px; flex-wrap:wrap; margin:-8px 0 26px; }
.hotel-steps span { display:flex; align-items:center; gap:8px; color:var(--color-ink-soft); font-size:12.5px; font-weight:700; }
.hotel-steps b { display:grid; place-items:center; width:23px; height:23px; border:1px solid var(--color-border); border-radius:50%; color:var(--color-ink-soft); }
.hotel-steps .active { color:var(--color-primary); }.hotel-steps .active b { background:var(--color-accent); border-color:var(--color-accent); color:#fff; }

.card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.card-title-row h3 { font-size: 17px; }

/* ============ الجداول ============ */

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.data-table th {
  text-align: start;
  padding: 12px 10px;
  color: var(--color-ink-soft);
  font-weight: 600;
  font-size: 13px;
  border-bottom: 2px solid var(--color-border);
}

.data-table td {
  padding: 14px 10px;
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
}

.data-table tr:last-child td { border-bottom: none; }

.table-actions { display: flex; gap: 8px; }

/* ============ الشارات (Status Badges) ============ */

.badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 600;
}

.badge-success { background: var(--color-success-soft); color: var(--color-success); }
.badge-warning { background: var(--color-accent-soft); color: var(--color-accent-dark); }
.badge-danger { background: var(--color-danger-soft); color: var(--color-danger); }
.badge-neutral { background: var(--color-bg); color: var(--color-ink-soft); border: 1px solid var(--color-border); }

/* ============ النماذج ============ */

.field { margin-bottom: 18px; }

.field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-ink-soft);
  margin-bottom: 6px;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 11px 14px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--color-border);
  font-family: var(--font-body);
  font-size: 14px;
  background: #fff;
  color: var(--color-ink);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--color-accent);
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.field-hint {
  font-size: 12px;
  color: var(--color-ink-soft);
  margin-top: 4px;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

/* ============ الوسوم القابلة للحذف ============ */

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.tag-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-bg);
  border: 1.5px solid var(--color-border);
  padding: 6px 8px 6px 14px;
  border-radius: var(--radius-pill);
  font-size: 13px;
}

.tag-pill button {
  background: rgba(214, 69, 69, 0.12);
  color: var(--color-danger);
  border: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
}

.tag-input-row { display: flex; gap: 8px; }
.tag-input-row input { flex: 1; }

/* ============ منطقة رفع الصور ============ */

.dropzone {
  border: 2px dashed var(--color-border);
  border-radius: var(--radius-md);
  padding: 32px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.dropzone:hover {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.image-grid .image-item {
  position: relative;
  border-radius: var(--radius-sm);
  overflow: hidden;
  aspect-ratio: 1;
}

.image-grid img { width: 100%; height: 100%; object-fit: cover; }

.room-image-manager { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:12px 0; padding:10px; background:var(--color-bg); border-radius:var(--radius-sm); }
.room-image-manager img { width:64px; height:52px; border-radius:7px; object-fit:cover; border:1px solid var(--color-border); }
.room-upload-btn { cursor:pointer; }
/* نخفي واجهة الإضافة القديمة فقط، ولا نخفي كروت الإضافة الجماعية. */
.room-pricing-card #room-types-list ~ .legacy-admin-section { display:none; }
.room-create-card { margin-top:16px; }

/* Modern room editor */
.room-pricing-card { background:linear-gradient(180deg,#fff 0%,#f7faff 100%); }
.room-pricing-card > .card-title-row { align-items:flex-start; padding-bottom:12px; border-bottom:1px solid #e7edf5; }
.room-pricing-card > .field-hint { max-width:760px; padding:11px 14px; border-radius:10px; background:#edf5ff; color:#45617f; line-height:1.8; }
.room-create-card,.room-batch-create-card { border:1px solid #dce7f4!important; border-radius:18px!important; background:#fff!important; box-shadow:0 12px 28px rgba(21,54,96,.06)!important; }
.room-create-card > p:first-child { display:flex; align-items:center; gap:9px; margin:0 0 20px!important; padding-bottom:14px; border-bottom:1px solid #e7edf5; color:var(--color-primary); }
.room-create-card > p:first-child::before { content:'1'; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--color-primary); color:#fff; font-size:12px; }
.room-create-card .field { margin-bottom:18px; }
.room-create-card .field label,.batch-room-card .field label { color:#294b74; font-size:12px; font-weight:800; margin-bottom:7px; }
.room-create-card > .field:has(#room-new-name),.room-create-card > .field:has(#room-new-category) { display:inline-block; vertical-align:top; width:calc(50% - 9px); }
.room-create-card > .field:has(#room-new-name) { margin-inline-end:14px; }
.room-create-card > .field:has(#room-new-description),.room-create-card > .field:has(#room-new-amenities),.room-create-card > .field:has(#room-child-policies),.room-create-card > .field:has(#room-board-options),.room-create-card > .field:has(#room-new-images) { padding:16px; border:1px solid #e3ebf5; border-radius:14px; background:#fbfdff; }
#room-child-policies,.batch-children-details { margin-top:10px; }
.room-child-policy { padding:11px; border-radius:11px; background:#f4f8fd; margin-bottom:8px; }
#room-board-options,.batch-board-prices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.board-price-option { display:grid!important; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; min-height:50px; padding:9px 10px!important; border:1px solid #dce6f2; border-radius:11px; background:#fff; color:#294b74; font-size:12px; font-weight:700; transition:border-color .18s,box-shadow .18s; }
.board-price-option:has(input:checked) { border-color:#8eb2e1; box-shadow:0 5px 13px rgba(33,80,140,.09); background:#f5f9ff; }
.board-price-option input[type="checkbox"] { width:16px; height:16px; accent-color:var(--color-primary); }
.board-price-option .room-board-price,.board-price-option .batch-board-price { grid-column:2; width:100%; min-width:0; padding:7px 9px; border-radius:8px; font-size:12px; }
.room-create-card > .field-row { padding:15px; border:1px solid #e3ebf5; border-radius:14px; background:#fbfdff; gap:14px; }
.room-create-card > .btn { margin-top:4px; min-width:180px; border-radius:11px; box-shadow:0 9px 18px rgba(241,127,38,.2); }

.room-batch-create-card > .card-title-row { padding-bottom:14px; border-bottom:1px solid #e7edf5; }
.room-batch-create-card > .card-title-row h3 { margin:0 0 5px; color:var(--color-primary); font-size:18px; }
#batch-room-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.batch-room-card { margin:0!important; padding:0!important; overflow:hidden; border:1px solid #dfe8f3!important; border-radius:16px!important; background:#fff!important; box-shadow:0 7px 18px rgba(22,54,96,.05)!important; }
.batch-room-card > *:not(.sub-item-header) { margin-inline:15px; }
.batch-room-card .sub-item-header { padding:15px; margin:0 0 15px; background:linear-gradient(135deg,#173c70,#275b9b); color:#fff; }
.batch-room-card .sub-item-header strong { font-size:17px; }.batch-room-card .sub-item-header .field-hint { color:#dce9fb; margin-top:3px; }
.batch-room-card .checkbox-row { color:#fff; font-size:11px; white-space:nowrap; }
.batch-room-card .field { margin-bottom:13px; }.batch-room-card textarea { resize:vertical; min-height:64px; }
.batch-room-card details { margin:0 15px 13px; padding:10px; border:1px solid #dfe8f3; border-radius:10px; background:#f8fbff; }.batch-room-card summary { cursor:pointer; color:var(--color-primary); font-size:12px; font-weight:800; }
.batch-room-card .field-row { gap:8px; }.batch-room-card .field-row .field { min-width:0; }.batch-room-card .batch-board-prices { grid-template-columns:1fr; margin:0 15px 15px; }
.batch-room-card:has(.batch-enabled:not(:checked)) { opacity:.56; filter:grayscale(.3); }
.room-batch-create-card > .btn { border-radius:11px; min-width:225px; }
@media(max-width:1100px){#batch-room-cards{grid-template-columns:1fr 1fr}}@media(max-width:680px){.room-create-card > .field:has(#room-new-name),.room-create-card > .field:has(#room-new-category){display:block;width:auto;margin-inline-end:0}#room-board-options{grid-template-columns:1fr}#batch-room-cards{grid-template-columns:1fr}.room-create-card > .field-row{display:block}.room-create-card > .field-row .field{margin-bottom:12px}}

/* Existing room cards and their pricing */
.room-existing-card { margin:16px 0; overflow:hidden; border:1px solid #dfe8f3; border-radius:18px; background:#fff; box-shadow:0 10px 24px rgba(20,53,93,.06); }
.room-existing-head { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:19px 20px; background:linear-gradient(135deg,#f9fbff,#eef5ff); border-bottom:1px solid #e1eaf5; }
.room-existing-title > span { display:block; margin-bottom:3px; color:#f08a2c; font-size:11px; font-weight:800; }.room-existing-title h3 { margin:0; color:var(--color-primary); font-size:19px; }.room-existing-title p { margin:5px 0 0; color:#69809e; font-size:12px; }
.room-existing-actions,.pricing-rate-actions { display:flex; gap:8px; flex-wrap:wrap; }.room-existing-actions .btn,.pricing-rate-actions .btn { border-radius:9px; }
.room-existing-media { padding:13px 20px 0; }.room-existing-media .room-image-manager { min-height:58px; margin:0; padding:9px; background:#f6f9fd; border:1px solid #e7edf5; }.room-existing-media .room-image-manager img { width:72px; height:56px; border-radius:9px; }
.room-existing-info { padding:13px 20px 5px; color:#5d718d; font-size:13px; }.room-existing-info p { margin:0 0 9px; line-height:1.7; }.room-existing-tags { display:flex; flex-wrap:wrap; gap:6px; }.room-existing-tags span { padding:5px 9px; border-radius:999px; background:#eef4fc; color:#31547e; font-size:11px; }.room-existing-tags .muted,.room-existing-info .muted { color:#7e90a8; background:#f5f7fa; }
.room-prices { margin:13px 20px; padding:15px; border:1px solid #e4ebf4; border-radius:14px; background:#fbfdff; }.room-prices-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }.room-prices-heading h4 { margin:0; color:var(--color-primary); font-size:14px; }.room-prices-heading span { padding:4px 8px; border-radius:999px; background:#eaf2ff; color:#29558d; font-size:11px; font-weight:800; }
.pricing-rate-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; align-items:center; padding:13px 0; border-top:1px solid #e7edf5; }.pricing-rate-card:first-of-type { border-top:0; }.pricing-rate-main { display:flex; align-items:center; gap:12px; }.pricing-plan-name { padding:6px 9px; border-radius:8px; background:#eef4ff; color:#244c80; font-size:12px; font-weight:800; }.pricing-rate-main strong { color:#143a6d; font-size:17px; }.pricing-rate-main strong small { color:#7d8da2; font-size:11px; font-weight:600; }.pricing-rate-meta { grid-column:1; display:flex; gap:10px; flex-wrap:wrap; color:#71839a; font-size:11px; }.pricing-rate-actions { grid-column:2; grid-row:1 / span 2; justify-content:flex-end; }
.pricing-add-panel { margin:13px 20px 20px; padding:16px; border:1px dashed #aac2e2; border-radius:14px; background:#f5f9ff; }.pricing-add-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:13px; color:#214b80; }.pricing-add-heading b,.pricing-add-heading span { display:block; }.pricing-add-heading span { color:#7186a1; font-size:11px; }.pricing-add-heading > span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#dbeaff; color:#1f5597; font-size:20px; }.pricing-add-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.pricing-add-grid .field { margin:0; }.pricing-add-grid label { color:#486582; font-size:11px; font-weight:800; }.pricing-child-field { grid-column:span 2; }.pricing-add-panel > .field-hint { margin:10px 0; font-size:11px; }.pricing-add-panel .btn { border-radius:9px; }
@media(max-width:850px){.pricing-add-grid{grid-template-columns:1fr 1fr}.pricing-child-field{grid-column:span 2}}@media(max-width:620px){.room-existing-head{align-items:flex-start;flex-direction:column}.pricing-rate-card{grid-template-columns:1fr}.pricing-rate-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.pricing-add-grid{grid-template-columns:1fr}.pricing-child-field{grid-column:auto}.room-existing-actions{width:100%}.room-existing-actions .btn{flex:1}}

.page-eyebrow{margin:0 0 4px;color:var(--color-accent-dark);font-size:11px;font-weight:800;letter-spacing:.06em}.page-subtitle{margin:5px 0 0;color:var(--color-ink-soft);font-size:13px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px}.admin-stats article{padding:17px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-stats span,.admin-stats small{display:block;color:var(--color-ink-soft);font-size:11px}.admin-stats b{display:block;margin:6px 0;color:var(--color-primary);font:700 23px var(--font-display)}.admin-table-card{padding-top:8px}@media(max-width:850px){.admin-stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.admin-stats{grid-template-columns:1fr}}

.image-item .remove-btn {
  position: absolute;
  top: 6px;
  left: 6px;
  background: rgba(20, 33, 61, 0.7);
  color: #fff;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 13px;
}

/* ============ صفوف الغرف والأسعار والباكدجات ============ */

.sub-item {
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 16px;
  margin-bottom: 12px;
}
.room-pricing-card .sub-item { padding:20px; background:#fff; box-shadow:0 3px 12px rgba(14,42,71,.04); }
.room-pricing-card .sub-item > .sub-item { background:#f8fafc; border-style:dashed; }

.sub-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.pricing-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--color-border);
  font-size: 13.5px;
}

.pricing-row:first-of-type { border-top: none; }

/* ============ حالات / تنبيهات ============ */

.alert {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  margin-bottom: 16px;
}

.alert-danger { background: var(--color-danger-soft); color: var(--color-danger); }
.alert-success { background: var(--color-success-soft); color: var(--color-success); }

.empty-row td {
  text-align: center;
  color: var(--color-ink-soft);
  padding: 40px 10px;
}

.loading-text { color: var(--color-ink-soft); font-size: 14px; padding: 20px 0; }

.dashboard-actions { display:flex; gap:10px; flex-wrap:wrap; }
.recent-bookings { display:grid; gap:8px; }
.recent-booking { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border:1px solid var(--color-border); border-radius:10px; color:inherit; text-decoration:none; }
.recent-booking:hover { border-color:var(--color-accent); background:var(--color-bg); }
.recent-booking span { display:grid; gap:3px; }
.recent-booking small { color:var(--color-text-muted); }

/* ============ استجابة الموبايل ============ */

@media (max-width: 900px) {
  .admin-shell { flex-direction: column; }
  .sidebar { width: 100%; height: auto; position: static; }
  .field-row { grid-template-columns: 1fr; }
  .main-content { padding: 20px; }
  .auth-screen { padding:24px 18px 58px; }.auth-card { max-width:430px; padding:34px 25px; }
}

/* Dashboard refresh — intentionally scoped away from the hotel/room editor. */
.dashboard-body { background:#f4f7fb; font-family:"Cairo",var(--font-body); }
.dashboard-sidebar { background:linear-gradient(180deg,#102e50 0%,#0a223c 100%); border:0; box-shadow:-5px 0 28px rgba(10,34,60,.14); }
.dashboard-sidebar .sidebar-logo { padding:30px 28px 19px; border:0; }
.dashboard-sidebar .sidebar-logo img { width:128px; }
.sidebar-caption { padding:0 28px 12px; margin:0; color:#7894b3; font-size:11px; font-weight:800; letter-spacing:.06em; }
.dashboard-sidebar .sidebar-nav { padding:5px 14px; gap:5px; }
.dashboard-sidebar .sidebar-nav a { display:flex; align-items:center; gap:13px; padding:13px 14px; border-radius:12px; color:#b9c9da; font-size:14px; }
.dashboard-sidebar .sidebar-nav a span { display:grid; place-items:center; width:20px; color:#90b2d5; font-size:19px; }
.dashboard-sidebar .sidebar-nav a.active { color:#fff; background:linear-gradient(135deg,#f5882d,#f7a54d); box-shadow:0 9px 22px rgba(245,130,31,.23); }
.dashboard-sidebar .sidebar-nav a.active span { color:#fff; }
.dashboard-sidebar .sidebar-footer { padding:20px 18px; border-top:1px solid rgba(255,255,255,.1); }
.sidebar-site-link { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 0 18px; padding:10px; border:1px solid rgba(255,255,255,.16); border-radius:10px; color:#dce9f6; font-size:12px; font-weight:800; transition:.2s; }.sidebar-site-link:hover { background:rgba(255,255,255,.08); }
.admin-profile { display:flex; align-items:center; gap:10px; margin-bottom:15px; color:#fff; }.admin-profile small { display:block; color:#85a0bd; font-size:10px; }.admin-profile b { display:block; font-size:13px; }.admin-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#244b73; color:#ffbd75; font-weight:800; }
.dashboard-sidebar .logout-btn { border-radius:10px; border:1px solid rgba(255,255,255,.14); }
.dashboard-content { max-width:1440px; margin:0 auto; padding-top:26px; padding-bottom:50px; }
.dashboard-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }.breadcrumb { color:#7689a0; font-size:13px; font-weight:700; }.topbar-actions { display:flex; align-items:center; gap:10px; }.site-preview-btn,.language-switch { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; background:#fff; border:1px solid #dce5ef; border-radius:10px; color:#264564; font:700 12px "Cairo",var(--font-body); cursor:pointer; }.site-preview-btn:hover,.language-switch:hover { border-color:#f39a48; }
.dashboard-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:31px 34px; border-radius:22px; background:radial-gradient(circle at 85% 0%,rgba(83,141,198,.35),transparent 28%),linear-gradient(120deg,#102e50,#194d7e); color:#fff; box-shadow:0 15px 34px rgba(16,46,80,.18); }.dashboard-hero h1 { margin:5px 0; color:#fff; font:800 clamp(26px,3vw,38px)/1.25 "Cairo",var(--font-body); }.dashboard-hero p { margin:0; color:#d4e3f4; font-size:14px; }.hero-kicker { color:#ffbe7c; font-size:12px; font-weight:800; }.hero-action { flex:none; border-radius:12px; box-shadow:0 8px 20px rgba(0,0,0,.16); }
.dashboard-stats { grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0; }.dashboard-stats .stat-card { display:flex; align-items:center; gap:14px; padding:20px; border:1px solid #e0e8f1; border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(18,52,91,.05); }.stat-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:#edf4fd; color:#255a93; font-size:22px; }.stat-bookings .stat-icon { background:#fff0e1; color:#e47a1f; }.stat-requests .stat-icon { background:#e7f8ef; color:#18985e; }.dashboard-stats article span,.dashboard-stats article small { font-size:11px; }.dashboard-stats article b { margin:2px 0; font:800 25px "Poppins",var(--font-display); }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; margin-bottom:22px; }.dashboard-panel,.hotels-panel { margin:0; border:1px solid #e0e8f1; border-radius:18px; box-shadow:0 7px 20px rgba(18,52,91,.05); }.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }.panel-heading>div>span { display:block; color:#8292a6; font-size:11px; font-weight:800; }.panel-heading h2 { margin:2px 0 0; font:800 21px "Cairo",var(--font-body); }.text-link { color:#e97c23; font-size:12px; font-weight:800; }.recent-booking { padding:14px; border-color:#e7edf5; border-radius:11px; }.recent-booking strong { color:#143d6b; }.recent-booking:hover { background:#f8fbff; border-color:#bed3ea; }
.dashboard-side-actions { display:grid; gap:10px; }.dashboard-side-actions a { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:10px; padding:16px; border:1px solid #e0e8f1; border-radius:15px; background:#fff; box-shadow:0 5px 15px rgba(18,52,91,.04); transition:.2s; }.dashboard-side-actions a:hover { transform:translateY(-2px); border-color:#f2b579; box-shadow:0 10px 22px rgba(18,52,91,.09); }.action-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#eef4fc; color:#255a93; font-size:18px; }.dashboard-side-actions b,.dashboard-side-actions small { display:block; }.dashboard-side-actions b { color:#163d68; font-size:13px; }.dashboard-side-actions small { color:#8393a8; font-size:10px; }.dashboard-side-actions i { color:#9db0c5; font-style:normal; }
.hotels-panel { padding:25px; }.hotels-heading { align-items:end; }.hotel-filter { display:flex; align-items:center; gap:9px; }.hotel-filter label { color:#718298; font-size:12px; font-weight:800; }.hotel-filter select { min-width:180px; padding:9px 12px; border:1px solid #dce5ef; border-radius:9px; background:#fff; color:#234460; font:600 12px "Cairo",var(--font-body); }.table-scroll { overflow-x:auto; }.hotels-panel .data-table th { color:#7c8fa4; font-size:11px; }.hotels-panel .data-table td { padding:15px 10px; }.hotels-panel .data-table tbody tr:hover { background:#fafcff; }
.admin-english { font-family:"Inter",var(--font-body); }.admin-english .dashboard-hero h1,.admin-english .panel-heading h2 { font-family:"Poppins",var(--font-display); }.admin-english .dashboard-side-actions i { transform:scaleX(-1); }
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side-actions{grid-template-columns:repeat(3,1fr)}.dashboard-side-actions a{grid-template-columns:34px 1fr}.dashboard-side-actions i{display:none}}@media(max-width:700px){.dashboard-hero{align-items:flex-start;flex-direction:column;padding:25px}.dashboard-stats{grid-template-columns:1fr}.dashboard-side-actions{grid-template-columns:1fr}.hotels-heading{align-items:flex-start;flex-direction:column}.hotel-filter{width:100%}.hotel-filter select{flex:1}.dashboard-content{padding:18px}.dashboard-topbar{margin-bottom:18px}}

/* Keep the settings area focused: room-level children pricing now lives with room pricing. */
.settings-page > .card:nth-of-type(-n+3) { display:none; }
.settings-page { max-width:1040px; padding-top:48px; }.settings-page .page-header { margin-bottom:24px; }.settings-page .page-header h1 { font-size:32px; }.settings-page > .card { border-radius:18px; border-color:#e0e8f1; box-shadow:0 8px 22px rgba(18,52,91,.05); }.settings-page > .card .card-title-row { padding-bottom:13px; border-bottom:1px solid #edf1f6; }.settings-page > .btn { margin:0 0 24px; border-radius:11px; box-shadow:0 10px 20px rgba(245,130,31,.18); }
