/* SIMA — shell del panel (ex injectSAStyles de dashboard.js) */
#sima-panel {
  position: fixed; inset: 0; z-index: 999;
  font-family: 'Roboto Condensed', sans-serif;
  color: var(--text-main); overflow: hidden; background: var(--panel-bg, #000);
  --primary:#1d4ed8; --accent:#c084fc; --matrix-color:#00ff41;
  --glass-bg:rgba(5,10,5,0.72); --glass-border:rgba(var(--accent-rgb),0.12);
  --glass-blur:18px; --text-main:#e8ffe8; --text-muted:rgba(200,255,200,0.55);
  --sidebar-w:230px; --danger:#ef4444; --success:#22c55e; --warn:#f59e0b; --panel-bg:#000;
  --accent-rgb:0,255,65;
}
/* ── TEMAS (selector en Apariencia; data-theme en #sima-panel) ─────────────── */
#sima-panel[data-theme="glass"] {
  --primary:#3b82f6; --accent:#c084fc; --matrix-color:#60a5fa;
  --glass-bg:rgba(22,24,40,0.42); --glass-border:rgba(255,255,255,0.14); --glass-blur:22px;
  --text-main:#eef2ff; --text-muted:rgba(238,242,255,0.66); --panel-bg:#0b1020; --accent-rgb:96,165,250;
}
#sima-panel[data-theme="solid"] {
  --primary:#3b82f6; --accent:#c084fc; --matrix-color:#3b82f6;
  --glass-bg:#1e2030; --glass-border:rgba(255,255,255,0.10); --glass-blur:0px;
  --text-main:#eaeefb; --text-muted:rgba(234,238,251,0.6); --panel-bg:#14141c; --accent-rgb:59,130,246;
}
#sima-panel[data-theme="dark"] {
  --primary:#3b82f6; --accent:#a78bfa; --matrix-color:#3b82f6;
  --glass-bg:rgba(30,30,34,0.86); --glass-border:rgba(255,255,255,0.09); --glass-blur:10px;
  --text-main:#e6e6e6; --text-muted:rgba(230,230,230,0.55); --panel-bg:#141416; --accent-rgb:59,130,246;
}
#sima-panel[data-theme="light"] {
  --primary:#1d4ed8; --accent:#7c3aed; --matrix-color:#1d4ed8;
  --glass-bg:rgba(255,255,255,0.92); --glass-border:rgba(0,0,0,0.10); --glass-blur:8px;
  --text-main:#1e293b; --text-muted:rgba(30,41,59,0.62); --panel-bg:#eef1f6; --accent-rgb:29,78,216;
}
/* ── NAV: modo barra superior (toolbar) — por defecto barra lateral ───────── */
#sima-panel.nav-toolbar #sima-app { flex-direction:column; }
#sima-panel.nav-toolbar .sima-sidebar { width:100% !important; flex-direction:row; align-items:center; height:54px; border-right:none; border-bottom:1px solid var(--glass-border); }
#sima-panel.nav-toolbar .sidebar-header { border-bottom:none; border-right:1px solid var(--glass-border); padding:0 16px; height:100%; }
#sima-panel.nav-toolbar .sima-nav-scroll { display:flex; flex-direction:row; align-items:center; flex:1; overflow-x:auto; overflow-y:hidden; padding:0 8px; gap:4px; }
#sima-panel.nav-toolbar .sima-nav-group { display:none; }
#sima-panel.nav-toolbar .sima-nav-item { white-space:nowrap; margin:0; padding:8px 14px; border-radius:9px 9px 0 0; border-bottom:3px solid transparent; }
#sima-panel.nav-toolbar .sima-nav-item .nav-label { display:inline; }
#sima-panel.nav-toolbar .sima-nav-item.active { background:rgba(var(--accent-rgb),.10); border-bottom-color:var(--matrix-color); }
#sima-panel.nav-toolbar .sima-nav-item.active::before { display:none; }
#sima-panel.nav-toolbar .sima-nav-badge { position:absolute; top:2px; right:2px; margin:0; }
#sima-panel.nav-toolbar .sima-sidebar-footer { border-top:none; border-left:1px solid var(--glass-border); padding:0 12px; display:flex; align-items:center; }
#sima-panel.nav-toolbar .sima-user-label-text { display:none; }
#sima-panel *, #sima-panel *::before, #sima-panel *::after { box-sizing:border-box; margin:0; padding:0; }
#sima-matrix-bg { position:absolute; inset:0; z-index:0; }
#sima-app { position:absolute; inset:0; z-index:10; display:flex; }
#sima-panel .glass { background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); border:1px solid var(--glass-border); }
.sima-sidebar { position:relative; width:var(--sidebar-w); display:flex; flex-direction:column; border-right:1px solid var(--glass-border); transition:width 0.25s; overflow:hidden; flex-shrink:0; }
.sima-sidebar .sidebar-header { display:flex; align-items:center; justify-content:space-between; padding:18px 16px; border-bottom:1px solid var(--glass-border); }
.sima-sidebar .brand { font-size:1.2rem; font-weight:700; color:var(--matrix-color); letter-spacing:.05em; }
.sima-sidebar .sub { font-size:.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; margin-top:2px; }
.sb-brand { overflow:hidden; min-width:0; }
.sima-sidebar .sb-left { display:flex; align-items:center; gap:10px; min-width:0; }
.sima-sidebar .sb-logo { width:28px; height:28px; flex-shrink:0; display:block; }
.sima-toggle { width:26px; height:26px; background:none; border:1px solid var(--glass-border); border-radius:50%; color:var(--matrix-color); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.72rem; transition:transform .25s; flex-shrink:0; }
.sima-toggle:hover { background:rgba(var(--accent-rgb),.1); }
.sima-nav-scroll { flex:1; overflow-y:auto; padding:10px 0; display:flex; flex-direction:column; gap:3px; }
.sima-nav-group { padding:12px 18px 5px; font-size:.68rem; color:rgba(var(--accent-rgb),.4); text-transform:uppercase; letter-spacing:.12em; }
.sima-nav-group:not(:first-child) { margin-top:6px; }
.sima-nav-item { position:relative; display:flex; align-items:center; gap:12px; margin:0 10px; padding:10px 14px; border-radius:10px; cursor:pointer; color:var(--text-muted); font-size:.9rem; transition:background .15s, color .15s; }
.sima-nav-item:hover { background:rgba(var(--accent-rgb),.08); color:var(--text-main); }
.sima-nav-item.active { background:rgba(var(--accent-rgb),.13); color:var(--matrix-color); }
.sima-nav-item.active::before { content:""; position:absolute; left:-10px; top:50%; transform:translateY(-50%); width:3px; height:58%; border-radius:0 3px 3px 0; background:var(--matrix-color); }
.sima-nav-item i { font-size:1.1rem; width:20px; text-align:center; }
.sima-nav-badge { background:var(--warn); color:#000; border-radius:10px; padding:1px 7px; font-size:.68rem; font-weight:700; margin-left:auto; }
.sima-nav-badge.green { background:var(--success); }
.sima-sidebar-footer { padding:12px 16px; border-top:1px solid var(--glass-border); }
.sima-user-label-text { font-size:.78rem; color:var(--text-muted); margin-bottom:8px; }
.sima-btn-logout { width:100%; padding:9px; background:rgba(255,68,68,.1); color:#ff6666; border:1px solid rgba(255,68,68,.25); border-radius:8px; cursor:pointer; font-size:.85rem; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:8px; }
.sima-btn-logout:hover { background:rgba(255,68,68,.2); }
.sima-main { flex:1; overflow-y:auto; position:relative; }
.sima-section { display:none; padding:28px; min-height:100%; }
.sima-section.active { display:block; }
#sima-panel .section-title { font-size:1.1rem; font-weight:700; color:var(--text-main); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
#sima-panel .glass-card { border-radius:13px; overflow:hidden; }
#sima-panel .stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; margin-bottom:24px; }
#sima-panel .stat-card { padding:18px 20px; border-radius:12px; }
#sima-panel .stat-label { font-size:.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.07em; }
#sima-panel .stat-value { font-size:1.9rem; font-weight:700; color:var(--matrix-color); margin-top:4px; }
#sima-panel table { width:100%; border-collapse:collapse; font-size:.86rem; }
#sima-panel th { padding:10px 14px; text-align:left; font-size:.72rem; color:var(--text-muted); font-weight:600; text-transform:uppercase; letter-spacing:.07em; border-bottom:1px solid var(--glass-border); }
#sima-panel td { padding:11px 14px; border-bottom:1px solid rgba(var(--accent-rgb),.05); vertical-align:middle; }
#sima-panel tr:last-child td { border-bottom:none; }
#sima-panel tr:hover td { background:rgba(var(--accent-rgb),.04); }
#sima-panel .badge { display:inline-block; padding:2px 10px; border-radius:12px; font-size:.73rem; font-weight:600; }
#sima-panel .badge-demo    { background:rgba(107,114,128,.2); color:#9ca3af; border:1px solid rgba(107,114,128,.3); }
#sima-panel .badge-piloto  { background:rgba(245,158,11,.2);  color:#fbbf24; border:1px solid rgba(245,158,11,.3); }
#sima-panel .badge-pro     { background:rgba(29,78,216,.2);   color:#60a5fa; border:1px solid rgba(29,78,216,.3); }
#sima-panel .badge-ultra   { background:rgba(124,58,237,.2);  color:#c084fc; border:1px solid rgba(124,58,237,.3); }
#sima-panel .badge-active  { background:rgba(var(--accent-rgb),.12);   color:var(--matrix-color); border:1px solid rgba(var(--accent-rgb),.25); }
#sima-panel .badge-suspended,#sima-panel .badge-expired,#sima-panel .badge-rejected { background:rgba(255,68,68,.12); color:#ff6666; border:1px solid rgba(255,68,68,.25); }
#sima-panel .badge-pending  { background:rgba(245,158,11,.15); color:#fbbf24; border:1px solid rgba(245,158,11,.3); }
#sima-panel .badge-confirmed{ background:rgba(var(--accent-rgb),.12);   color:var(--matrix-color); border:1px solid rgba(var(--accent-rgb),.25); }
#sima-panel .btn-sm { padding:5px 12px; border-radius:7px; font-size:.8rem; cursor:pointer; font-family:inherit; border:none; font-weight:600; transition:background .15s; }
#sima-panel .btn-primary-sm { background:rgba(29,78,216,.25); color:#60a5fa; border:1px solid rgba(29,78,216,.35); }
#sima-panel .btn-primary-sm:hover { background:rgba(29,78,216,.4); }
#sima-panel .btn-success-sm { background:rgba(var(--accent-rgb),.15); color:var(--matrix-color); border:1px solid rgba(var(--accent-rgb),.3); }
#sima-panel .btn-success-sm:hover { background:rgba(var(--accent-rgb),.28); }
#sima-panel .btn-danger-sm  { background:rgba(255,68,68,.12); color:#ff6666; border:1px solid rgba(255,68,68,.25); }
#sima-panel .btn-danger-sm:hover { background:rgba(255,68,68,.25); }
#sima-panel .btn-warn-sm { background:rgba(245,158,11,.15); color:#fbbf24; border:1px solid rgba(245,158,11,.3); }
#sima-panel .sima-modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,.75); z-index:500; display:flex; align-items:center; justify-content:center; }
#sima-panel .modal-box { width:500px; max-width:95vw; max-height:85vh; overflow-y:auto; padding:28px; border-radius:16px; border-color:rgba(var(--accent-rgb),.2); }
#sima-panel .modal-title { font-size:1rem; font-weight:700; color:var(--matrix-color); margin-bottom:18px; }
#sima-panel .modal-close { float:right; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:1.2rem; margin-top:-4px; }
#sima-panel .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
#sima-panel .form-row.full { grid-template-columns:1fr; }
#sima-panel .sima-fsec { font-size:.74rem; font-weight:700; color:var(--matrix-color); text-transform:uppercase; letter-spacing:.8px; margin:16px 0 8px; padding-bottom:5px; border-bottom:1px solid rgba(var(--accent-rgb),.18); }
#sima-panel .sima-fsec:first-child { margin-top:0; }
#sima-panel .field label { display:block; font-size:.78rem; color:var(--text-muted); margin-bottom:4px; }
#sima-panel .field input,#sima-panel .field select,#sima-panel .field textarea { width:100%; padding:9px 12px; background:rgba(var(--accent-rgb),.05); border:1px solid rgba(var(--accent-rgb),.15); border-radius:7px; color:var(--text-main); font-size:.88rem; font-family:inherit; outline:none; }
#sima-panel .field input:focus,#sima-panel .field select:focus,#sima-panel .field textarea:focus { border-color:var(--matrix-color); }
#sima-panel select { background:rgba(5,10,5,.92); color:#e8ffe8; }
#sima-panel select option { background:#050d05; color:#e8ffe8; }
#sima-panel .select-glass { background:rgba(5,10,5,.92); color:#e8ffe8; border:1px solid var(--glass-border); border-radius:7px; padding:6px 10px; font-family:inherit; font-size:.85rem; outline:none; }
#sima-panel .modal-actions { display:flex; gap:10px; margin-top:18px; justify-content:flex-end; }
#sima-panel .modal-actions button { padding:9px 20px; border-radius:8px; font-size:.9rem; font-weight:600; cursor:pointer; font-family:inherit; border:none; }
#sima-panel .btn-cancel { background:rgba(255,255,255,.06); color:var(--text-muted); }
#sima-panel .btn-confirm-success { background:rgba(0,90,28,.55); color:#9dffba; border:1px solid rgba(var(--accent-rgb),.55); }
#sima-panel .btn-confirm-danger  { background:rgba(120,24,24,.55); color:#ffb0b0; border:1px solid rgba(255,68,68,.55); }
#sima-panel .btn-confirm-primary { background:var(--primary,#1d4ed8); color:var(--primary-text,#fff); }
#sima-panel .toggle { display:inline-flex; align-items:center; gap:8px; cursor:pointer; user-select:none; }
#sima-panel .toggle input { display:none; }
#sima-panel .toggle-track { width:38px; height:20px; background:rgba(255,255,255,.1); border-radius:10px; position:relative; transition:background .2s; border:1px solid var(--glass-border); }
#sima-panel .toggle-track::after { content:''; position:absolute; top:2px; left:2px; width:14px; height:14px; background:#888; border-radius:50%; transition:transform .2s,background .2s; }
#sima-panel .toggle input:checked+.toggle-track { background:rgba(var(--accent-rgb),.25); border-color:rgba(var(--accent-rgb),.4); }
#sima-panel .toggle input:checked+.toggle-track::after { transform:translateX(18px); background:var(--matrix-color); }
#sima-panel .loading-state { padding:40px; text-align:center; color:var(--text-muted); display:flex; flex-direction:column; align-items:center; gap:12px; font-size:.88rem; }
@keyframes sima-spin { to { transform:rotate(360deg); } }
#sima-panel .spin { animation:sima-spin .9s linear infinite; display:inline-block; }
/* spinner anular */
#sima-panel .sima-spinner { width:30px; height:30px; border-radius:50%; border:3px solid rgba(var(--accent-rgb),.18); border-top-color:var(--matrix-color); animation:sima-spin .8s linear infinite; }
/* estado vacío reutilizable */
#sima-panel .sima-empty { padding:48px 24px; text-align:center; color:var(--text-muted); display:flex; flex-direction:column; align-items:center; gap:10px; }
#sima-panel .sima-empty .ico { width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.7rem; color:var(--matrix-color); background:rgba(var(--accent-rgb),.08); border:1px solid rgba(var(--accent-rgb),.18); }
#sima-panel .sima-empty .ttl { font-size:1rem; font-weight:600; color:var(--text-main); }
#sima-panel .sima-empty .sub { font-size:.84rem; max-width:380px; line-height:1.45; }
#sima-panel .sima-empty .act { margin-top:6px; padding:8px 16px; border-radius:8px; border:1px solid rgba(var(--accent-rgb),.3); background:rgba(var(--accent-rgb),.1); color:var(--matrix-color); cursor:pointer; font-family:inherit; font-size:.84rem; }
#sima-panel .sima-empty .act:hover { background:rgba(var(--accent-rgb),.18); }
#sima-panel .sima-empty.error .ico { color:#ff6666; background:rgba(255,68,68,.08); border-color:rgba(255,68,68,.25); }
/* skeleton shimmer (placeholder de carga) */
@keyframes sima-shimmer { 0% { background-position:-360px 0; } 100% { background-position:360px 0; } }
#sima-panel .sima-skel { height:14px; border-radius:6px; margin:9px 0; background:linear-gradient(90deg, rgba(var(--accent-rgb),.05) 25%, rgba(var(--accent-rgb),.13) 37%, rgba(var(--accent-rgb),.05) 63%); background-size:720px 100%; animation:sima-shimmer 1.3s ease-in-out infinite; }
#sima-panel .breadcrumb { font-size:.82rem; color:var(--text-muted); margin-bottom:16px; display:flex; align-items:center; gap:6px; }
#sima-panel .breadcrumb a { color:var(--matrix-color); cursor:pointer; text-decoration:none; }
#sima-panel .search-bar { display:flex; gap:10px; margin-bottom:16px; }
#sima-panel .search-bar input { flex:1; padding:9px 14px; background:rgba(var(--accent-rgb),.05); border:1px solid rgba(var(--accent-rgb),.15); border-radius:8px; color:var(--text-main); font-size:.88rem; font-family:inherit; outline:none; }
#sima-panel .search-bar input::placeholder { color:var(--text-muted); }
#sima-panel .tabs { display:flex; gap:0; border-bottom:1px solid var(--glass-border); margin-bottom:20px; }
#sima-panel .tab-btn { padding:10px 18px; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:.88rem; font-family:inherit; border-bottom:2px solid transparent; transition:color .15s; }
#sima-panel .tab-btn.active { color:var(--matrix-color); border-bottom-color:var(--matrix-color); }
#sima-panel .tab-btn:hover { color:var(--text-main); }
#sima-panel .chip-item { display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid var(--glass-border); border-radius:7px; margin-bottom:6px; }
#sima-panel .chip-label { flex:1; font-size:.85rem; color:var(--text-main); }
#sima-panel ::-webkit-scrollbar { width:5px; height:5px; }
#sima-panel ::-webkit-scrollbar-track { background:transparent; }
#sima-panel ::-webkit-scrollbar-thumb { background:rgba(var(--accent-rgb),.2); border-radius:3px; }
#sima-panel.sima-col { --sidebar-w:52px; }
#sima-panel.sima-col .sidebar-header { justify-content:center; padding:18px 0; }
#sima-panel.sima-col .sb-brand { display:none; }
#sima-panel.sima-col .sima-toggle { transform:rotate(180deg); }
#sima-panel.sima-col .sima-nav-group { display:none; }
#sima-panel.sima-col .nav-label { display:none; }
#sima-panel.sima-col .sima-nav-badge { display:none !important; }
#sima-panel.sima-col .sima-nav-item { justify-content:center; margin:0 8px; padding:11px 0; gap:0; }
#sima-panel.sima-col .sima-nav-item.active::before { display:none; }
#sima-panel.sima-col .sima-nav-item i { width:auto; }
#sima-panel.sima-col .sima-user-label-text { display:none; }
#sima-panel.sima-col .sima-btn-logout { padding:9px 0; justify-content:center; gap:0; }
#sima-panel.sima-col .sima-sidebar-footer { padding:10px 0; }
@media (max-width:768px) {
  #sima-panel .sima-section { padding:16px; }
  #sima-panel .stat-grid { grid-template-columns:1fr 1fr; }
  #sima-panel .form-row { grid-template-columns:1fr; }
}
/* ── Paleta de comandos (⌘K / /) ─────────────────────────────────────────── */
#sima-panel #sima-palette { position:absolute; inset:0; background:rgba(0,0,0,.5); z-index:600; display:flex; align-items:flex-start; justify-content:center; padding-top:12vh; }
#sima-panel .sima-palette-box { width:min(560px,92vw); border-radius:14px; overflow:hidden; border:1px solid rgba(var(--accent-rgb),.25); box-shadow:0 20px 60px rgba(0,0,0,.5); }
#sima-panel .sima-palette-head { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--glass-border); color:var(--text-muted); }
#sima-panel .sima-palette-head input { flex:1; background:none; border:none; outline:none; color:var(--text-main); font-size:1rem; font-family:inherit; }
#sima-panel .sima-palette-list { max-height:46vh; overflow-y:auto; padding:6px; }
#sima-panel .sima-pal-item { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:10px 12px; border-radius:9px; cursor:pointer; }
#sima-panel .sima-pal-item i { font-size:1.05rem; color:var(--text-muted); }
#sima-panel .sima-pal-item .t { color:var(--text-main); font-size:.9rem; }
#sima-panel .sima-pal-item .s { color:var(--text-muted); font-size:.74rem; white-space:nowrap; }
#sima-panel .sima-pal-item.sel { background:rgba(var(--accent-rgb),.14); }
#sima-panel .sima-pal-item.sel i, #sima-panel .sima-pal-item.sel .t { color:var(--matrix-color); }
#sima-panel .sima-pal-empty { padding:24px; text-align:center; color:var(--text-muted); font-size:.85rem; }
#sima-panel .sima-palette-foot { display:flex; gap:14px; padding:8px 14px; border-top:1px solid var(--glass-border); font-size:.72rem; color:var(--text-muted); }
/* teclas (kbd), HUD de atajos y chuleta */
#sima-panel kbd { display:inline-block; min-width:18px; text-align:center; padding:1px 6px; border-radius:5px; background:rgba(var(--accent-rgb),.1); border:1px solid rgba(var(--accent-rgb),.25); color:var(--text-main); font-family:monospace; font-size:.74rem; }
#sima-panel .sima-key-hint { margin-left:auto; font-family:monospace; font-size:.66rem; padding:1px 6px; border-radius:5px; background:rgba(var(--accent-rgb),.16); border:1px solid rgba(var(--accent-rgb),.3); color:var(--matrix-color); }
#sima-panel.sima-col .sima-key-hint { display:none; }
#sima-panel .sima-cheat td { padding:5px 8px; border:none; }
#sima-panel .sima-cheat td:first-child { white-space:nowrap; }
