/* ==== AUTH LOOK (scope: solo páginas con .signinpage) ==== */
.signinpage{
  --ae-bg: #f5fbf7;
  --ae-card:#fff;
  --ae-border:#e5efe9;
  --ae-primary:#166534;
  --ae-primary-600:#14532d;
  --ae-muted:#eef7f2;
  --ae-text:#0f172a;
  --ae-muted-text:#64748b;
  --ae-shadow: 0 14px 40px rgba(2,6,23,.08);
}
.signinpage body{ background: linear-gradient(135deg,var(--ae-bg),#f7fdf9 40%,#eef8f1) !important; }
.signinpage .wrapper-body .container{ max-width:1200px; }

/* Tabs */
.signinpage .nav-account{ background:transparent; border:0; margin-bottom:12px; }
.signinpage .nav-account .nav-link{
  border:0!important; color:var(--ae-muted-text); background:var(--ae-muted);
  margin:0 4px; border-radius:10px; font-weight:600; transition:.15s ease;
}
.signinpage .nav-account .nav-link.active{
  color:var(--ae-primary); background:#fff; box-shadow:0 2px 8px rgba(2,6,23,.06);
}

/* Card envolvente */
.signinpage #content .page-content{
  background:var(--ae-card); border:1px solid var(--ae-border);
  border-radius:14px; box-shadow:var(--ae-shadow); padding:24px;
}

/* Headings + desc */
.signinpage .login-heading-section,
.signinpage .page-content h2{ color:var(--ae-text)!important; font-weight:800; }
.signinpage .ae-desc{ color:var(--ae-muted-text); margin-top:-6px; margin-bottom:12px; }

/* Inputs */
.signinpage .page-content input.form-control{
  height:44px; border-radius:10px; background:#f4fbf7; border:1px solid var(--ae-border);
}
.signinpage .page-content input.form-control:focus{
  outline:none; box-shadow:0 0 0 4px rgba(22,101,52,.18); border-color:#cfe8da; background:#fff;
}

/* Checkbox */
.signinpage .page-content .checkbox label{ color:var(--ae-muted-text); }
.signinpage .page-content input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--ae-primary); }

/* Botones */
.signinpage .page-content .btn-primary{
  background:var(--ae-primary)!important; border-color:var(--ae-primary)!important;
  border-radius:10px; font-weight:700;
}
.signinpage .page-content .btn-primary:hover{
  background:var(--ae-primary-600)!important; border-color:var(--ae-primary-600)!important;
}
.signinpage .page-content .btn-default,
.signinpage .page-content .btn.btn-default{
  background:#fff; color:var(--ae-text); border:1px solid var(--ae-border);
  border-radius:10px; font-weight:600;
}
.signinpage .page-content .btn-default:hover{ background:var(--ae-muted); }

/* Columna externa con divisor */
@media (min-width:768px){
  .signinpage .ae-col-divider{ border-left:1px solid var(--ae-border); }
}
.signinpage #content .ae-external .btn{ width:100%; max-width:320px; margin:0 auto; }

/* Footer aviso */
.signinpage .ae-terms{ text-align:center; color:var(--ae-muted-text); margin-top:18px; font-size:.95rem; }

/* ===== HEADER (Lovable style) ===== */
.signinpage .ae-auth-header {
  text-align: center;
  margin-top: 60px;        /* más aire arriba */
  margin-bottom: 36px;     /* separación con las tabs */
}

.signinpage .ae-auth-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #16a34a;          /* verde principal */
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  margin-bottom: 20px;
  transition: color 0.2s ease;
}
.signinpage .ae-auth-back:hover {
  color: #0e7b37;
  text-decoration: underline;
}

.signinpage .ae-auth-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.signinpage .ae-auth-brand img {
  height: 64px;            /* tamaño del logo */
  width: auto;
  margin-bottom: 6px;
}

.signinpage .ae-auth-title {
  font-size: 36px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
}

.signinpage .ae-auth-sub {
  font-size: 18px;
  color: #64748b;
  margin-top: 4px;
}

/* separa el bloque del card principal */
.signinpage .nav-account {
  margin-top: 8px;
  margin-bottom: 28px;
}

/* pequeño ajuste para móviles */
@media (max-width: 768px) {
  .signinpage .ae-auth-header {
    margin-top: 40px;
    margin-bottom: 28px;
  }
  .signinpage .ae-auth-title {
    font-size: 28px;
  }
  .signinpage .ae-auth-sub {
    font-size: 16px;
  }
  .signinpage .ae-auth-brand img {
    height: 52px;
  }
}
/* ===== Espaciado extra entre header y tabs ===== */
.signinpage #content-container .ae-auth-header {
  margin-top: 56px !important;     /* aire por arriba */
  margin-bottom: 28px !important;  /* aire por debajo */
}

