/*
 * Powered by AIMRON | https://aim-dev.com
 * (c) 2026 AIM DEV TEAM · aim-dev.com — All Rights Reserved · Proprietary
 * File: public/assets/css/aim-modules.css
 *
 * Shared styles for Sprint 5/6/7 admin modules:
 *   Customers · Reports · Branches · Audit · Reviews · Settings ·
 *   Pricing · KYC · Inspection · SOS · Loyalty
 *
 * Loaded by every admin/* and account/* page in addition to aim-fleet.css.
 */

/* ============================================================ */
/* Flash messages                                                */
/* ============================================================ */
.aim-flash {
  padding: 14px 18px;
  border-radius: 12px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 600;
  display: flex; align-items: center; gap: 10px;
  border: 1px solid;
  backdrop-filter: blur(8px);
}
.aim-flash::before { font-size: 18px; }
.aim-flash-success { background: rgba(34,197,94,0.10);  border-color: rgba(34,197,94,0.4);  color: var(--aim-success); }
.aim-flash-success::before { content: "✓"; }
.aim-flash-error   { background: rgba(248,113,113,0.10); border-color: rgba(248,113,113,0.4); color: var(--aim-danger); }
.aim-flash-error::before { content: "⚠"; }
.aim-flash-info    { background: rgba(96,165,250,0.10); border-color: rgba(96,165,250,0.4); color: var(--aim-info); }
.aim-flash-info::before { content: "ℹ"; }
.aim-flash-warning { background: rgba(251,191,36,0.10); border-color: rgba(251,191,36,0.4); color: var(--aim-warning); }
.aim-flash-warning::before { content: "⚠"; }

/* ============================================================ */
/* Generic field/form styling                                    */
/* ============================================================ */
.aim-field { margin-bottom: 14px; }
.aim-field > label, .aim-field-label {
  display: block;
  font-size: 11px;
  color: var(--aim-text-mute);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 700;
  margin-bottom: 6px;
}
.aim-field input[type="text"],
.aim-field input[type="email"],
.aim-field input[type="password"],
.aim-field input[type="tel"],
.aim-field input[type="number"],
.aim-field input[type="search"],
.aim-field input[type="date"],
.aim-field input[type="datetime-local"],
.aim-field input[type="url"],
.aim-field input[type="file"],
.aim-field select,
.aim-field textarea,
input.aim-input, textarea.aim-input, select.aim-input {
  width: 100%;
  padding: 11px 14px;
  background: var(--aim-glass-bg-2, rgba(31,41,55,0.4));
  border: 1px solid var(--aim-glass-border, rgba(148,163,184,0.18));
  border-radius: 10px;
  color: var(--aim-text);
  font-size: 14px;
  font-family: inherit;
  transition: border-color .18s var(--aim-ease, ease), box-shadow .18s var(--aim-ease, ease);
}
.aim-field input:focus,
.aim-field select:focus,
.aim-field textarea:focus,
input.aim-input:focus, textarea.aim-input:focus, select.aim-input:focus {
  outline: none;
  border-color: var(--aim-primary);
  box-shadow: 0 0 0 3px rgba(20,184,166,0.18);
}
.aim-field .error,
.aim-field-error {
  color: var(--aim-danger);
  font-size: 12px;
  margin-top: 4px;
}

.aim-form-card {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 18px;
  padding: 26px 28px;
  backdrop-filter: blur(14px);
  margin-bottom: 16px;
}

.aim-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 720px) {
  .aim-grid-2 { grid-template-columns: 1fr; }
}

.aim-card-soft {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 18px;
  padding: 22px 24px;
  backdrop-filter: blur(14px);
  margin-bottom: 16px;
}
.aim-card-soft h3 {
  margin: 0 0 14px;
  font-size: 13px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--aim-text-mute);
  font-weight: 800;
}
.aim-kv { display: grid; grid-template-columns: 160px 1fr; gap: 8px 18px; font-size: 14px; }
.aim-kv .k { color: var(--aim-text-mute); }
.aim-kv .v { font-weight: 600; word-break: break-word; }

