/* ===== ISP PANEL V2 - GLOBAL LIGHT UI ===== */

:root{
    --v2-bg:#F4F7FB;
    --v2-bg-soft:#EEF3F9;
    --v2-card:#FFFFFF;
    --v2-border:#D9E4F0;
    --v2-text:#111827;
    --v2-text-soft:#5B6472;
    --v2-blue:#2F8EF4;
    --v2-blue-hover:#1F7AE0;
    --v2-green:#22C55E;
    --v2-green-soft:#DDF8E8;
    --v2-red:#E05252;
    --v2-red-soft:#FCE3E3;
    --v2-orange:#F0A23C;
    --v2-orange-soft:#FFF0D9;
    --v2-purple:#7C4DFF;
    --v2-purple-soft:#EEE7FF;
    --v2-shadow:0 8px 24px rgba(28, 52, 84, 0.08);
    --v2-shadow-soft:0 4px 14px rgba(28, 52, 84, 0.06);
    --v2-radius-xl:22px;
    --v2-radius-lg:18px;
    --v2-radius-md:14px;
    --v2-radius-sm:12px;
}

body.panel-page,
body.services-page{
    background:
        radial-gradient(circle at top left, #F9FBFE 0%, #F4F7FB 38%, #EEF3F9 100%);
    color:var(--v2-text);
}

/* ===== TOPBAR ===== */

body.panel-page .topbar,
body.services-page .topbar{
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--v2-border);
    box-shadow:0 4px 18px rgba(30, 41, 59, 0.04);
    min-height:64px;
    padding-top:10px;
    padding-bottom:10px;
}

body.panel-page .logo,
body.services-page .logo{
    color:#2F6EA5;
    font-weight:800;
    letter-spacing:0.2px;
    font-size:22px;
}

body.panel-page .menu a,
body.services-page .menu a{
    color:var(--v2-text);
    font-size:13px;
    font-weight:600;
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

body.panel-page .menu a:hover,
body.services-page .menu a:hover{
    color:var(--v2-blue);
}

body.panel-page .menu a.active,
body.services-page .menu a.active{
    color:var(--v2-blue);
}

body.panel-page .menu a.active::after,
body.services-page .menu a.active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-18px;
    height:3px;
    border-radius:999px;
    background:var(--v2-blue);
}

/* ===== ICONOS MENU ===== */

body.panel-page .menu a[href$="dashboard.html"]::before,
body.services-page .menu a[href$="dashboard.html"]::before{content:"⌂";}

body.panel-page .menu a[href$="clientes.html"]::before,
body.services-page .menu a[href$="clientes.html"]::before{content:"◌";}

body.panel-page .menu a[href$="planes.html"]::before,
body.services-page .menu a[href$="planes.html"]::before{content:"▣";}

body.panel-page .menu a[href$="services.html"]::before,
body.services-page .menu a[href$="services.html"]::before{content:"⚙";}

body.panel-page .menu a[href$="routers.html"]::before,
body.services-page .menu a[href$="routers.html"]::before{content:"◔";}

body.panel-page .menu a[href$="facturas.html"]::before,
body.services-page .menu a[href$="facturas.html"]::before{content:"◫";}

body.panel-page .menu a[href$="dispositivos.html"]::before,
body.services-page .menu a[href$="dispositivos.html"]::before{content:"▤";}

body.panel-page .menu a[href$="tickets.html"]::before,
body.services-page .menu a[href$="tickets.html"]::before{content:"?";}

body.panel-page .menu a[href$="login.html"]::before,
body.services-page .menu a[href$="login.html"]::before{content:"↪";}

/* ===== CONTENEDORES ===== */

.panel-container,
.services-page .services-container{
    padding-top:78px;
}

