/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Plus_Jakarta_Sans","arguments":[{"variable":"--font-plus-jakarta","subsets":["latin"],"display":"swap"}],"variableName":"plusJakarta"} ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Plus Jakarta Sans Fallback';src: local("Arial");ascent-override: 98.88%;descent-override: 21.15%;line-gap-override: 0.00%;size-adjust: 104.98%
}.__className_646807 {font-family: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback';font-style: normal
}.__variable_646807 {--font-plus-jakarta: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Noto_Sans_Georgian","arguments":[{"variable":"--font-georgian","subsets":["georgian","latin"],"display":"swap"}],"variableName":"georgian"} ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/cb0b1c274501200f-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* georgian */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/a6c4972a91679e5a-s.p.woff2) format('woff2');
  unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}
/* greek-ext */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/cb0b1c274501200f-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* math */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/d663731168e86b12-s.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/e889be32d4886456-s.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/74c9ed5449749749-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/95058a9c3e49a56e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Noto Sans Georgian Fallback';src: local("Arial");ascent-override: 100.45%;descent-override: 27.46%;line-gap-override: 0.00%;size-adjust: 106.33%
}.__className_e78a5b {font-family: 'Noto Sans Georgian', 'Noto Sans Georgian Fallback';font-style: normal
}.__variable_e78a5b {--font-georgian: 'Noto Sans Georgian', 'Noto Sans Georgian Fallback'
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
:root {
  --bg: #f3f4f6;
  --panel: #ffffff;
  --text: #172033;
  --muted: #5b6170;
  --line: #d8dbe2;
  --dark: #3b3e45;
  --accent: #1f6feb;
  --danger: #d72f44;
  --idle: #9ba3b2;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  background: linear-gradient(155deg, #e6ebf7 0%, #f6f7fb 55%, #eceef3 100%);
  color: var(--text);
  font-family: var(--font-georgian), var(--font-plus-jakarta), "Segoe UI", sans-serif;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button,
input,
select,
textarea {
  font: inherit;
}

h1,
h2,
h3 {
  letter-spacing: 0.01em;
}

.screen-center {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.loading-card {
  width: min(420px, 100%);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 20px;
  color: var(--muted);
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-split-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: #eef2f8;
}

.login-visual {
  position: relative;
  overflow: hidden;
}

.login-visual::after {
  content: "";
  position: absolute;
  inset: 0;
}

.login-visual-image {
  position: absolute;
  inset: 0;
  background-image: url("/nb.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.02);
}

.login-visual-copy {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: auto 0 0;
  padding: clamp(24px, 4vw, 52px);
  color: #f5f9ff;
}

.login-visual-kicker {
  margin: 0;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #88d9ff;
  font-weight: 700;
}

.login-visual-copy h2 {
  margin: 12px 0 0;
  font-size: clamp(1.9rem, 3.1vw, 2.9rem);
  line-height: 1.12;
  max-width: 16ch;
  text-wrap: balance;
}

.login-visual-copy p {
  margin: 14px 0 0;
  max-width: 48ch;
  font-size: 1.02rem;
  line-height: 1.55;
  color: #d7e8ff;
}

.login-form-side {
  display: grid;
  align-items: center;
  padding: clamp(22px, 5vw, 72px);
  background:
    radial-gradient(circle at 86% 14%, rgba(49, 109, 228, 0.12) 0%, rgba(49, 109, 228, 0) 34%),
    linear-gradient(180deg, #f6f8fc 0%, #edf2fb 100%);
}

.login-form-wrap {
  width: min(430px, 100%);
}

.login-panel {
  width: min(460px, 100%);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 16px 36px rgba(17, 28, 49, 0.12);
}

.login-title {
  margin: 0;
  font-size: 2rem;
  letter-spacing: 0.3px;
}

.login-subtitle {
  margin: 8px 0 0;
  color: var(--muted);
}

.login-form {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}

.login-form label {
  display: grid;
  gap: 6px;
  font-size: 0.95rem;
}

.login-form input {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}

.login-form button {
  margin-top: 4px;
  border: 0;
  border-radius: 10px;
  padding: 11px 14px;
  background: linear-gradient(135deg, #1857b7 0%, #2876e8 100%);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.login-form button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.login-error {
  margin: 0;
  color: #ba2339;
  font-size: 0.92rem;
}

.dashboard-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.dashboard-shell {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 320px 1fr;
}

.channel-sidebar {
  border-right: 1px solid var(--line);
  background: #f2f3f6;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.sidebar-header {
  background: var(--dark);
  color: #fff;
  padding: 16px 18px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.sidebar-header h1 {
  margin: 8px 0 0;
  font-size: 1.6rem;
  letter-spacing: 0.5px;
}

.sidebar-mark {
  font-size: 0.72rem;
  color: #e493c2;
  letter-spacing: 0.3px;
}

.sidebar-toggle,
.sidebar-close,
.sidebar-backdrop {
  display: none;
}

.sidebar-close {
  border: 1px solid #6d727d;
  background: transparent;
  color: #e8ebf5;
  border-radius: 8px;
  padding: 6px 9px;
  cursor: pointer;
}

.channel-list {
  overflow-y: auto;
}

.channel-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 50px 1fr 12px;
  align-items: center;
  gap: 12px;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.channel-row:hover {
  background: #eaedf4;
}

.channel-row.selected {
  background: #e2e8f6;
}

.channel-logo-wrap {
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: transparent;
  border: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.channel-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.channel-logo-fallback {
  font-weight: 700;
  color: #4f5a72;
  font-size: 0.82rem;
}

.channel-name {
  font-size: 1.1rem;
  line-height: 1.2;
}

.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}

.status-dot.live {
  background: var(--danger);
  box-shadow: 0 0 0 0 rgba(215, 47, 68, 0.6);
  animation: livePulse 1.4s infinite;
}

.status-dot.idle {
  background: var(--idle);
}

.channel-main {
  padding: 18px 22px;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 14px;
}

.main-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.main-header h2 {
  margin: 0;
  font-size: 1.5rem;
}

.sidebar-toggle {
  border: 1px solid #c8d3ea;
  background: #fff;
  color: #1f3f7c;
  border-radius: 10px;
  padding: 7px 11px;
  font-weight: 600;
  cursor: pointer;
}

.main-header p {
  margin: 6px 0 0;
  color: var(--muted);
}

.live-indicator {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #1b1f2a;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(215, 47, 68, 0.4);
  box-shadow: 0 10px 24px rgba(23, 32, 51, 0.2);
}

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--danger);
  box-shadow: 0 0 0 0 rgba(215, 47, 68, 0.6);
  animation: livePulse 1.2s infinite;
}

.live-camera {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffb4bf;
  animation: cameraBlink 1.2s infinite;
}

.live-icon {
  width: 18px;
  height: 14px;
  fill: currentColor;
}

.live-label {
  margin-right: 4px;
}

.live-timer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
  text-transform: none;
}

.live-remaining {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
  text-transform: none;
}

.live-remaining strong {
  font-weight: 700;
}

.timer-icon {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

@keyframes livePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(215, 47, 68, 0.55);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(215, 47, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(215, 47, 68, 0);
  }
}

@keyframes cameraBlink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}

.main-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.main-actions button {
  border: 1px solid #c8cfde;
  background: #fff;
  color: #1c2e57;
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 600;
}

.main-actions button:hover {
  background: #f3f7ff;
}

.main-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.page-error {
  margin: 0;
  color: #b32940;
}

.player-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #0f1219;
  overflow: hidden;
}

.channel-iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.channel-empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  color: #c9d0e2;
  padding: 20px;
  text-align: center;
}

.transcript-panel {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  padding: 14px;
  min-height: 220px;
}

.transcript-panel h3 {
  margin: 0;
  font-size: 1.06rem;
}

.transcript-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.transcript-body {
  border: 0;
  border-radius: 0;
  padding: 0;
  min-height: 0;
  max-height: none;
  overflow: visible;
  background: transparent;
}

.transcript-final {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.55;
}

.transcript-segments-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
}