/* Toggle switch */
.aim-toggle {
  display: inline-flex; align-items: center; gap: 10px;
  cursor: pointer;
}
.aim-toggle > input[type="checkbox"] { display: none; }
.aim-toggle .track {
  width: 44px; height: 24px;
  border-radius: 999px;
  background: var(--aim-glass-bg-2);
  border: 1px solid var(--aim-glass-border);
  position: relative;
  transition: background .2s var(--aim-ease, ease);
  flex-shrink: 0;
}
.aim-toggle .track::after {
  content: '';
  position: absolute;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--aim-text-mute);
  top: 2px; left: 2px;
  transition: all .25s var(--aim-ease, ease);
}
.aim-toggle > input:checked + .track {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  border-color: transparent;
}
.aim-toggle > input:checked + .track::after { left: 22px; background: #fff; }

/* ============================================================ */
/* Pagination (override Laravel default)                          */
/* ============================================================ */
.aim-pagination {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
}
.aim-pagination a, .aim-pagination span {
  display: inline-flex;
  align-items: center; justify-content: center;
  min-width: 38px; height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--aim-glass-border);
  background: var(--aim-glass-bg);
  color: var(--aim-text);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .18s var(--aim-ease, ease);
}
.aim-pagination a:hover { border-color: var(--aim-primary); color: var(--aim-primary); }
.aim-pagination .current {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  border-color: transparent;
  color: #fff;
}

/* ============================================================ */
/* Tabs (used by reviews / sos / kyc)                            */
/* ============================================================ */
.aim-tabs {
  display: inline-flex;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 12px;
  padding: 4px;
  gap: 2px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.aim-tabs a {
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--aim-text-mute);
  text-decoration: none;
  transition: all .2s var(--aim-ease, ease);
  display: inline-flex; align-items: center;
}
.aim-tabs a:hover { color: var(--aim-text); }
.aim-tabs a.active {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  box-shadow: 0 4px 14px rgba(20,184,166,0.35);
}
.aim-tabs .count {
  margin-left: 6px;
  background: rgba(255,255,255,0.18);
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.aim-tabs a:not(.active) .count { background: var(--aim-glass-bg-2); color: var(--aim-text-mute); }

/* ============================================================ */
/* Range bar (used by reports)                                    */
/* ============================================================ */
.aim-range-bar {
  display: inline-flex;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 12px;
  padding: 4px;
  gap: 2px;
  margin-bottom: 22px;
}
.aim-range-bar a {
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--aim-text-mute);
  text-decoration: none;
  transition: all .2s var(--aim-ease, ease);
}
.aim-range-bar a:hover { color: var(--aim-text); }
.aim-range-bar a.active {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  box-shadow: 0 4px 14px rgba(20,184,166,0.35);
}

