/* Orders live log */
#ordersLiveLog { height:180px; overflow:auto; white-space:pre-wrap; background:#0d1117; color:#f0f6fc; border:1px solid #27323b; }
body[data-theme='light'] #ordersLiveLog { background:#f8f9fa; color:#212529; }
/* Global utility & shared minor styles extracted to satisfy strict CSP (no inline styles). */

.hidden { display: none !important; }

.icon-heart { vertical-align: middle; }

/* Login background + overlay previously inline (kept separate if specific page CSS also applied) */
.login-page-bg {
  background-image: url('https://images.unsplash.com/photo-1497294815431-9365093b7331');
  background-size: cover;
  background-position: center;
}
.narrow-auth{max-width:480px;}

/* Global dark mode navbar overrides */
body[data-theme='dark'] .navbar { 
  background:linear-gradient(145deg,#181d22,#12161a) !important; 
  color:#d5dbe1; 
  box-shadow:0 2px 6px rgba(0,0,0,.65);
}
body[data-theme='dark'] .navbar .navbar-brand,
body[data-theme='dark'] .navbar .nav-link,
body[data-theme='dark'] .navbar .dropdown-toggle { 
  color:#d5dbe1 !important; 
}
body[data-theme='dark'] .navbar .nav-link:hover,
body[data-theme='dark'] .navbar .nav-link:focus { 
  color:#ffffff !important; 
}
body[data-theme='dark'] .navbar .navbar-toggler { border-color:#2d3c47; }
body[data-theme='dark'] .navbar .navbar-toggler-icon { filter:invert(80%); }
body[data-theme='dark'] .dropdown-menu { background:#1f242a; border:1px solid #2d3c47; }
body[data-theme='dark'] .dropdown-menu .dropdown-item { color:#d5dbe1; }
body[data-theme='dark'] .dropdown-menu .dropdown-item:hover { background:#27323b; color:#fff; }
body[data-theme='dark'] .navbar .btn-outline-primary { border-color:#3a4650; color:#cfd6dc; }
body[data-theme='dark'] .navbar .btn-outline-primary:hover { background:#3a4650; color:#fff; }

/* Responsive Orders Table -> Cards */
table.orders-table { width:100%; border-collapse:collapse; }
table.orders-table th,table.orders-table td { padding:6px 10px; font-size:.875rem; }
@media (max-width: 760px){
  table.orders-table thead { display:none; }
  table.orders-table tbody tr { display:block; background:var(--card-bg,#fff); margin:0 0 .85rem; padding:.6rem .75rem .55rem; border:1px solid rgba(0,0,0,.08); border-radius:10px; box-shadow:0 2px 4px rgba(0,0,0,.05); position:relative; }
  body[data-theme='dark'] table.orders-table tbody tr { background:#1e242a; border-color:#2b353d; box-shadow:0 2px 5px rgba(0,0,0,.55);} 
  table.orders-table tbody tr:focus-within { outline:2px solid #0d6efd; }
  table.orders-table tbody td { display:flex; width:100%; padding:4px 0; align-items:flex-start; gap:.75rem; }
  table.orders-table tbody td::before { content:attr(data-label); flex:0 0 110px; font-weight:600; font-size:.72rem; text-transform:uppercase; letter-spacing:.5px; opacity:.75; line-height:1.2; }
  table.orders-table tbody td:last-child { padding-bottom:.2rem; }
  /* Compact long numbers */
  .truncate-number { font-family:monospace; font-size:.8rem; }
  /* Tap target spacing */
  .order-card-action { position:absolute; inset:0; background:transparent; border:0; cursor:pointer; }
  .order-card-action:focus { outline:2px solid #0d6efd; }
}
/* Extra-small screens: hide less critical columns by default and allow toggle */
@media (max-width:480px){
  table.orders-table tbody td[data-label='Service'],
  table.orders-table tbody td[data-label='After Service'],
  table.orders-table tbody td[data-label='Tracking']{ display:none; }
  table.orders-table tbody tr.has-more-collapsed .row-more { display:none; }
  table.orders-table tbody tr .row-more { margin-top:.35rem; padding-top:.4rem; border-top:1px dashed rgba(0,0,0,.15); font-size:.72rem; display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
  body[data-theme='dark'] table.orders-table tbody tr .row-more { border-color:#37424b; }
  .row-more span { display:inline-flex; gap:.25rem; align-items:center; }
  .more-toggle { position:absolute; top:.4rem; right:.55rem; background:rgba(0,0,0,.05); border:0; padding:.25rem .55rem; font-size:.65rem; border-radius:12px; letter-spacing:.5px; text-transform:uppercase; }
  body[data-theme='dark'] .more-toggle { background:#2b353d; color:#cfd6dc; }
}

/* Submission detail mobile cards extracted (single media query, not nested) */
@media (max-width:760px){
  table.submission-detail-table { width:100%; border-collapse:collapse; }
  table.submission-detail-table thead { display:none; }
  table.submission-detail-table tbody tr { display:block; background:var(--card-bg,#fff); margin:0 0 .75rem; padding:.55rem .7rem .5rem; border:1px solid rgba(0,0,0,.08); border-radius:10px; box-shadow:0 2px 4px rgba(0,0,0,.05); position:relative; }
  body[data-theme='dark'] table.submission-detail-table tbody tr { background:#1e242a; border-color:#2b353d; box-shadow:0 2px 5px rgba(0,0,0,.55);} 
  table.submission-detail-table tbody td { display:flex; width:100%; padding:4px 0; align-items:flex-start; gap:.65rem; font-size:.78rem; }
  table.submission-detail-table tbody td::before { content:attr(data-label); flex:0 0 100px; font-weight:600; font-size:.68rem; text-transform:uppercase; letter-spacing:.4px; opacity:.72; line-height:1.15; }
  table.submission-detail-table tbody td:last-child { padding-bottom:.25rem; }
  table.submission-detail-table tbody tr.has-more-collapsed .row-more { display:none; }
  table.submission-detail-table tbody tr .row-more { margin-top:.35rem; padding-top:.35rem; border-top:1px dashed rgba(0,0,0,.14); font-size:.68rem; display:flex; flex-wrap:wrap; gap:.45rem .9rem; }
  body[data-theme='dark'] table.submission-detail-table tbody tr .row-more { border-color:#37424b; }
  .submission-detail-table .more-toggle { position:absolute; top:6px; right:8px; background:#f1f3f5; border:1px solid rgba(0,0,0,.15); font-size:.65rem; padding:2px 6px; border-radius:14px; line-height:1.1; }
  body[data-theme='dark'] .submission-detail-table .more-toggle { background:#25303a; color:#d0d6db; border-color:#36414a; }
}

/* Bottom Sheet for Order Detail (mobile) */
.order-detail-sheet { position:fixed; left:0; right:0; bottom:-100%; background:var(--sheet-bg,#fff); border-top-left-radius:18px; border-top-right-radius:18px; box-shadow:0 -4px 22px rgba(0,0,0,.25); max-height:80vh; display:flex; flex-direction:column; transition:bottom .38s cubic-bezier(.4,.0,.2,1); z-index:1050; }
body[data-theme='dark'] .order-detail-sheet { background:#182026; }
.order-detail-sheet.active { bottom:0; }
.order-detail-sheet.dragging { transition:none; }
.order-detail-sheet.dragging .sheet-body { pointer-events:none; }
.order-detail-sheet header { padding:.85rem 1.1rem .65rem; display:flex; align-items:center; gap:.75rem; border-bottom:1px solid rgba(0,0,0,.08); }
body[data-theme='dark'] .order-detail-sheet header { border-color:#2a323a; }
.order-detail-sheet header h5 { flex:1; font-size:1rem; margin:0; }
.order-detail-sheet .sheet-body { overflow:auto; padding:.75rem 1rem 1rem; }
.sheet-close-btn { background:none; border:0; font-size:1.25rem; line-height:1; color:#555; }
body[data-theme='dark'] .sheet-close-btn { color:#b9c2cc; }
.sheet-handle { width:44px; height:5px; border-radius:4px; background:#c7ccd1; margin:0 auto .4rem; }
body[data-theme='dark'] .sheet-handle { background:#3a444e; }
@media (min-width: 761px){ .order-detail-sheet { display:none; } }

/* Accessibility utilities */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* Adaptive font scaling */
html { font-size:clamp(15px,1.58vw,16px); }

/* Standardized layout spacing */
main.main-content { padding:1.25rem 1.25rem 2.5rem; }
@media (min-width:1400px){ main.main-content { padding-left:2rem; padding-right:2rem; } }
@media (max-width:760px){ main.main-content { padding:1rem .9rem 2.25rem; } }

/* Footer */
footer.global-footer { background:transparent; }
body[data-theme='dark'] footer.global-footer { color:#9aa4ae; }
footer.global-footer a { color:inherit; opacity:.85; }
footer.global-footer a:hover, footer.global-footer a:focus { opacity:1; }

/* Off-canvas Sidebar (mobile) enhancements */
@media (max-width:1200px){
  body:not(.sidebar-open) aside.sidenav { pointer-events:none; }
  body.sidebar-open aside.sidenav { pointer-events:auto; }
  aside.sidenav { background:linear-gradient(180deg,#1e2933,#151b21); color:#d5dde4; }
  body[data-theme='light'] aside.sidenav { background:linear-gradient(180deg,#ffffff,#f3f6f8); color:#212529; }
  aside.sidenav [data-state="closed"] { outline:none; }
  body.sidebar-open aside.sidenav { box-shadow:4px 0 18px rgba(0,0,0,.35); }
  .sidebar-backdrop { -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
  .sidenav .nav-link { transition:background .18s,color .18s; border-radius:6px; padding:.45rem .75rem; }
  .sidenav .nav-link:hover, .sidenav .nav-link:focus { background:rgba(255,255,255,.08); text-decoration:none; }
  body[data-theme='light'] .sidenav .nav-link:hover, body[data-theme='light'] .sidenav .nav-link:focus { background:rgba(0,0,0,.05); }
  .sidenav .nav-link.active { background:rgba(0,123,255,.18); color:#fff; }
  body[data-theme='light'] .sidenav .nav-link.active { background:rgba(13,110,253,.15); color:#0d6efd; }
  body[data-theme='dark'] .sidenav .nav-link.active { background:linear-gradient(145deg,#0d4b91,#0a3669); box-shadow:0 0 0 1px #0d6efd inset; }
  body[data-theme='dark'] .sidenav .nav-link.active .material-icons, 
  body[data-theme='dark'] .sidenav .nav-link.active span { color:#ffffff!important; }
  /* Reduce motion preference */
  @media (prefers-reduced-motion: reduce){
    .sidenav { transition:none!important; }
    .sidebar-backdrop { transition:none!important; }
  }
}

/* Sidebar toggle button refinement */
#sidebarToggle { display:inline-flex; align-items:center; gap:.35rem; }
#sidebarToggle .material-icons-round { font-size:1.25rem; }
@media (min-width:1201px){ #sidebarToggle { display:none!important; } }

/* Prevent overlap of bottom sheet & sidebar */
@media (max-width:760px){
  body.sidebar-open .order-detail-sheet { display:none!important; }
}
