/*
 * Design system: formulários.
 * Autenticação (login, cadastro, senha, 2FA, modais), configurações
 * (inclui a .settings-sidebar reaproveitada por estúdio/painel/anúncios),
 * envio/edição/importação de vídeo, cards de vídeo, criar/editar post.
 *
 * Carregado antes de studio.css (ordem alfabética): regras com .ds-studio
 * continuam vencendo onde o estúdio quiser algo diferente.
 */

/* ======================================================================
   1. Linguagem de formulário comum
   pp_mat_input vira "rótulo acima do campo" dentro das áreas abaixo.
   ====================================================================== */

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: var(--space-5);
}

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input > label,
:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input input:placeholder-shown:not(:focus) + label {
  order: -1;
  position: static !important;
  inset: auto !important;
  margin: 0 0 var(--space-2) !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-sm) !important;
  font-weight: 500 !important;
  line-height: var(--leading-tight);
  pointer-events: auto;
  cursor: default;
}

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input select {
  width: 100%;
  height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background-color: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-base);
}

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input textarea {
  width: 100%;
  min-height: 112px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  resize: vertical;
}

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input .help-block {
  order: 2;
  margin: var(--space-2) 0 0;
  opacity: 1;
  font-size: var(--text-xs);
}

/* emojionearea, tag-it e bootstrap-select dentro do campo */
:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input .emojionearea {
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  box-shadow: var(--shadow-xs) !important;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input .emojionearea.focused {
  border-color: var(--ring) !important;
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--ring) 25%, transparent) !important;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input ul.tagit {
  min-height: 40px;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  box-shadow: var(--shadow-xs) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input ul.tagit li:not(.tagit-new) {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--secondary) !important;
  color: var(--secondary-foreground) !important;
  font-size: var(--text-sm);
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input ul.tagit li .tagit-close {
  color: var(--muted-foreground);
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input ul.tagit li .tagit-close .ui-icon.ui-icon-close {
  filter: none;
  opacity: .6;
}

html.dark body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input ul.tagit li .tagit-close .ui-icon.ui-icon-close {
  filter: invert(1);
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select > button {
  height: 40px !important;
  padding: 0 var(--space-3) !important;
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
  font-weight: 400 !important;
  box-shadow: var(--shadow-xs) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select > button.bs-placeholder {
  color: var(--muted-foreground) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select.open > .dropdown-toggle {
  border-color: var(--ring) !important;
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--ring) 25%, transparent) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select .dropdown-menu li a {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-base) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select .dropdown-menu li a:hover,
body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select .dropdown-menu li.selected a {
  background: var(--accent);
  color: var(--accent-foreground) !important;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pp_mat_input > .bootstrap-select .bs-actionsbox .actions-btn {
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: var(--background) !important;
  color: var(--foreground) !important;
  font-weight: 500;
}

/* Arquivo (trailer / legenda) */
.movie-file-input {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) !important;
  border: 1px dashed var(--input) !important;
  border-radius: var(--radius-md) !important;
}

.movie-file-input > label {
  display: none;
}

.movie-file-input > .button {
  margin: 0 !important;
  padding: var(--space-1) var(--space-3) !important;
  border: 1px solid var(--input);
  border-radius: var(--radius-sm) !important;
  background: var(--background) !important;
  color: var(--foreground) !important;
  font-size: var(--text-sm);
  font-weight: 500;
}

.movie-file-input:hover > .button {
  background: var(--accent) !important;
}

.movie-file-input > .mlabel {
  color: var(--muted-foreground);
  font-size: var(--text-sm);
  opacity: 1;
}

/* Grupo de radios em cards (privacidade, idade, monetização...) */
:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .form-group:has(> .pt_vdo_cstm_radio) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--space-2);
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .form-group:has(> .pt_vdo_cstm_radio) > :not(.pt_vdo_cstm_radio) {
  grid-column: 1 / -1;
  margin: 0;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .form-group:has(> .pt_vdo_cstm_radio) > .help-block {
  margin: calc(var(--space-1) * -1) 0 var(--space-1);
  opacity: 1 !important;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio {
  margin: 0;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio label {
  display: flex;
  align-items: center;
  min-height: 40px;
  height: 100%;
  border-color: var(--border);
  font-size: var(--text-sm);
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio label:before,
:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio label:after {
  top: 50% !important;
  translate: 0 -50%;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio input:checked + label {
  border-color: var(--primary);
  background: var(--card);
  box-shadow: inset 0 0 0 1px var(--primary);
}

/* Botões de ação das áreas de formulário */
:is(.pt_upload_vdo, .pt_import_vdo, .pt_forms_large_btns) .btn.btn_upld_vid_next,
:is(.pt_import_vdo, .pt_forms_large_btns) .pt_forms .setting-panel-mdbtn {
  height: auto !important;
  min-height: 40px;
  margin: 0;
  padding: 0 var(--space-5);
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base);
  font-weight: 500;
  text-transform: none !important;
  box-shadow: none;
}

/* ======================================================================
   2. Autenticação
   ====================================================================== */

.login_page {
  min-height: calc(100vh - var(--header-h) - var(--space-8));
  margin: 0;
  padding: var(--space-8) 0;
}

.login_page::before,
.login_page::after {
  height: var(--space-4);
}

.login_page .login-page,
.login-page {
  width: 100%;
  max-width: 400px;
  margin: 0 auto !important;
  padding: var(--space-8) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl) !important;
  background: var(--card);
  color: var(--card-foreground);
  box-shadow: none;
}

.login-page .login-form {
  width: 100%;
}

.pt-auth-logo {
  display: flex;
  justify-content: center;
  margin: 0 0 var(--space-5);
}

.pt-auth-logo img {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  object-fit: contain;
}

.login-page h4 {
  margin: 0 0 var(--space-2);
  color: var(--foreground);
  font-size: var(--text-3xl);
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  text-align: center;
}

.pt-auth-subtitle {
  margin: 0 0 var(--space-6);
  color: var(--muted-foreground);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  text-align: center;
}

.login-page h4 + p:empty {
  display: none;
}

.login-page .pp_mat_input {
  margin-bottom: var(--space-4);
}

.login-page .pp_mat_input input:not([type="checkbox"]),
.login-page .pp_mat_input select {
  background-color: transparent !important;
  font-size: var(--text-base) !important;
}

.login-page .pp_mat_input select {
  -webkit-appearance: none;
  appearance: none;
  padding-inline-end: var(--space-8);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}

[dir="rtl"] .login-page .pp_mat_input select {
  background-position: left 10px center !important;
}

/* erros / sucesso */
.login-page .errors {
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--destructive);
  font-size: var(--text-sm);
}

.login-page .errors:not(:empty) {
  margin: 0 0 var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid color-mix(in oklch, var(--destructive) 35%, transparent);
  border-radius: var(--radius-lg);
  background: color-mix(in oklch, var(--destructive) 8%, var(--card));
}

.login-page .errors.success {
  color: var(--success) !important;
}

.login-page .errors.success:not(:empty) {
  border-color: color-mix(in oklch, var(--success) 35%, transparent);
  background: color-mix(in oklch, var(--success) 8%, var(--card));
}

.login-page .errors .alert {
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
}

/* "Esqueceu a senha?" */
.login-page .forgot_password {
  margin: calc(var(--space-1) * -1) 0 0;
  text-align: end;
}

.login-page .forgot_password a {
  color: var(--muted-foreground);
  font-size: var(--text-sm);
}

.login-page .forgot_password a:hover {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.login-page .login_signup_combo {
  margin: var(--space-5) 0 var(--space-4);
}

.login-page .login_signup_combo .btn {
  width: 100%;
  min-height: 40px;
  line-height: 1;
  font-size: var(--text-base);
  font-weight: 500;
  letter-spacing: 0;
}

.login-page .login_signup_combo .btn:hover {
  box-shadow: none;
}

.login-page .login_signup_combo .signup__:empty {
  display: none;
}

/* Lembrar dispositivo: checkbox simples */
.login-page .pt_vdo_cstm_radio {
  margin: 0 0 var(--space-2);
}

.login-page .pt_vdo_cstm_radio label {
  display: inline-flex !important;
  align-items: center;
  min-height: 20px;
  padding: 0 0 0 26px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-sm) !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

[dir="rtl"] .login-page .pt_vdo_cstm_radio label {
  padding: 0 26px 0 0 !important;
}

.login-page .pt_vdo_cstm_radio label:before,
.login-page .pt_vdo_cstm_radio label:after {
  top: 2px !important;
  left: 0 !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: var(--radius-sm) !important;
}

[dir="rtl"] .login-page .pt_vdo_cstm_radio label:before,
[dir="rtl"] .login-page .pt_vdo_cstm_radio label:after {
  right: 0 !important;
  left: auto !important;
}

.login-page .pt_vdo_cstm_radio label:before {
  border: 1px solid var(--input) !important;
  background: var(--background) !important;
  box-shadow: var(--shadow-xs);
}

.login-page .pt_vdo_cstm_radio label:after {
  background: transparent !important;
}

.login-page .pt_vdo_cstm_radio input:checked + label:before {
  border-color: var(--primary) !important;
  background: var(--primary) !important;
}

.login-page .pt_vdo_cstm_radio input:checked + label:after {
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

html.dark .login-page .pt_vdo_cstm_radio input:checked + label:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") !important;
}

.login-page .pt_vdo_cstm_radio input:focus-visible + label:before {
  box-shadow: var(--focus-ring);
}

/* Termos (cadastro) */
.login_page .terms label {
  display: block;
  position: relative;
  margin: 0;
  padding-inline-start: 24px;
  color: var(--muted-foreground);
  font-size: var(--text-xs);
  font-weight: 400;
  line-height: var(--leading-normal);
  cursor: pointer;
}

.login_page .terms label input {
  position: absolute;
  top: 1px;
  inset-inline-start: 0;
  float: none;
  width: 16px;
  height: 16px;
  margin: 0;
}

.login-page .pp_mat_input input:focus + label,
.login-page .pp_mat_input textarea:focus + label,
:is(.user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input :is(input, textarea):focus + label {
  color: var(--foreground) !important;
}

.login_page .terms label a {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.login-page .recaptcha:not(:empty) {
  display: flex;
  justify-content: center;
  margin: 0 0 var(--space-4);
}

/* Separador e rodapé do card */
.login-page hr {
  margin: var(--space-6) 0 var(--space-5);
  border-color: var(--border);
}

.login-page .signup__ {
  color: var(--muted-foreground);
  font-size: var(--text-sm);
  text-align: center;
}

.login-page .signup__ a {
  padding: 0 var(--space-1);
  color: var(--foreground);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Login social: botões outline */
.login-page .login-icons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  padding: 0 !important;
}

.login-page .login-icons > div {
  display: block;
  margin: 0;
  text-align: start;
}

.login-page .login-icons > div:last-child:nth-child(even) {
  grid-column: 1 / -1;
}

.pt-auth-divider {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  grid-column: 1 / -1;
  margin: var(--space-2) 0;
  color: var(--muted-foreground);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.pt-auth-divider::before,
.pt-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border);
}

.login-page .login-icons a.pt-auth-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--input);
  border-radius: var(--radius-md);
  background: var(--background);
  color: var(--foreground);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  box-shadow: var(--shadow-xs);
  transition: background-color var(--duration) var(--ease);
}

.login-page .login-icons a.pt-auth-social:hover {
  background: var(--accent);
}

.login-page .login-icons a.pt-auth-social:focus-visible {
  box-shadow: var(--focus-ring);
}

.login-page .login-icons a.pt-auth-social svg,
.login-page .login-icons a.pt-auth-social img {
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
  padding: 0;
  border-radius: 0;
  background: none !important;
  color: currentColor;
  fill: currentColor;
}

.login-page #buttonDiv:not(:empty) {
  display: flex;
  justify-content: center;
  margin-top: var(--space-2);
}

.login-page .clear:empty {
  display: block;
}

/* Modal de login/cadastro */
.pt_auth_box .modal-dialog {
  width: auto;
  max-width: 400px;
  margin: var(--space-8) auto;
}

.pt_auth_box .login_page {
  min-height: 0;
  padding: 0;
}

.pt_auth_box .login_page::before,
.pt_auth_box .login_page::after {
  display: none;
}

.pt_auth_box .login-page {
  box-shadow: var(--shadow-lg);
}

@media (max-width: 480px) {
  .login_page {
    padding: var(--space-4) 0;
  }

  .login_page .login-page,
  .login-page {
    padding: var(--space-4) 0 !important;
    border: 0;
    background: transparent;
  }

  .pt_auth_box .login-page {
    padding: var(--space-6) var(--space-5) !important;
    border: 1px solid var(--border);
    background: var(--card);
  }

  .pt_auth_box .modal-dialog {
    margin: var(--space-4);
  }
}

/* ======================================================================
   3. Navegação lateral (settings-sidebar) — configurações, painel,
   estúdio, comentários, analytics, transações, anúncios
   ====================================================================== */

.settings-sidebar ul.list-group {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.settings-sidebar ul.list-group > li.list-group-item {
  margin: 0 0 2px;
  padding: 0;
  border: 0 !important;
  border-radius: var(--radius-md);
  background: transparent !important;
  box-shadow: none !important;
  font-size: var(--text-base);
}

.settings-sidebar ul.list-group > li.list-group-item > a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 36px;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  color: var(--muted-foreground);
  font-weight: 500;
  line-height: var(--leading-tight);
  text-decoration: none;
  box-shadow: none !important;
  transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease);
}

.settings-sidebar ul.list-group > li.list-group-item > a:hover,
.settings-sidebar ul.list-group > li.list-group-item > a:focus-visible {
  background: var(--accent);
  color: var(--accent-foreground);
}

.settings-sidebar ul.list-group > li.list-group-item.active > a {
  background: var(--accent) !important;
  color: var(--foreground) !important;
  font-weight: 600;
  box-shadow: none !important;
  border-radius: var(--radius-md) !important;
}

.settings-sidebar ul.list-group > li.list-group-item > a svg {
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  color: currentColor;
}

.settings-sidebar ul.list-group > li.list-group-item.active > a svg {
  color: var(--foreground);
}

@media (min-width: 768px) {
  .settings-sidebar {
    position: sticky;
    top: calc(var(--header-h) + var(--space-4));
  }
}

@media (max-width: 767px) {
  .settings-sidebar ul.list-group {
    display: flex;
    gap: var(--space-1);
    width: auto !important;
    margin: 0 0 var(--space-5) !important;
    padding: 0 0 var(--space-2) !important;
    overflow-x: auto;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .settings-sidebar ul.list-group::-webkit-scrollbar {
    display: none;
  }

  .settings-sidebar ul.list-group > li.list-group-item {
    display: block;
    flex-shrink: 0;
    margin: 0;
  }

  .settings-sidebar ul.list-group > li.list-group-item > a {
    gap: var(--space-2);
    min-height: 32px;
    padding: var(--space-1) var(--space-3);
    font-size: var(--text-sm);
  }

  .settings-sidebar ul.list-group > li.list-group-item.active > a {
    border-radius: var(--radius-md) !important;
  }
}

/* Layout da página de configurações: barra estreita + painel */
@media (min-width: 992px) {
  .sett_row_rev {
    display: flex;
    align-items: flex-start;
  }

  .sett_row_rev::before,
  .sett_row_rev::after {
    display: none;
  }

  .sett_row_rev > .col-sm-4 {
    flex: 0 0 248px;
    width: 248px;
  }

  .sett_row_rev > .col-sm-8 {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  /* Páginas que reaproveitam a linha (afiliados, desenvolvedores):
     título ocupa a largura toda, conteúdo quebra para baixo */
  .sett_row_rev:has(> .mat_header) {
    flex-wrap: wrap;
  }

  .sett_row_rev > .mat_header {
    flex: 0 0 100%;
    width: 100%;
    padding: 0 15px !important;
  }

  .sett_row_rev > .content {
    flex: 1 1 100%;
    margin: 0 15px;
  }
}

/* ======================================================================
   4. Painel de configurações
   ====================================================================== */

.user-setting-panel {
  margin-bottom: var(--space-8);
  padding: var(--space-6) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--card) !important;
  box-shadow: none !important;
}

.user-setting-panel.form-horizontal .form-group {
  margin-right: 0;
  margin-left: 0;
}

.user-setting-panel > .row {
  margin-right: calc(var(--space-3) * -1);
  margin-left: calc(var(--space-3) * -1);
}

.yp_sett_header {
  margin: 0 0 var(--space-6);
  padding: 0 0 var(--space-4);
  border-bottom: 1px solid var(--border);
}

.yp_sett_header h4 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--foreground) !important;
  font-size: var(--text-2xl);
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.yp_sett_header h4 svg {
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--muted-foreground);
}

.yp_sett_header p {
  margin: var(--space-1) 0 0;
  color: var(--muted-foreground);
  font-size: var(--text-base);
}

.user-setting-panel.pt_forms .form-group {
  margin-bottom: var(--space-5);
  padding-right: var(--space-3);
  padding-left: var(--space-3);
}

.user-setting-panel .form-group > label,
.user-setting-panel.pt_forms .form-group label.col-md-12 {
  display: block;
  margin: 0 0 var(--space-2);
  padding: 0;
  color: var(--foreground);
  font-size: var(--text-sm);
  font-weight: 500;
}

.user-setting-panel .form-group > [class*="col-"] {
  padding: 0;
}

.user-setting-panel input[type="text"],
.user-setting-panel input[type="password"],
.user-setting-panel input[type="email"],
.user-setting-panel input[type="number"],
.user-setting-panel input[type="url"],
.user-setting-panel select,
.user-setting-panel.pt_forms .form-group input[type="text"],
.user-setting-panel.pt_forms .form-group input[type="password"],
.user-setting-panel.pt_forms .form-group input[type="email"],
.user-setting-panel.pt_forms .form-group input[type="number"],
.user-setting-panel.pt_forms .form-group select {
  height: 40px !important;
  padding: 0 var(--space-3);
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background-color: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
  box-shadow: var(--shadow-xs) !important;
}

.user-setting-panel select,
.user-setting-panel.pt_forms .form-group select {
  padding-inline-end: var(--space-8);
}

.user-setting-panel textarea,
.user-setting-panel.pt_forms .form-group textarea {
  height: auto !important;
  min-height: 96px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
  box-shadow: var(--shadow-xs) !important;
  resize: vertical;
}

.user-setting-panel input:focus,
.user-setting-panel select:focus,
.user-setting-panel textarea:focus {
  border-color: var(--ring) !important;
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--ring) 25%, transparent) !important;
}

