/* Extracted from index.html. Keep loaded before responsive.css. */

.app {
      display: grid;
      grid-template-columns: 340px minmax(0, 1fr);
      gap: 18px;
      height: 100vh;
      padding: 18px;
    }

.sidebar,
    .chat {
      min-height: 0;
      border: 1px solid rgba(226, 232, 240, 0.85);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.9);
      box-shadow: var(--shadow);
      overflow: hidden;
      backdrop-filter: blur(12px);
    }

.sidebar {
      display: flex;
      flex-direction: column;
      padding: 18px;
      gap: 16px;
    }

.scroll-section {
      min-height: 0;
      overflow-y: auto;
    }

.row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

.chat {
      --composer-height: 76px;
      position: relative;
      display: flex;
      flex-direction: column;
    }

.chat-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 22px;
      border-bottom: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.78);
    }

.typing-indicator-container {
      position: relative;
      height: 0px;
    }

.messages {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      padding: 24px;
      background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    }

.composer {
      border-top: 1px solid var(--line);
      background: white;
      padding: 14px 18px 16px;
    }

.composer-row {
      display: flex;
      align-items: flex-end;
      gap: 10px;
    }


.modal-backdrop {
      position: fixed;
      inset: 0;
      z-index: 100;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 18px;
      background: rgba(15, 23, 42, 0.38);
      backdrop-filter: blur(8px);
    }

.modal-backdrop.open {
      display: flex;
    }

.modal {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: 16px;
      width: min(920px, 100%);
      max-height: min(760px, 92vh);
      border: 1px solid rgba(226, 232, 240, 0.95);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
      overflow: hidden;
      min-height: 0;
    }

.modal-panel {
      min-height: 0;
      max-height: min(760px, 92vh);
      padding: 18px;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

.modal-side {
      border-right: 1px solid var(--line);
      background: var(--panel-soft);
    }

.auth-screen {
      display: none;
      min-height: 100vh;
      padding: 28px;
      place-items: center;
    }

.auth-screen.open {
      display: grid;
    }

.auth-card {
      width: min(960px, 100%);
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
      gap: 18px;
      border: 1px solid rgba(226, 232, 240, 0.95);
      border-radius: 28px;
      background: rgba(255, 255, 255, 0.94);
      box-shadow: var(--shadow);
      overflow: hidden;
      backdrop-filter: blur(12px);
    }

.auth-hero,
    .auth-panel {
      padding: 30px;
    }

.auth-hero {
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: linear-gradient(135deg, #dbeafe, #f8fafc);
    }

.app.auth-hidden {
      display: none;
    }