.page-hero,
.services-page .services-hero{
    background:linear-gradient(180deg,#F8FBFF 0%, #EFF4FA 100%);
    border:1px solid var(--v2-border);
    box-shadow:var(--v2-shadow);
    border-radius:var(--v2-radius-xl);
    padding:24px;
    margin-bottom:20px;
}

.page-hero-text h1,
.services-page .services-hero-text h1{
    color:var(--v2-text);
    font-size:30px;
    font-weight:800;
    margin-bottom:6px;
}

.page-hero-text p,
.services-page .services-hero-text p{
    color:var(--v2-text-soft);
    font-size:14px;
}

.page-hero-actions,
.services-page .services-hero-actions{
    gap:10px;
}

/* ===== CARDS ===== */

.panel-card,
.services-page .card{
    background:var(--v2-card) !important;
    border:1px solid var(--v2-border) !important;
    border-radius:var(--v2-radius-lg) !important;
    box-shadow:var(--v2-shadow) !important;
    padding:20px !important;
    margin-bottom:18px !important;
}

.panel-card h2,
.panel-card h3,
.services-page h2{
    color:var(--v2-text) !important;
    font-size:22px !important;
    font-weight:800 !important;
    margin-bottom:6px !important;
}

.panel-subtitle,
.page-note,
.services-page .section-subtitle{
    color:var(--v2-text-soft) !important;
    font-size:13px !important;
    margin-bottom:14px !important;
}

/* ===== FORMULARIOS ===== */

.form-grid,
.services-page .form-grid{
    gap:12px !important;
    margin-bottom:14px !important;
}

.form-stack{
    gap:12px !important;
}

body.panel-page input,
body.panel-page select,
body.panel-page textarea,
body.services-page input,
body.services-page select,
body.services-page textarea{
    background:#FFFFFF !important;
    color:var(--v2-text) !important;
    border:1px solid #BFCBDA !important;
    border-radius:var(--v2-radius-sm) !important;
    padding:10px 14px !important;
    font-size:13px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);
}

body.panel-page input::placeholder,
body.panel-page textarea::placeholder,
body.services-page input::placeholder,
body.services-page textarea::placeholder{
    color:#7A8796 !important;
}

body.panel-page input:focus,
body.panel-page select:focus,
body.panel-page textarea:focus,
body.services-page input:focus,
body.services-page select:focus,
body.services-page textarea:focus{
    border-color:var(--v2-blue) !important;
    box-shadow:0 0 0 4px rgba(47,142,244,0.12) !important;
}

/* ===== BOTONES ===== */

body.panel-page button,
body.panel-page .panel-link-btn,
body.services-page button,
body.services-page .hero-link,
body.services-page .panel-link-btn{
    border-radius:var(--v2-radius-sm) !important;
    padding:10px 16px !important;
    font-size:13px !important;
    font-weight:700 !important;
    border:1px solid transparent !important;
    box-shadow:var(--v2-shadow-soft);
}

