/* Pantalla de acceso de cnMaestro con el diseno del login de SmartNook y la marca SPANRED.
   Casi todo se acota a la pantalla de acceso (.NocSignin); al final va el logo de la
   cabecera de la aplicacion. Se enlaza desde index.html
   con /srv/storage/branding/aplicar.sh. */
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600&display=swap");

.NocSignin.outer {
  background: #e9ecef none !important;
  font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #212529;
}

/* Fuera la barra negra, el lema y la foto de fondo de Cambium */
.NocSignin > header,
.NocSignin > .tagline { display: none !important; }

/* Recuadro centrado en la pantalla */
.NocSignin .middle {
  position: fixed !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: auto !important; height: auto !important;
  margin: 0 !important; padding: 16px !important;
  transform: none !important;
  max-height: none !important; min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important; border-radius: 0 !important;
  display: flex !important; align-items: center; justify-content: center;
}

.NocSignin .login-section {
  width: 400px !important; max-width: 100% !important;
  height: auto !important;
  margin: 0 !important; padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-top: 3px solid #ff0000 !important;
  border-radius: 4px !important;
  box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !important;
  overflow: visible !important;
}

/* Cabecera: la imagen de Cambium se oculta y el logo SPANRED se pinta con la version
   (archivo propio, para no depender de la cache del navegador de la imagen original) */
.NocSignin .login-section .brandImage { display: none !important; }

.NocSignin .login-form {
  padding: 0 !important; margin: 0 !important;
  background: transparent !important; border: 0 !important;
}

.NocSignin .login-form::before {
  content: "CNMaestro 1.0.0";
  display: block;
  text-align: center;
  font-size: 16px; line-height: 24px;
  padding: 68px 0 12px;
  background: url("/assets/images/spanred-login-logo.png") no-repeat center 20px / 200px auto;
  border-bottom: 1px solid rgba(0, 0, 0, .125);
}

/* Formulario */
.NocSignin form#login {
  padding: 20px !important; margin: 0 !important;
  background: transparent !important; box-shadow: none !important;
}

.NocSignin form#login .form-signin-heading { display: none !important; }

.NocSignin form#login input.form-control {
  height: 38px !important;
  margin: 0 0 16px !important;
  padding: 6px 54px 6px 12px !important;
  font-family: inherit; font-size: 16px !important; line-height: 24px;
  color: #495057 !important;
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  background-color: #fff !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: right 13px center, 0 0 !important;
  background-size: 16px 16px, 100% 100% !important;
}

.NocSignin form#login input.form-control::placeholder { color: #6c757d; font-size: 16px; }

.NocSignin form#login input[name="username"] {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='4.8' r='3.3' fill='%23495057'/%3E%3Cpath d='M1.3 15.5c0-3.8 3-6.3 6.7-6.3s6.7 2.5 6.7 6.3z' fill='%23495057'/%3E%3C/svg%3E"),
    linear-gradient(to left, #e9ecef 41px, #ced4da 41px, #ced4da 42px, transparent 42px) !important;
}

.NocSignin form#login input[name="password"] {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.6 7.2V5a3.4 3.4 0 0 1 6.8 0v2.2' fill='none' stroke='%23495057' stroke-width='1.9'/%3E%3Crect x='2.4' y='7' width='11.2' height='8.6' rx='1.4' fill='%23495057'/%3E%3C/svg%3E"),
    linear-gradient(to left, #e9ecef 41px, #ced4da 41px, #ced4da 42px, transparent 42px) !important;
}

.NocSignin form#login input.form-control:focus {
  border-color: #ff8080 !important;
  box-shadow: 0 0 0 .2rem rgba(255, 0, 0, .15) !important;
  outline: 0;
}

/* Boton a la derecha, en el verde de SmartNook (el rojo parece "prohibido") */
.NocSignin form#login .row {
  display: flex !important; justify-content: flex-end;
  margin: 0 !important;
}