.user-setting-panel input[readonly],
.user-setting-panel input[disabled] {
  background-color: var(--muted) !important;
  color: var(--muted-foreground) !important;
}

.user-setting-panel .help-block,
.user-setting-panel.pt_forms .form-group .help-block {
  margin: var(--space-2) 0 0;
  color: var(--muted-foreground) !important;
  font-size: var(--text-xs);
  opacity: 1;
}

.user-setting-panel small,
.user-setting-panel .unverify_color {
  display: block;
  margin-top: var(--space-1);
  color: var(--warning);
  font-size: var(--text-xs);
}

.user-setting-panel hr {
  width: auto;
  margin: var(--space-2) var(--space-3) var(--space-6);
  border-color: var(--border);
}

.user-setting-panel > br,
.pt_forms_large_btns .user-setting-panel > br {
  display: none;
}

/* Barra de salvar: alinhada ao fim, separada por borda */
.user-setting-panel .pt-sett-actions,
.user-setting-panel .last-sett-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
  width: 100%;
  margin: var(--space-2) 0 0 !important;
  padding: var(--space-5) 0 0 !important;
  border-top: 1px solid var(--border);
  background: transparent !important;
  float: none;
}

.user-setting-panel > .row > hr:last-child,
.user-setting-panel hr:has(+ .pt-sett-actions),
.user-setting-panel hr:has(+ input[type="hidden"] + input[type="hidden"] + .pt-sett-actions) {
  display: none;
}

