/* Layout only. Shared inputs, select arrows and focus belong to forms.css. */
.broadcast-cover-preview{display:block;width:100%;max-width:320px;aspect-ratio:16/9;object-fit:contain;border-radius:8px;background:#040814}
#broadcastPanel { grid-column: 1 / -1; padding: 28px; }
.broadcast-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.broadcast-eyebrow { display: block; margin-bottom: 8px; color: #3868cc; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.broadcast-header h2 { margin: 0 0 8px; font-size: 28px; letter-spacing: -.04em; }
.broadcast-header p { margin: 0; max-width: 580px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.broadcast-guide { flex-shrink: 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; color: #38577f; background: #fff; font-size: 12px; font-weight: 650; text-decoration: none; }
.broadcast-guide:hover { background: #f5f8fd; border-color: #b8c8e2; }
.broadcast-guide:focus-visible { outline: 3px solid #2563eb50; outline-offset: 3px; }
.broadcast-notice { margin: 0 0 20px; padding: 12px 16px; border: 1px solid #dfe8fa; border-radius: 12px; background: #f4f7fd; color: #526784; font-size: 13px; line-height: 1.6; }
.broadcast-notice:empty { display: none; }
.broadcast-selection { padding: 20px; margin-bottom: 20px; border-radius: 16px; background: #f7f9fc; border: 1px solid #e5eaf2; }
#broadcastPanel h3 { margin: 0; color: #26354a; font-size: 16px; font-weight: 750; letter-spacing: -.02em; }
.broadcast-section-copy { margin: 6px 0 0; color: #718095; font-size: 13px; line-height: 1.6; }
.broadcast-controls { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 16px; margin-top: 18px; }
.broadcast-controls label, .broadcast-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: #536176; font-size: 12px; font-weight: 600; }
.broadcast-controls select, .broadcast-field input, .broadcast-field select { width: 100%; }
.broadcast-studio { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.4fr); gap: 20px; align-items: start; }
.broadcast-card { min-width: 0; padding: 22px; border: 1px solid #e4e9f0; border-radius: 16px; background: #fff; }
.broadcast-design { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
.broadcast-design-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
.broadcast-field-wide { grid-column: 1 / -1; }
.broadcast-logo-toggle { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 12px; border-radius: 12px; background: #f7f9fc; cursor: pointer; }
.broadcast-logo-toggle input { margin: 0; }
.broadcast-logo-toggle strong { display: block; color: #35445b; font-size: 13px; font-weight: 650; }
.broadcast-logo-toggle small { display: block; margin-top: 4px; color: #7a8799; font-size: 11px; }
#broadcastPanel button { min-height: 44px; padding: 11px 16px; border-radius: 11px; font-size: 13px; font-weight: 650; }
#broadcastPanel button:disabled { opacity: .5; cursor: not-allowed; }
.broadcast-design button { width: 100%; }
.broadcast-footnote { margin: 14px 0 0; color: #7a8799; font-size: 12px; line-height: 1.7; }
.broadcast-preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.broadcast-preview-badge { border: 1px solid #d9e8e4; padding: 5px 9px; border-radius: 7px; background: #f1f9f6; color: #3c7566; font-size: 10px; font-weight: 650; }
.broadcast-preview { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid #ffffff20; border-radius: 12px; background: radial-gradient(ellipse at 50% 30%, #39485c, #111b2c); }
.broadcast-preview::before { content: 'Видео стола будет в OBS'; position: absolute; top: 38%; width: 100%; text-align: center; color: #b7c4d3; font-size: clamp(10px, 1vw, 14px); }
.broadcast-preview iframe { position: absolute; inset: 0; width: 1280px; height: 720px; border: 0; transform-origin: top left; }
.broadcast-runtime-notice { margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; background: #f7f9fc; color: #63748b; font-size: 12px; line-height: 1.7; }
.broadcast-photos-panel, .broadcast-library-panel, .broadcast-connection-panel { margin-top: 20px; }
.broadcast-players { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; margin-top: 18px; }
.broadcast-player { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #e4e9f0; border-radius: 14px; background: #f9fbfd; }
.broadcast-player img, .broadcast-no-photo { width: 100%; height: 145px; border-radius: 10px; object-fit: cover; }
.broadcast-no-photo { display: grid; place-items: center; color: #8491a3; font-size: 12px; background: #eaf0f6; }
.broadcast-player strong { margin: 2px 0; font-size: 14px; }
.broadcast-player :is(input, select) { width: 100%; max-width: 100%; }
.broadcast-player button { margin-top: auto; }
.broadcast-library { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; margin-top: 18px; }
.broadcast-library-photo { display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid #e4e9f0; border-radius: 14px; font-size: 13px; }
.broadcast-library-photo img { width: 100%; height: 130px; object-fit: cover; border-radius: 9px; }
.broadcast-library-photo span { overflow-wrap: anywhere; }
.broadcast-empty { grid-column: 1 / -1; margin: 0; padding: 22px; border: 1px dashed #d9e1ec; border-radius: 12px; background: #f9fbfd; color: #8090a5; font-size: 13px; line-height: 1.6; text-align: center; }
.broadcast-connection-panel { background: linear-gradient(120deg, #f7faff, #fff 70%); }
.broadcast-pairing { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 18px; }
.broadcast-pairing label { flex: 1 1 240px; max-width: 340px; }
.broadcast-pairing .broadcast-revoke { margin-left: auto; }
@media (max-width: 1100px) {
  .broadcast-studio { grid-template-columns: minmax(0, 1fr); }
  .broadcast-design-fields { grid-template-columns: 1.3fr .7fr .7fr; }
  .broadcast-design-fields .broadcast-field-wide { grid-column: auto; }
  .broadcast-design-fields .broadcast-field-wide:last-child { grid-column: 1 / -1; }
  .broadcast-design { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .45fr); align-items: end; }
  .broadcast-design-fields { grid-column: 1 / -1; }
  .broadcast-header { align-items: start; }
}
@media (max-width: 700px) {
  #broadcastPanel { padding: 18px; }
  .broadcast-header { flex-direction: column; gap: 14px; }
  .broadcast-header h2 { font-size: 24px; }
  .broadcast-controls { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .broadcast-selection, .broadcast-card { padding: 18px; }
  .broadcast-design { display: flex; }
  .broadcast-design-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .broadcast-design-fields .broadcast-field-wide { grid-column: 1 / -1; }
  .broadcast-players, .broadcast-library { grid-template-columns: minmax(0, 1fr); }
  .broadcast-pairing { display: grid; grid-template-columns: minmax(0, 1fr); }
  .broadcast-pairing label { max-width: none; }
  .broadcast-pairing .broadcast-revoke { margin-left: 0; }
  .broadcast-logo-toggle { width: 100%; }
}
