/* AbanRah UI V9 — operator-friendly relational search, cleaner completion states, larger form text, masters refresh. */

/* ---------- Form readability ---------- */
body.abanrah-ui .abanrah-main form label,
body.abanrah-ui .abanrah-main form .form-label,
body.abanrah-ui .abanrah-main form .control-label {
  font-size: .94rem !important;
  line-height: 1.75 !important;
}
body.abanrah-ui .abanrah-main form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
body.abanrah-ui .abanrah-main form select,
body.abanrah-ui .abanrah-main form textarea,
body.abanrah-ui .abanrah-main form .select2-selection__rendered,
body.abanrah-ui .abanrah-main form .select2-search__field,
body.abanrah-ui .abanrah-main form .ar-relational-search-input {
  font-size: 1.02rem !important;
}
body.abanrah-ui .abanrah-main form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
body.abanrah-ui .abanrah-main form select {
  min-height: 50px !important;
}
body.abanrah-ui .abanrah-main form textarea { min-height: 108px !important; }

/* Completion state: color only; no noisy completion badge/text. */
body.abanrah-ui .abanrah-main form .ar-field-filled::after,
body.abanrah-ui .abanrah-main form .form-check.ar-field-filled::after {
  content: none !important;
  display: none !important;
}
body.abanrah-ui .abanrah-main form .ar-field-filled > label,
body.abanrah-ui .abanrah-main form .ar-field-filled label {
  color: #176b50 !important;
}
body.abanrah-ui .abanrah-main form .ar-field-filled .select2-selection--single,
body.abanrah-ui .abanrah-main form .ar-field-filled .select2-selection--multiple {
  color: #173d36 !important;
  background: #edf8f3 !important;
  border-color: #63ae91 !important;
  box-shadow: inset 4px 0 0 #21815d !important;
}