/* ============================================================ */
/* KPI grid (Reports)                                             */
/* ============================================================ */
.aim-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}
@media (max-width: 980px) { .aim-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .aim-kpi-grid { grid-template-columns: 1fr; } }
.aim-kpi-card {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 18px;
  padding: 22px 24px;
  backdrop-filter: blur(14px);
  position: relative;
  overflow: hidden;
}
.aim-kpi-card::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 100px; height: 100px;
  background: radial-gradient(circle at top right, var(--aim-glow, rgba(20,184,166,0.5)), transparent 70%);
  opacity: .35;
  pointer-events: none;
}
.aim-kpi-card .label {
  font-size: 11px;
  letter-spacing: 1.5px;
  color: var(--aim-text-mute);
  text-transform: uppercase;
  font-weight: 700;
}
.aim-kpi-card .value {
  font-family: var(--aim-font-display, 'Playfair Display', serif);
  font-size: 32px;
  font-weight: 800;
  margin-top: 6px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.5px;
}
.aim-kpi-card .value.gold {
  background: var(--aim-gradient-emerald-gold, linear-gradient(135deg, #14b8a6 0%, #f59e0b 100%));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.aim-kpi-card .delta {
  margin-top: 8px;
  font-size: 12px;
  color: var(--aim-text-mute);
}
.aim-kpi-card { --aim-glow: rgba(20, 184, 166, 0.5); }
.aim-kpi-card:nth-child(2) { --aim-glow: rgba(245, 158, 11, 0.5); }
.aim-kpi-card:nth-child(3) { --aim-glow: rgba(34, 197, 94, 0.5); }
.aim-kpi-card:nth-child(4) { --aim-glow: rgba(96, 165, 250, 0.5); }

/* ============================================================ */
/* Customers table                                                */
/* ============================================================ */
.aim-cust-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(14px);
}
.aim-cust-table thead th {
  text-align: left;
  padding: 14px 18px;
  background: var(--aim-glass-bg-2);
  color: var(--aim-text-mute);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 700;
  border-bottom: 1px solid var(--aim-glass-border);
}
.aim-cust-table tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--aim-glass-border);
  font-size: 14px;
  vertical-align: middle;
}
.aim-cust-table tbody tr:last-child td { border-bottom: none; }
.aim-cust-table tbody tr { transition: background .18s var(--aim-ease, ease); cursor: pointer; }
.aim-cust-table tbody tr:hover { background: rgba(20, 184, 166, 0.06); }

.aim-avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 14px rgba(20, 184, 166, 0.35);
  flex-shrink: 0;
}
.aim-avatar-xl {
  width: 84px; height: 84px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  font-weight: 800;
  font-size: 30px;
  letter-spacing: 1px;
  box-shadow: 0 12px 32px rgba(20, 184, 166, 0.45);
}
.aim-name-stack { display: flex; align-items: center; gap: 12px; }
.aim-name-stack .meta .top { font-weight: 700; color: var(--aim-text); }
.aim-name-stack .meta .sub { font-size: 12px; color: var(--aim-text-mute); }

.aim-role-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid;
}
.aim-role-pill.customer    { background: rgba(20,184,166,.10); border-color: rgba(20,184,166,.35); color: var(--aim-primary); }
.aim-role-pill.staff       { background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.35); color: var(--aim-accent); }
.aim-role-pill.super_admin,
.aim-role-pill.owner,
.aim-role-pill.cto         { background: rgba(248,113,113,.10); border-color: rgba(248,113,113,.35); color: var(--aim-danger); }