.NocSignin form#login button[type="submit"] {
  width: 110px !important; height: 38px !important;
  padding: 6px 12px !important;
  font-family: inherit; font-size: 16px !important; font-weight: 400 !important; line-height: 24px;
  color: #121a22 !important;
  background: #8ee235 !important;
  border: 1px solid #7ac32e !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.NocSignin form#login button[type="submit"]:hover:not([disabled]) { background: #7ac32e !important; }
.NocSignin form#login button[type="submit"][disabled] { opacity: .65; }

/* Copyright de Cambium discreto al pie */
.NocSignin footer.foot {
  background: transparent !important;
  color: #6c757d !important;
  font-size: 12px !important;
  text-shadow: none !important;
}

/* Cabecera de la aplicacion (tras iniciar sesion): el logo de Cambium Networks se cambia por
   el SPANRED blanco y se conserva "| cnMaestro" / "| cnMaestro X". Essentials usa .navbar-header
   y X .navbar-header-x; imagenes hechas a partir de las de Cambium, guardadas en /srv/storage/branding */
.navbar-header { background-image: url("/assets/images/spanred-brand.svg") !important; }
.navbar-header-x { background-image: url("/assets/images/spanred-brand_x.svg") !important; }

/* Panel "What's New in 6.0.0" del inicio: oculto para todos los usuarios.
   cnMaestro solo permite descartarlo usuario a usuario (cnsDismiss "whatsNewTile") */
cns-whats-new { display: none !important; }

/* Carrusel de anuncios de Cambium ("1/2 Effective August 2, 2024..."): oculto para todos.
   Solo cuando el aviso es un anuncio (.text-announcement); los avisos del sistema
   (licencia, alertas del servidor) usan el mismo cns-banner y siguen visibles */
cns-banner:has(.text-announcement) { display: none !important; }

/* Pie de la aplicacion: "Copyright (c) 2004 - 2026 Spanred, S.L.U. All rights reserved. | Version x"
   en lugar del copyright de Cambium y sus enlaces (Community, Support, Help, License).
   Los separadores "|" originales son texto suelto: se anulan con font-size 0 en el contenedor. */
cns-footer small.font12 { font-size: 0 !important; }
cns-footer small.font12 > span:first-child > span { display: none !important; }
cns-footer small.font12 > span:first-child::before {
  content: "Copyright \00A9  2004 - 2026 Spanred, S.L.U. All rights reserved.";
  font-size: 12px;
}
cns-footer small.font12 > span.m-l-xs { font-size: 12px !important; }
cns-footer small.font12 > span.m-l-xs::before { content: "| "; }
cns-footer small.font12 > a,
cns-footer small.font12 > span.m-r-xs:not(:first-child):not(.m-l-xs) { display: none !important; }

/* Inicio: fuera la columna derecha (What's New, Quick Links y botones Community / Documents /
   Ideas / Support) y el panel principal ocupa todo el ancho */
cns-home .home-page > .wrapper-xs > div:has(> cns-whats-new) { display: none !important; }
cns-home .home-page > .wrapper-xs > div:has(> cns-lazy) { width: 100% !important; }

/* Menu izquierdo: fuera el boton de Announcements (anuncios de Cambium), abajo del todo.
   Se localiza por su icono, que no cambia con el idioma de la interfaz */
.nav-btm-ctr a.nav-link:has(use[href="#icon-attention-announcement"]),
.nav-btm-ctr a.nav-link[title="Announcements"] { display: none !important; }

/* Cabecera dentro de una cuenta gestionada: ahi el logo no es un fondo sino una imagen
   <img src="/assets/images/brand.svg"> dentro de a.msp-brand-logo. Se sustituye por la de SPANRED
   (solo si es la de Cambium; si el Account Service tuviera logo propio, se respeta) */
a.msp-brand-logo img[src$="/brand.svg"] { content: url("/assets/images/spanred-brand.svg"); }
a.msp-brand-logo img[src$="/brand_x.svg"] { content: url("/assets/images/spanred-brand_x.svg"); }