.transcript-segment {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 7px 8px;
  border-radius: 10px;
  border: 1px solid rgba(31, 45, 85, 0.08);
  color: var(--text);
  line-height: 1.55;
  background: rgba(244, 247, 253, 0.92);
}

.transcript-segment.matched {
  border-color: rgba(31, 111, 235, 0.18);
  background: rgba(31, 111, 235, 0.12);
}

.transcript-segment-time {
  display: inline-flex;
  align-self: flex-start;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(24, 39, 70, 0.08);
  color: #51617d;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.transcript-segment.matched .transcript-segment-time {
  background: rgba(31, 111, 235, 0.16);
  color: #214d9d;
}

.transcript-segment-text {
  display: inline;
}

.transcript-keyword-hit {
  display: inline;
  padding: 0 2px;
  border-radius: 4px;
  background: rgba(215, 47, 68, 0.22);
  box-shadow: inset 0 -1px 0 rgba(215, 47, 68, 0.32);
}

.transcript-placeholder {
  margin: 0;
  color: var(--muted);
}

.transcript-interim {
  margin: 10px 0 0;
  padding-top: 8px;
  border-top: 1px dashed #c6cedd;
  color: #5f6c88;
  font-style: italic;
}

.app-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.app-content {
  padding: 20px;
}