/* ---------- DAL / Select2: search directly under the related field ---------- */
body.abanrah-ui .abanrah-main .ar-relational-control {
  position: relative;
  width: 100%;
  margin-bottom: 3px;
}
body.abanrah-ui .abanrah-main .ar-relational-control > .select2-container {
  width: 100% !important;
  display: block !important;
}
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--single,
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--multiple {
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #bfd2d6 !important;
  border-radius: 13px 13px 8px 8px !important;
  box-shadow: none !important;
}
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--single .select2-selection__rendered {
  width: 100%;
  padding: 8px 13px !important;
  line-height: 1.65 !important;
}
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--multiple {
  height: auto !important;
  padding: 7px 9px !important;
  flex-wrap: wrap !important;
}
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--multiple .select2-selection__rendered {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.abanrah-ui .abanrah-main .ar-relational-control .select2-selection--multiple .select2-selection__choice {
  max-width: 100%;
  margin: 0 !important;
  padding: 7px 30px 7px 10px !important;
  color: #155c48 !important;
  background: #e8f6f0 !important;
  border: 1px solid #91c7b1 !important;
  border-radius: 10px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}
/* We provide a dedicated always-visible search input below the field. */
body.abanrah-ui .abanrah-main .ar-relational-control .select2-search--inline {
  display: none !important;
}
body.abanrah-ui .abanrah-main .ar-relational-lookup {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 4px;
  padding: 5px 10px 5px 12px;
  color: #557079;
  background: #f3f8f9;
  border: 1px solid #c9dadd;
  border-radius: 8px 8px 13px 13px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.abanrah-ui .abanrah-main .ar-relational-lookup:focus-within {
  background: #fff;
  border-color: #37899a;
  box-shadow: 0 0 0 3px rgba(31,119,136,.11);
}
body.abanrah-ui .abanrah-main .ar-relational-lookup > i {
  flex: 0 0 auto;
  color: #177182;
  font-size: .94rem;
}
body.abanrah-ui .abanrah-main .ar-relational-search-input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 4px 2px !important;
  color: #294b54 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  direction: rtl;
}
body.abanrah-ui .abanrah-main .ar-relational-search-input::placeholder { color: #789097; opacity: 1; }
body.abanrah-ui .abanrah-main .ar-relational-search-clear {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: none;
  place-items: center;
  padding: 0;
  color: #6b8087;
  background: #e7eff1;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
body.abanrah-ui .abanrah-main .ar-relational-lookup.has-query .ar-relational-search-clear { display: grid; }
body.abanrah-ui .abanrah-main .ar-relational-help {
  display: block;
  margin-top: 4px;
  color: #71868d;
  font-size: .72rem;
  line-height: 1.7;
}

/* Native dropdown search is deliberately hidden for DAL fields while open;
   the operator types in the always-visible field beside the original control. */
body.ar-relational-select-open .select2-container--open .select2-search--dropdown { display: none !important; }
body.ar-relational-select-open .select2-container--open .select2-dropdown {
  border-color: #9fc2c8 !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 42px rgba(16,55,66,.18) !important;
}
body.ar-relational-select-open .select2-container--open .select2-results__options {
  max-height: 280px !important;
}
body.ar-relational-select-open .select2-container--open .select2-results__option {
  min-height: 45px !important;
  padding: 10px 13px !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
}

/* CMR driver field specifically: keep selected drivers horizontal and readable. */
.ar-cmr-form-page .ar-relational-control .select2-selection--multiple,
.ar-cmr-form-page .ar-relational-control .select2-selection--multiple .select2-selection__rendered {
  flex-direction: row !important;
}
.ar-cmr-form-page .ar-relational-control .select2-selection__choice { writing-mode: horizontal-tb !important; }

/* Explicit required-phone visual cue (validation itself is server-side in the form). */
body.abanrah-ui .abanrah-main form input[required] {
  scroll-margin-top: 110px;
}

/* ---------- AllMasters V9: larger logos, clearer directory ---------- */
.ar-v9-masters-page { width: 100%; }
.ar-v9-masters-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 24px;
  margin-bottom: 20px;
  padding: clamp(25px,3vw,38px);
  color: #fff;
  background: linear-gradient(135deg,#123f4a 0%,#0d6975 58%,#248292 100%);
  border-radius: 26px;
  box-shadow: 0 20px 46px rgba(15,65,76,.16);
}
.ar-v9-masters-hero::after {
  content: '';
  position: absolute;
  width: 260px;
  height: 260px;
  left: -80px;
  top: -120px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.ar-v9-masters-hero-copy { position: relative; z-index: 1; }
.ar-v9-masters-kicker { display: inline-flex; align-items:center; gap:7px; margin-bottom:9px; padding:6px 10px; color:#dff6f8; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:999px; font-size:.75rem; font-weight:900; }
.ar-v9-masters-hero h1 { margin:0 0 8px; color:#fff !important; font-size:clamp(1.55rem,3vw,2.15rem); font-weight:950; }
.ar-v9-masters-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.82); font-size:.93rem; line-height:1.95; }
.ar-v9-master-summary { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(95px,1fr)); gap:9px; }
.ar-v9-master-summary > span { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:82px; padding:11px 15px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.17); border-radius:16px; backdrop-filter:blur(3px); }
.ar-v9-master-summary strong { color:#fff; font-size:1.45rem; line-height:1.2; }
.ar-v9-master-summary small { margin-top:4px; color:rgba(255,255,255,.74); font-size:.72rem; }

.ar-v9-master-section { margin-bottom:20px; }
.ar-v9-master-section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:12px; padding:0 3px; }
.ar-v9-master-section-title { display:flex; align-items:center; gap:10px; }
.ar-v9-master-section-icon { width:40px; height:40px; display:grid; place-items:center; color:#1c7559; background:#e8f6ef; border-radius:12px; }
.ar-v9-master-section.is-inactive .ar-v9-master-section-icon { color:#6f7e83; background:#edf1f2; }
.ar-v9-master-section-head h2 { margin:0 0 2px; color:#24454e; font-size:1.08rem; font-weight:950; }
.ar-v9-master-section-head p { margin:0; color:#7b8e94; font-size:.75rem; }
.ar-v9-master-count { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; color:#31636d; background:#eef6f7; border:1px solid #d5e5e8; border-radius:999px; font-size:.72rem; font-weight:900; }

.ar-v9-master-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ar-v9-master-card { position:relative; min-width:0; overflow:hidden; display:flex; flex-direction:column; background:#fff; border:1px solid #d8e5e7; border-radius:22px; box-shadow:0 10px 26px rgba(20,53,63,.06); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ar-v9-master-card:hover { transform:translateY(-3px); border-color:#a9cbd0; box-shadow:0 16px 34px rgba(20,53,63,.11); }
.ar-v9-master-card.is-inactive { background:#fafcfc; opacity:.9; }
.ar-v9-master-visual { min-height:150px; display:grid; place-items:center; padding:22px 18px 13px; background:linear-gradient(180deg,#f1f8f9,#fff); border-bottom:1px solid #e7eef0; }
.ar-v9-master-card.is-inactive .ar-v9-master-visual { background:linear-gradient(180deg,#f2f4f5,#fafcfc); }
.ar-v9-master-logo { width:116px; height:116px; display:grid; place-items:center; overflow:hidden; padding:8px; background:#fff; border:1px solid #d8e6e8; border-radius:24px; box-shadow:0 9px 24px rgba(24,69,79,.09); }
.ar-v9-master-logo img { width:100%; height:100%; object-fit:contain; }
.ar-v9-master-logo span { color:#668087; font-size:2rem; }
.ar-v9-master-status { position:absolute; top:13px; right:13px; display:inline-flex; align-items:center; gap:5px; padding:5px 8px; color:#176348; background:#e6f5ed; border:1px solid #c4e5d6; border-radius:999px; font-size:.68rem; font-weight:900; }
.ar-v9-master-card.is-inactive .ar-v9-master-status { color:#68777c; background:#eef1f2; border-color:#dce2e4; }
.ar-v9-master-body { flex:1; display:flex; flex-direction:column; padding:16px; }
.ar-v9-master-body h3 { margin:0 0 7px; color:#203f48; font-size:1.12rem; font-weight:950; text-align:center; overflow-wrap:anywhere; }
.ar-v9-master-info { flex:1; min-height:54px; margin:0 0 14px; color:#6a7f86; font-size:.8rem; line-height:1.9; text-align:center; }
.ar-v9-master-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ar-v9-master-actions a { min-height:43px; display:flex; align-items:center; justify-content:center; gap:7px; padding:8px 9px; color:#31515a !important; background:#f7fafb; border:1px solid #dae6e8; border-radius:11px; font-size:.74rem; font-weight:900; text-decoration:none !important; transition:.15s ease; }
.ar-v9-master-actions a:hover { color:#fff !important; background:#145f6b; border-color:#145f6b; transform:translateY(-1px); }
.ar-v9-master-actions a.is-finance { color:#6b4a7c !important; background:#f8f2fa; border-color:#e4d7e9; }
.ar-v9-master-actions a.is-finance:hover { color:#fff !important; background:#725184; border-color:#725184; }
.ar-v9-master-empty { padding:34px 18px; color:#6c8188; background:#fff; border:1px dashed #cbdcdf; border-radius:18px; text-align:center; }
.ar-v9-master-empty i { display:block; margin-bottom:9px; color:#7c959c; font-size:1.8rem; }
.ar-v9-master-empty h3 { margin:0 0 5px; color:#38555d; font-size:1rem; }
.ar-v9-master-empty p { margin:0; font-size:.78rem; }

@media (max-width:1180px) { .ar-v9-master-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:850px) {
  .ar-v9-masters-hero { grid-template-columns:1fr; }
  .ar-v9-master-summary { width:min(100%,320px); }
}
@media (max-width:650px) {
  .ar-v9-master-grid { grid-template-columns:1fr; }
  .ar-v9-master-section-head { align-items:flex-start; flex-direction:column; }
  .ar-v9-master-logo { width:104px; height:104px; }
}
