:root{
  --ink:#11283b;--teal:#0d5c63;--amber:#f59e0b;--bg:#eef1f4;--card:#fff;
  --line:#dde3e8;--text:#1a2330;--muted:#6b7785;--ok:#1f8a52;--danger:#c0392b;--radius:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari","Noto Sans Gujarati",Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--teal);text-decoration:none}
.layout{display:flex;min-height:100vh}
.sidebar{width:230px;background:var(--ink);color:#cfdae4;padding:18px 0;flex-shrink:0}
.sidebar .logo{font-weight:800;font-size:1.02rem;line-height:1.25;color:#fff;padding:0 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}
.sidebar .logo span{color:var(--amber)}
.sidebar a{display:flex;align-items:center;gap:11px;padding:11px 20px;color:#aebccb;font-weight:600;font-size:.92rem;border-left:3px solid transparent}
.sidebar .nav-ico{width:18px;height:18px;flex:none;opacity:.85}
.sidebar a.active .nav-ico{opacity:1}
.sidebar .logout-link{margin-top:20px;color:#ef7d9d}
.sidebar a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar a.active{background:rgba(245,158,11,.12);color:#fff;border-left-color:var(--amber)}
.main{flex:1;min-width:0}
.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between}
.topbar h1{font-size:1.25rem;color:var(--ink)}
.topbar .who{color:var(--muted);font-size:.88rem}
.content{padding:24px}
.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.stat .num{font-size:1.9rem;font-weight:800;color:var(--ink)}
.stat .lbl{color:var(--muted);font-size:.85rem;margin-top:2px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px}
.panel h2{font-size:1.1rem;color:var(--ink);margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#f7f9fb}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase}
.b-new{background:#fff3d6;color:#8a5a00}.b-confirmed{background:#dff3e6;color:#14633a}
.b-cancelled{background:#fde2e0;color:#9a2222}.b-pending{background:#e6eefc;color:#274690}
.b-done{background:#e3eafe;color:#23408f}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.92rem}
label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.btn{display:inline-block;border:none;border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:.9rem;font-family:inherit}
.btn-primary{background:var(--amber);color:#3a2600}
.btn-teal{background:var(--teal);color:#fff}
.btn-sm{padding:5px 10px;font-size:.8rem}
.btn[aria-disabled="true"],.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.notice{background:#eef9f1;border:1px solid #bfe6cd;color:#14633a;padding:10px 14px;border-radius:8px;margin-bottom:14px}
.notice.err{background:#fdeeee;border-color:#f1c7c7;color:#9a2222}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--ink),var(--teal))}
.login-box{background:#fff;border-radius:14px;padding:32px;width:360px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.login-box h1{color:var(--ink);font-size:1.4rem;margin-bottom:4px}
.login-box p{color:var(--muted);font-size:.85rem;margin-bottom:18px}
.login-box .field{margin-bottom:14px}
@media(max-width:760px){.layout{flex-direction:column}.sidebar{width:100%}.cards-row,.grid2,.grid3{grid-template-columns:1fr 1fr}}

/* added: tab buttons row for leads/packages/pricing sub-nav */
.tabs{display:flex;gap:10px;flex-wrap:wrap}
.field textarea{resize:vertical;min-height:60px}
.field label input[type=checkbox]{width:auto;margin-right:6px}

/* topbar right cluster + admin language selector */
.topbar .top-right{display:flex;align-items:center;gap:14px}
.adm-lang{width:auto;padding:6px 26px 6px 10px;font-size:.85rem;font-weight:700;border-radius:8px;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23647082' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 8px center}
@media(max-width:760px){.topbar{flex-wrap:wrap;gap:8px}.topbar .who{display:none}}
.btn-danger{background:#d64545;color:#fff}

.hint{font-size:.78rem;color:var(--muted)}

/* grouped vehicle pricing: one vehicle row, multiple trip types */
.vehicle-price-title,.list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.vehicle-price-title{margin-bottom:16px}
.vehicle-price-title h2,.list-head h2{margin:0}
.eyebrow{color:var(--amber);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.vehicle-meta{background:#edf3f5;color:var(--teal);border-radius:999px;padding:6px 11px;font-size:.8rem;font-weight:700}
.trip-selector-block{border:1px solid var(--line);border-radius:10px;padding:16px;background:#f8fafb;margin-bottom:18px}
.trip-selector-block h3{font-size:1rem;color:var(--ink);margin-bottom:3px}
.trip-selector-block p,.list-head p{color:var(--muted);font-size:.86rem}
.trip-multi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:13px}
.trip-option{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:.82rem;text-transform:none;letter-spacing:0;cursor:pointer;transition:.15s}
.trip-option input,.plain-check input{width:auto;flex:none}
.trip-option.selected{border-color:var(--amber);background:#fff8e8;color:#704900;box-shadow:inset 0 0 0 1px rgba(245,158,11,.2)}
.trip-rule-panels{display:grid;gap:16px}
.trip-rule-panel{border:1px solid var(--line);border-radius:12px;background:#fbfcfd;padding:18px}
.trip-rule-panel[hidden]{display:none}
.trip-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.trip-panel-head h3{font-size:.98rem;color:var(--ink);margin:5px 0 0}
.plain-check{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--text);font-size:.82rem;text-transform:none;letter-spacing:0}
.convenience-check{margin-top:14px}
.rule-chips{display:flex;flex-wrap:wrap;gap:6px}
.rule-chip{display:inline-block;background:#dff3e6;color:#14633a;border-radius:999px;padding:4px 9px;font-size:.74rem;font-weight:800;white-space:nowrap}
.rule-chip.inactive{background:#edf0f2;color:var(--muted);text-decoration:line-through}
.sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:9px;align-items:center;margin:20px -20px -20px;padding:14px 20px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);backdrop-filter:blur(8px)}
.list-head{align-items:center;margin-bottom:16px}
.vehicle-price-list{max-width:none}
.table-scroll{overflow-x:auto}
.vehicle-price-list table{min-width:920px}
.vehicle-price-list td{vertical-align:top}
.vehicle-subline,.not-configured{color:var(--muted);font-size:.8rem}
.rule-summary{display:grid;gap:5px;color:var(--muted);font-size:.8rem;line-height:1.35}
.rule-summary strong{color:var(--text)}
.price-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.price-actions form{display:inline}

/* banner and gallery manager */
.media-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gallery-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.media-admin-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#f9fbfc;min-width:0}
.media-admin-card h3{margin:10px 0;color:var(--ink)}
.media-admin-card .field{margin-bottom:12px}
.media-admin-preview{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#e8edf1}
.media-admin-preview.banner-preview{aspect-ratio:16/7}
.media-admin-card label input[type=checkbox]{width:auto;margin-right:6px}

/* public fleet editor + compact table thumbnails */
.fleet-admin-editor{border:1px solid var(--line);border-radius:12px;background:#f8fafb;padding:16px;margin:16px 0}
.fleet-admin-editor h3{font-size:1rem;color:var(--ink);margin-bottom:12px}
.fleet-admin-current{width:240px;max-width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8edf1;border:1px solid var(--line);border-radius:10px;margin-bottom:14px}
.vehicle-status-checks{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:14px}
.vehicle-status-checks .field{margin:0}
.admin-table-thumb{width:64px;height:48px;object-fit:cover;border-radius:7px;background:#e8edf1;border:1px solid var(--line)}

/* popular routes manager */
.route-fare-editor{display:grid;gap:9px;margin-top:12px}
.route-fare-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,180px);gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#f9fbfc}
.route-fare-admin-vehicle{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-size:.86rem;text-transform:none;letter-spacing:0}
.route-fare-admin-vehicle input{width:auto;flex:none}
.route-fare-admin-vehicle small{display:block;color:var(--muted);font-weight:600;margin-top:2px}
.route-fare-input{display:flex;align-items:center;gap:7px}
.route-fare-input span{font-weight:800;color:var(--teal)}
.route-image-current{width:280px;max-width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:#e8edf1;margin-bottom:12px}
.route-chip-list{display:flex;flex-wrap:wrap;gap:6px;max-width:520px}
.route-fare-chip{display:inline-block;border-radius:999px;background:#edf5f3;color:var(--teal);padding:4px 9px;font-size:.74rem;font-weight:800}

/* ===== admin responsive ===== */
.tb-left{display:flex;align-items:center;gap:12px;min-width:0}
.tb-left h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-menu{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--ink)}
.adm-overlay{display:none}

@media(max-width:900px){
  .sidebar{position:fixed;top:0;left:0;height:100vh;width:250px;z-index:100;overflow-y:auto;
    transform:translateX(-100%);transition:transform .28s ease;box-shadow:4px 0 24px rgba(0,0,0,.25)}
  .sidebar.open{transform:translateX(0)}
  .adm-overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90}
  .adm-menu{display:inline-flex;align-items:center;justify-content:center}
  .content{padding:16px}
  .topbar{padding:12px 14px}
  .topbar h1{font-size:1.1rem}
  .cards-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
  .grid2,.grid3{grid-template-columns:1fr}
  /* let wide tables scroll inside their panel instead of breaking layout */
  .panel{overflow-x:auto}
  .panel table{min-width:560px}
  .stat .num{font-size:1.5rem}
  .adm-lang{font-size:.8rem;padding:5px 24px 5px 9px}
  .media-admin-grid,.gallery-admin-grid{grid-template-columns:1fr 1fr}
  .trip-multi{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .content{padding:12px}
  .topbar h1{font-size:1rem}
  .media-admin-grid,.gallery-admin-grid{grid-template-columns:1fr}
  .trip-multi{grid-template-columns:1fr}
  .sticky-actions{flex-wrap:wrap}
  .route-fare-admin-row{grid-template-columns:1fr}
}