.top-nav {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding: 10px 20px;
}

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

.top-brand {
  font-weight: 800;
  letter-spacing: 0.2px;
  color: #16284a;
}

.top-nav-menu {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
}

.top-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #d5deef;
  border-radius: 10px;
  background: #fff;
  color: #1f3f7c;
  padding: 0;
  cursor: pointer;
}

.top-menu-toggle-box {
  display: inline-grid;
  gap: 4px;
}

.top-menu-toggle-box span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.top-nav.menu-open .top-menu-toggle-box span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.top-nav.menu-open .top-menu-toggle-box span:nth-child(2) {
  opacity: 0;
}

.top-nav.menu-open .top-menu-toggle-box span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.top-links {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.top-links a {
  text-decoration: none;
  color: #294f95;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 600;
}

.top-links a.active {
  background: #e8effe;
  color: #173f85;
}

.top-logout {
  margin-left: auto;
  border: 1px solid #e0b9c1;
  background: #fff;
  border-radius: 9px;
  color: #aa2c3f;
  padding: 8px 11px;
  cursor: pointer;
  font-weight: 600;
}

.top-logout:hover {
  background: #fff6f7;
}

.card-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: minmax(280px, 420px) 1fr;
  gap: 14px;
}

.history-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.channels-layout {
  grid-template-columns: minmax(320px, 460px) 1fr;
  align-items: start;
}

.channels-form-card {
  display: grid;
  gap: 8px;
}

.channels-form {
  margin-top: 8px;
}

.channels-logo-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px dashed #d2d9e8;
  border-radius: 12px;
  padding: 10px;
  background: #fbfcff;
}

.channels-logo-preview-wrap {
  width: 52px;
  height: 52px;
  border-radius: 0;
  background: transparent;
  border: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.channels-logo-preview-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.channels-table-card .table-wrap {
  margin-top: 12px;
}

.channels-channel-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.channels-channel-logo-wrap {
  width: 42px;
  height: 42px;
  border-radius: 0;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.channels-channel-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.channels-channel-logo-fallback {
  font-weight: 700;
  color: #4f5a72;
  font-size: 0.8rem;
}

.channels-source-cell {
  max-width: 420px;
  color: #4a5676;
  font-size: 0.88rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.companies-form-card {
  display: grid;
  gap: 8px;
}

.companies-table-card .table-wrap {
  margin-top: 12px;
}

.companies-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.companies-name-badge {
  min-width: 42px;
  height: 42px;
  padding: 0 10px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, #eef4ff 0%, #dbe7ff 100%);
  color: #1c4388;
  font-size: 0.8rem;
  font-weight: 700;
}

.companies-users-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.companies-user-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: #f4f7fd;
  border: 1px solid #dae2f0;
  color: #344462;
  font-size: 0.82rem;
}

.multi-select {
  position: relative;
  display: grid;
  gap: 10px;
}

.multi-select-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #cfd4df;
  border-radius: 12px;
  padding: 11px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  color: #21314f;
  font-weight: 600;
  cursor: pointer;
}

.multi-select-trigger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.multi-select-trigger-icon {
  color: #6f7d98;
  font-size: 0.72rem;
}

.multi-select-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.multi-select-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1px solid #d2dbeb;
  background: #eff4ff;
  color: #25457d;
  padding: 6px 10px;
  font-size: 0.82rem;
}

