/* ── Shared mobile nav & responsive styles ── */

/* Nav structure */
header { position: relative; }
.nav-toggle {
  display: none;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,0.4);
  border-radius: 8px;
  color: white;
  font-size: 20px;
  width: 38px; height: 38px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  z-index: 10;
}
.nav-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}
.nav-link {
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
}
.nav-link:hover, .nav-link.active { color: white; background: rgba(255,255,255,0.15); }
.nav-avatar-link { padding: 2px !important; display: inline-flex; align-items: center; }
.nav-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.2); color: white;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 600; overflow: hidden;
  border: 1.5px solid rgba(255,255,255,0.4); flex-shrink: 0;
}
.nav-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nav-avatar-link:hover .nav-avatar,
.nav-avatar-link.active .nav-avatar { border-color: white; }
.nav-user {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  opacity: 0.75;
  white-space: nowrap;
}
.nav-signout {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 8px;
  color: rgba(255,255,255,0.75);
  font-size: 12px;
  padding: 5px 12px;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  white-space: nowrap;
}

/* ── Mobile breakpoint ── */
@media (max-width: 800px) {
  /* Header */
  header {
    padding: 0 1rem !important;
    height: 60px !important;
  }
  .logo img { height: 38px !important; width: 38px !important; }
  .logo-text-main { font-size: 14px !important; }
  .logo-text-sub { font-size: 8px !important; }

  /* Show hamburger, hide desktop menu */
  .nav-toggle { display: flex !important; }
  .nav-menu {
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: absolute !important;
    top: 60px !important; left: 0 !important; right: 0 !important;
    background: #1a4d2e !important;
    padding: 10px 16px 16px !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.25) !important;
    z-index: 999 !important;
    gap: 2px !important;
  }
  .nav-menu.open { display: flex !important; }

  /* Nav items in mobile menu */
  .nav-link {
    font-size: 14px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    display: block !important;
    white-space: normal !important;
    width: 100% !important;
  }
  .nav-avatar-link {
    padding: 10px 14px !important;
    width: 100% !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: rgba(255,255,255,0.75) !important;
    font-size: 14px !important;
  }
  .nav-avatar-link::after { content: 'My Profile'; color: rgba(255,255,255,0.75); }
  .nav-avatar { width: 28px !important; height: 28px !important; }
  .nav-user {
    display: block !important;
    padding: 8px 14px !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    margin-top: 4px !important;
    font-size: 11px !important;
    width: 100% !important;
  }
  .nav-signout {
    margin: 4px 0 0 !important;
    width: 100% !important;
    text-align: left !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    border-color: rgba(255,255,255,0.2) !important;
  }

  /* Page content */
  main { padding: 1rem !important; }
  .page-title { font-size: 20px !important; }
  .metrics { grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 16px !important; }
  .metric { padding: 12px 12px !important; }
  .metric-value { font-size: 15px !important; }
  .two-col { grid-template-columns: 1fr !important; }
  .card-header { padding: 12px 14px !important; flex-wrap: wrap !important; gap: 8px !important; }
  .btn { padding: 6px 12px !important; font-size: 12px !important; }
  table { font-size: 12px !important; }
  th, td { padding: 8px 10px !important; }
  .detail-modal { width: 95vw !important; }
  .modal { width: 95vw !important; padding: 18px !important; }
  .form-row, .row { grid-template-columns: 1fr !important; }
  .filter-bar { gap: 4px !important; flex-wrap: wrap !important; }
  .tab { padding: 5px 10px !important; font-size: 12px !important; }
  .photo-section { flex-direction: column !important; align-items: center !important; text-align: center !important; }
  .photo-actions { align-items: center !important; }
  .fy-bar { flex-wrap: wrap !important; }
  .currency-bar { margin-bottom: 14px !important; }
}
