/* ============================================
   WhatsApp Chat Reader — Responsive & Futuristic OS Layout
   Ultra-responsive mobile, tablet, desktop console & widescreen
   ============================================ */

/* ---- Base (mobile-first, ≤480px) ---- */
.message-row {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 2px;
}

.system-message,
.date-separator {
  padding-left: 12px;
  padding-right: 12px;
  margin: 10px auto;
}

.message-bubble {
  max-width: 86%;
  padding: 8px 10px 10px 12px;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.participant-grid {
  gap: 10px;
  padding: 0 4px;
}

.upload-card {
  padding: 26px 18px;
}

.upload-zone {
  padding: 36px 18px;
}

/* ---- Mobile Chat List Home Screen Minimal Layout (≤768px) ---- */
@media (max-width: 768px) {
  #chat-list-screen .chat-item.dashboard-card .chat-avatar.squircle,
  #chat-list-screen .chat-item.dashboard-card .chat-preview,
  #chat-list-screen .chat-item.dashboard-card .chat-card-actions {
    display: none !important;
  }

  #chat-list-screen .chat-item.dashboard-card {
    padding: 14px 16px;
    gap: 0;
  }

  #chat-list-screen .chat-item.dashboard-card .chat-card-left {
    gap: 0;
  }

  #chat-list-screen .chat-info {
    gap: 8px;
  }

  /* ---- Chat Search Bar Mobile Fit (≤768px) ---- */
  .search-bar,
  .chat-search-bar {
    position: fixed !important;
    top: max(0px, env(safe-area-inset-top, 0px)) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 0 8px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    z-index: var(--z-overlay) !important;
  }
  .search-bar .icon-btn,
  .chat-search-bar .icon-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 6px !important;
  }
  .search-bar .icon-btn.small,
  .chat-search-bar .icon-btn.small {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 4px !important;
  }
  #chat-search-input {
    min-width: 60px !important;
    padding: 0 10px !important;
    font-size: 16px !important;
    height: 36px !important;
  }
  #search-result-counter {
    min-width: 44px !important;
    padding: 2px 6px !important;
    font-size: 11.5px !important;
  }
}

/* ---- FAB Safe Area & Fixed Positioning on Mobile/Tablet (≤1024px) ---- */
@media (max-width: 1024px) {
  .fab {
    position: fixed !important;
    right: max(16px, env(safe-area-inset-right, 16px)) !important;
    bottom: max(24px, env(safe-area-inset-bottom, 24px)) !important;
    width: 56px !important;
    height: 56px !important;
    z-index: 1000 !important;
  }
}

@media (max-width: 360px) {
  .fab {
    right: max(12px, env(safe-area-inset-right, 12px)) !important;
    bottom: max(20px, env(safe-area-inset-bottom, 20px)) !important;
    width: 50px !important;
    height: 50px !important;
  }
  .fab svg {
    width: 24px !important;
    height: 24px !important;
  }
  .search-bar,
  .chat-search-bar {
    padding: 0 4px !important;
    gap: 2px !important;
  }
  .search-bar .icon-btn,
  .chat-search-bar .icon-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 4px !important;
  }
  .search-bar .icon-btn.small,
  .chat-search-bar .icon-btn.small {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 2px !important;
  }
  #chat-search-input {
    padding: 0 6px !important;
  }
}

/* ---- Small tablets & foldables (481px to 768px) ---- */
@media (min-width: 481px) {
  .message-row {
    padding-left: 24px;
    padding-right: 24px;
  }

  .system-message,
  .date-separator {
    padding-left: 24px;
    padding-right: 24px;
  }

  .message-bubble {
    max-width: 76%;
    padding: 9px 12px 11px 14px;
  }

  .participant-grid {
    gap: 14px;
  }

  .upload-card {
    padding: 34px 26px;
  }
}