.user-setting-panel .setting-panel-mdbtn,
.pt_forms_large_btns .user-setting-panel .setting-panel-mdbtn {
  height: auto !important;
  min-height: 36px;
  margin: 0 !important;
  padding: 0 var(--space-4) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.user-setting-panel .setting-panel-mdbtn svg {
  display: none;
}

.setting-general-alert:empty,
.setting-password-alert:empty,
[class^="setting-"][class$="-alert"]:empty {
  display: none;
}

.user-setting-panel [class*="-alert"] .alert {
  margin-bottom: var(--space-5);
}

/* Switches e linhas de privacidade */
.user-setting-panel .tgl-btn {
  flex-shrink: 0;
}

/* Avatar e capa */
.pt-avatar-setting {
  display: grid;
  gap: var(--space-6);
}

.user-setting-panel .avatar-holder,
.user-setting-panel .cover-holder {
  position: relative;
}

.pt-sett-media {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--muted);
}

.pt-sett-media img {
  display: block;
  width: 100%;
  object-fit: cover;
}

/* Lista de sessões / bloqueados */
.user-setting-panel .as_list,
.user-setting-panel .blocked_users_list {
  border-color: var(--border) !important;
}

@media (max-width: 767px) {
  .user-setting-panel {
    padding: var(--space-5) var(--space-4) !important;
  }

  .user-setting-panel .pt-sett-actions .btn,
  .user-setting-panel .last-sett-btn .btn {
    flex: 1;
  }

  .yp_sett_header h4 {
    font-size: var(--text-xl);
  }
}