.multi-select-chip button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  line-height: 1;
  cursor: pointer;
}

.multi-select-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 20;
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid #d5deee;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 40px rgba(28, 47, 84, 0.14);
  backdrop-filter: blur(10px);
}

.multi-select-search {
  border: 1px solid #cfd4df;
  border-radius: 10px;
  padding: 10px 12px;
}

.multi-select-options {
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 8px;
}

.multi-select-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e0e6f2;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fcfdff;
  text-align: left;
  cursor: pointer;
}

.multi-select-option:hover {
  background: #f4f7ff;
  border-color: #c8d5ef;
}

.multi-select-option.is-selected {
  background: #eef4ff;
  border-color: #b7c8eb;
}

.multi-select-option-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.multi-select-option-copy strong {
  color: #203456;
  font-size: 0.9rem;
}

.multi-select-option-copy small {
  color: #687791;
  font-size: 0.78rem;
}

.multi-select-option-indicator {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: #dfe9fb;
  color: #1f4f99;
  font-weight: 700;
  flex: 0 0 auto;
}

.multi-select-empty {
  border: 1px dashed #d3daea;
  border-radius: 12px;
  padding: 14px;
  color: #6e7d97;
  font-size: 0.88rem;
  text-align: center;
}

.start-stream-layout {
  margin-top: 14px;
  display: grid;
  gap: 16px;
}

.start-stream-intro {
  background: linear-gradient(160deg, #ffffff 0%, #f6f9ff 100%);
  border-color: #d8e1f2;
  box-shadow: 0 10px 28px rgba(24, 52, 104, 0.08);
}

.start-stream-intro .table-head {
  align-items: flex-start;
  gap: 14px;
}

.running-stream-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.running-stream-card {
  border: 1px solid #cfd9ee;
  border-radius: 18px;
  padding: 16px;
  min-height: 210px;
  background:
    radial-gradient(circle at 92% 8%, rgba(74, 139, 255, 0.18) 0%, rgba(74, 139, 255, 0) 42%),
    linear-gradient(160deg, #ffffff 0%, #f5f8ff 100%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 10px 28px rgba(24, 52, 104, 0.09);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.running-stream-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(24, 52, 104, 0.14);
  border-color: #b8c9ea;
}

.running-stream-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.running-stream-logo-wrap {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  border: 1px solid #cfd9ee;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.running-stream-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.running-stream-logo-fallback {
  font-weight: 700;
  color: #4f5a72;
  font-size: 1rem;
}

.running-stream-meta {
  min-width: 0;
}

.running-stream-meta h3 {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.25;
}

.running-stream-meta p {
  margin: 6px 0 0;
  color: #4a5879;
  font-size: 0.95rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.running-stream-meta p.running-stream-schedule {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
  overflow: visible;
  color: #61708e;
  font-size: 0.84rem;
}

.running-stream-meta p.running-stream-retention {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
  overflow: visible;
  color: #4e5f83;
  font-size: 0.84rem;
}

.running-stream-foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px solid #e1e8f6;
}

.running-stream-foot .row-action-link {
  border-radius: 10px;
  padding: 7px 12px;
  font-size: 0.88rem;
}

.stream-end-form {
  margin-top: 12px;
}

.stream-end-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stream-warning-modal {
  width: min(520px, 100%);
  border-radius: 18px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 28px 48px rgba(8, 18, 35, 0.32);
}

.stream-warning-modal-head {
  position: relative;
  padding: 18px 56px 12px 18px;
  border-bottom: 1px solid #e1e8f6;
}

.stream-warning-modal-head h2 {
  margin: 0;
}

.stream-warning-modal-body {
  padding: 16px 18px 18px;
}

.start-stream-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(9, 16, 30, 0.52);
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 16px;
  backdrop-filter: blur(4px);
}

.form-card.start-stream-modal {
  width: min(1140px, calc((100vh - 30px) * 16 / 9), 97vw);
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 30px);
  overflow: hidden;
  box-shadow: 0 32px 58px rgba(8, 18, 35, 0.35);
  border-radius: 22px;
  border: 1px solid #cad6ef;
  padding: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0;
}

