/* Компьютер: слева панель подключения, справа чат. */

.app {
  height: 100vh;
  overflow: hidden;
  display: grid;
  grid-template-columns: 340px 1fr;
  grid-template-rows: minmax(0, 1fr);
  max-width: 1500px;
  margin: 0 auto;
  background: var(--panel);
  box-shadow: 0 0 0 1px var(--line);
}

.side {
  display: flex; flex-direction: column; gap: 14px;
  padding: 16px; overflow-y: auto;
  background: var(--panel); border-right: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 800; }
.brand img { width: 34px; height: 34px; border-radius: 8px; }

.card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); }
.card h2 { font-size: 18px; margin: 0 0 6px; }
.card p { margin: 0; color: var(--muted); font-size: 15px; }

.pair { text-align: center; }
.qr { background: #fff; border-radius: 12px; padding: 14px; margin-bottom: 12px; aspect-ratio: 1; }
.qr svg { width: 100%; height: 100%; display: block; }
.qr path { fill: #000; }
.expires { margin-top: 10px !important; font-size: 14px !important; }
.pair .btn { margin-top: 12px; }

.devices { display: flex; flex-direction: column; gap: 10px; }
.devices .row { font-weight: 600; }

.note p + p { margin-top: 8px; }
.side .spacer { flex: 1; }

.chat { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--wall); }

@media (max-width: 820px) {
  .app { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; min-height: 100vh; overflow: visible; }
  .side { border-right: 0; border-bottom: 1px solid var(--line); }
  .qr { max-width: 260px; margin: 0 auto 12px; }
  .chat { height: 100vh; }
}

.device-name { font-weight: 600; color: var(--ink) !important; margin-bottom: 12px !important; }
.card h2 + .device-name { margin-top: -2px !important; }
