/* Notification styles */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    min-width: 300px;
    max-width: 500px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.4);
    animation: slideIn 0.3s ease-out;
}

.notification.success {
    background: linear-gradient(135deg, #10b981, #059669);
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.notification.error {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.notification-content {
    display: flex;
    align-items: center;
    padding: 16px;
    color: white;
}

.notification-icon {
    font-size: 18px;
    font-weight: bold;
    margin-left: 12px;
    flex-shrink: 0;
}

.notification-message {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.notification-close {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    margin-right: 8px;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.notification-close:hover {
    opacity: 1;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Arabic RTL theme (local-first build) - Following .cursorrules: Use CSS custom properties for theming */
/* Dark Theme (Default) */
:root{
  --bg:#1d1d1f;
  --panel:#111827;
  --card:#0b1220;
  --ink:#e5e7eb;
  --muted:#94a3b8;
  --brand:#22d3ee;
  --brand2:#60a5fa;
  --shadow:0 10px 30px rgba(0,0,0,.4);
  --body-bg:#1d1d1f;
  --header-bg:transparent;
  --header-border:rgba(148,163,184,.12);
  --input-bg:rgba(255,255,255,.02);
  --input-border:rgba(148,163,184,.22);
  --table-row-hover:rgba(96,165,250,.06);
  --btn-bg:rgba(255,255,255,.02);
  --btn-border:rgba(148,163,184,.18);
  --btn-hover-bg:rgba(255,255,255,.06);
  
  /* Neumorphic Icon Theme Variables - Following .cursorrules: Use CSS custom properties for theming */
  /* Neumorphic shadow variables */
  --neumorphic-shadow-light: rgba(255, 255, 255, 0.05);
  --neumorphic-shadow-dark: rgba(0, 0, 0, 0.3);
  --neumorphic-inset-light: rgba(255, 255, 255, 0.08);
  --neumorphic-inset-dark: rgba(0, 0, 0, 0.2);
  --neumorphic-bg: #1a1f2e;
  --neumorphic-border: rgba(255, 255, 255, 0.05);
}

/* Light Theme */
:root.light-theme,
body.light-theme {
  --bg:#f8fafc;
  --panel:#ffffff;
  --card:#ffffff;
  --ink:#1e293b;
  --muted:#64748b;
  --brand:#0891b2;
  --brand2:#3b82f6;
  --shadow:0 4px 20px rgba(0,0,0,.08);
  --body-bg:#f1f5f9;
  --header-bg:#ffffff;
  --header-border:rgba(0,0,0,.08);
  --input-bg:#ffffff;
  --input-border:#e2e8f0;
  --table-row-hover:rgba(59,130,246,.06);
  --btn-bg:#ffffff;
  --btn-border:#e2e8f0;
  --btn-hover-bg:#f8fafc;
  
  /* Light Neumorphic */
  --neumorphic-shadow-light: rgba(255, 255, 255, 0.9);
  --neumorphic-shadow-dark: rgba(0, 0, 0, 0.12);
  --neumorphic-inset-light: rgba(255, 255, 255, 0.8);
  --neumorphic-inset-dark: rgba(0, 0, 0, 0.05);
  --neumorphic-bg: #e2e8f0;
  --neumorphic-border: rgba(0, 0, 0, 0.05);
}
*{box-sizing:border-box;font-family:"Cairo",sans-serif}
html,body{height:100%;overflow-x:hidden;max-width:100%}
html{scroll-behavior:smooth}
body{margin:0;direction:rtl;text-align:right;font-family:"Cairo",sans-serif;
 background:var(--body-bg);
 background-attachment:fixed;
 color:var(--ink);line-height:1.8;
 transition: background-color 0.3s ease, color 0.3s ease;
}

/* Light theme body overrides */
body.light-theme {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}
.app-header{position:relative;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(16px,4vw,40px);border-bottom:1px solid var(--header-border);backdrop-filter:blur(6px);background:var(--header-bg);transition:background-color 0.3s ease,border-color 0.3s ease;overflow:visible;max-width:100%}
body.light-theme .app-header{background:var(--panel);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.brand{display:flex;gap:16px;align-items:center}
.logo{
  width:40px;
  height:40px;
  border-radius:0;
  background:transparent;
  border:none;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#0b1220;
  box-shadow:none;
}
.meta h1{margin:0;font-size:clamp(18px,2.2vw,28px);font-weight:700}.meta p{margin:2px 0 0;color:var(--muted);font-size:14px}
/* ===== Bottom Nav Bar (mobile-style, header nav on all pages) ===== */
.app-header .actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.12);
  overflow: visible;
}
.app-header .actions .nav-group {
  display: flex;
  gap: 6px;
  align-items: center;
  overflow: visible;
}
.app-header .actions .nav-group.nav-pages {
  margin-left: auto;
}
.app-header .actions .nav-group.nav-user {
  padding-right: 10px;
  border-right: 1px solid rgba(148, 163, 184, 0.2);
}
body.light-theme .app-header .actions .nav-group.nav-user {
  border-right-color: rgba(0, 0, 0, 0.12);
}
body.light-theme .app-header .actions {
  background: rgba(255, 255, 255, 0.9);
  border-color: #e2e8f0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.app-header .actions .nav-item,
.app-header .actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  transition: all 0.2s ease;
}
.app-header .actions .nav-item:hover,
.app-header .actions .btn:hover {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.08);
}
.app-header .actions .nav-item.active,
.app-header .actions .btn.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.app-header .actions .nav-item.active:hover,
.app-header .actions .btn.active:hover {
  opacity: 0.95;
  color: #fff;
}
body.light-theme .app-header .actions .nav-item:hover,
body.light-theme .app-header .actions .btn:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--ink);
}
body.light-theme .app-header .actions .nav-item.active,
body.light-theme .app-header .actions .btn.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.app-header .actions .nav-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.app-header .actions .nav-label {
  white-space: nowrap;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-theme-toggle .icon-sun { display: block; }
.user-theme-toggle .icon-moon { display: none; }
body.light-theme .user-theme-toggle .icon-sun { display: none; }
body.light-theme .user-theme-toggle .icon-moon { display: block; }

/* User dropdown (username + خروج) – same design as nav bar, above everything */
.user-dropdown {
  position: relative;
  overflow: visible;
}
.user-dropdown .user-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.user-dropdown .nav-chevron {
  width: 16px;
  height: 16px;
  margin-right: -2px;
  transition: transform 0.2s;
}
.user-dropdown.open .nav-chevron {
  transform: rotate(180deg);
}
.user-dropdown-menu {
  position: fixed;
  min-width: 200px;
  padding: 8px;
  background: #1d1d1e;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
  isolation: isolate;
  /* top/right/left set by JS so dropdown is never clipped by ancestors */
}
[dir="rtl"] .user-dropdown-menu {
  /* position set by JS */
}
.user-dropdown.open .user-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
body.light-theme .user-dropdown-menu {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.user-dropdown-header {
  padding: 10px 12px 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 8px 8px 0 0;
}
body.light-theme .user-dropdown-header {
  border-bottom-color: #e2e8f0;
}
.user-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.2s;
}
.user-dropdown-item:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
body.light-theme .user-dropdown-item:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.user-dropdown-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.9;
}

.content{padding:clamp(16px,4vw,40px);max-width:100%;overflow-x:hidden}
.cards{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}} @media (max-width:560px){.cards{grid-template-columns:1fr}}
/* Neumorphic Icon Styles - No animations, just soft shadows */

.card{display:block;text-decoration:none;color:inherit;background:linear-gradient(180deg, rgba(255, 255, 255, .02), rgb(9 13 133 / 20%)), #05070c;
 border:1px solid rgba(148,163,184,.12);border-radius:20px;padding:22px;box-shadow:var(--shadow);position:relative;overflow:visible;transition:transform .25s ease,border-color .25s ease,background-color .3s ease;perspective:1000px}
.card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.28)}
body.light-theme .card{background:var(--card);border-color:#e2e8f0;box-shadow:0 4px 15px rgba(0,0,0,.06)}
body.light-theme .card:hover{border-color:#cbd5e1;box-shadow:0 8px 25px rgba(0,0,0,.1)}
.card .icon{
  width:64px;
  height:64px;
  border-radius:18px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  position:relative;
  background:var(--neumorphic-bg);
  border:1px solid var(--neumorphic-border);
  transition:all .3s ease;
  box-shadow:
    8px 8px 16px var(--neumorphic-shadow-dark),
    -8px -8px 16px var(--neumorphic-shadow-light),
    inset 0 1px 0 var(--neumorphic-inset-light),
    inset 0 -1px 0 var(--neumorphic-inset-dark);
}
.card:hover .icon{
  transform:translateY(-2px);
  box-shadow:
    6px 6px 12px var(--neumorphic-shadow-dark),
    -6px -6px 12px var(--neumorphic-shadow-light),
    inset 0 1px 0 var(--neumorphic-inset-light),
    inset 0 -1px 0 var(--neumorphic-inset-dark);
}
.card .icon::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:18px;
  z-index:0;
}
.card .icon svg{
  width:32px;
  height:32px;
  opacity:0.9;
  transition:all .3s ease;
  position:relative;
  z-index:1;
  color:rgba(255,255,255,0.85)!important;
  stroke:rgba(255,255,255,0.85)!important;
  fill:rgba(255,255,255,0.85)!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}
.card:hover .icon svg{
  opacity:1;
  transform:scale(1.05);
}
body.light-theme .card .icon{
  background:#e2e8f0;
  border-color:rgba(0,0,0,0.06);
  box-shadow:6px 6px 12px rgba(0,0,0,.08),-6px -6px 12px rgba(255,255,255,.9);
}
body.light-theme .card .icon svg{
  color:#1e293b!important;
  stroke:#1e293b!important;
  fill:#1e293b!important;
  filter:none;
}
/* Logo shadow for images inside icons */
.card .icon img{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4)) drop-shadow(0 0 2px rgba(0,0,0,0.2));
  position:relative;
  z-index:1;
}

