/* ==========================================================================
   Telas de autenticação (login, recuperar senha) · identidade do site novo
   Petróleo + âmbar sobre papel. Complementa o tema Metronic sem removê-lo.
   ========================================================================== */
:root {
  --bm-petrol-950: #071E23;
  --bm-petrol-900: #0B2A30;
  --bm-petrol-800: #103840;
  --bm-petrol-500: #2A6A72;
  --bm-amber: #F2A93B;
  --bm-amber-text: #9A5608;
  --bm-paper: #F6F1E7;
  --bm-ink: #14252A;
  --bm-muted: #4F6368;
  --bm-line: rgba(20, 37, 42, .14);
  --bm-display: "Bricolage Grotesque", Inter, sans-serif;
}

body.auth-brasmobi { background: var(--bm-paper) !important; color: var(--bm-ink); }
body.auth-brasmobi[data-bs-theme="dark"] { background: var(--bm-paper) !important; }

/* ---- coluna do formulário ---- */
.auth-form-col { background: var(--bm-paper); position: relative; }
.auth-form-col::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(20,37,42,.09) 1px, transparent 1.2px); background-size: 26px 26px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.7), transparent 60%);
}
.auth-form-col > * { position: relative; }
.auth-brand-mobile { display: none; }
.auth-eyebrow { font-family: var(--bm-display); font-weight: 600; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bm-petrol-500); display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.auth-eyebrow::before { content: ""; width: 2.25rem; height: 2px; background: var(--bm-amber); }
.auth-title { font-family: var(--bm-display); font-weight: 800; font-size: clamp(2rem, 3vw, 2.75rem); letter-spacing: -.03em; line-height: 1; color: var(--bm-ink) !important; margin: 0 0 .5rem; }
.auth-title em { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: 0; color: var(--bm-amber-text); }
.auth-sub { color: var(--bm-muted) !important; font-size: 1rem; margin-bottom: 2rem; }

.auth-brasmobi .form-label { font-family: var(--bm-display); font-weight: 600; font-size: .875rem; color: var(--bm-ink) !important; margin-bottom: .4rem; }
.auth-brasmobi .form-control {
  background: #fff !important; border: 1.5px solid var(--bm-line) !important; border-radius: 6px !important; color: var(--bm-ink) !important;
  padding: .9rem 1rem !important; font-size: 1rem; box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
.auth-brasmobi .form-control::placeholder { color: #8a9a9e; }
.auth-brasmobi .form-control:focus { border-color: var(--bm-petrol-500) !important; box-shadow: 0 0 0 4px rgba(42,106,114,.15) !important; }
.auth-brasmobi .link-primary, .auth-brasmobi a.auth-link { color: var(--bm-petrol-800) !important; font-weight: 600; text-decoration: none; }
.auth-brasmobi .link-primary:hover, .auth-brasmobi a.auth-link:hover { color: var(--bm-amber-text) !important; text-decoration: underline; }
.auth-brasmobi .btn.btn-primary, .auth-brasmobi .btn.btn-primary:focus {
  background: var(--bm-petrol-800) !important; border: 0 !important; color: var(--bm-paper) !important; border-radius: 6px;
  font-family: var(--bm-display); font-weight: 600; font-size: 1.05rem; padding: 1rem 1.5rem; letter-spacing: .01em;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.18); transition: transform .2s, background .2s;
}
.auth-brasmobi .btn.btn-primary:hover { background: var(--bm-petrol-900) !important; transform: translateY(-2px); }
.auth-brasmobi .btn.btn-primary .spinner-border { color: var(--bm-amber); }
.auth-footnote { color: var(--bm-muted) !important; text-align: center; font-size: .95rem; }
.auth-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; justify-content: center; font-size: .8rem; color: var(--bm-muted); margin-top: 2rem; }
.auth-legal a { color: inherit; text-decoration: none; }
.auth-legal a:hover { color: var(--bm-petrol-800); text-decoration: underline; }
.auth-brasmobi .separator { border-color: var(--bm-line) !important; }

/* ---- aside (coluna direita) ---- */
.auth-aside {
  background: var(--bm-petrol-900); color: var(--bm-paper); position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; justify-content: center;
}
.auth-aside::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .35;
  background-image: radial-gradient(rgba(246,241,231,.18) 1px, transparent 1.2px); background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 90%);
}
.auth-aside::after {
  content: ""; position: absolute; z-index: -1; width: 70%; height: 70%; right: -25%; top: -30%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(242,169,59,.32), rgba(242,169,59,.08) 45%, transparent 70%); filter: blur(12px);
}
.auth-aside__inner { position: relative; padding: clamp(2rem, 5vw, 4.5rem); max-width: 720px; margin: 0 auto; width: 100%; }
.auth-aside__logo { height: 40px; width: auto; display: block; margin-bottom: clamp(2rem, 5vh, 4rem); }
.auth-aside__kicker { font-family: var(--bm-display); font-weight: 600; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #7FB2B8; display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.auth-aside__kicker::before { content: ""; width: 2.25rem; height: 2px; background: var(--bm-amber); }
.auth-aside__title { font-family: var(--bm-display); font-weight: 800; font-size: clamp(1.9rem, 2.8vw, 2.6rem); letter-spacing: -.03em; line-height: 1.02; color: var(--bm-paper); margin: 0 0 1rem; }
.auth-aside__title em { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: 0; color: var(--bm-amber); }
.auth-aside__text { color: rgba(246,241,231,.78); font-size: 1.05rem; line-height: 1.55; max-width: 48ch; margin: 0 0 2rem; }
.auth-shot { position: relative; border-radius: 12px; overflow: hidden; background: var(--bm-petrol-950); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(246,241,231,.08); transform: perspective(1400px) rotateY(-5deg) rotateX(2deg); transform-origin: left center; }
.auth-shot::before { content: ""; display: block; height: 26px; background: linear-gradient(#123f47, #0d343b); border-bottom: 1px solid rgba(246,241,231,.08); }
.auth-shot::after { content: ""; position: absolute; top: 8px; left: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--bm-amber); box-shadow: 16px 0 0 #7FB2B8, 32px 0 0 #E3DAC7; }
.auth-shot img { width: 100%; height: auto; display: block; }
.auth-aside__mark { position: absolute; right: -8%; bottom: -12%; width: 46%; opacity: .07; z-index: -1; pointer-events: none; filter: grayscale(1) brightness(3); }
.auth-aside__facts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1.75rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid rgba(246,241,231,.16); list-style: none; font-size: .9rem; color: rgba(246,241,231,.7); }
.auth-aside__facts li::before { content: "✓"; color: var(--bm-amber); margin-right: .45rem; font-weight: 700; }

/* ---- responsivo ---- */
@media (max-width: 991.98px) {
  .auth-aside { display: none; }
  .auth-brand-mobile { display: block; background: var(--bm-petrol-900); padding: 1.25rem; text-align: center; }
  .auth-brand-mobile img { height: 34px; width: auto; display: inline-block; }
  .auth-form-col { min-height: calc(100vh - 82px); }
}
@media (prefers-reduced-motion: reduce) { .auth-shot { transform: none; } .auth-brasmobi .btn.btn-primary:hover { transform: none; } }