/* ======================================================================
   5. Envio de vídeo (wizard)
   ====================================================================== */

.pt_upload_vdo {
  padding: var(--space-2);
}

/* Stepper */
.pt_upload_vdo_step {
  max-width: 760px;
  padding: var(--space-10) var(--space-8) var(--space-8);
}

.pt_upload_vdo_step .line {
  height: 2px;
  margin-bottom: var(--space-2);
  border-radius: var(--radius-full);
  background: var(--border) !important;
}

.pt_upload_vdo_step .line .line_sec {
  height: 2px;
  border-radius: var(--radius-full);
  background: var(--brand);
}

.pt_upload_vdo_step .line .dot span {
  width: 12px;
  height: 12px;
  border: 2px solid var(--border);
  background: var(--card);
  box-shadow: 0 0 0 4px var(--card);
}

.pt_upload_vdo_step .line .dot p {
  top: -30px;
  color: var(--muted-foreground);
  font-size: var(--text-sm);
  font-weight: 500;
}

.pt_upload_vdo_step.step-one-active .dot.one span,
.pt_upload_vdo_step.step-two-active .dot:is(.one, .two) span,
.pt_upload_vdo_step.step-three-active .dot:is(.one, .two, .three) span,
.pt_upload_vdo_step.step-four-active .dot span {
  border-color: var(--brand) !important;
  background: var(--brand) !important;
  box-shadow: 0 0 0 4px var(--card) !important;
}

.pt_upload_vdo_step.step-one-active .dot.one p,
.pt_upload_vdo_step.step-two-active .dot:is(.one, .two) p,
.pt_upload_vdo_step.step-three-active .dot:is(.one, .two, .three) p,
.pt_upload_vdo_step.step-four-active .dot p {
  color: var(--foreground) !important;
  font-weight: 600;
}

/* Dropzone */
.pt_upload_vdo .upload,
.pt_upload_vdo .pt_upvid_one > .upload {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  max-width: 760px;
  min-height: 320px;
  margin: 0 auto var(--space-4) !important;
  padding: var(--space-10) var(--space-6) !important;
  border: 1.5px dashed var(--input) !important;
  border-radius: var(--radius-xl);
  background: color-mix(in oklch, var(--muted) 50%, transparent);
  color: var(--muted-foreground);
  text-align: center;
  transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);
}

