    :root {
      --site-bg: #f8f9fa;
      --card-border: rgba(0, 0, 0, 0.08);
      --heading-color: #1f2a37;
      --text-muted-custom: #6c757d;
      --frame-radius: 0.5rem;
      --nav-logo-height: 52px;
      --countdown-bg: #ffffff;
    }

    body {
      background: var(--site-bg);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    main {
      flex: 1;
    }

    .site-nav {
      background: #ffffff;
      border-bottom: 1px solid var(--card-border);
    }

    .site-logo {
      height: var(--nav-logo-height);
      width: auto;
      display: block;
    }

    .site-nav-title {
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--heading-color);
      text-align: right;
      margin: 0;
      line-height: 1.2;
    }

    .main-card {
      border: 1px solid var(--card-border);
      border-radius: 0.75rem;
      box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.05);
      overflow: hidden;
      background: #fff;
    }

    .content-shell {
      padding: 1rem;
    }

    .media-layout {
      --bs-gutter-x: 1rem;
      --bs-gutter-y: 1rem;
      align-items: stretch;
    }

    .player-column,
    .chat-column {
      display: flex;
      flex-direction: column;
    }

    .media-frame {
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #000;
      border-radius: var(--frame-radius);
      overflow: hidden;
      position: relative;
      border: 1px solid var(--card-border);
      box-sizing: border-box;
    }

    .media-frame iframe,
    .media-frame #player,
    .media-frame img {
      width: 100%;
      height: 100%;
      display: block;
      border: 0;
    }

    #player {
      background: #000;
    }

    #poster-wrap:not(.has-poster) {
      background: #1a1a1a;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #adb5bd;
      font-size: 0.875rem;
    }

    #poster-wrap:not(.has-poster)::after {
      content: 'Add a poster URL in your config';
    }

    #poster-wrap.has-poster #poster {
      object-fit: contain;
      object-position: center;
    }

    .countdown-panel {
      border: 1px solid var(--card-border);
      border-radius: var(--frame-radius);
      overflow: hidden;
      background: var(--countdown-bg);
      margin-bottom: 0.75rem;
    }

    .countdown-stack {
      text-align: center;
      padding: 1rem 0.75rem;
      border-bottom: 1px solid var(--card-border);
    }

    .countdown-display {
      font-variant-numeric: tabular-nums;
      font-size: clamp(1.6rem, 3vw, 2.5rem);
      font-weight: 700;
      color: var(--heading-color);
      line-height: 1.1;
    }

    .countdown-label {
      font-size: 0.75rem;
      color: var(--text-muted-custom);
      text-transform: uppercase;
      letter-spacing: 0.03rem;
    }

    .stage-live,
    .stage-pre {
      width: 100%;
    }

    .chat-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 100%;
      border: 1px solid var(--card-border);
      border-radius: var(--frame-radius);
      background: #fff;
      overflow: hidden;
    }

    .chat-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
      padding: 0.75rem 1rem;
      border-bottom: 1px solid var(--card-border);
      background: #fff;
    }

    .chat-card-title {
      margin: 0;
      font-size: 1rem;
      font-weight: 600;
      color: var(--heading-color);
    }

    .chat-card-body {
      flex: 1;
      position: relative;
      min-height: 0;
    }

    .chat-frame,
    .chat-placeholder {
      width: 100%;
      height: 100%;
      min-height: 100%;
      border: 0;
      display: block;
      background: #fff;
    }

    .chat-placeholder {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 1.5rem;
      color: var(--text-muted-custom);
    }

    .stream-title {
      color: var(--heading-color);
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 1rem;
      text-align: center;
    }

    .stream-description {
      text-align: left;
      color: #212529;
      max-width: 100%;
    }

    .stream-description p:last-child {
      margin-bottom: 0;
    }

    .hidden {
      display: none !important;
    }

    .bmpui-ui-titlebar,
    .bmpui-ui-watermark {
      display: none !important;
    }

    @media (max-width: 991.98px) {
      .site-nav-title {
        font-size: 1rem;
      }
    }

    @media (max-width: 767.98px) {
      .content-shell {
        padding: 0.875rem;
      }

      .site-logo {
        height: 42px;
      }

      .site-nav-title {
        font-size: 0.95rem;
      }

      .stream-title {
        font-size: 1.6rem;
      }

      .chat-card {
        min-height: 520px;
      }
    }
	
	  .webinar-agenda {
	    width: 100%;
	  }

	  .agenda-item {
	    display: flex;
	    align-items: flex-start;
	    margin-bottom: 1rem;
	    border-top: 1px solid #d9e2ea;
	    padding-top: 0.75rem;
	  }

	  .agenda-time {
	    width: 90px;
	    min-width: 90px;
	    font-weight: 700;
	    color: #1f4e6b;
	    padding-right: 1rem;
	  }

	  .agenda-content {
	    flex: 1;
	  }

	  .agenda-heading {
	    font-weight: 700;
	    color: #1f4e6b;
	    margin-bottom: 0.35rem;
	  }

	  .agenda-content p {
	    margin-bottom: 0.6rem;
	  }

	  .agenda-content ul {
	    margin-bottom: 0;
	    padding-left: 1.2rem;
	  }

	  .agenda-content li {
	    margin-bottom: 0.35rem;
	  }

	  @media (max-width: 767.98px) {
	    .agenda-item {
	      flex-direction: column;
	    }

	    .agenda-time {
	      width: auto;
	      min-width: 0;
	      padding-right: 0;
	      margin-bottom: 0.35rem;
	    }
	  }