/* ---- Large Tablets & iPad (769px to 1024px) ---- */
@media (min-width: 769px) and (max-width: 1024px) {
  body {
    background: var(--bg-primary);
  }

  #app-container {
    position: relative;
    z-index: 1;
    max-width: 100%;
    width: 100%;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    border: none;
  }

  .chat-list-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 860px;
    margin: 0 auto;
    padding: 24px 20px;
    background: transparent;
  }

  .message-row {
    padding-left: max(24px, calc(50% - 380px));
    padding-right: max(24px, calc(50% - 380px));
  }

  .system-message,
  .date-separator {
    padding-left: max(24px, calc(50% - 380px));
    padding-right: max(24px, calc(50% - 380px));
  }

  .message-bubble {
    max-width: 70%;
  }
}

/* ---- Desktop & Widescreen Futuristic Workspace Console (1025px+) ---- */
@media (min-width: 1025px) {
  body {
    background-color: var(--bg-primary);
    overflow: hidden;
  }

  /* Widescreen Quantum Grid Wallpaper background behind workspace */
  .desktop-bg {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background-image: url('../assets/futuristic_wa_wallpaper.png');
    background-size: cover;
    background-position: center;
    opacity: 0.18;
    filter: blur(2px) saturate(130%);
  }

  .desktop-bg-top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 140px;
    background: linear-gradient(180deg, var(--accent-darker) 0%, rgba(0, 128, 105, 0.2) 100%);
    opacity: 0.85;
    filter: blur(2px);
  }

  [data-theme="light"] .desktop-bg-top {
    background: linear-gradient(180deg, var(--accent) 0%, rgba(0, 168, 132, 0.15) 100%);
  }

  .desktop-bg-bottom {
    position: absolute;
    top: 140px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-secondary);
    opacity: 0.25;
  }

  /* Universal Edge-to-Edge Workspace Container */
  #app-container {
    position: relative;
    z-index: 1;
    max-width: 100%;
    width: 100%;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    border: none;
    overflow: hidden;
    background-color: var(--bg-primary);
  }

  /* Dashboard Cards Container (replaces blocky tiles) */
  .chat-list-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 1060px;
    margin: 0 auto;
    padding: 32px 28px;
    background: transparent;
  }

  /* Centered Conversation Column inside Full-Screen View */
  .message-row {
    padding-left: max(32px, calc(50% - 460px));
    padding-right: max(32px, calc(50% - 460px));
  }

  .system-message,
  .date-separator {
    padding-left: max(32px, calc(50% - 460px));
    padding-right: max(32px, calc(50% - 460px));
  }

  .message-bubble {
    max-width: 65%;
  }

  /* Expanded Upload Card on Widescreen — perfectly centered and filling the space */
  .upload-body,
  .upload-screen-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px;
  }

  .upload-card {
    width: 100%;
    max-width: 860px;
    padding: 52px 48px;
    margin: auto;
  }
}

/* ---- Landscape phone ---- */
@media (max-height: 500px) and (orientation: landscape) {
  .upload-card {
    padding: 16px;
  }

  .upload-zone {
    padding: 20px 16px;
  }

  .upload-icon-wrap {
    margin-bottom: 10px;
  }

  .upload-icon {
    width: 52px;
    height: 52px;
  }

  .empty-state {
    padding: 20px;
  }

  .empty-state-icon {
    width: 80px;
    height: 80px;
  }

  .participant-screen-body {
    padding: 16px;
  }

  .participant-title {
    font-size: var(--font-size-header);
    margin-bottom: 4px;
  }

  .participant-subtitle {
    margin-bottom: 12px;
  }
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .screen.slide-in-right,
  .screen.slide-out-left,
  .screen.slide-in-left,
  .screen.slide-out-right {
    animation: none;
  }
}

/* ---- Print ---- */
@media print {
  .app-header,
  .chat-header,
  .chat-footer,
  .fab,
  .scroll-bottom-btn,
  .settings-menu {
    display: none !important;
  }

  .message-row {
    padding: 2px 8px;
  }

  .message-bubble {
    max-width: 100%;
    box-shadow: none;
  }

  body {
    background: #fff;
    color: #000;
  }
}
