/* Tema Nordic Minimal — split-screen: painel branco full-height à direita,
   fundo decorativo à esquerda (padrão Stripe/Notion) */

$btn-background-color: #1e3a5f !default;
$btn-foreground-color: #ffffff !default;

body.welcome-anonymous,
body.login-page,
main.page-anonymous {
   min-height: 100vh;
   background-color: #eef2f6;
   background-image:
      linear-gradient(rgba(30, 58, 95, 0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(30, 58, 95, 0.05) 1px, transparent 1px),
      radial-gradient(45% 60% at 25% 35%, rgba(30, 58, 95, 0.16) 0%, transparent 70%),
      radial-gradient(35% 45% at 10% 80%, rgba(96, 165, 250, 0.18) 0%, transparent 70%);
   background-size: 36px 36px, 36px 36px, 100% 100%, 100% 100%;
   background-attachment: fixed;
}

/* anéis decorativos no lado esquerdo livre */
main.page-anonymous {
   position: relative;

   &::before {
      content: "";
      position: fixed;
      left: 8vw;
      top: 50%;
      transform: translateY(-50%);
      width: 340px;
      height: 340px;
      border: 2px solid rgba(30, 58, 95, 0.14);
      border-radius: 50%;
      pointer-events: none;
   }

   &::after {
      content: "";
      position: fixed;
      left: calc(8vw + 60px);
      top: calc(50% - 110px);
      width: 220px;
      height: 220px;
      border: 2px dashed rgba(30, 58, 95, 0.20);
      border-radius: 50%;
      pointer-events: none;
   }
}

/* painel branco ancorado à direita, altura total */
.page-anonymous .flex-fill.d-flex.flex-column {
   padding: 0 !important;
   margin: 0 !important;
   min-height: 100vh;
   align-items: flex-end;
}

.page-anonymous .container-tight {
   margin: 0 !important;
   width: 30rem;
   max-width: 100vw !important;
   min-height: 100vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   background: #ffffff;
   padding: 2rem 3.2rem !important;
   box-shadow: -32px 0 70px rgba(30, 58, 95, 0.16);
}

.page-anonymous .container-tight .text-center {
   text-align: left !important;
}

.page-anonymous .main-content-card .card-body {
   padding: 0 !important;
}

.page-anonymous .main-content-card .col-md-5 {
   width: 100% !important;
   max-width: none;
   flex: 1 1 100%;
}

.page-anonymous .card-header {
   border: 0;
   background: transparent;
   padding-left: 0;

   h2 {
      color: #1e293b;
      font-weight: 700;
      margin: 0 !important;
      text-align: left;
   }
}

.page-anonymous .form-label {
   color: #475569;
   font-weight: 600;
   font-size: 0.76rem;
   text-transform: uppercase;
   letter-spacing: 0.08em;
}

.page-anonymous .form-control,
.page-anonymous .form-select {
   background: #fafbfc;
   border: 1px solid #dfe5ec;
   border-radius: 10px;
   color: #1e293b;
   padding: 0.7rem 0.9rem;
   transition: border-color 0.15s ease, box-shadow 0.15s ease;

   &:focus {
      background: #ffffff;
      border-color: $btn-background-color;
      box-shadow: 0 0 0 0.25rem rgba(30, 58, 95, 0.12);
   }
}

.page-anonymous .select2-container .select2-selection {
   background: #fafbfc;
   border: 1px solid #dfe5ec;
   border-radius: 10px;
}

.page-anonymous .btn.btn-primary {
   background: $btn-background-color;
   border: 0;
   border-radius: 10px;
   color: $btn-foreground-color;
   padding: 0.75rem;
   font-weight: 600;
   transition: filter 0.15s ease, transform 0.15s ease;

   &:hover {
      filter: brightness(1.15);
      transform: translateY(-1px);
   }
}

.page-anonymous .text-muted,
.page-anonymous .copyright {
   color: #94a3b8 !important;
}

.page-anonymous a {
   color: #1e3a5f !important;
}

@media (max-width: 900px) {
   .page-anonymous .container-tight {
      width: 100vw;
      box-shadow: none;
   }

   main.page-anonymous::before,
   main.page-anonymous::after {
      display: none;
   }
}