.pt_upload_vdo .upload:hover,
.pt_upload_vdo .upload.hover {
  border-color: var(--brand) !important;
  background: var(--brand-subtle);
}

.pt_upload_vdo .upload > .content {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: var(--card) !important;
  color: var(--foreground);
  box-shadow: none;
}

.pt_upload_vdo .upload > .content svg {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

.pt_upload_vdo .pt_upvid_one > div.upload h4 {
  margin: 0 0 var(--space-1);
  color: var(--foreground);
  font-size: var(--text-xl);
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.pt_upload_vdo .pt_upvid_one > div.upload p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: var(--text-base);
}

.pt_upload_vdo .upload .btn_upld_vid_next {
  margin-top: var(--space-5) !important;
}

/* Barra de progresso */
.pt_upload_vdo .progress {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  max-width: 760px;
  height: auto;
  margin: 0 auto var(--space-5);
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  overflow: visible;
}

.pt_upload_vdo .progress.hidden {
  display: none;
}

.pt_upload_vdo .progress .percent {
  order: 2;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  color: var(--muted-foreground) !important;
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.pt_upload_vdo .progress .clear {
  display: none;
}

.progress_bar_parent {
  flex: 1;
  width: auto;
  height: 8px;
  overflow: hidden;
  border-radius: var(--radius-full);
  background: var(--muted);
}

.progress_bar_parent .bar,
.progress_bar_parent .bar:not(.upload-progress-bar),
.upload-progress-bar {
  height: 100%;
  border-radius: var(--radius-full);
  background: var(--brand) !important;
}

.upload-s3-progressing {
  background: var(--brand-subtle) !important;
  color: var(--brand-text);
}

.pt_prcs_vdo {
  order: 3;
  flex-basis: 100%;
  color: var(--muted-foreground) !important;
  font-size: var(--text-sm);
}

.pt_prcs_vdo:empty {
  display: none;
}

.pt_upload_vdo .alert {
  max-width: 760px;
  margin: 0 auto var(--space-4);
}

.pt_upload_vdo .upload_msg h4 {
  margin: 0 0 var(--space-1);
  font-size: var(--text-base);
  font-weight: 600;
}

.pt_upload_vdo .upload_msg p {
  margin: 0;
  font-size: var(--text-sm);
}

/* Etapa 2: prévia e miniaturas */
.pt_upload_vdo_row {
  margin: 0;
}

.pt_upload_vdo_preview {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg) !important;
  background: var(--card) !important;
}

.pt_upload_vdo_thumb {
  margin: 0 !important;
}

.pt_upload_vdo_thumb > div {
  border-radius: 0 !important;
  background: var(--muted) !important;
  color: var(--muted-foreground);
}

.pt_upload_vdo_thumb svg {
  width: 32px !important;
  height: 32px !important;
  filter: none !important;
}

.pt_upload_vdo_preview p {
  margin: 0 !important;
  padding: var(--space-3) var(--space-4) 0;
  color: var(--muted-foreground);
  font-size: var(--text-xs) !important;
}

.pt_upload_vdo_preview .file_name {
  padding: var(--space-1) var(--space-4) var(--space-3);
  color: var(--foreground);
  font-size: var(--text-base) !important;
  font-weight: 500;
}

.pt_upload_vdo_preview .file_name:empty::after {
  content: "—";
  color: var(--muted-foreground);
}

.pt_vdo_upld_dn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin: var(--space-3) 0 var(--space-5) !important;
  color: var(--muted-foreground);
  font-size: var(--text-sm) !important;
  opacity: 1 !important;
}

.pt_vdo_upld_dn svg {
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  color: var(--success);
}

.pt_uv_thumbs {
  margin: 0 0 var(--space-6);
}

.pt_uv_thumbs h5 {
  margin: 0 0 var(--space-1);
  color: var(--foreground);
  font-size: var(--text-sm);
  font-weight: 500;
}

.pt_uv_thumbs p {
  margin: 0 0 var(--space-3);
  color: var(--muted-foreground);
  font-size: var(--text-xs) !important;
  line-height: var(--leading-normal);
}

.pt_uv_thumbs_innr {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--space-2);
  margin: 0 !important;
  padding: 2px;
  overflow: visible !important;
  white-space: normal !important;
}

.pt_uv_thumbs_innr #vidimage-holder,
.pt_uv_thumbs_innr .vidimage-holder {
  display: contents !important;
}

.pt_uv_thumbs_innr .upload-product-image {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  border: 1px dashed var(--input) !important;
  border-radius: var(--radius-md) !important;
  color: var(--muted-foreground);
  cursor: pointer;
  transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);
}

.pt_uv_thumbs_innr .upload-product-image:hover {
  border-color: var(--ring) !important;
  background: var(--accent);
}

.pt_uv_thumbs_innr .upload-product-image .upload-image-content {
  display: block !important;
  color: var(--muted-foreground) !important;
  font-size: var(--text-xs) !important;
  font-weight: 500;
}

.pt_uv_thumbs_innr .upload-product-image .upload-image-content:hover {
  background: transparent !important;
}

.pt_uv_thumbs_innr .upload-product-image svg {
  width: 20px !important;
  height: 20px !important;
  margin: 0 0 var(--space-1) !important;
}

.pt_uv_thumbs_innr .thumb-image,
.pt_uv_thumbs_innr img {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-md) !important;
  outline: 1px solid var(--border);
  outline-offset: 0;
  cursor: pointer;
  transition: outline-color var(--duration) var(--ease), opacity var(--duration) var(--ease);
}

.pt_uv_thumbs_innr .thumb-image:hover,
.pt_uv_thumbs_innr img:hover {
  opacity: .85;
}

.pt_uv_thumbs_innr .thumb-image.is-selected,
.pt_uv_thumbs_innr img.is-selected,
.pt_uv_thumbs_innr img.active {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
  opacity: 1;
}

/* Etapa 3: tipo de envio */
.pt_upload_vdo_type {
  margin: 0 0 var(--space-3);
  color: var(--foreground);
  font-size: var(--text-lg) !important;
  font-weight: 600;
  text-align: start !important;
}