.btn-primary,
.services-page .btn-primary{
    background:linear-gradient(180deg,#3FA2FF 0%, #2F8EF4 100%) !important;
    color:#FFFFFF !important;
}

.btn-primary:hover,
.services-page .btn-primary:hover{
    background:linear-gradient(180deg,#2F8EF4 0%, #1F7AE0 100%) !important;
}

.btn-secondary,
.services-page .btn-secondary,
.services-page .btn-edit,
.services-page .btn-status,
.services-page .btn-billing{
    background:#FFFFFF !important;
    color:var(--v2-text) !important;
    border:1px solid #C8D4E2 !important;
}

.btn-secondary:hover,
.services-page .btn-secondary:hover,
.services-page .btn-edit:hover,
.services-page .btn-status:hover,
.services-page .btn-billing:hover{
    background:#F5F8FC !important;
    color:var(--v2-blue) !important;
}

.btn-success,
.services-page .btn-success,
.services-page .btn-activate,
.services-page .btn-sync,
.services-page .hero-link.btn-success{
    background:linear-gradient(180deg,#39D86A 0%, #22C55E 100%) !important;
    color:#FFFFFF !important;
}

.btn-success:hover,
.services-page .btn-success:hover,
.services-page .btn-activate:hover,
.services-page .btn-sync:hover,
.services-page .hero-link.btn-success:hover{
    background:linear-gradient(180deg,#22C55E 0%, #16A34A 100%) !important;
}

.btn-danger,
.services-page .btn-danger,
.services-page .btn-suspend,
.services-page .btn-delete,
.services-page .btn-sync-error{
    background:linear-gradient(180deg,#F06A6A 0%, #E05252 100%) !important;
    color:#FFFFFF !important;
}

.btn-danger:hover,
.services-page .btn-danger:hover,
.services-page .btn-suspend:hover,
.services-page .btn-delete:hover,
.services-page .btn-sync-error:hover{
    background:linear-gradient(180deg,#E05252 0%, #D13D3D 100%) !important;
}

.services-page .btn-status-warn{
    background:linear-gradient(180deg,#FDBE5B 0%, #F0A23C 100%) !important;
    color:#FFFFFF !important;
    border:none !important;
}

.page-hero-actions .btn-success::before,
.services-hero-actions .hero-link.btn-success::before{
    content:"+";
    font-weight:900;
    margin-right:2px;
}

.page-hero-actions a[href*="/api/export/"]::before,
.services-hero-actions a[href*="/api/export/"]::before{
    content:"⭳";
    margin-right:6px;
    font-weight:900;
}

/* ===== STATS / KPI ===== */

.dashboard-stat,
.billing-stat,
.device-stat,
.ticket-stat{
    background:var(--v2-card) !important;
    border:1px solid var(--v2-border) !important;
    border-radius:var(--v2-radius-lg) !important;
    box-shadow:var(--v2-shadow) !important;
    padding:18px 20px !important;
}

.dashboard-stat-label,
.billing-stat-label,
.device-stat-label,
.ticket-stat-label,
.dashboard-mini-label{
    color:var(--v2-text-soft) !important;
    font-size:13px !important;
}

.dashboard-stat-value,
.billing-stat-value,
.device-stat-value,
.ticket-stat-value,
.dashboard-mini-value{
    color:var(--v2-text) !important;
    font-weight:800 !important;
}

.dashboard-stat-value,
.billing-stat-value,
.device-stat-value,
.ticket-stat-value{
    font-size:30px !important;
}

.dashboard-mini{
    background:var(--v2-card) !important;
    border:1px solid var(--v2-border) !important;
    border-radius:16px !important;
    box-shadow:var(--v2-shadow-soft) !important;
}

.dashboard-stat-bar,
.billing-stat-bar,
.device-stat-bar,
.ticket-stat-bar{
    background:#E5ECF4 !important;
}

.dashboard-stat-bar span,
.billing-stat-bar span,
.device-stat-bar span,
.ticket-stat-bar span{
    background:var(--v2-blue) !important;
}

.dashboard-stat-bar.success span,
.billing-stat-bar.success span,
.device-stat-bar.success span,
.ticket-stat-bar.success span{
    background:var(--v2-green) !important;
}

.dashboard-stat-bar.danger span,
.billing-stat-bar.danger span,
.device-stat-bar.danger span,
.ticket-stat-bar.danger span{
    background:var(--v2-red) !important;
}

/* ===== TABLAS ===== */

.table-shell,
.services-page .services-table-wrap{
    background:var(--v2-card) !important;
    border:1px solid var(--v2-border) !important;
    border-radius:16px !important;
    box-shadow:none !important;
}

.data-table,
.services-page .services-table{
    background:#FFFFFF !important;
}

.data-table thead th,
.services-page .services-table thead th{
    background:transparent !important;
    color:var(--v2-text) !important;
    font-size:12px !important;
    font-weight:800 !important;
    padding:12px 10px !important;
    border-bottom:1px solid #D9E4F0 !important;
}

.data-table td,
.services-page .services-table td{
    color:var(--v2-text) !important;
    font-size:12px !important;
    padding:12px 10px !important;
    border-bottom:1px solid #ECF1F7 !important;
    vertical-align:middle !important;
    background:#FFFFFF !important;
}

.data-table tbody tr:hover td,
.services-page .services-table tbody tr:hover td{
    background:#F8FBFF !important;
}

.services-page .services-table tbody tr.row-suspended td{
    background:#FFF7F1 !important;
}

.services-page .services-table tbody tr.row-error td{
    background:#FFF3F3 !important;
}

.acciones-tabla,
.services-page .actions{
    gap:8px !important;
}

.services-page .actions{
    min-width:148px !important;
}

.services-page .actions button{
    font-size:11px !important;
    padding:8px 8px !important;
}

.mono,
.services-page .mono{
    font-size:11px !important;
    color:#334155 !important;
}

.services-page .error-cell{
    color:#B45353 !important;
    font-size:11px !important;
}

/* ===== BADGES ===== */

.badge,
.status-badge{
    border-radius:999px !important;
    font-size:11px !important;
    font-weight:800 !important;
    padding:5px 10px !important;
    border:none !important;
    box-shadow:none !important;
}

.badge-success,
.status-active,
.badge-ok,
.invoice-status-paid,
.device-status-installed,
.billing-enabled-on,
.ticket-status-resolved,
.ticket-priority-medium{
    background:var(--v2-green-soft) !important;
    color:#1E7E46 !important;
}

.badge-danger,
.status-suspended,
.badge-no,
.invoice-status-overdue,
.invoice-status-cancelled,
.device-status-disabled,
.device-status-damaged,
.device-status-retired,
.billing-enabled-off,
.ticket-status-closed,
.ticket-status-cancelled,
.ticket-priority-critical{
    background:var(--v2-red-soft) !important;
    color:#A93A3A !important;
}

.badge-info,
.badge-warn,
.invoice-status-pending,
.device-status-stock,
.billing-day-pill,
.ticket-status-open,
.ticket-priority-low{
    background:#E3F0FF !important;
    color:#2C6EB5 !important;
}

.ticket-status-in_progress,
.ticket-priority-high{
    background:var(--v2-orange-soft) !important;
    color:#B97319 !important;
}

.badge-muted{
    background:#EEF3F8 !important;
    color:#64748B !important;
}

/* ===== MODALES ===== */

.modal{
    background:rgba(17,24,39,0.35) !important;
    backdrop-filter:blur(6px);
}

.modal-contenido{
    background:#FFFFFF !important;
    border:1px solid var(--v2-border) !important;
    border-radius:18px !important;
    box-shadow:0 16px 40px rgba(17,24,39,0.12) !important;
}

.modal-contenido h3{
    color:var(--v2-text) !important;
}

.modal-note,
.billing-modal-note{
    color:var(--v2-text-soft) !important;
}

/* ===== RESULTADOS ===== */

#mikrotikResult,
#facturasResult,
#devicesResult,
#ticketsResult{
    background:#F8FBFF !important;
    border:1px solid var(--v2-border) !important;
    color:#334155 !important;
    border-radius:14px !important;
    padding:14px !important;
    font-size:12px !important;
}

/* ===== EXPORT CARD ===== */

.quick-links{
    gap:14px !important;
    justify-content:flex-start !important;
}

.quick-links .panel-link-btn{
    background:#FFFFFF !important;
    color:var(--v2-text) !important;
    border:1px solid var(--v2-border) !important;
    min-width:150px;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px){
    .page-hero,
    .services-page .services-hero{
        padding:18px !important;
    }

    .page-hero-text h1,
    .services-page .services-hero-text h1{
        font-size:26px !important;
    }
}

/* ===== BRAND LOGO CONNECTCANCUN START ===== */
.logo{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

.logo::before{
    content:"";
    width:46px;
    height:46px;
    flex:0 0 auto;
    border-radius:12px;
    background-image:url("data:image/png;base64,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");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.08));
}

body.theme-dark .logo::before{
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
}

.auth-brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
}

.auth-brand::before{
    content:"";
    width:190px;
    height:96px;
    border-radius:18px;
    background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY8AAADRCAYAAAA0aT7UAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAIAASURBVHhe7Z0HfF1Vnscf5jQSkjS0pnf6ptNAAhVQBVGRoiIIstfFXXhde+t1xcXXRRf23nXXr4uI6F5X13V1fV1cQERQ6a0JvSSE9N4kM7M7k7mT3N2dN5M2aSTJzMyc9/d58n3eM3N2ZubMuefee+45XyIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiL7P4P/AtOazSZcdwF6AAAAAElFTkSuQmCC");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,.10));
}

body.theme-dark .auth-brand::before{
    filter:drop-shadow(0 12px 26px rgba(0,0,0,.28));
}
/* ===== BRAND LOGO CONNECTCANCUN END ===== */

/* ===== LOGO VISIBILITY FIX ===== */
.logo::before,
.auth-brand::before{
    display:block !important;
    flex:0 0 auto !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
}

.logo::before{
    width:56px !important;
    height:56px !important;
    border-radius:14px !important;
    background-color:#ffffff !important;
    box-shadow:0 6px 16px rgba(31,60,99,.14) !important;
}

.auth-brand::before{
    width:230px !important;
    height:118px !important;
    border-radius:20px !important;
    margin-bottom:10px !important;
    background-color:#ffffff !important;
    box-shadow:0 10px 24px rgba(31,60,99,.14) !important;
}

body.theme-dark .logo::before,
body.theme-dark .auth-brand::before{
    box-shadow:0 12px 26px rgba(0,0,0,.28) !important;
}

.logo{
    min-height:56px;
}

.auth-brand{
    min-height:118px;
}

/* ===== FORCE STATIC LOGO FILE ===== */
.logo::before,
.auth-brand::before{
    background-image: url("/assets/logo-connectcancun.webp") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    display: block !important;
    content: "" !important;
}

.logo{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:48px !important;
}

.logo::before{
    width:138px !important;
    height:48px !important;
    border-radius:12px !important;
    background-color:#ffffff !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
    flex:0 0 auto !important;
}

.auth-brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
}

.auth-brand::before{
    width:250px !important;
    height:128px !important;
    border-radius:20px !important;
    background-color:#ffffff !important;
    box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
    margin-bottom:10px !important;
}

body.theme-dark .logo::before,
body.theme-dark .auth-brand::before{
    box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
}


/* ===== CLEAN STATIC LOGO SETUP ===== */
.logo{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-height:48px !important;
}

.logo::before{
    content:"" !important;
    display:block !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 auto !important;
    border-radius:12px !important;
    background-image:url("/assets/logo.png") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    background-color:#ffffff !important;
    box-shadow:0 8px 18px rgba(0,0,0,.16) !important;
}

.auth-brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
}

.auth-brand::before{
    content:"" !important;
    display:block !important;
    width:250px !important;
    height:108px !important;
    border-radius:18px !important;
    background-image:url("/assets/logo.png") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    background-color:#ffffff !important;
    box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
    margin-bottom:10px !important;
}

body.theme-dark .logo::before,
body.theme-dark .auth-brand::before{
    box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
}\n
/* ===== LOGO SIZE TUNING ===== */

/* Más discreto en login */
.auth-page .auth-brand::before{
    width:180px !important;
    height:78px !important;
    border-radius:16px !important;
    margin-bottom:8px !important;
    box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
}

body.theme-dark.auth-page .auth-brand::before{
    box-shadow:0 10px 22px rgba(0,0,0,.22) !important;
}

/* Un poco más grande en el panel */
.topbar .logo::before{
    width:56px !important;
    height:56px !important;
    border-radius:14px !important;
    box-shadow:0 8px 18px rgba(0,0,0,.16) !important;
}

.topbar .logo{
    gap:14px !important;
    min-height:56px !important;
}

body.theme-dark .topbar .logo::before{
    box-shadow:0 10px 22px rgba(0,0,0,.24) !important;
}


/* panel-light-table-head-fix */
body.panel-page:not(.theme-dark) .table-shell{
    background:#ffffff;
    border:1px solid #d8e2ee;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
}

body.panel-page:not(.theme-dark) .data-table{
    background:#ffffff;
}

body.panel-page:not(.theme-dark) .data-table thead,
body.panel-page:not(.theme-dark) .data-table thead tr{
    background:linear-gradient(180deg,#112543 0%, #0b1b34 100%);
}

body.panel-page:not(.theme-dark) .data-table thead th{
    color:#f8fafc !important;
    background:transparent !important;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-weight:800;
    letter-spacing:.01em;
}

body.panel-page:not(.theme-dark) .data-table tbody td{
    background:#ffffff;
    color:#0f172a;
    border-top:1px solid #e8eef5;
}

body.panel-page:not(.theme-dark) .data-table tbody tr:hover td{
    background:#f8fbff;
}

