diff --git a/assets/css/styles.css b/assets/css/styles.css index dc38ffd..a4480ab 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -162,56 +162,7 @@ body { transition: margin-left 0.3s ease; } -/* Responsive behavior: collapse sidebar on small screens */ -@media (max-width: 991.98px) { - .sidebar { - transform: translateX(-100%); - width: 220px; - left: 0; - transition: transform 0.25s ease; - box-shadow: none; - } - - .sidebar.open { - transform: translateX(0); - box-shadow: 2px 0 20px rgba(0,0,0,0.2); - z-index: 1200; - } - - .main-content { - margin-left: 0; - } - - /* Overlay used to block background when sidebar open */ - .sidebar-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0.35); - z-index: 1100; - display: none; - } - - /* Make header actions wrap to avoid overflow */ - .content-header { - flex-wrap: wrap; - gap: 8px; - } - - .header-actions { - margin-top: 8px; - } - - /* hide status badge on small screens (desktop-only) */ - .status-badge { display: none !important; } -} - -/* Desktop: ensure sidebar visible */ -@media (min-width: 992px) { - .sidebar { transform: translateX(0); } -} +/* Responsive: ver bloque unificado al final del archivo */ .content-header { background: white; padding: 20px 30px; @@ -494,10 +445,6 @@ body { justify-content: flex-end; } - padding: 15px; - font-size: 0.9rem; -} - .table td { padding: 15px; border-top: 1px solid var(--border-color); @@ -759,34 +706,146 @@ body { margin-top: 5px; } -/* Responsive Design */ -@media (max-width: 768px) { - .sidebar { - transform: translateX(-100%); - } - - .sidebar.show, - .sidebar.open { - transform: translateX(0); - box-shadow: 2px 0 20px rgba(0,0,0,0.2); - z-index: 1200; - } - - .main-content { - margin-left: 0; - } - +/* ═══════════════════════════════════════════════════════ + RESPONSIVE — breakpoints unificados + ═══════════════════════════════════════════════════════ */ + +/* ── Móvil (< 576px) ───────────────────────────────── */ +@media (max-width: 575.98px) { .content-header { - padding: 15px 20px; + padding: 10px 12px; + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + .content-header h1 { + font-size: 1rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: calc(100vw - 80px); + } + .content-header small { + font-size: .72rem; + } + .header-actions { + width: 100%; + gap: 6px; + flex-wrap: wrap; + } + .header-actions .btn { + padding: 6px 10px; + font-size: .8rem; } - .tab-content { - padding: 20px 15px; + padding: 12px 10px; + } + .card-body { + padding: 12px; + } + .card-stat-number { + font-size: 1.6rem; + } + /* Tablas: scroll horizontal */ + .table-responsive { + -webkit-overflow-scrolling: touch; + } + .table th, + .table td { + padding: 8px 10px; + font-size: .8rem; + } + /* Ocultar columnas secundarias de tabla en móvil muy pequeño */ + .table .d-xs-none { display: none !important; } + /* Botones de acción en tablas: solo iconos */ + .table td .btn-sm { + padding: 4px 6px; + font-size: .75rem; + } + .table td .btn-sm span, + .table td .btn-sm .btn-text { display: none; } + /* Cards de estadísticas: 2 por fila */ + .row > [class*='col-xl-3'] { + flex: 0 0 50%; + max-width: 50%; + } + /* Modales: full width */ + .modal-dialog { + margin: 0.5rem; + max-width: calc(100% - 1rem); + } + /* Sidebar toggle: siempre visible */ + #sidebar-toggle { display: inline-flex !important; } +} + +/* ── Tablet (576px – 991px) ────────────────────────── */ +@media (min-width: 576px) and (max-width: 991.98px) { + .content-header { + padding: 12px 16px; + flex-wrap: wrap; + gap: 8px; + } + .content-header h1 { + font-size: 1.15rem; + } + .header-actions { + gap: 8px; + } + .tab-content { + padding: 16px 14px; } - .card-stat-number { font-size: 2rem; } + .table th, + .table td { + padding: 10px 12px; + } + #sidebar-toggle { display: inline-flex !important; } +} + +/* ── Móvil + Tablet: sidebar oculto / overlay ──────── */ +@media (max-width: 991.98px) { + .sidebar { + transform: translateX(-100%); + width: 240px; + transition: transform 0.25s ease; + box-shadow: none; + } + .sidebar.open, + .sidebar.show { + transform: translateX(0); + box-shadow: 2px 0 24px rgba(0,0,0,.25); + z-index: 1200; + } + .main-content { + margin-left: 0; + } + /* Overlay semitransparente detrás del sidebar */ + .sidebar-overlay { + position: fixed; + inset: 0; + background: rgba(0,0,0,.38); + z-index: 1100; + display: none; + } + /* Ocultar badge de estado (sin espacio en mobile) */ + .status-badge { display: none !important; } + /* Botón «Cerrar Sesión» del header: solo icono en mobile */ + .header-actions .btn-outline-danger .fa-sign-out-alt ~ * { } +} + +/* ── Desktop (>= 992px) ────────────────────────────── */ +@media (min-width: 992px) { + .sidebar { + transform: translateX(0) !important; + width: 280px; + } + .main-content { + margin-left: 280px; + } + /* Ocultar botón hamburguesa en desktop */ + #sidebar-toggle { display: none !important; } } /* Dark Mode Support */ diff --git a/index.php b/index.php index 2e4cf85..34995ae 100644 --- a/index.php +++ b/index.php @@ -81,33 +81,29 @@ try {
-
-

Sistema de Gestión WhatsApp Bot

- +
+

Sistema de Gestión WhatsApp Bot

+ Conectado como | Sesión desde:
-
En línea -
+ - - Cerrar Sesión + + Cerrar Sesión