/* All icons use the same neumorphic style - Following .cursorrules: Use CSS custom properties */
.card h3{margin:6px 0 4px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:14px}
.table{width:100%;border-collapse:collapse;margin-top:16px;background:var(--card);border:1px solid rgba(148,163,184,.12);border-radius:12px;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}
.table th,.table td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.12);vertical-align:top;transition:border-color .3s ease}
.table th{background:rgba(255,255,255,.02);text-align:right;font-weight:700;color:var(--ink)}
.table tr:hover{background:var(--table-row-hover)}
body.light-theme .table{background:var(--card);border-color:#e2e8f0}
body.light-theme .table th,body.light-theme .table td{border-color:#e2e8f0}
body.light-theme .table th{background:#f8fafc}

/* First column (#) with sort link: narrow, fit text, show sorting type (↓/↑) */
table thead th:first-child,
.table thead th:first-child {
  text-align: center;
  width: 1%;
  min-width: 2.5em;
  max-width: 4em;
  box-sizing: border-box;
}
table thead th:first-child .th-sort,
.table thead th:first-child .th-sort {
  display: block;
  text-align: center;
  padding: 0.2em 4px;
  white-space: nowrap;
  min-width: 0;
}
table thead th:first-child .th-sort .caret,
.table thead th:first-child .th-sort .caret {
  display: inline;
  margin-inline-start: 2px;
  opacity: 1;
}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:rgba(96,165,250,.18);border:1px solid rgba(148,163,184,.22)}
body.light-theme .badge{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.25);color:#1e40af}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);padding:10px 14px;border-radius:12px;border:1px solid var(--btn-border);background:var(--btn-bg);cursor:pointer;transition:background .2s ease, border-color .2s ease, transform .2s ease}
.btn:hover{background:var(--btn-hover-bg);border-color:rgba(148,163,184,.28);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
body.light-theme .btn{background:#ffffff;border-color:#e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.05)}
body.light-theme .btn:hover{background:#f8fafc;border-color:#cbd5e1}
.btn-back{background:rgba(96,165,250,.08);border-color:rgba(96,165,250,.28)}
.btn-back:hover{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.4)}
.btn[href="shops.php"]:hover,.btn-tire-management[href="shops.php"]:hover{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%)!important;border-color:rgba(102,126,234,.4)}
.btn[href="../index.php"]:hover{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%)!important;border-color:rgba(102,126,234,.4)}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#0b1220;padding:10px 14px;border-radius:12px;border:none;cursor:pointer;font-weight:700}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:rgba(255,255,255,.06);color:var(--ink);padding:10px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.18);cursor:pointer;transition:background .2s ease, border-color .2s ease, transform .2s ease}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(148,163,184,.28);transform:translateY(-1px)}
.btn-secondary:active{transform:translateY(0)}
/* Page info styled as a pill/button anywhere it's used */
.page-info{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.02);color:var(--ink);font-weight:600}
.btn-danger{background:#ef4444;color:#fff;padding:8px 12px;border:none;border-radius:8px;cursor:pointer}
/* Modern 3D Pagination */
.pagination{display:flex;gap:2px;align-items:center;justify-content:center;margin-top:14px;background:linear-gradient(145deg,#e6e9ef,#ffffff);padding:6px;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.pagination .page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;font-size:13px;font-family:"Cairo",sans-serif;font-weight:600;color:#4a6fa5;background:linear-gradient(145deg,#ffffff,#e8ecf1);border:none;cursor:pointer;text-decoration:none;transition:all 0.2s ease;box-shadow:3px 3px 6px rgba(0,0,0,0.1),-2px -2px 5px rgba(255,255,255,0.8)}
.pagination .page-btn:first-child{border-radius:8px 0 0 8px}
.pagination .page-btn:last-child{border-radius:0 8px 8px 0}
.pagination .page-btn:hover:not(.active):not(.disabled){background:linear-gradient(145deg,#f0f4f8,#dce3eb);color:#2e5a8e;transform:translateY(-1px);box-shadow:4px 4px 8px rgba(0,0,0,0.12),-3px -3px 6px rgba(255,255,255,0.9)}
.pagination .page-btn.active{background:linear-gradient(145deg,#4a6fa5,#3d5d8a);color:#fff;box-shadow:inset 2px 2px 4px rgba(0,0,0,0.2),inset -1px -1px 3px rgba(255,255,255,0.1)}
.pagination .page-btn.disabled{color:#b0bec5;cursor:not-allowed;background:linear-gradient(145deg,#f5f7fa,#e8ecf1);box-shadow:none;opacity:0.6}
.pagination .page-btn.nav-btn{font-size:14px;font-weight:700;color:#4a6fa5}
.pagination .page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:#4a6fa5;background:linear-gradient(145deg,#ffffff,#e8ecf1);font-weight:600;font-size:12px;letter-spacing:1px}
.pagination .page-info{padding:4px 12px;border:none;border-radius:8px;background:linear-gradient(145deg,#ffffff,#e8ecf1);font-size:12px;box-shadow:inset 1px 1px 2px rgba(0,0,0,0.05)}
/* Dark Theme Pagination */
body:not(.light-theme) .pagination{background:linear-gradient(145deg,#2a3441,#1e2530);box-shadow:0 4px 15px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.05)}
body:not(.light-theme) .pagination .page-btn{color:#8bb4e8;background:linear-gradient(145deg,#2a3441,#1e2530);box-shadow:3px 3px 8px rgba(0,0,0,0.4),-2px -2px 5px rgba(255,255,255,0.03)}
body:not(.light-theme) .pagination .page-btn:hover:not(.active):not(.disabled){background:linear-gradient(145deg,#354052,#283545);color:#a8d0ff;box-shadow:4px 4px 10px rgba(0,0,0,0.5),-3px -3px 6px rgba(255,255,255,0.05)}
body:not(.light-theme) .pagination .page-btn.active{background:linear-gradient(145deg,#3b82f6,#2563eb);color:#fff;box-shadow:inset 2px 2px 4px rgba(0,0,0,0.3),inset -1px -1px 3px rgba(255,255,255,0.1)}
body:not(.light-theme) .pagination .page-btn.disabled{color:#5a6a7a;background:linear-gradient(145deg,#252e3a,#1e2530);box-shadow:none;opacity:0.6}
body:not(.light-theme) .pagination .page-btn.nav-btn{color:#8bb4e8}
body:not(.light-theme) .pagination .page-ellipsis{color:#8bb4e8;background:linear-gradient(145deg,#2a3441,#1e2530)}
body:not(.light-theme) .pagination .page-info{background:linear-gradient(145deg,#2a3441,#1e2530);color:#8bb4e8;box-shadow:inset 1px 1px 2px rgba(0,0,0,0.2)}
/* Rows Per Page Selector - 3D Style */
.pagination-wrapper{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:14px}
.rows-per-page{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(145deg,#e6e9ef,#ffffff);padding:4px 8px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.8);margin-bottom:10px}
.rows-per-page label{font-size:12px;font-weight:600;color:#4a6fa5;font-family:"Cairo",sans-serif;white-space:nowrap}
.rows-per-page select{padding:4px 24px 4px 8px;font-size:12px;font-family:"Cairo",sans-serif;font-weight:600;color:#4a6fa5;background:linear-gradient(145deg,#ffffff,#e8ecf1);border:none;border-radius:6px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%234a6fa5' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 6px center;box-shadow:2px 2px 4px rgba(0,0,0,0.08),-1px -1px 3px rgba(255,255,255,0.8);transition:all 0.2s ease;min-width:50px}
.rows-per-page select option{background:#f0f4f8;color:#4a6fa5;padding:8px}
.rows-per-page select:hover{background-color:#f0f4f8;box-shadow:3px 3px 6px rgba(0,0,0,0.1),-2px -2px 4px rgba(255,255,255,0.9)}
.rows-per-page select:focus{outline:none;box-shadow:0 0 0 2px rgba(74,111,165,0.2),2px 2px 4px rgba(0,0,0,0.08),-1px -1px 3px rgba(255,255,255,0.8)}
/* Dark Theme Rows Per Page */
body:not(.light-theme) .rows-per-page{background:linear-gradient(145deg,#2a3441,#1e2530);box-shadow:0 2px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}
body:not(.light-theme) .rows-per-page label{color:#8bb4e8}
body:not(.light-theme) .rows-per-page select{color:#8bb4e8;background:linear-gradient(145deg,#2a3441,#1e2530);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%238bb4e8' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 6px center;box-shadow:2px 2px 4px rgba(0,0,0,0.3),-1px -1px 3px rgba(255,255,255,0.03)}
body:not(.light-theme) .rows-per-page select:hover{background:linear-gradient(145deg,#354052,#283545);color:#a8d0ff}
body:not(.light-theme) .rows-per-page select option{background:#1e2530;color:#8bb4e8}
/* Above .app-header (z-index:1000) so popups are never covered by nav */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:1050}
body.light-theme .modal-backdrop{background:rgba(0,0,0,.35)}
.modal{width:min(780px,95vw);background:var(--panel);border:1px solid rgba(148,163,184,.16);border-radius:16px;box-shadow:var(--shadow);padding:18px;transition:background-color .3s ease,border-color .3s ease}
body.light-theme .modal{background:#ffffff;border-color:#e2e8f0;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.modal .grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.modal .grid .full{grid-column:1/-1}
.modal label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.modal input,.modal select,.modal textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--ink);transition:background-color .3s ease,border-color .3s ease}
body.light-theme .modal input,body.light-theme .modal select,body.light-theme .modal textarea{background:#ffffff;border-color:#e2e8f0}
body.light-theme .modal input:focus,body.light-theme .modal select:focus,body.light-theme .modal textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.scannerWrap,#scannerWrap{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1060;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.scannerWrap video,#scannerWrap video{width:min(720px,96vw);border-radius:16px;border:1px solid rgba(148,163,184,.25);box-shadow:var(--shadow)}
#scannerControls{display:flex;gap:8px}


.opt_qr { 
  background: rgb(22 29 43);
}
body.light-theme .opt_qr {
  background: #f1f5f9;
}


/* === Unified Searchbar (applies everywhere) === */
.searchbar{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.searchbar .search-input-wrap{display:flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.04); transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease}
.searchbar .search-input-wrap .search-icon{opacity:.75; font-size:0.95rem; line-height:1}
.searchbar input[type="text"]{background:transparent; border:0; outline:none; color:inherit; min-width:220px; width:min(42vw,380px)}
.searchbar .btn-ghost{background:transparent; border:1px solid rgba(255,255,255,.12)}
/* Stronger selector ensures it overrides legacy toolbar form rules */
.toolbar .searchbar{display:flex !important}
.toolbar .searchbar .search-input-wrap{display:flex !important}

/* Light theme searchbar styles */
:root.light-theme .searchbar .search-input-wrap{
  border:1px solid #cbd5e1;
  background:#ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
:root.light-theme .searchbar .search-input-wrap:focus-within{
  border-color:#0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
:root.light-theme .searchbar .btn-ghost{
  border:1px solid #cbd5e1;
  background:#ffffff;
}
:root.light-theme .searchbar .btn-ghost:hover{
  background:#f1f5f9;
  border-color:#94a3b8;
}
:root.light-theme .searchbar input[type="text"]::placeholder{
  color:#94a3b8;
}


/* Record badge style */
.record-badge{
  display:inline-block;
  padding:2px 8px;
  border:1px solid #1f2a44;
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
}


/* Balanced 4-column layout for home cards */
.home-cards{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
@media (max-width: 1024px){
  .home-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .home-cards{ grid-template-columns: 1fr; }
}

/* Tablet responsive (768px and below) */
@media (max-width: 768px) {
  .app-header {
    padding: 12px 14px;
    flex-wrap: wrap;
    gap: 10px;
  }
  .app-header .actions {
    width: 100%;
    justify-content: space-between;
    padding: 8px 12px;
  }
  .app-header .actions .nav-group.nav-pages {
    margin-left: 0;
  }
  .app-header .actions .nav-group.nav-user {
    padding-right: 0;
    border-right: none;
    padding-left: 12px;
    border-left: 1px solid rgba(148, 163, 184, 0.2);
  }
  body.light-theme .app-header .actions .nav-group.nav-user {
    border-left-color: rgba(0, 0, 0, 0.12);
  }
  .app-header .actions .nav-label {
    max-width: 80px;
  }
  .user-dropdown-menu {
    min-width: 160px;
  }
}

/* Mobile Phone Responsive Styles (480px and below) */
@media (max-width: 480px) {
  /* Header adjustments for mobile */
  .app-header {
    padding: 8px 10px;
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .brand {
    gap: 8px;
  }
  
  .brand .logo {
    width: 36px !important;
    height: 36px !important;
  }
  
  .meta h1 {
    font-size: 15px;
    line-height: 1.2;
  }
  
  .meta p {
    font-size: 11px;
  }
  
  .app-header .actions {
    padding: 6px 8px;
    gap: 8px;
  }
  
  .app-header .actions .btn,
  .app-header .actions .nav-item {
    height: 38px;
    padding: 0 10px;
    font-size: 12px;
    min-height: 38px;
  }
  .app-header .actions .nav-icon {
    width: 18px;
    height: 18px;
  }
  .app-header .actions .nav-label {
    max-width: 60px;
  }
  .user-dropdown .nav-label {
    max-width: 70px;
  }
  .user-dropdown-menu {
    min-width: 140px;
    padding: 6px 0;
  }
  .user-dropdown-header,
  .user-dropdown-item {
    padding: 8px 12px;
    font-size: 12px;
  }
  
  /* Content adjustments */
  .content {
    padding: 8px 12px;
  }
  
  /* Cards adjustments */
  .card {
    padding: 16px;
  }
  
  .card .icon {
    width: 40px;
    height: 40px;
  }
  
  .card .icon svg {
    width: 20px;
    height: 20px;
  }
  
  .card h3 {
    font-size: 16px;
    line-height: 1.3;
  }
  
  .card p {
    font-size: 12px;
  }
  
  /* Table mobile adjustments */
  .table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .table {
    min-width: 600px;
    font-size: 11px;
  }
  
  .table th,
  .table td {
    padding: 6px 4px;
  }
  
  /* Button adjustments */
  .btn,
  .btn-primary,
  .btn-secondary,
  .page-info {
    padding: 8px 10px;
    font-size: 12px;
  }
  
  .btn-danger {
    padding: 6px 8px;
    font-size: 11px;
  }
  
  /* Modal adjustments */
  .modal {
    padding: 12px;
    max-height: 95vh;
    width: 95vw;
  }
  
  .modal .grid {
    grid-template-columns: 1fr;
  }
  
  .modal input,
  .modal select,
  .modal textarea {
    padding: 8px 10px;
    font-size: 12px;
  }
  
  /* Searchbar adjustments */
  .searchbar {
    flex-wrap: wrap;
    gap: 6px;
  }
  
  .searchbar .search-input-wrap {
    min-width: 120px;
    padding: 4px 8px;
  }
  
  .searchbar input[type="text"] {
    font-size: 12px;
  }
  
  /* Pagination adjustments */
  .pagination {
    flex-wrap: wrap;
    gap: 2px;
    padding: 4px;
  }
  
  .pagination .page-btn {
    min-width: 32px;
    height: 32px;
    font-size: 12px;
  }
  
  .pagination .page-info {
    font-size: 10px;
    padding: 3px 8px;
  }
  
  .pagination .page-ellipsis {
    min-width: 32px;
    height: 32px;
    font-size: 10px;
  }
  
  /* Scanner adjustments */
  .scannerWrap video,
  #scannerWrap video {
    width: 95vw;
    max-height: 70vh;
  }
  
  /* Badge adjustments */
  .badge,
  .cost-badge,
  .chip-id,
  .status-badge,
  .record-badge {
    font-size: 10px;
    padding: 2px 6px;
  }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-danger,
  .page-info {
    min-height: 44px;
  }
  
  .modal input,
  .modal select,
  .modal textarea {
    min-height: 44px;
  }
  
  .searchbar input[type="text"] {
    min-height: 40px;
  }
  
  .card:hover {
    transform: none;
  }
}

/* ===== QR Type Selection Modal Styles ===== */
.qr-type-modal {
  width: min(500px, 96vw);
}

.qr-type-content {
  padding: 20px;
}

.qr-type-desc {
  margin-bottom: 20px;
  color: var(--muted);
  text-align: center;
}

.qr-type-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qr-select-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  font-size: 18px;
  font-weight: 600;
  border: 2px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: right;
  position: relative;
  overflow: hidden;
  font-family: inherit;
}

.qr-select-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  transition: width 0.4s ease;
  z-index: 0;
}

.qr-select-btn:hover::before {
  width: 100%;
}

.qr-select-btn > * {
  position: relative;
  z-index: 1;
}

.qr-select-btn.kuwait {
  background: linear-gradient(135deg, #10b981 0%, #022127 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.qr-select-btn.kuwait:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 25px rgba(16, 185, 129, 0.5);
  border-color: rgba(255, 255, 255, 0.3);
}

.qr-select-btn.kuwait:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 15px rgba(16, 185, 129, 0.4);
}

.qr-select-btn.internal {
  background: linear-gradient(135deg, #1079b9 0%, #022127 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.qr-select-btn.internal:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 25px rgba(59, 130, 246, 0.5);
  border-color: rgba(255, 255, 255, 0.3);
}

.qr-select-btn.internal:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 15px rgba(59, 130, 246, 0.4);
}

.qr-select-btn.maintenance {
  background: linear-gradient(135deg, #b94010 0%, #022127 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(185, 64, 16, 0.3);
}

.qr-select-btn.maintenance:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 25px rgba(185, 64, 16, 0.5);
  border-color: rgba(255, 255, 255, 0.3);
}

.qr-select-btn.maintenance:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 15px rgba(185, 64, 16, 0.4);
}

.qr-select-btn.diesel {
  background: linear-gradient(135deg, #2e6fcc 0%, #022127 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(46, 111, 204, 0.3);
}

.qr-select-btn.diesel:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 25px rgba(46, 111, 204, 0.5);
  border-color: rgba(255, 255, 255, 0.3);
}

.qr-select-btn.diesel:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 15px rgba(46, 111, 204, 0.4);
}

.qr-select-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  transition: transform 0.3s ease;
}

.qr-select-icon img,
.qr-select-icon svg {
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4)) drop-shadow(0 0 2px rgba(0,0,0,0.2));
}

.qr-select-btn:hover .qr-select-icon {
  transform: scale(1.15);
}

.qr-select-title {
  font-size: 18px;
  font-weight: 600;
}

.qr-select-btn .qr-select-desc {
  flex-basis: 100%;
  font-size: 13px;
  opacity: 0.9;
  margin-top: 6px;
  font-weight: 400;
}

/* ===== QR Scanner Wrap Styles ===== */
.scanner-wrap {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 9999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.scanner-wrap video {
  max-width: 100%;
  max-height: 70vh;
  border-radius: 12px;
  background: #000;
}

.scanner-html5-container {
  display: none;
  width: min(500px, 96vw);
}

.scanner-controls {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}

/* Page Select Dropdown for Pagination */
.page-select {
  padding: 6px 12px;
  font-size: 14px;
  font-family: "Cairo", sans-serif;
  border: 2px solid #2e6fcc;
  border-radius: 6px;
  background: white;
  color: #1d4f73;
  font-weight: 600;
  cursor: pointer;
  margin: 0 5px;
  min-width: 60px;
  text-align: center;
}

.page-select:focus {
  outline: none;
  border-color: #1d4f73;
  box-shadow: 0 0 0 3px rgba(46, 111, 204, 0.2);
}

.page-info {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
}

