/* ============================================================
   Drive Dealer — panel-specific additions on top of the kit CSS.
   ============================================================ */

/* get_avatar outputs <img>; the kit styled a div chip — make our img match */
img.db-user-chip__avatar { width:40px; height:40px; border-radius:var(--gx-r-full); object-fit:cover; flex-shrink:0; }
img.db-topbar__avatar { width:34px; height:34px; border-radius:var(--gx-r-full); object-fit:cover; }

.db-nav-link--danger { color:#ef4444 !important; }
.db-nav-link--danger .db-nav-link__icon { color:#ef4444; }

/* Empty states + table image placeholder */
.db-empty { padding:1.25rem 0; color:var(--gx-gray-mid); font-size:.9rem; text-align:center; }
.db-table__car-img--ph { display:inline-block; width:44px; height:32px; border-radius:6px; background:linear-gradient(135deg,#e8e8e6,#f5f5f4); }

/* ---- Become-a-dealer gate (full-screen centered) ---- */
.dd-gate { min-height:100svh; display:flex; align-items:center; justify-content:center; padding:2rem; background:var(--gx-off-white); }
.dd-gate__card { width:100%; max-width:480px; background:var(--gx-white); border:1px solid var(--gx-gray-light); border-radius:var(--gx-r-2xl); padding:2.5rem; box-shadow:var(--gx-sh); }
.dd-gate__logo { display:block; font-family:var(--gx-font-heading); font-weight:800; font-size:1.3rem; margin-bottom:1.25rem; }
.dd-gate__title { font-size:1.6rem; font-weight:800; margin-bottom:.5rem; }
.dd-gate__sub { color:var(--gx-gray-mid); font-size:.95rem; line-height:1.6; margin-bottom:1.5rem; }
.dd-gate__form { display:flex; flex-direction:column; gap:1rem; }
.dd-field { display:flex; flex-direction:column; gap:.35rem; }
.dd-field span { font-size:.8rem; font-weight:600; color:var(--gx-g300); }
.dd-field input, .dd-field textarea { width:100%; padding:.7rem .9rem; border:1px solid var(--gx-gray-light); border-radius:var(--gx-r-md); font:inherit; font-size:.95rem; background:var(--gx-off-white); }
.dd-field input:focus, .dd-field textarea:focus { outline:none; border-color:var(--gx-lime-dark); }
.dd-gate__btn { display:inline-flex; align-items:center; justify-content:center; padding:.85rem 1.5rem; border:0; border-radius:var(--gx-r-full); background:var(--gx-dark); color:#fff; font-weight:600; font-size:.95rem; cursor:pointer; transition:background var(--gx-t); }
.dd-gate__btn:hover { background:var(--gx-lime); color:var(--gx-dark); }

/* ---- Row actions / buttons ---- */
.dd-row-actions { display:flex; gap:.4rem; flex-wrap:wrap; }
.dd-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .85rem; border:1px solid var(--gx-gray-light); border-radius:var(--gx-r-md); background:var(--gx-white); color:var(--gx-g500); font-size:.82rem; font-weight:600; cursor:pointer; transition:background var(--gx-t),border-color var(--gx-t),color var(--gx-t); }
.dd-btn:hover { background:var(--gx-dark); border-color:var(--gx-dark); color:#fff; }
.dd-btn--sm { padding:.4rem .7rem; font-size:.78rem; }
.dd-btn--ghost { background:#fff; }
.dd-btn--danger { color:#dc2626; border-color:#f1b4b4; }
.dd-btn--danger:hover { background:#dc2626; border-color:#dc2626; color:#fff; }
.dd-btn--primary { background:var(--gx-lime); border-color:var(--gx-lime); color:var(--gx-dark); }
.dd-btn--primary:hover { background:var(--gx-lime-dark); border-color:var(--gx-lime-dark); color:var(--gx-dark); }

/* ---- Tier badges ---- */
.dd-tier { display:inline-flex; padding:.25rem .6rem; border-radius:var(--gx-r-full); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.cst-tier--vip, .dd-tier.cst-tier--vip { background:#fde68a; color:#92400e; }
.cst-tier--premium, .dd-tier.cst-tier--premium { background:#ddd6fe; color:#5b21b6; }
.cst-tier--standard, .dd-tier.cst-tier--standard { background:var(--gx-gray-light); color:var(--gx-g300); }

/* ---- Reports: balanced two-up layout (equal width + height) ---- */
.dd-report-grid { grid-template-columns:1fr 1fr; align-items:stretch; }
.dd-report-grid > .db-panel { display:flex; flex-direction:column; }
.dd-report-grid > .db-panel > .dd-pad { flex:1; display:flex; align-items:center; }
@media (max-width:900px){ .dd-report-grid { grid-template-columns:1fr; } }

/* ---- Reports: CSS bars + stat rows ---- */
.dd-bars { display:flex; align-items:flex-end; gap:1rem; height:200px; width:100%; }
.dd-bar { flex:1; display:flex; flex-direction:column; align-items:center; gap:.45rem; justify-content:flex-end; height:100%; }
.dd-bar__amt { font-size:.65rem; font-weight:600; color:var(--gx-gray-mid); min-height:.85rem; white-space:nowrap; }
.dd-bar__fill { width:100%; max-width:42px; background:linear-gradient(180deg,var(--gx-lime),var(--gx-lime-dark)); border-radius:6px 6px 0 0; transition:height var(--gx-t); }
.dd-bar__label { font-size:.72rem; color:var(--gx-gray-mid); }
.dd-statlist { display:flex; flex-direction:column; gap:1rem; width:100%; }
.dd-statrow { display:grid; grid-template-columns:8rem minmax(0,1fr) 2.5rem; align-items:center; gap:.75rem; }
.dd-statrow__label { font-size:.82rem; color:var(--gx-g300); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dd-statrow__track { height:8px; background:var(--gx-gray-light); border-radius:var(--gx-r-full); overflow:hidden; }
.dd-statrow__fill { display:block; height:100%; background:var(--gx-lime-dark); border-radius:var(--gx-r-full); transition:width var(--gx-t); }
.dd-statrow__val { text-align:right; font-weight:700; font-size:.85rem; }
[data-theme="dark"] .dd-bar__amt, [data-theme="dark"] .dd-bar__label, [data-theme="dark"] .dd-statrow__label { color:var(--gx-gray); }

/* ---- Locations cards ---- */
.dd-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.25rem; }
.dd-card { background:var(--gx-white); border:1px solid var(--gx-gray-light); border-radius:var(--gx-r-lg); padding:1.5rem; box-shadow:var(--gx-sh); }
.dd-card__icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:var(--gx-r-md); background:rgba(201,236,102,.25); color:var(--gx-dark); margin-bottom:.85rem; }
.dd-card__title { font-size:1.05rem; font-weight:700; margin-bottom:.25rem; }
.dd-card__meta { font-size:.85rem; color:var(--gx-gray-mid); }

/* ---- Forms (vehicle add/edit, settings) ---- */
.dd-form { display:flex; flex-direction:column; gap:1.25rem; }
.dd-form__card { padding:1.5rem; }
/* Form-card header sits inside the card padding → drop its own inset so it lines
   up with the fields, and add breathing room before the grid. */
.dd-form__card .db-panel__header { padding:0 0 1rem; margin-bottom:1.25rem; }
.dd-form__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem 1.5rem; }
@media (min-width:1000px){ .dd-form__grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:1500px){ .dd-form__grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:560px){ .dd-form__grid { grid-template-columns:1fr; } }
.dd-f { display:flex; flex-direction:column; gap:.35rem; }
.dd-f--full { grid-column:1 / -1; }
.dd-f__label { font-size:.78rem; font-weight:600; color:var(--gx-g300); }
.dd-f__input { width:100%; padding:.65rem .85rem; border:1px solid var(--gx-gray-light); border-radius:var(--gx-r-md); font:inherit; font-size:.9rem; background:var(--gx-off-white); color:var(--gx-g500); }
.dd-f__input:focus { outline:none; border-color:var(--gx-lime-dark); background:var(--gx-white); }
textarea.dd-f__input { resize:vertical; }
.dd-form__thumb { width:100%; max-width:200px; aspect-ratio:16/10; object-fit:cover; border-radius:var(--gx-r-md); margin-bottom:.5rem; }
/* Avatar preview — compact round thumbnail, not a full-width banner */
.dd-avatar-row { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
img.dd-avatar-preview { width:96px; height:96px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--gx-gray-light); }
.dd-avatar-input { flex:1; min-width:200px; max-width:360px; }
.dd-form__actions { display:flex; gap:.75rem; margin-top:20px; }
.dd-form__actions .dd-btn { padding:.8rem 1.5rem; font-size:.9rem; }

/* ---- Payouts / balance ---- */
.dd-balance { grid-template-columns:repeat(4,1fr); margin-bottom:1.5rem; }
@media (max-width:900px){ .dd-balance { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .dd-balance { grid-template-columns:1fr; } }
.dd-balance .dd-card__meta { margin-bottom:.35rem; }
.dd-bal__big { font-size:1.6rem; color:var(--gx-lime-dark); }
.dd-payout-grid { grid-template-columns:1fr 1fr; align-items:start; }
@media (max-width:900px){ .dd-payout-grid { grid-template-columns:1fr; } }
.dd-payout-grid .dd-form__card { padding:1.5rem; }
.dd-section-head { margin-top:.5rem; }

/* ---- Inquiries (leads) ---- */
.dd-inq--unread > td { background:rgba(201,236,102,.10); }
.dd-inq--unread > td:first-child { box-shadow:inset 3px 0 0 var(--gx-lime-dark); }
[data-theme="dark"] .dd-inq--unread > td { background:rgba(201,236,102,.06); }

/* ---- Notice banner ---- */
.dd-notice { padding:.85rem 1.1rem; border-radius:var(--gx-r-md); font-size:.9rem; margin-bottom:1.25rem; border:1px solid; }
.dd-notice--ok { background:#f0f8e6; border-color:#cfe6a8; color:#3d6b12; }
.dd-notice--info { background:#eef3fb; border-color:#c4d6f0; color:#2a4d80; }
.dd-notice--err { background:#fdeaea; border-color:#f1b4b4; color:#b42323; }

/* ---- Booking detail ---- */
.dd-detail { display:flex; flex-direction:column; }
.dd-detail__row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--gx-gray-light); font-size:.9rem; }
.dd-detail__row:last-child { border-bottom:0; }
.dd-detail__row span { color:var(--gx-gray-mid); }

/* ---- Booking detail layout fixes ---- */
.dd-booking-grid { grid-template-columns:1fr 1fr; }
@media (max-width:900px){ .dd-booking-grid { grid-template-columns:1fr; } }
.dd-pad { padding:1.25rem 1.5rem; }
.db-panel__header--sub { border-top:1px solid var(--gx-gray-light); }
.dd-pad .dd-detail__row:last-child { border-bottom:0; }
.dd-pad .dd-form { gap:.85rem; }
.dd-doc-actions { display:flex; gap:.5rem; margin-top:.85rem; }
[data-theme="dark"] .db-panel__header--sub { border-top-color:rgba(255,255,255,.07); }