.pt_upload_vdo_type_radio {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
  margin: 0 0 var(--space-6) !important;
  padding: 0 !important;
  text-align: start !important;
}

.pt_upload_vdo_type_radio label {
  margin: 0 !important;
  font-weight: 400;
}

.pt_upload_vdo_type_radio_innr,
.pt_upload_vdo_type_radio_innr.vdo,
.pt_upload_vdo_type_radio_innr.stock {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--space-3);
  align-items: center;
  height: 100%;
  padding: var(--space-4) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg) !important;
  background: var(--card) !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
  box-shadow: none !important;
  transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);
}

.pt_upload_vdo_type_radio_innr::before {
  display: none !important;
}

.pt_upload_vdo_type_radio_innr:hover {
  background: var(--accent) !important;
}

.pt_upload_vdo_type_radio label > input:checked ~ .pt_upload_vdo_type_radio_innr {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary) !important;
}

.pt_upload_vdo_type_radio label > input:focus-visible ~ .pt_upload_vdo_type_radio_innr {
  box-shadow: var(--focus-ring) !important;
}

.pt_upload_vdo_type_radio_innr svg {
  grid-row: span 2;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-md) !important;
  background: var(--muted) !important;
  color: var(--foreground) !important;
}

.pt_upload_vdo_type_radio_innr b {
  font-size: var(--text-base) !important;
  font-weight: 600;
}

.pt_upload_vdo_type_radio_innr p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

/* Navegação entre etapas */
.pt_upload_vdo .btn_upld_vid_next + .btn_upld_vid_next,
.pt_upload_vdo .btn.btn_upld_vid_next {
  margin-top: var(--space-2) !important;
  margin-inline-end: var(--space-2);
}

.pt_upload_vdo #upload-form .row > [class*="col-"] > .btn_upld_vid_next:first-of-type {
  margin-top: var(--space-2) !important;
}

@media (max-width: 767px) {
  .pt_upload_vdo {
    padding: 0;
  }

  .pt_upload_vdo_step {
    padding: var(--space-8) var(--space-6) var(--space-6);
  }

  .pt_upload_vdo_step .line .dot p {
    top: auto;
    bottom: -24px;
    max-width: none;
    overflow: visible;
    font-size: var(--text-2xs);
    white-space: nowrap;
  }

  /* Só o rótulo da etapa atual (as classes step-*-active se acumulam) */
  .pt_upload_vdo_step .line .dot p {
    display: none;
  }

  .pt_upload_vdo_step.step-one-active:not(.step-two-active) .dot.one p,
  .pt_upload_vdo_step.step-two-active:not(.step-three-active) .dot.two p,
  .pt_upload_vdo_step.step-three-active:not(.step-four-active) .dot.three p,
  .pt_upload_vdo_step.step-four-active .dot.four p {
    display: block;
  }

  .pt_upload_vdo_step .line .dot.one p {
    left: 0;
    transform: none;
  }

  .pt_upload_vdo_step .line .dot.four p {
    right: 0;
    left: auto;
    transform: none;
  }

  .pt_upload_vdo_step {
    padding-bottom: var(--space-10);
  }

  .pt_upload_vdo .upload,
  .pt_upload_vdo .pt_upvid_one > .upload {
    min-height: 260px;
    padding: var(--space-8) var(--space-4) !important;
  }

  .pt_upload_vdo .pt_upvid_one > div.upload h4 {
    font-size: var(--text-lg);
  }

  .pt_upload_vdo_row > [class*="col-"] {
    padding: 0;
  }

  .pt_upload_vdo .btn.btn_upld_vid_next {
    width: 100%;
    margin-inline-end: 0;
  }
}

/* ======================================================================
   6. Editar vídeo / Importar vídeo / Cards de vídeo / Post
   ====================================================================== */

.content.pt_forms_large_btns,
.pt_import_vdo > .content,
.import-form-content > .content,
.ds-form-card {
  padding: var(--space-6) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--card) !important;
  box-shadow: none !important;
}

.content.pt_forms_large_btns::after,
.ds-form-card::after {
  content: "";
  display: table;
  clear: both;
}

.upload-head .edit-video-title,
.edit-video-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--foreground);
  font-size: var(--text-2xl) !important;
  font-weight: 600 !important;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight) !important;
}

.edit-video-title svg {
  width: 20px;
  height: 20px;
  color: var(--muted-foreground);
}

.upload-head hr {
  margin: var(--space-4) 0 var(--space-6);
  border-color: var(--border) !important;
}

.pt_edt_vdo_form {
  margin-top: 0;
}

#video-success:empty,
.content.pt_forms_large_btns > .errors:empty {
  display: none;
}

/* Rodapé de ações do editar vídeo */
.pt_edt_vdo_form .last-sett-btn,
.pt_edt_vdo_form > div:has(> .setting-panel-mdbtn) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
  margin: var(--space-6) 0 0 !important;
  padding: var(--space-4) 0 0 !important;
  border-top: 1px solid var(--border);
  background: transparent !important;
  text-align: end;
}

.pt_forms_large_btns .pt_forms .setting-panel-mdbtn {
  margin: 0 !important;
}

.pt_forms_large_btns .pt_forms .setting-panel-mdbtn.btn-danger {
  border: 1px solid color-mix(in oklch, var(--destructive) 40%, transparent) !important;
  background: transparent !important;
  color: var(--destructive) !important;
}

.pt_forms_large_btns .pt_forms .setting-panel-mdbtn.btn-danger:hover {
  background: color-mix(in oklch, var(--destructive) 10%, transparent) !important;
}

/* Prévia lateral (thumbnail atual) */
.thumbnail-preview img,
.pt_forms_large_btns .col-md-4 img {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Importar vídeo */
.pt_import_vdo #fetch-form {
  max-width: 720px;
  margin: var(--space-8) auto;
  padding: 0 !important;
}

.pt_import_vdo .imp_hdr_ico {
  flex-direction: column;
  gap: var(--space-4);
  margin: 0 0 var(--space-8);
  text-align: center;
}

