[hidden] {
  display: none !important;
}

.is-session-pending .sidebar .nav,
.is-session-pending .topbar .company,
.is-session-pending .topbar .user {
  visibility: hidden;
  opacity: 0;
}

.sidebar .nav,
.topbar .company,
.topbar .user,
.views {
  transition: opacity 0.12s ease;
}

/* Dont Select Text */
* {
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  user-select: none;
}

input,
textarea,
[contenteditable="true"] {
  -moz-user-select: text;
  -ms-user-select: text;
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}

.chatgpt--consumer .chatgpt__composer {
  grid-template-columns: minmax(0, 1fr) repeat(3, auto);
}
.chatgpt--consumer .chatgpt__composer .consumer-voice-start {
  grid-column: 2;
  background: transparent;
  color: var(--text);
  transition: background-color 140ms ease;
}
.chatgpt--consumer .chatgpt__composer .consumer-voice-start::before {
  content: none;
}
.consumer-voice-start svg {
  display: block;
  flex-shrink: 0;
}
.chatgpt--consumer .chatgpt__composer .consumer-voice-start:hover:not(:disabled) {
  background: rgba(128, 128, 128, .18);
}
.chatgpt--consumer .chatgpt__composer .consumer-voice-start:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.chatgpt--consumer .chatgpt__composer .consumer-voice-start:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.chatgpt--consumer .chatgpt__composer > .mitra-microphone {
  grid-column: 3;
}
.chatgpt--consumer .chatgpt__composer > [data-company-consumer-send] {
  grid-column: 4;
}

.consumer-voice-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .8rem;
}
.consumer-voice-controls [hidden] { display: none; }
.consumer-voice-controls [data-consumer-voice-status] { flex-basis: 100%; }

/* Dictation stays beside a shared voice/send position. */
.chatgpt__composer[data-primary-action] {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.chatgpt__composer[data-primary-action] > .mitra-microphone { grid-column: 2; grid-row: 1; }
.chatgpt__composer[data-primary-action] > :is(.voice-chat-toggle, [data-primary-send]) { grid-column: 3; grid-row: 1; }
.chatgpt__composer[data-primary-action] > .voice-chat-toggle { display: grid; place-items: center; background: var(--text); color: var(--bg); border-radius: 50%; }
.chatgpt__composer[data-primary-action] > .voice-chat-toggle::before { content: none; }
.chatgpt__composer[data-primary-action] > .voice-chat-toggle svg { display: block; }
.chatgpt__composer[data-primary-action] > .voice-chat-toggle.is-active { background: #8c2525; color: #fff; }
.chatgpt__composer[data-primary-action="send"] > .voice-chat-toggle,
.chatgpt__composer[data-primary-action="voice"] > [data-primary-send] { display: none !important; }
.bom-builder-chat-composer.chatgpt__composer[data-primary-action] { grid-template-columns: auto minmax(0, 1fr) auto auto; }
.bom-builder-chat-composer.chatgpt__composer[data-primary-action] > .mitra-microphone { grid-column: 3; }
.bom-builder-chat-composer.chatgpt__composer[data-primary-action] > :is(.voice-chat-toggle, [data-primary-send]) { grid-column: 4; }
.bom-builder-chat-composer.chatgpt__composer[data-primary-action] > .voice-chat-toggle { width: 44px; height: 44px; }
.voice-chat-controls { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .85rem; padding: .5rem 0; }
.voice-chat-controls [hidden] { display: none; }
.account-email-status { max-width: 240px; padding: 0 10px; white-space: normal; overflow-wrap: anywhere; }
.account-email-status:empty { display: none; }
[data-email-verification-send][hidden] { display: none !important; }
/* Account confirmation stays compact and accessible on mobile and desktop. */
.security-confirmation {
  width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  box-sizing: border-box; overflow: auto; padding: 24px; border-radius: 20px;
  color: #f5f5f5; background: #17191d; border: 1px solid #363940;
}
.security-confirmation::backdrop { background: rgb(0 0 0 / 65%); }
.security-confirmation h2 { margin: 0 0 12px; font-size: 20px; }
.security-confirmation p { font-size: 14px; line-height: 1.5; }
.security-confirmation label { display: grid; gap: 8px; }
.security-confirmation input { width: 100%; box-sizing: border-box; font-size: 16px; padding: 12px; border: 1px solid #555; border-radius: 10px; background: #222; color: inherit; }
.security-confirmation-actions { display: flex; justify-content: flex-end; gap: 10px; }
.security-confirmation button { min-height: 44px; padding: 10px 16px; border-radius: 12px; cursor: pointer; }
