/* Colores del logotipo de Xyrelis: azul de la X y azul oscuro de las órbitas */
:root { --seg-verde: #2e7d32; --bs-primary: #1a70e3; --bs-primary-rgb: 26, 112, 227; --seg-oscuro: #19386e; }
body { background: #f4f7fb; }
.seg-nav { background: #fff; }
.btn-primary { --bs-btn-bg: #1a70e3; --bs-btn-border-color: #1a70e3; --bs-btn-hover-bg: #19386e; --bs-btn-hover-border-color: #19386e;
    --bs-btn-active-bg: #19386e; --bs-btn-active-border-color: #19386e; }
.btn-outline-primary { --bs-btn-color: #1a70e3; --bs-btn-border-color: #1a70e3; --bs-btn-hover-bg: #1a70e3; --bs-btn-hover-border-color: #1a70e3; }
.text-primary { color: #1a70e3 !important; }
.navbar-brand { color: #19386e; }
a { color: #1a70e3; }
.card { border-radius: .9rem; border-color: #e3e8eb; }
.seg-kpi .valor { font-size: 2rem; font-weight: 700; line-height: 1; }
.seg-kpi .etiqueta { color: #6c757d; font-size: .85rem; }
.text-orange { color: #e67e22 !important; } .bg-orange { background: #e67e22 !important; color: #fff; }
.seg-punto { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; }
.seg-punto.n0 { background: #198754; } .seg-punto.n1 { background: #d4a106; } .seg-punto.n2 { background: #e67e22; } .seg-punto.n3 { background: #dc3545; }
.seg-gauge { width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center;
    background: conic-gradient(var(--color) calc(var(--v) * 1%), #e9ecef 0); }
.seg-gauge > div { width: 118px; height: 118px; border-radius: 50%; background: #fff; display: grid; place-items: center; text-align: center; }
.seg-gauge .num { font-size: 2.2rem; font-weight: 700; line-height: 1; }
.seg-chat { height: 440px; overflow-y: auto; background: #eef2f4; border-radius: .9rem; padding: .9rem; }
.seg-msg { max-width: 75%; padding: .5rem .75rem; border-radius: 1rem; margin-bottom: .5rem; white-space: pre-wrap; word-break: break-word; }
.seg-msg.mio { margin-left: auto; background: #1a70e3; color: #fff; border-bottom-right-radius: .2rem; }
.seg-msg.suyo { background: #fff; border: 1px solid #dde3e6; border-bottom-left-radius: .2rem; }
.seg-msg small { display: block; opacity: .75; font-size: .72rem; }
.seg-msg.mio a { color: #fff; }
#mapa { height: 340px; border-radius: .9rem; }
.seg-login { max-width: 400px; margin: 8vh auto; }
.table td, .table th { vertical-align: middle; }
@media (max-width: 576px) { .seg-msg { max-width: 92%; } }

/* Visor desplazable de imágenes de satélite y adjuntos del parte */
.visor-h { display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .25rem .1rem .75rem; font-size: .8rem; }
.visor-item { flex: 0 0 220px; scroll-snap-align: start; border: 1px solid #dee2e6; border-radius: .6rem; padding: .4rem; background: #fff; }
.visor-item img, .visor-item video { width: 100%; height: 150px; object-fit: contain; background: #f4f4f0; border-radius: .4rem; display: block; }
.visor-icono { display: flex; align-items: center; justify-content: center; height: 150px; font-size: 3rem; color: #6c757d; background: #f4f4f0; border-radius: .4rem; text-decoration: none; }