.pt_import_vdo .imp_hdr_ico svg {
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: var(--muted);
  color: var(--foreground);
  opacity: 1 !important;
  transform: none !important;
}

.pt_import_vdo .imp_hdr_ico h2 {
  margin: 0 0 var(--space-1);
  color: var(--foreground);
  font-size: var(--text-3xl) !important;
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
}

.pt_import_vdo .imp_hdr_ico p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: var(--text-base) !important;
  opacity: 1 !important;
}

.pt_import_vdo #fetch-form .row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
}

.pt_import_vdo #fetch-form .row::before,
.pt_import_vdo #fetch-form .row::after {
  display: none;
}

.pt_import_vdo .import_iicons {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  margin: calc(var(--space-4) * -1) 0 var(--space-8);
}

.pt_import_vdo .col-md-9 {
  position: relative;
  flex: 1;
  width: auto !important;
  padding: 0 !important;
}

.pt_import_vdo .col-md-3 {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.pt_import_vdo .col-md-9 svg.feather,
.pt_import_vdo .col-md-9 > svg {
  top: 20px !important;
  left: 12px !important;
  width: 16px !important;
  height: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--muted-foreground) !important;
  transform: translateY(-50%);
}

[dir="rtl"] .pt_import_vdo .col-md-9 svg.feather {
  right: 12px !important;
  left: auto !important;
}

.pt_import_vdo .col-md-9 input {
  height: 40px !important;
  padding-inline: 36px var(--space-3) !important;
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
}

.pt_import_vdo .col-md-9 .help-block {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: var(--text-xs);
}

.pt_import_vdo .col-md-3 button {
  width: auto !important;
  height: 40px !important;
  min-height: 40px;
  padding: 0 var(--space-5) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base) !important;
}

.pt_import_vdo {
  padding: 0;
}

.import-form-content {
  border-top: 0 !important;
}

@media (max-width: 767px) {
  .content.pt_forms_large_btns,
  .pt_import_vdo > .content,
  .import-form-content > .content,
  .ds-form-card {
    padding: var(--space-5) var(--space-4) !important;
  }

  .pt_import_vdo #fetch-form .row {
    flex-direction: column;
    align-items: stretch;
  }

  .pt_import_vdo .col-md-3 button {
    width: 100% !important;
  }

  .pt_import_vdo .imp_hdr_ico h2 {
    font-size: var(--text-2xl) !important;
  }

  .content.pt_forms_large_btns > [class*="col-"] {
    padding: 0;
  }

  .pt_edt_vdo_form .last-sett-btn .btn,
  .pt_edt_vdo_form > div:has(> .setting-panel-mdbtn) .btn {
    flex: 1;
  }
}

/* ======================================================================
   7. Avatar e capa (configurações)
   ====================================================================== */

.user-setting-panel .wow_cset_cover .wow_cset_cover_hdr .btn-file {
  align-items: center;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 1;
  min-height: 140px;
  padding: 0;
  border: 1px dashed var(--input) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--muted) !important;
  color: var(--muted-foreground);
  transition: border-color var(--duration) var(--ease);
}

.user-setting-panel .wow_cset_cover .wow_cset_cover_hdr .btn-file:hover,
.user-setting-panel .wow_cset_avtr .wow_cset_avtr_hdr .btn-file:hover {
  border-color: var(--ring) !important;
  color: var(--foreground);
}

.user-setting-panel .wow_cset_cover .wow_cset_cover_hdr .btn-file:has(img) {
  border-style: solid !important;
  border-color: var(--border) !important;
}

.user-setting-panel :is(.wow_cset_cover_hdr, .wow_cset_avtr_hdr) .btn-file svg {
  width: 24px !important;
  height: 24px !important;
}

.user-setting-panel .wow_cset_avtr .wow_cset_avtr_hdr {
  align-items: center;
  gap: var(--space-4);
}

.user-setting-panel .wow_cset_avtr .wow_cset_avtr_hdr .btn-file {
  align-items: center;
  flex-shrink: 0;
  width: 96px !important;
  height: 96px !important;
  min-height: 0;
  margin: -32px 0 0 var(--space-5) !important;
  padding: 0;
  border: 4px solid var(--card) !important;
  border-radius: var(--radius-full) !important;
  background: var(--muted) !important;
  color: var(--muted-foreground);
  box-shadow: 0 0 0 1px var(--border) !important;
}

[dir="rtl"] .user-setting-panel .wow_cset_avtr .wow_cset_avtr_hdr .btn-file {
  margin: -32px var(--space-5) 0 0 !important;
}

.user-setting-panel .wow_cset_avtr .wow_cset_avtr_hdr b {
  margin: 0 !important;
  color: var(--foreground);
  font-size: var(--text-lg) !important;
  font-weight: 600;
}

.user-setting-panel .wow_cset_cover .avatar-read p {
  border-radius: var(--radius-md) !important;
  background: var(--media-overlay) !important;
  font-size: var(--text-sm);
}

.user-setting-panel .row.pt_upload_vdo {
  padding: 0 var(--space-3);
}

/* Separadores: espaço em vez de linhas duplicadas */
.user-setting-panel hr {
  display: none;
}

.user-setting-panel .pt-sett-actions,
.user-setting-panel .last-sett-btn {
  border-top: 1px solid var(--border) !important;
}

/* bootstrap-select fora do pp_mat_input (perfil, monetização...) */
body .user-setting-panel .bootstrap-select > .dropdown-toggle {
  height: 40px !important;
  padding: 0 var(--space-3) !important;
  border: 1px solid var(--input) !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  color: var(--foreground) !important;
  font-size: var(--text-base) !important;
  font-weight: 400 !important;
  box-shadow: var(--shadow-xs) !important;
}

body .user-setting-panel .bootstrap-select > .dropdown-toggle.bs-placeholder {
  color: var(--muted-foreground) !important;
}

/* Campo inválido marcado pelo JS do envio */
.border_class {
  border-color: var(--destructive) !important;
}

