/* NetCore IT Manager v4 Enterprise - Responsive completo para cPanel */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#2563eb;--primary-dark:#1d4ed8;--side:#071d33;--text:#0f172a;--muted:#64748b;--bg:#f1f5f9;--card:#ffffff;--border:#e2e8f0;--danger:#dc3545;--success:#198754;--warning:#f59e0b;--info:#0ea5e9}
html,body{min-height:100%;max-width:100%;overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.45}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
img,svg,video{max-width:100%;height:auto}
.container{width:100%;max-width:1200px;margin:auto}.mt-3{margin-top:1rem}.mt-5{margin-top:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.d-block{display:block}.w-100{width:100%}.text-muted{color:var(--muted)!important}.text-end{text-align:right}.small,small{font-size:.875rem}.fw-bold{font-weight:700}.gap-2{gap:.5rem}
.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}.row>*{padding-left:12px;padding-right:12px}.justify-content-center{justify-content:center}.align-items-center{align-items:center}.g-3{row-gap:1rem}.g-4{row-gap:1.5rem}.col-md-3,.col-md-4,.col-md-6,.col-md-8,.col-md-9,.col-12{width:100%}@media(min-width:768px){.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-6{width:50%}.col-md-8{width:66.666667%}.col-md-9{width:75%}}
.login-bg{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;background:linear-gradient(135deg,#eef4ff,#ffffff)}.login-bg>.row{width:100%;max-width:520px}.login-bg .col-md-4{width:100%;max-width:460px}.login-bg .card{width:100%}.login-bg h3{font-size:clamp(25px,5vw,34px);margin-bottom:18px;white-space:normal;word-break:normal}
.card{background:var(--card);border:1px solid rgba(226,232,240,.8);border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.08);padding:20px;max-width:100%}.card h3,.card h4,.card h5{color:var(--text);margin-bottom:10px}.alert{padding:14px 16px;border-radius:12px;margin-bottom:16px;border:1px solid transparent}.alert-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.alert-success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.alert-warning{background:#fef3c7;color:#92400e;border-color:#fde68a}
.form-label,label{display:block;font-weight:600;margin-bottom:6px}.form-control,.form-select,select,textarea,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number]{display:block;width:100%;max-width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font-size:15px}.form-control:focus,.form-select:focus,select:focus,textarea:focus,input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}textarea{min-height:110px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border:0;border-radius:12px;cursor:pointer;font-weight:700;text-decoration:none;line-height:1.2;font-size:14px;white-space:nowrap}.btn:hover{text-decoration:none}.btn-sm{padding:8px 12px;font-size:13px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}.btn-secondary{background:#64748b;color:#fff}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-warning{background:#f59e0b;color:#111827}.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}.btn-outline-primary{border:1px solid var(--primary);color:var(--primary);background:transparent}.btn-outline-danger{border:1px solid #dc2626;color:#dc2626;background:transparent}.btn-outline-dark{border:1px solid #334155;color:#334155;background:transparent}
.app-shell{display:flex;min-height:100vh}.sidebar{width:265px;background:linear-gradient(180deg,#061b31,#092844);color:#fff;padding:20px 16px;position:fixed;left:0;top:0;height:100vh;overflow-y:auto;z-index:1050;transition:transform .25s ease}.brand{font-weight:800;font-size:20px;margin-bottom:20px;letter-spacing:.2px}.userbox{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:13px;margin-bottom:18px}.userbox strong{display:block}.userbox small{display:block;color:#b8c6d6;margin-top:3px}.sidebar nav a{display:flex;align-items:center;gap:8px;color:#dbe8f5;text-decoration:none;padding:12px 13px;border-radius:12px;margin:5px 0;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#0d6efd;color:white;text-decoration:none}.content{margin-left:265px;padding:24px;width:calc(100% - 265px);min-width:0}.topbar{background:white;border:1px solid rgba(226,232,240,.85);border-radius:18px;padding:14px 18px;margin-bottom:20px;box-shadow:0 8px 26px rgba(31,45,61,.06);display:flex;justify-content:space-between;align-items:center;color:#334155;gap:12px}.mobile-menu-btn,.mobile-backdrop{display:none}
h1{font-size:clamp(28px,4vw,42px)}h2{font-size:clamp(24px,3vw,34px)}
.metric{color:white;border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(31,45,61,.1);min-height:118px}.metric span{display:block;opacity:.92;margin-bottom:8px}.metric b{font-size:clamp(28px,5vw,34px);line-height:1}.bg-blue{background:linear-gradient(135deg,#0d6efd,#064db8)}.bg-green{background:linear-gradient(135deg,#20c997,#198754)}.bg-red{background:linear-gradient(135deg,#ff5c75,#dc3545)}.bg-orange{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#1f2937}.minirow{padding:11px 0;border-bottom:1px solid #edf0f4}.timeline{border-left:4px solid #0d6efd;padding:10px 14px;margin:12px 0;background:rgba(13,110,253,.05);border-radius:0 12px 12px 0}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.table th,.table td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{background:#f8fafc;color:#334155;font-weight:800}.table tr:hover td{background:#f8fafc}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.bg-success,.badge-success{background:#dcfce7!important;color:#166534!important}.bg-danger,.badge-danger{background:#fee2e2!important;color:#991b1b!important}.bg-warning,.badge-warning{background:#fef3c7!important;color:#92400e!important}.bg-secondary{background:#e2e8f0!important;color:#334155!important}.bg-primary{background:#dbeafe!important;color:#1d4ed8!important}
[data-bs-theme=dark] body,.dark-mode{background:#020617;color:#f8fafc}[data-bs-theme=dark] .content{background:#020617}[data-bs-theme=dark] .topbar,[data-bs-theme=dark] .card,[data-bs-theme=dark] .table{background:#0f172a;color:#e5e7eb;border-color:#1e293b}[data-bs-theme=dark] .card h3,[data-bs-theme=dark] .card h4,[data-bs-theme=dark] .card h5{color:#fff}[data-bs-theme=dark] .table th{background:#1e293b;color:#e5e7eb}[data-bs-theme=dark] .table td{border-color:#1e293b}[data-bs-theme=dark] .table tr:hover td{background:#111827}[data-bs-theme=dark] .text-muted{color:#9ca3af!important}[data-bs-theme=dark] .form-control,[data-bs-theme=dark] .form-select,[data-bs-theme=dark] input,[data-bs-theme=dark] textarea,[data-bs-theme=dark] select{background:#111827;color:#fff;border-color:#334155}[data-bs-theme=dark] .btn-outline-dark{border-color:#e5e7eb;color:#e5e7eb}
@media(max-width:991px){.mobile-menu-btn{display:flex;position:fixed;left:14px;top:14px;z-index:1100;width:44px;height:44px;border:0;border-radius:12px;background:#0d6efd;color:#fff;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(2,6,23,.48);z-index:1040;opacity:0;pointer-events:none;transition:.2s}.sidebar{transform:translateX(-105%);width:min(86vw,300px)}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .mobile-backdrop{opacity:1;pointer-events:auto}.content{margin-left:0;width:100%;padding:74px 14px 18px}.topbar{flex-direction:column;align-items:flex-start}.row{margin-left:-8px;margin-right:-8px}.row>*{padding-left:8px;padding-right:8px}.card{padding:16px}.text-end{text-align:left!important}.table td:last-child,.table th:last-child{min-width:150px}.btn{margin-top:3px;margin-bottom:3px}}
@media(max-width:576px){body{font-size:14px}.login-bg{align-items:flex-start;padding:28px 12px}.login-bg .card{padding:22px 18px}.content{padding-left:10px;padding-right:10px}.topbar{border-radius:14px;padding:12px}.card{border-radius:14px;padding:14px}.metric{min-height:auto;padding:16px}.form-control,.form-select,select,textarea,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number]{font-size:16px;padding:11px}.btn{width:100%;white-space:normal}.table{min-width:720px}.table th,.table td{padding:10px 12px}.sidebar{width:88vw}.brand{font-size:18px}}

/* v4 Enterprise dashboard por tipo de activo */
.asset-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.asset-type-card{position:relative;display:block;min-height:145px;border-radius:8px;padding:22px;text-decoration:none;color:#0f172a;overflow:hidden;box-shadow:0 10px 25px rgba(15,23,42,.08);transition:transform .15s ease, box-shadow .15s ease}
.asset-type-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,23,42,.14);color:#0f172a}
.asset-type-total{display:block;font-size:clamp(34px,5vw,52px);line-height:1;font-weight:500;letter-spacing:-1px}
.asset-type-label{display:block;margin-top:14px;font-size:17px;font-weight:700}
.asset-type-icon{position:absolute;right:18px;top:18px;font-size:34px;opacity:.72}
.asset-card-red{background:#f8d2d5;color:#b4232d}.asset-card-orange{background:#f5d0aa;color:#9a4a00}.asset-card-blue{background:#6bb7df;color:#0c4a6e}.asset-card-green{background:#7cc0ad;color:#16584d}.asset-card-gray{background:#e5e7eb;color:#475569}.asset-card-purple{background:#ddd6fe;color:#5b21b6}.asset-card-teal{background:#ccfbf1;color:#0f766e}.asset-card-dark{background:#cbd5e1;color:#1e293b}
.status-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4;color:inherit;text-decoration:none}.status-row:hover{color:#0d6efd}
.dark-mode .asset-type-card{box-shadow:none}.dark-mode .status-row{border-color:#263445}
@media(max-width:576px){.asset-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-type-card{min-height:118px;padding:16px}.asset-type-total{font-size:34px}.asset-type-icon{font-size:26px}.asset-type-label{font-size:14px}.table{min-width:1050px}}
.notification-item{border-bottom:1px solid rgba(148,163,184,.35);padding:14px 8px}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:rgba(37,99,235,.08);border-radius:12px;padding:14px}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:34px;box-shadow:0 18px 45px rgba(15,23,42,.12)}
.brand-logo-card{background:#fff;border-radius:16px;padding:10px 14px;margin-bottom:16px;box-shadow:0 8px 25px rgba(0,0,0,.14)}
.brand-logo-card img{width:100%;height:auto;display:block;max-height:58px;object-fit:contain}.login-logo{text-align:center;margin-bottom:18px}.login-logo img{max-width:260px;width:75%;height:auto}.login-card{max-width:520px}.action-muted{opacity:.55;pointer-events:none}.permission-note{font-size:.86rem;color:#64748b}.dark .brand-logo-card,.dark-mode .brand-logo-card{background:#fff}.force-box{border-left:5px solid #2563eb}.readonly-badge{background:#e0f2fe;color:#075985;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.kpi-disabled{filter:grayscale(.3);opacity:.75}

/* v5.4 - Inventario: scroll superior fijo, paginación y orden por código */
.assets-table-card { overflow: hidden; }
.table-scroll-top {
    overflow-x: auto;
    overflow-y: hidden;
    height: 20px;
    margin-bottom: 10px;
    border-radius: 8px;
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--card, #fff);
    border: 1px solid rgba(148,163,184,.25);
}
.table-scroll-spacer { height: 1px; }
.assets-table-scroll { overflow-x: auto; }
.assets-wide-table { min-width: 1550px; }
.assets-wide-table th,
.assets-wide-table td {
    white-space: normal;
    vertical-align: top;
    min-width: 120px;
}
.assets-wide-table th:first-child,
.assets-wide-table td:first-child {
    min-width: 110px;
    position: sticky;
    left: 0;
    background: var(--card-bg, #fff);
    z-index: 2;
}
.assets-wide-table thead th:first-child { z-index: 3; }
.dark-mode .assets-wide-table th:first-child,
.dark-mode .assets-wide-table td:first-child { background: #0f172a; }
@media (max-width: 768px){
    .assets-wide-table { min-width: 1300px; font-size: 13px; }
    .table-scroll-top { height: 16px; }
}


/* PWA */
.pwa-install-link{display:none;width:100%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;text-align:left;padding:10px 12px;border-radius:10px;margin:6px 0;font-weight:600}
.pwa-install-link:hover{background:rgba(255,255,255,.14)}
@media (display-mode: standalone){.pwa-install-link{display:none!important}.topbar:before{content:'App instalada';font-size:12px;background:#dcfce7;color:#166534;border-radius:999px;padding:4px 8px;margin-right:8px}}

/* v5.5.1 - Mostrar/ocultar contraseña */
.password-field{position:relative;display:flex;align-items:center}
.password-field .form-control{padding-right:52px}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#64748b;font-size:18px;line-height:1;cursor:pointer;padding:8px;border-radius:8px}
.password-toggle:hover{background:rgba(100,116,139,.12);color:#0f172a}
[data-bs-theme=dark] .password-toggle{color:#cbd5e1}
[data-bs-theme=dark] .password-toggle:hover{background:rgba(203,213,225,.12);color:#fff}


/* v5.6 - Navegación profesional por categorías */
.nav-pro{padding-bottom:22px}.nav-section-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8fb3d8;margin:18px 8px 7px;font-weight:800}.sidebar nav.nav-pro a{margin:3px 0;padding:10px 12px}.sidebar nav.nav-pro a.active{box-shadow:inset 3px 0 0 #fff}.sidebar nav.nav-pro .badge{margin-left:auto}.pwa-install-link{display:flex!important;align-items:center;gap:8px}.pwa-install-link[style*="none"]{display:none!important}

/* v5.6 - Dashboard de tickets */
.dashboard-bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,2fr) 48px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.25);color:inherit;text-decoration:none}.dashboard-bar-row:hover{text-decoration:none;color:#0d6efd}.bar-label{font-weight:700}.bar-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;background:linear-gradient(90deg,#0d6efd,#38bdf8);border-radius:999px}.priority-critical .bar-fill{background:linear-gradient(90deg,#dc2626,#fb7185)}.priority-high .bar-fill{background:linear-gradient(90deg,#f97316,#facc15)}.priority-medium .bar-fill{background:linear-gradient(90deg,#2563eb,#38bdf8)}.priority-low .bar-fill{background:linear-gradient(90deg,#16a34a,#86efac)}.bar-track.month .bar-fill{background:linear-gradient(90deg,#7c3aed,#c084fc)}.sla-box{border-radius:18px;padding:18px;color:#fff}.sla-box small{display:block;opacity:.9;margin-bottom:6px}.sla-box b{font-size:34px;line-height:1}.sla-ok{background:linear-gradient(135deg,#16a34a,#22c55e)}.sla-bad{background:linear-gradient(135deg,#dc2626,#fb7185)}[data-bs-theme=dark] .bar-track{background:#1e293b}[data-bs-theme=dark] .dashboard-bar-row{border-color:#1e293b}
@media(max-width:576px){.dashboard-bar-row{grid-template-columns:1fr;gap:6px}.dashboard-bar-row b{text-align:right}.nav-section-title{margin-top:16px}}

/* v5.7 - Sidebar profesional con submenús desplegables */
.accordion-nav{padding-bottom:22px}
.nav-group{margin:8px 0;border-radius:14px;overflow:hidden}
.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:rgba(255,255,255,.055);color:#dbe8f5;border-radius:14px;padding:12px 13px;font-weight:800;text-align:left;transition:background .18s ease,color .18s ease}
.nav-group-toggle span{display:flex;align-items:center;gap:10px;min-width:0}
.nav-group-toggle i:first-child{font-size:18px;color:#9dd4ff;width:22px;text-align:center}
.nav-group-toggle:hover{background:rgba(255,255,255,.11);color:#fff}
.nav-chevron{transition:transform .2s ease;font-size:13px;color:#aac4dd}
.nav-group.open .nav-chevron{transform:rotate(180deg)}
.nav-group-content{display:none;padding:6px 0 8px 8px;border-left:1px solid rgba(157,212,255,.18);margin-left:21px}
.nav-group.open .nav-group-content{display:block}
.sidebar nav.nav-pro .nav-group-content a,
.sidebar nav.nav-pro .nav-group-content .pwa-install-link{display:flex;align-items:center;gap:10px;color:#cfe0f1;text-decoration:none;padding:10px 12px;border-radius:11px;margin:3px 0 3px 0;font-weight:650;background:transparent;border:0;width:calc(100% - 4px);text-align:left}
.sidebar nav.nav-pro .nav-group-content a i,
.sidebar nav.nav-pro .nav-group-content .pwa-install-link i{font-size:16px;color:#91bde4;width:20px;text-align:center}
.sidebar nav.nav-pro .nav-group-content a:hover,
.sidebar nav.nav-pro .nav-group-content a.active,
.sidebar nav.nav-pro .nav-group-content .pwa-install-link:hover{background:#0d6efd;color:white;text-decoration:none}
.sidebar nav.nav-pro .nav-group-content a.active i,
.sidebar nav.nav-pro .nav-group-content a:hover i,
.sidebar nav.nav-pro .nav-group-content .pwa-install-link:hover i{color:#fff}
.sidebar nav.nav-pro a.active{box-shadow:none}
.sidebar nav.nav-pro .badge{margin-left:auto}
.nav-section-title{display:none!important}
.pwa-install-link{display:flex!important}
@media(max-width:991px){.nav-group-toggle{padding:13px 14px}.nav-group-content{margin-left:20px}.mobile-menu-btn i{font-size:24px}}

/* === NetCore IT Manager v5.8 Enterprise UI - capa visual consolidada === */
:root{--nav:#061d33;--nav2:#092b4a;--blue:#1f6bff;--bg:#f4f8fc;--card:#fff;--text:#0b1730;--muted:#5d6c85;--line:#dce6f2;--shadow:0 14px 35px rgba(10,35,70,.08)}
body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.enterprise-shell{display:flex;min-height:100vh;background:var(--bg)}
.enterprise-sidebar{width:300px!important;background:linear-gradient(180deg,#061d33,#082641)!important;color:#eaf3ff!important;position:fixed!important;inset:0 auto 0 0!important;overflow:auto!important;z-index:1040!important;box-shadow:8px 0 30px rgba(0,0,0,.18)!important;padding:0!important}
.enterprise-brand{height:78px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.brand-shield{font-size:28px;color:#61a5ff}.brand-text strong{font-size:23px;display:block;line-height:1;color:#fff}.brand-text span{color:#37a1ff;font-weight:800}.enterprise-brand small{background:#1268ff;border-radius:6px;padding:3px 7px;margin-left:auto;color:#fff}.hamb,.mobile-menu{border:0;background:transparent;color:white;font-size:22px;cursor:pointer}.enterprise-nav{padding:12px}.nav-section{font-size:12px;color:#8fb1d2;margin:18px 8px 8px;letter-spacing:.06em;text-transform:uppercase}.nav-item,.nav-parent,.nav-action,.submenu a{display:flex!important;align-items:center;gap:12px;width:100%;border:0;color:#e9f4ff!important;padding:12px 14px!important;border-radius:10px;background:transparent;font-size:16px;text-align:left;cursor:pointer;text-decoration:none!important}.nav-parent span{display:flex;align-items:center;gap:12px}.nav-parent>i:last-child{margin-left:auto;transition:.2s}.nav-parent.open>i:last-child{transform:rotate(180deg)}.nav-item:hover,.nav-parent:hover,.nav-action:hover,.submenu a:hover,.nav-item.active,.submenu a.active,.nav-parent.active{background:#1268ff!important;color:white!important}.submenu{display:none;margin-left:16px;border-left:1px solid rgba(255,255,255,.18);padding-left:8px}.submenu.open{display:block}.submenu a{font-size:14px;padding:9px 12px!important;color:#d5e8fb!important}.submenu a i{width:18px}.nav-badge{margin-left:auto;background:#fecaca;color:#991b1b;border-radius:999px;font-size:12px;padding:2px 8px;font-weight:800}.enterprise-main{margin-left:300px;width:calc(100% - 300px);min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.enterprise-topbar{height:78px;background:linear-gradient(90deg,#061d33,#092640)!important;display:flex;align-items:center;gap:20px;padding:0 26px;color:white;position:sticky;top:0;z-index:1030}.mobile-menu{display:none}.search{margin:auto;min-width:360px;width:45%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:9px 12px;display:flex;gap:10px;align-items:center}.search input{flex:1;background:transparent;border:0;color:white;outline:0}.search input::placeholder{color:#bcd0e8}.search kbd{background:rgba(255,255,255,.1);border-radius:6px;padding:4px 8px;color:#fff}.bell{position:relative;font-size:21px;color:#fff!important;text-decoration:none}.bell em{position:absolute;top:-9px;right:-9px;background:#ef4444;color:white;border-radius:99px;font-size:11px;padding:2px 6px;font-style:normal}.theme{border:0;background:rgba(255,255,255,.08);border-radius:50%;height:42px;width:42px;color:white;font-size:20px}.profile{display:flex;gap:10px;align-items:center}.avatar{height:44px;width:44px;border-radius:50%;background:#e8f1ff;display:grid;place-items:center;color:#1f6bff;font-size:24px}.profile small{display:block;color:#bad0ea}.enterprise-content{padding:28px;flex:1}.footer{padding:18px 28px;color:#62708b;border-top:1px solid #dfe7f1}.card{border-radius:16px;box-shadow:var(--shadow);border-color:var(--line)}.btn-primary,.btn.primary{background:#1f6bff!important;border-color:#1f6bff!important}.table-responsive{border-radius:16px}.table th{background:#f8fbff;color:#32415a}.password-field{position:relative}.password-field button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#475569}.login-bg{min-height:100vh;display:grid;place-items:center;background:#eef4fb}.login-card{border-radius:18px!important;box-shadow:var(--shadow)!important}
[data-bs-theme="dark"] body,body.dark{--bg:#071421;--card:#0b1c2f;--text:#f4f8ff;--muted:#a5b8d1;--line:#1d3552;background:var(--bg);color:var(--text)}[data-bs-theme="dark"] .card,[data-bs-theme="dark"] .table,[data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select,[data-bs-theme="dark"] textarea{background:#0b1c2f;color:#f4f8ff;border-color:#1d3552}[data-bs-theme="dark"] .table th{background:#10243b;color:#dbeafe}[data-bs-theme="dark"] .text-muted{color:#a5b8d1!important}
@media(max-width:900px){.enterprise-sidebar{transform:translateX(-105%);transition:.25s}.enterprise-sidebar.open{transform:translateX(0)}.enterprise-main{margin-left:0;width:100%}.mobile-menu{display:block}.search{min-width:0;width:auto;flex:1}.enterprise-content{padding:18px}.profile div:not(.avatar){display:none}.enterprise-topbar{padding:0 14px;gap:12px}.search kbd{display:none}}

/* v5.8.2 - Layout consolidation: elimina espacio entre sidebar y contenido */
:root{--sidebar-enterprise-width:300px;}
.app-shell.enterprise-shell{display:block!important;min-height:100vh;background:var(--bg);}
.enterprise-sidebar{left:0!important;top:0!important;width:var(--sidebar-enterprise-width)!important;max-width:var(--sidebar-enterprise-width)!important;min-width:var(--sidebar-enterprise-width)!important;margin:0!important;border-right:0!important;}
.enterprise-main{margin-left:var(--sidebar-enterprise-width)!important;width:calc(100% - var(--sidebar-enterprise-width))!important;min-width:0!important;}
.enterprise-main .topbar.enterprise-topbar{margin:0!important;border-radius:0 0 0 22px!important;width:100%!important;}
.enterprise-main .content.enterprise-content{margin-left:0!important;width:100%!important;max-width:none!important;padding:28px!important;}
.enterprise-main .content.enterprise-content > .container,
.enterprise-main .content.enterprise-content .container{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;}
.enterprise-main .footer{margin-left:0!important;width:100%!important;}
@media(max-width:900px){
  .enterprise-sidebar{width:min(88vw,300px)!important;max-width:min(88vw,300px)!important;min-width:0!important;}
  .enterprise-main{margin-left:0!important;width:100%!important;}
  .enterprise-main .content.enterprise-content{padding:18px!important;}
  .enterprise-main .topbar.enterprise-topbar{border-radius:0!important;}
}

/* v5.8.4 - Mobile Responsive UX Fix y salida en perfil */
.mobile-top-title{display:none;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:16px;white-space:nowrap}
.mobile-top-title i{color:#61a5ff;font-size:20px}.profile-menu{position:relative}.profile-button{border:0;background:transparent;color:#fff;cursor:pointer;padding:0}.profile-button .bi-chevron-down{font-size:12px;color:#bcd0e8}.profile-dropdown{display:none;position:absolute;right:0;top:58px;width:245px;background:#fff;color:#0b1730;border:1px solid #dce6f2;border-radius:16px;box-shadow:0 18px 45px rgba(10,35,70,.18);padding:10px;z-index:1100}.profile-dropdown.open{display:block}.profile-dropdown a,.profile-dropdown button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:#0b1730;text-decoration:none;padding:11px 12px;border-radius:11px;font-weight:700;text-align:left}.profile-dropdown a:hover,.profile-dropdown button:hover{background:#f1f6ff}.profile-dropdown .danger{color:#dc2626}.profile-dropdown hr{margin:8px 4px;border-color:#e5edf7}.mobile-user-panel{display:none}.mobile-user-card{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:12px;margin:12px 0}.mobile-user-card b{display:block;color:#fff}.mobile-user-card small{display:block;color:#bad0ea}.mobile-user-panel a,.mobile-user-panel button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:#e9f4ff;text-decoration:none;padding:11px 12px;border-radius:11px;font-weight:750;text-align:left}.mobile-user-panel a:hover,.mobile-user-panel button:hover{background:#1268ff;color:#fff}.mobile-user-panel .logout-link{color:#fecaca}
[data-bs-theme="dark"] .profile-dropdown{background:#0b1c2f;color:#f4f8ff;border-color:#1d3552}.profile-dropdown a,.profile-dropdown button{color:inherit}[data-bs-theme="dark"] .profile-dropdown a:hover,[data-bs-theme="dark"] .profile-dropdown button:hover{background:#10243b}
@media(max-width:900px){
  .enterprise-topbar{height:64px!important;padding:0 14px!important;gap:10px!important;justify-content:flex-start!important;border-radius:0!important;box-shadow:0 10px 25px rgba(0,0,0,.18)!important}
  .mobile-menu{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.08)!important;color:#fff!important;flex:0 0 auto}
  .mobile-top-title{display:flex!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .enterprise-topbar .search,.enterprise-topbar>.bell,.enterprise-topbar>.theme,.enterprise-topbar .profile-menu{display:none!important}
  .enterprise-content{padding:18px 14px!important;overflow-x:hidden!important}.content.enterprise-content h1,.content.enterprise-content h2{font-size:32px!important;line-height:1.1;margin-top:6px}.content.enterprise-content .btn,.content.enterprise-content button.btn{min-height:44px}.mobile-user-panel{display:block;border-top:1px solid rgba(255,255,255,.12);margin-top:12px;padding-top:6px}.enterprise-nav>.nav-action#pwa-install-btn{display:none!important}
  .dashboard-grid,.kpi-grid,.cards{grid-template-columns:1fr 1fr!important;gap:12px!important}.card{border-radius:18px!important}.enterprise-main .footer{font-size:12px;padding:14px!important;text-align:center}
}
@media(max-width:480px){.dashboard-grid,.kpi-grid,.cards{grid-template-columns:1fr!important}.content.enterprise-content h1,.content.enterprise-content h2{font-size:28px!important}}

.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.avatar-xl{width:82px;height:82px;font-size:54px}.profile-dropdown code{font-size:12px}.settings-mail-card code{background:#eef6ff;padding:2px 5px;border-radius:5px}

/* v6.5.1 - Responsive Mobile Fix: evita superposición de menú usuario/buscador en fichas QR y activos */
@media (max-width: 900px){
  html, body{overflow-x:hidden!important;}
  .enterprise-main{margin-left:0!important;width:100%!important;max-width:100%!important;}
  .enterprise-topbar{
    height:62px!important;
    min-height:62px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    position:sticky!important;
    top:0!important;
    z-index:1030!important;
    border-radius:0!important;
  }
  .enterprise-topbar .mobile-menu{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }
  .enterprise-topbar .mobile-top-title{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  /* Ocultar controles de escritorio en móvil */
  .enterprise-topbar .search,
  .enterprise-topbar > .bell,
  .enterprise-topbar > .theme,
  .enterprise-topbar .profile-menu,
  .enterprise-topbar .profile,
  .enterprise-topbar .profile-button,
  .enterprise-topbar #profileDropdown,
  .enterprise-topbar .profile-dropdown{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  /* Seguridad adicional: ningún dropdown de perfil debe flotar sobre contenido en móvil */
  body > .profile-dropdown,
  .profile-dropdown.open,
  #profileDropdown.open{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .enterprise-content{
    padding:16px 14px!important;
    margin:0!important;
    max-width:100%!important;
  }
  .enterprise-content h1,
  .enterprise-content h2{
    font-size:30px!important;
    line-height:1.12!important;
    margin-top:8px!important;
    word-break:normal!important;
  }
  .enterprise-content .d-flex.justify-content-between,
  .enterprise-content .d-flex.align-items-center{
    gap:10px!important;
  }
  .enterprise-content .btn,
  .enterprise-content button.btn,
  .enterprise-content a.btn{
    white-space:normal!important;
  }
  .mobile-user-panel{display:block!important;}
}
@media (max-width: 480px){
  .enterprise-content h1,
  .enterprise-content h2{font-size:26px!important;}
  .enterprise-content .btn,
  .enterprise-content button.btn,
  .enterprise-content a.btn{width:100%;margin-bottom:6px;}
}