.aim-status-dot {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
.aim-status-dot::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
.aim-status-dot.active      { color: var(--aim-success); }
.aim-status-dot.inactive    { color: var(--aim-text-mute); }
.aim-status-dot.blacklisted { color: var(--aim-danger); }

/* ============================================================ */
/* Branch grid (Branches index)                                   */
/* ============================================================ */
.aim-branch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 14px;
}
.aim-branch-card {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 18px;
  padding: 20px 22px;
  backdrop-filter: blur(14px);
  transition: all .25s var(--aim-ease, ease);
  text-decoration: none;
  color: var(--aim-text);
  position: relative;
  overflow: hidden;
  display: block;
}
.aim-branch-card:hover {
  border-color: var(--aim-primary);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(20,184,166,.15);
  text-decoration: none;
}
.aim-branch-card::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(420px circle at 0% 0%, rgba(20,184,166,.10), transparent 50%);
  pointer-events: none;
}
.aim-branch-card .head { display:flex; justify-content:space-between; align-items:flex-start; }
.aim-branch-card .code {
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--aim-primary);
  background: rgba(20,184,166,.10);
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid rgba(20,184,166,.30);
}
.aim-branch-card h3 { margin: 12px 0 4px; font-size: 18px; }
.aim-branch-card .addr { font-size: 12px; color: var(--aim-text-mute); margin-bottom: 14px; }
.aim-branch-card .stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--aim-divider);
}
.aim-branch-card .stat .v { font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; }
.aim-branch-card .stat .l { font-size: 9px; color: var(--aim-text-mute); text-transform: uppercase; letter-spacing: 1px; }
.aim-branch-card .stat.gold .v {
  background: var(--aim-gradient-emerald-gold, linear-gradient(135deg, #14b8a6 0%, #f59e0b 100%));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.aim-branch-card .badge-status {
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
}
.aim-branch-card .badge-status.on  { background: rgba(34,197,94,.12); color: var(--aim-success); border: 1px solid rgba(34,197,94,.4); }
.aim-branch-card .badge-status.off { background: rgba(148,163,184,.12); color: var(--aim-text-mute); border: 1px solid var(--aim-divider); }

/* ============================================================ */
/* Audit table + sev pills                                        */
/* ============================================================ */
.aim-audit-table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 16px; overflow: hidden;
  backdrop-filter: blur(14px);
  font-size: 13px;
}
.aim-audit-table thead th {
  text-align: left; padding: 12px 16px;
  background: var(--aim-glass-bg-2);
  color: var(--aim-text-mute);
  font-size: 10px;
  text-transform: uppercase; letter-spacing: 1.5px;
  font-weight: 700;
  border-bottom: 1px solid var(--aim-glass-border);
}
.aim-audit-table tbody td {
  padding: 11px 16px;
  border-bottom: 1px solid var(--aim-glass-border);
  vertical-align: middle;
}
.aim-audit-table tbody tr:last-child td { border-bottom: none; }
.aim-audit-table tbody tr { cursor: pointer; transition: background .18s var(--aim-ease, ease); }
.aim-audit-table tbody tr:hover { background: rgba(20,184,166,0.04); }
.aim-audit-table code {
  font-size: 11px; padding: 2px 6px;
  background: var(--aim-glass-bg-2);
  border-radius: 4px;
  color: var(--aim-primary);
  font-family: var(--aim-font-mono, ui-monospace, monospace);
}
.sev-pill {
  display: inline-block;
  padding: 2px 8px; border-radius: 999px;
  font-size: 10px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1px;
  border: 1px solid;
}
.sev-pill.sev-debug    { background: rgba(148,163,184,.10); color: #94a3b8; border-color: var(--aim-divider); }
.sev-pill.sev-info     { background: rgba(96,165,250,.12); color: var(--aim-info); border-color: rgba(96,165,250,.4); }
.sev-pill.sev-notice   { background: rgba(20,184,166,.12); color: var(--aim-primary); border-color: rgba(20,184,166,.4); }
.sev-pill.sev-warning  { background: rgba(251,191,36,.12); color: var(--aim-warning); border-color: rgba(251,191,36,.4); }
.sev-pill.sev-error    { background: rgba(248,113,113,.12); color: var(--aim-danger); border-color: rgba(248,113,113,.4); }
.sev-pill.sev-critical { background: var(--aim-danger); color: #fff; border-color: transparent; box-shadow: 0 0 12px rgba(248,113,113,.5); }

.aim-actions-list {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 14px;
  padding: 16px 18px;
  backdrop-filter: blur(14px);
}
.aim-actions-list h3 {
  margin: 0 0 12px;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--aim-text-mute);
  font-weight: 800;
}
.aim-actions-list .row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px dashed var(--aim-divider);
}
.aim-actions-list .row:last-child { border-bottom: none; }
.aim-actions-list .row .num {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  padding: 2px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 11px;
}

/* ============================================================ */
/* JSON viewer (audit show)                                       */
/* ============================================================ */
.aim-json {
  background: #0a0e1a;
  border: 1px solid var(--aim-divider);
  border-radius: 10px;
  padding: 16px;
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 12px;
  color: #cbd5e1;
  overflow-x: auto;
  white-space: pre;
  max-height: 360px;
  overflow-y: auto;
}

/* ============================================================ */
/* Settings page                                                 */
/* ============================================================ */
.aim-set-row {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 20px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px dashed var(--aim-divider);
}
.aim-set-row:last-child { border-bottom: none; }
@media (max-width: 720px) { .aim-set-row { grid-template-columns: 1fr; } }
.aim-set-row .label { font-weight: 700; font-size: 14px; }
.aim-set-row .desc { font-size: 12px; color: var(--aim-text-mute); margin-top: 4px; }
.aim-set-row .key {
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 11px;
  color: var(--aim-primary);
  margin-top: 4px;
}

/* ============================================================ */
/* Pricing                                                       */
/* ============================================================ */
.aim-rule-card {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 10px;
  backdrop-filter: blur(14px);
  transition: all .2s var(--aim-ease, ease);
  display: grid;
  grid-template-columns: 60px 1fr auto auto;
  gap: 16px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.aim-rule-card:hover { border-color: var(--aim-primary); transform: translateX(2px); text-decoration:none; color:inherit; }
.aim-rule-card .pri {
  background: var(--aim-glass-bg-2);
  border-radius: 10px;
  padding: 8px 6px;
  text-align: center;
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 800;
  color: var(--aim-primary);
}
.aim-rule-card .name { font-weight: 700; font-size: 15px; }
.aim-rule-card .meta {
  font-size: 11px; color: var(--aim-text-mute); margin-top: 2px;
  display: flex; gap: 10px; flex-wrap: wrap;
}
.aim-rule-card .adj { font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; }
.aim-rule-card .adj.up   { color: var(--aim-warning); }
.aim-rule-card .adj.down { color: var(--aim-success); }

.aim-rule-tag {
  padding: 2px 8px; border-radius: 999px;
  font-size: 10px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1px;
  background: var(--aim-glass-bg-2);
  color: var(--aim-text-mute);
  border: 1px solid var(--aim-divider);
}
.aim-rule-tag.t-season  { color: var(--aim-warning); border-color: rgba(251,191,36,.4); background: rgba(251,191,36,.08); }
.aim-rule-tag.t-weekend { color: var(--aim-info); border-color: rgba(96,165,250,.4); background: rgba(96,165,250,.08); }
.aim-rule-tag.t-length  { color: var(--aim-success); border-color: rgba(34,197,94,.4); background: rgba(34,197,94,.08); }
.aim-rule-tag.t-class   { color: var(--aim-primary); border-color: rgba(20,184,166,.4); background: rgba(20,184,166,.08); }

/* Promo grid */
.aim-promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.aim-promo-card {
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 18px;
  padding: 24px 26px;
  backdrop-filter: blur(14px);
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: all .25s var(--aim-ease, ease);
  display: block;
}
.aim-promo-card:hover {
  transform: translateY(-3px);
  border-color: var(--aim-accent);
  box-shadow: 0 12px 32px rgba(245,158,11,.15);
  text-decoration:none; color: inherit;
}
.aim-promo-card::before {
  content: '';
  position: absolute; right: -30px; top: -30px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, var(--aim-accent), transparent 60%);
  opacity: .15;
  pointer-events: none;
}
.aim-promo-card .code {
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 2px;
  background: var(--aim-gradient-emerald-gold, linear-gradient(135deg, #14b8a6 0%, #f59e0b 100%));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.aim-promo-card .label { font-size: 13px; color: var(--aim-text-mute); margin-top: 4px; }
.aim-promo-card .discount {
  margin-top: 14px;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -1px;
}
.aim-promo-card .meta {
  font-size: 11px; color: var(--aim-text-mute);
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid var(--aim-divider);
  display: flex; flex-wrap: wrap; gap: 10px;
}
.aim-promo-card .stop {
  position: absolute; top: 14px; right: 16px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.aim-promo-card .stop.on  { background: rgba(34,197,94,.12); color: var(--aim-success); border:1px solid rgba(34,197,94,.4); }
.aim-promo-card .stop.off { background: rgba(148,163,184,.12); color: var(--aim-text-mute); border:1px solid var(--aim-divider); }
.aim-promo-card .stop.exp { background: rgba(248,113,113,.12); color: var(--aim-danger); border:1px solid rgba(248,113,113,.4); }

/* ============================================================ */
/* SOS Dispatch board                                             */
/* ============================================================ */
.aim-sos-row {
  display: grid;
  grid-template-columns: 12px 1fr auto auto auto;
  gap: 14px; align-items: center;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 8px;
  text-decoration: none;
  color: inherit;
  transition: all .18s var(--aim-ease, ease);
}
.aim-sos-row:hover { border-color: var(--aim-danger); transform: translateX(2px); text-decoration:none; color:inherit; }
.aim-sos-row .sev-bar {
  width: 4px; height: 36px; border-radius: 2px; background: var(--aim-text-mute);
}
.aim-sos-row.sev-critical .sev-bar { background: var(--aim-danger); box-shadow: 0 0 10px var(--aim-danger); }
.aim-sos-row.sev-high     .sev-bar { background: var(--aim-warning); }
.aim-sos-row.sev-medium   .sev-bar { background: var(--aim-info); }
.aim-sos-row .who { font-weight: 700; font-size: 14px; }
.aim-sos-row .meta { font-size: 11px; color: var(--aim-text-mute); margin-top: 2px; display: flex; gap: 10px; flex-wrap: wrap; }
.aim-sos-row .age {
  font-family: var(--aim-font-mono, ui-monospace, monospace);
  font-size: 13px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--aim-glass-bg-2);
  color: var(--aim-text-mute);
}
.aim-sos-row.fresh .age { background: rgba(248,113,113,0.15); color: var(--aim-danger); }

/* ============================================================ */
/* KYC Track                                                     */
/* ============================================================ */
.aim-kyc-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 24px 0;
}
@media (max-width: 720px) { .aim-kyc-track { grid-template-columns: repeat(3, 1fr); } }
.aim-kyc-step {
  background: var(--aim-glass-bg-2);
  border: 1px solid var(--aim-glass-border);
  border-radius: 12px;
  padding: 14px 12px;
  text-align: center;
  transition: all .25s var(--aim-ease, ease);
}
.aim-kyc-step.done {
  background: linear-gradient(135deg, rgba(20,184,166,0.18), rgba(34,197,94,0.10));
  border-color: var(--aim-success);
}
.aim-kyc-step.current {
  background: linear-gradient(135deg, rgba(245,158,11,0.18), rgba(251,191,36,0.08));
  border-color: var(--aim-accent);
  box-shadow: 0 4px 18px rgba(245,158,11,0.25);
}
.aim-kyc-step .icon { font-size: 24px; margin-bottom: 6px; }
.aim-kyc-step .lbl { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.aim-kyc-step .desc { font-size: 10px; color: var(--aim-text-mute); margin-top: 4px; }

.aim-kyc-row {
  display: grid;
  grid-template-columns: 60px 1fr auto auto;
  gap: 14px; align-items: center;
  background: var(--aim-glass-bg);
  border: 1px solid var(--aim-glass-border);
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 8px;
  transition: all .2s var(--aim-ease, ease);
  text-decoration: none;
  color: inherit;
}
.aim-kyc-row:hover { border-color: var(--aim-primary); transform: translateX(2px); text-decoration:none; color:inherit; }
.aim-kyc-row .lvl-badge {
  width: 50px; height: 50px;
  border-radius: 50%;
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff; font-weight: 800; font-size: 18px;
  display: grid; place-items: center;
  box-shadow: 0 6px 18px rgba(20,184,166,0.35);
}
.aim-kyc-row .lvl-badge.l3 { background: linear-gradient(135deg, #f59e0b, #fb7185); box-shadow: 0 6px 18px rgba(251,113,133,0.35); }
.aim-kyc-row .name { font-weight: 700; }
.aim-kyc-row .meta { font-size: 11px; color: var(--aim-text-mute); margin-top: 3px; }

/* ============================================================ */
/* Damage inspection                                              */
/* ============================================================ */
.aim-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px;
}
.aim-photo-cell {
  background: var(--aim-glass-bg-2);
  border: 2px dashed var(--aim-glass-border);
  border-radius: 12px;
  aspect-ratio: 4/3;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  cursor: pointer;
  text-align: center;
  transition: all .2s var(--aim-ease, ease);
  position: relative;
  overflow: hidden;
}
.aim-photo-cell:hover { border-color: var(--aim-primary); background: rgba(20,184,166,0.04); }
.aim-photo-cell input[type=file] { display: none; }
.aim-photo-cell .icon { font-size: 28px; margin-bottom: 4px; }
.aim-photo-cell .label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--aim-text-mute); }
.aim-photo-cell .preview { position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%; display: none; }
.aim-photo-cell.has-file .preview { display: block; }
.aim-photo-cell.has-file .icon, .aim-photo-cell.has-file .label { display: none; }

.aim-damage-row {
  display: grid;
  grid-template-columns: 1fr 110px 1fr 120px 40px;
  gap: 8px;
  margin-bottom: 6px;
}
@media (max-width: 720px) { .aim-damage-row { grid-template-columns: 1fr; } }

.aim-btn-add {
  background: var(--aim-glass-bg-2);
  border: 1px dashed var(--aim-glass-border);
  color: var(--aim-text-mute);
  padding: 10px;
  border-radius: 10px;
  cursor: pointer;
  width: 100%;
  font-weight: 700;
  transition: all .2s var(--aim-ease, ease);
}
.aim-btn-add:hover { border-color: var(--aim-primary); color: var(--aim-primary); background: rgba(20,184,166,0.04); }

/* ============================================================ */
/* Drop zone (KYC, damage upload)                                */
/* ============================================================ */
.aim-drop {
  border: 2px dashed var(--aim-glass-border);
  border-radius: 14px;
  padding: 28px;
  text-align: center;
  cursor: pointer;
  transition: all .2s var(--aim-ease, ease);
  background: var(--aim-glass-bg-2);
  display: block;
}
.aim-drop:hover { border-color: var(--aim-primary); background: rgba(20,184,166,0.04); }
.aim-drop input[type=file] { display: none; }
.aim-drop .icon { font-size: 32px; margin-bottom: 8px; }

/* ============================================================ */
/* Stars (review form)                                            */
/* ============================================================ */
.aim-stars { display: inline-flex; gap: 6px; direction: rtl; }
.aim-stars input { display: none; }
.aim-stars label {
  cursor: pointer;
  font-size: 36px;
  color: var(--aim-divider);
  transition: all .15s var(--aim-ease, ease);
  line-height: 1;
}
.aim-stars label:hover,
.aim-stars label:hover ~ label,
.aim-stars input:checked ~ label {
  color: var(--aim-accent);
  text-shadow: 0 0 14px rgba(245,158,11,.5);
  transform: scale(1.1);
}
.aim-stars-mini { display: inline-flex; gap: 4px; direction: rtl; }
.aim-stars-mini input { display: none; }
.aim-stars-mini label {
  cursor: pointer;
  font-size: 22px;
  color: var(--aim-divider);
  transition: all .15s var(--aim-ease, ease);
  line-height: 1;
}
.aim-stars-mini label:hover,
.aim-stars-mini label:hover ~ label,
.aim-stars-mini input:checked ~ label {
  color: var(--aim-accent);
}

/* ============================================================ */
/* Day-of-week selector                                           */
/* ============================================================ */
.aim-dow { display: flex; gap: 6px; flex-wrap: wrap; }
.aim-dow label {
  cursor: pointer;
  padding: 8px 14px; border-radius: 10px;
  background: var(--aim-glass-bg-2);
  border: 1px solid var(--aim-glass-border);
  font-size: 12px; font-weight: 700;
  transition: all .15s var(--aim-ease, ease);
}
.aim-dow label.on {
  background: var(--aim-gradient-emerald, linear-gradient(135deg, #14b8a6, #10b981));
  color: #fff;
  border-color: transparent;
}
.aim-dow input { display: none; }