/* Las tabs del login en Power Pages */
.signinpage #content-container .nav.nav-tabs.nav-account {
  margin-top: 12px !important;     /* separa las tabs del header */
  margin-bottom: 20px;             /* separa tabs del contenido */
}

/* Por si algún estilo del tema colapsa el margen de las tabs dentro del container */
.signinpage #content-container .nav-account + .page-content {
  padding-top: 8px;
}

/* Opcional: suaviza el bloque general del card */
.signinpage #content-container .wrapper-body,
.signinpage #content-container .container {
  scroll-margin-top: 80px; /* ayuda en anclas */
}


/* ===== Perfil: layout general (scope) ===== */
.profilepage {
  --ae-radius: 12px;
  --ae-shadow: 0 10px 30px rgba(2, 24, 9, .08);
  --ae-border: #e6efe9;
  --ae-muted: #6b7d74;
}

.profilepage .container { max-width: 1120px; }

/* Header superior (igual criterio que login Lovable) */
.profilepage .ae-prof-header {
  padding: 28px 12px 0;
  display: flex; flex-direction: column; gap: 12px; align-items: center;
}
.profilepage .ae-prof-back {
  display: inline-flex; gap: 8px; align-items: center;
  color: #18a058; text-decoration: none; font-weight: 600;
}
.profilepage .ae-prof-brand { display: flex; gap: 10px; align-items: center; }
.profilepage .ae-prof-brand img { height: 36px; width: auto; }
.profilepage .ae-prof-title { font-weight: 800; font-size: 28px; color: #0b3b2a; }
.profilepage .ae-prof-sub { color: var(--ae-muted); }

/* Card contenedora */
.profilepage .ae-prof-card {
  background: #fff; border: 1px solid var(--ae-border);
  border-radius: var(--ae-radius); box-shadow: var(--ae-shadow);
  margin: 20px auto 28px; padding: 22px;
}

/* Grid 2 columnas: sidebar + contenido */
@media (min-width: 992px){
  .profilepage .ae-prof-card { display: grid; grid-template-columns: 280px 1fr; gap: 28px; }
}
@media (max-width: 991.98px){
  .profilepage .ae-prof-card { display: block; }
}

/* Sidebar del perfil */
.profilepage .ae-prof-sidenav {
  list-style: none; padding: 16px; margin: 0;
  background: #f5faf7; border: 1px solid var(--ae-border);
  border-radius: var(--ae-radius);
}
.profilepage .ae-prof-sidenav li { margin: 6px 0; }
.profilepage .ae-prof-sidenav a {
  display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none;
  color: #0b3b2a;
}
.profilepage .ae-prof-sidenav a:hover { background: #eaf6ef; }
.profilepage .ae-prof-sidenav a.is-active { background: #dff1e7; font-weight: 700; }

/* Hero del formulario */
.profilepage .ae-prof-hero { margin-bottom: 14px; }
.profilepage .ae-prof-h1 { margin: 0 0 6px; font-size: 22px; font-weight: 800; color: #0b3b2a; }
.profilepage .ae-prof-subdesc { margin: 0; color: var(--ae-muted); }

/* Campos y labels: estética Lovable */
.profilepage .xrm-editable-html label,
.profilepage .xrm-entityform label { font-weight: 600; color: #0b3b2a; margin-bottom: 6px; }

.profilepage input[type="text"],
.profilepage input[type="email"],
.profilepage input[type="tel"],
.profilepage input[type="url"],
.profilepage select,
.profilepage textarea {
  border: 1px solid var(--ae-border) !important;
  border-radius: 10px !important;
  background: #f7fbf9 !important;
  padding: 10px 12px !important;
  outline: none;
}
.profilepage input:focus,
.profilepage select:focus,
.profilepage textarea:focus {
  border-color: #18a058 !important;
  box-shadow: 0 0 0 3px rgba(24,160,88,.15) !important;
}

/* Botón principal */
.profilepage .ae-btn-primary,
.profilepage .entity-form button[type="submit"],
.profilepage .xrm-entityform button[type="submit"]{
  background: #143f2b; color: #fff; border: 0; border-radius: 999px;
  padding: 10px 18px; font-weight: 700;
}
.profilepage .ae-btn-primary:hover,
.profilepage .entity-form button[type="submit"]:hover,
.profilepage .xrm-entityform button[type="submit"]:hover{
  background: #0f3322;
}

/* Mensaje de términos */
.profilepage .ae-prof-terms {
  text-align: center; color: var(--ae-muted); font-size: 0.9rem; margin: 6px auto 26px;
  max-width: 1000px;
}

/* Ajustes finos de espaciado */
.profilepage .xrm-entityform .section,
.profilepage .xrm-entityform .tab { margin-bottom: 14px; }
.profilepage .xrm-entityform .cell { padding-bottom: 10px; }

