/* pocket_guide.css - Pulse Networks Pocket Guide Stylesheet */

@page {
  size: A4 landscape;
  margin: 0;
}

/* Variables de Diseño System */
:root {
  --color-primary: #0a192f;
  --color-secondary: #00d2ff;
  --color-accent: #0a2d54;
  --color-bg-light: #f8fafc;
  --color-border: #e2e8f0;
  --color-text-dark: #1e293b;
  --color-text-muted: #64748b;
  
  --led-red: #ef4444;
  --led-green: #22c55e;
  --led-blue: #0ea5e9;
  
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Reset y Estilos Generales para Visualización en Pantalla */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: #e2e8f0;
  font-family: var(--font-family);
  color: var(--color-text-dark);
  padding: 40px 20px;
  line-height: 1.4;
  font-size: 12.5px;
  -webkit-font-smoothing: antialiased;
}

/* Barra de Acciones (Oculta en Impresión) */
.action-bar {
  background: white;
  max-width: 297mm;
  margin: 0 auto 30px auto;
  padding: 15px 25px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  border-left: 4px solid var(--color-secondary);
}

.action-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.action-info {
  font-weight: 500;
  color: var(--color-text-dark);
}

.print-btn {
  background: var(--color-primary);
  color: white;
  border: none;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.print-btn:hover {
  background: #112240;
  transform: translateY(-1px);
}

/* Contenedor del Folleto */
.brochure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin: 0 auto;
}

/* Estructura de Cada Carilla (A4 Horizontal) */
.face {
  width: 297mm;
  height: 210mm;
  background: white;
  box-shadow: 0 15px 35px rgba(0,0,0,0.1);
  border-radius: 10px;
  padding: 12mm;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12mm;
  position: relative;
  overflow: hidden;
  page-break-after: always;
  page-break-inside: avoid;
}

/* Estilos de los Paneles (Plegables) */
.panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  border-right: 1px dashed var(--color-border);
  padding-right: 6mm;
}

.panel:last-child {
  border-right: none;
  padding-right: 0;
}

/* Cabeceras de Paneles */
.panel-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  border-bottom: 2px solid var(--color-primary);
  padding-bottom: 6px;
}

