.bia-form{display:grid;gap:18px}
.bia-form label{display:block;font-size:.88rem;font-weight:700;margin-bottom:8px;color:#344054}
.bia-form input,.bia-form textarea,.bia-form select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid #d7deef;background:#fff;font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}
.bia-form input:focus,.bia-form textarea:focus,.bia-form select:focus{outline:none;border-color:#6781ff;box-shadow:0 0 0 4px rgba(52,88,245,.10)}
.bia-form textarea{min-height:120px;resize:vertical}
.bia-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bia-form-actions-between{justify-content:space-between}
.bia-step-card,.bia-form-panel{display:grid;gap:18px}
.bia-grid-2,.bia-grid-4{display:grid;gap:16px}
.bia-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bia-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bia-grid-2>*,.bia-grid-4>*,.bia-panel-head>*,.bia-register-hero>*{min-width:0}
.bia-filter-form{margin-bottom:20px}
.bia-step{display:none}
.bia-step.is-active{display:block}
.bia-step-indicator{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.bia-step-indicator span{display:flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:999px;background:#eff4ff;color:#5b6b86;font-weight:700;font-size:.82rem;border:1px solid transparent;text-align:center;min-width:0;overflow-wrap:anywhere}
.bia-step-indicator span.is-active{background:#2563eb;color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.2)}
.bia-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.bia-panel-head h2,.bia-panel-head h4{margin:4px 0 0}
.bia-panel-head p{max-width:560px;color:#64748b}
.bia-field-help{font-size:.78rem;color:#667085;line-height:1.55}
.bia-register-page{display:grid;gap:24px}
.bia-register-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%)}
.bia-register-hero h1{margin:0}
.bia-register-hero p{margin:10px 0 0;color:#64748b}
.bia-register-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px}
.bia-readonly-panel{display:grid;gap:8px;padding:18px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;align-content:start}
.bia-readonly-panel strong{font-size:.92rem;color:#0f172a}
.bia-readonly-panel p{margin:0;color:#64748b;font-size:.85rem}
.bia-readonly-panel.is-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bia-summary-box{padding:18px;border-radius:18px;background:#f8fbff;border:1px dashed #bfdbfe;color:#475569}
.bia-inline-checkbox{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#334155}
.bia-inline-checkbox input{width:auto}
.bia-form-message{font-size:.85rem;font-weight:700}
.bia-form-message.is-success{color:#0f9d58}
.bia-form-message.is-error{color:#dc2626}
.bia-has-error{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.12) !important}
.bia-full-width{grid-column:1/-1}
.bia-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.bia-plan-card{display:grid;gap:8px;padding:18px;border-radius:20px;border:1px solid #dbe4ff;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);cursor:pointer}
.bia-plan-card input{width:auto}
.bia-plan-card strong{font-size:1rem;color:#0f172a}
.bia-plan-card span{color:#64748b;font-size:.84rem}
@media (max-width:900px){.bia-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.bia-step-indicator{grid-template-columns:1fr 1fr}.bia-form-actions-between{align-items:flex-start}.bia-register-hero-stats{width:100%}.bia-auth-layout,.bia-auth-gate-grid{grid-template-columns:1fr}}
@media (max-width:640px){.bia-grid-2,.bia-grid-4,.bia-step-indicator,.bia-auth-switch,.bia-plan-grid{grid-template-columns:1fr}.bia-form-actions,.bia-form-actions-between{flex-direction:column;align-items:stretch}.bia-form-actions>*,.bia-form-actions-between>div{display:grid;gap:10px;width:100%}.bia-form-actions .bia-button,.bia-form-actions-between .bia-button,.bia-upload-label,.bia-upload-label .bia-button{width:100%}.bia-inline-checkbox{align-items:flex-start}}

/* -----------------------------------------------------------------------
   Galeria — upload nativo (assinantes sem upload_files)
   ----------------------------------------------------------------------- */
.bia-gallery-uploader-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bia-mini-gallery-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 0;
}

.bia-gallery-item {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid var(--bia-border, #e2e8f0);
  background: var(--bia-surface-2, #f8fafc);
}

.bia-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bia-remove-image {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,0,0,.65);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background .15s;
}
.bia-remove-image:hover { background: rgba(220,38,38,.9); }

/* Botão de upload — label disfarçado de botão */
.bia-gallery-file-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.bia-gallery-file-label input[type="file"] { display: none; }

.bia-gallery-upload-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.bia-gallery-upload-status {
  font-size: .85rem;
  font-weight: 500;
  transition: color .2s;
}

/* ── Gallery Uploader ──────────────────────────────────────────────────────── */
.bia-gallery-preview {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .75rem;
}
.bia-gallery-item {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: var(--bia-radius, 8px);
  overflow: hidden;
  border: 2px solid var(--bia-border, #e5e7eb);
}
.bia-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bia-remove-image {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.bia-upload-label { display: inline-flex; max-width: 100%; cursor: pointer; }
.bia-upload-label .bia-button{max-width:100%;white-space:normal;text-align:center}
.bia-field-hint {
  font-size: .78rem;
  color: var(--bia-muted, #6b7280);
  margin: .35rem 0 0;
}
.bia-gallery-status {
  font-size: .82rem;
  margin: .35rem 0 0;
  min-height: 1.1em;
}


/* -----------------------------------------------------------------------
   Auth / access flow
   ----------------------------------------------------------------------- */
.bia-auth-page{display:grid;gap:24px}
.bia-auth-page-simple{max-width:680px;margin:0 auto;padding:50px 0;}
.bia-auth-hero{display:grid;gap:18px;background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%)}
.bia-auth-hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}
.bia-auth-hero-badges{display:flex;gap:10px;flex-wrap:wrap}
.bia-auth-hero-badges span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #dbe4ff;font-weight:700;color:#1d4ed8}
.bia-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.bia-auth-side,.bia-auth-panel{display:grid;gap:20px}
.bia-auth-feature-list{display:grid;gap:14px}
.bia-auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px;border-radius:999px;background:#eef2ff}
.bia-auth-tab{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;font-weight:800;color:#475569;transition:all .2s;width:100%;min-width:0;text-align:center}
.bia-auth-tab.is-active{background:#2563eb;color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.2)}
.bia-auth-content{display:grid;gap:18px}
.bia-auth-gate{display:grid;gap:20px}
.bia-auth-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bia-text-link{font-weight:700;color:#2563eb}



/* ── Ajustes visuais cadastro v3.1.3-ux ───────────────────────────────────── */
.bia-register-hero{
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:28px;
  border:1px solid rgba(96,165,250,.18);
  background:
    radial-gradient(circle at top left, rgba(191,219,254,.45), transparent 34%),
    radial-gradient(circle at bottom right, rgba(196,181,253,.35), transparent 30%),
    linear-gradient(135deg,#0f4ccf 0%,#2563eb 42%,#6d28d9 100%);
  color:#fff;
  box-shadow:0 22px 54px rgba(37,99,235,.20);
}
.bia-register-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 55%);
  pointer-events:none;
}
.bia-register-hero > *{position:relative;z-index:1}
.bia-register-hero h1{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.04}
.bia-register-hero p{color:rgba(255,255,255,.82);max-width:56ch}
.bia-register-hero > div:first-child{display:grid;gap:8px;max-width:680px}
.bia-register-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;min-width:min(100%,360px)}
.bia-register-hero .bia-stat-box{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  min-height:110px;
  padding:16px 18px;
  text-align:center;
  border-radius:20px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
}
.bia-register-hero .bia-stat-box strong{display:block;font-size:1.1rem;font-weight:800;color:#fff}
.bia-register-hero .bia-stat-box span{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.74)}
@media (max-width:900px){
  .bia-register-hero{padding:24px}
  .bia-register-hero-stats{width:100%;min-width:0}
}
@media (max-width:640px){
  .bia-register-hero{padding:22px;border-radius:22px}
  .bia-register-hero-stats{grid-template-columns:1fr 1fr;gap:10px}
  .bia-register-hero .bia-stat-box{min-height:96px;padding:14px;min-width:0}
  .bia-form-actions>*,
  .bia-form-actions-between>div{width:100%}
}