/* Ajustes do wizard */
.pt_upload_vdo button.btn_upld_vid_next.btn-default,
.pt_upload_vdo button.btn_upld_vid_next.btn-default:hover,
.pt_upload_vdo button.btn_upld_vid_next.btn-default:focus,
.pt_upload_vdo button.btn_upld_vid_next.btn-default:active {
  border: 1px solid var(--input) !important;
  background: var(--background) !important;
  color: var(--foreground) !important;
  box-shadow: var(--shadow-xs) !important;
}

.pt_upload_vdo button.btn_upld_vid_next.btn-default:hover {
  background: var(--accent) !important;
}

.pt_upload_vdo button.btn_upld_vid_next {
  height: auto;
  min-height: 40px;
  padding: 0 var(--space-5);
  border-radius: var(--radius-md) !important;
  font-size: var(--text-base);
  font-weight: 500;
  text-transform: none;
}

.progress_bar_parent {
  background: color-mix(in oklch, var(--foreground) 10%, transparent);
}

.pt_vdo_upld_dn {
  justify-content: flex-start;
  align-items: flex-start;
  text-align: start;
}

.pt_vdo_upld_dn svg {
  margin-top: 2px !important;
}

:is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel) .pt_vdo_cstm_radio input:checked + label {
  box-shadow: none;
}

body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel, .pt_forms) ul.tagit li.tagit-new input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body :is(.pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form, .user-setting-panel, .pt_forms) ul.tagit li.tagit-new input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus {
  height: 30px !important;
  padding: 0 var(--space-1) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pt_forms_large_btns .pt_forms .setting-panel-mdbtn.btn-delete {
  border: 1px solid color-mix(in oklch, var(--destructive) 40%, transparent) !important;
  background: transparent !important;
  color: var(--destructive) !important;
}

.pt_forms_large_btns .pt_forms .setting-panel-mdbtn.btn-delete:hover {
  background: color-mix(in oklch, var(--destructive) 10%, transparent) !important;
}

.pt_edt_vdo_form .pp_mat_input > .bootstrap-select,
.pt_edt_vdo_form .pp_mat_input > label + .bootstrap-select {
  margin-top: 0 !important;
}

:is(.login-page, .user-setting-panel, .pt_upload_vdo, .pt_edt_vdo_form, .pt_import_vdo, .ds-form) .pp_mat_input > br {
  display: none;
}

/* Criar / editar publicação */
.ds-form .pt-sett-actions,
.ds-form .last-sett-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
  margin: var(--space-4) 0 0 !important;
  padding: var(--space-5) 0 0 !important;
  border-top: 1px solid var(--border) !important;
  background: transparent !important;
}

.ds-edit-post-form {
  margin-top: var(--space-4);
}

.ds-edit-post-form > br {
  display: none;
}

.ds-thumb-scroller {
  width: calc(100% - 112px);
  overflow-x: auto;
}

.create-post-form .upload-product-image,
.ds-form .upload-product-image {
  border: 1px dashed var(--input) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--muted) !important;
  color: var(--muted-foreground);
}

.create-post-form .upload-product-image:hover,
.ds-form .upload-product-image:hover {
  border-color: var(--ring) !important;
}

.ds-form .upload-product-image svg {
  width: 24px !important;
  height: 24px !important;
  color: var(--muted-foreground);
}

.ds-form .thumb-image {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

.create-post-form .pt_page_headr {
  margin-bottom: var(--space-6);
}

/* Ícones em alertas gerados por JS */
:is(.user-setting-panel, .pt_forms_large_btns, .ds-form) .alert svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-inline-end: var(--space-2);
  vertical-align: -3px;
}

.video_card .action svg,
td .action.pointer svg {
  width: 16px;
  height: 16px;
  color: var(--muted-foreground);
}

td .action.pointer:hover svg {
  color: var(--destructive);
}

/* Vencer cores do night-mode legado */
.login-page .login_signup_combo .btn-main {
  background-color: var(--primary) !important;
  color: var(--primary-foreground) !important;
}

.login-page .login_signup_combo .btn-main:hover {
  background-color: color-mix(in oklch, var(--primary) 88%, var(--background)) !important;
}

.login-page .pt-auth-subtitle,
.login-page .forgot_password a,
.login-page .signup__,
.login_page .terms label {
  color: var(--muted-foreground) !important;
}

.login-page .forgot_password a:hover {
  color: var(--foreground) !important;
}

.settings-sidebar ul.list-group > li.list-group-item > a {
  color: var(--muted-foreground) !important;
}

.settings-sidebar ul.list-group > li.list-group-item > a:hover,
.settings-sidebar ul.list-group > li.list-group-item > a:focus-visible,
.settings-sidebar ul.list-group > li.list-group-item.active > a {
  color: var(--foreground) !important;
}

@media (max-width: 480px) {
  .login_page {
    padding-inline: var(--space-4);
  }

  .pt_auth_box .login_page {
    padding-inline: 0;
  }
}

/* Ícones da página de afiliados: neutros em vez de 4 cores fixas */
.ds-affil-icon {
  display: inline-flex;
  color: var(--muted-foreground);
}

/* Mensagem de erro de campo (2FA) */
.ds-field-error {
  margin-top: var(--space-2);
  color: var(--destructive);
  font-size: var(--text-sm);
}

.ds-field-error:empty {
  display: none;
}

/* Banners de Pontos e Monetização: cartão neutro (antes amarelo e verde fixos) */
.pt_points_hdr,
.pt_monetize_sett {
  padding: var(--space-5) var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl) !important;
  background: var(--muted);
  box-shadow: none;
}

.pt_monetize_sett h4 {
  max-width: 380px;
  color: var(--foreground);
  font-size: var(--text-2xl);
  font-weight: 600;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

.pt_monetize_sett img {
  opacity: 1;
}

.pt_points_hdr h4,
.pt_points_hdr h4 svg {
  color: var(--foreground);
}

.pt_points_hdr > div {
  color: var(--foreground);
  font-size: var(--text-4xl);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.pt_points_hdr > div p {
  color: var(--muted-foreground);
  font-size: var(--text-sm);
  font-weight: 400;
}