.start-stream-modal-head {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  border-bottom: 1px solid #e1e8f6;
  padding: 18px 58px 12px 20px;
}

.start-stream-modal-head h2 {
  margin: 0;
}

.start-stream-close-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  appearance: none;
  border: 0;
  border-radius: 10px;
  width: 36px;
  height: 36px;
  background: none;
  color: #264174;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
}

.start-stream-close-btn:hover {
  background: none;
}

.start-stream-modal-body {
  display: grid;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.stack-form.start-stream-form {
  margin-top: 0;
  gap: 14px;
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 20px 18px 18px;
}

.start-stream-channel-sidebar {
  border: 1px solid var(--line);
  border-radius: 0;
  background: #f2f3f6;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  min-height: 0;
  max-height: none;
  align-self: stretch;
  overflow: hidden;
}

.start-stream-channel-sidebar-head {
  display: grid;
  gap: 6px;
  padding: 16px 18px 14px;
  background: #020540;
  color: #fff;
  border-bottom: 0;
}

.start-stream-channel-sidebar-head h3 {
  margin: 0;
  font-size: 1.45rem;
  letter-spacing: 0.3px;
  line-height: 1;
}

.start-stream-channel-mark {
  font-size: 0.72rem;
  letter-spacing: 0.3px;
  color: #f79ad9;
}

.start-stream-channel-list {
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: none;
  display: grid;
  gap: 0;
}

.start-stream-channel-item {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #d8dbe2;
  border-radius: 0;
  background: #f2f3f6;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  color: #0f1b35;
}

.start-stream-channel-item:hover {
  background: #eaedf4;
}

.start-stream-channel-item.selected {
  background: #e2e8f6;
}

.start-stream-channel-item-logo {
  width: 44px;
  height: 44px;
  border-radius: 0;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.start-stream-channel-item-name {
  min-width: 0;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.start-stream-channel-item-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--idle);
}

.start-stream-channel-item-dot.selected {
  background: #5d78b2;
}

.start-stream-selected-channel {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  border: 1px solid #d4def0;
  border-radius: 14px;
  background: #f4f8ff;
  padding: 10px 12px;
}

.start-stream-selected-logo-wrap {
  width: 54px;
  height: 54px;
  border-radius: 0;
  background: transparent;
  border: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.start-stream-selected-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.start-stream-selected-channel-text {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.start-stream-selected-channel-text strong {
  font-size: 0.98rem;
  color: #1f3157;
}

.start-stream-selected-channel-text span {
  color: #4e6187;
  font-size: 0.84rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.start-stream-time-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.start-stream-time-row {
  display: grid;
  gap: 8px;
}

.start-stream-time-row p {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d456f;
}

.start-stream-inline-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.start-stream-inline-fields label {
  display: grid;
  gap: 6px;
  font-size: 0.84rem;
  color: #3c517a;
  font-weight: 600;
}

.stack-form.start-stream-form input {
  min-height: 50px;
  border: 1px solid #c5d2ea;
  border-radius: 12px;
  background: #fff;
  color: #182746;
  padding: 0 12px;
}

.stack-form.start-stream-form input:focus {
  outline: 0;
  border-color: #4a7dd9;
  box-shadow: 0 0 0 3px rgba(74, 125, 217, 0.17);
}

.start-stream-form-actions {
  margin-top: 4px;
  gap: 10px;
}

.start-stream-form-actions button {
  min-height: 44px;
  padding: 10px 16px;
}

.start-stream-helper-note {
  margin-top: -2px;
}

.start-stream-toast-wrap {
  position: fixed;
  top: 78px;
  right: 18px;
  z-index: 120;
  pointer-events: none;
}

.start-stream-toast {
  width: min(440px, calc(100vw - 24px));
  border-radius: 16px;
  border: 1px solid #98d9b2;
  background: linear-gradient(160deg, #effdf4 0%, #def8e8 55%, #d1f2de 100%);
  color: #11422b;
  box-shadow: 0 16px 34px rgba(13, 95, 46, 0.22);
  padding: 14px 16px;
  animation:
    startToastIn 240ms cubic-bezier(0.22, 1, 0.36, 1),
    startToastOut 300ms ease 4.45s forwards;
}

.start-stream-toast-title {
  margin: 0;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #226841;
  font-weight: 800;
}

.start-stream-toast-main {
  margin: 6px 0 0;
  font-size: 1rem;
  font-weight: 700;
}

.start-stream-toast-meta {
  margin: 5px 0 0;
  font-size: 0.84rem;
  color: #1f5a3a;
  line-height: 1.35;
}

@keyframes startToastIn {
  from {
    opacity: 0;
    transform: translate3d(calc(100% + 28px), 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes startToastOut {
  to {
    opacity: 0;
    transform: translate3d(calc(100% + 28px), 0, 0);
  }
}

.form-card,
.table-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
}

.form-card h1,
.table-card h2 {
  margin: 0;
}

.stack-form {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.stack-form label {
  display: grid;
  gap: 5px;
  font-size: 0.93rem;
}

.stack-form input,
.stack-form select {
  border: 1px solid #cfd4df;
  border-radius: 9px;
  padding: 9px 10px;
}

.stack-form button {
  margin-top: 4px;
  border: 0;
  border-radius: 9px;
  padding: 10px 12px;
  background: linear-gradient(135deg, #1a4f9a 0%, #2b77db 100%);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.stack-form button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.form-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.form-actions .secondary-btn {
  border: 1px solid #cfd4df;
  border-radius: 9px;
  padding: 10px 12px;
  background: #fff;
  color: #1d2f56;
  font-weight: 700;
  cursor: pointer;
}

.form-actions .secondary-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.inline-success {
  margin: 12px 0 0;
  color: #126341;
  font-size: 0.92rem;
}

.inline-error {
  margin: 12px 0 0;
  color: #b32a40;
  font-size: 0.92rem;
}

.helper-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.source-preview {
  margin-top: 12px;
  border: 1px solid #dde2ec;
  border-radius: 10px;
  padding: 10px;
  background: #fbfcff;
}

.source-preview p {
  margin: 0 0 6px;
  color: #3f4c68;
  word-break: break-all;
  font-size: 0.9rem;
}

.status-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  border: 1px solid #ccd2df;
  color: #43506f;
  background: #f3f6fd;
}

.status-pill-good {
  border-color: #b5dcbf;
  color: #1f5f35;
  background: #eaf8ee;
}

.status-pill-bad {
  border-color: #e2bec3;
  color: #91273a;
  background: #fff5f6;
}

.status-pill-warn {
  border-color: #e5d8bc;
  color: #7c5a1d;
  background: #fff9ec;
}

.row-action-link {
  border: 1px solid #d6dbe8;
  border-radius: 8px;
  background: #fff;
  color: #1f4f99;
  font-weight: 600;
  padding: 5px 10px;
  cursor: pointer;
}

.row-action-link:hover {
  background: #f3f7ff;
}

.row-action-link-disabled {
  color: #75819a;
  border-color: #e0e5ef;
  background: #f7f9fd;
  cursor: not-allowed;
  text-decoration: none;
}

.table-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.table-head button {
  border: 1px solid #d0d6e4;
  background: #fff;
  border-radius: 8px;
  padding: 7px 10px;
  cursor: pointer;
}

.table-wrap {
  margin-top: 10px;
  overflow: auto;
}

.row-link {
  border: 0;
  background: transparent;
  padding: 0;
  color: #1f4f99;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
}

.row-link:hover {
  text-decoration: underline;
}

.table-row-active td {
  background: #eef3ff;
}

.row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.row-actions button {
  border: 1px solid #cfd4df;
  background: #fff;
  color: #1d3f7c;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.row-actions button:hover {
  background: #f4f7ff;
}

.row-actions button.danger {
  border-color: #e2c0c7;
  color: #aa2c3f;
}

.row-actions button.danger:hover {
  background: #fff6f7;
}

.row-actions button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.history-meta {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  color: var(--muted);
  font-size: 0.85rem;
}

.history-transcript-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 10px;
}

.history-transcript-body {
  margin-top: 2px;
  min-height: 220px;
  max-height: 58vh;
  overflow-y: auto;
  padding: 2px 2px 4px;
}

.history-transcript-text {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.8;
  font-size: 1.02rem;
  color: #26324b;
}

.history-transcript-placeholder {
  margin: 0;
  color: var(--muted);
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  text-align: left;
  border-bottom: 1px solid #e6e9f0;
  padding: 9px 8px;
  vertical-align: top;
}

th {
  color: #475579;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.empty-cell {
  color: #6d7486;
}

@media (max-width: 1080px) {
  .login-split-page {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr);
  }

  .login-visual {
    display: none;
  }

  .login-form-side {
    padding: 20px 14px 24px;
  }

  .login-form-wrap {
    width: min(100%, 460px);
    margin: 0 auto;
  }

  .dashboard-shell {
    grid-template-columns: 1fr;
    position: relative;
  }

  .channel-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(84vw, 320px);
    min-height: 100vh;
    border-right: 1px solid var(--line);
    border-bottom: 0;
    transform: translateX(-100%);
    transition: transform 220ms ease;
    z-index: 40;
    box-shadow: 0 20px 34px rgba(11, 16, 28, 0.26);
  }

  .channel-sidebar.open {
    transform: translateX(0);
  }

  .channel-list {
    max-height: calc(100vh - 88px);
  }

  .channel-main {
    grid-template-rows: auto auto auto auto auto;
    padding: 12px;
  }

  .sidebar-toggle {
    display: inline-flex;
    margin-bottom: 10px;
  }

  .sidebar-close {
    display: inline-flex;
  }

  .sidebar-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    border: 0;
    background: rgba(12, 17, 30, 0.46);
    z-index: 30;
    padding: 0;
  }

  .app-shell {
    min-height: 100vh;
  }

  .app-content {
    padding: 12px;
  }

  .top-nav {
    display: grid;
    padding: 10px 12px;
  }

  .top-menu-toggle {
    display: inline-flex;
  }

  .top-nav-menu {
    display: none;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid #e4e8f1;
  }

  .top-nav.menu-open .top-nav-menu {
    display: grid;
  }

  .top-links {
    display: grid;
    gap: 6px;
  }

  .top-links a {
    width: 100%;
    padding: 10px 12px;
  }

  .top-logout {
    margin-left: 0;
    width: 100%;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }

  .history-grid {
    grid-template-columns: 1fr;
  }

  .channels-layout {
    grid-template-columns: 1fr;
  }

  .channels-source-cell {
    max-width: 260px;
  }

  .multi-select-panel {
    position: static;
    box-shadow: none;
    backdrop-filter: none;
  }

  .running-stream-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .running-stream-card {
    min-height: 0;
    padding: 14px;
  }

  .running-stream-logo-wrap {
    width: 60px;
    height: 60px;
  }

  .start-stream-modal-backdrop {
    padding: 10px;
  }

  .form-card.start-stream-modal {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 16px;
    padding: 0;
  }

  .start-stream-modal-head {
    align-items: flex-start;
    gap: 10px;
  }

  .start-stream-modal-body {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .start-stream-channel-sidebar {
    min-height: 0;
    padding: 0;
  }

  .start-stream-channel-list {
    max-height: none;
    min-height: 0;
  }

  .start-stream-inline-fields {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .start-stream-selected-channel {
    align-items: flex-start;
  }

  .start-stream-toast-wrap {
    top: 66px;
    right: 10px;
  }

  .stream-end-fields {
    grid-template-columns: 1fr;
  }

  .stream-warning-modal {
    width: 100%;
  }

}