.panel-header h2 {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.panel-number {
  background: var(--color-primary);
  color: white;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
}

/* Portada (Panel 1) */
.panel-cover {
  background: linear-gradient(135deg, #0a192f 0%, #0c2340 100%);
  color: white;
  padding: 18mm 10mm; /* Balanced vertical padding */
  border-right: none;
  border-radius: 6px;
}

.cover-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.brand-header {
  text-align: center;
}

.logo-bg-wrapper {
  background: white;
  padding: 6px 12px;
  border-radius: 4px;
  display: inline-block;
  margin: 0 auto;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.logo-img {
  max-height: 28px;
  width: auto;
  display: block;
}

/* Logo de portada agrandado al 450% (126px de alto) */
.panel-cover .logo-bg-wrapper {
  padding: 22px 50px;
}

.panel-cover .logo-img {
  max-height: 126px;
}

.cover-main {
  text-align: center;
  margin: 10px 0;
}

.product-title {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 1px;
  color: white;
  margin-bottom: 5px;
}

.panel-cover .product-model {
  font-size: 14px;
  font-weight: 500;
  color: #3b82f6; /* Celeste cambiado a Azul vibrante */
  margin-bottom: 3px;
}

.product-sku {
  font-size: 10px;
  color: var(--color-text-muted);
}

.panel-cover .cover-divider {
  height: 3px;
  width: 50px;
  background: #3b82f6; /* Celeste cambiado a Azul vibrante */
  margin: 15px auto;
  border-radius: 2px;
}

.cover-desc {
  font-size: 11px;
  line-height: 1.5;
  color: #a8b2d1;
}

.cover-footer {
  text-align: center;
}

.panel-cover .support-badge {
  background: rgba(59, 130, 246, 0.15); /* Celeste cambiado a Azul vibrante */
  border: 1px solid #3b82f6;
  color: #3b82f6;
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.support-url {
  font-size: 10px;
  color: var(--color-text-muted);
}

/* Descripciones y Textos de Pasos */
.step-desc p {
  margin-bottom: 8px;
  color: var(--color-text-dark);
}

.step-desc strong {
  font-weight: 600;
}

/* Contenedor de Imagen de Puertos */
.ports-img-container {
  margin: 8px 0;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 6px 6px 24px 6px;
}

.ports-wrapper {
  position: relative;
  width: 100%;
  display: inline-block;
}

.ports-img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.port-badge-text {
  position: absolute;
  transform: translateX(-50%);
  font-family: var(--font-family);
  font-size: 7px;
  font-weight: 800;
  padding: 1px 3px;
  border-radius: 2px;
  background-color: #f1f5f9;
  border: 0.5px solid #cbd5e1;
  color: #1e293b;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  white-space: nowrap;
  letter-spacing: -0.1px;
}

/* HIGH FIDELITY STICKER LABEL */
.sticker-real {
  background: #FFFFFF;
  color: #000000;
  border: 1px solid #94a3b8;
  border-radius: 6px;
  padding: 8px 10px;
  font-family: monospace, Courier, sans-serif;
  font-size: 8px;
  line-height: 1.2;
  width: 100%;
  max-width: 500px;
  margin: 8px auto 0 auto;
  display: flex;
  gap: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.sticker-left-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #cbd5e1;
  padding-right: 6px;
  flex-shrink: 0;
  text-align: center;
}

.pulse-icon-sticker {
  display: flex;
  align-items: center;
  gap: 1.5px;
  height: 8px;
  margin-bottom: 2px;
}

.pulse-icon-sticker .line {
  width: 1px;
  height: 6px;
  background: #000;
}

.pulse-icon-sticker .dot {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #10B981;
}

.sticker-left-logo strong {
  font-size: 8px;
  letter-spacing: 0.5px;
}

.sticker-networks-text {
  font-size: 5.5px;
  display: block;
}

.sticker-center-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.specs-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 4px;
}

.specs-col p {
  margin: 0;
}

.spec-label {
  color: #475569;
}

.spec-val-bold {
  font-weight: bold;
  color: #0f172a;
}

.barcode-section {
  display: flex;
  justify-content: space-between;
  border-top: 0.5px solid #cbd5e1;
  padding-top: 2px;
  font-size: 7.5px;
}

.barcode-item span {
  display: block;
}

.barcode-graphic {
  font-size: 8px;
  letter-spacing: -0.5px;
  font-weight: bold;
  margin-top: 1px;
  opacity: 0.8;
}

.sticker-footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 0.5px solid #cbd5e1;
  padding-top: 2px;
}

.cert-logos {
  display: flex;
  gap: 3px;
  align-items: center;
}

.cert-bold {
  font-weight: 900;
  font-size: 6.5px;
  border: 0.5px solid #000;
  padding: 0 1px;
  border-radius: 1px;
  line-height: 1;
}

.cert-icon {
  font-size: 7.5px;
}

.ramatel-badge {
  display: flex;
  align-items: center;
  gap: 2px;
}

.ramatel-letter {
  border: 0.5px solid #000;
  width: 8px;
  height: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.5px;
  font-weight: bold;
  line-height: 1;
}

.ramatel-text {
  font-size: 6px;
}

.made-china {
  font-size: 6.5px;
  color: #64748b;
}

.text-right {
  text-align: right;
}

/* Códigos WAN y de Acceso */
.url-code {
  background: #f1f5f9;
  padding: 1px 4px;
  border-radius: 3px;
  font-family: monospace;
  font-weight: 700;
  color: var(--color-primary);
  font-size: 11px;
}

.credentials-badge {
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  padding: 6px 10px;
  border-radius: 4px;
  display: inline-flex;
  gap: 15px;
  margin: 5px 0;
  font-size: 11px;
}

.credentials-badge code {
  font-family: monospace;
  font-weight: 700;
  color: #e11d48;
}

.cred-note {
  font-size: 10px;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.wan-list {
  list-style-type: none;
  margin: 6px 0;
  padding-left: 5px;
}

.wan-list li {
  position: relative;
  padding-left: 12px;
  margin-bottom: 4px;
  font-size: 11px;
}

.wan-list li::before {
  content: "▪";
  color: var(--color-secondary);
  position: absolute;
  left: 0;
  top: -1px;
  font-size: 12px;
}

/* Alertas y Notificaciones */
.alert-box {
  background: #f0fdf4;
  border-left: 3px solid var(--led-green);
  padding: 6px 10px;
  border-radius: 0 4px 4px 0;
  margin-top: 10px;
  font-size: 11.5px;
}

.alert-box.warning {
  background: #fffbeb;
  border-left: 3px solid #f59e0b;
}

/* Subsecciones */
.sub-section-title {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--color-primary);
  margin-top: 12px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 2px;
}

.sub-steps {
  padding-left: 15px;
  margin-bottom: 8px;
}

.sub-steps li {
  margin-bottom: 5px;
  padding-left: 2px;
}

/* Contenedor de Imagen de Botón LED */
.led-img-container {
  margin: 12px 0;
  text-align: center;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 8px;
}

.led-img {
  max-width: 100%;
  max-height: 180px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Tabla de LEDs */
.led-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 11px;
}

.led-table th, .led-table td {
  border: 1px solid var(--color-border);
  padding: 6px 8px;
  text-align: left;
}

.led-table th {
  background-color: var(--color-bg-light);
  font-weight: 700;
  color: var(--color-primary);
}

.led-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
  vertical-align: middle;
}

.led-indicator.red {
  background-color: var(--led-red);
  box-shadow: 0 0 4px var(--led-red);
}

.led-indicator.blue {
  background-color: var(--led-blue);
  box-shadow: 0 0 4px var(--led-blue);
}

.led-indicator.green {
  background-color: var(--led-green);
  box-shadow: 0 0 4px var(--led-green);
}

/* Animación de Parpadeo */
.blink {
  animation: blinker 1s linear infinite;
}

@keyframes blinker {
  50% {
    opacity: 0.3;
  }
}

/* Soporte y Footer de Cara B */
.panel-support {
  border-right: none;
}

.faq-q {
  font-weight: 600;
  color: var(--color-primary);
  margin-top: 8px;
  font-size: 11px;
}

.faq-a {
  color: var(--color-text-dark);
  font-size: 10.5px;
  margin-bottom: 5px;
  padding-left: 5px;
}

.panel-footer-branding {
  margin-top: auto;
  padding-top: 12px;
}

.panel-footer-branding .divider {
  height: 1px;
  background-color: var(--color-border);
  margin-bottom: 8px;
}

.panel-footer-branding p {
  font-size: 11px;
  color: var(--color-primary);
}

.panel-footer-branding .contact-text {
  font-size: 9.5px;
  color: var(--color-text-muted);
}

.qr-container {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 8px 12px;
  margin: 15px 0;
  text-align: left;
}
.qr-img {
  width: 52px;
  height: 52px;
  background: white;
  padding: 3px;
  border-radius: 4px;
  flex-shrink: 0;
  display: block;
}
.qr-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.qr-title {
  font-size: 10px;
  font-weight: 700;
  color: #ffffff;
}
.qr-desc {
  font-size: 8.5px;
  color: #a8b2d1;
  line-height: 1.3;
  margin-top: 2px;
}


/* ==========================================
   ESTILOS EXCLUSIVOS PARA IMPRESIÓN (PDF)
   ========================================== */
@media print {
  /* Configuración del tamaño de página */
  @page {
    size: A4 landscape;
    margin: 0;
  }
  
  /* Reset general para impresión */
  body {
    background-color: white;
    padding: 0;
    margin: 0;
    font-size: 12px;
    color: #000;
  }
  
  /* Ocultar elementos de pantalla */
  .no-print {
    display: none !important;
  }
  
  /* Contenedor principal sin gaps */
  .brochure {
    gap: 0;
    display: block;
    width: 297mm;
    margin: 0;
  }
  
  /* Ajustar cada cara al tamaño de hoja A4 exacto */
  .face {
    width: 297mm;
    height: 210mm;
    padding: 10mm 12mm;
    margin: 0;
    box-shadow: none;
    border-radius: 0;
    background: white;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10mm;
    page-break-after: always;
    page-break-inside: avoid;
    overflow: hidden;
  }
  
  /* Portada printer friendly (fondo blanco, texto oscuro) */
  .panel-cover {
    background: white !important;
    color: var(--color-primary) !important;
    border-right: 1px dashed var(--color-border) !important;
    border-radius: 0;
  }
  
  .panel-cover .logo-bg-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  
  .panel-cover .product-title {
    color: var(--color-primary) !important;
  }
  
  .panel-cover .product-model {
    color: #1d4ed8 !important;
  }
  
  .panel-cover .product-sku {
    color: var(--color-text-muted) !important;
  }
  
  .panel-cover .cover-desc {
    color: var(--color-text-dark) !important;
  }
  
  .panel-cover .cover-divider {
    background: #1d4ed8 !important;
  }
  
  .panel-cover .support-badge {
    background: rgba(29, 78, 216, 0.05) !important;
    border: 1px solid #1d4ed8 !important;
    color: #1d4ed8 !important;
  }
  
  .panel-cover .support-url {
    color: var(--color-primary) !important;
  }
  
  .panel-cover .qr-container {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .panel-cover .qr-title {
    color: #0a192f !important;
  }
  .panel-cover .qr-desc {
    color: #64748b !important;
  }
  
  /* Estilo de imágenes en impresión */
  .ports-img-container, .led-img-container {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Estilo del sticker en impresión */
  .sticker-real {
    border: 1px solid #94a3b8 !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .pulse-icon-sticker .dot {
    background: #10B981 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .barcode-section, .sticker-footer-row {
    border-top: 0.5px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Otras correcciones de color para impresora */
  .port-badge-text {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .credentials-badge {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .credentials-badge code {
    color: #b91c1c !important;
  }
  
  .url-code {
    background: #e2e8f0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .alert-box {
    border-left: 3px solid #16a34a !important;
    background: #f0fdf4 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  .alert-box.warning {
    border-left: 3px solid #d97706 !important;
    background: #fffbeb !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  /* Forzar la impresión de colores de fondo en general */
  body, .face, .panel, .led-indicator, .led-table th {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
