.admin-activity-dashboard {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

.admin-activity-dashboard__header {
  margin-bottom: 2rem;
}

.admin-activity-dashboard__header h1 {
  margin-bottom: 0.5rem;
}

.admin-activity-dashboard__header p {
  margin: 0;
}

.admin-activity-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.admin-activity-summary__card {
  border: 1px solid #ddd;
  border-radius: 0.75rem;
  padding: 1rem;
  background: #fff;
}

.admin-activity-summary__value {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.admin-activity-summary__label {
  font-size: 0.9rem;
}

.admin-activity-users {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-activity-user {
  display: grid;
  grid-template-columns:
    minmax(220px, 2fr)
    auto
    minmax(260px, 1.5fr)
    minmax(220px, 1.5fr);
  gap: 1rem;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 0.75rem;
  padding: 1rem;
  background: #fff;
}

.admin-activity-user__identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.admin-activity-user__photo {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
}

.admin-activity-user__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-activity-user__details {
  min-width: 0;
}

.admin-activity-user__details h2 {
  margin: 0 0 0.2rem;
  font-size: 1rem;
}

.admin-activity-user__email,
.admin-activity-user__registered {
  display: block;
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}

.admin-activity-user__status {
  white-space: nowrap;
}

.admin-activity-status {
  display: inline-block;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid #ccc;
}

.admin-activity-status--active {
  font-weight: 700;
}

.admin-activity-status--inactive {
  opacity: 0.7;
}

.admin-activity-user__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-activity-user__metric {
  text-align: center;
}

.admin-activity-user__metric strong {
  display: block;
  font-size: 1.2rem;
}

.admin-activity-user__metric span {
  display: block;
  font-size: 0.78rem;
}

.admin-activity-user__connection {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.85rem;
}

@media (max-width: 900px) {
  .admin-activity-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-activity-user {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .admin-activity-user__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .admin-activity-dashboard {
    padding: 1rem;
  }

  .admin-activity-summary {
    grid-template-columns: 1fr;
  }

  .admin-activity-user__metrics {
    grid-template-columns: 1fr;
  }
}
.admin-contributor-review {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.admin-contributor-review__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.admin-contributor-review__header > div {
  max-width: 780px;
}

.admin-contributor-review__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: #ff4b0b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.admin-contributor-review__header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
}

.admin-contributor-review__header p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.65;
}

.admin-contributor-review__status {
  flex: 0 0 auto;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-contributor-review__status--pending {
  color: #92400e;
  background: #fef3c7;
}

.admin-contributor-review__status--approved {
  color: #166534;
  background: #dcfce7;
}

.admin-contributor-review__status--suspended {
  color: #991b1b;
  background: #fee2e2;
}

.admin-contributor-review__errors {
  margin: 2rem 0;
  padding: 1rem 1.25rem;
  border: 1px solid #fecaca;
  border-radius: 0.85rem;
  color: #991b1b;
  background: #fef2f2;
}

.admin-contributor-review__errors h2 {
  margin: 0;
  font-size: 1rem;
}

.admin-contributor-review__errors ul {
  margin: 0.7rem 0 0;
  padding-left: 1.25rem;
}

.admin-contributor-review__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 0.8fr);
  gap: 1.5rem;
  margin-top: 2rem;
}

.admin-contributor-review__content {
  display: grid;
  gap: 1.25rem;
}

.admin-contributor-review__panel {
  padding: 1.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.admin-contributor-review__panel h2 {
  margin: 0 0 1.25rem;
  font-size: 1.15rem;
}

.admin-contributor-review__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}

.admin-contributor-review__details div {
  padding: 1rem;
  border-radius: 0.75rem;
  background: #f8fafc;
}

.admin-contributor-review__details dt,
.admin-contributor-review__metadata span {
  display: block;
  margin-bottom: 0.35rem;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-contributor-review__details dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-contributor-review__text {
  color: #475569;
  line-height: 1.75;
}

.admin-contributor-review__text p {
  margin: 0 0 1rem;
}

.admin-contributor-review__text p:last-child {
  margin-bottom: 0;
}

.admin-contributor-review__sidebar {
  align-self: start;
  position: sticky;
  top: 1.5rem;
}

.admin-contributor-review__metadata {
  margin: 0 0 1rem;
}

.admin-contributor-review__metadata strong {
  overflow-wrap: anywhere;
}

.admin-contributor-review__actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.admin-contributor-review__actions form {
  margin: 0;
}

.admin-contributor-review__button {
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.admin-contributor-review__button--approve {
  color: #fff;
  background: #166534;
}

.admin-contributor-review__button--approve:hover,
.admin-contributor-review__button--approve:focus-visible {
  background: #15803d;
}

.admin-contributor-review__button--suspend {
  color: #991b1b;
  background: #fee2e2;
}

.admin-contributor-review__button--suspend:hover,
.admin-contributor-review__button--suspend:focus-visible {
  color: #fff;
  background: #b91c1c;
}

.admin-contributor-review__back {
  display: inline-flex;
  margin-top: 1rem;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

.admin-contributor-review__back:hover,
.admin-contributor-review__back:focus-visible {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .admin-contributor-review__layout {
    grid-template-columns: 1fr;
  }

  .admin-contributor-review__sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .admin-contributor-review {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }

  .admin-contributor-review__header {
    flex-direction: column;
  }

  .admin-contributor-review__details {
    grid-template-columns: 1fr;
  }
}
.admin-contributors {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.admin-contributors__header {
  max-width: 760px;
  margin-bottom: 2rem;
}

.admin-contributors__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: #ff4b0b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.admin-contributors__header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
}

.admin-contributors__header p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.65;
}

.admin-contributors__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.admin-contributors__summary article {
  padding: 1.35rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.admin-contributors__summary span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-contributors__summary strong {
  display: block;
  margin-top: 0.45rem;
  font-size: 2rem;
}

.admin-contributors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 1.25rem;
}

.admin-contributor-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.4rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.admin-contributor-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-contributor-card__type {
  color: #ff4b0b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-contributor-card__header h2 {
  margin: 0.45rem 0 0;
  font-size: 1.25rem;
}

.admin-contributor-card__status {
  flex: 0 0 auto;
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}

.admin-contributor-card__status--pending {
  color: #92400e;
  background: #fef3c7;
}

.admin-contributor-card__status--approved {
  color: #166534;
  background: #dcfce7;
}

.admin-contributor-card__status--suspended {
  color: #991b1b;
  background: #fee2e2;
}

.admin-contributor-card__details {
  display: grid;
  gap: 0.9rem;
  margin: 1.4rem 0 0;
}

.admin-contributor-card__details div {
  display: grid;
  grid-template-columns: minmax(115px, 0.8fr) 1.2fr;
  gap: 0.8rem;
}

.admin-contributor-card__details dt {
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 700;
}

.admin-contributor-card__details dd {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-contributor-card__expertise {
  margin: 1.2rem 0 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.6;
}

.admin-contributor-card__actions {
  margin-top: auto;
  padding-top: 1.4rem;
}

.admin-contributor-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: #111827;
  font-weight: 800;
  text-decoration: none;
}

.admin-contributor-card__link:hover,
.admin-contributor-card__link:focus-visible {
  background: #ff4b0b;
}

.admin-contributors__empty {
  padding: 3rem 1.5rem;
  border: 1px dashed #cbd5e1;
  border-radius: 1rem;
  text-align: center;
}

.admin-contributors__empty h2 {
  margin: 0;
}

.admin-contributors__empty p {
  margin: 0.75rem 0 0;
  color: #64748b;
}

.workspace-tabs__link--content-admin {
  padding: 0.55rem 0.85rem;
  border: 1px solid #bfdbfe;
  border-color: #2563eb;
  color: #ffffff;
  background: #2563eb;
}

.workspace-tabs__link--content-admin:hover,
.workspace-tabs__link--content-admin:focus-visible {
  border-radius: 999px;
  color: #1d4ed8;
  background: #eff6ff;
}

@media (max-width: 720px) {
  .admin-contributors {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }

  .admin-contributors__summary {
    grid-template-columns: 1fr;
  }

  .admin-contributor-card__header {
    flex-direction: column;
  }
}
/* ============================================================
   GIP — ADMIN ENTERPRISES
   ============================================================ */

.admin-enterprises {
  width: min(1180px, calc(100% - 32px));
  margin: 64px auto 80px;

  color: #434b54;
}


/* ============================================================
   HEADER
   ============================================================ */

.admin-enterprises__header {
  margin-bottom: 28px;
}

.admin-enterprises__eyebrow {
  display: block;

  margin-bottom: 7px;

  color: #ff4b16;

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}

.admin-enterprises__header h1 {
  margin: 0;

  color: #292929;

  font-size: clamp(2.3rem, 5vw, 3.3rem);
}

.admin-enterprises__header p {
  max-width: 760px;

  margin: 10px 0 0;

  color: #707070;

  line-height: 1.55;
}


/* ============================================================
   SUMMARY
   ============================================================ */

.admin-enterprises__summary {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 12px;

  margin-bottom: 30px;

  padding: 18px;

  border: 1px solid #dbe8cf;
  border-radius: 18px;

  background: #f7fbf4;
}

.admin-enterprises__summary > div {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 14px;

  padding: 12px 16px;

  border-radius: 12px;

  background: #fff;
}

.admin-enterprises__summary span {
  color: #737373;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.07em;
}

.admin-enterprises__summary strong {
  color: #292929;

  font-size: 1.35rem;
}


/* ============================================================
   GRID
   ============================================================ */

.admin-enterprises__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 22px;
}


/* ============================================================
   CARD
   ============================================================ */

.admin-enterprise-card {
  overflow: hidden;

  border: 1px solid #e5e5e5;
  border-radius: 20px;

  background: #fff;

  box-shadow:
    0 12px 35px
    rgba(0, 0, 0, 0.04);
}

.admin-enterprise-card__header {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;

  gap: 18px;

  padding: 24px 26px 20px;
}

.admin-enterprise-card__type {
  display: block;

  margin-bottom: 7px;

  color: #ff4b16;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.12em;

  text-transform: uppercase;
}

.admin-enterprise-card__header h2 {
  margin: 0;

  color: #292929;

  font-size: 1.45rem;
}

.admin-enterprise-card__badge {
  flex: 0 0 auto;

  padding: 7px 11px;

  border-radius: 999px;

  background: #eef8e8;

  color: #55892b;

  font-size: 0.69rem;
  font-weight: 800;
}


/* ============================================================
   OWNER
   ============================================================ */

.admin-enterprise-card__owner {
  margin: 0 26px;

  padding: 14px 16px;

  border-radius: 12px;

  background: #fff8f2;
}

.admin-enterprise-card__owner span,
.admin-enterprise-card__commercial span {
  display: block;

  color: #a45a20;

  font-size: 0.64rem;
  font-weight: 900;

  letter-spacing: 0.07em;
}

.admin-enterprise-card__owner strong {
  display: block;

  margin-top: 4px;

  color: #333;
}


/* ============================================================
   COMMERCIAL STATUS
   ============================================================ */

.admin-enterprise-card__commercial {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    150px;

  gap: 12px;

  padding: 18px 26px;
}

.admin-enterprise-card__commercial > div {
  padding: 14px;

  border-radius: 12px;

  background: #fafafa;
}

.admin-enterprise-card__commercial strong {
  display: block;

  margin-top: 5px;

  color: #292929;
}

.admin-enterprise-card__sponsor-assignment {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 26px 18px;
  padding: 14px;
  border: 1px solid #dbe8cf;
  border-radius: 12px;
  background: #f7fbf4;
}

.admin-enterprise-card__sponsor-assignment span {
  display: block;
  color: #637151;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.admin-enterprise-card__sponsor-assignment strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #292929;
  font-size: 0.82rem;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.admin-enterprise-card__actions {
  display: flex;

  justify-content: flex-end;

  flex-wrap: wrap;

  gap: 10px;

  padding: 0 26px 24px;
}

.admin-enterprise-card__actions form {
  margin: 0;
}

.admin-enterprise-card__link {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 8px 15px;

  border: 1px solid #f0b77e;
  border-radius: 999px;

  background: #fff4e9;

  color: #b45612;

  font-size: 0.79rem;
  font-weight: 800;

  text-decoration: none;
}

.admin-enterprise-card__link:hover {
  background: #ff4b16;

  color: #fff;
}

.admin-enterprise-card__link--danger {
  border-color: #efb4b4;
  background: #fff5f5;
  color: #b42318;
  cursor: pointer;
}

.admin-enterprise-card__link--danger:hover {
  border-color: #b42318;
  background: #b42318;
  color: #ffffff;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 820px) {
  .admin-enterprises__grid {
    grid-template-columns: 1fr;
  }

  .admin-enterprises__summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .admin-enterprises {
    width: calc(100% - 18px);

    margin: 30px auto 55px;
  }

  .admin-enterprise-card__header {
    flex-direction: column;
  }

  .admin-enterprise-card__commercial {
    grid-template-columns: 1fr;
  }

  .admin-enterprise-card__sponsor-assignment {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   ANNOUNCEMENT PUBLISHING
   ============================================================ */

.stand-announcement-publisher {
  margin-top: 1rem;
}
.stand-announcement-publisher__help{max-width:620px;margin:.55rem 0 0;color:#667085;font-size:.8rem;line-height:1.45}

.stand-announcement-publisher__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;

  padding: 0.65rem 0.9rem;

  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;

  background: #ffffff;

  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;

  cursor: pointer;
}

.stand-announcement-publisher__trigger:hover {
  background: rgba(15, 23, 42, 0.04);
}


.announcement-form {
  display: grid;
  gap: 1rem;
}

.announcement-form__field {
  display: grid;
  gap: 0.4rem;
}

.announcement-form__field label {
  font-size: 0.82rem;
  font-weight: 800;
}

.announcement-form__field input,
.announcement-form__field textarea {
  width: 100%;

  box-sizing: border-box;

  padding: 0.8rem 0.9rem;

  border: 1px solid rgba(15, 23, 42, 0.15);
  border-radius: 12px;

  background: #ffffff;

  font: inherit;
}

.announcement-form__field textarea {
  resize: vertical;
}

.announcement-form__actions {
  display: flex;
  justify-content: flex-end;
}

.announcement-form__submit {
  padding: 0.7rem 1rem;

  border: 0;
  border-radius: 999px;

  background: #ff4b19;
  color: #ffffff;

  font: inherit;
  font-weight: 800;

  cursor: pointer;
}


.admin-announcement-publisher {
  padding: 1.4rem;

  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;

  background: #ffffff;
}

.admin-announcement-publisher__heading {
  margin-bottom: 1.2rem;
}

.admin-announcement-publisher__heading h2 {
  margin:
    0.2rem
    0
    0.4rem;
}

.admin-announcement-publisher__heading p {
  margin: 0;

  color: rgba(15, 23, 42, 0.62);
}




.workspace-tabs__announcement {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 2.35rem;
  height: 2.35rem;

  padding: 0;

  border: 1px solid #ff4b1f;
  border-radius: 50%;

  background: transparent;
  color: #ff4b1f;

  font-size: 0.9rem;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.workspace-tabs__announcement:hover {
  background: #ff4b1f;
  color: #fff;

  transform: translateY(-1px);
}

.workspace-tabs__announcement:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* Multimedia GIP post composer */
.announcement-form__field small{display:block;margin-top:.4rem;color:#667085}.announcement-form__sharing{padding:1rem;border:1px solid #dbe3ef;border-radius:14px}.announcement-form__sharing legend{padding:0 .35rem;font-weight:800}.announcement-form__sharing p{color:#667085;font-size:.86rem}.announcement-form__platforms{display:flex;flex-wrap:wrap;gap:.55rem}.announcement-form__platforms label{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .75rem;border:1px solid #dbe3ef;border-radius:999px;background:#fff;cursor:pointer}.announcement-form__platforms input{width:auto}
:root {
  --stand-border: 1px solid #efb762;
  --stand-gold: #efb762;
  --oranged-color: orangered;
  --blue-color: #52c7f5;
  --yellow-color: #f5da52;
  --red-color: #8f0401;
  --outside-green: #006600;
  --outside-clear-green: #009900;
  --hall-bg: #ffffff;
  --middle-bg: blanchedalmond;
  --venue-world-width: 5067px;
  --exhibition-width: 4080px;
  --conference-library-width: 987px;
  --ordinary-stand-width: 120px;
  --sponsor-stand-width: 160px;
  /* cursor: disabled; *§*/

  /* Chage this if width grows *§*/
  --gip-used-space-width: 1500px;
}

* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  width: fit-content;
  min-width: 100%;
  min-height: 100%;
  overflow: auto;
}

body {
  margin: 0;
  padding: 0;
  min-width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--hall-bg);
}

.homepage {
  width: max-content;
  min-width: 100%;
}

/* =========================================================
   COMPLETE EXHIBITION SPACE
   Keep the original wide "virtual hall" concept.
   ========================================================= */

.space {
  width: var(--venue-world-width);
  min-height: 100vh;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--hall-bg);
}

/* =========================================================
   ART SELECTION EXHIBITION AREA
   ========================================================= */

.space-as {
  border-top: 2px solid var(--stand-gold);
  border-left: 2px solid var(--stand-gold);
  width: var(--exhibition-width);
  min-height: 100vh;
  padding: 0;
  margin: 0 auto;
  background: #fff;
  position: relative;
}

.space-as > h2,
.announce {
  color: var(--oranged-color);
  word-spacing: 15px;
  margin: 25px auto;
  padding: 1px 0;
  letter-spacing: 15px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}

.space-as > h2 > span,
.announce > span {
  width: 33.333%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.announce {
  position: relative;
  z-index: 1;
}

/* =========================================================
   TOP AND BOTTOM ROWS: stands 1..30 and 71..100
   ========================================================= */

.set.upper,
.set.lower,
.upper-section,
.lower-section {
  width: 100%;
  min-height: 150px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
  background: #fff;
  margin-top: auto;
}

.set.lower {
  align-items: flex-end;
}

/* =========================================================
   MIDDLE AREA

   middle-section
     welcome
     middle-stand-set
       left   -> 31..40 / 51..60
       training
       right  -> 41..50 / 61..70
   ========================================================= */

/*
.middle-section {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 16px;
  margin: 0;
  padding: 0 18px;
}
*/

.middle-section {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  margin: 30px 0;
}

/* The 4 middle stand rows + central training space */
.middle-stand-set {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: 1360px 500px 1360px;
  column-gap: 0;
  align-items: stretch;
  justify-content: start;

  width: 3220px;
  min-width: 3220px;

  /* background: var(--middle-bg); */
  border-radius: 10px;
  overflow: visible;
}

.middle-stand-set > .left,
.middle-stand-set > .right {
  width: 1360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  /* background: var(--middle-bg); */
}

/* Each row is ONE container holding ten stands + sponsor. */
.middle-stand-set .upper,
.middle-stand-set .lower {
  width: 1360px;
  height: 145px;
  min-height: 145px;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  background: var(--middle-bg);
  border-radius: 0;
  overflow: visible;
}

.middle-stand-set > .left .upper,
.middle-stand-set > .left .lower {
  justify-content: flex-start;
}

.middle-stand-set > .right .upper,
.middle-stand-set > .right .lower {
  justify-content: flex-end;
}

/* Central training room */
/*
.middle-stand-set > .training {
  flex: 0 0 240px;
  width: 240px;
  min-width: 240px;
  height: 250px;
  margin: 0 18px;
  padding: 10px;
  z-index: 1;

  display: flex;
  justify-content: center;
  align-items: flex-start;

  text-align: center;
  font-weight: bold;

  background: #fff;
  border: 2px solid var(--oranged-color);
  border-radius: 24%;
  box-sizing: border-box;
}
*/

.middle-stand-set > .training {
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  min-height: 320px;

  margin: 0 20px;
  padding: 24px;

  display: flex;
  justify-content: center;
  align-items: center;

  text-align: center;
  font-weight: bold;

  background: #fff;
  border: 3px double var(--oranged-color);

  border-radius: 8px 10px;
  box-sizing: border-box;
}

.lounge {
  width: 100%;
  height: 100%;
  margin: 0;

  background: #fff8ee;

  border-radius: 18%;

  display: flex;
  flex-direction: column;
  align-items: center;

  box-sizing: border-box;
  overflow: hidden;
}

.lounge > p {
  margin: 14px 0 8px;
  font-size: 1.4rem;
  font-weight: bold;
}

/* =========================================================
   MONTHLY MSME SPOTLIGHT
   ========================================================= */

.msme-spotlight {
  flex: 0 0 400px;
  width: 400px;
  min-width: 400px;
  min-height: 360px;
  padding: 24px;
  border-left: 4px double var(--oranged-color);
  border-bottom: 4px double var(--oranged-color);
  border-radius: 0 0 0 72px;
  background: #fffaf3;
  box-sizing: border-box;
}

.msme-spotlight__header span {
  color: var(--oranged-color);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.msme-spotlight__header h2 {
  margin: 5px 0 16px;
  color: #202938;
  font-size: 1.25rem;
}

.msme-spotlight__lead {
  display: block;
  color: inherit;
}

.msme-spotlight__portrait {
  position: relative;
  height: 165px;
  overflow: hidden;
  border: 1px solid rgba(239, 183, 98, 0.75);
  border-radius: 18px;
  background: #f8fafc;
}

.msme-spotlight__entrepreneur-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.msme-spotlight__logo {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  width: 68px;
  height: 68px;
  padding: 5px;
  place-items: center;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 18px rgba(16, 24, 40, 0.2);
}

.msme-spotlight__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.msme-spotlight__identity {
  display: grid;
  margin-top: 12px;
}

.msme-spotlight__identity small {
  color: #b7791f;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.msme-spotlight__identity strong {
  margin-top: 2px;
  color: #172033;
}

.msme-spotlight__identity span {
  margin-top: 2px;
  color: #64748b;
  font-size: 0.78rem;
}

.msme-spotlight__score {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-top: 8px;
  color: #c2410c;
  font-size: 0.7rem;
  font-weight: 800;
}

.msme-spotlight__score span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.msme-spotlight__runners-up {
  display: grid;
  gap: 5px;
  margin: 12px 0 0;
  padding: 0;
}

.msme-spotlight__runners-up li {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 7px;
}

.msme-spotlight__runners-up li > span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #d89a48;
  font-size: 0.65rem;
  font-weight: 900;
}

.msme-spotlight__runners-up a {
  color: #334155;
  font-size: 0.72rem;
  font-weight: 800;
}

.msme-spotlight__empty {
  display: grid;
  min-height: 230px;
  place-content: center;
  justify-items: center;
  color: #7c6a55;
  text-align: center;
}

.msme-spotlight__empty i {
  margin-bottom: 12px;
  color: #4d8d3b;
  font-size: 2rem;
}


/* =========================================================
   STANDS
   ========================================================= */

.stand {
  flex: 0 0 var(--ordinary-stand-width);
  width: var(--ordinary-stand-width);
  height: 160px;
  min-height: 160px;
  background-color: white;
  margin: 0;
  border: 1px solid rgba(255, 69, 0, 0.72);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  position: relative;
  z-index: 5;
  transform-origin: center;
  box-sizing: border-box;
}

.stand-assignment-badges {
  position: absolute;
  left: 50%;
  bottom: 27px;
  z-index: 14;
  display: flex;
  gap: 3px;
  transform: translateX(-50%);
  pointer-events: none;
}

/* When the stand label is above its logo, place counters below the label. */
.stand:has(.stand-entry-link > p ~ img.background-images)
  > .stand-assignment-badges {
  top: 27px;
  bottom: auto;
}

/* When the stand label is below its logo, place counters above the label. */
.stand:has(.stand-entry-link > img.background-images ~ p)
  > .stand-assignment-badges {
  top: auto;
  bottom: 27px;
}

.stand-assignment-badge {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 3px 8px rgba(16, 24, 40, 0.2);
  font-size: 0.62rem;
  font-weight: 900;
  line-height: 1;
  box-sizing: border-box;
}

.stand-assignment-badge--approved {
  color: #15803d;
  background: #dcfce7;
}

.stand-assignment-badge--pending {
  color: #64748b;
  background: #f1f5f9;
}

.stand-assignment-badge--action_required {
  color: #b91c1c;
  background: #fee2e2;
}

/* =========================================================
   ORDINARY STAND VISUALS

   The entry link owns the complete usable area of the stand.
   Empty stands use the promotional placeholder as a full-bleed
   visual; occupied stands preserve the complete enterprise logo.
   ========================================================= */

.stand .stand-entry-link {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.stand .stand-entry-link > img.background-images {
  min-height: 85%;
  display: block;
  object-position: center;
  background: #fff;
}

/* Empty stand: artwork fills the available stand area */
.stand .stand-entry-link > img.stand-placeholder {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0;
  object-fit: cover;
}

/* Occupied stand: keep the enterprise logo smaller and fully visible */
.stand .stand-entry-link > img.enterprise-logo {
  width: calc(100% - 24px) !important;
  height: 80% !important;
  margin-left: 12px !important;
  margin-right: 12px !important;
  padding: 10px;
  object-fit: content;
  object-position: center;
}

/* Enterprise name overlay: visible only around the visitor's avatar. */
.stand-enterprise-name {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 12;
  display: block;
  width: max-content;
  max-width: 150px;
  padding: 4px 7px;
  visibility: hidden;
  opacity: 0;
  overflow-wrap: anywhere;
  color: #101828;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 69, 0, 0.45);
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(16, 24, 40, 0.2);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity 160ms ease;
}

.stand.near-avatar .stand-enterprise-name,
.stand:hover .stand-enterprise-name,
.stand:focus-within .stand-enterprise-name {
  visibility: visible;
  opacity: 1;
}

.stand-sponsor {
  flex: 0 0 160px;
  width: 160px;
  height: 180px;
  min-height: 180px;

  background-color: white;
  margin: 0;


  border: var(--stand-border);

    border-right:
      4px double var(--oranged-color);

    border-left:
      4px double var(--oranged-color);

    border-bottom:
      4px double var(--oranged-color);

    border-top:
      4px double var(--oranged-color);

    border-radius:
      0 1.5rem 1.5rem 1.5rem;

    overflow:
      hidden;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: bottom;

  position: relative;
  z-index: 5;

  box-sizing: border-box;
  overflow: hidden;
}

.stand-sponsor-lower {
  flex: 0 0 160px;
  width: 160px;
  height: 180px;
  min-height: 180px;

  background-color: white;
  margin: 0;

  border: var(--stand-border);

  border-top:
    4px double var(--oranged-color);

  border-right:
    4px double var(--oranged-color);

  border-left:
    4px double var(--oranged-color);


  border-bottom:
    4px double var(--oranged-color);

  border-radius:
    1.5rem 1.5rem 1.5rem 0;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: bottom;

  position: relative;
  z-index: 5;

  box-sizing: border-box;
  overflow: hidden;

  /* KEY */
  align-self: flex-end;
}

.stand-sponsor-right-middle-set-upper {
  border-radius:
    1.5rem 1.5rem 0 1.5rem !important;
}

.stand-sponsor-right-middle-set-lower {
  border-radius:
    1.5rem 0 1.5rem 1.5rem !important;
}



.stand-sponsor-lower img,
.stand-sponsor img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.background-images {
  display: block;
  width: 100% !important;
  height: 118px !important;
  object-fit: cover;
  margin: 0;
  position: relative;
}

.stand:first-of-type {
  border-left: 2px solid var(--stand-gold);
}

.stand:last-of-type {
  border-right: 2px solid var(--stand-gold);
}

.stand:hover,
.stand-sponsor-lower:hover,
.stand-sponsor:hover {
  background: white;
  transform: scale(1.5);
  z-index: 20;
}

.stand:active,
.stand-sponsor-lower:active,
.stand-sponsor:active {
  background: white;
  transform: scale(2.5);
  z-index: 30;
}

/* Labels */
.stand p,
.stand-sponsor-lower p,
.stand-sponsor p {
  min-height: 22px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.stand p > span,
.stand-sponsor-lower p > span,
.stand-sponsor p > span {
  width: 100%;
  margin: 0;
  padding: 2px 3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75em;
  font-weight: 700;
  background-color: var(--stand-gold);
  border-color: var(--stand-gold);
  color: white;
}

/* Reveal the enterprise name only when its sponsor stand is nearby. */
.stand-sponsor__name {
  display: block;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  text-align: center;
  transition: opacity 160ms ease;
}

.stand-sponsor.near-avatar > .stand-sponsor__name,
.stand-sponsor-lower.near-avatar > .stand-sponsor__name,
.stand-sponsor:hover > .stand-sponsor__name,
.stand-sponsor-lower:hover > .stand-sponsor__name,
.stand-sponsor:focus-within > .stand-sponsor__name,
.stand-sponsor-lower:focus-within > .stand-sponsor__name {
  visibility: visible;
  opacity: 1;
}

/* Important: `.right` is also used inside stand labels.
   Do not give the generic `.right` class layout rules. */
.right.bold {
  margin-left: auto;
  font-weight: 800;
}

.up {
  border-bottom: 2px solid var(--yellow-color);
  border-right: var(--stand-border);
}

.down {
  border-right: var(--stand-border);
  border-top: 2px solid var(--yellow-color);
}

/* =========================================================
   STAND LIVE AREA
   ========================================================= */


.stand-live-area {
  width: min(1400px, 92%);
  margin: 35px auto 55px;
  padding: 28px;

  background:
    linear-gradient(
      135deg,
      #fff8ee,
      #ffffff
    );

  border: 1px solid rgba(239, 183, 98, 0.65);
  border-radius: 28px;

  box-shadow:
    0 18px 50px rgba(60, 45, 20, 0.1);
}

.stand-live-area__header {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 24px;
}

.stand-live-area__header h2 {
  margin: 6px 0 0;
  font-size: 2rem;
}

.stand-presence {
  padding: 7px 13px;
  border-radius: 999px;

  font-size: 0.8rem;
  font-weight: 800;
}

.stand-presence--offline {
  background: #eee;
  color: #666;
}

.stand-presence--online {
  background: #dff7e5;
  color: #24753a;
}

.stand-live-area__content {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
}

.stand-live-host {
  padding: 20px;

  border-radius: 22px;
  background: white;

  text-align: center;
}

.stand-live-host__visual {
  width: 150px;
  height: 150px;

  margin: 0 auto 14px;

  overflow: hidden;
  border-radius: 50%;

  background: #fff1d8;
}

.stand-live-host__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stand-live-host__placeholder {
  width: 100%;
  height: 100%;

  display: grid;
  place-items: center;

  font-size: 3rem;
  font-weight: 900;

  color: orangered;
}

.stand-live-host__details {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.stand-live-host__details span {
  color: #777;
  font-size: 0.9rem;
}

.stand-chat {
  min-height: 250px;

  display: flex;
  flex-direction: column;

  border-radius: 22px;
  overflow: hidden;

  background: white;
}

.stand-chat__messages {
  flex: 1;

  padding: 24px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.stand-chat__empty {
  text-align: center;
  color: #777;
}

.stand-chat__empty span {
  display: block;

  margin-bottom: 8px;

  color: #333;
  font-weight: 800;
}

.stand-chat__composer {
  display: flex;
  gap: 10px;

  padding: 14px;

  border-top: 1px solid #eee;
}

.stand-chat__composer input {
  flex: 1;

  padding: 11px 14px;

  border: 1px solid #ddd;
  border-radius: 999px;
}

.stand-chat__composer button {
  padding: 10px 18px;

  border-radius: 999px;
}

.stand-chat__coming-soon {
  display: block;

  padding: 0 16px 14px;

  color: #999;
  text-align: center;
}

@media (max-width: 850px) {
  .stand-live-area__content {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SHOW / ACTIVITY SPACE
   ========================================================= */

.show-place {
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 0;
  border-bottom: 4px double #0a0a23;
  font-weight: bold;
  background: repeating-linear-gradient(
    var(--outside-green),
    var(--outside-green) 6%,
    var(--outside-clear-green) 6%,
    var(--outside-clear-green) 9%
  );
}

/* =========================================================
   TRAINING SPACES OUTSIDE THE MAIN EXHIBITION
   ========================================================= */

.space-trainings {
  border: none;
  width: 960px;
  height: 100vh;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.training-default {
  width: 100%;
  height: 50%;
  z-index: 1;
  border-radius: 30%;
  margin: 0 10px;
  border-top: 4px double var(--oranged-color);
  border-bottom: 4px double var(--oranged-color);
  font-weight: bold;
  background: repeating-linear-gradient(
    var(--oranged-color),
    var(--oranged-color) 6%,
    var(--blue-color) 6%,
    var(--yellow-color) 9%
  ),
  var(--red-color);

  /* background: purple !important; */
}

.training-accounting {
  justify-items: flex-end;
  width: 10%;
  height: 100%;
  z-index: 1;
  border-radius: 30%;
  margin: 0 10px;
  border-top: 4px double var(--oranged-color);
  border-bottom: 4px double var(--oranged-color);
  font-weight: bold;
  background: repeating-linear-gradient(
      var(--oranged-color),
      var(--oranged-color) 6%,
      var(--blue-color) 6%,
      var(--yellow-color) 9%
    ),
    var(--red-color);
}

.training-ict {
  width: 75%;
  height: 50%;
  z-index: 1;
  border-radius: 30%;
  margin: 0 10px;
  border-top: 4px double var(--oranged-color);
  border-bottom: 4px double var(--oranged-color);
  font-weight: bold;
  background: repeating-linear-gradient(
      var(--oranged-color),
      var(--oranged-color) 6%,
      var(--blue-color) 6%,
      var(--yellow-color) 9%
    ),
    var(--red-color);
}

.training-mc {
  width: 25%;
  height: 25%;
  z-index: 1;
  border-radius: 30%;
  margin: 0 10px;
  border-top: 4px double var(--oranged-color);
  border-bottom: 4px double var(--oranged-color);
  font-weight: bold;
  background: repeating-linear-gradient(
      var(--oranged-color),
      var(--oranged-color) 6%,
      var(--blue-color) 6%,
      var(--yellow-color) 9%
    ),
    var(--red-color);
}

/* =========================================================
   ANNOUNCEMENT / PARTNER SPACE
   ========================================================= */

.space-announces {
  display: flex;
  border: 2px solid var(--stand-gold);
  width: 3600px;
  height: 250vh;
  padding: 0;
  margin: 10px auto;
}

.lion {
  width: auto;
  height: auto;
  position: relative;
}

.logos {
  width: 75%;
  height: 33%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: auto;
}

.logos .logo {
  width: 20%;
  height: 20%;
  margin: auto;
}

.bold {
  font-weight: 800;
}

.large {
  height: 10px;
}

.large,
.medium {
  background-color: black;
  border: 0;
}

.medium {
  height: 5px;
}

.small-text {
  font-size: 0.85rem;
}

.sky {
  background: radial-gradient(
    circle closest-corner at 15% 15%,
    #ffcf33,
    #ffcf33 20%,
    #ffff66 21%,
    #bbeeff 100%
  );
}

/* =========================================
   @MEDIA
   ========================================= */

/* Keep horizontal scrolling on smaller displays: this is an exhibition hall,
   not a conventional single-column webpage. */
@media (max-width: 1000px) {
  .sky {
    background: radial-gradient(
      closest-corner circle at 15% 15%,
      #ccc,
      #ccc 20%,
      #445 21%,
      #223 100%
    );
  }
}
/* ============================================================
   ASSIGNMENT WORKSPACES
   ============================================================ */

.assignment-workspace {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.assignment-workspace__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.assignment-workspace__header > div {
  max-width: 900px;
}

.assignment-workspace__eyebrow,
.assignment-card__eyebrow {
  display: block;
  margin-bottom: .65rem;
  color: #2563eb;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.assignment-workspace__header h1 {
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: 1.05;
}

.assignment-workspace__header p {
  margin: 1rem 0 0;
  color: #64748b;
  font-size: 1.02rem;
  line-height: 1.65;
}

.assignment-workspace__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 1.5rem;
}

.assignment-workspace__content {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.assignment-workspace__panel,
.assignment-feedback,
.assignment-workspace__review-note,
.assignment-workspace__errors {
  padding: 1.5rem;
  border: 1px solid #dbe3ef;
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
}

.assignment-workspace__panel h2,
.assignment-feedback h2 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
}

.assignment-workspace__text {
  color: #334155;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.assignment-workspace__text p:last-child {
  margin-bottom: 0;
}

.assignment-workspace__sidebar {
  position: sticky;
  top: 1.5rem;
  display: grid;
  gap: .8rem;
  padding: 1.25rem;
  border: 1px solid #dbe3ef;
  border-radius: 1.1rem;
  background: #f8fafc;
}

/* ============================================================
   STATUS
   ============================================================ */

.lesson-assignments__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.lesson-assignments__header h2,
.lesson-assignments__header p {
  margin-top: 0;
}

.lesson-assignments__header p {
  margin-bottom: 0;
  color: #64748b;
  line-height: 1.55;
}

.lesson-assignment-list {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lesson-assignment-list__item {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: 1.15rem;
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #f8fafc;
}

.lesson-assignment-list__position {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  color: #fff;
  background: #2563eb;
  font-weight: 800;
}

.lesson-assignment-list__content {
  min-width: 0;
}

.lesson-assignment-list__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.lesson-assignment-list__title-row h3 {
  margin: .15rem 0 0;
  font-size: 1.05rem;
}

.lesson-assignment-list__title-row a {
  color: #111827;
  text-decoration: none;
}

.lesson-assignment-list__title-row a:hover,
.lesson-assignment-list__title-row a:focus-visible {
  color: #1d4ed8;
  text-decoration: underline;
}

.lesson-assignment-list__content > p {
  margin: .65rem 0 0;
  color: #475569;
  line-height: 1.6;
}

.lesson-assignment-list__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin-top: .85rem;
  color: #475569;
  font-size: .9rem;
}

.external-video-embed {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  background: #0f172a;
  aspect-ratio: 16 / 9;
}

.external-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 700px) {
  .lesson-assignments__header,
  .lesson-assignment-list__title-row {
    flex-direction: column;
  }

  .lesson-assignment-list__item {
    grid-template-columns: 1fr;
  }
}

.assignment-status,
.assignment-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .48rem .75rem;
  border-radius: 999px;
  color: #334155;
  background: #e2e8f0;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.assignment-status--draft,
.assignment-badge--draft {
  color: #92400e;
  background: #fef3c7;
}

.assignment-status--submitted,
.assignment-badge--submitted {
  color: #1e40af;
  background: #dbeafe;
}

.assignment-status--revisions_requested,
.assignment-badge--revisions_requested {
  color: #9a3412;
  background: #ffedd5;
}

.assignment-status--approved,
.assignment-badge--approved,
.assignment-status--published,
.assignment-badge--published,
.assignment-status--validated,
.assignment-badge--validated {
  color: #166534;
  background: #dcfce7;
}

.assignment-status--archived,
.assignment-badge--archived {
  color: #475569;
  background: #e2e8f0;
}

/* ============================================================
   INDEX, CARDS AND SUMMARIES
   ============================================================ */

.assignment-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: .75rem;
  margin: 1.5rem 0;
}

.assignment-summary__item {
  padding: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: .9rem;
  background: #f8fafc;
}

.assignment-summary__item span {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assignment-summary__item strong {
  display: block;
  margin-top: .35rem;
  font-size: 1.5rem;
}

.assignment-card-list {
  display: grid;
  gap: 1rem;
}

.assignment-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  align-items: end;
  gap: 1rem;
  margin: 1.5rem 0;
  padding: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: 1rem;
  background: #f8fafc;
}

.assignment-filters > div {
  display: grid;
  gap: .4rem;
}

.assignment-filters label {
  color: #475569;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assignment-filters select {
  width: 100%;
  min-height: 46px;
  padding: .7rem .8rem;
  border: 1px solid #cbd5e1;
  border-radius: .7rem;
  background: #fff;
  color: #111827;
  font: inherit;
}

.assignment-filters select:focus {
  border-color: #2563eb;
  outline: 3px solid rgba(37, 99, 235, .14);
}

.assignment-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  padding: 1.4rem;
  border: 1px solid #dbe3ef;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .055);
}

.assignment-card__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.assignment-card h2,
.assignment-card h3 {
  margin: 0;
}

.assignment-card__link {
  display: inline-flex;
  margin-top: 1rem;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

.assignment-card__link:hover,
.assignment-card__link:focus-visible {
  text-decoration: underline;
}

.assignment-card__meta,
.assignment-details,
.assignment-workspace__facts {
  display: grid;
  gap: .75rem;
  margin: 1rem 0 0;
}

.assignment-card__meta {
  grid-template-columns: repeat(3, minmax(120px, 1fr));
}

.assignment-details {
  grid-template-columns: repeat(2, minmax(150px, 1fr));
}

.assignment-card__meta div,
.assignment-details div,
.assignment-workspace__facts div {
  padding: .8rem;
  border-radius: .75rem;
  background: #f8fafc;
}

.assignment-card__meta dt,
.assignment-details dt,
.assignment-workspace__facts dt {
  margin-bottom: .3rem;
  color: #64748b;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assignment-card__meta dd,
.assignment-details dd,
.assignment-workspace__facts dd {
  margin: 0;
  font-weight: 700;
}

.assignment-empty {
  text-align: center;
}

.assignment-workspace__empty {
  margin: 0;
  color: #64748b;
}

/* ============================================================
   FORMS AND ACTIONS
   ============================================================ */

.assignment-form,
.assignment-review-form {
  display: grid;
  gap: 1.15rem;
}

.assignment-form {
  padding: 1.5rem;
  border: 1px solid #dbe3ef;
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
}

.assignment-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.assignment-form__field {
  display: grid;
  gap: .45rem;
}

.assignment-form label,
.assignment-review-form label {
  color: #334155;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assignment-form input:not([type="checkbox"]):not([type="radio"]),
.assignment-form select,
.assignment-form textarea,
.assignment-review-form input,
.assignment-review-form textarea {
  width: 100%;
  min-height: 46px;
  padding: .75rem .85rem;
  border: 1px solid #cbd5e1;
  border-radius: .7rem;
  background: #fff;
  color: #111827;
  font: inherit;
}

.assignment-form textarea,
.assignment-review-form textarea {
  resize: vertical;
}

.assignment-form input:focus,
.assignment-form select:focus,
.assignment-form textarea:focus,
.assignment-review-form input:focus,
.assignment-review-form textarea:focus {
  border-color: #2563eb;
  outline: 3px solid rgba(37, 99, 235, .14);
}

.assignment-form__readonly {
  margin: 0;
  padding: .8rem;
  border-radius: .7rem;
  background: #f1f5f9;
  color: #475569;
}

.assignment-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .5rem;
}

.assignment-action,
.assignment-workspace__primary-link,
.assignment-workspace__secondary-link,
.assignment-workspace__primary-button,
.assignment-workspace__secondary-button,
.assignment-form input[type="submit"],
.assignment-review-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .7rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.assignment-action--primary,
.assignment-workspace__primary-link,
.assignment-workspace__primary-button,
.assignment-form input[type="submit"] {
  color: #fff;
  background: #2563eb;
}

.assignment-action--secondary,
.assignment-workspace__secondary-link,
.assignment-workspace__secondary-button,
.assignment-review-form input[type="submit"] {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.assignment-action--danger {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fff1f2;
}

.assignment-action:hover,
.assignment-workspace__primary-link:hover,
.assignment-workspace__secondary-link:hover,
.assignment-workspace__primary-button:hover,
.assignment-workspace__secondary-button:hover {
  filter: brightness(.96);
}

.assignment-form__errors,
.assignment-workspace__errors {
  margin-bottom: 1.25rem;
  border-color: #fecaca;
  color: #991b1b;
  background: #fff1f2;
}

.assignment-form__errors ul,
.assignment-workspace__errors ul {
  margin: 0;
  padding-left: 1.25rem;
}

.assignment-form__errors li,
.assignment-workspace__errors li {
  list-style: disc;
}

/* ============================================================
   FILES, ATTEMPTS AND REVIEW
   ============================================================ */

.assignment-files,
.assignment-form__files,
.assignment-comments,
.assignment-submission-list {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding: 0;
}

.assignment-files li,
.assignment-form__files li,
.assignment-submission-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem;
  border: 1px solid #e2e8f0;
  border-radius: .75rem;
  background: #f8fafc;
}

.assignment-files small,
.assignment-form__files small,
.assignment-attempt time,
.assignment-review-comment time {
  display: block;
  color: #64748b;
  font-size: .78rem;
}

.assignment-feedback,
.assignment-workspace__review-note {
  margin-bottom: 1.25rem;
  border-color: #fed7aa;
  background: #fff7ed;
}

.assignment-attempt > header,
.assignment-submission-summary__header > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.assignment-comments li,
.assignment-review-comment {
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}

.assignment-comments li:last-child,
.assignment-review-comment:last-child {
  border-bottom: 0;
}

.assignment-workspace__success {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #bbf7d0;
  border-radius: .85rem;
  color: #166534;
  background: #f0fdf4;
}

.assignment-review-actions {
  border-color: #bfdbfe;
  background: #f8fbff;
}


/* Keep every sidebar action aligned and full-width */

.assignment-workspace__sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.assignment-workspace__sidebar form {
  width: 100%;
  margin: 0;
}

.assignment-workspace__sidebar .assignment-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.25rem;
  box-sizing: border-box;
  margin: 0;
  text-align: center;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1050px) {
  .assignment-workspace__layout {
    grid-template-columns: 1fr;
  }

  .assignment-workspace__sidebar {
    position: static;
  }

  .assignment-summary {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 720px) {
  .assignment-workspace {
    width: min(100% - 1.25rem, 1400px);
    padding-top: 1.5rem;
  }

  .assignment-workspace__header,
  .assignment-card,
  .assignment-card__title-row,
  .assignment-attempt > header {
    display: flex;
    flex-direction: column;
  }

  .assignment-form__grid,
  .assignment-details,
  .assignment-card__meta,
  .assignment-summary,
  .assignment-filters {
    grid-template-columns: 1fr;
  }

  .assignment-files li,
  .assignment-form__files li,
  .assignment-submission-list li {
    align-items: flex-start;
    flex-direction: column;
  }

  .assignment-action,
  .assignment-workspace__primary-link,
  .assignment-workspace__secondary-link,
  .assignment-workspace__primary-button,
  .assignment-workspace__secondary-button {
    width: 100%;
  }
}
/* ============================================================
   AUTHENTICATION
   ============================================================ */

.auth-page {
  min-height: 100vh;

  padding:
    36px 20px 60px;

  display: flex;

  justify-content: center;

  background:
    linear-gradient(
      145deg,
      #fff 0%,
      #fff8f2 55%,
      #fff1e5 100%
    );

  box-sizing: border-box;
}


.auth-shell {
  width: 100%;
  max-width: 860px;
}


/* ============================================================
   TOPBAR
   ============================================================ */

.auth-topbar {
  margin-bottom: 24px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 20px;
}


.auth-brand {
  display: flex;

  align-items: center;

  gap: 10px;

  text-decoration: none;
}


.auth-brand__mark {
  width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 12px;

  background:
    var(--oranged-color, orangered);

  color: #fff;

  font-size: 0.72rem;
  font-weight: 900;

  letter-spacing: 0.05em;
}


.auth-brand__text {
  color: #292929;

  font-size: 0.9rem;

  font-weight: 900;
}


.auth-language {
  display: flex;

  align-items: center;

  gap: 6px;

  color: #aaa;

  font-size: 0.75rem;

  font-weight: 800;
}


.auth-language__link {
  color: #888;

  text-decoration: none;
}


.auth-language__link--active {
  color:
    var(--oranged-color, orangered);
}


/* ============================================================
   CARD
   ============================================================ */

.auth-card {
  width: 100%;

  max-width: 520px;

  margin: 0 auto;

  padding:
    38px 40px;

  background: #fff;

  border:
    1px solid rgba(
      239,
      183,
      98,
      0.55
    );

  border-radius:
    24px;

  box-shadow:
    0 20px 60px
    rgba(
      77,
      47,
      24,
      0.08
    );

  box-sizing: border-box;
}


.auth-card--wide {
  max-width: 760px;
}


/* ============================================================
   INTRO
   ============================================================ */

.auth-card__intro {
  margin-bottom: 30px;
}


.auth-eyebrow {
  display: block;

  margin-bottom: 8px;

  color:
    var(--oranged-color, orangered);

  font-size: 0.7rem;

  font-weight: 900;

  letter-spacing:
    0.16em;

  text-transform:
    uppercase;
}


.auth-card__intro h1 {
  margin:
    0 0 8px;

  color: #262626;

  font-size:
    clamp(
      1.7rem,
      4vw,
      2.2rem
    );

  line-height: 1.15;
}


.auth-card__intro p {
  margin: 0;

  max-width: 560px;

  color: #777;

  font-size: 0.92rem;

  line-height: 1.55;
}


/* ============================================================
   FORM
   ============================================================ */

.auth-form {
  display: flex;

  flex-direction: column;

  gap: 18px;
}


.auth-form__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 18px;
}


/* ============================================================
   FIELDS
   ============================================================ */

.auth-field {
  display: flex;

  flex-direction: column;

  gap: 7px;
}


.auth-field__label {
  color: #444;

  font-size: 0.78rem;

  font-weight: 850;
}


.auth-field__input {
  width: 100%;

  padding:
    12px 14px;

  border:
    1px solid #ddd6cf;

  border-radius:
    12px;

  background: #fff;

  color: #292929;

  font: inherit;

  font-size: 0.9rem;

  outline: none;

  box-sizing: border-box;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}


.auth-field__input:focus {
  border-color:
    var(--oranged-color, orangered);

  box-shadow:
    0 0 0 3px
    rgba(
      255,
      69,
      0,
      0.08
    );
}


textarea.auth-field__input {
  resize: vertical;
}


.auth-field__hint {
  color: #999;

  font-size: 0.72rem;

  line-height: 1.4;
}


/* ============================================================
   CHECKBOX
   ============================================================ */

.auth-check {
  display: flex;

  align-items: center;

  gap: 8px;

  width: fit-content;

  color: #666;

  font-size: 0.78rem;

  cursor: pointer;
}


.auth-check input {
  accent-color:
    var(--oranged-color, orangered);
}


/* ============================================================
   PRIMARY ACTION
   ============================================================ */

.auth-submit {
  width: 100%;

  padding:
    12px 18px;

  border:
    1px solid
    var(--oranged-color, orangered);

  border-radius:
    999px;

  background:
    var(--oranged-color, orangered);

  color: #fff;

  font: inherit;

  font-size: 0.86rem;

  font-weight: 900;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}


.auth-submit:hover {
  background: #fff;

  color:
    var(--oranged-color, orangered);

  transform:
    translateY(-1px);
}


/* ============================================================
   DEVISE LINKS
   ============================================================ */

.auth-links {
  margin-top: 22px;

  padding-top: 18px;

  border-top:
    1px solid #eee8e2;

  display: flex;

  flex-direction: column;

  gap: 7px;

  text-align: center;
}


.auth-links a,
.auth-back a {
  color:
    var(--oranged-color, orangered);

  font-size: 0.78rem;

  font-weight: 800;

  text-decoration: none;
}


.auth-links a:hover,
.auth-back a:hover {
  text-decoration: underline;
}


.auth-back {
  margin-top: 20px;

  text-align: center;
}


/* ============================================================
   NOTICES
   ============================================================ */

.auth-notice {
  padding: 12px 14px;

  border-radius: 10px;

  background: #fff8e6;

  color: #856616;

  font-size: 0.8rem;
}


/* ============================================================
   DIVIDER
   ============================================================ */

.auth-divider {
  margin:
    8px 0 0;

  display: flex;

  align-items: center;

  gap: 12px;

  color: #999;

  font-size: 0.7rem;

  font-weight: 900;

  letter-spacing:
    0.1em;

  text-transform: uppercase;
}


.auth-divider::before,
.auth-divider::after {
  content: "";

  flex: 1;

  height: 1px;

  background: #eee8e2;
}


/* ============================================================
   DANGER ZONE
   ============================================================ */

.auth-danger-zone {
  margin-top: 36px;

  padding:
    20px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 20px;

  border:
    1px solid rgba(
      184,
      57,
      50,
      0.25
    );

  border-radius: 16px;

  background:
    rgba(
      184,
      57,
      50,
      0.025
    );
}


.auth-danger-zone strong {
  color: #8e2925;

  font-size: 0.88rem;
}


.auth-danger-zone p {
  margin:
    5px 0 0;

  color: #888;

  font-size: 0.75rem;
}


.auth-danger-zone form {
  margin: 0;

  flex-shrink: 0;
}


.auth-danger-button {
  padding:
    9px 14px;

  border:
    1px solid #b83932;

  border-radius:
    999px;

  background: #fff;

  color: #b83932;

  font: inherit;

  font-size: 0.76rem;

  font-weight: 850;

  cursor: pointer;
}


.auth-danger-button:hover {
  background: #b83932;

  color: #fff;
}


/* ============================================================
   DEVISE ERROR MESSAGES
   ============================================================ */

#error_explanation {
  margin-bottom: 8px;

  padding:
    14px 16px;

  border:
    1px solid
    rgba(
      184,
      57,
      50,
      0.25
    );

  border-radius: 12px;

  background:
    rgba(
      184,
      57,
      50,
      0.04
    );
}


#error_explanation h2 {
  margin:
    0 0 8px;

  color: #9e302b;

  font-size: 0.82rem;
}


#error_explanation ul {
  margin: 0;

  padding-left: 18px;
}


#error_explanation li {
  color: #8d4945;

  font-size: 0.76rem;

  text-align: left;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (
  max-width: 680px
) {

  .auth-page {
    padding:
      24px 14px 40px;
  }


  .auth-card {
    padding:
      28px 22px;
  }


  .auth-form__grid {
    grid-template-columns:
      1fr;
  }


  .auth-brand__text {
    display: none;
  }


  .auth-danger-zone {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

}
/* =========================================
   AVATAR DESIGN SYSTEM
   ========================================= */

:root {
  --avatar-skin: #c98b62;
  --avatar-hair: #181818;
  --avatar-outfit: #ef8c36;
}


/* =========================================
   SHARED CHARACTER
   ========================================= */

.avatar-svg {
  display: block;

  width: 100%;
  height: 100%;

  overflow: visible;

  /*
   * IMPORTANT:
   * The SVG is the visual layer.
   *
   * Walking animations happen HERE,
   * not on .hall-avatar / [data-avatar].
   */
  transform-origin: center bottom;

  will-change: transform;
}


.avatar-skin,
.avatar-arms {
  fill: var(--avatar-skin);
}


.avatar-legs {
  fill: #343434;
}


.avatar-shoes {
  fill: #1d1d1d;
}


.avatar-outfit {
  display: none;
  fill: var(--avatar-outfit);
}


[data-outfit="casual"]
.avatar-outfit--casual,

[data-outfit="business"]
.avatar-outfit--business,

[data-outfit="traditional"]
.avatar-outfit--traditional {
  display: block;
}


.avatar-hair {
  fill: var(--avatar-hair);
}


.avatar-eye {
  fill: #222;
}


.avatar-mouth {
  stroke: #7c342b;
}


/* =========================================
   GENDER
   ========================================= */

.avatar-outfit--male,
.avatar-outfit--female {
  display: none;
}


[data-gender="male"]
.avatar-outfit--male {
  display: block;
}


[data-gender="female"]
.avatar-outfit--female {
  display: block;
}


/* =========================================
   SKIN TONES
   ========================================= */

[data-skin-tone="light"] {
  --avatar-skin: #efc19d;
}


[data-skin-tone="medium"] {
  --avatar-skin: #c98b62;
}


[data-skin-tone="dark"] {
  --avatar-skin: #75452f;
}


/* =========================================
   HAIR COLORS
   ========================================= */

[data-hair-color="black"] {
  --avatar-hair: #181818;
}


[data-hair-color="brown"] {
  --avatar-hair: #6b402b;
}


[data-hair-color="dark-brown"] {
  --avatar-hair: #352219;
}


/* =========================================
   OUTFIT COLORS
   ========================================= */

[data-outfit-color="blue"] {
  --avatar-outfit: #42b7df;
}


[data-outfit-color="orange"] {
  --avatar-outfit: #ef8c36;
}


[data-outfit-color="green"] {
  --avatar-outfit: #4f9b70;
}


[data-outfit-color="white"] {
  --avatar-outfit: #eeeeee;
}


/* =========================================
   HAIRSTYLES
   ========================================= */

.avatar-hair {
  display: none;
}


[data-hairstyle="short"]
.avatar-hair--short,

[data-hairstyle="curly"]
.avatar-hair--curly,

[data-hairstyle="braids"]
.avatar-hair--braids {
  display: block;
}


[data-hairstyle="bald"]
.avatar-hair {
  display: none;
}


/* =========================================
   ACCESSORIES
   ========================================= */

.avatar-glasses,
.avatar-hat {
  display: none;
}


[data-accessory="glasses"]
.avatar-glasses {
  display: block;
  fill: #111;
}


[data-accessory="hat"]
.avatar-hat {
  display: block;
  fill: #222;
}


/* =========================================
   HALL AVATAR
   ========================================= */

.hall-avatar {
  position: absolute;

  left: 80px;
  top: 120px;

  width: 38px;
  height: 68px;

  z-index: 50;

  cursor: pointer;

  /*
   * VERY IMPORTANT:
   *
   * NO left/top transition here.
   *
   * JavaScript updates these values every
   * animation frame. A CSS transition would
   * make getBoundingClientRect() lag behind
   * the logical position and collision
   * detection would become unstable.
   */
  transition: none;

  /*
   * Also DO NOT animate transform on this
   * outer element. It is our physics body.
   */
  transform: none;

  will-change: left, top;
}


/*
 * Hover the visual character only.
 * Never transform the collision container.
 */

.hall-avatar:hover .avatar-svg {
  transform: scale(1.06);
}


/* =========================================
   AVATAR CREATOR PREVIEW
   ========================================= */

.avatar-preview {
  margin-bottom: 24px;
}


.avatar-preview__character {
  width: 90px;
  height: 160px;

  display: block;
}


.avatar-preview p {
  margin-top: 8px;

  font-weight: 700;
}


/* =========================================
   FORM STRUCTURE
   ========================================= */

.avatar-form {
  max-width: 900px;
}


.avatar-options {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;

  gap: 18px 24px;

  align-items: flex-end;
}


.avatar-option-group {
  display: flex;
  flex-direction: column;

  gap: 6px;

  min-width: 180px;
}


.avatar-option-group label {
  font-weight: 700;
}


.avatar-select {
  width: 180px;
  max-width: 180px;

  padding: 8px 10px;

  border: 1px solid #ccc;
  border-radius: 8px;
}


/* =========================================
   GENDER CARDS
   ========================================= */

.avatar-gender-options {
  display: flex;

  gap: 18px;

  margin-top: 10px;
}


.avatar-gender-card {
  min-width: 130px;

  padding: 18px 22px;

  border: 2px solid #efb762;
  border-radius: 18px;

  background: white;

  text-align: center;
  font-weight: 700;

  cursor: pointer;

  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}


.avatar-gender-card:hover {
  transform: translateY(-3px);

  background: #fff8ee;

  box-shadow:
    0 8px 22px
    rgba(80, 55, 20, 0.12);
}


.avatar-gender-card input {
  margin-right: 8px;
}


.avatar-gender-group {
  flex-basis: 100%;
}


/* =========================================
   SAVE BUTTON
   ========================================= */

.avatar-save-button {
  height: 42px;

  margin: 0;

  padding: 10px 20px;

  align-self: flex-end;
}


.avatar-save-button:hover {
  background: #efb762;
}


/* =========================================
   AVATAR NAME DISPLAY
   ========================================= */

.avatar-name {
  position: absolute;

  left: 50%;
  bottom: 100%;

  transform: translateX(-50%);

  margin-bottom: 4px;

  padding: 2px 6px;

  white-space: nowrap;

  background:
    rgba(255, 255, 255, 0.92);

  color: #333;

  border: 1px solid #efb762;
  border-radius: 999px;

  font-size: 0.62rem;
  font-weight: 700;

  /*
   * Prevent the name label interfering
   * with clicks/collision.
   */
  pointer-events: none;

  z-index: 3;
}


/* =========================================
   WALKING ANIMATION
   ========================================= */

/*
 * CRITICAL:
 *
 * [data-avatar] itself is NEVER animated.
 *
 * Only .avatar-svg moves visually.
 *
 * Therefore getBoundingClientRect() on the
 * outer avatar remains stable for physics.
 */


/* -----------------------------------------
   FORWARD / BACK WALK
   ----------------------------------------- */

[data-avatar].is-walking
.avatar-svg {
  animation:
    avatar-walk
    0.24s
    infinite
    alternate
    ease-in-out;
}


@keyframes avatar-walk {
  0% {
    transform:
      translateY(0)
      rotate(-1.3deg);
  }

  100% {
    transform:
      translateY(-3px)
      rotate(1.3deg);
  }
}


/* -----------------------------------------
   SIDE WALK
   ----------------------------------------- */

[data-avatar].is-walking[data-direction="left"]
.avatar-svg,

[data-avatar].is-walking[data-direction="right"]
.avatar-svg {
  animation:
    avatar-walk-side
    0.22s
    infinite
    alternate
    ease-in-out;
}


@keyframes avatar-walk-side {
  0% {
    transform:
      translateY(0)
      rotate(-2deg);
  }

  100% {
    transform:
      translateY(-3px)
      rotate(2deg);
  }
}


/*
 * Small visual lean.
 *
 * We deliberately do NOT use scaleX(-1)
 * yet because your SVG may contain text or
 * asymmetrical accessories. We can add
 * proper directional facing separately.
 */

[data-avatar][data-direction="left"]
.avatar-svg {
  transform-origin: 48% 100%;
}


[data-avatar][data-direction="right"]
.avatar-svg {
  transform-origin: 52% 100%;
}


/* =========================================
   STAND ENTRY PROMPT
   ========================================= */

.stand-entry-prompt {
  position: fixed;

  left: 50%;
  bottom: 28px;

  transform: translateX(-50%);

  z-index: 200;

  display: flex;
  align-items: center;

  gap: 12px;

  padding: 10px 18px;

  background:
    rgba(20, 20, 20, 0.92);

  color: white;

  border: 2px solid #efb762;
  border-radius: 999px;

  font-size: 0.9rem;

  box-shadow:
    0 8px 24px
    rgba(0, 0, 0, 0.22);

  pointer-events: none;
}


.stand-entry-prompt[hidden] {
  display: none;
}


.stand-entry-prompt__label {
  color: #efb762;

  font-weight: 800;
}


/* =========================================
   NEARBY NORMAL STAND
   ========================================= */

.stand.near-avatar {
  outline:
    3px solid orangered;

  outline-offset: 2px;

  box-shadow:
    0 0 0 5px
    rgba(255, 69, 0, 0.12);

  z-index: 25;
}


/* =========================================
   NEARBY SPONSOR
   ========================================= */

.stand-sponsor.near-avatar,
.stand-sponsor-lower.near-avatar {
  outline:
    3px solid #7c4dff;

  outline-offset: 3px;

  box-shadow:
    0 0 0 5px
    rgba(124, 77, 255, 0.15);

  z-index: 30;
}


/* =========================================
   STAND MODAL
   ========================================= */

.stand-modal {
  position: fixed;

  inset: 0;

  z-index: 500;
}


.stand-modal[hidden] {
  display: none;
}


.stand-modal__backdrop {
  position: absolute;

  inset: 0;

  background:
    rgba(0, 0, 0, 0.68);
}


.stand-modal__panel {
  position: absolute;

  inset: 4vh 4vw;

  overflow-y: auto;

  background: white;

  border-radius: 24px;

  box-shadow:
    0 24px 80px
    rgba(0, 0, 0, 0.3);
}


.stand-modal__close {
  position: sticky;

  top: 18px;

  float: right;

  z-index: 20;

  width: 44px;
  height: 44px;

  margin: 18px;

  border:
    1px solid #efb762;

  border-radius: 50%;

  background: white;

  font-size: 1.6rem;

  cursor: pointer;
}


.stand-modal__loading,
.stand-modal__error {
  padding: 50px;

  text-align: center;

  font-size: 1rem;

  color: #666;
}


body.stand-modal-open {
  overflow: hidden;
}

/*
 * Hall avatars belong to the venue coordinate layer, not to the
 * stand document displayed in the modal. Keep that layer out of
 * the opened stand while preserving normal shared-room visibility.
 */
body.stand-modal-open .hall-avatar {
  visibility: hidden;
  z-index: -1;
  pointer-events: none;
}

/* =========================================
   REMOTE USERS
   ========================================= */

.remote-avatar {
  z-index: 49;
  pointer-events: none;
  transition: none;
}

.remote-avatar__placeholder {
  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #ef8c36;
  color: white;

  font-size: 1.2rem;

  border: 2px solid white;

  box-shadow:
    0 3px 10px
    rgba(0, 0, 0, 0.22);
}

.remote-avatar__character {
  width: 100%;
  height: 100%;
}

.remote-avatar__character .avatar-svg {
  width: 100%;
  height: 100%;
}

/* ============================================================
   LIVE VOICE CONTROLS
   ============================================================ */

.live-voice-controls {
  position: fixed;

  right: 20px;
  bottom: 20px;

  z-index: 2500;

  width: min(
    340px,
    calc(100vw - 30px)
  );

  padding: 14px 16px;

  border: 1px solid #e1e5e8;
  border-radius: 16px;

  background:
    rgba(
      255,
      255,
      255,
      0.96
    );

  box-shadow:
    0 12px 40px
    rgba(
      0,
      0,
      0,
      0.12
    );

  backdrop-filter:
    blur(10px);
}


.live-voice-controls__status {
  display: grid;

  grid-template-columns:
    auto 1fr;

  column-gap: 8px;

  align-items: center;
}


.live-voice-controls__status small {
  grid-column: 2;

  margin-top: 2px;

  color: #888;

  font-size: 0.68rem;
}


.live-voice-controls__dot {
  width: 9px;
  height: 9px;

  border-radius: 50%;

  background: #72b63c;
}


.live-voice-controls__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin-top: 11px;
}


.live-voice-controls__actions button {
  min-height: 36px;

  padding: 7px 12px;

  border: 1px solid #ddd;
  border-radius: 999px;

  background: #fff;

  color: #444;

  font: inherit;

  font-size: 0.73rem;
  font-weight: 800;

  cursor: pointer;
}


.live-voice-controls__actions
[data-voice-join] {
  border-color: #ff4b16;

  background: #ff4b16;

  color: #fff;
}


@media (max-width: 620px) {
  .live-voice-controls {
    right: 10px;
    bottom: 10px;

    width:
      calc(100vw - 20px);
  }
}

/* ==========================================================
   MOBILE / TOUCH AVATAR CONTROLS
   ========================================================== */

.avatar-mobile-controls {
  display: none;
}

@media (pointer: coarse), (any-pointer: coarse), (max-width: 1024px) {
  .avatar-mobile-controls {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1.25rem, env(safe-area-inset-bottom));
    z-index: 10000;

    display: flex;
    align-items: flex-end;
    gap: 0.8rem;

    user-select: none;
    -webkit-user-select: none;

    touch-action: none;
  }

  .avatar-dpad {
    display: grid;

    grid-template-columns:
      3.25rem 3.25rem 3.25rem;

    grid-template-rows:
      3.25rem 3.25rem 3.25rem;

    gap: 0.2rem;
  }

  .avatar-control,
  .avatar-interact-control {
    border: 2px solid #ef8c36;

    background:
      rgba(255, 255, 255, 0.9);

    color: #333;

    box-shadow:
      0 4px 12px
      rgba(0, 0, 0, 0.2);

    font-weight: 700;

    touch-action: none;
  }

  .avatar-control {
    width: 3.25rem;
    height: 3.25rem;

    border-radius: 50%;

    font-size: 1.2rem;

    display: flex;
    align-items: center;
    justify-content: center;
  }

  .avatar-control-up {
    grid-column: 2;
    grid-row: 1;
  }

  .avatar-control-left {
    grid-column: 1;
    grid-row: 2;
  }

  .avatar-control-right {
    grid-column: 3;
    grid-row: 2;
  }

  .avatar-control-down {
    grid-column: 2;
    grid-row: 3;
  }

  .avatar-interact-control {
    min-width: 4.5rem;
    height: 3.25rem;

    padding: 0 0.8rem;

    border-radius: 1.7rem;
  }

  .avatar-control:active,
  .avatar-interact-control:active {
    transform: scale(0.92);
    background: #ef8c36;
    color: #fff;
  }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 700px) {

  .avatar-gender-options {
    flex-direction: column;
  }


  .avatar-gender-card {
    width: 100%;
  }


  .stand-modal__panel {
    inset: 2vh 2vw;

    border-radius: 18px;
  }


  .stand-entry-prompt {
    bottom: 16px;

    max-width:
      calc(100vw - 28px);

    font-size: 0.78rem;
  }
}

/* ==========================================================
   MOBILE VIEWPORT-FIXED CONTROLS
   ========================================================== */

@media (max-width: 1024px),
       (pointer: coarse),
       (any-pointer: coarse) {

  .avatar-mobile-controls {
    position: fixed !important;

    right: 0.75rem !important;

    bottom:
      calc(
        0.75rem +
        env(safe-area-inset-bottom, 0px)
      ) !important;

    z-index: 10020 !important;

    margin: 0 !important;
  }


  .live-voice-controls {
    position: fixed !important;

    left: 0.75rem !important;

    right: auto !important;

    bottom:
      calc(
        0.75rem +
        env(safe-area-inset-bottom, 0px)
      ) !important;

    z-index: 10010 !important;

    margin: 0 !important;
  }
}
.checkout-page {
  width: min(900px, calc(100% - 32px));
  margin: 70px auto 80px;
  color: #434b54;
}

.checkout-page__header {
  margin-bottom: 28px;
}

.checkout-page__eyebrow,
.checkout-panel__heading > span,
.checkout-stand > div > span {
  display: block;

  margin-bottom: 7px;

  color: #ff4b16;

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}

.checkout-page__header h1 {
  margin: 0;

  color: #272727;

  font-size: clamp(2.2rem, 5vw, 3.2rem);
}

.checkout-page__header p {
  max-width: 720px;

  margin: 12px 0 0;

  color: #6c6c6c;

  line-height: 1.55;
}

.checkout-stand {
  margin-bottom: 20px;

  padding: 20px 22px;

  border: 1px solid #dbe8cf;
  border-radius: 16px;

  background: #f7fbf4;
}

.checkout-stand strong {
  color: #333;
}

.checkout-stand > div > strong {
  display: block;

  font-size: 1.2rem;
}

.checkout-stand p {
  margin: 6px 0 0;

  color: #707070;

  font-size: 0.84rem;
}

.checkout-panel,
.checkout-empty {
  padding: 30px 32px;

  border: 1px solid #f0d4bb;
  border-radius: 22px;

  background: #fff;
}

.checkout-panel__heading {
  margin-bottom: 26px;
}

.checkout-panel__heading h2,
.checkout-empty h2 {
  margin: 0;

  color: #292929;
}

.checkout-form {
  display: grid;

  gap: 23px;
}

.checkout-field {
  display: grid;

  gap: 8px;
}

.checkout-field > label {
  color: #333;

  font-size: 0.9rem;
  font-weight: 800;
}

.checkout-field select {
  width: 100%;
  min-height: 48px;

  padding: 11px 14px;

  border: 1px solid #d8dde3;
  border-radius: 10px;

  background: #fff;

  color: #333;

  font: inherit;
}

.checkout-field select:focus {
  outline: none;

  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}

.checkout-field > small {
  color: #888;

  font-size: 0.77rem;
}

.checkout-payment-methods {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;
}

.checkout-payment-method {
  display: flex;

  align-items: center;

  gap: 12px;

  padding: 15px;

  border: 1px solid #e1e1e1;
  border-radius: 13px;

  cursor: pointer;
}

.checkout-payment-method:hover {
  border-color: #f0b77e;

  background: #fffaf6;
}

.checkout-payment-method input {
  margin: 0;
}

.checkout-payment-method__icon {
  min-width: 42px;
  height: 38px;

  display: grid;

  place-items: center;

  padding: 0 7px;

  border-radius: 8px;

  background: #ff4b16;

  color: #fff;

  font-size: 0.67rem;
  font-weight: 900;
}

.checkout-payment-method strong,
.checkout-payment-method small {
  display: block;
}

.checkout-payment-method strong {
  color: #333;
}

.checkout-payment-method small {
  margin-top: 2px;

  color: #888;
}

.checkout-payment-method--disabled {
  opacity: 0.48;

  cursor: not-allowed;
}

.checkout-actions {
  display: flex;

  justify-content: space-between;

  gap: 12px;

  padding-top: 4px;
}

.checkout-button {
  min-height: 44px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 9px 18px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.82rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;
}

.checkout-button--primary {
  border: 1px solid #f0b77e;

  background: #ff4b16;

  color: #fff;
}

.checkout-button--secondary {
  border: 1px solid #ddd;

  background: #fff;

  color: #555;
}

.checkout-empty p {
  color: #727272;

  line-height: 1.55;
}

.checkout-empty .checkout-button {
  margin-top: 12px;
}

.checkout-field__readonly {
  display: flex;
  flex-direction: column;
  gap: 5px;

  min-height: 48px;

  padding: 12px 14px;

  border: 1px solid #d8dde3;
  border-radius: 10px;

  background: #f8fafc;
}

.checkout-field__readonly strong {
  color: #333;
}

.checkout-field__readonly small {
  color: #888;
  font-size: 0.77rem;
}

/* ============================================================
   FLASH / CHECKOUT STATUS
   ============================================================ */

.gip-flash {
  display: flex;
  align-items: flex-start;
  gap: 12px;

  margin-bottom: 24px;
  padding: 15px 18px;

  border: 1px solid;
  border-radius: 14px;

  font-size: 0.88rem;
  line-height: 1.45;
}

.gip-flash__icon {
  width: 28px;
  height: 28px;

  flex: 0 0 28px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  font-weight: 900;
}

.gip-flash__content {
  padding-top: 4px;
}

.gip-flash--success {
  border-color: #dbe8cf;
  background: #f7fbf4;
  color: #446c24;
}

.gip-flash--success .gip-flash__icon {
  background: #5fb523;
  color: #fff;
}

.gip-flash--error {
  border-color: #f2c9c9;
  background: #fff7f7;
  color: #9f3434;
}

.gip-flash--error .gip-flash__icon {
  background: #d9534f;
  color: #fff;
}

.gip-flash--info {
  border-color: #cdddf0;
  background: #f5f9fd;
  color: #315f8e;
}

.gip-flash--info .gip-flash__icon {
  background: #3778c2;
  color: #fff;
}

.checkout-payment-method--featured {
  grid-column: 1 / -1;
}

@media (max-width: 650px) {
  .checkout-page {
    width: calc(100% - 18px);

    margin: 30px auto 55px;
  }

  .checkout-panel,
  .checkout-empty {
    padding: 22px 18px;
  }

  .checkout-payment-methods {
    grid-template-columns: 1fr;
  }

  .checkout-payment-method--featured {
    grid-column: auto;
  }

  .checkout-actions {
    flex-direction: column-reverse;
  }

  .checkout-button {
    width: 100%;
  }
}
/* ============================================================
   CONFERENCE / LIBRARY
   ============================================================ */

.conference-library {
  position: relative;

  width: 100%;
  min-height: 920px;

  background: #fffdf8;

  overflow: hidden;
}


/* ============================================================
   HEADER
   ============================================================ */

.conference-library__header {
  position: absolute;

  top: 34px;
  left: 48px;

  z-index: 10;

  max-width: 420px;
}


.conference-library__eyebrow {
  color: orangered;

  font-size: 0.72rem;

  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}


.conference-library__header h2 {
  margin: 5px 0 7px;

  font-size: 1.8rem;
}


.conference-library__header p {
  margin: 0;

  color: #777;
}


/* ============================================================
   WALLS
   ============================================================ */

.conference-library__wall {
  position: absolute;

  z-index: 30;

  background: #d4bea0;
}


/* TOP */

.conference-library__wall--top-left {
  top: 0;
  left: 0;

  width: calc(50% - 100px);
  height: 7px;
}


.conference-library__wall--top-right {
  top: 0;
  right: 0;

  width: calc(50% - 100px);
  height: 7px;
}


/* LEFT — split around exhibition-facing entrance */

.conference-library__wall--left-top {
  top: 0;
  left: 0;

  width: 7px;

  height: calc(50% - 75px);
}


.conference-library__wall--left-bottom {
  bottom: 0;
  left: 0;

  width: 7px;

  height: calc(50% - 75px);
}


/* RIGHT */

.conference-library__wall--right {
  top: 0;
  right: 0;

  width: 7px;
  height: 100%;
}


/* BOTTOM */

.conference-library__wall--bottom-left {
  bottom: 0;
  left: 0;

  width: calc(50% - 100px);
  height: 7px;
}


.conference-library__wall--bottom-right {
  right: 0;
  bottom: 0;

  width: calc(50% - 100px);
  height: 7px;
}


/* ============================================================
   ENTRANCES
   ============================================================ */

.conference-library__door {
  position: absolute;

  z-index: 20;

  display: flex;

  align-items: center;
  justify-content: center;

  color: #a66b25;

  font-size: 0.68rem;

  font-weight: 800;

  pointer-events: none;
}


/* TOP */

.conference-library__door--top {
  top: 0;
  left: 50%;

  width: 200px;
  height: 55px;

  transform: translateX(-50%);
}


/* BOTTOM */

.conference-library__door--bottom {
  bottom: 0;
  left: 50%;

  width: 200px;
  height: 55px;

  transform: translateX(-50%);
}


/* LEFT — facing exhibition */

.conference-library__door--left {
  left: 0;
  top: 50%;

  width: 105px;
  height: 150px;

  transform: translateY(-50%);

  justify-content: flex-start;

  padding-left: 15px;
}


/* ============================================================
   CONFERENCE ZONE
   ============================================================ */

.conference-library__conference-zone {
  position: absolute;

  left: 45px;
  top: 170px;

  width: 820px;
  height: 330px;

  border-bottom: 1px dashed #e5d5bc;
}


.conference-library__conference-zone h3,
.conference-library__library-zone h3 {
  margin: 0;

  color: #555;

  font-size: 0.9rem;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}


/* ============================================================
   SCREEN
   ============================================================ */

.conference-library__screen {
  position: absolute;

  top: 35px;
  left: 275px;

  width: 270px;
  height: 58px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #33424c;

  border-radius: 5px;

  color: #fff;

  font-size: 0.75rem;
}


/* ============================================================
   PODIUM
   ============================================================ */

.conference-library__podium {
  position: absolute;

  top: 115px;
  left: 365px;

  width: 90px;
  height: 50px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #ad7b43;

  border-radius: 5px;

  color: white;

  font-size: 0.7rem;
}


/* ============================================================
   CONFERENCE TABLE
   ============================================================ */

.conference-library__conference-table {
  position: absolute;

  left: 195px;
  top: 205px;

  width: 430px;
  height: 72px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #d8aa6c;

  border-radius: 36px;

  color: #654014;

  font-weight: 800;
}


/* ============================================================
   CONFERENCE CHAIRS
   ============================================================ */

.conference-library__conference-chair {
  position: absolute;

  width: 34px;
  height: 34px;

  border-radius:
    8px 8px
    15px 15px;

  background: #6d5948;
}


.conference-library__conference-chair--1 {
  left: 220px;
  top: 175px;
}

.conference-library__conference-chair--2 {
  left: 330px;
  top: 175px;
}

.conference-library__conference-chair--3 {
  left: 445px;
  top: 175px;
}

.conference-library__conference-chair--4 {
  left: 560px;
  top: 175px;
}

.conference-library__conference-chair--5 {
  left: 220px;
  top: 285px;
}

.conference-library__conference-chair--6 {
  left: 330px;
  top: 285px;
}

.conference-library__conference-chair--7 {
  left: 445px;
  top: 285px;
}

.conference-library__conference-chair--8 {
  left: 560px;
  top: 285px;
}


/* ============================================================
   LIBRARY
   ============================================================ */

.conference-library__library-zone {
  position: absolute;

  left: 45px;
  top: 535px;

  width: 820px;
  height: 300px;
}


/* ============================================================
   BOOKSHELVES
   ============================================================ */

.conference-library__bookshelf {
  position: absolute;

  width: 95px;
  height: 190px;

  display: flex;

  align-items: center;
  justify-content: center;

  background:
    repeating-linear-gradient(
      to bottom,
      #9d7043,
      #9d7043 28px,
      #69482e 29px,
      #69482e 33px
    );

  border-radius: 5px;

  color: white;

  font-size: 0.7rem;

  writing-mode: vertical-rl;
}


.conference-library__bookshelf--1 {
  left: 0;
  top: 50px;
}

.conference-library__bookshelf--2 {
  left: 110px;
  top: 50px;
}

.conference-library__bookshelf--3 {
  right: 0;
  top: 50px;
}


/* ============================================================
   READING TABLES
   ============================================================ */

.conference-library__reading-table {
  position: absolute;

  width: 210px;
  height: 62px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #d4ac77;

  border-radius: 14px;

  color: #68491d;

  font-size: 0.75rem;

  font-weight: 700;
}


.conference-library__reading-table--1 {
  left: 280px;
  top: 75px;
}

.conference-library__reading-table--2 {
  left: 280px;
  top: 185px;
}


/* ============================================================
   READING CHAIRS
   ============================================================ */

.conference-library__reading-chair {
  position: absolute;

  width: 32px;
  height: 32px;

  background: #75604d;

  border-radius:
    8px 8px
    15px 15px;
}


.conference-library__reading-chair--1 {
  left: 365px;
  top: 38px;
}

.conference-library__reading-chair--2 {
  left: 365px;
  top: 145px;
}

.conference-library__reading-chair--3 {
  left: 365px;
  top: 148px;
}

.conference-library__reading-chair--4 {
  left: 365px;
  top: 255px;
}


/* ============================================================
   WALKING FLOOR
   ============================================================ */

.conference-library__walking-floor {
  position: absolute;

  inset: 7px;

  pointer-events: none;
}
.contact-workspace{max-width:1380px;margin:0 auto;padding:3.5rem 5vw 6rem;color:#10192d}.contact-workspace--narrow{max-width:980px}.contact-hero,.contact-profile,.contact-conversation-header,.contact-panel,.contact-admin-tools,.contact-reply,.contact-empty{border:1px solid #dbe3ef;border-radius:24px;background:#fff}.contact-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;padding:2.25rem}.contact-hero span,.contact-panel>header span,.contact-profile__eyebrow{color:#ff4b18;font-size:.78rem;font-weight:800;letter-spacing:.16em}.contact-hero h1,.contact-panel h1,.contact-conversation-header h1{margin:.35rem 0;font-size:clamp(2rem,5vw,4rem)}.contact-hero p,.contact-panel header p,.contact-profile p,.contact-conversation-header p{color:#5d6c86}.contact-button{display:inline-flex;justify-content:center;padding:.8rem 1.2rem;border:1px solid #cbd6e5;border-radius:999px;background:#fff;color:#16213b;font-weight:800;text-decoration:none;cursor:pointer}.contact-button--primary{border-color:#ff4b18;background:#ff4b18;color:#fff}.contact-profile{display:flex;gap:1.25rem;align-items:center;margin-bottom:1.5rem;padding:1.5rem 2rem;background:#f8fbff}.contact-profile__mark{display:grid;flex:0 0 64px;width:64px;height:64px;place-items:center;border-radius:18px;background:#13223e;color:#fff;font-size:1.35rem;font-weight:900}.contact-profile h2{margin:.25rem 0}.contact-profile p{margin:.2rem 0}.contact-list{display:grid;gap:.8rem;margin-top:1.5rem}.contact-list__item{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.5rem;border:1px solid #dbe3ef;border-radius:18px;background:#fff;color:inherit;text-decoration:none}.contact-list__item--unread{border-left:6px solid #2563eb;background:#f4f8ff}.contact-list__item h2{margin:.35rem 0;font-size:1.1rem}.contact-list__item p,.contact-list__item time{margin:0;color:#64748b}.contact-status{display:inline-block;padding:.28rem .65rem;border-radius:999px;background:#e8edf5;color:#42526c;font-size:.72rem;font-weight:800;text-transform:uppercase}.contact-status--new{background:#fff0eb;color:#c6360c}.contact-status--open{background:#eef5ff;color:#1559bd}.contact-status--awaiting_user{background:#fff7d9;color:#8a5d00}.contact-status--resolved{background:#e9f8ec;color:#19713a}.contact-status--closed{background:#edf0f4;color:#5f6876}.contact-panel,.contact-conversation-header{padding:2rem}.contact-form{display:grid;gap:1.2rem;margin-top:2rem}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label,.contact-reply label,.contact-admin-tools label{display:block;margin-bottom:.45rem;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea,.contact-reply textarea,.contact-admin-tools select{width:100%;box-sizing:border-box;padding:.85rem 1rem;border:1px solid #cbd6e5;border-radius:12px;background:#fff;font:inherit}.contact-form__actions{display:flex;justify-content:flex-end;gap:.7rem}.contact-alert{margin-top:1rem;padding:1rem;border-radius:12px;background:#fff2ed;color:#9b2e0e}.contact-conversation-header{margin-bottom:1.25rem}.contact-conversation-header>a{display:inline-block;margin-bottom:1rem;color:#245edb;font-weight:800;text-decoration:none}.contact-thread{display:grid;gap:1rem;padding:1.25rem 0}.contact-thread__message{max-width:78%;padding:1rem 1.2rem;border:1px solid #dbe3ef;border-radius:18px;background:#fff}.contact-thread__message--admin{margin-left:auto;border-color:#bed2ff;background:#eef5ff}.contact-thread__message header{display:flex;justify-content:space-between;gap:2rem;margin-bottom:.65rem}.contact-thread__message time{color:#7a879c;font-size:.8rem}.contact-thread__message p{margin:.35rem 0;line-height:1.55}.contact-reply{display:grid;gap:.8rem;margin-top:1rem;padding:1.5rem}.contact-reply .contact-button{justify-self:end}.contact-admin-tools{margin-bottom:1rem;padding:1rem 1.25rem}.contact-admin-tools form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem}.contact-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.contact-filters a{padding:.55rem .9rem;border:1px solid #d4deeb;border-radius:999px;color:#41506a;text-decoration:none}.contact-filters a.active{border-color:#2563eb;background:#2563eb;color:#fff}.contact-empty{margin-top:1.5rem;padding:2rem;text-align:center}@media(max-width:760px){.contact-hero{align-items:flex-start;flex-direction:column}.contact-form__row,.contact-admin-tools form{grid-template-columns:1fr}.contact-list__item{align-items:flex-start;flex-direction:column}.contact-thread__message{max-width:92%}.contact-workspace{padding-inline:1rem}}

/* Messaging V2: wider compose/thread areas and manager directory */
.contact-workspace--compose{max-width:1240px}.contact-workspace--conversation{max-width:1180px}.contact-form__message-area{min-height:300px;resize:vertical}.contact-recipient-picker select[multiple]{min-height:132px}.contact-recipient-picker__all{display:flex!important;align-items:center;gap:.55rem;margin:.55rem 0!important;font-weight:700!important}.contact-recipient-picker__all input{width:auto!important;margin:0}.contact-recipient-picker small{display:block;margin-top:.4rem;color:#64748b}.manager-directory{margin-top:1.25rem}.manager-directory h2{margin-top:0}.manager-directory__list{display:grid;gap:.7rem;margin-top:1rem}.manager-directory__user{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #dbe3ef;border-radius:14px}.manager-directory__user small{display:block;margin-top:.2rem;color:#64748b}.manager-search{display:flex;gap:.7rem}.manager-search input{flex:1;box-sizing:border-box;padding:.85rem 1rem;border:1px solid #cbd6e5;border-radius:12px;font:inherit}@media(max-width:760px){.manager-directory__user,.manager-search{align-items:stretch;flex-direction:column}}

/* Messenger conversation and attachments */
.contact-thread{display:flex;flex-direction:column;gap:.75rem;max-height:62vh;min-height:280px;overflow-y:auto;padding:1.25rem;border-radius:24px;background:#f2f5f9;scroll-behavior:smooth}.contact-thread__message{align-self:flex-start;max-width:72%;padding:.85rem 1.05rem;border-radius:18px 18px 18px 5px;box-shadow:0 4px 14px rgba(20,35,60,.05)}.contact-thread__message--mine{align-self:flex-end;margin-left:0;border-color:#bfd3ff;border-radius:18px 18px 5px 18px;background:#eaf2ff}.contact-thread__message--manager:not(.contact-thread__message--mine){border-color:#ffd4c2;background:#fff8f4}.contact-thread__message p{overflow-wrap:anywhere}.contact-attachments{display:grid;gap:.4rem;margin:.65rem 0 0;padding:0;list-style:none}.contact-attachment{display:flex;align-items:center;gap:.6rem;padding:.6rem;border-radius:12px;background:rgba(255,255,255,.72);color:#1f4c9c;text-decoration:none}.contact-attachment span:last-child{display:grid}.contact-attachment small{color:#718096}.contact-reply__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.contact-file-picker{margin:0!important;cursor:pointer}.contact-file-picker span{display:inline-flex;padding:.65rem .9rem;border:1px solid #d4deeb;border-radius:999px}.contact-file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}@media(max-width:760px){.contact-thread__message{max-width:90%}.contact-reply__footer{align-items:stretch;flex-direction:column}}

/* Email-style support correspondence */
.contact-workspace--narrow,.contact-workspace--conversation{max-width:1180px}.contact-conversation-header{border-radius:18px 18px 0 0;margin-bottom:0;border-bottom:0}.contact-thread{display:block;max-height:none;min-height:0;overflow:visible;padding:0;border:1px solid #dbe3ef;border-radius:0;background:#fff}.contact-thread__message,.contact-thread__message--mine,.contact-thread__message--manager:not(.contact-thread__message--mine){max-width:none;margin:0;padding:1.35rem 1.6rem;border:0;border-top:1px solid #e6ebf2;border-radius:0;background:#fff;box-shadow:none}.contact-thread__message:first-child{border-top:0}.contact-thread__message--mine{background:#f8fbff}.contact-thread__message header{padding-bottom:.75rem;border-bottom:1px solid #edf1f6}.contact-thread__message header strong{color:#17233d}.contact-thread__message p{margin-top:1rem}.contact-reply{margin-top:0;border-top:0;border-radius:0 0 18px 18px}.contact-attachment-picker{display:grid;gap:.55rem}.contact-attachment-picker>label{font-weight:800}.contact-attachment-picker__rows{display:grid;gap:.5rem}.contact-attachment-picker__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.contact-attachment-picker__row input{width:100%;padding:.65rem;border:1px solid #cbd6e5;border-radius:10px;background:#fff}.contact-attachment-picker__row button{width:38px;border:1px solid #f1b8b8;border-radius:10px;background:#fff5f5;color:#a51d1d;font-size:1.25rem;cursor:pointer}.contact-attachment-picker__add{justify-self:start;border:0;background:transparent;color:#245edb;font-weight:800;cursor:pointer}.contact-attachment-picker__add span{display:inline-grid;width:24px;height:24px;place-items:center;margin-right:.3rem;border:1px solid #9db7e8;border-radius:50%}.contact-attachment-picker small{color:#64748b}@media(max-width:760px){.contact-thread__message,.contact-thread__message--mine{padding:1rem}.contact-thread__message header{align-items:flex-start;flex-direction:column;gap:.3rem}}

/* Full email mailbox: list pane + reading pane */
.contact-workspace--mailbox{align-self:center;width:min(1500px,calc(100vw - 32px))!important;max-width:none!important;padding:2rem 0 5rem}.contact-mailbox{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);min-height:720px;overflow:hidden;border:1px solid #dbe3ef;border-radius:22px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.08)}.contact-mailbox__sidebar{min-width:0;border-right:1px solid #dbe3ef;background:#f8fafc}.contact-mailbox__sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.4rem;border-bottom:1px solid #e5eaf1}.contact-mailbox__sidebar-header span{color:#ff4b18;font-size:.68rem;font-weight:900;letter-spacing:.14em}.contact-mailbox__sidebar-header h2{margin:.2rem 0 0}.contact-mailbox__compose{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#ff4b18;color:#fff;font-size:1.4rem;text-decoration:none}.contact-mailbox__folders{padding:.7rem}.contact-mailbox__folders span{display:flex;align-items:center;gap:.6rem;padding:.75rem;border-radius:10px;color:#475569;font-weight:800}.contact-mailbox__folders span.active{background:#e9f1ff;color:#1d4ed8}.contact-mailbox__conversation-list{overflow-y:auto;border-top:1px solid #e5eaf1}.contact-mailbox__conversation{display:block;padding:1rem 1.15rem;border-bottom:1px solid #e5eaf1;color:#1e293b;text-decoration:none}.contact-mailbox__conversation:hover,.contact-mailbox__conversation.active{background:#fff}.contact-mailbox__conversation.active{border-left:4px solid #ff4b18;padding-left:calc(1.15rem - 4px)}.contact-mailbox__conversation.unread{font-weight:800}.contact-mailbox__conversation>div{display:flex;justify-content:space-between;gap:.75rem}.contact-mailbox__conversation time{color:#8190a5;font-size:.68rem;font-weight:500}.contact-mailbox__conversation>span{display:block;margin:.35rem 0;font-size:.88rem;font-weight:800}.contact-mailbox__conversation p{margin:0;color:#64748b;font-size:.78rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-mailbox__reader{min-width:0;background:#fff}.contact-mailbox__reader .contact-conversation-header{border:0;border-bottom:1px solid #dbe3ef;border-radius:0}.contact-mailbox__subject-line{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.contact-mailbox__subject-line h1{font-size:clamp(1.7rem,3vw,2.7rem)}.contact-mailbox__reader .contact-thread{border:0}.contact-mailbox__reader .contact-reply{border:0;border-top:1px solid #dbe3ef;border-radius:0}.contact-mailbox__reader .contact-admin-tools{border-width:0 0 1px;border-radius:0;margin:0}@media(max-width:900px){.contact-workspace--mailbox{width:min(100%,calc(100vw - 20px))!important;padding-top:1rem}.contact-mailbox{grid-template-columns:1fr}.contact-mailbox__sidebar{border-right:0;border-bottom:1px solid #dbe3ef}.contact-mailbox__conversation-list{display:flex;overflow-x:auto}.contact-mailbox__conversation{flex:0 0 280px;border-right:1px solid #e5eaf1}.contact-mailbox__subject-line{align-items:flex-start;flex-direction:column;gap:.5rem}}
.contributor-profile-page {
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.contributor-profile-page__header {
  max-width: 820px;
  margin-bottom: 2rem;
}

.contributor-profile-page__header--status {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: none;
  gap: 2rem;
}

.contributor-profile-page__header--status > div {
  max-width: 820px;
}

.contributor-profile-page__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.contributor-profile-page__header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
}

.contributor-profile-page__header p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.65;
}

.contributor-profile-page__panel,
.contributor-profile-page__status-message,
.contributor-profile-page__notice,
.contributor-profile-page__suspended {
  padding: 1.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.contributor-profile-page__notice {
  margin-bottom: 1.25rem;
  border-color: #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.contributor-profile-page__suspended {
  border-color: #fecaca;
  color: #991b1b;
  background: #fef2f2;
}

.contributor-profile-page__status-message {
  margin-bottom: 1.5rem;
  border-left: 5px solid #2563eb;
}

.contributor-profile-page__status-message h2,
.contributor-profile-page__panel h2 {
  margin: 0 0 0.75rem;
  font-size: 1.15rem;
}

.contributor-profile-page__status-message p {
  margin: 0;
  color: #475569;
}

.contributor-profile-page__status {
  flex: 0 0 auto;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.contributor-profile-page__status--pending {
  color: #92400e;
  background: #fef3c7;
}

.contributor-profile-page__status--approved {
  color: #166534;
  background: #dcfce7;
}

.contributor-profile-page__status--suspended {
  color: #991b1b;
  background: #fee2e2;
}

.contributor-profile-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 1.5rem;
}

.contributor-profile-page__content {
  display: grid;
  gap: 1.25rem;
}

.contributor-profile-page__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}

.contributor-profile-page__details div {
  padding: 1rem;
  border-radius: 0.75rem;
  background: #f8fafc;
}

.contributor-profile-page__details dt {
  margin-bottom: 0.35rem;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contributor-profile-page__details dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.contributor-profile-page__text {
  color: #475569;
  line-height: 1.75;
}

.contributor-profile-page__sidebar {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 0.75rem;
  position: sticky;
  top: 1.5rem;
}

.contributor-profile-page__primary-link,
.contributor-profile-page__secondary-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.contributor-profile-page__primary-link {
  color: #fff;
  background: #2563eb;
}

.contributor-profile-page__secondary-link {
  border: 1px solid #cbd5e1;
  color: #334155;
  background: #fff;
}

.contributor-profile-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.contributor-profile-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.contributor-profile-form__field--wide {
  grid-column: 1 / -1;
}

.contributor-profile-form__field label {
  font-weight: 800;
}

.contributor-profile-form__field input,
.contributor-profile-form__field select,
.contributor-profile-form__field textarea {
  width: 100%;
  padding: 0.8rem 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.65rem;
  color: #111827;
  background: #fff;
  font: inherit;
  box-sizing: border-box;
}

.contributor-profile-form__field textarea {
  resize: vertical;
}

.contributor-profile-form__field input:focus,
.contributor-profile-form__field select:focus,
.contributor-profile-form__field textarea:focus {
  border-color: #2563eb;
  outline: 3px solid rgba(37, 99, 235, 0.15);
}

.contributor-profile-form__field small {
  color: #64748b;
  line-height: 1.5;
}

.contributor-profile-form__errors {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid #fecaca;
  border-radius: 0.75rem;
  color: #991b1b;
  background: #fef2f2;
}

.contributor-profile-form__errors h2 {
  margin: 0;
  font-size: 1rem;
}

.contributor-profile-form__errors ul {
  margin: 0.7rem 0 0;
  padding-left: 1.25rem;
}

.contributor-profile-form__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

.contributor-profile-form__submit {
  min-height: 46px;
  padding: 0.7rem 1.25rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.contributor-profile-form__cancel {
  color: #475569;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 760px) {
  .contributor-profile-page {
    width: min(100% - 1.5rem, 1180px);
    padding-top: 2rem;
  }

  .contributor-profile-page__header--status,
  .contributor-profile-form__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .contributor-profile-page__layout,
  .contributor-profile-page__details,
  .contributor-profile-form__grid {
    grid-template-columns: 1fr;
  }

  .contributor-profile-form__field--wide {
    grid-column: auto;
  }

  .contributor-profile-page__sidebar {
    position: static;
  }
}
/* =========================================
   ENTREPRENEUR WORKSPACE
   ========================================= */

.workspace {
  width: min(1380px, 94%);
  margin: 0 auto;
  padding: 38px 0 70px;
  box-sizing: border-box;

  color: #292929;
}


/* =========================================
   HEADER
   ========================================= */

.workspace-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  gap: 30px;

  margin-bottom: 28px;
}


.workspace-eyebrow,
.workspace-section__eyebrow {
  display: block;

  margin: 0 0 6px;

  color: orangered;

  font-size: 0.75rem;
  font-weight: 800;

  letter-spacing: 0.13em;
  text-transform: uppercase;
}


.workspace-header h1 {
  margin: 0;

  font-size: clamp(
    2rem,
    4vw,
    3.3rem
  );

  line-height: 1.05;
}


.workspace-subtitle {
  max-width: 650px;

  margin: 10px 0 0;

  color: #777;

  line-height: 1.6;
}


.workspace-header__actions {
  display: flex;
  flex-wrap: wrap;

  gap: 10px;
}


/* =========================================
   BUTTONS
   ========================================= */

.workspace-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;

  padding: 10px 18px;

  border: 0;
  border-radius: 999px;

  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;

  box-sizing: border-box;
}


.workspace-button--primary {
  background: orangered;
  color: #fff;
}


.workspace-button--primary:hover {
  filter: brightness(0.94);
}


.workspace-button--secondary {
  background: #fff5e7;
  color: #b94700;

  border: 1px solid #f1d4aa;
}


.workspace-button--danger {
  background: #fff0f0;
  color: #a62c2c;

  border: 1px solid #efc6c6;
}


/* =========================================
   NOTICE
   ========================================= */

.workspace-notice {
  margin-bottom: 22px;

  padding: 13px 17px;

  background: #eaf8ee;
  color: #246b36;

  border: 1px solid #ccebd4;
  border-radius: 12px;

  font-weight: 700;
}


/* =========================================
   TABS
   ========================================= */

.workspace-tabs {
  display: flex;
  flex-wrap: wrap;

  gap: 7px;

  margin-bottom: 30px;
  padding-bottom: 11px;

  border-bottom: 1px solid #eee;
}


.workspace-tab {
  display: inline-flex;

  padding: 9px 14px;

  color: #666;

  border-radius: 999px;

  font-size: 0.88rem;
  font-weight: 750;

  text-decoration: none;
}


.workspace-tab--active {
  background: #fff0d4;
  color: orangered;
}


/* =========================================
   SUMMARY
   ========================================= */

.workspace-summary {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 16px;

  margin-bottom: 42px;
}


.workspace-summary-card {
  padding: 22px;

  background: #fff;

  border: 1px solid #eee0c9;
  border-radius: 20px;

  box-shadow:
    0 10px 30px
    rgba(70, 45, 10, 0.05);
}


.workspace-summary-card__label {
  display: block;

  margin-bottom: 9px;

  color: #888;

  font-size: 0.78rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: 0.07em;
}


.workspace-summary-card__value {
  display: block;

  margin-bottom: 6px;

  color: #222;

  font-size: 1.7rem;
}


.workspace-summary-card small {
  color: #999;
}


/* =========================================
   SECTIONS
   ========================================= */

.workspace-section {
  margin-top: 38px;
}


.workspace-section__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 15px;
}


.workspace-section__heading h2 {
  margin: 0;

  font-size: 1.45rem;
}


.workspace-section__count {
  color: #888;

  font-size: 0.85rem;
  font-weight: 700;
}


/* =========================================
   CATEGORY CARDS
   ========================================= */

.expense-category-grid {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(220px, 1fr)
    );

  gap: 14px;
}


.expense-category-card {
  display: flex;
  flex-direction: column;

  gap: 20px;

  padding: 18px;

  background: #fff8ee;

  border: 1px solid #efdfc5;
  border-radius: 18px;
}


.expense-category-card__header {
  display: flex;
  align-items: center;

  gap: 12px;
}


.expense-category-card__header h3 {
  margin: 0 0 3px;

  font-size: 1rem;
}


.expense-category-card__header span {
  color: #888;

  font-size: 0.8rem;
}


.expense-category-card__icon,
.expense-category-card__icon-placeholder {
  width: 42px;
  height: 42px;

  flex: 0 0 42px;

  border-radius: 12px;
}


.expense-category-card__icon {
  object-fit: cover;
}


.expense-category-card__icon-placeholder {
  display: grid;
  place-items: center;

  background: #ffe4b7;
  color: orangered;

  font-weight: 900;
}


.expense-category-card__total {
  font-size: 1.25rem;
}


.category-detail-icon {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 16px;
}

.category-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid #ead9bf;
}

.workspace-field--full {
  margin-top: 24px;
}

.workspace-field__textarea {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #ddd;
  border-radius: 12px;
  resize: vertical;
  font: inherit;
  box-sizing: border-box;
}

.entry-table-header,
.entry-row {
  display: grid;
  grid-template-columns:
    minmax(180px, 1.4fr)
    minmax(130px, 0.8fr)
    130px
    130px
    120px
    60px;
  gap: 16px;
  align-items: center;
}

.entry-table-header {
  padding: 12px 20px;
  background: #fff8ee;
  color: #888;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.entry-row {
  padding: 17px 20px;
  border-top: 1px solid #f1f1f1;
}

.entry-row__main {
  min-width: 0;
}

.entry-row__name {
  display: block;
}

.entry-row__note {
  display: block;
  margin-top: 4px;
  color: #888;
}

.entry-row__date {
  color: #888;
  font-size: 0.83rem;
}

.entry-row__amount {
  color: #24753a;
  font-weight: 900;
  text-align: right;
}

.entry-row__action {
  text-align: right;
}

.entry-invoice-badge {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef7ff;
  color: #2c6085;
  font-size: 0.7rem;
  font-weight: 800;
}

.entry-current-invoice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.entry-current-invoice__image {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 12px;
}

.entry-invoice-preview {
  display: block;
  width: min(500px, 100%);
  max-height: 550px;
  object-fit: contain;
  margin-top: 10px;
  border-radius: 16px;
  border: 1px solid #eee;
}

.entry-detail-note {
  margin: 0;
  line-height: 1.65;
  color: #555;
}

.workspace-action-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.workspace-action-card {
  display: flex;
  flex-direction: column;
  gap: 5px;

  padding: 16px 18px;

  background: #fff8ee;
  color: #333;

  border: 1px solid #eedbbe;
  border-radius: 15px;

  text-decoration: none;
}

.workspace-action-card span {
  color: orangered;
  font-size: 0.8rem;
  font-weight: 700;
}

.workspace-product-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
}

.workspace-product-card {
  overflow: hidden;

  background: white;
  border: 1px solid #eee0c9;
  border-radius: 20px;
}

.workspace-product-card__image {
  height: 190px;
  background: #fff7ea;
}

.workspace-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.workspace-product-card__placeholder {
  height: 100%;

  display: grid;
  place-items: center;

  font-size: 3rem;
  font-weight: 900;

  color: orangered;
}

.workspace-product-card__body {
  padding: 18px;
}

.workspace-product-card__body h3 {
  margin: 5px 0 8px;
}

.workspace-product-card__body p {
  color: #777;
  line-height: 1.5;
}

.workspace-product-card__stand {
  color: orangered;
  font-size: 0.75rem;
  font-weight: 800;
}

.workspace-product-card__metrics,
.workspace-product-card__social {
  display: flex;
  justify-content: space-between;
  gap: 12px;

  margin-top: 14px;
}

.workspace-product-card__social {
  justify-content: flex-start;

  color: #888;
  font-size: 0.82rem;
}

.workspace-current-image {
  width: 100px;
  height: 100px;

  margin-bottom: 10px;

  object-fit: cover;
  border-radius: 14px;
}

.workspace-customer-row,
.workspace-order-row {
  display: grid;
  grid-template-columns:
    minmax(240px, 1fr)
    150px
    auto;

  align-items: center;
  gap: 20px;

  padding: 17px 20px;

  border-bottom: 1px solid #eee;
}

.workspace-order-row {
  grid-template-columns:
    minmax(220px, 1fr)
    160px
    130px
    auto;
}

.workspace-customer-row:last-child,
.workspace-order-row:last-child {
  border-bottom: 0;
}

.workspace-customer-row__identity {
  display: flex;
  align-items: center;
  gap: 12px;
}

.workspace-customer-row__identity strong,
.workspace-customer-row__identity span,
.workspace-order-row strong,
.workspace-order-row small {
  display: block;
}

.workspace-customer-row__identity span,
.workspace-order-row small {
  margin-top: 3px;
  color: #888;
}

.workspace-customer-avatar {
  width: 46px;
  height: 46px;

  object-fit: cover;
  border-radius: 50%;
}

.workspace-customer-avatar--placeholder {
  display: grid;
  place-items: center;

  background: #ffe4bd;
  color: orangered;

  font-weight: 900;
}

.order-product-row {
  display: grid;
  grid-template-columns:
    minmax(220px, 1fr)
    130px
    120px;

  gap: 15px;

  margin-bottom: 14px;
  padding: 16px;

  background: #fffaf3;

  border: 1px solid #eedfc9;
  border-radius: 14px;
}

.order-product-remove {
  justify-content: center;
}

.order-detail-products {
  display: flex;
  flex-direction: column;
  gap: 8px;

  margin-top: 8px;
}

.order-detail-product {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 20px;

  padding: 12px 14px;

  background: #fff8ee;
  border-radius: 12px;
}

@media (max-width: 800px) {
  .workspace-customer-row,
  .workspace-order-row {
    grid-template-columns: 1fr;
  }

  .order-product-row {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   PANEL
   ========================================= */

.workspace-panel {
  overflow: hidden;

  background: #fff;

  border: 1px solid #eee0c9;
  border-radius: 20px;

  box-shadow:
    0 12px 34px
    rgba(70, 45, 10, 0.05);
}


/* =========================================
   EXPENSE LIST
   ========================================= */

.expense-table-header,
.expense-row {
  display: grid;

  grid-template-columns:
    minmax(180px, 1.4fr)
    minmax(180px, 1fr)
    130px
    130px
    65px;

  gap: 16px;

  align-items: center;
}


.expense-table-header {
  padding: 12px 20px;

  background: #fff8ee;

  color: #888;

  font-size: 0.72rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: 0.06em;
}


.expense-row {
  padding: 17px 20px;

  border-top: 1px solid #f1f1f1;
}


.expense-row__name {
  color: #222;
}


.expense-row__categories,
.expense-detail-categories {
  display: flex;
  flex-wrap: wrap;

  gap: 5px;
}


.expense-category-chip {
  display: inline-flex;

  padding: 4px 8px;

  background: #fff0d4;
  color: #a94609;

  border-radius: 999px;

  font-size: 0.72rem;
  font-weight: 800;
}


.expense-row__date {
  color: #888;

  font-size: 0.83rem;
}


.expense-row__amount {
  font-weight: 900;

  text-align: right;
}


.expense-row__action {
  text-align: right;
}


.expense-row__muted {
  color: #aaa;

  font-size: 0.8rem;
}


.workspace-link {
  color: orangered;

  font-size: 0.85rem;
  font-weight: 800;

  text-decoration: none;
}


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


/* =========================================
   EMPTY STATE
   ========================================= */

.workspace-empty {
  padding: 25px;

  color: #888;

  text-align: center;
}


.workspace-empty--large {
  padding: 55px 25px;
}


.workspace-empty--large strong {
  display: block;

  margin-bottom: 7px;

  color: #333;

  font-size: 1.1rem;
}


.workspace-empty--large p {
  margin: 0 0 20px;
}


/* =========================================
   FORMS
   ========================================= */

.workspace--form {
  max-width: 1100px;
}


.workspace-form-container {
  overflow: hidden;

  background: #fff;

  border: 1px solid #eee0c9;
  border-radius: 24px;

  box-shadow:
    0 15px 45px
    rgba(70, 45, 10, 0.06);
}


.workspace-form {
  width: 100%;
}


.workspace-form-section {
  padding: 28px;

  border-bottom: 1px solid #eee;
}


.workspace-form-section__heading {
  margin-bottom: 23px;
}


.workspace-form-section__heading h2 {
  margin: 0 0 6px;

  font-size: 1.3rem;
}


.workspace-form-section__heading p {
  margin: 0;

  color: #888;
}


.workspace-form-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 2fr)
    minmax(180px, 1fr);

  gap: 18px;
}


.workspace-field {
  display: flex;
  flex-direction: column;

  gap: 7px;
}


.workspace-label {
  color: #444;

  font-size: 0.85rem;
  font-weight: 800;
}


.workspace-input {
  width: 100%;

  min-height: 45px;

  padding: 10px 13px;

  background: #fff;

  border: 1px solid #ddd;
  border-radius: 11px;

  font: inherit;

  box-sizing: border-box;
}


.workspace-input:focus {
  outline: 2px solid #ffd9b8;
  border-color: orangered;
}


.workspace-field__help {
  color: #999;

  font-size: 0.76rem;
}


/* =========================================
   CATEGORY SELECTOR
   ========================================= */

.expense-category-selector {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(190px, 1fr)
    );

  gap: 10px;
}


.expense-category-option {
  position: relative;

  cursor: pointer;
}


.expense-category-option__input {
  position: absolute;

  opacity: 0;

  pointer-events: none;
}


.expense-category-option__content {
  display: flex;
  align-items: center;

  gap: 10px;

  min-height: 64px;

  padding: 10px 12px;

  background: #fff;

  border: 1px solid #ddd;
  border-radius: 14px;

  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    transform 0.15s ease;
}


.expense-category-option:hover
.expense-category-option__content {
  border-color: #efb762;

  transform: translateY(-1px);
}


.expense-category-option__input:checked
+
.expense-category-option__content {
  background: #fff5e7;

  border-color: orangered;

  box-shadow:
    0 0 0 2px
    rgba(255, 69, 0, 0.08);
}


.expense-category-option__icon,
.expense-category-option__placeholder {
  width: 38px;
  height: 38px;

  flex: 0 0 38px;

  border-radius: 10px;
}


.expense-category-option__icon {
  object-fit: cover;
}


.expense-category-option__placeholder {
  display: grid;
  place-items: center;

  background: #ffe7c1;
  color: orangered;

  font-weight: 900;
}


.expense-category-option__content strong,
.expense-category-option__content small {
  display: block;
}


.expense-category-option__content small {
  margin-top: 2px;

  color: #999;

  font-size: 0.72rem;
}


/* =========================================
   FORM ACTIONS
   ========================================= */

.workspace-form-actions {
  display: flex;
  justify-content: flex-end;

  gap: 10px;

  padding: 20px 28px;

  background: #fffaf3;
}


/* =========================================
   FORM ERRORS
   ========================================= */

.workspace-form-errors {
  margin: 22px 28px 0;

  padding: 15px 18px;

  background: #fff0f0;
  color: #8f2d2d;

  border: 1px solid #efcaca;
  border-radius: 13px;
}


.workspace-form-errors ul {
  margin: 8px 0 0;
  padding-left: 20px;
}


/* =========================================
   EXPENSE DETAIL
   ========================================= */

.expense-detail-card {
  overflow: hidden;

  background: #fff;

  border: 1px solid #eee0c9;
  border-radius: 24px;

  box-shadow:
    0 15px 45px
    rgba(70, 45, 10, 0.06);
}


.expense-detail-card__amount {
  padding: 30px;

  background: #fff8ee;
}


.expense-detail-card__amount span {
  display: block;

  margin-bottom: 7px;

  color: #888;

  font-size: 0.75rem;
  font-weight: 800;

  text-transform: uppercase;
}


.expense-detail-card__amount strong {
  font-size: 2.3rem;
}


.expense-detail-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 25px;

  padding: 28px;
}


.expense-detail-field span:first-child {
  display: block;

  margin-bottom: 7px;

  color: #999;

  font-size: 0.75rem;
  font-weight: 800;

  text-transform: uppercase;
}


.expense-detail-field--wide {
  grid-column: 1 / -1;
}


/* =========================================
   DANGER ZONE
   ========================================= */

.workspace-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  margin-top: 35px;
  padding: 18px 22px;

  background: #fffafa;

  border: 1px solid #f1dada;
  border-radius: 16px;
}


.workspace-danger-zone p {
  margin: 3px 0 0;

  color: #999;

  font-size: 0.82rem;
}


/* =========================================
   WORKSPACE FORMS
   ========================================= */

.workspace-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.workspace-form__section {
  background: #fff;
  border: 1px solid #f0dcc1;
  border-radius: 24px;
  padding: 32px;
}

.workspace-form__section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 28px;
}

.workspace-form__section h2 {
  margin: 6px 0 8px;
  font-size: 1.5rem;
  color: #242424;
}

.workspace-form__section p {
  margin: 0;
  color: #777;
}

.workspace-form__intro {
  margin-bottom: 28px !important;
}

.workspace-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.workspace-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.workspace-field__label {
  font-weight: 700;
  color: #292929;
}

.workspace-field__input,
.workspace-field__select {
  width: 100%;
  border: 1px solid #dedede;
  border-radius: 12px;
  background: #fff;
  padding: 14px 16px;
  font: inherit;
  color: #292929;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.workspace-field__input:focus,
.workspace-field__select:focus {
  outline: none;
  border-color: #ff4b00;
  box-shadow: 0 0 0 3px rgba(255, 75, 0, 0.1);
}

.workspace-field__select--categories {
  min-height: 110px;
}

.workspace-field__hint {
  color: #888;
  font-size: 0.85rem;
}

.workspace-money-input {
  position: relative;
}

.workspace-money-input__symbol {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
  color: #777;
  pointer-events: none;
}

.workspace-money-input .workspace-field__input {
  padding-left: 34px;
}

.workspace-form__footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
}

.workspace-form__errors {
  padding: 18px 22px;
  border: 1px solid #f1b6a2;
  border-radius: 14px;
  background: #fff5f1;
  color: #9c3210;
}

.workspace-form__errors ul {
  margin: 10px 0 0;
  padding-left: 20px;
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 760px) {
  .workspace-form__grid {
    grid-template-columns: 1fr;
  }

  .workspace-form__section-header {
    flex-direction: column;
  }

  .workspace-form__section {
    padding: 22px;
  }

  .workspace-form__footer {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .workspace-form__footer .workspace-button {
    text-align: center;
  }
}


/* =========================================
   QUICK CATEGORY MODAL
   ========================================= */

.workspace-modal[hidden] {
  display: none;
}

.workspace-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 24px;
}

.workspace-modal__backdrop {
  position: absolute;
  inset: 0;

  background: rgba(20, 20, 20, 0.48);
  backdrop-filter: blur(3px);
}

.workspace-modal__dialog {
  position: relative;
  z-index: 1;

  width: min(520px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;

  padding: 34px;

  background: #fff;
  border: 1px solid #f0dcc1;
  border-radius: 24px;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.18);
}

.workspace-modal__dialog h2 {
  margin: 6px 0 8px;

  font-size: 1.8rem;
  color: #242424;
}

.workspace-modal__intro {
  margin: 0 0 28px;

  color: #777;
  line-height: 1.5;
}

.workspace-modal__close {
  position: absolute;
  top: 18px;
  right: 20px;

  width: 38px;
  height: 38px;

  border: 0;
  border-radius: 50%;

  background: #f8f8f8;
  color: #333;

  font-size: 1.6rem;
  line-height: 1;

  cursor: pointer;
}

.workspace-modal__close:hover {
  background: #fff0e8;
  color: #ff4b00;
}

.workspace-modal .workspace-field {
  margin-bottom: 22px;
}

.workspace-field__file {
  width: 100%;

  padding: 12px;

  border: 1px dashed #d8c5ac;
  border-radius: 12px;

  background: #fffaf5;
}

.workspace-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;

  margin-top: 30px;
}

body.workspace-modal-open {
  overflow: hidden;
}

@media (max-width: 600px) {
  .workspace-modal {
    padding: 14px;
  }

  .workspace-modal__dialog {
    padding: 26px 20px 22px;
  }

  .workspace-modal__actions {
    flex-direction: column-reverse;
  }
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 850px) {

  .workspace-header {
    flex-direction: column;
  }


  .workspace-summary {
    grid-template-columns: 1fr;
  }


  .expense-table-header {
    display: none;
  }


  .expense-row {
    grid-template-columns: 1fr auto;
  }


  .expense-row__categories {
    grid-column: 1 / -1;
  }


  .expense-row__date {
    grid-column: 1;
  }


  .expense-row__amount {
    grid-column: 2;
    grid-row: 1;

    text-align: right;
  }


  .expense-row__action {
    grid-column: 2;

    text-align: right;
  }


  .workspace-form-grid,
  .expense-detail-grid {
    grid-template-columns: 1fr;
  }


  .expense-detail-field--wide {
    grid-column: auto;
  }


  .workspace-danger-zone {
    align-items: flex-start;
    flex-direction: column;
  }

}

/* ============================================================
   WORKSPACE TABS
   ============================================================ */

.workspace-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 10px;

  margin:
    34px 0
    40px;

  padding:
    0 0
    14px;

  border-bottom:
    1px solid
    #ececec;
}


/*
 * Support both the older class and
 * the newer class while we migrate views.
 */
.workspace-tab,
.workspace-tabs__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;

  padding:
    10px 20px;

  border-radius:
    999px;

  color:
    #555;

  background:
    transparent;

  font-size:
    1rem;

  font-weight:
    700;

  text-decoration:
    none;

  white-space:
    nowrap;

  transition:
    background 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}


.workspace-tab:hover,
.workspace-tabs__link:hover {
  color:
    orangered;

  background:
    #fff5e5;

  transform:
    translateY(-1px);
}


/* Active tab */

.workspace-tab--active,
.workspace-tabs__link--active {
  color:
    orangered;

  background:
    #fff0d2;
}


/* ============================================================
   OVERVIEW
   ============================================================ */

.workspace-overview {
  width:
    100%;

  padding-bottom:
    70px;
}


.workspace-overview__header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    30px;

  margin-bottom:
    36px;
}


.workspace-overview__header h1 {
  margin:
    6px 0 10px;

  font-size:
    clamp(
      2.4rem,
      5vw,
      4.7rem
    );

  line-height:
    1;

  color:
    #252525;
}


.workspace-overview__header p {
  max-width:
    720px;

  margin:
    0;

  color:
    #6d6d6d;

  font-size:
    1.05rem;

  line-height:
    1.6;
}


/* ============================================================
   OVERVIEW MAIN METRICS
   ============================================================ */

.overview-metrics {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    24px;

  margin-bottom:
    56px;
}


.overview-card {
  min-height:
    170px;

  padding:
    30px;

  display:
    flex;

  flex-direction:
    column;

  justify-content:
    space-between;

  border:
    1px solid
    #efd8b6;

  border-radius:
    28px;

  background:
    #fff;

  box-shadow:
    0 10px 30px
    rgba(
      80,
      55,
      20,
      0.035
    );
}


.overview-card__label {
  color:
    #808080;

  font-size:
    0.88rem;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;
}


.overview-card__value {
  margin:
    14px 0 8px;

  color:
    #141414;

  font-size:
    2.3rem;

  line-height:
    1;

  font-weight:
    800;
}


.overview-card__meta {
  color:
    #898989;

  font-size:
    0.92rem;
}


.overview-card--balance {
  background:
    #fffaf2;
}


.overview-card--negative
.overview-card__value {
  color:
    #b9412c;
}


/* ============================================================
   OVERVIEW SECTIONS
   ============================================================ */

.overview-section {
  margin-bottom:
    56px;
}


.overview-section__heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    20px;

  margin-bottom:
    22px;
}


.overview-section__heading h2 {
  margin:
    5px 0 0;

  color:
    #202020;

  font-size:
    1.7rem;

  line-height:
    1.2;
}


/* ============================================================
   SMALL STAT CARDS
   ============================================================ */

.overview-small-cards {
  display:
    grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(
        180px,
        1fr
      )
    );

  gap:
    18px;
}


.overview-small-card {
  min-height:
    135px;

  padding:
    24px;

  display:
    flex;

  flex-direction:
    column;

  justify-content:
    center;

  gap:
    8px;

  border:
    1px solid
    #efd8b6;

  border-radius:
    24px;

  background:
    #fffaf2;

  color:
    #202020;

  text-decoration:
    none;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}


a.overview-small-card:hover {
  transform:
    translateY(-3px);

  border-color:
    #efb762;

  box-shadow:
    0 12px 30px
    rgba(
      80,
      55,
      20,
      0.09
    );
}


.overview-small-card__number {
  color:
    #181818;

  font-size:
    2.3rem;

  line-height:
    1;

  font-weight:
    800;
}


.overview-small-card__label {
  color:
    #777;

  font-size:
    0.95rem;

  font-weight:
    700;
}


/* ============================================================
   QUICK ACTIONS
   ============================================================ */

.overview-actions {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    12px;
}


/* ============================================================
   RECENT ACTIVITY
   ============================================================ */

.overview-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap:
    24px;
}


.overview-panel {
  min-height:
    280px;

  padding:
    28px;

  border:
    1px solid
    #efd8b6;

  border-radius:
    28px;

  background:
    white;
}


.overview-panel__header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    20px;

  margin-bottom:
    24px;
}


.overview-panel__header h2 {
  margin:
    4px 0 0;

  font-size:
    1.35rem;
}


.overview-panel__link {
  color:
    orangered;

  font-weight:
    700;

  text-decoration:
    none;
}


.overview-panel__link:hover {
  text-decoration:
    underline;
}


/* ============================================================
   RECENT LIST
   ============================================================ */

.overview-list {
  display:
    flex;

  flex-direction:
    column;
}


.overview-list__item {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    20px;

  padding:
    16px 0;

  border-bottom:
    1px solid
    #eeeeee;
}


.overview-list__item:last-child {
  border-bottom:
    0;
}


.overview-list__item > div {
  min-width:
    0;
}


.overview-list__item strong {
  display:
    block;

  margin-bottom:
    4px;

  color:
    #222;
}


.overview-list__item small {
  color:
    #888;
}


.overview-list__amount {
  flex-shrink:
    0;

  color:
    #222;

  font-weight:
    800;
}


.overview-list__amount--expense {
  color:
    #b9412c;
}


.overview-list__date {
  flex-shrink:
    0;

  color:
    #888;

  font-size:
    0.88rem;
}


.overview-empty {
  margin:
    20px 0 0;

  color:
    #888;

  line-height:
    1.6;
}


/* ============================================================
   USER MENU
   ============================================================ */

.workspace-user-menu {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  flex-wrap:
    wrap;

  gap:
    10px;
}


.workspace-user-menu__identity {
  display:
    flex;

  flex-direction:
    column;

  margin-right:
    8px;
}


.workspace-user-menu__name {
  color:
    #222;

  font-weight:
    800;
}


.workspace-user-menu__email {
  color:
    #8a8a8a;

  font-size:
    0.78rem;
}


.workspace-user-menu__link,
.workspace-user-menu__logout {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    40px;

  padding:
    8px 15px;

  border:
    1px solid
    #efd8b6;

  border-radius:
    999px;

  background:
    white;

  color:
    #4c4c4c;

  font-family:
    inherit;

  font-size:
    0.9rem;

  font-weight:
    700;

  text-decoration:
    none;

  cursor:
    pointer;
}


.workspace-user-menu__link:hover,
.workspace-user-menu__logout:hover {
  color:
    orangered;

  border-color:
    #efb762;

  background:
    #fff7eb;
}


.workspace-user-menu__link--admin {
  color:
    orangered;
}


/*
 * button_to creates a form wrapper.
 */
.workspace-user-menu form {
  margin:
    0;
}


/* ==========================================================
   LANGUAGE SWITCHER
   ========================================================== */

.workspace-language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;

  padding: 0.25rem;

  border: 1px solid rgba(232, 164, 65, 0.45);
  border-radius: 999px;

  background: #fff;

  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;

  white-space: nowrap;
}


/* ----------------------------------------------------------
   LANGUAGE LINKS
   ---------------------------------------------------------- */

.workspace-language-switcher__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 2.4rem;
  height: 2rem;

  padding: 0 0.65rem;

  border-radius: 999px;

  color: #777;
  text-decoration: none;

  transition:
    background-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}


.workspace-language-switcher__link:hover {
  color: #222;

  background: rgba(232, 164, 65, 0.12);

  transform: translateY(-1px);
}


/* ----------------------------------------------------------
   CURRENT LANGUAGE
   ---------------------------------------------------------- */

.workspace-language-switcher__link--active {
  color: #fff;

  background: #e8a441;

  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.08);
}


.workspace-language-switcher__link--active:hover {
  color: #fff;

  background: #d99532;

  transform: none;
}


/* ----------------------------------------------------------
   SEPARATOR
   ---------------------------------------------------------- */

.workspace-language-switcher__separator {
  color: #c7c7c7;

  font-weight: 400;

  user-select: none;
}



/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (
  max-width: 1000px
) {

  .overview-metrics {
    grid-template-columns:
      1fr 1fr;
  }


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

}


@media (
  max-width: 700px
) {

  .workspace-overview__header {
    flex-direction:
      column;
  }


  .workspace-user-menu {
    justify-content:
      flex-start;
  }


  .overview-metrics {
    grid-template-columns:
      1fr;
  }


  .overview-small-cards {
    grid-template-columns:
      1fr 1fr;
  }


  .workspace-tabs {
    gap:
      6px;
  }


  .workspace-tab,
  .workspace-tabs__link {
    padding:
      8px 12px;

    font-size:
      0.88rem;
  }

}


@media (
  max-width: 460px
) {

  .overview-small-cards {
    grid-template-columns:
      1fr;
  }

}
.overview-contributions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.overview-contribution-card {
  padding: 1.25rem;
  border: 1px solid #dbe3ee;
  border-radius: 1rem;
  background: #fff;
}

.overview-contribution-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  color: #172033;
  font-weight: 800;
}

.overview-contribution-card > header > strong {
  color: #2563eb;
  font-size: 1.8rem;
}

.overview-contribution-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.overview-contribution-status {
  display: inline-flex;
  padding: .4rem .65rem;
  align-items: center;
  gap: .45rem;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: .72rem;
  font-weight: 700;
}

.overview-contribution-status--approved,
.overview-contribution-status--published {
  color: #166534;
  background: #dcfce7;
}

.overview-contribution-status--revisions_requested {
  color: #991b1b;
  background: #fee2e2;
}

@media (max-width: 700px) {
  .overview-contributions {
    grid-template-columns: 1fr;
  }
}

.overview-surveys {
  margin-bottom: 40px;
  padding: 28px;
  border: 1px solid #dbe5f1;
  border-radius: 22px;
  background: #f8fbff;
}

.overview-surveys .overview-section__heading { margin-bottom: 20px; }
.overview-surveys .overview-section__heading p { max-width: 760px; margin: 8px 0 0; color: #5b6b82; line-height: 1.55; }
.overview-surveys__list { display: grid; gap: 14px; }
.overview-survey-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; border: 1px solid #d9e3ef; border-radius: 16px; background: #fff; }
.overview-survey-card h3 { margin: 10px 0 6px; }
.overview-survey-card p { margin: 0; color: #627086; line-height: 1.5; }
.overview-survey-card__meta { display: flex; align-items: center; gap: 10px; color: #52627a; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.overview-survey-card__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.overview-survey-card__button { padding: 11px 16px; border: 1px solid #2563eb; border-radius: 999px; background: #2563eb; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.overview-survey-card__button--secondary { background: #fff; color: #1d4ed8; }

@media (max-width: 760px) {
  .overview-survey-card { align-items: stretch; flex-direction: column; }
  .overview-survey-card__actions { flex-wrap: wrap; }
}
/* ============================================================
   GIP — ENTERPRISE MANAGEMENT
   ============================================================ */


/* ============================================================
   PAGE
   ============================================================ */

.enterprise-workspace {
  width:
    min(
      1135px,
      calc(100% - 32px)
    );

  margin:
    70px auto 80px;

  color:
    var(--main-gray);
}


/* ============================================================
   HEADER
   ============================================================ */

.enterprise-workspace__header {
  margin-bottom: 34px;
}


.enterprise-workspace__eyebrow {
  display: block;

  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.76rem;
  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}


.enterprise-workspace__header h1 {
  margin: 0;

  color: #262626;

  font-size:
    clamp(
      2.3rem,
      5vw,
      3.2rem
    );

  line-height: 1.05;
}


.enterprise-workspace__header p {
  max-width: 820px;

  margin:
    15px 0 0;

  color: #616161;

  font-size: 1rem;

  line-height: 1.55;
}


/* ============================================================
   TABS
   ============================================================ */

.enterprise-workspace
.workspace-tabs {
  margin-bottom: 40px;
}


/* ============================================================
   BODY
   ============================================================ */

.enterprise-workspace__body {
  width: 100%;
}


/* ============================================================
   FORM
   ============================================================ */

.enterprise-form {
  display: grid;

  gap: 22px;
}


/* ============================================================
   FORM CARD
   ============================================================ */

.enterprise-form__card {
  padding:
    32px 34px;

  border:
    1px solid #f0d4bb;

  border-radius: 22px;

  background: #fff;

  box-shadow:
    0 4px 18px
    rgba(0, 0, 0, 0.025);
}


/* ============================================================
   SECTION HEADING
   ============================================================ */

.enterprise-form__section-heading {
  margin-bottom: 28px;
}


.enterprise-form__section-copy {
  display: block;
}


.enterprise-form__eyebrow {
  display: block;

  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.72rem;
  font-weight: 900;

  letter-spacing: 0.14em;

  text-transform: uppercase;
}


.enterprise-form__section-heading h2 {
  margin: 0;

  color: #222;

  font-size: 1.45rem;

  line-height: 1.25;
}


.enterprise-form__section-heading p {
  margin:
    6px 0 0;

  max-width: 760px;

  color: #6c6c6c;

  font-size: 0.92rem;

  line-height: 1.5;
}


/* ============================================================
   GRID
   ============================================================ */

.enterprise-form__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 22px;
}


/* ============================================================
   FIELD
   ============================================================ */

.enterprise-form__field {
  margin-bottom: 21px;
}


.enterprise-form__field:last-child {
  margin-bottom: 0;
}


.enterprise-form__field label {
  display: block;

  margin-bottom: 8px;

  color: #333;

  font-size: 0.9rem;
  font-weight: 800;
}


.enterprise-form__field input[type="text"],
.enterprise-form__field input[type="url"],
.enterprise-form__field input[type="email"],
.enterprise-form__field input[type="number"],
.enterprise-form__field input[type="date"],
.enterprise-form__field select,
.enterprise-form__field textarea {
  width: 100%;

  padding:
    13px 15px;

  border:
    1px solid #d9dde1;

  border-radius: 9px;

  outline: none;

  background: #fff;

  color: #272727;

  font: inherit;

  line-height: 1.45;

  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}


.enterprise-form__field textarea {
  min-height: 140px;

  resize: vertical;
}


.enterprise-form__field input:focus,
.enterprise-form__field select:focus,
.enterprise-form__field textarea:focus {
  border-color:
    var(--main-blue);

  background: #fff;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}


.enterprise-form__field small {
  display: block;

  margin-top: 8px;

  color: #8a8a8a;

  font-size: 0.78rem;

  line-height: 1.45;
}


/* ============================================================
   FILE UPLOAD
   ============================================================ */

.enterprise-form__upload {
  padding: 14px;

  border:
    1px dashed #cfd5da;

  border-radius: 10px;

  background: #fafafa;
}


.enterprise-form__upload input[type="file"] {
  width: 100%;

  padding: 0;

  border: 0;

  background: transparent;

  color: #555;

  font: inherit;
}


/* ============================================================
   CURRENT LOGO
   ============================================================ */

.enterprise-form__current-logo {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 20px;

  margin-top: 12px;

  padding:
    16px 18px;

  border:
    1px solid #e8e8e8;

  border-radius: 12px;

  background: #fafafa;
}


.enterprise-form__current-logo span {
  display: block;

  margin-bottom: 4px;

  color: #888;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.1em;

  text-transform: uppercase;
}


.enterprise-form__current-logo strong {
  display: block;

  color: #333;

  font-size: 0.95rem;
}


.enterprise-form__logo-preview {
  width: 82px;
  height: 82px;

  flex:
    0 0 82px;

  padding: 6px;

  object-fit: contain;

  border:
    1px solid #e1e1e1;

  border-radius: 10px;

  background: #fff;
}


/* ============================================================
   SPONSOR STATUS
   ============================================================ */

.enterprise-form__sponsor {
  display: flex;

  align-items: flex-start;

  gap: 16px;

  padding:
    20px 22px;

  border:
    1px solid #dbe8cf;

  border-radius: 16px;

  background:
    linear-gradient(
      135deg,
      #f7fbf3,
      #fbfdf9
    );
}


.enterprise-form__sponsor-icon {
  width: 44px;
  height: 44px;

  flex:
    0 0 44px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--main-green);

  color: #fff;

  font-size: 1rem;
}


.enterprise-form__sponsor span {
  display: block;

  margin-bottom: 5px;

  color: #55892b;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.1em;

  text-transform: uppercase;
}


.enterprise-form__sponsor strong {
  display: block;

  color: #303030;

  font-size: 0.98rem;
}


.enterprise-form__sponsor p {
  margin:
    5px 0 0;

  color: #6f6f6f;

  font-size: 0.84rem;

  line-height: 1.5;
}


/* ============================================================
   ERRORS
   ============================================================ */

.enterprise-form__errors {
  padding:
    16px 18px;

  border:
    1px solid #efb8b4;

  border-radius: 12px;

  background: #fff4f3;

  color: #9b2f29;
}


.enterprise-form__errors strong {
  display: block;

  margin-bottom: 8px;
}


.enterprise-form__errors ul {
  margin: 0;

  padding-left: 18px;
}


.enterprise-form__errors li {
  margin:
    4px 0;

  list-style: disc;

  text-align: left;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.enterprise-form__actions {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 14px;

  padding-top: 4px;
}


.enterprise-form__submit,
.enterprise-form__secondary {
  min-height: 44px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding:
    10px 18px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.87rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;

  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}


.enterprise-form__submit {
  border:
    1px solid #f0b77e;

  background: #fff4e9;

  color: #b45612;
}


.enterprise-form__submit:hover {
  background: #ff4b16;

  border-color: #ff4b16;

  color: #fff;
}


.enterprise-form__secondary {
  border:
    1px solid #d7d7d7;

  background: #fff;

  color: #555;
}


.enterprise-form__secondary:hover {
  border-color: #aaa;

  color: #222;
}



/* ============================================================
   ENTERPRISE FORM
   ============================================================ */

.enterprise-form {
  width: 100%;

  display: flex;
  flex-direction: column;

  gap: 1.5rem;
}


/* ============================================================
   ERRORS
   ============================================================ */

.enterprise-form__errors {
  padding: 1rem 1.15rem;

  border:
    1px solid rgba(180, 35, 24, 0.2);

  border-radius: 14px;

  background:
    rgba(254, 243, 242, 0.8);

  color: #912018;
}


.enterprise-form__errors-heading {
  display: flex;

  align-items: center;

  gap: 0.5rem;

  margin-bottom: 0.65rem;
}


.enterprise-form__errors ul {
  margin:
    0
    0
    0
    1.2rem;

  padding: 0;
}


/* ============================================================
   SECTIONS
   ============================================================ */

.enterprise-form__section,
.sponsor-profile-fields__section {
  width: 100%;

  padding: 1.5rem;

  box-sizing: border-box;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 18px;

  background: #ffffff;
}


.enterprise-form__section-heading,
.sponsor-profile-fields__heading {
  margin-bottom: 1.25rem;
}


.enterprise-form__eyebrow,
.sponsor-profile-fields__eyebrow {
  display: block;

  margin-bottom: 0.4rem;

  font-size: 0.7rem;

  font-weight: 800;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: #ff4b19;
}


.enterprise-form__section-heading h2,
.sponsor-profile-fields__heading h3 {
  margin:
    0
    0
    0.4rem;

  color: #172033;
}


.enterprise-form__section-heading h2 {
  font-size: 1.45rem;
}


.sponsor-profile-fields__heading h3 {
  font-size: 1.25rem;
}


.enterprise-form__section-heading p,
.sponsor-profile-fields__heading p {
  margin: 0;

  max-width: 720px;

  line-height: 1.6;

  color:
    rgba(15, 23, 42, 0.62);
}


/* ============================================================
   GRID
   ============================================================ */

.enterprise-form__grid,
.sponsor-profile-fields__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


/* ============================================================
   FIELD
   ============================================================ */

.enterprise-form .field,
.sponsor-profile-fields .field {
  display: flex;

  flex-direction: column;

  gap: 0.45rem;

  margin-bottom: 1rem;

  min-width: 0;
}


.enterprise-form .field:last-child,
.sponsor-profile-fields .field:last-child {
  margin-bottom: 0;
}


.enterprise-form label,
.sponsor-profile-fields label {
  font-size: 0.82rem;

  font-weight: 700;

  color: #172033;
}


/* ============================================================
   CONTROLS
   ============================================================ */

.enterprise-form input[type="text"],
.enterprise-form input[type="url"],
.enterprise-form input[type="email"],
.enterprise-form input[type="number"],
.enterprise-form select,
.enterprise-form textarea,

.sponsor-profile-fields input[type="text"],
.sponsor-profile-fields input[type="url"],
.sponsor-profile-fields input[type="email"],
.sponsor-profile-fields input[type="number"],
.sponsor-profile-fields select,
.sponsor-profile-fields textarea {
  width: 100%;

  min-height: 46px;

  padding:
    0.7rem
    0.85rem;

  box-sizing: border-box;

  border:
    1px solid rgba(15, 23, 42, 0.14);

  border-radius: 10px;

  background: #ffffff;

  color: #172033;

  font: inherit;

  outline: none;

  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}


.enterprise-form textarea,
.sponsor-profile-fields textarea {
  min-height: 120px;

  resize: vertical;

  line-height: 1.55;
}


.enterprise-form input:focus,
.enterprise-form select:focus,
.enterprise-form textarea:focus,

.sponsor-profile-fields input:focus,
.sponsor-profile-fields select:focus,
.sponsor-profile-fields textarea:focus {
  border-color:
    rgba(255, 75, 25, 0.65);

  box-shadow:
    0 0 0 3px
    rgba(255, 75, 25, 0.08);
}


/* ============================================================
   FILE INPUTS
   ============================================================ */

.enterprise-form input[type="file"],
.sponsor-profile-fields input[type="file"] {
  width: 100%;

  padding: 0.6rem;

  box-sizing: border-box;

  border:
    1px dashed rgba(15, 23, 42, 0.18);

  border-radius: 10px;

  background: #fafafa;
}


/* ============================================================
   HELP TEXT
   ============================================================ */

.enterprise-form small,
.sponsor-profile-fields small {
  display: block;

  font-size: 0.74rem;

  line-height: 1.45;

  color:
    rgba(15, 23, 42, 0.5);
}


/* ============================================================
   ENTERPRISE LOGO PREVIEW
   ============================================================ */

.enterprise-form__logo-preview {
  width: 160px;
  height: 110px;

  display: grid;

  place-items: center;

  margin-bottom: 0.8rem;

  padding: 0.8rem;

  box-sizing: border-box;

  overflow: hidden;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 14px;

  background: #fafafa;
}


.enterprise-form__logo-preview img {
  display: block;

  max-width: 100%;
  max-height: 100%;

  object-fit: contain;
}


/* ============================================================
   SPONSOR PROFILE
   ============================================================ */

.sponsor-profile-fields {
  width: 100%;

  display: flex;

  flex-direction: column;

  gap: 1.5rem;

  margin-top: 0.5rem;
}


.sponsor-profile-fields > header {
  padding:
    1.6rem;

  border-radius: 18px;

  background:
    linear-gradient(
      135deg,
      rgba(255, 247, 237, 0.8),
      rgba(255, 255, 255, 1)
    );

  border:
    1px solid rgba(255, 75, 25, 0.12);
}


.sponsor-profile-fields > header h2 {
  margin:
    0
    0
    0.45rem;

  font-size: 1.7rem;

  color: #172033;
}


.sponsor-profile-fields > header p {
  margin: 0;

  max-width: 720px;

  line-height: 1.6;

  color:
    rgba(15, 23, 42, 0.62);
}


/* ============================================================
   PREVIEWS
   ============================================================ */

.sponsor-profile-preview {
  width: 100%;
  max-width: 520px;

  height: 220px;

  display: grid;

  place-items: center;

  margin-bottom: 0.8rem;

  overflow: hidden;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 14px;

  background: #f8fafc;
}


.sponsor-profile-preview img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


.sponsor-profile-preview--publicity {
  max-width: 720px;

  height: 300px;
}


.sponsor-profile-preview--publicity img {
  object-fit: cover;
}


/* ============================================================
   TOGGLES
   ============================================================ */

.sponsor-profile-fields__toggle {
  display: flex;

  align-items: flex-start;

  gap: 0.75rem;

  padding: 0.9rem 1rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 12px;

  background: #fafafa;
}


.sponsor-profile-fields__toggle input[type="checkbox"] {
  margin-top: 0.2rem;

  width: 18px;
  height: 18px;

  flex:
    0
    0
    auto;
}


.sponsor-profile-fields__toggle span {
  display: flex;

  flex-direction: column;

  gap: 0.2rem;
}


/* ============================================================
   PUBLICITY
   ============================================================ */

.sponsor-profile-fields__section--publicity {
  border-color:
    rgba(255, 75, 25, 0.14);

  background:
    linear-gradient(
      180deg,
      rgba(255, 250, 247, 0.85),
      #ffffff
    );
}


/* ============================================================
   ACTIONS
   ============================================================ */

.enterprise-form__actions {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  gap: 0.75rem;

  padding-top: 0.5rem;
}


.enterprise-form__button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 44px;

  padding:
    0.7rem
    1.2rem;

  border-radius: 999px;

  font-size: 0.82rem;

  font-weight: 800;

  text-decoration: none;

  cursor: pointer;
}


.enterprise-form__button--primary {
  border:
    1px solid #ff4b19;

  background: #ff4b19;

  color: #ffffff;
}


.enterprise-form__button--secondary {
  border:
    1px solid rgba(15, 23, 42, 0.12);

  background: #ffffff;

  color: #172033;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 780px) {

  .enterprise-form__grid,
  .sponsor-profile-fields__grid {
    grid-template-columns: 1fr;
  }


  .enterprise-form__section,
  .sponsor-profile-fields__section {
    padding: 1.15rem;
  }


  .sponsor-profile-preview,
  .sponsor-profile-preview--publicity {
    max-width: 100%;

    height: 220px;
  }


  .enterprise-form__actions {
    flex-direction: column-reverse;

    align-items: stretch;
  }


  .enterprise-form__button {
    width: 100%;
  }

}

/* ============================================================
   ENTERPRISE SHOW PAGE
   ============================================================ */

.enterprise-show-page {
  width: min(1180px, calc(100% - 2rem));

  margin:
    2rem
    auto
    4rem;

  color: #172033;
}


.enterprise-show-page__eyebrow {
  display: block;

  margin-bottom: 0.4rem;

  font-size: 0.7rem;
  font-weight: 800;

  letter-spacing: 0.14em;
  text-transform: uppercase;

  color: #ff4b19;
}


/* ============================================================
   HERO
   ============================================================ */

.enterprise-show-hero {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 2rem;

  padding: 2rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 22px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #faf8f4
    );
}


.enterprise-show-hero__identity {
  display: flex;

  align-items: center;

  gap: 1.4rem;

  min-width: 0;
}


.enterprise-show-hero__logo {
  width: 110px;
  height: 110px;

  flex:
    0
    0
    110px;

  display: grid;

  place-items: center;

  overflow: hidden;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 18px;

  background: #ffffff;
}


.enterprise-show-hero__logo img {
  display: block;

  max-width: 85%;
  max-height: 85%;

  object-fit: contain;
}


.enterprise-show-hero__logo span {
  font-size: 1.5rem;

  font-weight: 800;

  color:
    rgba(15, 23, 42, 0.4);
}


.enterprise-show-hero h1 {
  margin: 0;

  font-size:
    clamp(2rem, 4vw, 3.3rem);

  line-height: 1.05;
}


.enterprise-show-hero__tagline {
  max-width: 650px;

  margin:
    0.65rem
    0
    0;

  line-height: 1.6;

  color:
    rgba(15, 23, 42, 0.65);
}


.enterprise-show-hero__actions {
  display: flex;

  flex-wrap: wrap;

  justify-content: flex-end;

  gap: 0.65rem;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.enterprise-show-button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 42px;

  padding:
    0.65rem
    1rem;

  border-radius: 999px;

  text-decoration: none;

  font-size: 0.8rem;
  font-weight: 800;

  cursor: pointer;
}


.enterprise-show-button--primary {
  border:
    1px solid #ff4b19;

  background: #ff4b19;

  color: #ffffff;
}


.enterprise-show-button--secondary {
  border:
    1px solid rgba(15, 23, 42, 0.12);

  background: #ffffff;

  color: #172033;
}


.enterprise-show-button--danger {
  border:
    1px solid #b42318;

  background: #b42318;

  color: #ffffff;
}


/* ============================================================
   SUMMARY
   ============================================================ */

.enterprise-show-summary {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(180px, 1fr)
    );

  gap: 1rem;

  margin-top: 1rem;
}


.enterprise-show-summary__card {
  padding: 1.2rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 16px;

  background: #ffffff;
}


.enterprise-show-summary__card span {
  display: block;

  margin-bottom: 0.4rem;

  font-size: 0.72rem;

  color:
    rgba(15, 23, 42, 0.55);
}


.enterprise-show-summary__card strong {
  font-size: 1.15rem;
}


/* ============================================================
   SECTIONS
   ============================================================ */

.enterprise-show-section {
  margin-top: 1.25rem;

  padding: 1.5rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 20px;

  background: #ffffff;
}


.enterprise-show-section__heading {
  margin-bottom: 1.25rem;
}


.enterprise-show-section__heading h2 {
  margin: 0;

  font-size: 1.35rem;
}


/* ============================================================
   DETAILS
   ============================================================ */

.enterprise-show-details {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


.enterprise-show-details__item {
  padding: 1rem;

  border-radius: 14px;

  background: #f8fafc;
}


.enterprise-show-details__item--wide {
  grid-column:
    1
    /
    -1;
}


.enterprise-show-details__item span {
  display: block;

  margin-bottom: 0.4rem;

  font-size: 0.7rem;

  color:
    rgba(15, 23, 42, 0.5);
}


.enterprise-show-details__item p {
  margin: 0;

  line-height: 1.65;
}


/* ============================================================
   STANDS
   ============================================================ */

.enterprise-show-stands {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(140px, 1fr)
    );

  gap: 0.75rem;
}


.enterprise-show-stand {
  display: flex;

  flex-direction: column;

  gap: 0.25rem;

  padding: 1rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 14px;

  background: #fafafa;
}


.enterprise-show-stand span {
  font-size: 0.7rem;

  color:
    rgba(15, 23, 42, 0.5);
}


.enterprise-show-stand strong {
  font-size: 1.2rem;
}


.enterprise-show-stand__link {
  margin-top: 0.45rem;

  font-size: 0.75rem;

  font-weight: 800;

  color: #ff4b19;

  text-decoration: none;
}


.enterprise-show-empty {
  margin: 0;

  color:
    rgba(15, 23, 42, 0.6);
}


/* ============================================================
   DANGER
   ============================================================ */

.enterprise-show-section--danger {
  border-color:
    rgba(180, 35, 24, 0.18);

  background:
    rgba(254, 243, 242, 0.55);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 800px) {

  .enterprise-show-hero {
    align-items: flex-start;

    flex-direction: column;
  }


  .enterprise-show-hero__actions {
    justify-content: flex-start;
  }


  .enterprise-show-details {
    grid-template-columns: 1fr;
  }


  .enterprise-show-details__item--wide {
    grid-column: auto;
  }

}


@media (max-width: 520px) {

  .enterprise-show-page {
    width:
      calc(100% - 1rem);

    margin-top:
      1rem;
  }


  .enterprise-show-hero {
    padding:
      1.25rem;
  }


  .enterprise-show-hero__identity {
    align-items:
      flex-start;
  }


  .enterprise-show-hero__logo {
    width: 78px;
    height: 78px;

    flex-basis: 78px;
  }

}


/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */

@media (max-width: 900px) {
  .enterprise-form__grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */

@media (max-width: 760px) {
  .enterprise-workspace {
    width:
      calc(100% - 18px);

    margin:
      28px auto 55px;
  }


  .enterprise-workspace__header {
    margin-bottom: 24px;
  }


  .enterprise-workspace__header h1 {
    font-size: 2.1rem;
  }


  .enterprise-form__card {
    padding:
      22px 18px;

    border-radius: 17px;
  }


  .enterprise-form__actions {
    position: sticky;

    bottom: 0;

    z-index: 20;

    margin:
      0 -4px;

    padding:
      10px 4px;

    background:
      rgba(
        255,
        255,
        255,
        0.96
      );

    backdrop-filter: blur(10px);
  }


  .enterprise-form__submit,
  .enterprise-form__secondary {
    flex: 1;
  }


  .enterprise-form__current-logo {
    align-items: flex-start;
  }
}


/* ============================================================
   RESPONSIVE — SMALL MOBILE
   ============================================================ */

@media (max-width: 480px) {
  .enterprise-workspace__header h1 {
    font-size: 1.8rem;
  }


  .enterprise-form__card {
    padding:
      19px 15px;
  }


  .enterprise-form__actions {
    flex-direction: column-reverse;
  }


  .enterprise-form__submit,
  .enterprise-form__secondary {
    width: 100%;

    flex: none;
  }


  .enterprise-form__current-logo {
    flex-direction: column;
  }
}

/* ============================================================
   ENTERPRISE INDEX
   ============================================================ */

.enterprise-index {
  width:
    min(
      1180px,
      calc(100% - 2rem)
    );

  margin:
    2rem
    auto
    5rem;

  color: #172033;
}


/* ============================================================
   HEADER
   ============================================================ */

.enterprise-index__header {
  margin-bottom: 1.5rem;
}


.enterprise-index__eyebrow {
  display: block;

  margin-bottom: 0.45rem;

  color: #ff4b19;

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.14em;

  text-transform: uppercase;
}


.enterprise-index__heading-row {
  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 2rem;
}


.enterprise-index__heading-row h1 {
  margin: 0;

  color: #172033;

  font-size:
    clamp(
      2.2rem,
      5vw,
      3.5rem
    );

  line-height: 1.05;
}


.enterprise-index__heading-row p {
  max-width: 700px;

  margin:
    0.75rem
    0
    0;

  color:
    rgba(15, 23, 42, 0.62);

  font-size: 0.95rem;

  line-height: 1.6;
}


/* ============================================================
   CREATE BUTTON
   ============================================================ */

.enterprise-index__create {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 44px;

  flex: 0 0 auto;

  padding:
    0.7rem
    1.2rem;

  border:
    1px solid #ff4b19;

  border-radius: 999px;

  background: #ff4b19;

  color: #ffffff;

  font-size: 0.82rem;
  font-weight: 800;

  text-decoration: none;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}


.enterprise-index__create:hover {
  background: #e94112;

  border-color: #e94112;

  color: #ffffff;

  transform:
    translateY(-1px);
}


/* ============================================================
   WORKSPACE TABS
   ============================================================ */

.enterprise-index
.workspace-tabs {
  margin:
    1.75rem
    0
    2rem;
}


/* ============================================================
   NOTICE
   ============================================================ */

.enterprise-index__notice {
  margin-bottom: 1.5rem;

  padding:
    0.9rem
    1rem;

  border:
    1px solid
    rgba(101, 183, 65, 0.22);

  border-radius: 14px;

  background:
    rgba(101, 183, 65, 0.07);

  color: #467d28;

  font-size: 0.85rem;
  font-weight: 700;
}


/* ============================================================
   SUMMARY
   ============================================================ */

.enterprise-index__summary {
  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap: 1rem;

  margin-bottom: 1.5rem;
}


.enterprise-index__summary-card {
  position: relative;

  overflow: hidden;

  padding:
    1.2rem
    1.3rem;

  border:
    1px solid
    rgba(15, 23, 42, 0.08);

  border-radius: 16px;

  background: #ffffff;

  box-shadow:
    0 8px 24px
    rgba(15, 23, 42, 0.035);
}


.enterprise-index__summary-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 4px;
  height: 100%;

  background: #ff4b19;
}


.enterprise-index__summary-card span {
  display: block;

  margin-bottom: 0.4rem;

  color:
    rgba(15, 23, 42, 0.5);

  font-size: 0.7rem;
  font-weight: 800;

  letter-spacing: 0.06em;

  text-transform: uppercase;
}


.enterprise-index__summary-card strong {
  display: block;

  color: #172033;

  font-size: 1.7rem;

  line-height: 1;
}


/* ============================================================
   ENTERPRISE GRID
   ============================================================ */

.enterprise-index__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1.25rem;
}


/* ============================================================
   ENTERPRISE CARD
   ============================================================ */

.enterprise-index-card {
  display: flex;

  flex-direction: column;

  min-width: 0;
  min-height: 300px;

  padding: 1.4rem;

  box-sizing: border-box;

  border:
    1px solid
    rgba(15, 23, 42, 0.08);

  border-radius: 20px;

  background: #ffffff;

  box-shadow:
    0 10px 30px
    rgba(15, 23, 42, 0.04);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}


.enterprise-index-card:hover {
  transform:
    translateY(-2px);

  border-color:
    rgba(255, 75, 25, 0.18);

  box-shadow:
    0 16px 36px
    rgba(15, 23, 42, 0.07);
}


/* ============================================================
   CARD HEADER
   ============================================================ */

.enterprise-index-card__header {
  display: flex;

  align-items: flex-start;
  justify-content: space-between;

  gap: 1rem;
}


.enterprise-index-card__identity {
  display: flex;

  align-items: center;

  min-width: 0;

  gap: 1rem;
}


.enterprise-index-card__logo,
.enterprise-index-card__logo-placeholder {
  width: 78px;
  height: 78px;

  flex:
    0 0
    78px;

  box-sizing: border-box;

  border:
    1px solid
    rgba(15, 23, 42, 0.08);

  border-radius: 16px;

  background: #fafafa;
}


.enterprise-index-card__logo {
  display: block;

  padding: 0.45rem;

  object-fit: contain;
}


.enterprise-index-card__logo-placeholder {
  display: grid;

  place-items: center;

  color:
    rgba(15, 23, 42, 0.4);

  font-size: 1.2rem;
  font-weight: 900;
}


.enterprise-index-card__type {
  display: block;

  margin-bottom: 0.3rem;

  color:
    rgba(15, 23, 42, 0.48);

  font-size: 0.66rem;
  font-weight: 900;

  letter-spacing: 0.09em;

  text-transform: uppercase;
}


.enterprise-index-card h2 {
  margin: 0;

  color: #172033;

  font-size: 1.25rem;

  line-height: 1.2;
}


.enterprise-index-card__badge {
  flex: 0 0 auto;

  padding:
    0.35rem
    0.65rem;

  border:
    1px solid
    rgba(255, 75, 25, 0.15);

  border-radius: 999px;

  background:
    rgba(255, 75, 25, 0.07);

  color: #d94416;

  font-size: 0.62rem;
  font-weight: 900;

  letter-spacing: 0.04em;

  text-transform: uppercase;
}


/* ============================================================
   DESCRIPTION
   ============================================================ */

.enterprise-index-card__description {
  margin-top: 1.15rem;

  color:
    rgba(15, 23, 42, 0.64);

  font-size: 0.86rem;

  line-height: 1.6;
}


/* ============================================================
   DETAILS
   ============================================================ */

.enterprise-index-card__details {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 0.75rem;

  margin-top: 1.15rem;
}


.enterprise-index-card__details > div {
  padding:
    0.75rem
    0.85rem;

  border-radius: 12px;

  background: #f8fafc;
}


.enterprise-index-card__details span {
  display: block;

  margin-bottom: 0.25rem;

  color:
    rgba(15, 23, 42, 0.45);

  font-size: 0.65rem;
  font-weight: 700;
}


.enterprise-index-card__details strong {
  display: block;

  overflow-wrap: anywhere;

  color: #172033;

  font-size: 0.8rem;
}


/* ============================================================
   CARD ACTIONS
   ============================================================ */

.enterprise-index-card__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 0.55rem;

  margin-top: auto;

  padding-top: 1.25rem;
}


.enterprise-index-card__link {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 38px;

  padding:
    0.5rem
    0.85rem;

  border:
    1px solid #172033;

  border-radius: 999px;

  background: #172033;

  color: #ffffff;

  font-size: 0.72rem;
  font-weight: 800;

  text-decoration: none;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}


.enterprise-index-card__link:hover {
  background: #26334d;

  border-color: #26334d;

  color: #ffffff;
}


.enterprise-index-card__link--secondary {
  border-color:
    rgba(15, 23, 42, 0.12);

  background: #ffffff;

  color: #172033;
}


.enterprise-index-card__link--secondary:hover {
  border-color:
    rgba(15, 23, 42, 0.25);

  background: #f8fafc;

  color: #172033;
}


.enterprise-index-card__link--sponsor {
  border-color: #ff4b19;

  background:
    rgba(255, 75, 25, 0.07);

  color: #e34616;
}


.enterprise-index-card__link--sponsor:hover {
  border-color: #ff4b19;

  background: #ff4b19;

  color: #ffffff;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.enterprise-index__empty {
  display: flex;

  align-items: center;
  justify-content: center;

  flex-direction: column;

  min-height: 340px;

  padding: 3rem 2rem;

  box-sizing: border-box;

  text-align: center;

  border:
    1px solid
    rgba(15, 23, 42, 0.08);

  border-radius: 20px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #faf8f4
    );
}


.enterprise-index__empty-icon {
  width: 58px;
  height: 58px;

  display: grid;

  place-items: center;

  margin-bottom: 1rem;

  border-radius: 50%;

  background:
    rgba(255, 75, 25, 0.08);

  color: #ff4b19;

  font-size: 1.25rem;
}


.enterprise-index__empty h2 {
  margin:
    0
    0
    0.5rem;

  color: #172033;

  font-size: 1.5rem;
}


.enterprise-index__empty p {
  max-width: 520px;

  margin:
    0
    0
    1.25rem;

  color:
    rgba(15, 23, 42, 0.6);

  line-height: 1.6;
}


/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */

@media (max-width: 900px) {

  .enterprise-index__grid {
    grid-template-columns: 1fr;
  }

}


/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */

@media (max-width: 760px) {

  .enterprise-index {
    width:
      calc(100% - 1rem);

    margin:
      1.25rem
      auto
      3rem;
  }


  .enterprise-index__heading-row {
    align-items: flex-start;

    flex-direction: column;

    gap: 1.2rem;
  }


  .enterprise-index__summary {
    grid-template-columns: 1fr;
  }


  .enterprise-index-card {
    padding: 1.1rem;
  }


  .enterprise-index-card__header {
    flex-direction: column;
  }


  .enterprise-index-card__details {
    grid-template-columns: 1fr;
  }

}


/* ============================================================
   RESPONSIVE — SMALL MOBILE
   ============================================================ */

@media (max-width: 480px) {

  .enterprise-index__heading-row h1 {
    font-size: 2rem;
  }


  .enterprise-index-card__identity {
    align-items: flex-start;
  }


  .enterprise-index-card__logo,
  .enterprise-index-card__logo-placeholder {
    width: 64px;
    height: 64px;

    flex-basis: 64px;
  }


  .enterprise-index-card__actions {
    flex-direction: column;
  }


  .enterprise-index-card__link {
    width: 100%;

    box-sizing: border-box;
  }

}


.enterprise-form__button--danger {
  border: 1px solid #dc2626;
  background: #ffffff;
  color: #b91c1c;
}

/* Structured enterprise social accounts */
.enterprise-social-accounts{margin-top:2rem;padding:1.5rem;border:1px solid #dbe3ef;border-radius:20px;background:#fff}.enterprise-social-accounts header h2{margin:0}.enterprise-social-accounts header p{color:#64748b}.enterprise-social-accounts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.enterprise-social-account{display:grid;gap:.45rem;padding:1rem;border:1px solid #e2e8f0;border-radius:14px}.enterprise-social-account input[type="url"],.enterprise-social-account input[type="text"]{box-sizing:border-box;width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:10px}.enterprise-social-account__remove{display:flex;align-items:center;gap:.45rem;color:#9b2c2c}@media(max-width:760px){.enterprise-social-accounts__grid{grid-template-columns:1fr}}
.enterprise-admin-access {
  margin-top: 28px;
  padding: 30px;
  border: 1px solid #cfdcf4;
  border-radius: 20px;
  background: #f8fbff;
}

.enterprise-admin-access__status {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
  margin: 20px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #edf7e8;
  color: #355d25;
}

.enterprise-admin-access__stands {
  display: grid;
  gap: 6px;
  margin: 20px 0;
  padding: 16px;
  border: 1px solid #d7e2f3;
  border-radius: 12px;
  background: #fff;
}

.enterprise-admin-access__stands span {
  color: #526078;
  line-height: 1.5;
}

.enterprise-admin-access__form small {
  display: block;
  margin-top: 7px;
  color: #667085;
}
/* GIP Knowledge Library RC2: additive styles, scoped to refreshed page */
.public-library--refreshed .public-library__hero--reading-room { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.public-library--refreshed .public-library__reading-corner { flex:0 0 auto; display:flex; align-items:end; gap:.55rem; padding:1.4rem; border-radius:1.2rem; background:linear-gradient(145deg,#f1e9da,#e7eff7); color:#385b83; font-size:1.65rem; opacity:.88; }
.public-library--refreshed .public-library__reading-corner .fa-book-open { font-size:2.5rem; }
.public-library--refreshed .public-library__reading-corner .fa-leaf { color:#4b8468; }
.public-library--refreshed .public-library__categories { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 1.35rem; }
.public-library--refreshed .public-library__category { display:inline-flex; align-items:center; text-decoration:none; padding:.55rem .9rem; border:1px solid #d9e1ec; border-radius:999px; background:#fff; color:#203452; font-size:.88rem; font-weight:650; transition:background .15s,border-color .15s; }
.public-library--refreshed .public-library__category:hover, .public-library--refreshed .public-library__category.is-active { background:#eaf1ff; border-color:#5a86d5; color:#164a9a; }
.public-library--refreshed .public-library-card { --library-tint:#f4f7fb; --library-accent:#45699d; background:linear-gradient(125deg,var(--library-tint),#fff 68%); border-top:3px solid var(--library-accent); }
.public-library--refreshed .public-library-card--book { --library-tint:#edf3ff; --library-accent:#315fa7; }
.public-library--refreshed .public-library-card--article { --library-tint:#f0f1ff; --library-accent:#6660a8; }
.public-library--refreshed .public-library-card--report, .public-library--refreshed .public-library-card--policy-brief { --library-tint:#f2f5f8; --library-accent:#59778b; }
.public-library--refreshed .public-library-card--programme-project { --library-tint:#edf8f1; --library-accent:#32845d; }
.public-library--refreshed .public-library-card--guide, .public-library--refreshed .public-library-card--toolkit { --library-tint:#fff7e9; --library-accent:#a67a35; }
.public-library--refreshed .public-library-card--video, .public-library--refreshed .public-library-card--external-resource { --library-tint:#f8f0f6; --library-accent:#926482; }
@media(max-width:700px) { .public-library--refreshed .public-library__reading-corner { display:none; } .public-library--refreshed .public-library__category { font-size:.8rem; padding:.45rem .7rem; } }
.library-workspace {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.library-workspace--form {
  width: min(1100px, calc(100% - 3rem));
}

.library-workspace__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.library-workspace__header > div {
  max-width: 850px;
}

.library-workspace__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.library-workspace--admin .library-workspace__eyebrow {
  color: #ff4b0b;
}

.library-workspace__header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
}

.library-workspace__header p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.65;
}

.library-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.7rem 1.1rem;
  border: 0;
  border-radius: 999px;
  box-sizing: border-box;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.library-button--primary {
  color: #ffffff;
  background: #2563eb;
}

.library-button--secondary {
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.library-button--approve {
  color: #ffffff;
  background: #166534;
}

.library-button--revise {
  color: #92400e;
  background: #fef3c7;
}

.library-button--danger {
  color: #991b1b;
  background: #fee2e2;
}

.library-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0;
}

.library-summary article,
.library-card,
.library-empty,
.library-panel,
.library-form__section,
.library-detail__sidebar {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.library-summary article {
  padding: 1.25rem;
}

.library-summary span {
  display: block;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.library-summary strong {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.7rem;
}

.library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}

.library-card {
  display: grid;
  grid-template-columns: 135px minmax(0, 1fr);
  overflow: hidden;
}

.library-card__cover {
  display: grid;
  min-height: 260px;
  place-items: center;
  overflow: hidden;
  color: #1e40af;
  background: linear-gradient(145deg, #dbeafe, #eff6ff);
  font-size: 0.75rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

.library-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.library-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.25rem;
}

.library-card__body header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.library-card__type {
  color: #2563eb;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.library-card h2 {
  margin: 0.7rem 0 0.35rem;
  font-size: 1.25rem;
}

.library-card__authors {
  margin: 0;
  color: #334155;
  font-weight: 700;
}

.library-card__description {
  color: #64748b;
  line-height: 1.55;
}

.library-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: auto;
}

.library-card dt,
.library-details dt {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.library-card dd,
.library-details dd {
  margin: 0.3rem 0 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.library-card__link {
  margin-top: 1rem;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

.library-status {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.library-status--draft {
  color: #334155;
  background: #e2e8f0;
}

.library-status--submitted {
  color: #92400e;
  background: #fef3c7;
}

.library-status--revisions_requested {
  color: #9a3412;
  background: #ffedd5;
}

.library-status--approved {
  color: #166534;
  background: #dcfce7;
}

.library-status--published {
  color: #1e40af;
  background: #dbeafe;
}

.library-status--archived {
  color: #6b21a8;
  background: #f3e8ff;
}

.library-empty {
  margin-top: 2rem;
  padding: 3rem 1.5rem;
  text-align: center;
}

.library-empty p {
  color: #64748b;
}

.library-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 2rem 0;
}

.library-filters a {
  padding: 0.5rem 0.8rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #475569;
  font-weight: 700;
  text-decoration: none;
}

.library-filters a.is-active {
  border-color: #2563eb;
  color: #ffffff;
  background: #2563eb;
}

.library-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 1.5rem;
  margin-top: 2rem;
}

.library-detail__content {
  display: grid;
  gap: 1.25rem;
}

.library-panel {
  padding: 1.4rem;
}

.library-panel h2,
.library-feedback h2,
.library-detail__sidebar h2 {
  margin: 0 0 1rem;
}

.library-overview {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 1.25rem;
}

.library-overview__cover {
  overflow: hidden;
  border-radius: 0.75rem;
  background: #f1f5f9;
}

.library-overview__cover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}

.library-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.library-details div {
  padding: 0.9rem;
  border-radius: 0.7rem;
  background: #f8fafc;
}

.library-text {
  color: #475569;
  line-height: 1.75;
}

.library-muted {
  color: #64748b;
  font-style: italic;
}

.library-feedback {
  padding: 1.25rem 1.4rem;
  border: 1px solid #fed7aa;
  border-left: 4px solid #f97316;
  border-radius: 1rem;
  color: #9a3412;
  background: #fff7ed;
}

.library-feedback p {
  margin: 0;
  line-height: 1.7;
}

.library-access {
  display: grid;
  gap: 0.75rem;
}

.library-access__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #f8fafc;
}

.library-access__item div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
}

.library-access__item strong,
.library-access__item small {
  overflow-wrap: anywhere;
}

.library-access__item small {
  color: #64748b;
}

.library-video video {
  display: block;
  width: 100%;
  max-height: 620px;
  border-radius: 0.85rem;
  background: #0f172a;
}

.library-detail__sidebar {
  display: flex;
  align-self: start;
  position: sticky;
  top: 1.5rem;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.4rem;
}

.library-detail__sidebar form,
.library-detail__sidebar form .library-button,
.library-detail__sidebar > .library-button {
  width: 100%;
}

.library-review-actions form {
  display: grid;
  gap: 0.75rem;
}

.library-form__section {
  margin-bottom: 1.25rem;
  padding: 1.5rem;
}

.library-form__section > header {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.library-form__section > header > span {
  display: grid;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #2563eb;
  font-weight: 800;
}

.library-form__section h2 {
  margin: 0;
}

.library-form__section header p {
  margin: 0.3rem 0 0;
  color: #64748b;
}

.library-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}

.library-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.library-form__field--wide {
  grid-column: 1 / -1;
}

.library-form__field label {
  font-weight: 800;
}

.library-form__field input,
.library-form__field select,
.library-form__field textarea {
  width: 100%;
  padding: 0.8rem 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.65rem;
  box-sizing: border-box;
  font: inherit;
}

.library-form__field input:focus,
.library-form__field select:focus,
.library-form__field textarea:focus {
  border-color: #2563eb;
  outline: 3px solid rgba(37, 99, 235, 0.15);
}

.library-form__field small {
  color: #64748b;
}

.library-form__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.library-form__errors {
  margin: 1rem 0;
  padding: 1rem 1.25rem;
  border: 1px solid #fecaca;
  border-radius: 0.75rem;
  color: #991b1b;
  background: #fef2f2;
}

@media (max-width: 1000px) {
  .library-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .library-detail {
    grid-template-columns: 1fr;
  }

  .library-detail__sidebar {
    position: static;
  }
}

@media (max-width: 700px) {
  .library-workspace,
  .library-workspace--form {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }

  .library-workspace__header,
  .library-access__item,
  .library-form__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .library-summary,
  .library-form__grid,
  .library-details,
  .library-overview {
    grid-template-columns: 1fr;
  }

  .library-card {
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .library-form__field--wide {
    grid-column: auto;
  }

  .library-access__item .library-button {
    width: 100%;
  }
}
.live-session{margin:1.5rem 0;padding:1.25rem;border:1px solid #ffd0bf;border-radius:20px;background:#fff}.live-session__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.live-session__header h2{margin:.45rem 0}.live-session__header p{margin:.25rem 0;color:#526078}.live-session__badge{display:inline-flex;align-items:center;gap:.4rem;color:#d92d20;font-size:.75rem;font-weight:900;letter-spacing:.12em}.live-session__badge i{font-size:.55rem;animation:live-pulse 1.4s infinite}.live-session__stage{position:relative;margin-top:1rem;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#071426;color:#fff}.live-session__stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}.live-session__placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:.7rem;text-align:center}.live-session__placeholder i{font-size:2rem}.live-session--receiving .live-session__placeholder,.live-session--presenting .live-session__placeholder{display:none}.live-session__presenter-controls,.live-session__share{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}.live-session button,.live-session__primary,.live-session__secondary,.live-session__end{border:1px solid #d8e0ec;border-radius:999px;padding:.7rem 1rem;background:#fff;font-weight:800;cursor:pointer}.live-session__primary{background:#ff4b1f;color:#fff;border-color:#ff4b1f}.live-session__end{color:#b42318}.live-session__share span{font-weight:800;margin-right:auto}.live-session-form__destinations{display:flex;flex-wrap:wrap;gap:.75rem;border:0;padding:0;margin:1rem 0}.live-session-form__destinations legend{width:100%;font-weight:800;margin-bottom:.35rem}@keyframes live-pulse{50%{opacity:.3}}@media(max-width:700px){.live-session__header{display:block}.live-session__end{margin-top:.75rem}.live-session__share span{width:100%}}

.live-session--hero{margin:0;padding:0;border:0;border-radius:0;background:#071426;color:#fff}.live-session--hero .live-session__header{padding:1rem 1.25rem;background:#fff;color:#14213d}.live-session--hero .live-session__stage{margin:0;aspect-ratio:16/7;border-radius:0}.live-session--hero .live-session__presenter-controls,.live-session--hero .live-session__share{margin:0;padding:1rem 1.25rem;background:#fff;color:#14213d}.live-session--hero .live-session__presenter-controls{padding-bottom:0}.live-session--hero .live-session__share{padding-top:.75rem}@media(max-width:700px){.live-session--hero .live-session__stage{aspect-ratio:16/9}}

.live-session--screen {
  position: absolute;
  inset: 6px;
  z-index: 2;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 2px;
  background: #071426;
}

.live-session--screen .live-session__stage {
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: auto;
  border-radius: 0;
}

.live-session--screen .live-session__placeholder {
  gap: .2rem;
  padding: .25rem;
}

.live-session--screen .live-session__placeholder i {
  font-size: .9rem;
}

.live-session--screen .live-session__placeholder strong {
  font-size: .55rem;
  line-height: 1.1;
}

/* ================================================================
   GIP Plateau TV V10 â€” consolidated, isolated styles
   Ordinary live sessions and WebRTC logic remain unchanged.
   ================================================================ */
.live-session--plateau-tv {
  --tv-navy:#081c37; --tv-gold:#d6a84c;
  display:block; position:relative; min-width:0;
  padding:0; background:var(--tv-navy); color:#fff;
  border-color:var(--tv-gold); border-radius:0;
}
.live-session--plateau-tv *, .live-session--plateau-tv *::before,
.live-session--plateau-tv *::after { box-sizing:border-box; }
.live-session--plateau-tv .live-session__header {
  color:#172b45; background:#fff; padding:1rem 1.25rem;
}
.live-session--plateau-tv .live-session__header p {color:#526078;}
.live-session--plateau-tv .gip-tv__masthead {
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.65rem;
  padding:.8rem 1rem; background:#102e52; border:1px solid var(--tv-gold);
  color:#f5c974; font-weight:800; letter-spacing:.07em;
}
.live-session--plateau-tv .gip-tv__brandbar {
  display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem;
  background:#0c274a; color:#fff;
}
.live-session--plateau-tv .gip-tv__logo {
  width:70px; height:70px; flex:none; padding:5px;
  border-radius:10px; object-fit:contain; background:#fff;
}
.live-session--plateau-tv .gip-tv__brandcopy {display:grid;gap:.2rem;min-width:0;}
.live-session--plateau-tv .gip-tv__brandcopy small {color:#f5c974;}
.live-session--plateau-tv .gip-tv__brandcopy strong {font-size:clamp(1rem,2vw,1.5rem);overflow-wrap:anywhere;}
.live-session--plateau-tv .gip-tv__brand-banner {height:150px;overflow:hidden;background:#081d37;}
.live-session--plateau-tv .gip-tv__brand-banner img {width:100%;height:100%;object-fit:contain;}

/* Layout wrapper is inserted by story_behind_showcase.js, not the Rails view.
   Do not grid the root: headers, controls and share bar must stay full width. */
.live-session--plateau-tv.gip-showcase-enabled .gip-showcase__layout {
  display:grid; grid-template-columns:minmax(0, 72fr) minmax(0, 28fr);
  align-items:start; gap:12px; width:100%; padding:12px;
}
.live-session--plateau-tv.gip-showcase-enabled .gip-showcase {
  position:relative; isolation:isolate; display:grid;
  grid-template-columns:minmax(0, 57%) minmax(0, 43%);
  grid-template-rows:auto minmax(0,1fr) auto auto auto;
  gap:7px; width:100%; min-width:0; min-height:510px; margin:0;
  padding:14px; overflow:hidden; border:1px solid var(--tv-gold);
  border-radius:14px; color:#fff;
  background:#071c35 url(/plateau_studio/backgrounds/story_behind_studio_v9.webp) center/cover no-repeat;
}
.live-session--plateau-tv .gip-showcase__heading {
  grid-column:1;grid-row:1; display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:6px; min-width:0; color:#f5c974; font-size:12px;
  font-weight:800; text-shadow:0 1px 5px #071326;
}
.live-session--plateau-tv .gip-showcase__visual {
  grid-column:1;grid-row:2; display:flex;align-items:center;justify-content:center;
  width:100%;min-width:0;min-height:0;max-height:280px;align-self:end;
  padding:10px;overflow:hidden;border:1px solid rgba(232,188,97,.65);
  border-radius:12px;background:rgba(5,23,48,.70);
}
.live-session--plateau-tv .gip-showcase__visual > img,
.live-session--plateau-tv .gip-showcase__visual > video {
  display:block;max-width:100%;max-height:260px;width:auto;height:auto;object-fit:contain;
}
.live-session--plateau-tv .gip-showcase__empty {font-size:.85rem;text-align:center;color:#e6eaf1;}
.live-session--plateau-tv .gip-showcase__name,
.live-session--plateau-tv .gip-showcase__description {
  grid-column:1; min-width:0; margin:0; overflow-wrap:anywhere;
  text-shadow:0 1px 5px #071326;
}
.live-session--plateau-tv .gip-showcase__name {grid-row:3;font-size:1.1rem;}
.live-session--plateau-tv .gip-showcase__description {grid-row:4;font-size:.8rem;color:#e5eaf2;}
.live-session--plateau-tv .gip-showcase .gip-showcase__standing-presenter {
  position:absolute;z-index:4;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;
  right:2%;bottom:10%;width:38%;height:61%;min-height:0;max-width:none;
  margin:0;padding:0;border:0;background:transparent;box-shadow:none;
}
.live-session--plateau-tv .gip-showcase__standing-presenter img {
  display:block;width:100%;max-width:240px;max-height:100%;height:auto;
  object-fit:contain;border:2px solid var(--tv-gold);border-radius:10px;
}
.live-session--plateau-tv .gip-showcase__presenter-label {display:none;}
.live-session--plateau-tv .gip-showcase__episode-guide {
  grid-column:1 / -1;grid-row:5;z-index:5;width:100%;min-width:0;
  padding:8px 10px;margin:0;border:1px solid #c5a562;
  border-radius:8px;background:#112d4c;color:#fff;
}
.live-session--plateau-tv .gip-showcase__episode-guide summary {cursor:pointer;}
.live-session--plateau-tv .gip-showcase__episode-guide p {font-size:12px;}
.live-session--plateau-tv .gip-showcase__closing {display:flex;gap:8px;width:100%;align-items:center;}
.live-session--plateau-tv .gip-showcase__closing > div {
  flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;
  gap:5px;font-size:12px;
}
.live-session--plateau-tv .gip-showcase__closing img {width:100%;max-height:175px;object-fit:contain;}

/* Real camera feed, audience placeholder and questions occupy sidebar. */
.live-session--plateau-tv .gip-showcase__sidebar {
  display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;margin:0;
}
.live-session--plateau-tv .gip-showcase__sidebar .live-session__stage {
  display:block;width:100%;height:auto;min-width:0;aspect-ratio:4/3;
  margin:0;border:1px solid var(--tv-gold);border-radius:12px;
  background:#071426;
}
.live-session--plateau-tv .gip-showcase__sidebar .live-session__stage video {
  width:100%;height:100%;object-fit:contain;
}
.live-session--plateau-tv .gip-showcase__sidebar .live-session__placeholder {padding:10px;}
.live-session--plateau-tv .gip-showcase__audience {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;min-height:78px;padding:10px;border:1px dashed #a88b55;
  border-radius:12px;background:#0b2442;color:#f4d698;text-align:center;
}
.live-session--plateau-tv .gip-showcase__audience small {color:#cbd8e6;font-size:11px;}
.live-session--plateau-tv .gip-showcase__questions {
  min-width:0;padding:12px;margin:0;border:1px solid #b99a52;
  border-radius:12px;background:#0e2544;color:#fff;
}
.live-session--plateau-tv .gip-showcase__questions h3 {margin:0 0 10px;color:#f2d18b;font-size:14px;}
.live-session--plateau-tv .gip-showcase__questions-list {max-height:220px;overflow-y:auto;}
.live-session--plateau-tv .gip-showcase__question {padding:7px 0;border-bottom:1px solid #35516e;overflow-wrap:anywhere;}
.live-session--plateau-tv .gip-showcase__question p {margin:0 0 5px;font-size:12px;}
.live-session--plateau-tv .gip-showcase__question--selected {padding-left:8px;border-left:3px solid #f2d18b;}
.live-session--plateau-tv .gip-showcase__questions button {padding:6px 10px;border:0;border-radius:6px;background:#e5bb68;color:#10233a;cursor:pointer;}
.live-session--plateau-tv .gip-showcase__questions textarea {width:100%;padding:7px;margin-bottom:6px;border-radius:6px;}
.live-session--plateau-tv .gip-showcase__questions small {display:block;margin-top:5px;font-size:10px;}

/* Independent, full-width presenter toolbar. */
.live-session--plateau-tv .gip-showcase__presenter-toolbar {
  display:block;width:100%;padding:10px 14px;background:#0a203d;
}
.live-session--plateau-tv .gip-showcase__controls {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.live-session--plateau-tv .gip-showcase__controls input {
  width:135px;max-width:100%;padding:8px;border:1px solid #b9c6d8;border-radius:7px;
}
.live-session--plateau-tv .gip-showcase__controls button {
  padding:8px 11px;border:1px solid #d6a84c;border-radius:8px;
  background:#123e68;color:#fff;font-size:12px;cursor:pointer;
}
.live-session--plateau-tv .gip-showcase__controls button[aria-pressed='true'] {background:#a97821;border-color:#fff;}
.live-session--plateau-tv .gip-showcase__controls [role='status'] {color:#f2d18b;font-size:12px;overflow-wrap:anywhere;}
.live-session--plateau-tv .gip-episode__toolbar {
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding:12px 16px;background:#0b2341;color:#f1d69d;font-size:12px;
}
.live-session--plateau-tv .gip-episode__toolbar button,
.live-session--plateau-tv .gip-episode__actions button {
  padding:8px 12px;border:1px solid #d5ad5d;border-radius:7px;
  background:#e8bd68;color:#11253e;cursor:pointer;font-weight:700;
}
.live-session--plateau-tv .gip-episode__panel {display:grid;gap:12px;padding:18px;background:#f7f9fc;color:#182b42;}
.live-session--plateau-tv .gip-episode__panel[hidden] {display:none;}
.live-session--plateau-tv .gip-episode__panel h3,
.live-session--plateau-tv .gip-episode__panel h4 {margin:4px 0;}
.live-session--plateau-tv .gip-episode__field {display:grid;gap:5px;font-size:13px;font-weight:700;}
.live-session--plateau-tv .gip-episode__field input,
.live-session--plateau-tv .gip-episode__field textarea {
  width:100%;max-width:100%;padding:9px;border:1px solid #9eacbc;
  border-radius:7px;font:inherit;color:#17253a;background:#fff;
}
.live-session--plateau-tv .gip-episode__guide {padding:12px;border:1px solid #d2dbe6;border-radius:9px;background:#fff;}
.live-session--plateau-tv .gip-episode__guide p {margin:4px 0;font-size:12px;}
.live-session--plateau-tv .gip-episode__actions {display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.live-session--plateau-tv .live-session__presenter-controls,
.live-session--plateau-tv .live-session__share {
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  width:100%;margin:0;padding:12px 14px;background:#fff;color:#132844;
}
.live-session--plateau-tv .live-session__share span {margin-right:auto;}
.live-session--plateau-tv .live-session__presenter-controls button {min-width:0;}

@media(max-width:700px) {
  .live-session--plateau-tv.gip-showcase-enabled .gip-showcase__layout {
    grid-template-columns:minmax(0, 1fr);
  }
  .live-session--plateau-tv .gip-showcase__sidebar {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;
  }
  .live-session--plateau-tv .gip-showcase__questions {grid-column:1 / -1;}
}
@media(max-width:560px) {
  .live-session--plateau-tv .gip-tv__masthead {font-size:.75rem;}
  .live-session--plateau-tv .gip-tv__logo {width:52px;height:52px;}
  .live-session--plateau-tv .gip-tv__brand-banner {height:110px;}
  .live-session--plateau-tv.gip-showcase-enabled .gip-showcase {
    min-height:390px;padding:10px;grid-template-columns:minmax(0, 60%) minmax(0, 40%);
  }
  .live-session--plateau-tv .gip-showcase__visual {max-height:200px;padding:6px;}
  .live-session--plateau-tv .gip-showcase__visual > img,
  .live-session--plateau-tv .gip-showcase__visual > video {max-height:180px;}
  .live-session--plateau-tv .gip-showcase .gip-showcase__standing-presenter {
    right:1%;bottom:15%;width:38%;height:43%;
  }
  .live-session--plateau-tv .gip-showcase__sidebar {display:flex;}
}


/* ============================================================
   LOUNGE AREA
   ============================================================ */

.lounge-area {
  position: relative;

  width: 100%;
  min-width: 100%;

  height: 520px;

  padding: 32px;

  background:
    linear-gradient(
      135deg,
      #fffdf9 0%,
      #fff8ee 100%
    );

  box-sizing: border-box;

  overflow: hidden;
}


/* ============================================================
   HEADER
   ============================================================ */

.lounge-area__header {
  position: absolute;

  top: 28px;
  left: 32px;

  z-index: 10;

  max-width: 330px;
}


.lounge-area__eyebrow {
  display: block;

  margin-bottom: 5px;

  color: var(--oranged-color);

  font-size: 0.7rem;

  font-weight: 900;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}


.lounge-area__header h2 {
  margin: 0 0 6px;

  color: #222;

  font-size: 1.5rem;
}


.lounge-area__header p {
  margin: 0;

  color: #777;

  font-size: 0.82rem;

  line-height: 1.4;
}


/* ============================================================
   SOFAS
   ============================================================ */

.lounge-sofa {
  position: absolute;

  width: 150px;
  height: 65px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #d7a96b;

  border-radius:
    18px 18px
    10px 10px;

  color: #65421c;

  font-size: 0.72rem;

  font-weight: 800;

  box-shadow:
    0 4px 0 #a97941;
}


.lounge-sofa--left {
  left: 60px;
  top: 225px;
}


.lounge-sofa--right {
  right: 60px;
  top: 225px;
}


/* ============================================================
   CHAIRS
   ============================================================ */

.lounge-chair {
  position: absolute;

  width: 48px;
  height: 48px;

  background: #806650;

  border-radius:
    12px 12px
    19px 19px;
}


.lounge-chair--left-one {
  left: 85px;
  top: 315px;
}


.lounge-chair--left-two {
  left: 155px;
  top: 315px;
}


.lounge-chair--right-one {
  right: 85px;
  top: 315px;
}


.lounge-chair--right-two {
  right: 155px;
  top: 315px;
}


/* ============================================================
   COFFEE TABLE
   ============================================================ */

.lounge-coffee-table {
  position: absolute;

  left: 50%;
  top: 235px;

  width: 120px;
  height: 75px;

  transform:
    translateX(-50%);

  display: flex;

  align-items: center;
  justify-content: center;

  background: #c99557;

  border-radius: 50%;

  color: #65421c;

  font-size: 0.7rem;

  font-weight: 800;

  box-shadow:
    0 5px 0 #976938;
}


/* ============================================================
   NETWORKING TABLE
   ============================================================ */

.lounge-networking-table {
  position: absolute;

  left: 50%;
  bottom: 58px;

  width: 92px;
  height: 92px;

  transform:
    translateX(-50%);

  display: flex;

  align-items: center;
  justify-content: center;

  background: #e4bd88;

  border-radius: 50%;

  color: #6b491f;

  font-size: 0.7rem;

  font-weight: 800;
}


/* ============================================================
   PLANTS
   ============================================================ */

.lounge-plant {
  position: absolute;

  width: 52px;
  height: 62px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius:
    50% 50%
    14px 14px;

  background: #e8d4ae;

  font-size: 1.6rem;
}


.lounge-plant--one {
  left: 25px;
  bottom: 28px;
}


.lounge-plant--two {
  right: 25px;
  bottom: 28px;
}


.lounge-plant--three {
  right: 30px;
  top: 30px;
}


/* ============================================================
   WALKABLE FLOOR

   Intentionally contains no collision.
   ============================================================ */

.lounge-area__walking-floor {
  position: absolute;

  inset: 0;

  pointer-events: none;

  z-index: 0;
}


/* ============================================================
   KEEP FURNITURE ABOVE THE FLOOR
   ============================================================ */

.lounge-sofa,
.lounge-chair,
.lounge-coffee-table,
.lounge-networking-table,
.lounge-plant {
  z-index: 5;
}
/* ============================================================
   GLOBAL NOTIFICATION CENTER
   ============================================================ */

.gip-notification-center {
  --gip-notification-blue: #2563eb;
  --gip-notification-dark: #0f172a;
  --gip-notification-muted: #64748b;
  --gip-notification-border: #e2e8f0;
  --gip-notification-unread: #eff6ff;
}


/* ============================================================
   BELL
   ============================================================ */

.gip-notification-center__toggle {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 9000;

  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  place-items: center;

  color: #fff;
  background: var(--gip-notification-dark);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.28);

  font-size: 1.1rem;
  cursor: pointer;
}

.gip-notification-center__toggle:hover,
.gip-notification-center__toggle:focus-visible {
  background: var(--gip-notification-blue);
}

.gip-notification-center__toggle:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.4);
  outline-offset: 3px;
}

.gip-notification-center__count {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;

  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.3rem;

  color: #fff;
  background: #dc2626;
  border: 2px solid #fff;
  border-radius: 999px;

  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1rem;
  text-align: center;
}


/* ============================================================
   PANEL
   ============================================================ */

.gip-notification-center__panel {
  position: fixed;
  top: 4.6rem;
  right: 1rem;
  z-index: 9000;

  width: min(24rem, calc(100vw - 2rem));
  max-height: min(32rem, calc(100vh - 6rem));
  overflow: hidden;

  color: var(--gip-notification-dark);
  background: #fff;
  border: 1px solid var(--gip-notification-border);
  border-radius: 0.9rem;
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.26);
}

.gip-notification-center__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--gip-notification-border);
}

.gip-notification-center__header h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}

.gip-notification-center__sound-toggle {
  display: grid;
  width: 2rem;
  height: 2rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--gip-notification-border);
  border-radius: 50%;
  background: #fff;
  color: var(--gip-notification-blue);
  cursor: pointer;
}

.gip-notification-center__sound-toggle[aria-pressed="false"] {
  color: var(--gip-notification-muted);
}

.gip-notification-center__sound-toggle:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.25);
  outline-offset: 2px;
}

.gip-notification-center__empty {
  margin: 0;
  padding: 1.5rem 1rem;

  color: var(--gip-notification-muted);
  text-align: center;
}

.gip-notification-center__list {
  max-height: min(27rem, calc(100vh - 11rem));
  margin: 0;
  padding: 0;
  overflow-y: auto;
}

.gip-notification-center__item {
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem 1.1rem;

  border-bottom: 1px solid var(--gip-notification-border);
}

.gip-notification-center__item:last-child {
  border-bottom: 0;
}

.gip-notification-center__item--unread {
  background: var(--gip-notification-unread);
  box-shadow: inset 0.22rem 0 0 var(--gip-notification-blue);
}

.gip-notification-center__message {
  margin: 0;
  color: var(--gip-notification-dark);
  font-size: 0.9rem;
  line-height: 1.4;
}

.gip-notification-center__time {
  color: var(--gip-notification-muted);
  font-size: 0.75rem;
}


/* ============================================================
   REAL-TIME TOASTS
   ============================================================ */

.gip-notification-toasts {
  position: fixed;
  top: 1rem;
  left: 50%;
  z-index: 10030;

  display: grid;
  width: min(28rem, calc(100vw - 2rem));
  gap: 0.6rem;

  pointer-events: none;
  transform: translateX(-50%);
}

.gip-notification-toast {
  padding: 0.9rem 1rem;

  color: #fff;
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.7rem;
  box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.3);

  font-size: 0.9rem;
  line-height: 1.4;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {
  .gip-notification-center__toggle {
    top: 0.75rem;
    right: 0.75rem;
  }

  .gip-notification-center__panel {
    top: 4.25rem;
    right: 0.75rem;

    width: calc(100vw - 1.5rem);
  }

  .gip-notification-toasts {
    top: 0.75rem;
    width: calc(100vw - 1.5rem);
  }
}
/* ============================================================
   PRODUCT MANAGEMENT — STAND CONTEXT
   ============================================================ */

.product-management-stand {
  margin:
    28px 0;

  padding:
    22px 24px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 24px;

  background: #fff;

  border:
    1px solid #ece7df;

  border-radius: 18px;

  box-shadow:
    0 8px 28px
    rgba(0, 0, 0, 0.05);
}


.product-management-stand__identity {
  display: flex;

  align-items: center;

  gap: 18px;
}


.product-management-stand__identity h2 {
  margin:
    4px 0;

  color: #272727;
}


.product-management-stand__identity p {
  margin: 0;

  color: #777;

  font-size:
    0.85rem;
}


.product-management-stand__image,
.product-management-stand__placeholder {
  width: 90px;
  height: 90px;

  flex: 0 0 90px;

  border-radius: 14px;
}


.product-management-stand__image {
  object-fit: cover;
}


.product-management-stand__placeholder {
  display: flex;

  align-items: center;
  justify-content: center;

  background:
    #fff3e8;

  color:
    var(--oranged-color);

  font-size:
    1.8rem;

  font-weight:
    900;
}


.product-management-stand__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


.product-management-stand__actions
.workspace-button {
  width: auto;

  margin: 0;
}


/* ============================================================
   ENTERPRISE SUMMARY
   ============================================================ */

.product-management-enterprise-name {
  font-size:
    1.05rem;

  line-height: 1.2;
}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.product-management-grid {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(300px, 1fr)
    );

  gap: 24px;
}


/* ============================================================
   PRODUCT CARD
   ============================================================ */

.product-management-card {
  overflow: hidden;

  display: flex;
  flex-direction: column;

  background: #fff;

  border:
    1px solid #ece7df;

  border-radius: 18px;

  box-shadow:
    0 8px 28px
    rgba(0, 0, 0, 0.06);
}


/* ============================================================
   PRODUCT VISUAL
   ============================================================ */

.product-management-card__visual {
  height: 190px;

  background:
    #fff8f1;
}


.product-management-card__image {
  width: 100%;
  height: 100%;

  object-fit: cover;
}


.product-management-card__placeholder {
  width: 100%;
  height: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      #fffaf5,
      #ffefe1
    );

  color:
    var(--oranged-color);

  font-size:
    3rem;

  font-weight:
    900;
}


/* ============================================================
   CARD BODY
   ============================================================ */

.product-management-card__body {
  flex: 1;

  padding: 20px;

  display: flex;
  flex-direction: column;

  gap: 14px;
}


.product-management-card__heading {
  display: flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap: 14px;
}


.product-management-card__heading h3 {
  margin:
    4px 0 0;

  color: #292929;

  font-size:
    1.15rem;
}


.product-management-card__eyebrow {
  color:
    var(--oranged-color);

  font-size:
    0.68rem;

  font-weight:
    900;

  letter-spacing:
    0.1em;

  text-transform:
    uppercase;
}


/* ============================================================
   PRICE
   ============================================================ */

.product-management-card__price {
  color:
    #222;

  font-size:
    1rem;

  white-space:
    nowrap;
}


/* ============================================================
   DESCRIPTION
   ============================================================ */

.product-management-card__description {
  margin: 0;

  color: #666;

  font-size:
    0.86rem;

  line-height:
    1.5;
}


.product-management-card__description--empty {
  color: #aaa;

  font-style:
    italic;
}


/* ============================================================
   META
   ============================================================ */

.product-management-card__meta {
  padding:
    9px 11px;

  background:
    #faf8f5;

  border-radius:
    10px;

  color: #666;

  font-size:
    0.78rem;
}


.product-management-card__meta strong {
  color: #444;

  margin-right:
    5px;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.product-management-card__actions {
  margin-top: auto;

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 8px;
}


.product-management-card__actions
.workspace-button {
  width: auto;

  margin: 0;
}


.product-management-card__actions form {
  margin: 0;
}


/* ============================================================
   DELETE BUTTON
   ============================================================ */

.workspace-button--danger {
  background: #fff;

  color: #b83932;

  border:
    1px solid
    rgba(
      184,
      57,
      50,
      0.35
    );
}


.workspace-button--danger:hover {
  background: #b83932;

  color: #fff;

  border-color:
    #b83932;
}


/* ============================================================
   CURRENT PRODUCT IMAGE
   ============================================================ */

.product-management-current-image {
  margin-top: 8px;

  display: flex;
  flex-direction: column;

  gap: 10px;
}


.product-management-current-image img {
  width: 220px;
  height: 150px;

  object-fit: cover;

  border-radius: 14px;

  border:
    1px solid #e7e0d8;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (
  max-width: 760px
) {

  .product-management-stand {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .product-management-grid {
    grid-template-columns:
      1fr;
  }

}
/* ============================================================
   GIP — PUBLIC PRODUCT EXPERIENCE
   ============================================================ */

.public-product {
  width: min(1120px, calc(100% - 24px));
  margin: 26px auto 60px;

  overflow: hidden;

  border: 1px solid #eadfd5;
  border-radius: 24px;

  background: #fff;

  color: #434b54;

  box-shadow:
    0 20px 60px
    rgba(0, 0, 0, 0.07);
}


/* ============================================================
   TOP BAR
   ============================================================ */

.public-product__topbar {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding: 15px 22px;

  border-bottom: 1px solid #eee;

  background: #fff;
}

.public-product__breadcrumb {
  display: flex;

  flex-wrap: wrap;
  align-items: center;

  gap: 7px;

  color: #999;

  font-size: 0.75rem;
}

.public-product__breadcrumb a {
  color: #666;

  font-weight: 700;

  text-decoration: none;
}

.public-product__breadcrumb a:hover {
  color: #ff4b16;
}

.public-product__breadcrumb strong {
  color: #333;
}

.public-product__exit {
  width: 38px;
  height: 38px;

  display: grid;

  place-items: center;

  flex: 0 0 38px;

  border: 1px solid #ddd;
  border-radius: 50%;

  color: #555;

  font-size: 1.4rem;

  text-decoration: none;
}

.public-product__exit:hover {
  border-color: #ff4b16;

  color: #ff4b16;
}


/* ============================================================
   HERO
   ============================================================ */

.public-product__hero {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(0, 0.95fr);

  min-height: 520px;
}

.public-product__media {
  min-height: 520px;

  overflow: hidden;

  background: #f3f3f3;
}

.public-product__image {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.public-product__placeholder {
  width: 100%;
  height: 100%;

  min-height: 520px;

  display: grid;

  place-items: center;

  color: #bbb;

  font-size: 4rem;
}

.public-product__details {
  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 44px;
}

.public-product__eyebrow,
.public-product-section-heading > span {
  display: block;

  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.69rem;
  font-weight: 900;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}

.public-product__details h1 {
  margin: 0;

  color: #272727;

  font-size: clamp(2.2rem, 5vw, 3.7rem);

  line-height: 1.03;
}

.public-product__enterprise {
  margin: 13px 0 0;

  color: #747474;

  font-size: 0.9rem;
}

.public-product__enterprise a {
  color: #3778c2;

  font-weight: 800;

  text-decoration: none;
}

.public-product__description {
  margin-top: 26px;

  color: #646464;

  line-height: 1.65;
}


/* ============================================================
   METRICS
   ============================================================ */

.public-product__metrics {
  display: flex;

  flex-wrap: wrap;

  gap: 16px;

  margin-top: 24px;
}

.public-product__metrics span {
  display: inline-flex;

  align-items: center;

  gap: 5px;

  color: #777;

  font-size: 0.8rem;
}

.public-product__metrics i {
  color: #ff4b16;
}

.public-product__metrics strong {
  color: #333;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.public-product__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 25px;
}

.public-product__actions form {
  margin: 0;
}

.public-product__like,
.public-product__secondary-action {
  min-height: 42px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 7px;

  padding: 9px 17px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.79rem;
  font-weight: 800;

  cursor: pointer;

  text-decoration: none;
}

.public-product__like {
  border: 1px solid #f0b77e;

  background: #fff4e9;

  color: #b45612;
}

.public-product__like:hover,
.public-product__like--active {
  border-color: #ff4b16;

  background: #ff4b16;

  color: #fff;
}

.public-product__secondary-action {
  border: 1px solid #d9dfe5;

  background: #fff;

  color: #555;
}


/* ============================================================
   COMMENTS
   ============================================================ */

.public-product-comments {
  padding: 40px;

  border-top: 1px solid #eee;

  background: #fafafa;
}

.public-product-section-heading {
  margin-bottom: 26px;
}

.public-product-section-heading h2 {
  margin: 0;

  color: #292929;

  font-size: 1.5rem;
}

.public-product-section-heading p {
  margin: 7px 0 0;

  color: #727272;

  line-height: 1.5;
}

.public-product-comments__layout {
  display: grid;

  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(0, 1.1fr);

  gap: 24px;
}

.public-product-comments__form,
.public-product-comments__latest {
  padding: 22px;

  border: 1px solid #e5e5e5;
  border-radius: 16px;

  background: #fff;
}

.public-product-comments h3 {
  margin: 0;

  color: #333;

  font-size: 1rem;
}

.public-product-comment-form textarea {
  width: 100%;

  min-height: 125px;

  margin-top: 14px;

  padding: 13px;

  border: 1px solid #d9dde1;
  border-radius: 10px;

  outline: none;

  resize: vertical;

  font: inherit;
}

.public-product-comment-form textarea:focus {
  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}

.public-product-comment-form__actions {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 12px;

  margin-top: 10px;
}

.public-product-comment-form__actions span {
  color: #888;

  font-size: 0.72rem;
}

.public-product-comment-form__actions input[type="submit"] {
  padding: 8px 14px;

  border: 1px solid #f0b77e;
  border-radius: 999px;

  background: #fff4e9;

  color: #b45612;

  font-weight: 800;

  cursor: pointer;
}

.public-product-comments__latest-heading {
  display: flex;

  justify-content: space-between;

  gap: 10px;

  margin-bottom: 15px;
}

.public-product-comments__latest-heading span {
  color: #888;

  font-size: 0.72rem;
}

.public-product-comments__list {
  display: grid;

  gap: 15px;
}

.public-product-comment {
  display: flex;

  gap: 12px;
}

.public-product-comment__avatar {
  width: 38px;
  height: 38px;

  flex: 0 0 38px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #fff4e9;

  color: #b45612;

  font-size: 0.76rem;
  font-weight: 900;
}

.public-product-comment__content {
  min-width: 0;

  flex: 1;
}

.public-product-comment__content header {
  display: flex;

  justify-content: space-between;

  gap: 10px;
}

.public-product-comment__content strong {
  color: #333;

  font-size: 0.82rem;
}

.public-product-comment__content header span {
  color: #aaa;

  font-size: 0.68rem;
}

.public-product-comment__content p {
  margin: 5px 0 0;

  color: #646464;

  font-size: 0.83rem;

  line-height: 1.45;
}

.public-product-comment__delete {
  margin-top: 5px;

  padding: 0;

  border: 0;

  background: transparent;

  color: #999;

  font-size: 0.68rem;

  cursor: pointer;
}


/* ============================================================
   CONTEXT
   ============================================================ */

.public-product__context {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding: 25px 40px;

  border-top: 1px solid #eee;

  background: #fff;
}

.public-product__context span {
  display: block;

  color: #ff4b16;

  font-size: 0.64rem;
  font-weight: 900;

  letter-spacing: 0.1em;
}

.public-product__context strong {
  display: block;

  margin-top: 4px;

  color: #333;
}

.public-product__context p {
  margin: 3px 0 0;

  color: #777;
}

.public-product__context-action {
  padding: 9px 15px;

  border: 1px solid #f0b77e;
  border-radius: 999px;

  background: #fff4e9;

  color: #b45612;

  font-size: 0.78rem;
  font-weight: 800;

  text-decoration: none;
}


/* ============================================================
   SPONSOR / FOOTER
   ============================================================ */

.public-product__sponsor {
  padding: 18px 40px;

  border-top: 1px solid #dce8d5;

  background: #f7fbf4;
}

.public-product__sponsor span {
  display: block;

  color: #55892b;

  font-size: 0.62rem;
  font-weight: 900;

  letter-spacing: 0.09em;
}

.public-product__sponsor strong {
  display: block;

  margin-top: 4px;

  color: #333;
}

.public-product__footer {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 15px;

  padding: 18px 40px;

  border-top: 1px solid #eee;
}

.public-product__footer span {
  color: #999;

  font-size: 0.62rem;
  font-weight: 900;

  letter-spacing: 0.1em;
}

.public-product__footer a {
  color: #555;

  font-size: 0.76rem;
  font-weight: 800;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 820px) {
  .public-product__hero,
  .public-product-comments__layout {
    grid-template-columns: 1fr;
  }

  .public-product__media {
    min-height: 380px;
  }

  .public-product__placeholder {
    min-height: 380px;
  }

  .public-product__details {
    padding: 30px;
  }
}


@media (max-width: 620px) {
  .public-product {
    width: calc(100% - 10px);

    margin: 5px auto 30px;

    border-radius: 17px;
  }

  .public-product__topbar {
    padding: 12px 14px;
  }

  .public-product__details,
  .public-product-comments,
  .public-product__context,
  .public-product__sponsor,
  .public-product__footer {
    padding: 22px 18px;
  }

  .public-product__media {
    min-height: 300px;
  }

  .public-product__placeholder {
    min-height: 300px;
  }

  .public-product__actions,
  .public-product-comment-form__actions,
  .public-product__context,
  .public-product__footer {
    flex-direction: column;

    align-items: stretch;
  }

  .public-product__like,
  .public-product__secondary-action,
  .public-product__context-action {
    width: 100%;
  }

  .public-product-comment-form__actions input[type="submit"] {
    width: 100%;
  }
}
/* ============================================================
   GIP PREMIUM PUBLIC SPONSOR
   ============================================================ */

.public-sponsor {
  --sponsor-accent: #ff4b16;
  --sponsor-dark: #202020;
  --sponsor-muted: #6f7478;
  --sponsor-border: #e5e5e5;
  --sponsor-soft: #faf8f5;
  --sponsor-green: #6dbb2f;

  width: 100%;

  background: #fff;

  color: var(--sponsor-dark);

  font-family:
    inherit;
}


/* ============================================================
   HERO
   ============================================================ */

.public-sponsor__hero {
  position: relative;

  overflow: hidden;

  padding:
    42px
    clamp(24px, 5vw, 70px)
    32px;

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fffaf5 55%,
      #f5f9ef 100%
    );

  border-bottom:
    1px solid
    var(--sponsor-border);
}


.public-sponsor__hero-decoration {
  position: absolute;

  top: -120px;
  right: -120px;

  width: 340px;
  height: 340px;

  border-radius: 50%;

  border:
    55px solid
    rgba(255, 75, 22, 0.06);

  pointer-events: none;
}


.public-sponsor__identity {
  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns:
    auto minmax(0, 1fr);

  gap: 28px;

  align-items: center;

  max-width: 1100px;
}


.public-sponsor__badge {
  grid-column:
    1 / -1;

  width: fit-content;

  padding:
    7px 12px;

  border-radius:
    999px;

  background:
    #202020;

  color:
    #fff;

  font-size:
    0.68rem;

  font-weight:
    900;

  letter-spacing:
    0.16em;
}


.public-sponsor__logo {
  display: grid;

  place-items: center;

  width: 150px;
  height: 150px;

  padding: 18px;

  border-radius: 28px;

  border:
    1px solid
    rgba(0, 0, 0, 0.08);

  background: #fff;

  box-shadow:
    0 16px 45px
    rgba(0, 0, 0, 0.08);
}


.public-sponsor__logo img {
  display: block;

  max-width: 100%;
  max-height: 100%;

  object-fit: contain;
}


.public-sponsor__logo-placeholder {
  display: grid;

  place-items: center;

  width: 100%;
  height: 100%;

  border-radius: 20px;

  background:
    var(--sponsor-dark);

  color:
    #fff;

  font-size:
    2.4rem;

  font-weight: 900;
}


.public-sponsor__eyebrow {
  display: block;

  margin-bottom: 8px;

  color:
    var(--sponsor-accent);

  font-size:
    0.69rem;

  font-weight:
    900;

  letter-spacing:
    0.17em;

  text-transform:
    uppercase;
}


.public-sponsor__identity-copy h1 {
  margin:
    0 0 10px;

  font-size:
    clamp(
      2.2rem,
      5vw,
      4.8rem
    );

  line-height: 0.95;

  letter-spacing:
    -0.045em;
}


.public-sponsor__tagline {
  max-width: 720px;

  margin:
    0;

  color:
    var(--sponsor-muted);

  font-size:
    1.08rem;

  line-height:
    1.65;
}


.public-sponsor__hero-actions {
  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 22px;
}


.public-sponsor__primary-action,
.public-sponsor__secondary-action {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 44px;

  padding:
    10px 18px;

  border-radius:
    999px;

  text-decoration: none;

  font-size:
    0.82rem;

  font-weight:
    900;
}


.public-sponsor__primary-action {
  background:
    var(--sponsor-accent);

  color: #fff;
}


.public-sponsor__secondary-action {
  border:
    1px solid
    #ddd;

  background: #fff;

  color:
    var(--sponsor-dark);
}


/* ============================================================
   IMPACT NUMBERS
   ============================================================ */

.public-sponsor__impact-summary {
  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 12px;

  max-width: 800px;

  margin-top: 34px;
}


.public-sponsor__impact-summary > div {
  padding:
    17px 19px;

  border-radius:
    16px;

  border:
    1px solid
    rgba(0, 0, 0, 0.07);

  background:
    rgba(
      255,
      255,
      255,
      0.75
    );
}


.public-sponsor__impact-summary strong {
  display: block;

  font-size:
    1.6rem;
}


.public-sponsor__impact-summary span {
  color:
    var(--sponsor-muted);

  font-size:
    0.74rem;
}


/* ============================================================
   GENERIC SECTIONS
   ============================================================ */

.public-sponsor__section {
  padding:
    44px
    clamp(24px, 5vw, 70px);

  border-bottom:
    1px solid
    var(--sponsor-border);
}


.public-sponsor__section-heading {
  display: flex;

  justify-content:
    space-between;

  align-items:
    flex-start;

  gap: 24px;

  margin-bottom: 24px;
}


.public-sponsor__section h2 {
  margin:
    0 0 8px;

  font-size:
    clamp(
      1.6rem,
      3vw,
      2.3rem
    );

  letter-spacing:
    -0.025em;
}


.public-sponsor__section-heading p {
  margin: 0;

  color:
    var(--sponsor-muted);
}


/* ============================================================
   MEDIA
   ============================================================ */

.public-sponsor__media {
  overflow: hidden;

  min-height: 340px;

  border-radius: 26px;

  background:
    #101010;
}


.public-sponsor__media-element {
  display: block;

  width: 100%;
  height: min(520px, 60vh);

  object-fit: cover;

  background: #111;
}


.public-sponsor__logo-stage {
  display: grid;

  place-items: center;

  min-height: 380px;

  padding: 50px;

  background:
    radial-gradient(
      circle at center,
      #fff 0%,
      #f7f7f7 55%,
      #ededed 100%
    );
}


.public-sponsor__logo-stage img {
  max-width: 65%;
  max-height: 250px;

  object-fit: contain;
}


.public-sponsor__media-empty {
  display: grid;

  place-content: center;

  min-height: 380px;

  text-align: center;

  background:
    linear-gradient(
      135deg,
      #171717,
      #292929
    );

  color: #fff;
}


.public-sponsor__media-empty span {
  color:
    #ff8c69;

  font-size:
    0.72rem;

  font-weight: 900;

  letter-spacing:
    0.17em;

  text-transform:
    uppercase;
}


.public-sponsor__media-empty strong {
  margin-top: 10px;

  font-size:
    clamp(
      2rem,
      6vw,
      4.2rem
    );
}


.public-sponsor__audio-card {
  display: grid;

  grid-template-columns:
    auto 1fr;

  gap: 20px;

  align-items: center;

  min-height: 300px;

  padding: 45px;

  background:
    linear-gradient(
      135deg,
      #202020,
      #303030
    );

  color: #fff;
}


.public-sponsor__audio-card audio {
  grid-column:
    1 / -1;

  width: 100%;
}


.public-sponsor__audio-symbol {
  display: grid;

  place-items: center;

  width: 65px;
  height: 65px;

  border-radius: 50%;

  background:
    var(--sponsor-accent);

  font-size: 1.8rem;
}


.public-sponsor__live-header {
  color:
    #fff;

  font-weight: 900;
}


.public-sponsor__media-frame {
  display: grid;

  place-content: center;

  min-height: 360px;

  gap: 20px;

  padding: 40px;

  text-align: center;
}


.public-sponsor__live-dot {
  display: inline-block;

  width: 9px;
  height: 9px;

  margin-right: 5px;

  border-radius: 50%;

  background: #ff3939;

  box-shadow:
    0 0 0 6px
    rgba(255, 57, 57, 0.14);
}


.public-sponsor__live-link {
  color:
    #fff;

  font-size: 1.2rem;

  font-weight: 900;
}


/* ============================================================
   ABOUT
   ============================================================ */

.public-sponsor__about {
  display: grid;

  grid-template-columns:
    minmax(0, 1.8fr)
    minmax(250px, 0.8fr);

  gap: 45px;
}


.public-sponsor__description {
  max-width: 800px;

  color:
    var(--sponsor-muted);

  font-size:
    0.96rem;

  line-height: 1.8;
}


.public-sponsor__social-panel {
  align-self: start;

  padding: 25px;

  border-radius: 20px;

  background:
    var(--sponsor-soft);
}


.public-sponsor__social-panel h3 {
  margin:
    0 0 17px;
}


.public-sponsor__social-links {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


.public-sponsor__social-link {
  padding:
    8px 12px;

  border-radius:
    999px;

  border:
    1px solid
    #ddd;

  background: #fff;

  color:
    #444;

  text-decoration: none;

  font-size:
    0.72rem;

  font-weight: 800;
}


/* ============================================================
   SPONSORED STAND GRID
   ============================================================ */

.public-sponsor__supported-block {
  background:
    #fbfbfb;
}


.public-sponsor__block-summary {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


.public-sponsor__block-summary span {
  padding:
    7px 11px;

  border-radius:
    999px;

  background: #fff;

  border:
    1px solid
    #ddd;

  color:
    var(--sponsor-muted);

  font-size:
    0.7rem;
}


.public-sponsor__block-summary strong {
  color:
    var(--sponsor-dark);
}


.public-sponsor__stand-grid {
  display: grid;

  grid-template-columns:
    repeat(
      5,
      minmax(0, 1fr)
    );

  gap: 14px;
}


.public-sponsor__stand-card {
  display: flex;

  flex-direction: column;

  min-width: 0;

  overflow: hidden;

  border-radius: 18px;

  border:
    1px solid
    #e5e5e5;

  background: #fff;

  color:
    var(--sponsor-dark);

  text-decoration: none;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}


.public-sponsor__stand-card:hover {
  transform:
    translateY(-3px);

  border-color:
    rgba(255, 75, 22, 0.45);

  box-shadow:
    0 14px 35px
    rgba(0, 0, 0, 0.08);
}


.public-sponsor__stand-card-top {
  display: flex;

  justify-content:
    space-between;

  align-items: center;

  padding:
    10px 12px;

  border-bottom:
    1px solid
    #eee;

  font-size:
    0.68rem;

  text-transform:
    uppercase;

  letter-spacing:
    0.1em;
}


.public-sponsor__stand-card-top strong {
  font-size:
    0.9rem;
}


.public-sponsor__stand-visual {
  display: grid;

  place-items: center;

  aspect-ratio: 4 / 3;

  padding: 14px;

  background:
    #fafafa;
}


.public-sponsor__stand-visual img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


.public-sponsor__stand-placeholder {
  display: grid;

  place-content: center;

  width: 100%;
  height: 100%;

  text-align: center;

  border:
    1px dashed
    #d6d6d6;

  color: #999;
}


.public-sponsor__stand-placeholder span {
  font-size:
    0.65rem;

  font-weight: 900;
}


.public-sponsor__stand-placeholder small {
  font-size:
    0.55rem;
}


.public-sponsor__stand-copy {
  display: grid;

  gap: 7px;

  padding:
    12px;
}


.public-sponsor__stand-copy strong {
  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

  font-size:
    0.8rem;
}


.public-sponsor__stand-status {
  width: fit-content;

  padding:
    4px 7px;

  border-radius:
    999px;

  font-size:
    0.6rem;

  font-weight: 900;
}


.public-sponsor__stand-status--occupied {
  background:
    #edf7e7;

  color:
    #448218;
}


.public-sponsor__stand-status--reserved {
  background:
    #fff6db;

  color:
    #9a6b00;
}


.public-sponsor__stand-status--available {
  background:
    #f1f3f5;

  color:
    #73787d;
}


.public-sponsor__stand-enter {
  margin-top: auto;

  padding:
    0 12px 13px;

  color:
    var(--sponsor-accent);

  font-size:
    0.68rem;

  font-weight: 900;
}


/* ============================================================
   CONVERSATION
   ============================================================ */

.public-sponsor__conversation {
  display: grid;

  grid-template-columns:
    auto 1fr auto;

  gap: 22px;

  align-items: center;

  background:
    linear-gradient(
      120deg,
      #202020,
      #292929
    );

  color: #fff;
}


.public-sponsor__conversation-icon {
  display: grid;

  place-items: center;

  width: 60px;
  height: 60px;

  border-radius: 50%;

  background:
    var(--sponsor-accent);

  font-size:
    1.5rem;
}


.public-sponsor__conversation p {
  margin: 0;

  color:
    rgba(
      255,
      255,
      255,
      0.7
    );
}


.public-sponsor__conversation-status {
  display: flex;

  align-items: center;

  gap: 8px;

  padding:
    8px 12px;

  border-radius:
    999px;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.15
    );

  font-size:
    0.7rem;

  font-weight: 800;
}


.public-sponsor__conversation-status span {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background:
    var(--sponsor-green);
}


/* ============================================================
   FOOTER
   ============================================================ */

.public-sponsor__footer {
  display: flex;

  justify-content:
    space-between;

  align-items: center;

  gap: 24px;

  padding:
    34px
    clamp(24px, 5vw, 70px);

  background:
    #f8f8f8;
}


.public-sponsor__footer strong {
  display: block;

  max-width: 600px;

  font-size:
    1.05rem;
}


/* ============================================================
   THEMES
   ============================================================ */

.public-sponsor--elegant {
  --sponsor-accent:
    #a87932;
}


.public-sponsor--modern {
  --sponsor-accent:
    #4858ff;
}


.public-sponsor--impact {
  --sponsor-accent:
    #ff4b16;
}


.public-sponsor--minimal {
  --sponsor-accent:
    #252525;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 980px) {

  .public-sponsor__stand-grid {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }


  .public-sponsor__about {
    grid-template-columns:
      1fr;
  }

}


@media (max-width: 700px) {

  .public-sponsor__identity {
    grid-template-columns:
      1fr;
  }


  .public-sponsor__logo {
    width: 110px;
    height: 110px;
  }


  .public-sponsor__impact-summary {
    grid-template-columns:
      1fr;
  }


  .public-sponsor__section-heading {
    display: block;
  }


  .public-sponsor__block-summary {
    margin-top: 15px;
  }


  .public-sponsor__stand-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  .public-sponsor__conversation {
    grid-template-columns:
      auto 1fr;
  }


  .public-sponsor__conversation-status {
    grid-column:
      1 / -1;

    width: fit-content;
  }


  .public-sponsor__footer {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

}


@media (max-width: 430px) {

  .public-sponsor__stand-grid {
    grid-template-columns:
      1fr;
  }

}
.public-sponsor-discussion__heading {
  margin-bottom: 1.5rem;
}

.public-sponsor-discussion__heading h2 {
  margin: .35rem 0;
}

.public-sponsor-discussion__heading p {
  margin: 0;
  color: #64748b;
}

.public-sponsor-discussion__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.public-sponsor-discussion__form,
.public-sponsor-discussion__comments {
  padding: 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
}

.public-sponsor-discussion__form h3,
.public-sponsor-discussion__comments h3 {
  margin: 0 0 1rem;
}

.public-sponsor-discussion__form form {
  display: grid;
  gap: .75rem;
}

.public-sponsor-discussion__form textarea {
  width: 100%;
  padding: .85rem;
  border: 1px solid #cbd5e1;
  border-radius: .75rem;
  box-sizing: border-box;
  resize: vertical;
  font: inherit;
}

.public-sponsor-discussion__form input[type="submit"] {
  width: fit-content;
  padding: .7rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #f4511e;
  font-weight: 800;
  cursor: pointer;
}

.public-sponsor-comment {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: .75rem;
  margin-top: 1rem;
}

.public-sponsor-comment__avatar {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #f4511e;
  font-weight: 900;
}

.public-sponsor-comment header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem;
}

.public-sponsor-comment time {
  color: #94a3b8;
  font-size: .75rem;
}

.public-sponsor-comment p {
  margin: .25rem 0 0;
}

.public-sponsor-discussion__empty {
  color: #64748b;
}

@media (max-width: 760px) {
  .public-sponsor-discussion__grid {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   GIP — PUBLIC STAND EXPERIENCE
   ============================================================ */

.public-stand {
  width: min(1180px, calc(100% - 24px));
  margin: 24px auto 60px;

  overflow: hidden;

  border: 1px solid #eadfd5;
  border-radius: 26px;

  background: #fff;

  color: #434b54;

  box-shadow:
    0 20px 60px
    rgba(0, 0, 0, 0.08);
}


/* ============================================================
   TOP BAR
   ============================================================ */

.public-stand__topbar {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 16px;

  padding: 15px 22px;

  border-bottom: 1px solid #eee;

  background: #fff;
}

.public-stand__location span,
.public-stand__location strong {
  display: block;
}

.public-stand__location span {
  color: #ff4b16;

  font-size: 0.62rem;
  font-weight: 900;

  letter-spacing: 0.12em;
}

.public-stand__location strong {
  margin-top: 3px;

  color: #333;

  font-size: 0.88rem;
}

.public-stand__topbar-actions {
  display: flex;

  align-items: center;

  gap: 12px;
}

.public-stand__exit {
  width: 38px;
  height: 38px;

  display: grid;

  place-items: center;

  border: 1px solid #ddd;
  border-radius: 50%;

  color: #555;

  font-size: 1.45rem;
  line-height: 1;

  text-decoration: none;
}

.public-stand__exit:hover {
  border-color: #ff4b16;

  color: #ff4b16;
}


/* ============================================================
   STATUS
   ============================================================ */

.venue-stand-status {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 7px 10px;

  border-radius: 999px;

  font-size: 0.72rem;
  font-weight: 800;
}

.venue-stand-status__indicator {
  width: 7px;
  height: 7px;

  border-radius: 50%;
}

.venue-stand-status--occupied {
  background: #eef8e8;

  color: #4f8425;
}

.venue-stand-status--occupied
.venue-stand-status__indicator {
  background: #5fb523;
}

.venue-stand-status--available {
  background: #fff4e9;

  color: #b45612;
}

.venue-stand-status--available
.venue-stand-status__indicator {
  background: #ff4b16;
}

.venue-stand-status--reserved {
  background: #fff7dc;

  color: #936718;
}

.venue-stand-status--reserved
.venue-stand-status__indicator {
  background: #d69a26;
}


/* ============================================================
   MEDIA
   ============================================================ */

.public-stand-media {
  position: relative;

  background: #151515;
}

.public-stand-media__frame {
  position: relative;

  width: 100%;

  aspect-ratio: 16 / 7;

  overflow: hidden;
}

.public-stand-media__frame iframe,
.public-stand-media__video {
  width: 100%;
  height: 100%;

  border: 0;

  object-fit: cover;
}

.public-stand-media__live-label {
  position: absolute;

  z-index: 5;

  top: 18px;
  left: 18px;

  display: flex;

  align-items: center;

  gap: 7px;

  padding: 7px 11px;

  border-radius: 999px;

  background: rgba(0, 0, 0, 0.72);

  color: #fff;

  font-size: 0.69rem;
  font-weight: 900;

  letter-spacing: 0.07em;
}

.public-stand-media__live-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: #ff3b30;
}

.public-stand-media__label {
  position: absolute;

  z-index: 4;

  top: 18px;
  left: 18px;

  padding: 7px 11px;

  border-radius: 999px;

  background: rgba(0, 0, 0, 0.7);

  color: #fff;

  font-size: 0.68rem;
  font-weight: 900;
}

.public-stand-media__image {
  height: clamp(320px, 52vw, 590px);

  display: flex;

  align-items: center;
  justify-content: center;

  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      #f7f7f7,
      #ededed
    );
}

.public-stand-media__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.public-stand-media__placeholder {
  text-align: center;

  color: #444;
}

.public-stand-media__placeholder span {
  display: block;

  color: #ff4b16;

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.12em;
}

.public-stand-media__placeholder strong {
  display: block;

  margin-top: 10px;

  font-size: clamp(2rem, 6vw, 4.5rem);
}

.public-stand-media__audio-layout {
  min-height: 390px;

  display: grid;

  grid-template-columns:
    1.2fr 0.8fr;

  background: #f6f6f6;
}

.public-stand-media__hero-image {
  min-height: 390px;

  overflow: hidden;
}

.public-stand-media__hero-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.public-stand-media__audio-content {
  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 44px;

  background: #fff8f2;
}

.public-stand-media__audio-content > span {
  color: #ff4b16;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.12em;
}

.public-stand-media__audio-content h2 {
  margin: 8px 0 5px;

  color: #292929;
}

.public-stand-media__audio-content p {
  color: #686868;
}

.public-stand-media__audio-content audio {
  width: 100%;

  margin-top: 18px;
}


/* ============================================================
   SHARED
   ============================================================ */

.public-stand__eyebrow,
.public-stand-section-heading > span {
  display: block;

  margin-bottom: 7px;

  color: #ff4b16;

  font-size: 0.69rem;
  font-weight: 900;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}

.public-stand-section-heading {
  margin-bottom: 24px;
}

.public-stand-section-heading h2 {
  margin: 0;

  color: #292929;

  font-size: 1.5rem;
}

.public-stand-section-heading p {
  margin: 7px 0 0;

  color: #727272;

  line-height: 1.5;
}


/* ============================================================
   IDENTITY
   ============================================================ */

.public-stand__identity {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(260px, 330px);

  gap: 32px;

  padding: 40px;
}

.public-stand__identity-heading {
  display: flex;

  align-items: center;

  gap: 18px;
}

.public-stand__enterprise-logo {
  width: 86px;
  height: 86px;

  flex: 0 0 86px;

  padding: 6px;

  object-fit: contain;

  border: 1px solid #e5e5e5;
  border-radius: 16px;

  background: #fff;
}

.public-stand__identity h1 {
  margin: 0;

  color: #222;

  font-size: clamp(2rem, 5vw, 3.1rem);

  line-height: 1.05;
}

.public-stand__organisation-type {
  display: inline-flex;

  margin-top: 8px;

  padding: 5px 9px;

  border-radius: 999px;

  background: #fff4e9;

  color: #a85c19;

  font-size: 0.68rem;
  font-weight: 800;
}

.public-stand__description {
  max-width: 760px;

  margin-top: 24px;

  color: #626262;

  font-size: 1rem;

  line-height: 1.65;
}


/* ============================================================
   CTA
   ============================================================ */

.public-stand__contact-card {
  align-self: start;

  padding: 22px;

  border: 1px solid #dbe8cf;
  border-radius: 17px;

  background: #f7fbf4;
}

.public-stand__contact-card > span {
  display: block;

  color: #55892b;

  font-size: 0.65rem;
  font-weight: 900;

  letter-spacing: 0.1em;
}

.public-stand__contact-card strong {
  display: block;

  margin-top: 6px;

  color: #333;
}

.public-stand__contact-card p {
  margin: 6px 0 18px;

  color: #707070;

  font-size: 0.86rem;

  line-height: 1.45;
}

.public-stand__primary-action {
  min-height: 42px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 9px 17px;

  border-radius: 999px;

  background: #ff4b16;

  color: #fff;

  font-size: 0.82rem;
  font-weight: 800;

  text-decoration: none;
}


/* ============================================================
   SOCIALS
   ============================================================ */

.public-stand-socials {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 24px;
}

.public-stand-socials__link {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 8px 11px;

  border: 1px solid #e2e2e2;
  border-radius: 999px;

  background: #fff;

  color: #555;

  font-size: 0.77rem;
  font-weight: 700;

  text-decoration: none;
}

.public-stand-socials__link:hover {
  border-color: #ffb47f;

  color: #ff4b16;
}

.public-stand-socials-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:24px}.public-stand-socials-shell .public-stand-socials{margin-top:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.public-stand-socials-shell .public-stand-socials::-webkit-scrollbar{display:none}.public-stand-socials-shell .public-stand-socials__link{flex:0 0 auto;scroll-snap-align:start}.public-stand-socials__arrow{display:grid;width:34px;height:34px;place-items:center;border:1px solid #e2e2e2;border-radius:50%;background:#fff;color:#ff4b16;font-size:1.5rem;cursor:pointer}.public-stand-socials__arrow[hidden]{display:none}
.public-stand-social-panel{margin-top:24px;padding:18px;border:1px solid #e3e8ef;border-radius:18px;background:#fbfcfe}.public-stand-social-panel__header span{color:#ff4b16;font-size:.7rem;font-weight:900;letter-spacing:.14em}.public-stand-social-panel__header h2{margin:.2rem 0 0;font-size:1.05rem}.public-stand-social-placeholder{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px;border:1px dashed #cbd5e1;border-radius:13px;color:#718096}.public-stand-social-placeholder i{font-size:1.3rem}.public-stand-social-placeholder p{margin:0}

/* Enterprise multimedia posts */
.public-stand-posts{padding:40px;border-top:1px solid #eee;background:#fff}.public-stand-posts__header span{color:#ff4b16;font-size:.76rem;font-weight:900;letter-spacing:.16em}.public-stand-posts__header h2{margin:.35rem 0 1.25rem}.public-stand-posts__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-stand-post{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.06)}.public-stand-post>header>div{display:flex;align-items:start;justify-content:space-between;gap:12px}.public-stand-post time{color:#7a879c;font-size:.75rem}.public-stand-post__body{margin-top:12px;color:#344054;line-height:1.55}.public-stand-post__media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px;overflow:hidden;border-radius:14px}.public-stand-post__media--1{grid-template-columns:1fr}.public-stand-post__media img,.public-stand-post__media video{width:100%;height:220px;object-fit:cover;background:#111}.public-stand-post__media audio{grid-column:1/-1;width:100%}.public-stand-post__sharing{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:16px}.public-stand-post__sharing>span{margin-right:2px;color:#667085;font-size:.78rem;font-weight:800}.public-stand-post__sharing a,.public-stand-post__sharing button{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #dde3ec;border-radius:999px;background:#fff;color:#344054;cursor:pointer;text-decoration:none}.public-stand-post__sharing button span{font-size:.75rem;font-weight:700}@media(max-width:760px){.public-stand-posts{padding:26px 18px}.public-stand-posts__list{grid-template-columns:1fr}.public-stand-post__media img,.public-stand-post__media video{height:180px}}


/* ============================================================
   PRODUCTS
   ============================================================ */

.public-stand-products {
  padding: 40px;

  border-top: 1px solid #eee;

  background: #fafafa;
}

.public-stand-products__viewport {
  display: grid;

  grid-auto-flow: column;

  grid-auto-columns:
    minmax(260px, 32%);

  gap: 16px;

  overflow-x: auto;

  padding-bottom: 12px;

  scroll-snap-type: x mandatory;

  scrollbar-width: thin;
}

.public-stand-product {
  overflow: hidden;

  scroll-snap-align: start;

  border: 1px solid #e5e5e5;
  border-radius: 16px;

  background: #fff;
}

.public-stand-product__image {
  height: 220px;

  overflow: hidden;

  background: #f2f2f2;
}

.public-stand-product__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.public-stand-product__placeholder {
  width: 100%;
  height: 100%;

  display: grid;

  place-items: center;

  color: #bbb;

  font-size: 2rem;
}

.public-stand-product__body {
  padding: 17px;
}

.public-stand-product__body h3 {
  margin: 0;

  color: #303030;
}

.public-stand-product__body p {
  margin: 7px 0 0;

  color: #727272;

  font-size: 0.84rem;

  line-height: 1.45;
}

.public-stand-product__metrics {
  display: flex;

  gap: 14px;

  margin-top: 14px;

  color: #888;

  font-size: 0.76rem;
}

.public-stand-products__hint {
  margin-top: 7px;

  color: #888;

  font-size: 0.75rem;

  text-align: right;
}


/* ============================================================
   ENGAGEMENT
   ============================================================ */

.public-stand-engagement {
  padding: 40px;

  border-top: 1px solid #eee;

  background: #fff;
}

.public-stand-engagement__appreciation {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding: 18px 20px;

  border: 1px solid #f0d4bb;
  border-radius: 15px;

  background: #fffaf6;
}

.public-stand-engagement__appreciation span {
  display: block;

  color: #a65c24;

  font-size: 0.64rem;
  font-weight: 900;
}

.public-stand-engagement__appreciation strong {
  display: inline-block;

  margin-top: 3px;

  color: #333;

  font-size: 1.35rem;
}

.public-stand-engagement__appreciation small {
  margin-left: 5px;

  color: #777;
}

.public-stand-engagement__like {
  padding: 9px 15px;

  border: 1px solid #f0b77e;
  border-radius: 999px;

  background: #fff;

  color: #b45612;

  font: inherit;

  font-size: 0.79rem;
  font-weight: 800;

  cursor: pointer;

  text-decoration: none;
}

.public-stand-engagement__like--active {
  background: #fff0ea;

  color: #ff4b16;
}


/* ============================================================
   COMMENTS
   ============================================================ */

.public-stand-comments {
  display: grid;

  grid-template-columns:
    minmax(0, 0.95fr)
    minmax(0, 1.05fr);

  gap: 26px;

  margin-top: 26px;
}

.public-stand-comments__form,
.public-stand-comments__latest {
  padding: 22px;

  border: 1px solid #e6e6e6;
  border-radius: 16px;

  background: #fff;
}

.public-stand-comments h3 {
  margin: 0;

  color: #333;

  font-size: 1rem;
}

.public-stand-comment-form textarea {
  width: 100%;

  min-height: 100px;

  margin-top: 14px;

  padding: 13px;

  border: 1px solid #d9dde1;
  border-radius: 10px;

  outline: none;

  resize: vertical;

  font: inherit;
}

.public-stand-comment-form textarea:focus {
  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}

.public-stand-comment-form__actions {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 12px;

  margin-top: 10px;
}

.public-stand-comment-form__actions span {
  color: #888;

  font-size: 0.72rem;
}

.public-stand-comment-form__actions input[type="submit"] {
  padding: 8px 14px;

  border: 1px solid #f0b77e;
  border-radius: 999px;

  background: #fff4e9;

  color: #b45612;

  font-weight: 800;

  cursor: pointer;
}

.public-stand-comments__latest-heading {
  display: flex;

  justify-content: space-between;

  gap: 10px;

  margin-bottom: 15px;
}

.public-stand-comments__latest-heading span {
  color: #888;

  font-size: 0.72rem;
}

.public-stand-comments__list {
  display: grid;

  gap: 14px;
}

.public-stand-comment {
  display: flex;

  gap: 12px;
}

.public-stand-comment__avatar {
  width: 36px;
  height: 36px;

  flex: 0 0 36px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #fff4e9;

  color: #b45612;

  font-size: 0.76rem;
  font-weight: 900;
}

.public-stand-comment__content {
  min-width: 0;

  flex: 1;
}

.public-stand-comment__content header {
  display: flex;

  justify-content: space-between;

  gap: 10px;
}

.public-stand-comment__content strong {
  color: #333;

  font-size: 0.82rem;
}

.public-stand-comment__content header span {
  color: #aaa;

  font-size: 0.68rem;
}

.public-stand-comment__content p {
  margin: 5px 0 0;

  color: #646464;

  font-size: 0.82rem;

  line-height: 1.45;
}


/* ============================================================
   SPONSOR
   ============================================================ */

.public-stand__sponsor {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 20px;

  padding: 22px 40px;

  border-top: 1px solid #dce8d5;

  background: #f7fbf4;
}

.public-stand__sponsor span {
  display: block;

  color: #55892b;

  font-size: 0.64rem;
  font-weight: 900;

  letter-spacing: 0.09em;
}

.public-stand__sponsor strong {
  display: block;

  margin-top: 4px;

  color: #333;
}

.public-stand__sponsor-logo {
  width: 76px;
  height: 52px;

  object-fit: contain;
}

.public-stand__sponsor-mark {
  width: 42px;
  height: 42px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #5fb523;

  color: #fff;
}


/* ============================================================
   AVAILABLE / EMPTY
   ============================================================ */

.public-stand__available {
  min-height: 500px;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding: 50px 24px;

  text-align: center;

  background:
    linear-gradient(
      135deg,
      #fffaf6,
      #f7fbf4
    );
}

.public-stand__available h1 {
  max-width: 670px;

  margin: 0;

  color: #292929;

  font-size: clamp(2rem, 5vw, 3.2rem);
}

.public-stand__available p {
  max-width: 610px;

  color: #707070;

  line-height: 1.6;
}

.public-stand__available-sponsor {
  margin: 10px 0 22px;

  padding: 11px 17px;

  border-radius: 12px;

  background: #fff;
}

.public-stand__available-sponsor span {
  display: block;

  color: #888;

  font-size: 0.61rem;
  font-weight: 900;
}

.public-stand__available-sponsor strong {
  display: block;

  margin-top: 4px;

  color: #333;
}

.public-stand__empty {
  padding: 28px;

  border-radius: 14px;

  background: #fff;

  color: #777;

  text-align: center;
}

.public-stand__empty i {
  display: block;

  margin-bottom: 9px;

  color: #bbb;

  font-size: 1.8rem;
}

.public-stand__empty strong {
  display: block;

  color: #333;
}

.public-stand__empty p {
  margin: 5px 0 0;
}


/* ============================================================
   FOOTER
   ============================================================ */

.public-stand__footer {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding: 18px 40px;

  border-top: 1px solid #eee;

  background: #fff;
}

.public-stand__footer span {
  color: #999;

  font-size: 0.63rem;
  font-weight: 900;

  letter-spacing: 0.1em;
}

.public-stand__footer a {
  color: #555;

  font-size: 0.78rem;
  font-weight: 800;
}


/* ============================================================
   STAND LIKES
   ============================================================ */

.stand-like-count {
  color: inherit;
  font-family: inherit;
}

.splash-stand__likes {
  margin-top: 0.25rem;
  font-size: 0.78rem;
  font-weight: 600;
  opacity: 0.7;
}
/* ============================================================
   STAND PRODUCT
   ============================================================ */


.public-stand-product__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.public-stand-product__title-link {
  color: inherit;
  text-decoration: none;
}

.public-stand-product__title-link:hover {
  color: #ff4b16;
}

.public-stand-product__metrics {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.public-stand-product__metric {
  display: inline-flex;
  align-items: center;
  gap: 5px;

  margin: 0;
  padding: 5px 8px;

  border: 0;
  border-radius: 999px;

  background: transparent;

  color: #777;

  font: inherit;
  font-size: 0.76rem;

  text-decoration: none;
  cursor: pointer;
}

.public-stand-product__metric:hover {
  background: #fff4e9;
  color: #ff4b16;
}

.public-stand-product__metric--liked {
  color: #ff4b16;
}

/* ============================================================
   VOICE ASSISTANT
   ============================================================ */

.stand-voice {
  padding: 38px 40px;

  border-top: 1px solid #eee;

  background:
    linear-gradient(
      135deg,
      #f7fbf4,
      #fffaf6
    );
}

.stand-voice__header {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;

  gap: 20px;
}

.stand-voice__identity {
  display: flex;

  align-items: flex-start;

  gap: 15px;
}

.stand-voice__icon {
  width: 48px;
  height: 48px;

  flex: 0 0 48px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #ff4b16;

  color: #fff;

  font-size: 1.05rem;

  box-shadow:
    0 8px 22px
    rgba(255, 75, 22, 0.2);
}

.stand-voice__eyebrow {
  display: block;

  margin-bottom: 4px;

  color: #ff4b16;

  font-size: 0.65rem;
  font-weight: 900;

  letter-spacing: 0.12em;
}

.stand-voice__identity h2 {
  margin: 0;

  color: #292929;

  font-size: 1.45rem;
}

.stand-voice__identity p {
  max-width: 620px;

  margin: 6px 0 0;

  color: #707070;

  font-size: 0.87rem;

  line-height: 1.5;
}

.stand-voice__status {
  padding: 6px 10px;

  border-radius: 999px;

  background: #fff;

  color: #55892b;

  font-size: 0.68rem;
  font-weight: 800;
}


/* ============================================================
   CONVERSATION
   ============================================================ */

.stand-voice__conversation {
  display: grid;

  gap: 12px;

  margin-top: 24px;
}

.stand-voice__message {
  max-width: 78%;

  padding: 13px 16px;

  border-radius: 14px;
}

.stand-voice__message--assistant {
  justify-self: start;

  border: 1px solid #dbe8cf;

  background: #fff;
}

.stand-voice__message--visitor {
  justify-self: end;

  border: 1px solid #f0d4bb;

  background: #fff4e9;
}

.stand-voice__speaker {
  display: block;

  margin-bottom: 4px;

  color: #8a8a8a;

  font-size: 0.62rem;
  font-weight: 900;

  letter-spacing: 0.06em;

  text-transform: uppercase;
}

.stand-voice__message p {
  margin: 0;

  color: #434b54;

  font-size: 0.88rem;

  line-height: 1.5;
}


/* ============================================================
   VOICE CONTROLS
   ============================================================ */

.stand-voice__controls {
  display: flex;

  align-items: center;

  gap: 10px;

  margin-top: 20px;
}

.stand-voice__controls form {
  margin: 0;
}

.stand-voice__microphone,
.stand-voice__replay {
  min-height: 42px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 8px;

  padding: 9px 16px;

  border-radius: 999px;

  font: inherit;
  font-size: 0.79rem;
  font-weight: 800;

  cursor: pointer;
}

.stand-voice__microphone {
  border: 1px solid #ff4b16;

  background: #ff4b16;

  color: #fff;
}

.stand-voice__microphone:hover {
  background: #e9410f;
}

.stand-voice__microphone:disabled {
  opacity: 0.5;

  cursor: not-allowed;
}

.stand-voice__microphone--listening {
  animation:
    stand-voice-pulse
    1.25s
    infinite;
}

.stand-voice__replay {
  border: 1px solid #d8dde3;

  background: #fff;

  color: #555;
}

@keyframes stand-voice-pulse {
  0% {
    box-shadow:
      0 0 0 0
      rgba(255, 75, 22, 0.35);
  }

  70% {
    box-shadow:
      0 0 0 12px
      rgba(255, 75, 22, 0);
  }

  100% {
    box-shadow:
      0 0 0 0
      rgba(255, 75, 22, 0);
  }
}


/* ============================================================
   TEXT FALLBACK
   ============================================================ */

.stand-voice__text {
  margin-top: 20px;
}

.stand-voice__text > label {
  display: block;

  margin-bottom: 7px;

  color: #555;

  font-size: 0.76rem;
  font-weight: 800;
}

.stand-voice__text-row {
  display: flex;

  gap: 8px;
}

.stand-voice__text-row input {
  min-width: 0;

  flex: 1;

  min-height: 44px;

  padding: 10px 13px;

  border: 1px solid #d8dde3;
  border-radius: 10px;

  background: #fff;

  font: inherit;
}

.stand-voice__text-row input:focus {
  outline: none;

  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}

.stand-voice__text-row button {
  padding: 9px 16px;

  border: 1px solid #f0b77e;
  border-radius: 10px;

  background: #fff4e9;

  color: #b45612;

  font-weight: 800;

  cursor: pointer;
}


/* ============================================================
   SUGGESTIONS
   ============================================================ */

.stand-voice__suggestions {
  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 7px;

  margin-top: 14px;
}

.stand-voice__suggestions > span {
  color: #888;

  font-size: 0.7rem;
}

.stand-voice__suggestions button {
  padding: 6px 10px;

  border: 1px solid #e4e4e4;
  border-radius: 999px;

  background: #fff;

  color: #666;

  font-size: 0.69rem;

  cursor: pointer;
}

.stand-voice__suggestions button:hover {
  border-color: #f0b77e;

  color: #ff4b16;
}

.stand-voice__compatibility {
  margin: 14px 0 0;

  color: #9a6c30;

  font-size: 0.75rem;
}


/* ============================================================
   VOICE RESPONSIVE
   ============================================================ */

@media (max-width: 620px) {
  .stand-voice {
    padding: 26px 18px;
  }

  .stand-voice__header {
    flex-direction: column;
  }

  .stand-voice__message {
    max-width: 92%;
  }

  .stand-voice__controls {
    align-items: stretch;
    flex-direction: column;
  }

  .stand-voice__microphone,
  .stand-voice__replay {
    width: 100%;
  }

  .stand-voice__text-row {
    flex-direction: column;
  }

  .stand-voice__text-row button {
    width: 100%;
  }
}

/* ============================================================
   CONVERSATION PARTICIPANTS
   EMBEDDED INSIDE LIVE VOICE CONTROLS
   ============================================================ */

.conversation-participants {
  position: static !important;

  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;

  z-index: auto !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0.75rem 0 0 !important;
  padding: 0.75rem 0 0 !important;

  box-sizing: border-box;

  border: 0 !important;
  border-top:
    1px solid rgba(15, 23, 42, 0.08) !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  backdrop-filter: none !important;

  overflow: visible;
}


/* ============================================================
   HEADER
   ============================================================ */

.conversation-participants__header {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 0.75rem;

  margin-bottom: 0.55rem;
}


.conversation-participants__label {
  font-size: 0.72rem;

  font-weight: 800;

  color: #172033;
}


.conversation-participants__count {
  font-size: 0.65rem;

  white-space: nowrap;

  color:
    rgba(15, 23, 42, 0.5);
}


/* ============================================================
   AVATARS
   ============================================================ */

.conversation-participants__avatars {
  display: flex;

  align-items: center;

  min-height: 34px;

  padding-left: 0;
}


.conversation-participants__avatar,
.conversation-participants__more {
  width: 32px;
  height: 32px;

  flex:
    0
    0
    32px;

  display: grid;

  place-items: center;

  margin-left: -4px;

  box-sizing: border-box;

  border:
    2px solid #ffffff;

  border-radius: 50%;

  background: #eef2f6;

  color: #172033;

  font-size: 0.62rem;

  font-weight: 800;
}


.conversation-participants__avatar:first-child {
  margin-left: 0;
}


.conversation-participants__avatar--local {
  background: #ff4b19;

  color: #ffffff;
}


.conversation-participants__more {
  background: #172033;

  color: #ffffff;
}


/* ============================================================
   DETAILS
   ============================================================ */

.conversation-participants__details {
  display: none;

  margin-top: 0.55rem;

  padding-top: 0.55rem;

  border-top:
    1px solid rgba(15, 23, 42, 0.06);

  max-height: 140px;

  overflow-y: auto;
}


.conversation-participants:hover
.conversation-participants__details {
  display: grid;

  gap: 0.35rem;
}


.conversation-participants__person {
  display: flex;

  align-items: center;

  gap: 0.5rem;

  font-size: 0.72rem;

  color: #172033;
}


.conversation-participants__person
.conversation-participants__avatar {
  width: 25px;
  height: 25px;

  flex:
    0
    0
    25px;

  margin: 0;

  border-width: 1px;

  font-size: 0.5rem;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 850px) {
  .public-stand__identity,
  .public-stand-comments,
  .public-stand-media__audio-layout {
    grid-template-columns: 1fr;
  }

  .public-stand-product {
    width: auto;
  }

  .public-stand-products__viewport {
    grid-auto-columns: minmax(260px, 75%);
  }

  .public-stand-media__hero-image {
    min-height: 280px;
  }
}


@media (max-width: 620px) {
  .public-stand {
    width: calc(100% - 10px);

    margin: 5px auto 30px;

    border-radius: 18px;
  }

  .public-stand__topbar {
    padding: 12px 14px;
  }

  .public-stand__identity,
  .public-stand-products,
  .public-stand-engagement {
    padding: 24px 18px;
  }

  .public-stand__identity-heading {
    align-items: flex-start;
  }

  .public-stand__enterprise-logo {
    width: 66px;
    height: 66px;

    flex-basis: 66px;
  }

  .public-stand-media__frame {
    aspect-ratio: 16 / 10;
  }

  .public-stand-media__image {
    height: 320px;
  }

  .public-stand-products__viewport {
    grid-auto-columns: 88%;
  }

  .public-stand-engagement__appreciation {
    flex-direction: column;

    align-items: flex-start;
  }

  .public-stand-comment-form__actions {
    flex-direction: column;

    align-items: stretch;
  }

  .public-stand-comment-form__actions input[type="submit"] {
    width: 100%;
  }

  .public-stand__sponsor,
  .public-stand__footer {
    padding: 18px;

    flex-direction: column;

    align-items: flex-start;
  }
}
.public-library {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.public-library--show {
  width: min(1250px, calc(100% - 3rem));
}

.public-library__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.public-library__hero > div {
  max-width: 900px;
}

.public-library__eyebrow {
  display: block;
  margin-bottom: .7rem;
  color: #2563eb;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.public-library__hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1.04;
}

.public-library__hero p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.7;
}

.public-library__count,
.public-library__published-badge {
  flex: 0 0 auto;
  padding: .55rem .85rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-library__count {
  color: #1e40af;
  background: #dbeafe;
}

.public-library__published-badge {
  color: #166534;
  background: #dcfce7;
}

.public-library-filters {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(170px, 1fr) minmax(150px, 1fr) auto auto;
  align-items: end;
  gap: .85rem;
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #f8fafc;
}

.public-library-filters label {
  display: block;
  margin-bottom: .4rem;
  color: #475569;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-library-filters input,
.public-library-filters select {
  width: 100%;
  min-height: 44px;
  padding: .7rem .8rem;
  border: 1px solid #cbd5e1;
  border-radius: .65rem;
  background: #fff;
  font: inherit;
  box-sizing: border-box;
}

.public-library__primary-button {
  min-height: 44px;
  padding: .7rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.public-library__clear-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #475569;
  font-weight: 800;
}

.public-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 1.25rem;
}

.public-library-card,
.public-library__panel,
.public-library__empty {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.public-library-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 245px;
  overflow: hidden;
}

.public-library-card__cover-link {
  display: block;
  min-height: 245px;
  background: #e2e8f0;
}

.public-library-card__cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-library-card__cover-placeholder,
.public-library-resource-summary__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  align-content: center;
  gap: .7rem;
  color: #1e3a8a;
  background: linear-gradient(145deg, #dbeafe, #eff6ff);
}

.public-library-card__cover-placeholder i,
.public-library-resource-summary__placeholder i {
  font-size: 2rem;
}

.public-library-card__cover-placeholder small,
.public-library-resource-summary__placeholder small {
  font-weight: 800;
  text-transform: uppercase;
}

.public-library-card__content {
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}

.public-library-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #2563eb;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-library-card h2 {
  margin: .55rem 0 .35rem;
  font-size: 1.22rem;
}

.public-library-card h2 a {
  color: #111827;
  text-decoration: none;
}

.public-library-card__authors {
  color: #334155;
  font-size: .9rem;
}

.public-library-card p {
  color: #64748b;
  line-height: 1.55;
}

.public-library-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1rem;
}

.public-library__text-link {
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

.public-library__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 1.5rem;
}

.public-library__content {
  display: grid;
  gap: 1.25rem;
}

.public-library__panel {
  padding: 1.5rem;
}

.public-library__panel h2 {
  margin: 0 0 1rem;
}

.public-library-resource-summary {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1.5rem;
}

.public-library-resource-summary__cover {
  overflow: hidden;
  min-height: 290px;
  border-radius: .75rem;
  background: #e2e8f0;
}

.public-library-resource-summary__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-library__details,
.public-library__rights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 0;
}

.public-library__details div,
.public-library__rights div {
  padding: .85rem;
  border-radius: .7rem;
  background: #f8fafc;
}

.public-library__details dt,
.public-library__rights dt {
  color: #64748b;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-library__details dd,
.public-library__rights dd {
  margin: .3rem 0 0;
  font-weight: 750;
}

.public-library__rich-text {
  color: #334155;
  line-height: 1.8;
}

.public-library__sidebar {
  align-self: start;
  position: sticky;
  top: 1.5rem;
}

.public-library-access p {
  color: #64748b;
  line-height: 1.6;
}

.public-library__primary-link,
.public-library__secondary-link {
  display: inline-flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: .75rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  box-sizing: border-box;
}

.public-library__primary-link {
  color: #fff;
  background: #2563eb;
}

.public-library__secondary-link {
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.public-library__video {
  display: block;
  width: 100%;
  max-height: 680px;
  border-radius: .85rem;
  background: #0f172a;
}

.public-library__empty {
  padding: 3rem 1.5rem;
  text-align: center;
}

.public-library__empty i {
  color: #2563eb;
  font-size: 2rem;
}

.public-library__empty h2 {
  margin-bottom: .5rem;
}

.public-library__empty p {
  margin: 0;
  color: #64748b;
}

.public-library__footer {
  margin-top: 2rem;
}

@media (max-width: 950px) {
  .public-library-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-library-filters__search {
    grid-column: 1 / -1;
  }

  .public-library__layout {
    grid-template-columns: 1fr;
  }

  .public-library__sidebar {
    position: static;
  }
}

@media (max-width: 700px) {
  .public-library,
  .public-library--show {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }

  .public-library__hero {
    flex-direction: column;
  }

  .public-library-filters {
    grid-template-columns: 1fr;
  }

  .public-library-filters__search {
    grid-column: auto;
  }

  .public-library-grid {
    grid-template-columns: 1fr;
  }

  .public-library-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .public-library-resource-summary {
    grid-template-columns: 1fr;
  }

  .public-library-resource-summary__cover {
    max-width: 260px;
  }

  .public-library__details,
  .public-library__rights {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .public-library-card {
    grid-template-columns: 1fr;
  }

  .public-library-card__cover-link {
    min-height: 220px;
  }

  .public-library-card__cover {
    max-height: 280px;
    object-position: top;
  }
}

.conference-library__catalogue-link {
  position: absolute;
  top: -8px;
  right: 0;
  z-index: 50;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 38px;
  padding: 7px 14px;

  border: 1px solid #bfdbfe;
  border-radius: 999px;

  color: #1d4ed8;
  background: #eff6ff;

  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;

  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);

  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.conference-library__catalogue-link:hover,
.conference-library__catalogue-link:focus-visible {
  color: #fff;
  background: #2563eb;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22);
}

.conference-library__catalogue-link:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.25);
  outline-offset: 3px;
}

.public-library-filters input[type="submit"].public-library__primary-button {
  min-height: 44px;
  padding: .7rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  opacity: 1;
}

.public-library-filters input[type="submit"].public-library__primary-button:hover,
.public-library-filters input[type="submit"].public-library__primary-button:focus-visible {
  color: #fff;
  background: #1d4ed8;
}

/* GIP Library — full-width catalogue for All resources */

.public-library-grid:not(.public-library-grid--filtered) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.public-library-grid:not(.public-library-grid--filtered) .public-library-card {
  width: 100%;
  min-width: 0;
}
.public-learning {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}

.public-learning__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.public-learning__hero > div {
  max-width: 880px;
}

.public-learning__eyebrow {
  display: block;
  margin-bottom: .7rem;
  color: #2563eb;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.public-learning__hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1.04;
}

.public-learning__hero p {
  margin: 1rem 0 0;
  color: #64748b;
  font-size: 1.02rem;
  line-height: 1.7;
}

.public-learning__level,
.public-learning__preview-badge {
  flex: 0 0 auto;
  padding: .55rem .85rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-learning__level {
  color: #1e40af;
  background: #dbeafe;
}

.public-learning__preview-badge {
  color: #166534;
  background: #dcfce7;
}

.public-course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
}

.public-course-card,
.public-learning__panel,
.public-learning__empty {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.public-course-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.public-course-card__body {
  padding: 1.5rem;
}

.public-course-card__position {
  color: #2563eb;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.public-course-card h2 {
  margin: .55rem 0;
  font-size: 1.35rem;
}

.public-course-card p {
  color: #475569;
  line-height: 1.65;
}

.public-course-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin: 1.25rem 0 0;
}

.public-course-card dl div,
.public-learning__details div {
  padding: .8rem;
  border-radius: .7rem;
  background: #f8fafc;
}

.public-course-card dt,
.public-learning__details dt {
  color: #64748b;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-course-card dd,
.public-learning__details dd {
  margin: .3rem 0 0;
  font-weight: 750;
}

.public-course-card footer {
  margin-top: auto;
  padding: 0 1.5rem 1.5rem;
}

.public-learning__primary-link,
.public-learning__secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .65rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  box-sizing: border-box;
}

.public-learning__primary-link {
  color: #fff;
  background: #2563eb;
}

.public-learning__secondary-link {
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.public-learning__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.5rem;
}

.public-learning__content {
  display: grid;
  gap: 1.25rem;
}

.public-learning__panel {
  padding: 1.5rem;
}

.public-learning__panel h2 {
  margin: 0 0 1rem;
}

.public-learning__rich-text {
  color: #334155;
  line-height: 1.8;
}

.public-learning__section-header p {
  margin: -.5rem 0 1.25rem;
  color: #64748b;
}

.public-learning__sidebar {
  align-self: start;
  position: sticky;
  top: 1.5rem;
}

.public-learning__details {
  display: grid;
  gap: .75rem;
  margin: 0 0 1rem;
}

.public-learning__full-link {
  width: 100%;
  margin-top: .7rem;
}

.public-lesson-list {
  display: grid;
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-lesson-list__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: .85rem;
  background: #f8fafc;
}

.public-lesson-list__position {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #2563eb;
  font-weight: 800;
}

.public-lesson-list__content {
  min-width: 0;
  text-align: left;
}

.public-lesson-list__content h3 {
  margin: 0;
  font-size: 1rem;
}

.public-lesson-list__content p {
  margin: .4rem 0;
  color: #475569;
}

.public-lesson-list__content small {
  color: #64748b;
  font-weight: 700;
}

.public-lesson-list__locked {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .6rem .8rem;
  border-radius: 999px;
  color: #475569;
  background: #e2e8f0;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-learning__empty {
  padding: 3rem 1.5rem;
  text-align: center;
}

.public-learning__empty h2 {
  margin-top: 0;
}

.public-learning__empty p {
  margin-bottom: 0;
  color: #64748b;
}

.public-learning__empty--inside {
  padding: 1.5rem;
  border-style: dashed;
  box-shadow: none;
}

.public-learning__footer {
  margin-top: 2rem;
}

.public-learning__video {
  display: block;
  width: 100%;
  max-height: 680px;
  border-radius: .85rem;
  background: #0f172a;
}

.public-learning__downloads {
  display: grid;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-learning__download-link {
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 900px) {
  .public-learning__layout {
    grid-template-columns: 1fr;
  }

  .public-learning__sidebar {
    position: static;
  }
}

@media (max-width: 700px) {
  .public-learning {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }

  .public-learning__hero {
    flex-direction: column;
  }

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

  .public-lesson-list__item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .public-lesson-list__action {
    grid-column: 1 / -1;
  }

  .public-lesson-list__action a,
  .public-lesson-list__locked {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
  }
}

.public-learning--room {
  margin-top: 2rem;
  margin-bottom: 3rem;
  padding: 2.5rem;
  border: 1px solid #dbe3ee;
  border-radius: 1.5rem;
  background: #fcfcfb;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .07);
  box-sizing: border-box;
}

.public-classroom-tools {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.public-classroom-tool {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 78px;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
}

.public-classroom-tool__icon {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: .8rem;
  color: #fff;
  background: #2563eb;
}

.public-classroom-tool small {
  display: block;
  margin-bottom: .3rem;
  color: #64748b;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-classroom-tool strong {
  display: block;
  line-height: 1.35;
}

.public-classroom-tool__link {
  display: inline-block;
  margin-top: .55rem;
  color: #1d4ed8;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.public-classroom-tool__link:hover {
  text-decoration: underline;
}

.public-classroom-tool__release-alert {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.55rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(255, 75, 31, 0.26);
  border-radius: 10px;
  background: rgba(255, 75, 31, 0.08);
  color: #7c2d12;
}

.public-classroom-tool__release-alert small {
  color: #c2410c;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.public-classroom-tool__release-alert span {
  font-size: 0.8rem;
  font-weight: 750;
  line-height: 1.35;
}

.public-classroom-tool--whiteboard {
  border-color: #cbd5e1;
}

.public-classroom-tool--screen {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.public-classroom-tool--resources {
  border-color: #fde68a;
  background: #fffbeb;
}

.public-classroom-tool--resources .public-classroom-tool__icon {
  background: #b7791f;
}

.public-classroom-tool--voice {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.public-classroom-tool--voice .public-classroom-tool__icon {
  background: #15803d;
}

.public-classroom-tool__button {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.public-classroom-tool--share {
  border-style: dashed;
  background: #f8fafc;
}

.public-classroom-tool--share .public-classroom-tool__icon {
  background: #64748b;
}

.public-classroom-tool__disabled-button {
  padding: 0;
  border: 0;
  color: #64748b;
  background: transparent;
  font: inherit;
  font-weight: 800;
  cursor: not-allowed;
}

.public-classroom-screen {
  margin: 0 0 2rem;
  overflow: hidden;
  border: 1px solid #bfdbfe;
  border-radius: 1.25rem;
  background: #0f172a;
}

.public-classroom-screen__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background: #172033;
}

.public-classroom-screen__header h2 {
  margin: .25rem 0 0;
  color: #fff;
}

.public-classroom-screen__header .public-learning__eyebrow {
  color: #93c5fd;
}

.public-classroom-screen__status {
  padding: .4rem .7rem;
  border: 1px solid rgba(147, 197, 253, .35);
  border-radius: 999px;
  color: #bfdbfe;
  background: rgba(37, 99, 235, .16);
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.public-classroom-screen__stage {
  display: grid;
  min-height: 310px;
  padding: 2rem;
  place-content: center;
  justify-items: center;
  color: #e2e8f0;
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(37, 99, 235, .16), transparent 45%),
    #0f172a;
}

.public-classroom-screen__icon {
  display: grid;
  width: 68px;
  height: 68px;
  margin-bottom: 1rem;
  place-items: center;
  border: 1px solid rgba(147, 197, 253, .35);
  border-radius: 1rem;
  color: #93c5fd;
  background: rgba(37, 99, 235, .12);
  font-size: 1.8rem;
}

.public-classroom-screen__stage strong {
  font-size: 1.05rem;
}

.public-classroom-screen__stage p {
  max-width: 560px;
  margin: .65rem 0 0;
  color: #94a3b8;
  line-height: 1.55;
}

.public-classroom-whiteboard {
  display: flex;
  height: 100%;
  margin: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dbe3ee;
  border-radius: 1.25rem;
  background: #fff;
  scroll-margin-top: 1rem;
}

.public-classroom-whiteboard-drawer {
  position: fixed;
  top: 88px;
  right: 24px;
  bottom: 24px;
  z-index: 1200;
  width: min(560px, calc(100vw - 48px));
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}

.public-classroom-whiteboard-drawer[hidden] {
  display: none;
}

.public-classroom-whiteboard__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .5rem;
}

.public-classroom-whiteboard__clear,
.public-classroom-whiteboard__close {
  min-height: 38px;
  padding: .5rem .75rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #334155;
  background: #fff;
  font-weight: 800;
  cursor: pointer;
}

.public-classroom-whiteboard__clear {
  color: #b91c1c;
  border-color: #fecaca;
}

.public-classroom-whiteboard__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.15rem 1.25rem;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.public-classroom-whiteboard__header h2 {
  margin: .35rem 0;
}

.public-classroom-whiteboard__header p {
  max-width: 720px;
  margin: 0;
  color: #52647f;
  line-height: 1.55;
}

.public-classroom-whiteboard__back {
  flex: 0 0 auto;
  color: #1d4ed8;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
}

.public-classroom-whiteboard__messages {
  display: grid;
  gap: 1rem;
  min-height: 0;
  flex: 1 1 auto;
  padding: 1.25rem;
  overflow-y: auto;
}

.public-classroom-message {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .85rem;
}

.public-classroom-message__avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #2563eb;
  font-weight: 900;
}

.public-classroom-message header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .65rem;
}

.public-classroom-message time {
  color: #64748b;
  font-size: .75rem;
}

.public-classroom-message__text {
  margin: .3rem 0 0;
  color: #334155;
  line-height: 1.55;
}

.public-classroom-message__text p {
  margin: 0;
}

.public-classroom-whiteboard__empty {
  padding: 2rem;
  color: #64748b;
  text-align: center;
}

.public-classroom-whiteboard__empty i {
  font-size: 1.75rem;
}

.public-classroom-whiteboard__composer {
  padding: 1rem 1.25rem;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}

.public-classroom-whiteboard__form {
  display: grid;
  gap: .75rem;
}

.public-classroom-whiteboard__form label {
  color: #172033;
  font-weight: 900;
}

.public-classroom-whiteboard__form textarea {
  width: 100%;
  padding: .9rem 1rem;
  resize: vertical;
  border: 1px solid #cbd5e1;
  border-radius: .8rem;
  background: #fff;
  box-sizing: border-box;
  font: inherit;
}

.public-classroom-whiteboard__form .public-learning__primary-link {
  width: fit-content;
  cursor: pointer;
}

.public-classroom-whiteboard__signin {
  margin: 0;
}

@media (max-width: 850px) {
  .public-classroom-tools {
    grid-template-columns: 1fr;
  }

  .public-classroom-whiteboard__header {
    display: block;
  }

  .public-classroom-whiteboard__back {
    display: inline-block;
    margin-top: 1rem;
  }
}

@media (max-width: 700px) {
  .public-learning--room {
    margin-top: .75rem;
    padding: 1.25rem;
    border-radius: 1rem;
  }

  .public-classroom-screen__stage {
    min-height: 220px;
  }
}

.public-learning__assignment-instructions {
  margin-top: 0.75rem;
  color: #52647f;
  line-height: 1.6;
}

.public-learning__assignment-instructions p {
  margin: 0 0 0.5rem;
}

.public-learning__assignment-instructions p:last-child {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .public-classroom-whiteboard-drawer {
    inset: 0;
    width: 100vw;
    border-radius: 0;
  }
}
/* ============================================================
   SPONSOR PUBLICITY
   ============================================================ */

.sponsor-publicity {
  width: 100%;

  padding:
    3rem
    0
    3.5rem;

  box-sizing: border-box;

  border-top:
    1px solid rgba(15, 23, 42, 0.08);

  background:
    linear-gradient(
      180deg,
      rgba(248, 250, 252, 0.96),
      rgba(255, 255, 255, 1)
    );
}


/* ============================================================
   INNER
   ============================================================ */

.sponsor-publicity__inner {
  width: 100%;
  max-width: none;

  margin: 0;

  padding:
    0
    1.5rem;

  box-sizing: border-box;
}


/* ============================================================
   HEADING
   ============================================================ */

.sponsor-publicity__heading {
  width: 100%;
  max-width: 760px;

  margin:
    0
    auto
    2.2rem;

  text-align: center;
}


.sponsor-publicity__eyebrow {
  display: block;

  margin-bottom:
    0.45rem;

  font-size:
    0.74rem;

  font-weight:
    800;

  letter-spacing:
    0.15em;

  text-transform:
    uppercase;

  color:
    rgba(15, 23, 42, 0.52);
}


.sponsor-publicity__heading h2 {
  margin: 0;

  font-size:
    clamp(
      1.75rem,
      2.3vw,
      2.6rem
    );

  line-height:
    1.1;

  font-weight:
    800;

  color:
    #111827;
}


.sponsor-publicity__accent {
  display: block;

  width:
    46px;

  height:
    3px;

  margin:
    0.9rem
    auto
    1rem;

  border-radius:
    999px;

  background:
    #d9a85f;
}


.sponsor-publicity__heading p {
  max-width:
    680px;

  margin:
    0
    auto;

  font-size:
    1rem;

  line-height:
    1.7;

  color:
    rgba(15, 23, 42, 0.66);
}


/* ============================================================
   THREE PUBLICITY LANES
   ============================================================ */

.sponsor-publicity__lanes {
  width: 100%;

  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap:
    1rem;

  align-items: stretch;
}


/* ============================================================
   SLIDER
   ============================================================ */

.sponsor-publicity-slider {
  position: relative;
  min-width: 0;
  height: 520px;
  padding-bottom: 1.3rem;
  box-sizing: border-box;
}


.sponsor-publicity-slider__viewport {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
  border-radius: 18px;
}


.sponsor-publicity-slider__track {
  position: relative;
  width: 100%;
  height: 500px;
  min-height: 0;
}


/* ============================================================
   SPONSOR PUBLICITY CARD
   Stronger visual hierarchy
   ============================================================ */

.sponsor-publicity-card {
  display: none;

  position: absolute;
  inset: 0;

  width: 100%;
  height: 500px;
  min-height: 0;

  overflow: hidden;

  flex-direction: column;

  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;

  background: transparent;

  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.06);

  opacity: 0;

  transform: translateY(6px);

  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.2s ease;
}


.sponsor-publicity-card--active {
  display: flex;

  opacity: 1;

  transform: translateY(0);
}


.sponsor-publicity-card:hover {
  box-shadow:
    0 16px 38px rgba(15, 23, 42, 0.1);
}


/* ============================================================
   SPONSOR PUBLICITY CARD
   80% visual / 10% information / 10% actions
   ============================================================ */

/* ============================================================
   VISUAL AREA — 80%
   ============================================================ */

.sponsor-publicity-card__visual {
  width: 100%;

  height: 80%;
  flex: 0 0 80%;

  overflow: hidden;

  background: transparent;
}


/* Keep the complete publicity artwork visible at every card ratio. */

.sponsor-publicity-card__banner {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}


/* Logo fallback */

.sponsor-publicity-card__logo-stage {
  width: 100%;
  height: 100%;

  display: grid;
  place-items: center;

  padding: 2rem;

  box-sizing: border-box;
}


.sponsor-publicity-card__logo {
  display: block;

  width: auto;
  height: auto;

  max-width: 72%;
  max-height: 90%;

  object-fit: contain;
}


/* No-image fallback */

.sponsor-publicity-card__placeholder {
  width: 100%;
  height: 100%;

  display: grid;
  place-items: center;

  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.08em;

  color: rgba(15, 23, 42, 0.34);
}


/* ============================================================
   CONTENT AREA — remaining 20%
   ============================================================ */

.sponsor-publicity-card__content {
  height: 20%;
  flex: 0 0 20%;

  display: flex;
  flex-direction: column;

  padding: 0;
  box-sizing: border-box;

  background: #ffffff;
}


/* ============================================================
   SPONSOR INFORMATION — approximately 10%
   ============================================================ */

.sponsor-publicity-card__label {
  display: none;
}


.sponsor-publicity-card__content h3 {
  margin: 0;

  padding:
    0.45rem
    1.2rem
    0.1rem;

  font-size: 0.95rem;
  line-height: 1.15;
  font-weight: 800;
}


.sponsor-publicity-card__content p {
  margin: 0;

  padding:
    0
    1.2rem
    0.35rem;

  font-size: 0.76rem;
  line-height: 1.25;

  color: rgba(15, 23, 42, 0.66);

  overflow: hidden;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}


/* ============================================================
   CALL TO ACTION — approximately 10%
   ============================================================ */

.sponsor-publicity-card__actions {
  flex: 1;

  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 0.45rem;

  margin-top: auto;

  padding:
    0.35rem
    1.2rem
    0.55rem;

  box-sizing: border-box;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.sponsor-publicity-card__cta,
.sponsor-publicity-card__secondary {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding:
    0.58rem
    0.8rem;

  border-radius:
    999px;

  text-decoration: none;

  font-size:
    0.75rem;

  font-weight:
    800;

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}


.sponsor-publicity-card__cta {
  border:
    1px solid #ff4b19;

  background:
    #ff4b19;

  color:
    #ffffff;
}


.sponsor-publicity-card__secondary {
  border:
    1px solid rgba(15, 23, 42, 0.13);

  background:
    #ffffff;

  color:
    #111827;
}


.sponsor-publicity-card__cta:hover,
.sponsor-publicity-card__secondary:hover {
  transform:
    translateY(-1px);
}


/* ============================================================
   SLIDER NAVIGATION
   ============================================================ */

.sponsor-publicity-slider__nav {
  position: absolute;

  top:
    42%;

  z-index:
    4;

  width:
    2.25rem;

  height:
    2.25rem;

  display: grid;

  place-items: center;

  padding: 0;

  transform:
    translateY(-50%);

  border:
    1px solid rgba(15, 23, 42, 0.12);

  border-radius:
    50%;

  background:
    rgba(255, 255, 255, 0.94);

  color:
    #111827;

  box-shadow:
    0 6px 16px rgba(15, 23, 42, 0.1);

  font-size:
    1.25rem;

  line-height:
    1;

  cursor: pointer;
}


.sponsor-publicity-slider__nav--prev {
  left:
    0.55rem;
}


.sponsor-publicity-slider__nav--next {
  right:
    0.55rem;
}


/* ============================================================
   DOTS
   ============================================================ */

.sponsor-publicity-slider__dots {
  position: absolute;

  left: 0;
  right: 0;

  bottom: 0;

  display: flex;

  justify-content: center;

  gap:
    0.35rem;
}


.sponsor-publicity-slider__dot {
  width:
    7px;

  height:
    7px;

  padding: 0;

  border: 0;

  border-radius:
    50%;

  background:
    rgba(15, 23, 42, 0.2);

  cursor: pointer;

  transition:
    width 0.2s ease,
    background 0.2s ease;
}


.sponsor-publicity-slider__dot--active {
  width:
    18px;

  border-radius:
    999px;

  background:
    #ff4b19;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

  .sponsor-publicity__lanes {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  .sponsor-publicity-slider--lane-3 {
    display: none;
  }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 650px) {

  /*
   * IMPORTANT:
   *
   * The sponsor-publicity section is part of the physical
   * virtual venue coordinate plane.
   *
   * Its vertical geometry must therefore remain identical
   * across desktop and mobile devices so that a shared avatar
   * Y coordinate represents the same physical venue location.
   */

  .sponsor-publicity {
    padding:
      3rem
      0
      3.5rem;
  }


  .sponsor-publicity__inner {
    padding:
      0
      0.85rem;
  }


  .sponsor-publicity__heading {
    margin-bottom:
      2.2rem;
  }


  .sponsor-publicity__heading h2 {
    font-size:
      1.65rem;
  }


  .sponsor-publicity__heading p {
    font-size:
      0.9rem;
  }


  .sponsor-publicity__lanes {
    grid-template-columns:
      1fr;
  }


  .sponsor-publicity-slider--lane-2,
  .sponsor-publicity-slider--lane-3 {
    display: none;
  }


  /* ============================================================
     MOBILE SPONSOR PUBLICITY

     Keep the canonical 520px / 500px venue geometry.
     Only presentation inside the card is adapted for mobile.
     ============================================================ */

  .sponsor-publicity-slider {
    height: 520px;
    padding-bottom: 1.3rem;
  }


  .sponsor-publicity-slider__viewport {
    height: 500px;
  }


  .sponsor-publicity-slider__track {
    height: 500px;
    min-height: 0;
  }


  .sponsor-publicity-card {
    height: 500px;
    min-height: 0;
  }


  /* 80% visual */

  .sponsor-publicity-card__visual {
    height: 80%;
    flex: 0 0 80%;
  }


  /* Remaining 20% */

  .sponsor-publicity-card__content {
    height: 20%;
    flex: 0 0 20%;

    display: flex;
    flex-direction: column;

    overflow: hidden;
  }


  /* Sponsor name + description */

  .sponsor-publicity-card__content h3 {
    margin: 0;

    padding:
      0.35rem
      0.9rem
      0.05rem;

    font-size: 0.88rem;
    line-height: 1.1;
  }


  .sponsor-publicity-card__content p {
    margin: 0;

    padding:
      0
      0.9rem
      0.15rem;

    font-size: 0.7rem;
    line-height: 1.15;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    display: block;
  }


  /* CTA */

  .sponsor-publicity-card__actions {
    margin-top: auto;

    padding:
      0.2rem
      0.9rem
      0.45rem;

    gap: 0.35rem;
  }


  .sponsor-publicity-card__cta,
  .sponsor-publicity-card__secondary {
    padding:
      0.42rem
      0.65rem;

    font-size: 0.7rem;
  }

}


/* ============================================================
   PLATFORM SPONSOR LOGOS
   ============================================================
   ============================================================
   ============================================================ */

/* ============================================================
   PLATFORM SPONSOR LOGOS
   ============================================================ */

.platform-sponsor-logos {
  width: 100%;

  padding:
    3rem
    2rem;

  box-sizing: border-box;

  background: #ffffff;
}


/* ============================================================
   INNER
   ============================================================ */

.platform-sponsor-logos__inner {
  width: 100%;

  margin: 0 auto;
}


/* ============================================================
   HEADING
   ============================================================ */

.platform-sponsor-logos__heading {
  margin-bottom: 2.4rem;

  text-align: center;
}


.platform-sponsor-logos__eyebrow {
  display: block;

  margin-bottom: 0.45rem;

  font-size: 0.72rem;

  font-weight: 800;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color:
    rgba(15, 23, 42, 0.55);
}


.platform-sponsor-logos__heading h2 {
  margin: 0;

  font-size:
    clamp(
      1.55rem,
      2vw,
      2.2rem
    );

  color: #172033;
}


.platform-sponsor-logos__heading p {
  max-width: 720px;

  margin:
    0.7rem
    auto
    0;

  font-size: 0.95rem;

  line-height: 1.6;

  color:
    rgba(15, 23, 42, 0.62);
}


/* ============================================================
   LOGO WALL
   ============================================================ */

.platform-sponsor-logos__list {
  width: 100%;

  display: flex;

  flex-wrap: wrap;

  align-items: center;
  justify-content: center;

  column-gap:
    clamp(
      2rem,
      4vw,
      5rem
    );

  row-gap:
    2.5rem;
}


/* ============================================================
   LOGO ITEM
   ============================================================ */

.platform-sponsor-logo {
  flex:
    0
    1
    150px;

  min-width: 110px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 0;

  border: 0;

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  overflow: visible;
}


/* ============================================================
   IMAGE
   ============================================================ */

.platform-sponsor-logo__image {
  display: block;

  width: auto;
  max-width: 150px;

  height: auto;
  max-height: 102px; /* This was 72 */

  object-fit: contain;
}


/* ============================================================
   PLACEHOLDER
   ============================================================ */

.platform-sponsor-logo__placeholder {
  width: 64px;
  height: 100px; /* This was 64 */

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    rgba(15, 23, 42, 0.06);

  font-size: 0.8rem;

  font-weight: 800;

  color:
    rgba(15, 23, 42, 0.6);
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

  .platform-sponsor-logos {
    padding:
      2.5rem
      1.5rem;
  }


  .platform-sponsor-logos__list {
    column-gap: 2.5rem;

    row-gap: 2rem;
  }


  .platform-sponsor-logo {
    flex-basis: 125px;
  }


  .platform-sponsor-logo__image {
    max-width: 125px;

    max-height: 100px; /* This was 62 */
  }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

  .platform-sponsor-logos {
    padding:
      2.25rem
      1rem;
  }


  .platform-sponsor-logos__heading {
    margin-bottom: 1.8rem;
  }


  .platform-sponsor-logos__list {
    display: grid;

    grid-template-columns:
      repeat(
        12,
        minmax(
          0,
          1fr
        )
      );

    column-gap: 0.75rem;

    row-gap: 1.75rem;
  }


  .platform-sponsor-logo {
    min-width: 0;

    width: 100%;
  }


  .platform-sponsor-logo__image {
    width: 100%;

    max-width: 92px;

    max-height: 100px; /* This was 52 */

    margin: 0 auto;
  }


  .platform-sponsor-logo__placeholder {
    width: 52px;
    height: 52px;

    margin: 0 auto;
  }

}


/* ============================================================
   VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 380px) {

  .platform-sponsor-logos__list {
    grid-template-columns:
      repeat(
        12,
        minmax(
          0,
          1fr
        )
      );

    column-gap: 0.6rem;

    row-gap: 1.6rem;
  }


  .platform-sponsor-logo__image {
    max-width: 100px;
  }

}

/* GIP Partner Spotlight — image framing editor */

.gip-publicity-editor__frame {
  width: min(100%, 850px);
  aspect-ratio: 16 / 7;
  overflow: hidden;
  border-radius: 14px;
  background: #edf1f6;
  margin-bottom: 16px;
}

.gip-publicity-editor__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gip-publicity-editor__frame img[hidden] {
  display: none;
}

.gip-publicity-editor input[type="range"] {
  display: block;
  width: min(100%, 500px);
  margin: 8px 0 18px;
}

/* GIP 1.0: sponsor-controlled publicity framing */
.gip-publicity-position { display: grid; gap: .65rem; margin: 1rem 0; }
.gip-publicity-position__hint { font-size: .85rem; opacity: .8; }
.gip-publicity-position__frame { width: 100%; aspect-ratio: 16 / 7; overflow: hidden; border: 1px solid #c8d3dd; border-radius: .65rem; background: #e7edf4; }
.gip-publicity-position__frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.gip-publicity-position input[type="range"] { width: 100%; }
/* ============================================================
   GIP — STAND ALLOCATIONS
   ============================================================ */


/* ============================================================
   PAGE
   ============================================================ */

.stand-allocation-page {
  width: min(1140px, calc(100% - 32px));
  margin: 70px auto 80px;
  color: #434b54;
}


/* ============================================================
   HEADER
   ============================================================ */

.stand-allocation-page__header {
  margin-bottom: 28px;
}

.stand-allocation-page__eyebrow {
  display: block;
  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.14em;

  text-transform: uppercase;
}

.stand-allocation-page__header h1 {
  margin: 0;

  color: #272727;

  font-size: clamp(2.3rem, 5vw, 3.15rem);
  line-height: 1.05;
}

.stand-allocation-page__header p {
  max-width: 850px;

  margin: 15px 0 0;

  color: #666;

  font-size: 1rem;
  line-height: 1.55;
}


/* ============================================================
   SUMMARY
   ============================================================ */

.stand-allocation-summary {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 14px;

  margin-bottom: 28px;
}

.stand-allocation-summary__card {
  padding: 18px 20px;

  border: 1px solid #dae8cf;
  border-radius: 16px;

  background: #f7fbf4;
}

.stand-allocation-summary__card span {
  display: block;

  color: #6d765f;

  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.stand-allocation-summary__card strong {
  display: block;

  margin-top: 6px;

  color: #333;

  font-size: 1.55rem;
}


/* ============================================================
   MAIN PANELS
   ============================================================ */

.stand-allocation-panel {
  margin-bottom: 28px;

  padding: 32px 34px;

  border: 1px solid #f0d4bb;
  border-radius: 22px;

  background: #fff;

  box-shadow:
    0 4px 18px
    rgba(0, 0, 0, 0.025);
}

.stand-allocation-panel__heading {
  margin-bottom: 26px;
}

.stand-allocation-panel__heading > span {
  display: block;

  margin-bottom: 7px;

  color: #ff4b16;

  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.13em;

  text-transform: uppercase;
}

.stand-allocation-panel__heading h2 {
  margin: 0;

  color: #292929;

  font-size: 1.45rem;
}

.stand-allocation-panel__heading p {
  max-width: 760px;

  margin: 7px 0 0;

  color: #707070;

  font-size: 0.9rem;
  line-height: 1.5;
}


/* ============================================================
   FORM
   ============================================================ */

.stand-allocation-form {
  display: grid;
  gap: 21px;
}

.stand-allocation-form__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 20px;
}

.stand-allocation-form__field {
  display: flex;
  flex-direction: column;

  gap: 8px;
}

.stand-allocation-form__field label {
  color: #333;

  font-size: 0.89rem;
  font-weight: 800;
}

.stand-allocation-form__field select,
.stand-allocation-form__field input[type="number"],
.stand-allocation-form__field input[type="text"] {
  width: 100%;
  min-height: 48px;

  padding: 11px 14px;

  border: 1px solid #d8dde3;
  border-radius: 10px;

  outline: none;

  background: #fff;

  color: #333;

  font: inherit;
}

.stand-allocation-form__field select:focus,
.stand-allocation-form__field input:focus {
  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}

.stand-allocation-form__field small {
  color: #888;

  font-size: 0.77rem;
  line-height: 1.45;
}

.stand-allocation-form__actions {
  display: flex;
  justify-content: flex-end;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.stand-allocation-button {
  min-height: 40px;

  padding: 8px 15px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.8rem;
  font-weight: 800;

  cursor: pointer;

  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.stand-allocation-button--primary {
  min-height: 44px;

  padding: 10px 20px;

  border: 1px solid #f0b77e;

  background: #fff4e9;

  color: #b45612;
}

.stand-allocation-button--primary:hover {
  border-color: #ff4b16;

  background: #ff4b16;

  color: #fff;
}

.stand-allocation-button--secondary {
  border: 1px solid #cbd9e7;

  background: #f4f8fc;

  color: #3778c2;
}

.stand-allocation-button--secondary:hover {
  background: #3778c2;

  color: #fff;
}

.stand-allocation-button--danger {
  border: 1px solid #efc2bd;

  background: #fff5f4;

  color: #a13c35;
}

.stand-allocation-button--danger:hover {
  background: #a13c35;

  color: #fff;
}


/* ============================================================
   CAPACITY GRID
   ============================================================ */

.stand-allocation-capacity-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 18px;
}

.stand-allocation-capacity-card {
  padding: 20px;

  border: 1px solid #e6e6e6;
  border-radius: 16px;

  background: #fff;
}

.stand-allocation-capacity-card__header {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;

  gap: 14px;

  margin-bottom: 16px;
}

.stand-allocation-capacity-card__type {
  display: block;

  margin-bottom: 5px;

  color: #ff4b16;

  font-size: 0.67rem;
  font-weight: 900;

  letter-spacing: 0.1em;

  text-transform: uppercase;
}

.stand-allocation-capacity-card h3 {
  margin: 0;

  color: #303030;

  font-size: 1.12rem;
}

.stand-allocation-capacity-card__sponsor {
  display: inline-flex;

  padding: 5px 9px;

  border-radius: 999px;

  background: #eef8e8;

  color: #4f8425;

  font-size: 0.68rem;
  font-weight: 800;

  white-space: nowrap;
}


/* ============================================================
   PLAN
   ============================================================ */

.stand-allocation-capacity-card__plan {
  padding: 12px 14px;

  border-radius: 10px;

  background: #fff8f2;
}

.stand-allocation-capacity-card__plan span {
  display: block;

  color: #a55b22;

  font-size: 0.64rem;
  font-weight: 900;

  letter-spacing: 0.08em;
}

.stand-allocation-capacity-card__plan strong {
  display: block;

  margin-top: 4px;

  color: #333;
}


/* ============================================================
   CAPACITY NUMBERS
   ============================================================ */

.stand-allocation-capacity-card__numbers {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 8px;

  margin-top: 12px;
}

.stand-allocation-capacity-card__numbers > div {
  padding: 10px;

  border-radius: 9px;

  background: #fafafa;

  text-align: center;
}

.stand-allocation-capacity-card__numbers span {
  display: block;

  color: #888;

  font-size: 0.61rem;
  font-weight: 900;
}

.stand-allocation-capacity-card__numbers strong {
  display: block;

  margin-top: 4px;

  color: #333;

  font-size: 1.15rem;
}


/* ============================================================
   PROGRESS BAR
   ============================================================ */

.stand-allocation-capacity-card__progress {
  height: 7px;

  overflow: hidden;

  margin-top: 14px;

  border-radius: 999px;

  background: #eeeeee;
}

.stand-allocation-capacity-card__progress-bar {
  height: 100%;

  border-radius: inherit;

  background: #5fb523;
}


/* ============================================================
   NO PLAN
   ============================================================ */

.stand-allocation-capacity-card__no-plan {
  padding: 14px;

  border-radius: 10px;

  background: #fafafa;
}

.stand-allocation-capacity-card__no-plan strong {
  color: #555;
}

.stand-allocation-capacity-card__no-plan p {
  margin: 5px 0 0;

  color: #777;

  font-size: 0.8rem;
  line-height: 1.45;
}


/* ============================================================
   TABLE
   ============================================================ */

.stand-allocation-table-wrapper {
  width: 100%;

  overflow-x: auto;

  border: 1px solid #e7e7e7;
  border-radius: 14px;
}

.stand-allocation-table {
  width: 100%;

  min-width: 1050px;

  border-collapse: collapse;

  background: #fff;
}

.stand-allocation-table thead {
  background: #fff8f2;
}

.stand-allocation-table th {
  padding: 13px 14px;

  border-bottom: 1px solid #eadfd5;

  color: #555;

  font-size: 0.69rem;
  font-weight: 900;

  letter-spacing: 0.05em;

  text-align: left;
  text-transform: uppercase;
}

.stand-allocation-table td {
  padding: 15px 14px;

  border-bottom: 1px solid #eeeeee;

  color: #555;

  font-size: 0.81rem;

  vertical-align: middle;
}

.stand-allocation-table tbody tr:last-child td {
  border-bottom: 0;
}

.stand-allocation-table tbody tr:hover {
  background: #fffdfb;
}

.stand-allocation-table td strong {
  color: #303030;
}

.stand-allocation-table td small {
  color: #888;

  font-size: 0.72rem;
}


/* ============================================================
   STATUS
   ============================================================ */

.stand-allocation-status {
  display: inline-flex;

  padding: 5px 9px;

  border-radius: 999px;

  font-size: 0.69rem;
  font-weight: 800;
}

.stand-allocation-status--active {
  background: #eef8e8;

  color: #4f8425;
}

.stand-allocation-status--expiring {
  background: #fff7dc;

  color: #936718;
}

.stand-allocation-status--expired,
.stand-allocation-status--released {
  background: #f2f2f2;

  color: #777;
}

.stand-allocation-status--renewed {
  background: #edf4fc;

  color: #3778c2;
}

.stand-allocation-status--reserved {
  background: #fff3e8;

  color: #a85c19;
}


/* ============================================================
   TABLE ACTIONS
   ============================================================ */

.stand-allocation-table__actions {
  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 8px;
}

.stand-allocation-table__actions form {
  margin: 0;
}

.stand-allocation-renew {
  display: flex;

  align-items: center;

  gap: 6px;
}

.stand-allocation-renew input[type="number"] {
  width: 68px;
  min-height: 38px;

  padding: 7px 8px;

  border: 1px solid #d8dde3;
  border-radius: 8px;

  font: inherit;
}


/* ============================================================
   OTHER
   ============================================================ */

.stand-allocation-muted {
  color: #999;

  font-size: 0.77rem;

  font-style: italic;
}

.stand-allocation-empty {
  padding: 18px;

  border-radius: 12px;

  background: #fafafa;
}

.stand-allocation-empty strong {
  display: block;

  color: #333;
}

.stand-allocation-empty p {
  margin: 5px 0 0;

  color: #777;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {
  .stand-allocation-capacity-grid {
    grid-template-columns: 1fr;
  }

  .stand-allocation-form__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .stand-allocation-page {
    width: calc(100% - 18px);

    margin: 30px auto 55px;
  }

  .stand-allocation-summary {
    grid-template-columns: 1fr;
  }

  .stand-allocation-panel {
    padding: 22px 18px;

    border-radius: 17px;
  }

  .stand-allocation-page__header h1 {
    font-size: 2rem;
  }

  .stand-allocation-form__actions {
    justify-content: stretch;
  }

  .stand-allocation-button--primary {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .stand-allocation-page__header h1 {
    font-size: 1.75rem;
  }

  .stand-allocation-panel {
    padding: 18px 14px;
  }

  .stand-allocation-capacity-card__numbers {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   GIP — STAND MANAGEMENT
   ============================================================ */


/* ============================================================
   VISUAL TOKENS
   ============================================================ */

:root {
  --stand-primary: var(--main-blue);
  --stand-primary-dark: #245a98;
  --stand-primary-soft: #edf4fc;

  --stand-accent: var(--main-green);
  --stand-accent-dark: #478c1a;
  --stand-accent-soft: #eef8e8;

  --stand-text: var(--main-gray);
  --stand-text-strong: #272727;
  --stand-muted: #6f7882;

  --stand-border: #dfe5eb;

  --stand-surface: #ffffff;
  --stand-background: #f7f9fb;

  --stand-danger: #a12d28;
  --stand-danger-soft: #fff4f3;

  --stand-warning: #9a6a18;
  --stand-warning-soft: #fff8e8;

  --stand-radius-sm: 12px;
  --stand-radius-md: 16px;
  --stand-radius-lg: 22px;
}


/* ============================================================
   STAND MANAGEMENT INDEX
   ============================================================ */

.stand-management-grid {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(320px, 1fr)
    );

  gap: 24px;

  width: 100%;
}


/* ============================================================
   STAND CARD
   ============================================================ */

.stand-management-card {
  overflow: hidden;

  display: grid;

  grid-template-columns:
    150px 1fr;

  min-height: 220px;

  background:
    var(--stand-surface);

  border:
    1px solid
    var(--stand-border);

  border-radius: 18px;

  box-shadow:
    0 8px 28px
    rgba(55, 120, 194, 0.08);
}


.stand-management-card__visual {
  min-height: 220px;

  background:
    linear-gradient(
      135deg,
      var(--stand-primary-soft),
      #f9fbfe
    );
}


.stand-management-card__image {
  width: 100%;
  height: 100%;

  min-height: 220px;

  object-fit: cover;
}


.stand-management-card__placeholder {
  width: 100%;
  height: 100%;

  min-height: 220px;

  display: flex;

  align-items: center;
  justify-content: center;

  color:
    var(--stand-primary);

  font-size: 2.4rem;
  font-weight: 900;

  background:
    linear-gradient(
      135deg,
      var(--stand-primary-soft),
      #f9fbfe
    );
}


.stand-management-card__body {
  padding: 22px;

  display: flex;
  flex-direction: column;

  gap: 14px;
}


.stand-management-card__heading {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;

  gap: 12px;
}


.stand-management-card__heading h3 {
  margin: 4px 0 0;

  color:
    var(--stand-text-strong);

  font-size: 1.25rem;
}


.stand-management-card__number {
  color:
    var(--stand-primary);

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.09em;

  text-transform: uppercase;
}


.stand-management-card__enterprise {
  padding: 5px 9px;

  background:
    var(--stand-accent-soft);

  border-radius: 999px;

  color:
    var(--stand-accent-dark);

  font-size: 0.68rem;
  font-weight: 800;

  white-space: nowrap;
}


.stand-management-card__description {
  margin: 0;

  color: #666;

  line-height: 1.5;

  font-size: 0.88rem;
}


.stand-management-card__description--empty {
  color: #aaa;

  font-style: italic;
}


.stand-management-card__stats {
  display: flex;

  flex-wrap: wrap;

  gap: 14px;

  color: #666;

  font-size: 0.8rem;
}


.stand-management-card__stats strong {
  color: #333;
}


.stand-management-card__actions {
  margin-top: auto;

  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


.stand-management-card__actions
.workspace-button {
  width: auto;

  margin: 0;
}


/* ============================================================
   CURRENT IMAGE
   ============================================================ */

.stand-management-current-image {
  margin-top: 8px;

  display: flex;
  flex-direction: column;

  gap: 10px;
}


.stand-management-current-image img {
  width: 180px;
  height: 120px;

  object-fit: cover;

  border:
    1px solid
    var(--stand-border);

  border-radius: 12px;
}


/* ============================================================
   STAND EDITOR — PAGE
   ============================================================ */

.stand-editor {
  width:
    min(
      1080px,
      calc(100% - 32px)
    );

  margin:
    32px auto 80px;

  color:
    var(--stand-text);
}


/* ============================================================
   HERO
   ============================================================ */

.stand-editor__hero {
  display: flex;

  justify-content: space-between;
  align-items: flex-start;

  gap: 32px;

  margin-bottom: 22px;

  padding:
    34px 38px;

  border-radius: 24px;

  background:
    linear-gradient(
      135deg,
      var(--stand-primary) 0%,
      var(--stand-primary-dark) 100%
    );

  color: #fff;

  box-shadow:
    0 18px 42px
    rgba(55, 120, 194, 0.18);
}


.stand-editor__eyebrow {
  display: block;

  margin-bottom: 10px;

  color:
    rgba(
      255,
      255,
      255,
      0.75
    );

  font-size: 0.73rem;
  font-weight: 900;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}


.stand-editor__hero h1 {
  margin: 0;

  color: #fff;

  font-size:
    clamp(
      2rem,
      4vw,
      3rem
    );

  line-height: 1.05;
}


.stand-editor__hero p {
  max-width: 650px;

  margin:
    14px 0 0;

  color:
    rgba(
      255,
      255,
      255,
      0.85
    );

  font-size: 1rem;

  line-height: 1.6;
}


/* ============================================================
   ALLOCATION BADGE
   ============================================================ */

.stand-editor__allocation {
  flex: 0 0 auto;

  min-width: 165px;

  padding:
    16px 18px;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.18
    );

  border-radius: 16px;

  background:
    rgba(
      255,
      255,
      255,
      0.12
    );

  backdrop-filter:
    blur(12px);
}


.stand-editor__allocation span,
.stand-editor__allocation strong {
  display: block;
}


.stand-editor__allocation span {
  margin-bottom: 4px;

  color:
    rgba(
      255,
      255,
      255,
      0.72
    );

  font-size: 0.75rem;

  letter-spacing: 0.06em;

  text-transform: uppercase;
}


.stand-editor__allocation strong {
  color: #fff;

  font-size: 0.95rem;
}


/* ============================================================
   FORM
   ============================================================ */

.stand-editor__form {
  display: grid;

  gap: 20px;
}


/* ============================================================
   CARD / SECTION
   ============================================================ */

.stand-editor__card {
  padding: 28px;

  background:
    var(--stand-surface);

  border:
    1px solid
    var(--stand-border);

  border-radius:
    var(--stand-radius-lg);

  box-shadow:
    0 12px 35px
    rgba(55, 120, 194, 0.06);
}


.stand-editor__section-title {
  display: flex;

  align-items: flex-start;

  gap: 16px;

  margin-bottom: 24px;
}


.stand-editor__section-title > span {
  width: 40px;
  height: 40px;

  flex:
    0 0 40px;

  display: grid;

  place-items: center;

  border-radius: 12px;

  background:
    var(--stand-accent-soft);

  color:
    var(--stand-accent-dark);

  font-size: 0.78rem;
  font-weight: 900;
}


.stand-editor__section-title h2 {
  margin: 0;

  color:
    var(--stand-text-strong);

  font-size: 1.2rem;

  line-height: 1.25;
}


.stand-editor__section-title p {
  margin:
    5px 0 0;

  color:
    var(--stand-muted);

  font-size: 0.91rem;

  line-height: 1.45;
}


/* ============================================================
   TWO-COLUMN GRID
   ============================================================ */

.stand-editor__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 18px;
}


/* ============================================================
   FIELDS
   ============================================================ */

.stand-editor__field {
  margin-bottom: 20px;
}


.stand-editor__field:last-child {
  margin-bottom: 0;
}


.stand-editor__field label {
  display: block;

  margin-bottom: 7px;

  color: #313b4b;

  font-size: 0.88rem;
  font-weight: 800;
}


.stand-editor__field
input[type="text"],
.stand-editor__field
input[type="url"],
.stand-editor__field
input[type="number"],
.stand-editor__field
input[type="email"],
.stand-editor__field
select,
.stand-editor__field
textarea {
  width: 100%;

  padding:
    13px 15px;

  border:
    1px solid #d7dde7;

  border-radius: 12px;

  outline: none;

  background: #fbfcfd;

  color:
    var(--stand-text);

  font: inherit;

  line-height: 1.4;

  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}


.stand-editor__field
textarea {
  min-height: 130px;

  resize: vertical;
}


.stand-editor__field
input[type="text"]:focus,
.stand-editor__field
input[type="url"]:focus,
.stand-editor__field
input[type="number"]:focus,
.stand-editor__field
input[type="email"]:focus,
.stand-editor__field
select:focus,
.stand-editor__field
textarea:focus {
  border-color:
    var(--stand-primary);

  background: #fff;

  box-shadow:
    0 0 0 4px
    rgba(55, 120, 194, 0.12);
}


.stand-editor__field
small,
.stand-editor__hint {
  display: block;

  margin-top: 7px;

  color: #7a8494;

  font-size: 0.8rem;

  line-height: 1.45;
}


/* ============================================================
   FILE UPLOAD
   ============================================================ */

.stand-editor__upload {
  padding: 14px;

  border:
    1px dashed #bac4d1;

  border-radius: 14px;

  background:
    var(--stand-primary-soft);
}


.stand-editor__upload
input[type="file"] {
  width: 100%;

  padding: 0;

  border: 0;

  background: transparent;

  color: #4b5565;

  font: inherit;
}


.stand-editor__field
input[type="file"] {
  max-width: 100%;
}


/* ============================================================
   CURRENT MEDIA
   ============================================================ */

.stand-editor__current-media {
  display: flex;

  align-items: center;

  gap: 16px;

  margin-top: 14px;

  padding: 14px;

  border-radius: 14px;

  background:
    var(--stand-background);
}


.stand-editor__current-media > span,
.stand-editor__media-label {
  color:
    var(--stand-muted);

  font-size: 0.72rem;
  font-weight: 800;

  letter-spacing: 0.07em;

  text-transform: uppercase;
}


.stand-editor__logo-preview {
  width: 80px;
  height: 80px;

  object-fit: contain;

  padding: 6px;

  background: #fff;

  border:
    1px solid
    var(--stand-border);

  border-radius: 12px;
}


/* ============================================================
   AUDIO
   ============================================================ */

.stand-editor__audio {
  margin:
    14px 0 18px;
}


.stand-editor__audio
audio {
  display: block;

  width: 100%;

  margin-top: 8px;
}


/* ============================================================
   TOGGLES
   ============================================================ */

.stand-editor__toggle {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  padding: 16px;

  border:
    1px solid
    var(--stand-border);

  border-radius: 14px;

  background: #fff;

  cursor: pointer;

  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}


.stand-editor__toggle:hover {
  border-color:
    rgba(55, 120, 194, 0.55);

  background:
    var(--stand-primary-soft);
}


.stand-editor__toggle
input[type="checkbox"] {
  width: 19px;
  height: 19px;

  flex:
    0 0 19px;

  margin-top: 2px;

  accent-color:
    var(--stand-accent);
}


.stand-editor__toggle span,
.stand-editor__toggle strong,
.stand-editor__toggle small {
  display: block;
}


.stand-editor__toggle strong {
  color: #273142;

  font-size: 0.91rem;
}


.stand-editor__toggle small {
  margin-top: 4px;

  color: #737e8f;

  font-size: 0.8rem;

  line-height: 1.45;
}


/* ============================================================
   LOCKED FEATURE
   ============================================================ */

.stand-editor__locked {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  padding: 18px;

  border:
    1px solid #dfe7ef;

  border-radius: 16px;

  background:
    linear-gradient(
      135deg,
      var(--stand-primary-soft),
      #fbfcfd
    );
}


.stand-editor__locked-icon {
  width: 42px;
  height: 42px;

  flex:
    0 0 42px;

  display: grid;

  place-items: center;

  border-radius: 12px;

  background: #fff;

  color:
    var(--stand-primary);
}


.stand-editor__locked strong {
  color:
    var(--stand-text-strong);
}


.stand-editor__locked p {
  margin:
    5px 0 0;

  color: #737e8f;

  font-size: 0.86rem;

  line-height: 1.5;
}


/* ============================================================
   FEATURED PRODUCTS
   ============================================================ */

.stand-editor__products {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 12px;
}


.stand-editor__product {
  display: flex;

  align-items: flex-start;

  gap: 12px;

  padding: 16px;

  border:
    1px solid
    var(--stand-border);

  border-radius: 14px;

  background: #fff;

  cursor: pointer;

  transition:
    transform 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}


.stand-editor__product:hover {
  transform:
    translateY(-2px);

  border-color:
    var(--stand-primary);

  background:
    var(--stand-primary-soft);

  box-shadow:
    0 8px 18px
    rgba(55, 120, 194, 0.08);
}


.stand-editor__product-checkbox {
  width: 18px;
  height: 18px;

  flex:
    0 0 18px;

  margin-top: 2px;

  accent-color:
    var(--stand-accent);
}


.stand-editor__product
strong,
.stand-editor__product
small {
  display: block;
}


.stand-editor__product
strong {
  color: #293241;

  font-size: 0.9rem;
}


.stand-editor__product
small {
  margin-top: 4px;

  color: #737e8f;

  font-size: 0.78rem;

  line-height: 1.4;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.stand-editor__empty {
  margin: 0;

  padding: 18px;

  border-radius: 14px;

  background:
    var(--stand-background);

  color:
    var(--stand-muted);
}


.stand-editor__empty
strong {
  display: block;

  color: #414c5d;
}


.stand-editor__empty
p {
  margin:
    5px 0 0;

  color: #737e8f;

  line-height: 1.45;
}


/* ============================================================
   SPONSOR BADGE
   ============================================================ */

.stand-editor__sponsor {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding:
    18px 22px;

  border:
    1px solid #dbe9cd;

  border-radius: 16px;

  background:
    linear-gradient(
      135deg,
      var(--stand-accent-soft),
      #f9fcf7
    );
}


.stand-editor__sponsor
span {
  display: block;

  margin-bottom: 4px;

  color:
    var(--stand-accent-dark);

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.09em;
}


.stand-editor__sponsor
strong {
  display: block;

  color:
    var(--stand-text-strong);

  font-size: 1rem;
}


.stand-editor__sponsor-mark {
  width: 42px;
  height: 42px;

  flex:
    0 0 42px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--stand-accent);

  color: #fff;

  font-size: 1.1rem;
}


/* ============================================================
   ERRORS
   ============================================================ */

.stand-editor__errors {
  padding:
    16px 18px;

  border:
    1px solid #f2b8b5;

  border-radius: 14px;

  background:
    var(--stand-danger-soft);

  color:
    var(--stand-danger);
}


.stand-editor__errors
strong {
  display: block;

  margin-bottom: 8px;
}


.stand-editor__errors
ul {
  margin: 0;

  padding-left: 18px;
}


.stand-editor__errors
li {
  margin:
    4px 0;

  list-style: disc;

  text-align: left;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.stand-editor__actions {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 14px;

  padding-top: 4px;
}


.stand-editor__submit,
.stand-editor__secondary {
  min-height: 46px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding:
    11px 18px;

  border-radius: 12px;

  font: inherit;

  font-size: 0.9rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;

  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease;
}


.stand-editor__submit {
  border: 0;

  background:
    var(--stand-primary);

  color: #fff;

  box-shadow:
    0 10px 20px
    rgba(55, 120, 194, 0.18);
}


.stand-editor__submit:hover {
  background:
    var(--stand-accent-dark);

  transform:
    translateY(-1px);
}


.stand-editor__secondary {
  border:
    1px solid
    var(--stand-primary);

  background: #fff;

  color:
    var(--stand-primary);
}


.stand-editor__secondary:hover {
  border-color:
    var(--stand-primary-dark);

  background:
    var(--stand-primary-soft);

  color:
    var(--stand-primary-dark);
}


/* ============================================================
   PAGE
   ============================================================ */

.stand-management-page {
  width:
    min(
      1135px,
      calc(100% - 32px)
    );

  margin:
    70px auto 80px;
}


/* ============================================================
   WORKSPACE HEADER
   ============================================================ */

.stand-management-page
.workspace-page__header {
  margin-bottom: 34px;
}


.stand-management-page
.workspace-page__eyebrow {
  display: block;

  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.76rem;
  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}


.stand-management-page
.workspace-page__header h1 {
  margin: 0;

  color: #262626;

  font-size:
    clamp(
      2.3rem,
      5vw,
      3.2rem
    );

  line-height: 1.05;
}


.stand-management-page
.workspace-page__header p {
  margin:
    15px 0 0;

  color: #616161;

  font-size: 1rem;

  line-height: 1.55;
}


/* ============================================================
   WORKSPACE TABS
   ============================================================ */

.stand-management-page
.workspace-tabs {
  margin-bottom: 40px;
}


/* ============================================================
   ALLOCATION SUMMARY
   ============================================================ */

.stand-allocation-summary {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 20px;

  margin-bottom: 24px;

  padding:
    18px 24px;

  border:
    1px solid #dce8d5;

  border-radius: 18px;

  background: #f7fbf4;
}


.stand-allocation-summary__label {
  display: block;

  margin-bottom: 5px;

  color: #5f962f;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}


.stand-allocation-summary strong {
  color: #303030;
}


.stand-allocation-summary__status {
  padding:
    8px 13px;

  border-radius: 999px;

  background: #eef8e8;

  color: #4f8425;

  font-size: 0.78rem;
  font-weight: 800;
}


/* ============================================================
   FORM
   ============================================================ */

.stand-editor__form {
  display: grid;

  gap: 22px;
}


/* ============================================================
   CARDS
   ============================================================ */

.stand-editor__card {
  padding:
    32px 34px;

  border:
    1px solid #f0d4bb;

  border-radius: 22px;

  background: #fff;

  box-shadow:
    0 4px 18px
    rgba(0, 0, 0, 0.025);
}


/* ============================================================
   CARD HEADERS
   ============================================================ */

.stand-editor__section-title {
  margin-bottom: 28px;
}


.stand-editor__section-title > span {
  display: block;

  margin-bottom: 8px;

  color: #ff4b16;

  font-size: 0.72rem;
  font-weight: 900;

  letter-spacing: 0.14em;

  text-transform: uppercase;
}


.stand-editor__section-title h2 {
  margin: 0;

  color: #222;

  font-size: 1.45rem;

  line-height: 1.25;
}


.stand-editor__section-title p {
  margin:
    6px 0 0;

  color: #6c6c6c;

  font-size: 0.92rem;

  line-height: 1.5;
}


/* ============================================================
   GRID
   ============================================================ */

.stand-editor__grid {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 22px;
}


/* ============================================================
   FIELDS
   ============================================================ */

.stand-editor__field {
  margin-bottom: 21px;
}


.stand-editor__field:last-child {
  margin-bottom: 0;
}


.stand-editor__field label {
  display: block;

  margin-bottom: 8px;

  color: #333;

  font-size: 0.9rem;
  font-weight: 800;
}


.stand-editor__field
input[type="text"],
.stand-editor__field
input[type="url"],
.stand-editor__field
input[type="number"],
.stand-editor__field
input[type="email"],
.stand-editor__field
select,
.stand-editor__field
textarea {
  width: 100%;

  padding:
    13px 15px;

  border:
    1px solid #d9dde1;

  border-radius: 9px;

  outline: none;

  background: #fff;

  color: #272727;

  font: inherit;

  line-height: 1.45;

  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}


.stand-editor__field
textarea {
  min-height: 140px;

  resize: vertical;
}


.stand-editor__field
input:focus,
.stand-editor__field
select:focus,
.stand-editor__field
textarea:focus {
  border-color: #3778c2;

  box-shadow:
    0 0 0 3px
    rgba(55, 120, 194, 0.1);
}


.stand-editor__field small,
.stand-editor__hint {
  display: block;

  margin-top: 8px;

  color: #8a8a8a;

  font-size: 0.78rem;

  line-height: 1.45;
}


/* ============================================================
   UPLOAD
   ============================================================ */

.stand-editor__upload {
  padding: 14px;

  border:
    1px dashed #cfd5da;

  border-radius: 10px;

  background: #fafafa;
}


.stand-editor__upload
input[type="file"] {
  width: 100%;

  border: 0;

  background: transparent;
}


/* ============================================================
   CURRENT MEDIA
   ============================================================ */

.stand-editor__current-media {
  display: flex;

  align-items: center;

  gap: 16px;

  margin-top: 14px;

  padding: 14px;

  border-radius: 10px;

  background: #fafafa;
}


.stand-editor__current-media > span,
.stand-editor__media-label {
  color: #777;

  font-size: 0.7rem;
  font-weight: 800;

  letter-spacing: 0.07em;

  text-transform: uppercase;
}


.stand-editor__logo-preview {
  width: 78px;
  height: 78px;

  padding: 5px;

  object-fit: contain;

  border:
    1px solid #e2e2e2;

  border-radius: 8px;

  background: #fff;
}


/* ============================================================
   AUDIO
   ============================================================ */

.stand-editor__audio {
  margin:
    16px 0 18px;
}


.stand-editor__audio audio {
  display: block;

  width: 100%;

  margin-top: 8px;
}


/* ============================================================
   TOGGLE
   ============================================================ */

.stand-editor__toggle {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  padding: 16px;

  border:
    1px solid #e1e1e1;

  border-radius: 10px;

  background: #fafafa;

  cursor: pointer;
}


.stand-editor__toggle:hover {
  border-color: #f0c59e;

  background: #fffaf6;
}


.stand-editor__toggle
input[type="checkbox"] {
  width: 19px;
  height: 19px;

  flex:
    0 0 19px;

  margin-top: 2px;

  accent-color: #5fb523;
}


.stand-editor__toggle span,
.stand-editor__toggle strong,
.stand-editor__toggle small {
  display: block;
}


.stand-editor__toggle strong {
  color: #303030;

  font-size: 0.9rem;
}


.stand-editor__toggle small {
  margin-top: 4px;

  color: #777;

  font-size: 0.79rem;

  line-height: 1.45;
}


/* ============================================================
   LOCKED FEATURE
   ============================================================ */

.stand-editor__locked {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  padding: 18px;

  border:
    1px solid #eadfda;

  border-radius: 12px;

  background: #fcfaf9;
}


.stand-editor__locked-icon {
  width: 42px;
  height: 42px;

  flex:
    0 0 42px;

  display: grid;

  place-items: center;

  border-radius: 10px;

  background: #fff1e8;
}


.stand-editor__locked strong {
  color: #333;
}


.stand-editor__locked p {
  margin:
    5px 0 0;

  color: #777;

  font-size: 0.85rem;

  line-height: 1.5;
}


/* ============================================================
   PRODUCTS
   ============================================================ */

.stand-editor__products {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 12px;
}


.stand-editor__product {
  display: flex;

  align-items: flex-start;

  gap: 12px;

  padding: 16px;

  border:
    1px solid #e4e4e4;

  border-radius: 10px;

  background: #fff;

  cursor: pointer;

  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}


.stand-editor__product:hover {
  border-color: #f0c59e;

  background: #fffaf6;
}


.stand-editor__product-checkbox {
  width: 18px;
  height: 18px;

  flex:
    0 0 18px;

  margin-top: 2px;

  accent-color: #5fb523;
}


.stand-editor__product strong,
.stand-editor__product small {
  display: block;
}


.stand-editor__product strong {
  color: #333;

  font-size: 0.9rem;
}


.stand-editor__product small {
  margin-top: 4px;

  color: #777;

  font-size: 0.78rem;

  line-height: 1.4;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.stand-editor__empty {
  padding: 18px;

  border-radius: 10px;

  background: #fafafa;

  color: #666;
}


.stand-editor__empty strong {
  display: block;

  color: #333;
}


.stand-editor__empty p {
  margin:
    5px 0 0;

  color: #777;

  line-height: 1.45;
}


/* ============================================================
   SPONSOR
   ============================================================ */

.stand-editor__sponsor {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 18px;

  padding:
    18px 22px;

  border:
    1px solid #dbe8cf;

  border-radius: 14px;

  background: #f7fbf3;
}


.stand-editor__sponsor span {
  display: block;

  margin-bottom: 4px;

  color: #55892b;

  font-size: 0.68rem;
  font-weight: 900;

  letter-spacing: 0.09em;
}


.stand-editor__sponsor strong {
  display: block;

  color: #333;
}


.stand-editor__sponsor-mark {
  width: 42px;
  height: 42px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #5fb523;

  color: #fff;
}


/* ============================================================
   ERRORS
   ============================================================ */

.stand-editor__errors {
  padding:
    16px 18px;

  border:
    1px solid #efb8b4;

  border-radius: 12px;

  background: #fff4f3;

  color: #9b2f29;
}


.stand-editor__errors strong {
  display: block;

  margin-bottom: 8px;
}


.stand-editor__errors ul {
  margin: 0;

  padding-left: 18px;
}


.stand-editor__errors li {
  margin: 4px 0;

  list-style: disc;

  text-align: left;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.stand-editor__actions {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 14px;

  padding-top: 4px;
}


.stand-editor__submit,
.stand-editor__secondary {
  min-height: 44px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding:
    10px 18px;

  border-radius: 999px;

  font: inherit;

  font-size: 0.87rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;
}


.stand-editor__submit {
  border:
    1px solid #f0b77e;

  background: #fff4e9;

  color: #b45612;
}


.stand-editor__submit:hover {
  background: #ff4b16;

  border-color: #ff4b16;

  color: #fff;
}


.stand-editor__secondary {
  border:
    1px solid #d7d7d7;

  background: #fff;

  color: #555;
}


.stand-editor__secondary:hover {
  border-color: #aaa;

  color: #222;
}


/* ============================================================
   INDEX CARDS
   ============================================================ */

.stand-management-grid {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(320px, 1fr)
    );

  gap: 24px;
}


.stand-management-card {
  overflow: hidden;

  display: grid;

  grid-template-columns:
    150px 1fr;

  min-height: 220px;

  border:
    1px solid #ece3dc;

  border-radius: 18px;

  background: #fff;
}


.stand-management-card__visual {
  min-height: 220px;

  background: #fff8f2;
}


.stand-management-card__image {
  width: 100%;
  height: 100%;

  min-height: 220px;

  object-fit: cover;
}


.stand-management-card__placeholder {
  width: 100%;
  height: 100%;

  min-height: 220px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #fff8f2;

  color: #ff4b16;

  font-size: 2.4rem;
  font-weight: 900;
}


.stand-management-card__body {
  display: flex;

  flex-direction: column;

  gap: 14px;

  padding: 22px;
}


.stand-management-card__heading {
  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  gap: 12px;
}


.stand-management-card__heading h3 {
  margin:
    4px 0 0;

  color: #272727;

  font-size: 1.25rem;
}


.stand-management-card__number {
  color: #ff4b16;

  font-size: 0.7rem;
  font-weight: 900;

  letter-spacing: 0.09em;

  text-transform: uppercase;
}


.stand-management-card__enterprise {
  padding:
    5px 9px;

  border-radius: 999px;

  background: #fff4ea;

  color: #a5551d;

  font-size: 0.68rem;
  font-weight: 800;
}


.stand-management-card__description {
  margin: 0;

  color: #666;

  font-size: 0.88rem;

  line-height: 1.5;
}


.stand-management-card__stats {
  display: flex;

  gap: 14px;

  color: #666;

  font-size: 0.8rem;
}


.stand-management-card__actions {
  margin-top: auto;

  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 760px) {
  .stand-management-page {
    width:
      calc(100% - 18px);

    margin:
      28px auto 55px;
  }


  .stand-management-page
  .workspace-page__header {
    margin-bottom: 24px;
  }


  .stand-management-page
  .workspace-page__header h1 {
    font-size: 2.1rem;
  }


  .stand-allocation-summary {
    flex-direction: column;

    align-items: flex-start;

    gap: 12px;
  }


  .stand-editor__card {
    padding:
      22px 18px;

    border-radius: 17px;
  }


  .stand-editor__grid,
  .stand-editor__products {
    grid-template-columns: 1fr;
  }


  .stand-editor__actions {
    position: sticky;

    bottom: 0;

    z-index: 20;

    margin:
      0 -4px;

    padding:
      10px 4px;

    background:
      rgba(
        255,
        255,
        255,
        0.96
      );

    backdrop-filter: blur(10px);
  }


  .stand-editor__submit,
  .stand-editor__secondary {
    flex: 1;
  }


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


  .stand-management-card__visual,
  .stand-management-card__image,
  .stand-management-card__placeholder {
    min-height: 180px;
  }
}


@media (max-width: 480px) {
  .stand-management-page
  .workspace-page__header h1 {
    font-size: 1.8rem;
  }


  .stand-editor__card {
    padding:
      19px 15px;
  }


  .stand-editor__actions {
    flex-direction: column-reverse;
  }


  .stand-editor__submit,
  .stand-editor__secondary {
    width: 100%;

    flex: none;
  }
}

/* ============================================================
   FIX — SECTION TITLE VERTICAL HIERARCHY
   ============================================================ */

.stand-management-page .stand-editor__section-title {
  display: block;
  width: 100%;
  margin-bottom: 28px;
}

.stand-management-page .stand-editor__section-title > span {
  display: block;
  width: auto;
  margin: 0 0 8px 0;
  padding: 0;

  background: transparent;
  border-radius: 0;

  color: #ff4b16;

  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.14em;

  text-transform: uppercase;
}

.stand-management-page .stand-editor__section-title h2 {
  display: block;
  width: 100%;

  margin: 0;

  color: #222;

  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.25;
}

.stand-management-page .stand-editor__section-title p {
  display: block;
  width: 100%;

  margin: 7px 0 0;

  color: #6c6c6c;

  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.5;
}

/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */

@media (max-width: 900px) {
  .stand-management-card {
    grid-template-columns:
      120px 1fr;
  }


  .stand-editor__hero {
    padding:
      28px;
  }
}


/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */

@media (max-width: 760px) {
  .stand-editor {
    width:
      calc(100% - 16px);

    margin:
      12px auto 50px;
  }


  .stand-editor__hero {
    flex-direction: column;

    gap: 18px;

    padding:
      24px 20px;

    border-radius: 18px;
  }


  .stand-editor__hero h1 {
    font-size: 2rem;
  }


  .stand-editor__hero p {
    font-size: 0.9rem;
  }


  .stand-editor__allocation {
    width: 100%;
  }


  .stand-editor__card {
    padding:
      20px 16px;

    border-radius: 17px;
  }


  .stand-editor__grid,
  .stand-editor__products {
    grid-template-columns:
      1fr;
  }


  .stand-editor__section-title {
    gap: 12px;

    margin-bottom: 20px;
  }


  .stand-editor__section-title > span {
    width: 36px;
    height: 36px;

    flex:
      0 0 36px;
  }


  .stand-editor__field {
    margin-bottom: 17px;
  }


  .stand-editor__actions {
    position: sticky;

    bottom: 0;

    z-index: 20;

    gap: 8px;

    margin:
      0 -4px;

    padding:
      10px 4px;

    background:
      rgba(
        255,
        255,
        255,
        0.96
      );

    backdrop-filter:
      blur(10px);
  }


  .stand-editor__secondary,
  .stand-editor__submit {
    flex: 1;

    padding:
      10px 12px;

    text-align: center;
  }


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


  .stand-management-card__visual,
  .stand-management-card__image,
  .stand-management-card__placeholder {
    min-height: 180px;
  }
}


/* ============================================================
   RESPONSIVE — SMALL MOBILE
   ============================================================ */

@media (max-width: 480px) {
  .stand-editor__hero {
    padding:
      20px 16px;
  }


  .stand-editor__hero h1 {
    font-size: 1.7rem;
  }


  .stand-editor__card {
    padding:
      18px 14px;
  }


  .stand-editor__actions {
    flex-direction: column-reverse;
  }


  .stand-editor__secondary,
  .stand-editor__submit {
    width: 100%;

    flex: none;
  }
}
.stand-post-publisher{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.stand-post-publisher__trigger{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid #ffb59f;border-radius:999px;background:#ff4b19;color:#fff;font:inherit;font-weight:800;cursor:pointer}.stand-post-publisher p{flex-basis:100%;margin:0;color:#667085;font-size:.82rem}.stand-post-form{display:grid;gap:16px}.stand-post-form__field{display:grid;gap:7px}.stand-post-form__field label,.stand-post-form__field legend{font-weight:800;color:#172033}.stand-post-form input[type=text],.stand-post-form textarea,.stand-post-form input[type=file]{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d7deea;border-radius:12px;font:inherit}.stand-post-form small,.stand-post-form__platforms p{margin:0;color:#667085;font-size:.8rem}.stand-post-form__platforms{padding:14px;border:1px solid #d7deea;border-radius:14px}.stand-post-form__platforms>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stand-post-form__platforms label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e2e8f0;border-radius:999px;font-size:.84rem}.stand-post-form__submit{padding:12px 18px;border:0;border-radius:999px;background:#ff4b19;color:#fff;font:inherit;font-weight:900;cursor:pointer}

/* The feed belongs to the stand identity area, immediately before social links. */
.public-stand__identity-main .public-stand-posts{margin:24px 0;padding:22px 0;border-top:1px solid #e9edf3;border-bottom:1px solid #e9edf3}.public-stand__identity-main .public-stand-posts__list{grid-template-columns:1fr}.public-stand__identity-main .public-stand-post{padding:18px}.public-stand__identity-main .public-stand-post__media img,.public-stand__identity-main .public-stand-post__media video{height:260px}

.public-stand-posts__header{display:flex;align-items:end;justify-content:space-between;gap:16px}.public-stand-posts__viewport{width:100%;overflow:hidden}.public-stand-posts__list{display:flex!important;grid-template-columns:none!important;gap:0!important;transition:transform .35s ease}.public-stand-post{min-width:100%;max-width:100%;box-sizing:border-box}.public-stand-posts__controls{display:flex;align-items:center;gap:9px;color:#667085;font-size:.8rem}.public-stand-posts__controls button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #dce3ed;border-radius:50%;background:#fff;color:#172033;cursor:pointer}.public-stand-posts__controls button:hover{border-color:#ff4b19;color:#ff4b19}

.stand-content-controls{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 18px}.stand-content-controls__button{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #d9e1ec;border-radius:999px;background:#fff;color:#172033;font:inherit;font-weight:800;cursor:pointer}.stand-content-controls__button:hover{border-color:#ff4b19;color:#ff4b19}.stand-quick-form{display:grid;gap:18px}.stand-quick-form__field{display:grid;gap:7px}.stand-quick-form__field>label{font-weight:800}.stand-quick-form input[type=text],.stand-quick-form input[type=number],.stand-quick-form input[type=file],.stand-quick-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d7deea;border-radius:12px;font:inherit}.stand-quick-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stand-quick-form__preview{width:110px;height:80px;object-fit:contain;border:1px solid #e4e7ec;border-radius:12px}.stand-quick-form__video{width:100%;max-height:260px;border-radius:12px;background:#111}.stand-quick-form__remove{display:flex;align-items:center;gap:7px;color:#667085;font-size:.83rem}.stand-quick-form small{color:#667085}.stand-quick-form__submit{padding:12px 18px;border:0;border-radius:999px;background:#ff4b19;color:#fff;font:inherit;font-weight:900;cursor:pointer}@media(max-width:620px){.stand-quick-form__grid{grid-template-columns:1fr}.public-stand-posts__header{align-items:flex-start}}

/*
 * GIP — THE STORY BEHIND
 * Authoritative Plateau TV stylesheet
 *
 * Requires the shared live_sessions.css.
 * Legacy Story Behind stylesheets must be disabled.
 */

/* =====================================================
   1. TV ROOT AND BRANDING
   ===================================================== */

.live-session--plateau-tv {
  --tv-navy: #081c37;
  --tv-gold: #d6a84c;
  --tv-panel: #0b294a;

  display: block;
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--tv-navy);
  color: #fff;
  border-color: var(--tv-gold);
  border-radius: 0;
}

.live-session--plateau-tv,
.live-session--plateau-tv *,
.live-session--plateau-tv *::before,
.live-session--plateau-tv *::after {
  box-sizing: border-box;
}

.live-session--plateau-tv .live-session__header {
  padding: 1rem 1.25rem;
  background: #fff;
  color: #172b45;
}

.live-session--plateau-tv .live-session__header p {
  color: #526078;
}

.live-session--plateau-tv .gip-tv__masthead {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 16px;
  background: #102e52;
  border: 1px solid var(--tv-gold);
  color: #f5c974;
  font-weight: 800;
  letter-spacing: .07em;
}

.live-session--plateau-tv .gip-tv__brandbar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: #0c274a;
  color: #fff;
}

.live-session--plateau-tv .gip-tv__logo {
  width: 70px;
  height: 70px;
  flex: none;
  padding: 5px;
  border-radius: 10px;
  background: #fff;
  object-fit: contain;
}

.live-session--plateau-tv .gip-tv__brandcopy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.live-session--plateau-tv .gip-tv__brandcopy small {
  color: #f5c974;
}

.live-session--plateau-tv .gip-tv__brandcopy strong {
  font-size: clamp(1rem, 2vw, 1.5rem);
  overflow-wrap: anywhere;
}

.live-session--plateau-tv .gip-tv__brand-banner {
  height: 150px;
  overflow: hidden;
  background: #081d37;
}

.live-session--plateau-tv .gip-tv__brand-banner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* =====================================================
   2. MAIN STUDIO LAYOUT
   ===================================================== */

/*
 * The wrapper is created by story_behind_showcase.js.
 * Do not apply grid to the live-session root.
 */

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase__layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(260px, .39fr);
  gap: 12px;
  align-items: start;
  width: 100%;
  min-width: 0;
  padding: 12px;
}

/* Prevent grid children from overflowing their tracks */

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase__layout > * {
  min-width: 0;
  box-sizing: border-box;
}

/* =====================================================
   3. MAIN PRODUCT SHOWCASE
   ===================================================== */

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase {
  position: relative;
  isolation: isolate;

  display: grid;
  grid-template-columns:
    minmax(0, 57%)
    minmax(0, 43%);
  grid-template-rows:
    auto
    minmax(0, 1fr)
    auto
    auto
    auto;

  gap: 7px;

  width: 100%;
  min-width: 0;
  min-height: 510px;
  margin: 0;
  padding: 14px;

  overflow: hidden;

  border: 1px solid var(--tv-gold);
  border-radius: 14px;
  color: #fff;

  background:
    #071c35
    url(/plateau_studio/backgrounds/story_behind_studio_v9.webp)
    center / cover no-repeat;
}

.live-session--plateau-tv .gip-showcase__heading {
  grid-column: 1;
  grid-row: 1;

  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px;

  min-width: 0;
  color: #f5c974;
  font-size: 12px;
  font-weight: 800;
  text-shadow: 0 1px 5px #071326;
}

.live-session--plateau-tv .gip-showcase__visual {
  grid-column: 1;
  grid-row: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: 280px;
  align-self: end;

  padding: 10px;
  overflow: hidden;

  border: 1px solid rgba(232,188,97,.65);
  border-radius: 12px;
  background: rgba(5,23,48,.70);
}

.live-session--plateau-tv .gip-showcase__visual > img,
.live-session--plateau-tv .gip-showcase__visual > video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 260px;
  object-fit: contain;
}

.live-session--plateau-tv .gip-showcase__empty {
  font-size: .85rem;
  text-align: center;
  color: #e6eaf1;
}

.live-session--plateau-tv .gip-showcase__name,
.live-session--plateau-tv .gip-showcase__description {
  grid-column: 1;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 5px #071326;
}

.live-session--plateau-tv .gip-showcase__name {
  grid-row: 3;
  font-size: 1.1rem;
}

.live-session--plateau-tv .gip-showcase__description {
  grid-row: 4;
  font-size: .8rem;
  color: #e5eaf2;
}

/* =====================================================
   4. STANDING PRESENTER
   ===================================================== */

.live-session--plateau-tv
.gip-showcase .gip-showcase__standing-presenter {
  position: absolute;
  z-index: 4;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;

  right: 2%;
  bottom: 10%;
  width: 38%;
  height: 61%;

  min-height: 0;
  max-width: none;
  margin: 0;
  padding: 0;

  border: 0;
  background: transparent;
  box-shadow: none;
}

.live-session--plateau-tv
.gip-showcase__standing-presenter img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 240px;
  max-height: 100%;
  object-fit: contain;
  border: 2px solid var(--tv-gold);
  border-radius: 10px;
}

.live-session--plateau-tv
.gip-showcase__presenter-label {
  display: none;
}

/* =====================================================
   5. EPISODE GUIDE AND CLOSING
   ===================================================== */

.live-session--plateau-tv
.gip-showcase__episode-guide {
  grid-column: 1 / -1;
  grid-row: 5;
  z-index: 5;

  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 8px 10px;

  border: 1px solid #c5a562;
  border-radius: 8px;
  background: #112d4c;
  color: #fff;
}

.live-session--plateau-tv
.gip-showcase__episode-guide summary {
  cursor: pointer;
}

.live-session--plateau-tv
.gip-showcase__episode-guide p {
  font-size: 12px;
}

.live-session--plateau-tv .gip-showcase__closing {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.live-session--plateau-tv
.gip-showcase__closing > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 0;
  font-size: 12px;
}

.live-session--plateau-tv
.gip-showcase__closing img {
  width: 100%;
  max-height: 175px;
  object-fit: contain;
}

/* =====================================================
   6. RIGHT SIDEBAR
   ===================================================== */

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase__layout > .gip-showcase__sidebar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;

  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;

  grid-column: 2;
  justify-self: stretch;
}

.live-session--plateau-tv
.gip-showcase__sidebar > * {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* Live camera */

.live-session--plateau-tv
.gip-showcase__sidebar .live-session__stage {
  position: relative;
  display: block;

  width: 100%;
  height: auto;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0;

  border: 1px solid var(--tv-gold);
  border-radius: 12px;
  background: #071426;
  overflow: hidden;
}

.live-session--plateau-tv
.gip-showcase__sidebar .live-session__stage video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.live-session--plateau-tv
.gip-showcase__sidebar .live-session__placeholder {
  padding: 10px;
}

/* Audience */

.live-session--plateau-tv .gip-showcase__audience {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 4px;
  min-height: 78px;
  padding: 10px;

  border: 1px dashed #a88b55;
  border-radius: 12px;
  background: #0b2442;
  color: #f4d698;
  text-align: center;
}

.live-session--plateau-tv
.gip-showcase__audience small {
  color: #cbd8e6;
  font-size: 11px;
}

/* Audience questions */

.live-session--plateau-tv .gip-showcase__questions {
  min-width: 0;
  margin: 0;
  padding: 12px;

  border: 1px solid #b99a52;
  border-radius: 12px;
  background: #0e2544;
  color: #fff;
}

.live-session--plateau-tv
.gip-showcase__questions h3 {
  margin: 0 0 10px;
  color: #f2d18b;
  font-size: 14px;
}

.live-session--plateau-tv
.gip-showcase__questions-list {
  max-height: 220px;
  overflow-y: auto;
}

.live-session--plateau-tv
.gip-showcase__question {
  padding: 7px 0;
  border-bottom: 1px solid #35516e;
  overflow-wrap: anywhere;
}

.live-session--plateau-tv
.gip-showcase__question p {
  margin: 0 0 5px;
  font-size: 12px;
}

.live-session--plateau-tv
.gip-showcase__question--selected {
  padding-left: 8px;
  border-left: 3px solid #f2d18b;
}

.live-session--plateau-tv
.gip-showcase__questions button {
  padding: 6px 10px;
  border: 0;
  border-radius: 6px;
  background: #e5bb68;
  color: #10233a;
  cursor: pointer;
}

.live-session--plateau-tv
.gip-showcase__questions textarea {
  width: 100%;
  padding: 7px;
  margin-bottom: 6px;
  border-radius: 6px;
}

.live-session--plateau-tv
.gip-showcase__questions small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
}

/* =====================================================
   7. PRESENTER TOOLBAR
   ===================================================== */

.live-session--plateau-tv
.gip-showcase__presenter-toolbar {
  display: block;
  width: 100%;
  padding: 10px 14px;
  background: #0a203d;
}

.live-session--plateau-tv
.gip-showcase__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.live-session--plateau-tv
.gip-showcase__controls input {
  width: 135px;
  max-width: 100%;
  padding: 8px;
  border: 1px solid #b9c6d8;
  border-radius: 7px;
}

.live-session--plateau-tv
.gip-showcase__controls button {
  padding: 8px 11px;
  border: 1px solid var(--tv-gold);
  border-radius: 8px;
  background: #123e68;
  color: #fff;
  font-size: 12px;
  cursor: pointer;
}

.live-session--plateau-tv
.gip-showcase__controls button[aria-pressed="true"] {
  background: #a97821;
  border-color: #fff;
}

.live-session--plateau-tv
.gip-showcase__controls [role="status"] {
  color: #f2d18b;
  font-size: 12px;
  overflow-wrap: anywhere;
}

/* =====================================================
   8. MONTHLY EPISODE MANAGEMENT
   ===================================================== */

.live-session--plateau-tv .gip-episode__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;

  padding: 12px 16px;
  background: #0b2341;
  color: #f1d69d;
  font-size: 12px;
}

.live-session--plateau-tv
.gip-episode__toolbar button,
.live-session--plateau-tv
.gip-episode__actions button {
  padding: 8px 12px;
  border: 1px solid #d5ad5d;
  border-radius: 7px;
  background: #e8bd68;
  color: #11253e;
  cursor: pointer;
  font-weight: 700;
}

.live-session--plateau-tv .gip-episode__panel {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: #f7f9fc;
  color: #182b42;
}

.live-session--plateau-tv
.gip-episode__panel[hidden] {
  display: none;
}

.live-session--plateau-tv
.gip-episode__panel h3,
.live-session--plateau-tv
.gip-episode__panel h4 {
  margin: 4px 0;
}

.live-session--plateau-tv .gip-episode__field {
  display: grid;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
}

.live-session--plateau-tv
.gip-episode__field input,
.live-session--plateau-tv
.gip-episode__field textarea {
  width: 100%;
  max-width: 100%;
  padding: 9px;
  border: 1px solid #9eacbc;
  border-radius: 7px;
  font: inherit;
  color: #17253a;
  background: #fff;
}

.live-session--plateau-tv .gip-episode__guide {
  padding: 12px;
  border: 1px solid #d2dbe6;
  border-radius: 9px;
  background: #fff;
}

.live-session--plateau-tv
.gip-episode__guide p {
  margin: 4px 0;
  font-size: 12px;
}

.live-session--plateau-tv
.gip-episode__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

/* =====================================================
   9. SHARED CONTROLS INSIDE PLATEAU TV
   ===================================================== */

.live-session--plateau-tv
.live-session__presenter-controls,
.live-session--plateau-tv
.live-session__share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;

  width: 100%;
  margin: 0;
  padding: 12px 14px;
  background: #fff;
  color: #132844;
}

.live-session--plateau-tv
.live-session__share span {
  margin-right: auto;
}

.live-session--plateau-tv
.live-session__presenter-controls button {
  min-width: 0;
}

/* =====================================================
   10. RESPONSIVE LAYOUT
   ===================================================== */

@media (max-width: 850px) {
  .live-session--plateau-tv.gip-showcase-enabled
  .gip-showcase__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .live-session--plateau-tv.gip-showcase-enabled
  .gip-showcase__layout > .gip-showcase__sidebar {
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .live-session--plateau-tv
  .gip-showcase__questions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .live-session--plateau-tv .gip-tv__masthead {
    font-size: .75rem;
  }

  .live-session--plateau-tv .gip-tv__logo {
    width: 52px;
    height: 52px;
  }

  .live-session--plateau-tv .gip-tv__brand-banner {
    height: 110px;
  }

  .live-session--plateau-tv.gip-showcase-enabled
  .gip-showcase {
    min-height: 390px;
    padding: 10px;
    grid-template-columns:
      minmax(0, 60%)
      minmax(0, 40%);
  }

  .live-session--plateau-tv .gip-showcase__visual {
    max-height: 200px;
    padding: 6px;
  }

  .live-session--plateau-tv
  .gip-showcase__visual > img,
  .live-session--plateau-tv
  .gip-showcase__visual > video {
    max-height: 180px;
  }

  .live-session--plateau-tv
  .gip-showcase .gip-showcase__standing-presenter {
    right: 1%;
    bottom: 15%;
    width: 38%;
    height: 43%;
  }

  .live-session--plateau-tv.gip-showcase-enabled
  .gip-showcase__layout > .gip-showcase__sidebar {
    display: flex;
    flex-direction: column;
  }
}

/* =====================================================
   11. CAMERA FOCUS
   ===================================================== */

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase--camera-focus .gip-showcase {
  display: grid;
  width: 100%;
}

.live-session--plateau-tv.gip-showcase-enabled
.gip-showcase--camera-focus
.gip-showcase__sidebar .live-session__stage {
  display: block;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
}

/* =====================================================
   V11 — Presenter choreography (visual-only enhancement)
   Add data-story-presenter-fullbody to the session root
   with a transparent full-body PNG/WebP asset URL.
   Without that asset the existing portrait remains visible.
   ===================================================== */

.live-session--plateau-tv .gip-showcase__standing-presenter {
  transform: translate3d(0, 0, 0);
  transform-origin: center bottom;
  transition: right .85s ease, bottom .85s ease, width .85s ease,
              transform .85s ease, opacity .5s ease;
  pointer-events: none;
}

.live-session--plateau-tv .gip-showcase__standing-presenter img.gip-presenter__fullbody {
  height: 100%;
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center bottom;
  border: 0;
  border-radius: 0;
  filter: drop-shadow(0 9px 12px rgba(0,0,0,.38));
  animation: gip-presenter-idle 6s ease-in-out infinite;
}

/* Presenter stays right for products; shifts slightly toward the centre for Q&A. */
.live-session--plateau-tv[data-story-presenter-mode="camera"]
  .gip-showcase__standing-presenter {
  right: 6%;
  bottom: 9%;
  transform: scale(1.04);
}

.live-session--plateau-tv[data-story-presenter-mode="closing"]
  .gip-showcase__standing-presenter {
  right: 4%;
  bottom: 10%;
  transform: scale(1.025);
}

.live-session--plateau-tv[data-story-presenter-mode="video"]
  .gip-showcase__standing-presenter {
  right: 0%;
  transform: scale(.92);
}

@keyframes gip-presenter-idle {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(.25deg); }
}

@media (max-width: 560px) {
  .live-session--plateau-tv[data-story-presenter-mode]
    .gip-showcase__standing-presenter {
    right: 1%;
    bottom: 15%;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-session--plateau-tv .gip-showcase__standing-presenter,
  .live-session--plateau-tv .gip-showcase__standing-presenter img.gip-presenter__fullbody {
    transition: none;
    animation: none;
  }
}

/* V12 full-body presenter assets. Presenter remains on right of product area. */
.live-session--plateau-tv.gip-showcase-enabled .gip-showcase .gip-showcase__standing-presenter:has(img.gip-presenter__fullbody) {
  right: 3%; bottom: 6%; width: 30%; height: 68%;
  background: transparent; box-shadow: none; overflow: visible;
}
.live-session--plateau-tv .gip-showcase__standing-presenter:has(img.gip-presenter__fullbody) .gip-showcase__presenter-label { display: none; }
@media (max-width: 560px) {
  .live-session--plateau-tv.gip-showcase-enabled .gip-showcase .gip-showcase__standing-presenter:has(img.gip-presenter__fullbody) {
    right: 0; bottom: 12%; width: 36%; height: 48%;
  }
}

/* =====================================================
   V14 — Targeted visual refinements (non-destructive)
   ===================================================== */
@media (min-width: 761px) {
  .live-session--plateau-tv.gip-showcase-enabled .gip-showcase .gip-showcase__standing-presenter:has(img.gip-presenter__fullbody) {
    right: 1.5%; bottom: 6%; width: 34%; height: 74%;
  }
  .live-session--plateau-tv .gip-showcase__visual {
    width: min(100%, 390px);
    max-height: 218px;
    padding: 8px;
    justify-self: start;
  }
  .live-session--plateau-tv .gip-showcase__visual > img,
  .live-session--plateau-tv .gip-showcase__visual > video {
    max-height: 198px;
  }
}
.live-session--plateau-tv .gip-showcase__standing-presenter img.gip-presenter__fullbody {
  transition: opacity .18s ease, filter .3s ease;
}
.live-session--plateau-tv .gip-showcase__standing-presenter.gip-presenter--changing img.gip-presenter__fullbody {
  opacity: .28;
}
@media (prefers-reduced-motion: reduce) {
  .live-session--plateau-tv .gip-showcase__standing-presenter img.gip-presenter__fullbody {
    transition: none;
  }
}

/* ==========================================================
   THE STORY BEHIND — PRESENTER TRANSITIONS
   ========================================================== */

.gip-showcase__standing-presenter .gip-presenter__fullbody {
  transition:
    opacity 260ms ease,
    transform 320ms ease;
  transform-origin: center bottom;
  will-change: opacity, transform;
}

.gip-showcase__standing-presenter.gip-presenter--changing
.gip-presenter__fullbody {
  opacity: 0.45;
  transform: translateY(5px) scale(0.992);
}

@media (prefers-reduced-motion: reduce) {
  .gip-showcase__standing-presenter .gip-presenter__fullbody {
    transition: none;
  }
}
/* Story Behind voice preview: opt-in, respects reduced-motion preference. */
.gip-story-voice { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.75rem; margin-top:.75rem; border:1px solid rgba(125,125,125,.3); border-radius:.75rem; }
.gip-story-voice strong { flex-basis:100%; }
.gip-story-voice textarea { flex-basis:100%; width:100%; min-height:4.5rem; resize:vertical; }
.gip-story-voice [role="status"] { flex-basis:100%; font-size:.85rem; }
.gip-story-voice button:disabled { opacity:.5; cursor:not-allowed; }
@media (prefers-reduced-motion: no-preference) {
  .gip-presenter--voice-active .gip-presenter__fullbody { animation:gip-presenter-breathe 3.8s ease-in-out infinite; transform-origin:50% 90%; }
  .gip-presenter--speaking .gip-presenter__fullbody { animation:gip-presenter-speak 2.5s ease-in-out infinite; }
  @keyframes gip-presenter-breathe { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-2px) scale(1.006); } }
  @keyframes gip-presenter-speak { 0%,100% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-3px) rotate(-.4deg); } 65% { transform:translateY(-1px) rotate(.4deg); } }
}

/* Speaking animation overrides the studio's idle animation. */
@media (prefers-reduced-motion: no-preference) {
  .gip-showcase__presenter.gip-presenter--speaking
  img.gip-presenter__fullbody {
    animation: gip-presenter-speak 2.5s ease-in-out infinite !important;
    transform-origin: 50% 90%;
  }

  .gip-showcase__presenter.gip-presenter--voice-active:not(.gip-presenter--speaking)
  img.gip-presenter__fullbody {
    animation: gip-presenter-breathe 3.8s ease-in-out infinite !important;
  }
}
/* ============================================================
   GIP — PLANS & SUBSCRIPTIONS
   ============================================================ */

.subscription-workspace {
  width: min(1135px, calc(100% - 32px));
  margin: 70px auto 80px;
  color: var(--main-gray);
}

.subscription-workspace__header {
  margin-bottom: 34px;
}

.subscription-workspace__eyebrow,
.subscription-section__heading > span {
  display: block;
  margin-bottom: 8px;
  color: #ff4b16;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.subscription-workspace__header h1 {
  margin: 0;
  color: #262626;
  font-size: clamp(2.3rem, 5vw, 3.2rem);
  line-height: 1.05;
}

.subscription-workspace__header p {
  max-width: 820px;
  margin: 15px 0 0;
  color: #616161;
  font-size: 1rem;
  line-height: 1.55;
}

.subscription-workspace .workspace-tabs {
  margin-bottom: 40px;
}

.subscription-section {
  margin-bottom: 28px;
  padding: 32px 34px;
  border: 1px solid #f0d4bb;
  border-radius: 22px;
  background: #fff;
}

.subscription-section__heading {
  margin-bottom: 26px;
}

.subscription-section__heading h2 {
  margin: 0;
  color: #222;
  font-size: 1.45rem;
}

.subscription-section__heading p {
  max-width: 760px;
  margin: 6px 0 0;
  color: #6c6c6c;
  font-size: 0.92rem;
  line-height: 1.5;
}

.subscription-card,
.subscription-enterprise-card,
.subscription-plan-card {
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  background: #fff;
}

.subscription-card {
  padding: 24px;
}

.subscription-card--active {
  border-color: #dbe8cf;
  background: #fbfdf9;
}

.subscription-card__header,
.subscription-enterprise-card__plan {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.subscription-card__status,
.subscription-enterprise-card__type {
  display: block;
  margin-bottom: 6px;
  color: #ff4b16;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.subscription-card h3,
.subscription-enterprise-card h3,
.subscription-plan-card h3 {
  margin: 0;
  color: #292929;
  font-size: 1.2rem;
}

.subscription-card p,
.subscription-plan-card p {
  margin: 7px 0 0;
  color: #707070;
  line-height: 1.45;
}

.subscription-card__capacity,
.subscription-enterprise-card__capacity,
.subscription-plan-card__capacity {
  min-width: 110px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff4e9;
  text-align: center;
}

.subscription-card__capacity span,
.subscription-enterprise-card__capacity span,
.subscription-plan-card__capacity span {
  display: block;
  color: #a75a1c;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.subscription-card__capacity strong,
.subscription-enterprise-card__capacity strong,
.subscription-plan-card__capacity strong {
  display: block;
  margin-top: 4px;
  color: #ff4b16;
  font-size: 1.5rem;
}

.subscription-card__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.subscription-card__meta > div {
  padding: 12px;
  border-radius: 10px;
  background: #fff;
}

.subscription-card__meta span,
.subscription-card__meta strong {
  display: block;
}

.subscription-card__meta span {
  color: #888;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.subscription-card__meta strong {
  margin-top: 4px;
  color: #333;
}

.subscription-enterprises,
.subscription-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.subscription-enterprise-card,
.subscription-plan-card {
  padding: 22px;
}

.subscription-enterprise-card__header {
  margin-bottom: 18px;
}

.subscription-enterprise-card__sponsor {
  display: inline-flex;
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef8e8;
  color: #4f8425;
  font-size: 0.7rem;
  font-weight: 800;
}

.subscription-enterprise-card__plan {
  padding: 14px;
  border-radius: 12px;
  background: #fafafa;
}

.subscription-enterprise-card__plan span {
  display: block;
  color: #888;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.subscription-enterprise-card__plan strong {
  display: block;
  margin-top: 4px;
  color: #333;
}

.subscription-enterprise-card__usage {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f7fbf4;
}

.subscription-enterprise-card__usage span {
  color: #666;
}

.subscription-enterprise-card__usage strong {
  color: #4f8425;
}

.subscription-entitlements {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.subscription-entitlement {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid #eee;
  font-size: 0.82rem;
}

.subscription-entitlement:last-child {
  border-bottom: 0;
}

.subscription-entitlement span {
  color: #666;
}

.subscription-entitlement strong {
  color: #333;
}

.subscription-entitlement__boolean--enabled {
  color: #4f8425;
}

.subscription-entitlement__boolean--disabled {
  color: #999;
}

.subscription-empty {
  padding: 20px;
  border-radius: 12px;
  background: #fafafa;
}

.subscription-empty strong {
  display: block;
  color: #333;
}

.subscription-empty p {
  margin: 6px 0 0;
  color: #777;
  line-height: 1.45;
}

.subscription-empty--compact {
  margin-top: 14px;
}

@media (max-width: 800px) {
  .subscription-enterprises,
  .subscription-plan-grid,
  .subscription-card__meta {
    grid-template-columns: 1fr;
  }

  .subscription-card__header,
  .subscription-enterprise-card__plan {
    flex-direction: column;
  }

  .subscription-card__capacity,
  .subscription-enterprise-card__capacity {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .subscription-workspace {
    width: calc(100% - 18px);
    margin: 28px auto 55px;
  }

  .subscription-section {
    padding: 22px 18px;
    border-radius: 17px;
  }

  .subscription-workspace__header h1 {
    font-size: 2rem;
  }
}

.stand-allocation-table td small {
  color: #888;
  font-size: 0.74rem;
}

.stand-allocation-form__field select {
  line-height: 1.35;
}

.stand-allocation-form__field small {
  max-width: 620px;
}
/* ============================================================
   SURVEY ADMINISTRATION
   ============================================================ */

.survey-admin {
  width: min(1500px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.5rem 0 4rem;
  color: #0f172a;
}

.survey-admin__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.survey-admin__hero h1 {
  margin: 0.3rem 0 0.5rem;
  font-size: clamp(2rem, 5vw, 4rem);
}

.survey-admin__hero p {
  max-width: 720px;
  margin: 0;
  color: #64748b;
}

.survey-admin__eyebrow {
  color: #ff4b1f;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.survey-admin__hero-actions,
.survey-admin__footer,
.survey-admin-form__actions,
.survey-admin-card footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.survey-admin__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.survey-admin-card,
.survey-admin-form,
.survey-admin-table-wrapper,
.survey-admin__empty {
  border: 1px solid #dbe4f0;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.survey-admin-card {
  padding: 1.4rem;
}

.survey-admin-card header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.survey-admin-card h2 {
  margin: 1rem 0 0.5rem;
}

.survey-admin-card p {
  color: #64748b;
}

.survey-admin-card dl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.survey-admin-card dl div {
  padding: 0.8rem;
  border-radius: 12px;
  background: #f8fafc;
}

.survey-admin-card dt {
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.survey-admin-card dd {
  margin: 0.25rem 0 0;
  font-size: 1.2rem;
  font-weight: 900;
}

.survey-admin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.65rem 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.survey-admin-button--primary {
  border-color: #2563eb;
  background: #2563eb;
  color: #ffffff;
}

.survey-admin-button--danger {
  border-color: #fecaca;
  color: #b91c1c;
}

.survey-status,
.survey-frequency,
.survey-response-status {
  display: inline-flex;
  width: fit-content;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.survey-status--published,
.survey-response-status--completed {
  background: #dcfce7;
  color: #15803d;
}

.survey-status--draft,
.survey-response-status--not_started {
  background: #f1f5f9;
  color: #64748b;
}

.survey-status--closed {
  background: #fee2e2;
  color: #b91c1c;
}

.survey-response-status--opened,
.survey-frequency {
  background: #dbeafe;
  color: #1d4ed8;
}

.survey-admin-form {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
  padding: 1.5rem;
}

.survey-admin-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.survey-admin-form__grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.survey-admin-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 800;
}

.survey-admin-form input:not([type="submit"]),
.survey-admin-form textarea,
.survey-admin-form select {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  box-sizing: border-box;
  font: inherit;
}

.survey-admin-form__errors {
  padding: 1rem;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fff7f7;
  color: #991b1b;
}

.survey-admin-table-wrapper {
  margin-top: 2rem;
  overflow-x: auto;
}

.survey-admin-table {
  width: 100%;
  border-collapse: collapse;
}

.survey-admin-table th,
.survey-admin-table td {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
}

.survey-admin-table th {
  background: #f8fafc;
  color: #475569;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.survey-admin__footer {
  justify-content: space-between;
  margin-top: 1rem;
}

.survey-admin__empty {
  margin-top: 2rem;
  padding: 4rem 1rem;
  text-align: center;
}

@media (max-width: 800px) {
  .survey-admin__hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .survey-admin-form__grid,
  .survey-admin-form__grid--compact {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   TRAINING CENTRE
   ============================================================ */

.venue-training-zone {
  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  background: #fff;

  border-top: 1px solid #efb762;
}


/* ============================================================
   MAIN WALKWAY BETWEEN UPPER VENUE AND TRAINING CENTRE
   ============================================================ */

.venue-main-walkway {
  width: 100%;
  height: 170px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fffaf3;

  color: #bc792a;

  font-size: 0.78rem;
  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;

  border-bottom:
    1px solid rgba(239, 183, 98, 0.45);
}


/* ============================================================
   TRAINING AREA
   ============================================================ */

.training-area {
  position: relative;

  width: 100%;

  padding:
    40px
    55px
    0px;

  background: #fff;

  box-sizing: border-box;
}


/* ============================================================
   HEADER
   ============================================================ */

.training-area__header {
  margin-bottom: 30px;
}


.training-area__eyebrow {
  color: orangered;

  font-size: 0.72rem;
  font-weight: 900;

  letter-spacing: 0.16em;
}


.training-area__title {
  margin:
    5px 0
    7px;

  font-size: 2rem;
}


.training-area__description {
  margin: 0;

  color: #777;
}


/* ============================================================
   INTERNAL MAIN AVENUE
   ============================================================ */

.training-area__main-avenue {
  height: 100px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 35px;

  background: #fffaf3;

  border-top:
    1px dashed #e5cfac;

  border-bottom:
    1px dashed #e5cfac;

  color: #bd8242;

  font-size: 0.72rem;
  font-weight: 800;

  letter-spacing: 0.12em;

  text-transform: uppercase;
}


/* ============================================================
   FOUR ESTABLISHED MODULES + ADDITIVE VOCATIONAL ROW
   ============================================================ */

.training-area__modules {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 50px;

  align-items: start;

  width: 100%;
}

.training-module[data-training-module-key="vocational_textile"] {
  grid-column: 1 / -1;

  background: #fff8f4;
  border-color: rgba(255, 75, 31, 0.32);
}

.training-module[data-training-module-key="vocational_textile"]
  .training-module__rooms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}


/* ============================================================
   MODULE
   ============================================================ */

.training-module {
  min-width: 0;

  padding: 20px;

  background: white;

  border:
    0px solid rgba(239, 183, 98, 0.35);

  border-radius: 18px;
}


.training-module__header {
  display: flex;
  flex-direction: column;

  gap: 3px;

  margin:
    0 0
    18px;

  padding-left: 5px;
}


.training-module__header span {
  color: orangered;

  font-size: 0.68rem;

  font-weight: 900;

  letter-spacing: 0.13em;
}


.training-module__header strong {
  color: #3d3d3d;

  font-size: 1rem;
}


/* ============================================================
   THREE LEVELS PER MODULE
   ============================================================ */

.training-module__rooms {
  display: flex;

  flex-direction: column;

  gap: 65px;
}


/* ============================================================
   TRAINING ROOM
   ============================================================ */

.training-room {
  position: relative;

  width: 100%;
  height: 610px;

  background: #f8f5ef;

  overflow: hidden;
}


/* ============================================================
   THIN WALLS
   ============================================================ */

.training-room__wall {
  position: absolute;

  z-index: 30;

  background: #d4bea0;
}


/* LEFT */

.training-room__wall--left {
  left: 0;
  top: 0;

  width: 7px;
  height: 100%;
}


/* RIGHT */

.training-room__wall--right {
  right: 0;
  top: 0;

  width: 7px;
  height: 100%;
}


/* BOTTOM */

.training-room__wall--bottom {
  left: 0;
  bottom: 0;

  width: 100%;
  height: 7px;
}


/* TOP LEFT */

.training-room__wall--top-left {
  top: 0;
  left: 0;

  width: calc(50% - 80px);
  height: 7px;
}


/* TOP RIGHT */

.training-room__wall--top-right {
  top: 0;
  right: 0;

  width: calc(50% - 80px);
  height: 7px;
}


/* ============================================================
   CENTRAL ENTRANCE
   ============================================================ */

.training-room__door {
  position: absolute;

  top: 0;
  left: 50%;

  width: 160px;
  height: 60px;

  transform: translateX(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  color: #a66b25;

  font-size: 0.68rem;

  font-weight: 800;

  pointer-events: none;

  z-index: 25;
}


/* ============================================================
   ROOM SIGN
   ============================================================ */

.training-room__sign {
  position: absolute;

  left: 30px;
  top: 27px;

  z-index: 20;

  display: flex;

  flex-direction: column;

  gap: 2px;
}


.training-room__sign strong {
  color: #333;

  font-size: 0.95rem;
}


.training-room__sign span {
  color: #888;

  font-size: 0.68rem;
}


/* ============================================================
   SCREEN
   ============================================================ */

.training-room__screen {
  position: absolute;

  top: 85px;
  left: 50%;

  width: 260px;
  height: 62px;

  transform:
    translateX(-50%);

  padding: 6px;

  background: #3d454a;

  border-radius: 6px;

  z-index: 10;
}


.training-room__screen-surface {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;

  background: #dceef4;

  color: #48616a;

  font-size: 0.72rem;

  font-weight: 700;
}

.training-room__screen-surface strong {
  font-size: 0.72rem;
}

.training-room__screen-surface span {
  color: #284751;
  font-size: 0.58rem;
  font-weight: 800;
}

.training-room__course-alert {
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  display: grid;
  width: 220px;
  gap: 1px;
  padding: 5px 8px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 75, 31, 0.4);
  border-radius: 7px;
  background: rgba(255, 248, 244, 0.97);
  color: #7c2d12;
  text-align: left;
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.12);
}

.training-room__course-alert small {
  color: #c2410c;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.training-room__course-alert span {
  overflow: hidden;
  color: #7c2d12;
  font-size: 0.55rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-room__screen:has(.live-session--screen) {
  box-shadow:
    0 0 0 2px rgba(255, 75, 31, 0.55),
    0 0 18px rgba(255, 75, 31, 0.34);
}


/* ============================================================
   TRAINER DESK
   ============================================================ */

.training-room__trainer-desk {
  position: absolute;

  top: 175px;
  left: 50%;

  width: 165px;
  height: 44px;

  transform:
    translateX(-50%);

  display: flex;

  align-items: center;
  justify-content: center;

  background: #aa7b4c;

  border-radius: 6px;

  color: white;

  font-size: 0.7rem;

  font-weight: 700;
}


/* ============================================================
   TABLES
   ============================================================ */

.training-room__table {
  position: absolute;

  width: 195px;
  height: 64px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #d8ab6c;

  border-radius: 14px;

  color: #6c481d;

  font-size: 0.68rem;

  font-weight: 700;
}


.training-room__table--1 {
  left: 90px;
  top: 300px;
}


.training-room__table--2 {
  right: 90px;
  top: 300px;
}


.training-room__table--3 {
  left: 90px;
  top: 440px;
}


.training-room__table--4 {
  right: 90px;
  top: 440px;
}


/* ============================================================
   CHAIRS
   ============================================================ */

.training-room__chair {
  position: absolute;

  width: 31px;
  height: 31px;

  background: #705846;

  border-radius:
    7px 7px
    14px 14px;
}


.training-room__chair--1 {
  left: 170px;
  top: 260px;
}

.training-room__chair--2 {
  left: 170px;
  top: 370px;
}

.training-room__chair--3 {
  right: 170px;
  top: 260px;
}

.training-room__chair--4 {
  right: 170px;
  top: 370px;
}

.training-room__chair--5 {
  left: 170px;
  top: 400px;
}

.training-room__chair--6 {
  left: 170px;
  top: 515px;
}

.training-room__chair--7 {
  right: 170px;
  top: 400px;
}

.training-room__chair--8 {
  right: 170px;
  top: 515px;
}


/* ============================================================
   CABINET
   ============================================================ */

.training-room__cabinet {
  position: absolute;

  top: 85px;
  right: 28px;

  width: 82px;
  height: 125px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #b4936a;

  border-radius: 5px;

  color: white;

  font-size: 0.62rem;
}


/* ============================================================
   WHITEBOARD
   ============================================================ */

.training-room__whiteboard {
  position: absolute;

  left: 28px;
  top: 90px;

  width: 120px;
  height: 75px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: white;

  border:
    3px solid #bbb;

  border-radius: 4px;

  color: #777;

  font-size: 0.62rem;
}

.training-room__whiteboard-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  color: inherit;
  text-decoration: none;
}

.training-room__whiteboard-link:hover,
.training-room__whiteboard-link:focus-visible {
  color: #1d4ed8;
  background: #eff6ff;
  outline: 3px solid #60a5fa;
  outline-offset: 2px;
}

.training-room__whiteboard-link i {
  font-size: .72rem;
}

.training-room__whiteboard-link--locked {
  color: #94a3b8;
  background: #f8fafc;
  cursor: not-allowed;
  opacity: .7;
}

.training-room__whiteboard-link--locked:hover,
.training-room__whiteboard-link--locked:focus-visible {
  color: #94a3b8;
  background: #f8fafc;
  outline: none;
}


/* ============================================================
   WALKING FLOOR
   ============================================================ */

.training-room__walking-floor {
  position: absolute;

  inset: 7px;

  pointer-events: none;
}


/* ============================================================
   BETWEEN-LEVEL WALKING SPACE
   ============================================================ */

.training-module__rooms {
  position: relative;
}


/*
 * The gap between rooms is intentionally
 * completely collision-free.
 */


/* ============================================================
   BOTTOM AVENUE
   ============================================================ */

.training-area__bottom-avenue {
  width: 100%;
  height: 140px;

  margin-top: 55px;

  border-top:
    1px dashed #e5cfac;

  background: #fffaf3;
}

/* ============================================================
   LOCKED TRAINING LEVELS
   ============================================================ */

.training-room--locked {
  position: relative;

  overflow: hidden;

  cursor: not-allowed;

  background:
    linear-gradient(
      145deg,
      rgba(248, 250, 252, 0.98),
      rgba(241, 245, 249, 0.98)
    );

  border:
    1px solid rgba(15, 23, 42, 0.12);
}


/* ============================================================
   LOCK OVERLAY
   ============================================================ */

.training-room__locked-overlay {
  width: 100%;
  min-height: 100%;

  box-sizing: border-box;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 0.45rem;

  padding: 1.4rem;

  text-align: center;

  color:
    rgba(15, 23, 42, 0.72);
}


.training-room__lock-icon {
  width: 46px;
  height: 46px;

  display: grid;
  place-items: center;

  margin-bottom: 0.3rem;

  border-radius: 50%;

  background:
    rgba(15, 23, 42, 0.08);

  color:
    #172033;

  font-size: 1.05rem;
}


.training-room__locked-level {
  font-size: 0.68rem;

  font-weight: 800;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color:
    rgba(15, 23, 42, 0.48);
}


.training-room__locked-overlay strong {
  font-size: 1rem;

  color: #172033;
}


.training-room__locked-overlay p {
  max-width: 250px;

  margin: 0;

  font-size: 0.78rem;

  line-height: 1.5;
}


.training-room__locked-overlay small {
  display: block;

  max-width: 260px;

  margin-top: 0.25rem;

  font-size: 0.68rem;

  line-height: 1.45;

  color:
    rgba(15, 23, 42, 0.48);
}


/* ============================================================
   LOCKED ROOM VISUAL FEEDBACK
   ============================================================ */

.training-room--locked::after {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;

  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 9px,
      rgba(15, 23, 42, 0.018) 9px,
      rgba(15, 23, 42, 0.018) 18px
    );
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 700px) {

  .training-room__locked-overlay {
    padding: 1rem;
  }


  .training-room__lock-icon {
    width: 40px;
    height: 40px;
  }


  .training-room__locked-overlay p {
    font-size: 0.74rem;
  }

}


/* ============================================================
   COLLISION DEBUGGING
   Uncomment temporarily if needed.
   ============================================================ */

/*
[data-collision] {
  outline: 2px solid red !important;
}
*/

/* ============================================================
   TRAINING ROOM PUBLIC DISPLAY
   ============================================================ */



.training-room__public-link {
  color: inherit;
  text-decoration: none;
}

.training-room__public-link:hover,
.training-room__public-link:focus-visible {
  color: #2563eb;
  text-decoration: underline;
}


/* ============================================================
   PUBLISHED PROGRAMME LAYER
   ============================================================ */

.training-room__programme-layer {
  position: absolute;

  top: 28px;
  right: 18px;
  bottom: 20px;

  z-index: 18;

  width: 31%;
  min-width: 225px;

  display: flex;
  flex-direction: column;

  padding: 18px;

  overflow: hidden;

  pointer-events: none;

  background:
    rgba(255, 255, 255, 0.94);

  border:
    1px solid rgba(37, 99, 235, 0.2);

  border-radius: 16px;

  box-shadow:
    0 14px 35px rgba(15, 23, 42, 0.12);

  box-sizing: border-box;
}

.training-room__programme-layer--coming-soon {
  justify-content: center;
  background: rgba(255, 255, 255, 0.78);
  border-style: dashed;
}

.training-room__programme-placeholder {
  margin: 14px 0 0;
  color: #52627a;
  font-size: 0.68rem;
  line-height: 1.5;
}


.training-room__programme-header {
  display: flex;
  flex-direction: column;

  gap: 4px;

  padding-bottom: 12px;

  border-bottom:
    1px solid rgba(148, 163, 184, 0.24);
}


.training-room__programme-header span {
  color: #2563eb;

  font-size: 0.58rem;
  font-weight: 900;

  letter-spacing: 0.14em;
  text-transform: uppercase;
}


.training-room__programme-header strong {
  color: #172033;

  font-size: 0.76rem;
  line-height: 1.35;
}


.training-room__programme-list {
  display: flex;
  flex-direction: column;

  gap: 9px;

  margin: 12px 0;
  padding: 0;

  list-style: none;
}


.training-room__programme-item {
  display: flex;
  flex-direction: column;

  gap: 5px;

  padding: 9px 10px;

  background: #f8fafc;

  border:
    1px solid rgba(148, 163, 184, 0.2);

  border-radius: 10px;
}


.training-room__programme-title {
  color: #263248;

  font-size: 0.65rem;
  font-weight: 750;
  line-height: 1.35;
}


.training-room__programme-status {
  align-self: flex-start;

  padding: 3px 7px;

  border-radius: 999px;

  font-size: 0.5rem;
  font-weight: 900;

  letter-spacing: 0.04em;
  text-transform: uppercase;
}


.training-room__programme-status--available {
  color: #166534;
  background: #dcfce7;
}


.training-room__programme-status--coming-soon {
  color: #9a5a00;
  background: #fef3c7;
}


.training-room__programme-hint {
  margin: auto 0 0;
  padding-top: 12px;

  color: #52647f;

  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.45;

  border-top:
    1px solid rgba(148, 163, 184, 0.24);
}
.course-workspace {
  width: min(1400px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
  color: #111827;
}
.course-workspace--form {
  width: min(1050px, calc(100% - 3rem));
}
.course-workspace__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}
.course-workspace__header > div {
  max-width: 820px;
}
.course-workspace__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.course-workspace--admin .course-workspace__eyebrow {
  color: #ff4b0b;
}
.course-workspace__header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
}
.course-workspace__header p {
  margin: 1rem 0 0;
  color: #64748b;
  line-height: 1.65;
}
.course-workspace__primary-link,
.course-workspace__secondary-link,
.course-workspace__back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}
.course-workspace__primary-link,
.course-workspace__submit-button {
  color: #fff;
  background: #2563eb;
}
.course-workspace__secondary-link {
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}
.course-workspace__back-link {
  color: #1d4ed8;
}
.course-workspace__summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0;
}
.course-workspace__summary article,
.course-workspace__panel,
.course-workspace__form-panel,
.course-card,
.course-workspace__empty,
.course-review-actions {
  padding: 1.4rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}
.course-workspace__summary span {
  display: block;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}
.course-workspace__summary strong {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.7rem;
}
.course-workspace__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 1.25rem;
}
.course-card {
  display: flex;
  flex-direction: column;
}
.course-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.course-card__room {
  color: #2563eb;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.course-card h2 {
  margin: 0.45rem 0 0;
  font-size: 1.25rem;
}
.course-card > p {
  color: #475569;
  line-height: 1.6;
}
.course-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
}
.course-card dt,
.course-workspace__details dt {
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}
.course-card dd,
.course-workspace__details dd {
  margin: 0.3rem 0 0;
  font-weight: 700;
}
.course-card footer {
  margin-top: auto;
  padding-top: 1rem;
}
.course-card footer a {
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}
.course-status {
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}
.course-status--draft {
  color: #334155;
  background: #e2e8f0;
}
.course-status--submitted {
  color: #92400e;
  background: #fef3c7;
}
.course-status--revisions_requested {
  color: #9a3412;
  background: #ffedd5;
}
.course-status--approved {
  color: #166534;
  background: #dcfce7;
}
.course-status--published {
  color: #1e40af;
  background: #dbeafe;
}
.course-status--archived {
  color: #6b21a8;
  background: #f3e8ff;
}
.course-workspace__detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.5rem;
  margin-top: 2rem;
}
.course-workspace__detail-content {
  display: grid;
  gap: 1.25rem;
}
.course-workspace__panel h2 {
  margin: 0 0 1rem;
}
.course-workspace__details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.course-workspace__details div {
  padding: 1rem;
  border-radius: 0.75rem;
  background: #f8fafc;
}
.course-workspace__text {
  color: #475569;
  line-height: 1.75;
}
.course-workspace__sidebar {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 0.75rem;
  position: sticky;
  top: 1.5rem;
}
.course-workspace__submit-button,
.course-review-actions button {
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.course-workspace__empty {
  text-align: center;
}
.course-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 2rem 0;
}
.course-filters a {
  padding: 0.5rem 0.8rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #475569;
  font-weight: 700;
  text-decoration: none;
}
.course-filters a.is-active {
  border-color: #2563eb;
  color: #fff;
  background: #2563eb;
}
.course-review-actions h2 {
  margin: 0 0 1rem;
}
.course-review-actions form {
  margin: 0.75rem 0;
}
.course-review-actions__approve,
.course-review-actions__publish {
  color: #fff;
  background: #166534;
}
.course-review-actions__revise {
  color: #92400e;
  background: #fef3c7;
}
.course-review-actions__archive {
  color: #991b1b;
  background: #fee2e2;
}
.course-form__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.course-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.course-form__field--wide {
  grid-column: 1/-1;
}
.course-form__field label {
  font-weight: 800;
}
.course-form__field input,
.course-form__field select,
.course-form__field textarea {
  width: 100%;
  padding: 0.8rem 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.65rem;
  font: inherit;
  box-sizing: border-box;
}
.course-form__field input:focus,
.course-form__field select:focus,
.course-form__field textarea:focus {
  border-color: #2563eb;
  outline: 3px solid rgba(37, 99, 235, 0.15);
}
.course-form__field small {
  color: #64748b;
}
.course-form__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
.course-form__submit {
  min-height: 46px;
  padding: 0.7rem 1.2rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.course-form__cancel {
  color: #475569;
  font-weight: 800;
  text-decoration: none;
}
.course-form__errors {
  margin: 1rem 0;
  padding: 1rem 1.25rem;
  border: 1px solid #fecaca;
  border-radius: 0.75rem;
  color: #991b1b;
  background: #fef2f2;
}
@media (max-width: 1000px) {
  .course-workspace__summary {
    grid-template-columns: repeat(3, 1fr);
  }
  .course-workspace__detail-layout {
    grid-template-columns: 1fr;
  }
  .course-workspace__sidebar {
    position: static;
  }
}
@media (max-width: 700px) {
  .course-workspace,
  .course-workspace--form {
    width: min(100% - 1.5rem, 1400px);
    padding-top: 2rem;
  }
  .course-workspace__header {
    flex-direction: column;
  }
  .course-workspace__summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .course-form__grid,
  .course-workspace__details {
    grid-template-columns: 1fr;
  }
  .course-form__field--wide {
    grid-column: auto;
  }
  .course-card dl {
    grid-template-columns: 1fr;
  }
}

.course-workspace__header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.course-workspace__review-notes {
  margin-top: 1.5rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid #fed7aa;
  border-left: 4px solid #f97316;
  border-radius: 1rem;
  background: #fff7ed;
}

.course-workspace__review-notes h2 {
  margin: 0 0 0.75rem;
  color: #9a3412;
}

.course-workspace__review-notes p {
  margin: 0;
  color: #7c2d12;
  line-height: 1.7;
  white-space: pre-wrap;
}

.course-review-actions__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem 0;
}

.course-review-actions__field label {
  font-weight: 800;
}

.course-review-actions__field textarea {
  width: 100%;
  min-height: 130px;
  padding: 0.85rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.75rem;
  box-sizing: border-box;
  font: inherit;
  resize: vertical;
}

.course-review-actions__field textarea:focus {
  border-color: #f97316;
  outline: 3px solid rgba(249, 115, 22, 0.15);
}

@media (max-width: 700px) {
  .course-workspace__header-actions {
    width: 100%;
    flex-direction: column-reverse;
    align-items: stretch;
  }
}

.lesson-list__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.lesson-list__header h2 {
  margin-bottom: 0.35rem;
}

.lesson-list__header p {
  margin: 0;
  color: #64748b;
}

.lesson-list {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lesson-list__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.85rem;
  background: #f8fafc;
}

.lesson-list__position {
  display: grid;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #2563eb;
  font-weight: 800;
}

.lesson-list__content {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.lesson-list__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.lesson-list__title-row h3 {
  flex: 1;
  margin: 0;
  font-size: 1.05rem;
  text-align: left;
}

.lesson-list__title-row h3 a {
  color: #111827;
  text-decoration: none;
}

.lesson-list__title-row h3 a:hover {
  color: #1d4ed8;
}

.lesson-list__content p {
  margin: 0.5rem 0;
  color: #475569;
  line-height: 1.55;
}

.lesson-list__content small {
  color: #64748b;
  font-weight: 700;
}

.lesson-list__badges,
.lesson-workspace__statuses {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lesson-list__badges {
  margin-left: auto;
}

.lesson-badge {
  display: inline-flex;
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lesson-badge--active {
  color: #166534;
  background: #dcfce7;
}

.lesson-badge--inactive {
  color: #475569;
  background: #e2e8f0;
}

.lesson-badge--preview {
  color: #1e40af;
  background: #dbeafe;
}

.lesson-list__empty {
  padding: 1.5rem;
  border: 1px dashed #cbd5e1;
  border-radius: 0.85rem;
  text-align: center;
  color: #64748b;
}

.lesson-form__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lesson-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  background: #f8fafc;
  cursor: pointer;
}

.lesson-form__checkbox input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
}

.lesson-form__checkbox span {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lesson-form__checkbox small {
  color: #64748b;
  line-height: 1.45;
}

.lesson-form__attachments {
  margin: 0.4rem 0 0;
  color: #475569;
}

.lesson-content__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.lesson-content__header span {
  color: #64748b;
  font-weight: 800;
}

.lesson-content__body {
  white-space: normal;
}

.lesson-content__empty {
  color: #64748b;
  font-style: italic;
}

.lesson-content__video video {
  display: block;
  width: 100%;
  max-height: 620px;
  border-radius: 0.85rem;
  background: #0f172a;
}

.lesson-resources {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lesson-resources li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #f8fafc;
}

.lesson-resources li div {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.lesson-resources li strong {
  overflow-wrap: anywhere;
}

.lesson-resources li small {
  color: #64748b;
}

.lesson-workspace__delete-button {
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #991b1b;
  background: #fee2e2;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 700px) {
  .lesson-list__header,
  .lesson-list__title-row,
  .lesson-resources li {
    flex-direction: column;
  }

  .lesson-list__badges {
    justify-content: flex-start;
  }

  .lesson-form__options {
    grid-template-columns: 1fr;
  }

  .lesson-resources li a {
    width: 100%;
  }
}

.admin-lesson-review {
  display: grid;
  gap: 0.85rem;
}

.admin-lesson-review__count {
  display: grid;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #ff4b0b;
}

.admin-lesson-review__item {
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 0.9rem;
  background: #f8fafc;
}

.admin-lesson-review__item summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  cursor: pointer;
  list-style: none;
}

.admin-lesson-review__item summary::-webkit-details-marker {
  display: none;
}

.admin-lesson-review__item summary::after {
  content: "+";
  flex: 0 0 auto;
  color: #2563eb;
  font-size: 1.4rem;
  font-weight: 800;
}

.admin-lesson-review__item[open] summary::after {
  content: "−";
}

.admin-lesson-review__heading {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
}

.admin-lesson-review__heading small {
  color: #64748b;
  font-weight: 700;
}

.admin-lesson-review__content {
  display: grid;
  gap: 1.25rem;
  padding: 0 1rem 1.25rem 4.25rem;
  border-top: 1px solid #e2e8f0;
  background: #ffffff;
}

.admin-lesson-review__content section:first-child,
.admin-lesson-review__content > section {
  padding-top: 1rem;
}

.admin-lesson-review__content h3 {
  margin: 0 0 0.65rem;
  font-size: 0.9rem;
}

.admin-lesson-review__content p {
  margin: 0;
  line-height: 1.65;
}

.admin-lesson-review__empty {
  color: #64748b;
  font-style: italic;
}

.admin-lesson-review__materials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.admin-lesson-review__materials div {
  padding: 0.8rem;
  border-radius: 0.7rem;
  background: #f8fafc;
}

.admin-lesson-review__materials dt {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-lesson-review__materials dd {
  margin: 0.3rem 0 0;
  font-weight: 800;
}

.course-review-actions input[type="submit"].course-review-actions__revise {
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #92400e;
  background: #fef3c7;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 700px) {
  .admin-lesson-review__item summary {
    align-items: flex-start;
  }

  .admin-lesson-review__content {
    padding: 0 1rem 1rem;
  }

  .admin-lesson-review__materials {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   TRAINING PROGRAMME ADMINISTRATION
   ============================================================ */

.programme-room-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}

.programme-room-card {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  padding: 1.4rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.programme-room-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.programme-room-card__module {
  color: #2563eb;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.programme-room-card h2 {
  margin: 0.45rem 0 0;
  font-size: 1.3rem;
}

.programme-room-card dl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin: 1.4rem 0;
}

.programme-room-card dt {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.programme-room-card dd {
  margin: 0.3rem 0 0;
  font-size: 1.15rem;
  font-weight: 800;
}

.programme-room-card footer {
  margin-top: auto;
}

.programme-room-card footer a {
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

.course-status--missing {
  color: #475569;
  background: #f1f5f9;
}

.programme-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0;
}

.programme-summary article {
  padding: 1.2rem 1.4rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.programme-summary span {
  display: block;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.programme-summary strong {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.45rem;
}

.programme-item-list {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.programme-item-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #dbeafe;
  border-radius: 0.9rem;
  background: #f8fafc;
}

.programme-item-card.is-inactive {
  opacity: 0.68;
}

.programme-item-card__position {
  display: grid;
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #2563eb;
  font-weight: 800;
}

.programme-item-card__content {
  flex: 1;
  min-width: 0;
}

.programme-item-card__content > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.programme-item-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.programme-item-card small {
  display: block;
  margin-top: 0.3rem;
  color: #64748b;
}

.programme-item-card__badges,
.programme-item-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.programme-item-card__badges {
  justify-content: flex-end;
}

.programme-item-card__actions {
  margin-top: 0.9rem;
}

.programme-item-card__actions a,
.programme-item-card__text-button,
.programme-item-card__icon-button {
  border: 0;
  color: #1d4ed8;
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.programme-item-card__icon-button {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 50%;
  background: #ffffff;
}

.programme-item-card__icon-button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.programme-item-card__text-button--danger {
  color: #b91c1c;
}

.programme-item-card__compact-form {
  margin: 0;
}

.lesson-badge--available {
  color: #166534;
  background: #dcfce7;
}

.lesson-badge--coming-soon {
  color: #92400e;
  background: #fef3c7;
}

.programme-item-create h2 {
  margin-top: 0;
}

.programme-item-form {
  display: grid;
  gap: 1rem;
}

.programme-publishing-actions__hint {
  margin: 1rem 0 0;
  color: #64748b;
  font-size: 0.85rem;
  line-height: 1.55;
}

.course-programme-selection {
  padding: 1rem;
  border: 1px solid #bfdbfe;
  border-radius: 0.85rem;
  background: #eff6ff;
}

.course-programme-selection select {
  background: #ffffff;
}

@media (max-width: 700px) {
  .programme-summary {
    grid-template-columns: 1fr;
  }

  .programme-item-card,
  .programme-item-card__content > header {
    flex-direction: column;
  }

  .programme-item-card__badges {
    justify-content: flex-start;
  }
}

.course-introduction-video {
  width: 100%;
  max-width: 900px;
  aspect-ratio: 16 / 9;
  margin: 1.5rem auto;
}

.course-introduction-video iframe,
.course-introduction-video video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 12px;
}

.public-learning__introduction-video {
  width: 100%;
  max-width: 800px;
  aspect-ratio: 16 / 9;
  margin-top: 1.5rem;
  overflow: hidden;
  border-radius: 14px;
  background: #101828;
}

.public-learning__introduction-video iframe,
.public-learning__introduction-video video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
/* ============================================================
   COMPLETE WALKABLE VENUE
   ============================================================ */

.venue-world {
  position: relative;

  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  min-height: 100vh;

  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;

  background: #fff;

  overflow: visible;
}


/* ============================================================
   UPPER VENUE

   4080px exhibition
   +
   987px conference/library
   =
   5067px
   ============================================================ */

.venue-world > .space {
  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  min-height: 100vh;

  margin: 0;
  padding: 0;

  display: flex;

  flex-direction: row-reverse;

  justify-content: flex-start;
  align-items: stretch;

  overflow: visible;
}


/* ============================================================
   IMPORTANT

   Three groups of ten 120px stands plus a 160px sponsor.
   ============================================================ */

.venue-world .space-as {
  flex: 0 0 var(--exhibition-width);

  width: var(--exhibition-width);
  min-width: var(--exhibition-width);

  margin: 0;

  position: relative;
}


/* ============================================================
   CONFERENCE / LIBRARY SLOT
   ============================================================ */

.space-conference-library {
  flex: 0 0 var(--conference-library-width);

  width: var(--conference-library-width);
  min-width: var(--conference-library-width);

  min-height: 100vh;

  position: relative;

  padding:
    20px
    0
    20px
    120px;

  background: white;

  box-sizing: border-box;
}


/* ============================================================
   TRAINING ZONE

   Full venue width.
   ============================================================ */

.venue-training-zone {
  position: relative;

  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  margin: 0;

  background: #fff;

  border: 0;

  overflow: visible;
}


/* ============================================================
   MAIN WALKING AVENUE

   NO COLLISION.
   ============================================================ */

.venue-main-walkway {
  position: relative;

  width: 100%;
  height: 180px;

  margin: 0;

  display: flex;

  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      to bottom,
      #fff,
      #fffaf3,
      #fff
    );

  border-top:
    0px solid rgba(239, 183, 98, 0.35);

  border-bottom:
    0px solid rgba(239, 183, 98, 0.35);

  color: #bd7a2b;

  font-size: 0.75rem;

  font-weight: 900;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}


/* ============================================================
   AVATARS

   They belong to venue-world, not space-as.
   ============================================================ */

.venue-world > [data-avatar],
.venue-world > [data-remote-avatar] {
  position: absolute;

  z-index: 500;

  margin: 0;
}


/*
 * Make sure a decorative area never creates
 * an accidental clipping boundary.
 */

.space,
.space-as,
.space-conference-library,
.venue-training-zone,
.training-area {
  overflow: visible;
}


/* ============================================================
   WALKABLE AREAS

   These are documentation hooks as much as styling hooks.
   They MUST NEVER become collision objects.
   ============================================================ */

[data-walking-area] {
  pointer-events: none;
}

.venue-world {
  position: relative;

  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  min-height: 100vh;

  display: flex;
  flex-direction: column;

  overflow: visible;
}

.venue-world > .space {
  flex: 0 0 auto;
}

.venue-training-zone {
  position: relative;

  flex: 0 0 auto;

  width: var(--venue-world-width);
  min-width: var(--venue-world-width);

  overflow: visible;
}



/* ============================================================
   EXHIBITION SOUTH WALL
   ============================================================ */

.exhibition-south-wall {
  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 8px;

  z-index: 40;

  pointer-events: none;
}


/* ============================================================
   PHYSICAL WALL SEGMENTS
   ============================================================ */

.exhibition-south-wall__segment {
  position: absolute;

  bottom: 0;

  height: 7px;

  background: #efb762;
}


/*
 * Two 180px entrances.
 *
 * The exact positions can easily be adjusted later.
 */

.exhibition-south-wall__segment--left {
  left: 0;
  width: calc(25% - 90px);
}


.exhibition-south-wall__segment--middle {
  left: calc(25% + 90px);
  width: calc(50% - 180px);
}


.exhibition-south-wall__segment--right {
  left: calc(75% + 90px);
  right: 0;
}


/* ============================================================
   ENTRANCE 1
   ============================================================ */

.exhibition-training-entrance--one {
  position: absolute;

  left: calc(25% - 90px);
  bottom: -1px;

  width: 180px;
  height: 75px;
}


/* ============================================================
   ENTRANCE 2
   ============================================================ */

.exhibition-training-entrance--two {
  position: absolute;

  left: calc(75% - 90px);
  bottom: -1px;

  width: 180px;
  height: 75px;
}


/* ============================================================
   ENTRANCE APPEARANCE
   ============================================================ */

.exhibition-training-entrance {
  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: flex-end;

  gap: 2px;

  padding-bottom: 9px;

  box-sizing: border-box;

  color: #b77325;

  font-size: 0.67rem;

  font-weight: 800;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  pointer-events: none;
}


.exhibition-training-entrance strong {
  font-size: 1.15rem;

  line-height: 1;
}


/* ============================================================
   EXHIBITION CAPACITY
   ============================================================ */

.exhibition-capacity-notice {
  max-width: 420px;
  margin: 16px auto;
  padding: 16px 18px;

  border: 1px solid var(--stand-gold);
  border-radius: 16px;

  background: #fff8ef;

  text-align: center;
}

.exhibition-capacity-notice strong {
  display: block;
  margin-bottom: 6px;

  color: var(--oranged-color);
}

.exhibition-capacity-notice p {
  margin: 0;
  color: #666;
}


/* ============================================================
   IMMERSIVE VENUE CURSOR
   ============================================================ */

/*
 * Hide the cursor while exploring the virtual venue.
 */
[data-venue-world] {
  cursor: none;
}


/*
 * Interactive HTML elements automatically restore
 * the normal pointer/cursor.
 */
[data-venue-world] a,
[data-venue-world] button,
[data-venue-world] input,
[data-venue-world] select,
[data-venue-world] textarea,
[data-venue-world] label,
[data-venue-world] [role="button"] {
  cursor: pointer;
}


/*
 * Text-entry fields should retain the familiar text cursor.
 */
[data-venue-world] input[type="text"],
[data-venue-world] input[type="email"],
[data-venue-world] input[type="password"],
[data-venue-world] input[type="search"],
[data-venue-world] input[type="number"],
[data-venue-world] textarea,
[data-venue-world] [contenteditable="true"] {
  cursor: text;
}


/* ============================================================
   COLLISION DEBUGGING

   Uncomment whenever we need to inspect the physical world.
   ============================================================ */

/*
[data-collision] {
  outline: 2px solid red !important;
}
*/
/* =========================================================
   GIP DEMONSTRATION CARD
   ========================================================= */

.gip-demo-card {
  position: absolute;

  left: 60px;
  top: 205px;

  width: 625px;
  height: 150px;
  aspect-ratio: 16 / 9;

  padding: 0;
  overflow: hidden;

  border: 2px solid #f36b21;
  border-radius: 14px;

  background: #fff;

  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.18);

  cursor: pointer;

  z-index: 20;

  overlay: auto;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;

    
}

.gip-demo-card:hover {
  transform: translateY(-3px);

  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.22);
}

.gip-demo-card__image {
  width: 100%;
  height: 100%;

  display: block;
  object-fit: cover;
}


/* Play button */

.gip-demo-card__play {
  position: absolute;

  left: 50%;
  top: 50%;

  transform: translate(-50%, -50%);

  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.92);
  color: #f36b21;

  font-size: 20px;

  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.25);
}


/* Caption */

.gip-demo-card__label {
  position: absolute;

  left: 10px;
  bottom: 9px;

  padding: 5px 9px;

  border-radius: 7px;

  background: rgba(0, 0, 0, 0.68);
  color: #fff;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* =========================================================
   GIP DEMONSTRATION MODAL
   ========================================================= */

.gip-demo-modal {
  position: fixed;
  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 30px;

  z-index: 10000;
}

.gip-demo-modal[hidden] {
  display: none;
}

.gip-demo-modal__backdrop {
  position: absolute;
  inset: 0;

  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(3px);
}

.gip-demo-modal__panel {
  position: relative;

  width: min(1100px, 92vw);

  background: #111;
  border-radius: 16px;

  overflow: hidden;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.45);

  z-index: 1;
}

.gip-demo-modal__video {
  display: block;

  width: 100%;
  height: auto;

  background: #000;
}

.gip-demo-modal__close {
  position: absolute;

  top: 12px;
  right: 14px;

  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border: 0;
  border-radius: 50%;

  background: rgba(0, 0, 0, 0.68);
  color: #fff;

  font-size: 28px;
  line-height: 1;

  cursor: pointer;

  z-index: 2;
}

.gip-demo-modal__close:hover {
  background: rgba(0, 0, 0, 0.9);
}
/* ============================================================
   WELCOME / RECEPTION AREA
   ============================================================ */

.welcome {
  width: 360px;
  min-width: 360px;

  min-height: 360px;

  padding: 28px 24px 30px;

  margin: 0 24px;

  background: #fff;

  border-right:
    4px double var(--oranged-color);

  border-bottom:
    4px double var(--oranged-color);

  border-radius:
    0 0 30% 30%;

  display: flex;

  align-items: stretch;
  justify-content: center;

  box-sizing: border-box;
}


/* ============================================================
   INNER CONTENT
   ============================================================ */

.welcome__inner {
  width: 100%;

  display: flex;
  flex-direction: column;

  align-items: center;

  text-align: center;

  gap: 18px;
}


/* ============================================================
   HEADING
   ============================================================ */

.welcome__heading {
  width: 100%;
}


.welcome__eyebrow {
  display: block;

  margin-bottom: 6px;

  color: var(--oranged-color);

  font-size: 0.72rem;

  font-weight: 900;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}


.welcome__heading h2 {
  margin: 0 0 8px;

  color: #222;

  font-size: 1.35rem;

  line-height: 1.15;
}


.welcome__heading p {
  margin: 0;

  color: #777;

  font-size: 0.86rem;

  line-height: 1.4;
}


/* ============================================================
   USER ACTIONS
   ============================================================ */

.welcome__actions {
  width: 100%;

  display: flex;
  flex-direction: column;

  gap: 8px;

  align-items: center;
}


.welcome__user {
  width: 100%;

  display: flex;
  flex-direction: column;

  align-items: center;

  gap: 8px;
}


.welcome__user strong {
  margin-bottom: 4px;

  color: #333;

  font-size: 0.9rem;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.welcome__button {
  width: 100%;

  padding: 9px 14px;

  box-sizing: border-box;

  display: block;

  border:
    1px solid var(--oranged-color);

  border-radius: 18px;

  background:
    var(--oranged-color);

  color: #fff !important;

  font-size: 0.8rem;

  font-weight: 800;

  text-align: center;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}


.welcome__button:hover {
  background: #fff;

  color:
    var(--oranged-color) !important;

  transform:
    translateY(-1px);
}


.welcome__button--secondary {
  background: #fff;

  color:
    var(--oranged-color) !important;
}

/* ============================================================
   SIGNED-IN USER
   ============================================================ */

.welcome__user {
  width: 100%;

  display: flex;
  flex-direction: column;

  align-items: center;

  gap: 14px;
}


.welcome__user-row {
  width: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;
}


.welcome__username {
  color: #333;

  font-size: 0.9rem;
  font-weight: 800;
}


/*
 * button_to generates a form around the button.
 */

.welcome__user-row form {
  margin: 0;

  display: flex;
  align-items: center;
}


.welcome__logout {
  padding: 5px 12px;

  border: 1px solid var(--oranged-color);
  border-radius: 16px;

  background: #fff;

  color: var(--oranged-color);

  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease;
}


.welcome__logout:hover {
  background: var(--oranged-color);

  color: #fff;
}


/*
 * button_to creates a form.
 * Make sure that form does not disturb the layout.
 */

.welcome__user form {
  width: 100%;

  margin: 0;
}


/* ============================================================
   MENU LINKS
   ============================================================ */

.welcome__menu {
  width: 100%;

  display: flex;
  flex-direction: column;

  gap: 5px;
}


.welcome__menu a {
  display: block;

  padding: 6px 10px;

  color: #555;

  font-size: 0.82rem;

  font-weight: 700;

  text-decoration: none;

  border-radius: 10px;

  transition:
    color 0.2s ease,
    background 0.2s ease;
}


.welcome__menu a:hover {
  color:
    var(--oranged-color);

  background:
    rgba(255, 69, 0, 0.06);
}


/* ============================================================
   SOCIAL ICONS
   ============================================================ */

.welcome__socials {
  width: 100%;

  margin-top: 4px;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 14px;
}


.welcome__socials a {
  width: 34px;
  height: 34px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(255, 69, 0, 0.25);

  border-radius: 50%;

  background: #fff;

  text-decoration: none;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}


.welcome__socials a:hover {
  background:
    rgba(255, 69, 0, 0.08);

  transform:
    translateY(-2px);
}


.welcome__socials i {
  color:
    var(--oranged-color);

  font-size: 1.1rem;
}


/* ============================================================
   REMOVE OLD GENERIC WELCOME LINK STYLING
   ============================================================ */

.welcome p {
  margin: 0;
}


.welcome a {
  font-weight: 700;
}



/* ============================================================
   MINI DASHBOARDS
   ============================================================ */

.welcome__dashboards {
  width: 100%;

  display: grid;
  grid-template-columns:
    repeat(3, 1fr);

  gap: 8px;

  margin-top: 4px;
}


.welcome__dashboard {
  min-height: 76px;

  padding: 10px 6px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  gap: 7px;

  background: #fff;

  border:
    1px solid rgba(255, 69, 0, 0.22);

  border-radius: 14px;

  color: #444 !important;

  font-size: 0.68rem;
  font-weight: 800;

  text-align: center;

  text-decoration: none;

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}


.welcome__dashboard:hover {
  transform:
    translateY(-2px);

  border-color:
    var(--oranged-color);

  background:
    rgba(255, 69, 0, 0.04);
}


.welcome__dashboard-icon {
  width: 34px;
  height: 34px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 10px;

  background:
    rgba(255, 69, 0, 0.08);

  font-size: 1.15rem;
}


.welcome__dashboard-icon i {
  color:
    var(--oranged-color);
}

/* ============================================================
   WELCOME MODALS
   ============================================================ */

.welcome-modal {
  position: fixed;
  inset: 0;
  z-index: 30000;

  display: none;

  align-items: center;
  justify-content: center;

  padding: 2rem;
}

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

body.welcome-modal-open {
  overflow: hidden;
}

.welcome-modal__backdrop {
  position: absolute;
  inset: 0;

  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(5px);
}


.welcome-modal__dialog {
  position: relative;
  z-index: 1;

  width: min(920px, 94vw);
  max-height: 88vh;

  overflow: hidden;

  background: #ffffff;

  border-radius: 22px;

  box-shadow:
    0 28px 80px rgba(15, 23, 42, 0.28);

  display: flex;
  flex-direction: column;
}


.welcome-modal__dialog--participants {
  width: min(1080px, 96vw);
}


.welcome-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 2rem;

  padding: 1.6rem 1.8rem;

  border-bottom:
    1px solid rgba(15, 23, 42, 0.09);
}


.welcome-modal__header h2 {
  margin: 0.25rem 0 0;
}


.welcome-modal__header p {
  margin: 0.4rem 0 0;

  color: rgba(15, 23, 42, 0.64);
}


.welcome-modal__eyebrow {
  display: block;

  font-size: 0.72rem;
  font-weight: 800;

  letter-spacing: 0.12em;
}


.welcome-modal__close {
  flex: 0 0 auto;

  width: 2.25rem;
  height: 2.25rem;

  display: grid;
  place-items: center;

  border-radius: 50%;

  text-decoration: none;

  font-size: 1.6rem;
  line-height: 1;

  color: #111827;

  background: rgba(15, 23, 42, 0.06);
}


.welcome-modal__close:hover {
  background: rgba(15, 23, 42, 0.11);
}


.welcome-modal__body {
  overflow-y: auto;

  padding: 1.8rem;
}


.welcome-modal__lead {
  max-width: 760px;

  margin-top: 0;

  font-size: 1.05rem;
  line-height: 1.75;

  color: rgba(15, 23, 42, 0.78);
}


/* ============================================================
   PRESENTATION
   ============================================================ */

.welcome-presentation-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 1rem;

  margin-top: 1.6rem;
}


.welcome-presentation-card {
  padding: 1.2rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 16px;

  background: rgba(248, 250, 252, 0.82);
}


.welcome-presentation-card__icon {
  width: 2.25rem;
  height: 2.25rem;

  display: grid;
  place-items: center;

  margin-bottom: 0.7rem;

  border-radius: 10px;

  background: rgba(15, 23, 42, 0.07);
}


.welcome-presentation-card h3 {
  margin:
    0
    0
    0.45rem;
}


.welcome-presentation-card p {
  margin: 0;

  line-height: 1.55;

  color: rgba(15, 23, 42, 0.67);
}


.welcome-presentation-note {
  margin-top: 1.2rem;

  padding: 1rem 1.2rem;

  border-radius: 14px;

  background: rgba(15, 23, 42, 0.04);
}


.welcome-presentation-note p {
  margin:
    0.25rem
    0
    0;
}


/* ============================================================
   NEWS
   ============================================================ */

.welcome-news-list {
  display: grid;
  gap: 0.9rem;
}


.welcome-news-card {
  padding: 1.15rem 1.25rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 15px;
}


.welcome-news-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;

  margin-bottom: 0.5rem;

  font-size: 0.75rem;
  font-weight: 700;

  color: rgba(15, 23, 42, 0.55);
}


.welcome-news-card h3 {
  margin:
    0
    0
    0.45rem;
}


.welcome-news-card p {
  margin: 0;

  line-height: 1.55;
}


.welcome-news-card__stand {
  display: inline-block;

  margin-top: 0.75rem;

  font-size: 0.75rem;
  font-weight: 700;
}


.welcome-modal__empty {
  min-height: 240px;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  text-align: center;

  color: rgba(15, 23, 42, 0.62);
}


.welcome-modal__empty i {
  margin-bottom: 0.8rem;

  font-size: 2rem;
}


.welcome-modal__empty strong {
  color: #111827;
}


.welcome-modal__empty p {
  max-width: 460px;
}


/* ============================================================
   PARTICIPANTS — SPONSORS
   ============================================================ */

.welcome-participants-sponsors {
  margin-bottom: 1.4rem;
}

.welcome-participants-sponsors__heading {
  margin-bottom: 0.8rem;
}

.welcome-participants-sponsors__heading h3 {
  margin:
    0.15rem
    0
    0;
}

.welcome-participants-sponsor-list {
  display: grid;
  gap: 0.7rem;
}

.welcome-participants-sponsor {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 1rem;

  padding: 0.9rem 1rem;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(255, 248, 240, 0.9),
      rgba(255, 255, 255, 1)
    );
}

.welcome-participants-sponsor__identity {
  display: flex;
  align-items: center;

  gap: 0.8rem;
}

.welcome-participants-sponsor__identity > div:last-child {
  display: flex;
  flex-direction: column;

  gap: 0.15rem;
}

.welcome-participants-sponsor__identity span {
  font-size: 0.76rem;

  color: rgba(15, 23, 42, 0.55);
}

.welcome-participants-sponsor__logo,
.welcome-participants-sponsor__logo-placeholder {
  width: 48px;
  height: 48px;

  flex: 0 0 48px;

  object-fit: contain;

  border-radius: 10px;

  background: #ffffff;

  border:
    1px solid rgba(15, 23, 42, 0.08);
}

.welcome-participants-sponsor__logo-placeholder {
  display: grid;
  place-items: center;

  color: rgba(15, 23, 42, 0.38);
}

.welcome-participants-sponsor__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;

  gap: 0.25rem;

  font-size: 0.76rem;

  color: rgba(15, 23, 42, 0.56);
}

.welcome-participants-sponsor__contact {
  text-decoration: none;

  font-weight: 700;
}

@media (max-width: 700px) {

  .welcome-participants-sponsor {
    align-items: flex-start;
    flex-direction: column;
  }

  .welcome-participants-sponsor__meta {
    align-items: flex-start;
  }

}

/* ============================================================
   PARTICIPANTS - STANDS
   ============================================================ */

.welcome-participants-summary {
  display: flex;

  gap: 0.8rem;

  margin-bottom: 1rem;
}


.welcome-participants-summary span {
  padding: 0.55rem 0.8rem;

  border-radius: 999px;

  background: rgba(15, 23, 42, 0.06);

  font-size: 0.8rem;
}


.welcome-participants-table-wrapper {
  width: 100%;

  overflow-x: auto;

  border:
    1px solid rgba(15, 23, 42, 0.08);

  border-radius: 14px;
}


.welcome-participants-table {
  width: 100%;

  border-collapse: collapse;

  font-size: 0.88rem;
}


.welcome-participants-table th,
.welcome-participants-table td {
  padding: 0.8rem 0.9rem;

  text-align: left;

  border-bottom:
    1px solid rgba(15, 23, 42, 0.07);
}


.welcome-participants-table th {
  position: sticky;
  top: 0;

  z-index: 1;

  background: #f8fafc;

  font-size: 0.75rem;

  text-transform: uppercase;

  letter-spacing: 0.04em;
}


.welcome-participants-table tbody tr:last-child td {
  border-bottom: none;
}


.welcome-participants-table__available {
  background: rgba(248, 250, 252, 0.46);
}


.welcome-participants-table__stand {
  font-weight: 800;

  text-decoration: none;
}


.welcome-participants-table__contact {
  text-decoration: none;
}


.welcome-participants-table__muted,
.welcome-participants-table__empty-value {
  color: rgba(15, 23, 42, 0.42);
}


.welcome-participants-status {
  display: inline-flex;

  padding: 0.25rem 0.55rem;

  border-radius: 999px;

  font-size: 0.72rem;
  font-weight: 800;
}


.welcome-participants-status--occupied {
  background: rgba(22, 163, 74, 0.1);

  color: #15803d;
}


.welcome-participants-status--available {
  background: rgba(59, 130, 246, 0.09);

  color: #2563eb;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 700px) {

  .welcome-modal {
    padding: 0.75rem;
  }


  .welcome-modal__dialog {
    width: 100%;
    max-height: 94vh;

    border-radius: 16px;
  }


  .welcome-modal__header {
    padding: 1.2rem;

    gap: 1rem;
  }


  .welcome-modal__body {
    padding: 1.2rem;
  }


  .welcome-presentation-grid {
    grid-template-columns: 1fr;
  }


  .welcome-participants-summary {
    flex-wrap: wrap;
  }

}

/* ============================================================
   PARTICIPANT SURVEYS
   ============================================================ */

.welcome-surveys {
  margin-bottom: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 16px;
  background: rgba(239, 246, 255, 0.7);
}

.welcome-surveys__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.welcome-surveys__heading h3,
.welcome-surveys__heading p {
  margin: 0.2rem 0 0;
}

.welcome-surveys__heading p {
  max-width: 560px;
  color: rgba(15, 23, 42, 0.62);
  font-size: 0.82rem;
  line-height: 1.5;
}

.welcome-surveys__list {
  display: grid;
  gap: 0.75rem;
}

.welcome-survey-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: #ffffff;
}

.welcome-survey-card__content {
  display: grid;
  gap: 0.35rem;
}

.welcome-survey-card__content p {
  margin: 0;
  color: rgba(15, 23, 42, 0.62);
  font-size: 0.82rem;
}

.welcome-survey-card__meta,
.welcome-survey-card__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.welcome-survey-card__meta > span:first-child {
  color: #2563eb;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.welcome-survey-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0.55rem 0.85rem;
  border: 1px solid #2563eb;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.welcome-survey-card__button--secondary {
  background: #ffffff;
  color: #1d4ed8;
}

.welcome-surveys .survey-response-status,
.welcome-participants-table .survey-response-status {
  display: inline-flex;
  width: fit-content;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.welcome-surveys .survey-response-status--not_started,
.welcome-participants-table .survey-response-status--not_started {
  background: #f1f5f9;
  color: #64748b;
}

.welcome-surveys .survey-response-status--opened,
.welcome-participants-table .survey-response-status--opened {
  background: #dbeafe;
  color: #1d4ed8;
}

.welcome-surveys .survey-response-status--completed,
.welcome-participants-table .survey-response-status--completed {
  background: #dcfce7;
  color: #15803d;
}

@media (max-width: 700px) {
  .welcome-surveys__heading,
  .welcome-survey-card,
  .welcome-survey-card__actions {
    align-items: stretch;
    flex-direction: column;
  }
}
/* ============================================================
   GROUPED WORKSPACE NAVIGATION
   ============================================================ */

.workspace-tabs.workspace-tabs--grouped {
  display: block;
  margin: 34px 0 40px;
  padding: 0;
  border-bottom: 1px solid #e2e8f0;
}

.workspace-tabs__primary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 14px;
}

.workspace-tabs__group-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 20px;
  color: #46546a;
  background: #f8fafc;
  border: 1px solid #d9e2ef;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.workspace-tabs__group-link:hover,
.workspace-tabs__group-link:focus-visible {
  color: #1d4ed8;
  background: #eff6ff;
  border-color: #93c5fd;
  transform: translateY(-1px);
}

.workspace-tabs__group-link--active,
.workspace-tabs__group-link--active:hover,
.workspace-tabs__group-link--active:focus-visible {
  color: #fff;
  background: #2563eb;
  border-color: #2563eb;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.2);
}

.workspace-tabs__secondary {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 14px 16px 16px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  border-radius: 14px 14px 0 0;
}

.workspace-tabs__secondary-label {
  flex: 0 0 auto;
  padding-top: 10px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-tabs__secondary-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.workspace-tabs--grouped .workspace-tabs__secondary .workspace-tabs__link {
  min-height: 38px;
  padding: 7px 14px;
  color: #475569;
  background: #fff;
  border: 1px solid #dbe4f0;
  font-size: 0.85rem;
  font-weight: 750;
}

.workspace-tabs--grouped .workspace-tabs__secondary .workspace-tabs__link:hover,
.workspace-tabs--grouped .workspace-tabs__secondary .workspace-tabs__link:focus-visible,
.workspace-tabs--grouped .workspace-tabs__secondary .workspace-tabs__link--active {
  color: #1d4ed8;
  background: #dbeafe;
  border-color: #93c5fd;
}

@media (max-width: 760px) {
  .workspace-tabs__primary,
  .workspace-tabs__secondary-links {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .workspace-tabs__group-link {
    min-height: 42px;
    padding: 8px 15px;
    font-size: 0.86rem;
  }

  .workspace-tabs__secondary {
    flex-direction: column;
    gap: 8px;
    padding: 12px;
  }

  .workspace-tabs__secondary-label {
    padding-top: 0;
  }

  .workspace-tabs__secondary-links {
    width: 100%;
    padding-bottom: 4px;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
:root {
  --main-blue: #3778c2;
  --main-green: #5fb523;
  --main-gray: #434b54;
  --main-white: #fcfafa;
  --main-black: #020202;
  --error-color: #f00;

  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

body {
  min-height: 100vh;
}

* {
  margin-top: 0;
  padding: 0;
  box-sizing: border-box;
  list-style-type: none;
  text-decoration: none;
}

.button {
  cursor: pointer;
  font-size: 1rem;
  width: 100%;
  color: var(--main-white);
  padding: 0.2rem 0;
  margin: 0.1rem 0;
  border: solid 0.1rem var(--main-white);
  transition: background-color 1s ease-out;
}

.button-white {
  cursor: pointer;
  font-size: small;
  width: 100%;
  color: var(--main-black);
  padding: 0.2rem 0;
  margin: 0.1rem 0;
  border: solid 0.1rem var(--main-blue);
  transition: background-color 1s ease-out;
}

.my-flex {
  display: flex;
  flex-direction: column;
  text-align: start;
}

.my-flex-row {
  display: flex;
  flex-direction: row;
}

.no-style {
  background-color: var(--main-green);
}

.left {
  text-align: left;
}

a {
  color: var(--main-gray);
}

/* Homepage */
.homepage {
  width: 100%;
  height: 100%;
  background-color: var(--main-blue);
}

.homepage-user-list {
  list-style: none;
  padding: 5% 5% 0 5%;
  width: 40%;
}

/* User */
.user-list {
  list-style: none;
  padding: 5% 5% 0 5%;
}

.user {
  display: flex;
  align-items: center;
  margin-bottom: 2%;
}

.username {
  font-size: 1.2rem;
  margin: 0;
}

.item-count {
  font-size: 0.9rem;
  margin: 0 1% 0 0;
  color: #888;
  text-align: right;
}

li {
  list-style-type: none;
  text-align: center;
}

/* Form */
.container {
  width: 100%;
  /* min-height: 100vh; */
  display: flex;
  overflow: scroll;
}

.scroll {
  overflow: scroll;
}

.form-group {
  width: 100%;
  height: 100%;
  display: flex;
}

.sign-up-form,
.login-form,
.all-form {
  cursor: pointer;
  margin: 1rem 0;
  background-color: var(--main-white);
  font-size: 1.2rem;
  padding: 0.3rem 0.6rem;
  border: solid 0.1rem white;
  color: var(--main-black);
}

.sign-up-form label .login-form label .all-form label {
  font-weight: bold;
}

.sign-up-form input,
.login-form input,
.all-form input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.sign-up-form .sign-up-form-button,
.login-form .login-button,
.all-form .all-button {
  color: #fff;
  padding: 10px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}

.sign-up-form .sign-up-form-button:hover,
.login-form .login-button:hover,
.all-form .all-button:hover {
  background-color: var(--main-blue);
}

.sign-up-form a,
.login-form a,
.all-form a {
  text-decoration: none;
  color: var(--main-blue);
  font-weight: bold;
}

.sign-up-form .text-center,
.login-form .text-center,
.all-form .text-center {
  text-align: center;
}

.error-message {
  color: var(--error-color);
  margin: 10px 0;
  font-weight: bold;
}

.sign-up-form .form-element,
.login-form .form-element,
.all-form .form-element {
  margin: 10px 0;
}

/* Title */
.title-container {
  width: 100%;
  height: 10rem;
}

/* Header */
.header-container {
  width: 100%;
  background-color: var(--main-blue);
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
}

nav ul {
  width: 100%;
  height: 100%;
  background-color: var(--main-blue);
  color: var(--main-white);
  list-style: none;
  font-size: 1.3rem;
  padding: 0.5rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

/* gift credit */
.gift-credit-container {
  width: 100%;
  height: 5%;
  color: var(--main-black);
  display: flex;
  align-items: center;
  box-shadow: 0.1rem 0.1rem 0.1rem var(--main-blue);
}

.text-left {
  align-self: flex-start;
}

.text-right {
  align-self: flex-end;
}

/*
  main

  - view templates prefixed 'view'
*/
.main-container {
  width: 100%;
  min-height: 60%;
  color: var(--main-gray);
  overflow-y: scroll;
}

.items-list {
  padding: 5%;
  color: var(--main-black);
}

.item {
  background-color: var(--main-white);
  display: flex;
  margin-bottom: 5%;
  padding: 4%;
  gap: 5%;
  box-shadow: 0 0 0.3rem lightgrey;
}

.view-item {
  background-color: var(--main-white);
  display: flex;
  font-size: x-large;
  padding: 4%;
  gap: 5%;
  border-bottom: 0.01px solid var(--main-gray);
  flex-direction: row;
  justify-content: space-between;
}

.item-details {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 50%;
}

.view-item-details {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 5%;
  font-size: xx-large;
  text-transform: capitalize;
}

.details-heading {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.img {
  width: 5%;
  height: 5%;
}

.view-total-payment {
  width: 100%;
  background-color: var(--main-white);
  display: flex;
  font-size: x-large;
  font-weight: bold;
  padding: 4%;
  justify-content: space-between;
}

/* Footer */
.footer-container {
  width: 100%;
  background-color: var(--main-green);
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
}

.footer-btn {
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  font-size: 1rem;
  width: 100%;
  background-color: var(--main-green);
  color: var(--main-white);
  margin: 0.8rem 0;
  border: solid 0.1rem var(--main-white);
  transition: background-color 1s ease-out;
  padding: 3%;
}

@media (min-width: 768px) {
  .footer-container {
    width: 100%;
    background-color: var(--main-green);
    position: fixed;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1%;
  }

  .footer-btn {
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    font-size: 1rem;
    width: 100%;
    background-color: var(--main-green);
    color: var(--main-white);
    border: solid 0.1rem var(--main-white);
    transition: background-color 1s ease-out;
    padding: 1%;
  }

  /*
  .container {
    width: 100%;
    min-height: 100vh;
    display: flex;
  }
  */
}

/* GIP 1.0: Temporarily hide account cancellation panel */
.auth-danger-zone {
  display: none !important;
}
