/* =====================================================
   NEXUS — Sistema Integral de Control Criminal
   Estilos Globales v4 · Modo Día / Noche
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Barlow+Condensed:ital,wght@0,300;0,400;0,600;0,700;1,300&family=Share+Tech+Mono&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}

/* =====================================================
   TEMA — NOCHE (default)
   ===================================================== */
:root,[data-theme="dark"]{
  --bg:#06090f; --bg2:#0b1120; --bg3:#0f1829; --panel:#0d1627;
  --cyan:#00c8e0; --cyan2:#00e5ff; --cyan3:#006d7a; --cyan4:rgba(0,200,224,.08);
  --blue:#1565c0; --blue2:#1976d2;
  --amber:#f59e0b; --green:#22c55e; --red:#ef4444;
  --white:#ffffff;
  --text:#c8d8e8; --text2:#6a8098; --text3:#3a5068;
  --border:#1a2f45; --border2:#0f2035;
  --shadow:rgba(0,200,224,.1);
  --scanline:rgba(0,200,224,.015);
  --mono:'Share Tech Mono',monospace;
  --title:'Rajdhani',sans-serif;
  --cond:'Barlow Condensed',sans-serif;
  --logo-filter:none;
  --logo-bg:transparent;
}

/* =====================================================
   TEMA — DÍA
   ===================================================== */
[data-theme="light"]{
  /* Slate azulado oscuro — sin blancos saturados */
  --bg:#e8edf2; --bg2:#dce3eb; --bg3:#d0d9e3; --panel:#f2f5f8;
  --cyan:#0a7a96; --cyan2:#0995b5; --cyan3:#6ab4c8; --cyan4:rgba(10,122,150,.09);
  --blue:#2979c8; --blue2:#3a8fd8;
  --amber:#b06010; --green:#187a3e; --red:#b82828;
  --white:#0d1e2e;
  --text:#1a2e40; --text2:#3d5870; --text3:#6a8898;
  --border:#b8cad8; --border2:#a0b8c8;
  --shadow:rgba(10,122,150,.12);
  --scanline:rgba(10,122,150,.025);
  --logo-filter:none;
  --logo-bg:transparent;
}

/* =====================================================
   BODY + FONDO
   ===================================================== */
html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--cond);font-size:16.5px;transition:background .3s,color .3s;}

/* Grid pattern */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--scanline) 1px,transparent 1px),
    linear-gradient(90deg,var(--scanline) 1px,transparent 1px);
  background-size:40px 40px;
  animation:gridShift 20s linear infinite;
}
@keyframes gridShift{0%{background-position:0 0;}100%{background-position:40px 40px;}}

/* Ambient glow */
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 15% 50%,rgba(0,200,224,.04) 0%,transparent 50%),
             radial-gradient(ellipse at 85% 20%,rgba(245,158,11,.03) 0%,transparent 40%);
  transition:opacity .3s;
}
[data-theme="light"] body::after{opacity:.5;}

/* =====================================================
   THEME TOGGLE BUTTON
   ===================================================== */
.theme-toggle{
  background:transparent;border:1px solid var(--border);
  color:var(--text2);font-size:1rem;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .25s;position:relative;overflow:hidden;flex-shrink:0;
}
.theme-toggle:hover{border-color:var(--cyan);color:var(--cyan);}
.theme-toggle .icon-sun,.theme-toggle .icon-moon{
  position:absolute;transition:transform .4s,opacity .4s;
}
[data-theme="light"] .theme-toggle .icon-moon{transform:translateY(-120%);opacity:0;}
[data-theme="light"] .theme-toggle .icon-sun{transform:translateY(0);opacity:1;}
[data-theme="dark"]  .theme-toggle .icon-sun{transform:translateY(120%);opacity:0;}
[data-theme="dark"]  .theme-toggle .icon-moon{transform:translateY(0);opacity:1;}

/* =====================================================
   TOPBAR
   ===================================================== */
.topbar{
  background:rgba(6,9,15,.97);border-bottom:1px solid var(--border);
  padding:.32rem 1.5rem;display:flex;justify-content:space-between;align-items:center;
  position:relative;z-index:100;transition:background .3s,border-color .3s;
}
[data-theme="light"] .topbar{background:rgba(28,46,62,.96);}
.topbar-l{font-size:.62rem;color:var(--text3);letter-spacing:.14em;display:flex;align-items:center;gap:.4rem;}
.topbar-l::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);display:inline-block;animation:blink 2s infinite;}
.topbar-r{display:flex;align-items:center;gap:.9rem;font-size:.6rem;color:var(--text2);letter-spacing:.1em;}
.topbar-r span{display:flex;align-items:center;gap:.28rem;}
.topbar-badge{color:var(--cyan);border:1px solid var(--cyan3);padding:.1rem .45rem;font-size:.56rem;letter-spacing:.1em;}

@keyframes blink{0%,100%{opacity:1;}50%{opacity:.2;}}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-12px);}to{opacity:1;transform:translateX(0);}}
@keyframes scanIn{from{opacity:0;clip-path:inset(0 100% 0 0);}to{opacity:1;clip-path:inset(0 0% 0 0);}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,200,224,0);}50%{box-shadow:0 0 12px 2px rgba(0,200,224,.15);}}
@keyframes spinSlow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}

/* =====================================================
   HEADER
   ===================================================== */
.header{
  background:rgba(11,17,32,.98);border-bottom:1px solid var(--border);
  padding:.55rem 1.5rem;display:flex;align-items:center;gap:1rem;
  position:sticky;top:0;z-index:99;
  transition:background .3s,border-color .3s;
  animation:fadeInUp .4s ease both;
}
[data-theme="light"] .header{background:rgba(34,55,74,.97);}

/* LOGO NEXUS */
.logo-wrap{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:opacity .2s;}
.logo-wrap:hover{opacity:.85;}
.logo-img-wrap{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;position:relative;
}
.logo-img-wrap img{width:44px;height:44px;object-fit:contain;transition:filter .3s;}
/* Glow on hover */
.logo-wrap:hover .logo-img-wrap img{filter:drop-shadow(0 0 8px rgba(0,200,224,.5));}

.logo-text-main{
  font-family:var(--title);font-size:1.1rem;font-weight:700;
  color:var(--white);letter-spacing:.16em;line-height:1;
  background:linear-gradient(90deg,var(--white) 60%,var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
[data-theme="light"] .logo-text-main{
  background:linear-gradient(90deg,var(--white) 0%,var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.logo-text-sub{font-size:.52rem;color:var(--text2);letter-spacing:.16em;margin-top:.12rem;}

.hdr-sep{width:1px;height:2.4rem;background:var(--border);margin:0 .3rem;}
.hdr-motto{font-size:.62rem;color:var(--text3);letter-spacing:.07em;line-height:1.8;font-style:italic;}

.nav{margin-left:auto;display:flex;align-items:center;gap:0;}
.nav-item{
  font-family:var(--title);font-size:.8rem;font-weight:600;
  color:var(--text2);padding:.45rem .85rem;cursor:pointer;
  letter-spacing:.12em;border-bottom:2px solid transparent;
  transition:all .2s;text-transform:uppercase;text-decoration:none;
  display:flex;align-items:center;gap:.3rem;position:relative;
}
.nav-item::after{
  content:'';position:absolute;bottom:-2px;left:0;right:100%;height:2px;
  background:var(--cyan);transition:right .25s ease;
}
.nav-item:hover::after{right:0;}
.nav-item:hover{color:var(--cyan);}
.nav-item.active{color:var(--cyan);}
.nav-item.active::after{right:0;}

.nav-user{display:flex;align-items:center;gap:.6rem;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--border);}
.nav-user-name{font-size:.68rem;color:var(--cyan);letter-spacing:.08em;}
.nav-user-role{font-size:.56rem;color:var(--text3);}
.nav-av{
  width:30px;height:30px;border:1px solid var(--cyan);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--title);font-size:.6rem;font-weight:700;color:var(--cyan);
  flex-shrink:0;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;
}
.nav-av::before{content:'';position:absolute;inset:0;background:var(--cyan4);transform:scale(0);border-radius:50%;transition:transform .3s;}
.nav-av:hover::before{transform:scale(1.5);}
.nav-av:hover{box-shadow:0 0 10px rgba(0,200,224,.3);}

.nav-logout{
  background:transparent;border:1px solid var(--border);color:var(--text3);
  font-family:var(--mono);font-size:.5rem;padding:.25rem .6rem;cursor:pointer;
  letter-spacing:.08em;transition:all .2s;display:flex;align-items:center;gap:.25rem;
}
.nav-logout:hover{border-color:var(--red);color:var(--red);}
.nav-toggle{display:none;background:transparent;border:1px solid var(--border);color:var(--cyan);font-size:1.2rem;padding:.3rem .5rem;cursor:pointer;margin-left:.5rem;}

/* =====================================================
   MOBILE NAV
   ===================================================== */
.mobile-nav{display:none;flex-direction:column;background:var(--bg2);border-bottom:1px solid var(--border);padding:.5rem 0;position:relative;z-index:98;transition:background .3s;}
.mobile-nav.open{display:flex;animation:fadeInUp .2s ease;}
.mobile-nav .nav-item{padding:.65rem 1.5rem;border-bottom:none;border-left:2px solid transparent;}
.mobile-nav .nav-item.active{border-left:2px solid var(--cyan);border-bottom:none;}
.mobile-nav .nav-item::after{display:none;}

/* =====================================================
   PAGE HERO
   ===================================================== */
.page-hero{
  position:relative;overflow:hidden;background:var(--bg2);
  padding:1.5rem 1.5rem 1.1rem;border-bottom:1px solid var(--border);
  transition:background .3s,border-color .3s;
}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:shimmer 3s linear infinite;}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.1;pointer-events:none;z-index:0;}
[data-theme="light"] .hero-bg-img{opacity:.06;}

.hero-tag{font-size:.62rem;color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;position:relative;z-index:1;animation:fadeInLeft .5s .1s both;}
.hero-tag::before{content:'';width:1.5rem;height:1px;background:var(--cyan);}
.ph-title{font-family:var(--title);font-size:2rem;font-weight:700;color:var(--white);letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1;animation:fadeInLeft .5s .15s both;}
[data-theme="light"] .ph-title{color:var(--white);}
.ph-title span{color:var(--cyan);}
.ph-sub{font-size:.68rem;color:var(--text2);letter-spacing:.1em;margin-top:.2rem;position:relative;z-index:1;animation:fadeInLeft .5s .2s both;}
.ph-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.52rem;color:var(--green);letter-spacing:.1em;margin-top:.5rem;position:relative;z-index:1;}
.sdot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 2s infinite;}

.section-label{font-size:.62rem;color:var(--text3);letter-spacing:.22em;text-transform:uppercase;margin-bottom:.7rem;display:flex;align-items:center;gap:.6rem;}
.section-label::before,.section-label::after{content:'';flex:1;height:1px;background:var(--border);}
.content-area{padding:1rem 1.5rem;position:relative;z-index:1;}

/* =====================================================
   STAT CARDS
   ===================================================== */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;padding:.8rem 1.5rem;position:relative;z-index:1;}
.stat-card{
  background:var(--panel);border:1px solid var(--border);border-left:2px solid;
  padding:.8rem 1rem;display:flex;align-items:center;gap:.75rem;
  transition:all .25s;animation:fadeInUp .4s both;
}
.stat-card:nth-child(1){animation-delay:.05s;}
.stat-card:nth-child(2){animation-delay:.1s;}
.stat-card:nth-child(3){animation-delay:.15s;}
.stat-card:nth-child(4){animation-delay:.2s;}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--shadow);animation:glowPulse 1.5s ease infinite;}
.stat-card.s-cyan{border-left-color:var(--cyan);}   .stat-card.s-amber{border-left-color:var(--amber);}
.stat-card.s-green{border-left-color:var(--green);}  .stat-card.s-red{border-left-color:var(--red);}
.stat-icon{font-size:1.3rem;flex-shrink:0;transition:transform .2s;}
.stat-card:hover .stat-icon{transform:scale(1.15);}
.stat-card.s-cyan .stat-icon{color:var(--cyan);} .stat-card.s-amber .stat-icon{color:var(--amber);}
.stat-card.s-green .stat-icon{color:var(--green);} .stat-card.s-red .stat-icon{color:var(--red);}
.stat-num{font-family:var(--title);font-size:2.1rem;font-weight:700;color:var(--white);line-height:1;}
[data-theme="light"] .stat-num{color:var(--white);}
.stat-lbl{font-size:.58rem;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;margin-top:.1rem;}

/* =====================================================
   PANEL CARDS
   ===================================================== */
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:.7rem;margin-bottom:.7rem;}
.panel-card{background:var(--panel);border:1px solid var(--border);position:relative;overflow:hidden;transition:background .3s,border-color .3s;}
.panel-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.panel-head{padding:.55rem .9rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.panel-title{font-family:var(--title);font-size:.78rem;font-weight:700;color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:.35rem;}
.panel-count{font-size:.6rem;color:var(--text3);letter-spacing:.1em;}
.panel-body{padding:.65rem .9rem;}

/* =====================================================
   ROWS
   ===================================================== */
.case-row{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:all .2s;text-decoration:none;}
[data-theme="light"] .case-row{border-bottom:1px solid var(--border);}
.case-row:last-child{border-bottom:none;}
.case-row:hover{background:rgba(0,200,224,.06);margin:0 -.9rem;padding-left:.9rem;padding-right:.9rem;transform:translateX(3px);}
.case-num{font-size:.62rem;color:var(--text3);width:2.8rem;flex-shrink:0;font-family:var(--mono);}
.case-name{font-family:var(--title);font-size:.9rem;font-weight:600;color:var(--white);flex:1;letter-spacing:.04em;}
[data-theme="light"] .case-name{color:var(--white);}

.det-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s;}
[data-theme="light"] .det-row{border-bottom:1px solid var(--border);}
.det-row:last-child{border-bottom:none;}
.det-av{width:26px;height:26px;border:1px solid var(--cyan3);display:flex;align-items:center;justify-content:center;font-size:.5rem;color:var(--cyan);font-weight:700;font-family:var(--title);flex-shrink:0;transition:border-color .2s;}
.det-nm{font-size:.76rem;font-weight:600;color:var(--white);flex:1;font-family:var(--title);letter-spacing:.04em;}
[data-theme="light"] .det-nm{color:var(--white);}
.det-rk{font-size:.6rem;color:var(--text3);}
.det-dp{font-size:.52rem;padding:.1rem .32rem;background:rgba(0,200,224,.06);color:var(--cyan);border:1px solid var(--cyan3);letter-spacing:.06em;}

/* =====================================================
   BADGES + PILLS + TAGS
   ===================================================== */
.badge{font-size:.54rem;padding:.18rem .48rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid;white-space:nowrap;}
.b-open{background:rgba(239,68,68,.1);color:#f87171;border-color:rgba(239,68,68,.3);}
.b-inv{background:rgba(245,158,11,.1);color:#fbbf24;border-color:rgba(245,158,11,.3);}
.b-closed{background:rgba(34,197,94,.1);color:#4ade80;border-color:rgba(34,197,94,.3);}
.b-susp{background:rgba(255,255,255,.05);color:var(--text2);border-color:var(--border);}
.pill{font-size:.54rem;padding:.18rem .48rem;border:1px solid;font-weight:700;letter-spacing:.08em;}
.pill-cap{background:rgba(34,197,94,.1);color:#4ade80;border-color:rgba(34,197,94,.3);}
.pill-act{background:rgba(245,158,11,.1);color:#fbbf24;border-color:rgba(245,158,11,.3);}
.tag{font-size:.52rem;padding:.14rem .38rem;background:rgba(0,200,224,.06);border:1px solid var(--cyan3);color:var(--cyan);margin-right:.2rem;display:inline-block;margin-top:.1rem;letter-spacing:.06em;}
.rol-badge{font-size:.42rem;padding:.1rem .35rem;border:1px solid;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
.rol-Criminal{background:rgba(239,68,68,.1);color:#f87171;border-color:rgba(239,68,68,.3);}
.rol-Victima{background:rgba(99,102,241,.1);color:#a5b4fc;border-color:rgba(99,102,241,.3);}
.rol-Testigo{background:rgba(34,197,94,.1);color:#4ade80;border-color:rgba(34,197,94,.3);}
.rol-Sospechoso{background:rgba(245,158,11,.1);color:#fbbf24;border-color:rgba(245,158,11,.3);}

/* =====================================================
   TOOLBAR
   ===================================================== */
.toolbar{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center;flex-wrap:wrap;}
.search-wrap{flex:1;min-width:180px;position:relative;}
.search-box{width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.75rem;padding:.5rem .8rem .5rem 2.2rem;outline:none;transition:all .2s;}
.search-box:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,200,224,.1);}
.search-box::placeholder{color:var(--text3);}
.search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:.9rem;pointer-events:none;}
.flt-btn{background:transparent;border:1px solid var(--border);color:var(--text2);font-family:var(--title);font-size:.7rem;padding:.5rem .85rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .2s;}
.flt-btn:hover,.flt-btn.act{background:var(--cyan4);border-color:var(--cyan);color:var(--cyan);}

/* =====================================================
   TABLE
   ===================================================== */
.tbl-wrap{overflow-x:auto;}
.tbl{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);min-width:600px;transition:background .3s;}
.tbl th{text-align:left;padding:.65rem 1rem;color:var(--cyan);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--cyan3);font-weight:600;background:rgba(0,200,224,.04);font-family:var(--title);}
.tbl td{padding:.6rem 1rem;border-bottom:1px solid var(--border);font-size:.72rem;vertical-align:middle;}
.tbl tr{cursor:pointer;transition:background .15s;}
.tbl tr:hover td{background:rgba(0,200,224,.04);}
.tbl-title{font-family:var(--title);font-size:.88rem;font-weight:600;color:var(--white);letter-spacing:.04em;}
[data-theme="light"] .tbl-title{color:var(--white);}
.tbl-desc{font-size:.62rem;color:var(--text2);margin-top:.12rem;line-height:1.45;}
.budget{color:var(--cyan);font-weight:600;font-family:var(--mono);}

/* =====================================================
   DET GRID
   ===================================================== */
.det-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;}
.det-card{background:var(--panel);border:1px solid var(--border);padding:.85rem;transition:all .25s;cursor:pointer;position:relative;overflow:hidden;animation:fadeInUp .4s both;}
.det-card:nth-child(3n+1){animation-delay:.05s;}
.det-card:nth-child(3n+2){animation-delay:.1s;}
.det-card:nth-child(3n){animation-delay:.15s;}
.det-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;transition:opacity .3s;}
.det-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(0,200,224,.05),transparent 70%);opacity:0;transition:opacity .3s;}
.det-card:hover{border-color:var(--cyan3);transform:translateY(-3px);box-shadow:0 6px 20px var(--shadow);}
.det-card:hover::before,.det-card:hover::after{opacity:1;}
.det-card-top{display:flex;gap:.6rem;align-items:center;margin-bottom:.6rem;}
.det-card-av{width:38px;height:38px;border:1px solid var(--cyan3);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--cyan);font-weight:700;font-family:var(--title);flex-shrink:0;transition:all .2s;}
.det-card:hover .det-card-av{border-color:var(--cyan);box-shadow:0 0 8px rgba(0,200,224,.2);}
.det-card-nm{font-family:var(--title);font-size:.95rem;font-weight:700;color:var(--white);line-height:1.2;letter-spacing:.04em;}
[data-theme="light"] .det-card-nm{color:var(--white);}
.det-card-user{font-size:.6rem;color:var(--text3);font-family:var(--mono);}
.det-info-row{display:flex;justify-content:space-between;font-size:.64rem;padding:.2rem 0;border-top:1px solid var(--border);}
.di-lbl{color:var(--text3);letter-spacing:.08em;}
.di-val{color:var(--white);font-weight:600;font-family:var(--title);letter-spacing:.06em;}
[data-theme="light"] .di-val{color:var(--white);}

/* =====================================================
   CRIMINALES
   ===================================================== */
.crim-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;}
.crim-card{background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--red);padding:.85rem;cursor:pointer;transition:all .25s;animation:fadeInUp .4s both;}
.crim-card:hover{border-color:var(--cyan3);transform:translateX(3px);}
.crim-card.pending{border-left-color:var(--amber);}
.crim-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;}
.crim-alias{font-family:var(--title);font-size:1.18rem;font-weight:700;color:#f87171;letter-spacing:.07em;}
.crim-card.pending .crim-alias{color:#fbbf24;}
.crim-fullname{font-size:.64rem;color:var(--text3);margin-top:.1rem;font-family:var(--mono);}
.crim-exp{font-size:.5rem;color:var(--text3);font-family:var(--mono);}
.crim-charges{font-size:.7rem;color:var(--text);margin:.42rem 0;line-height:1.55;font-style:italic;}
.crim-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.42rem;border-top:1px solid var(--border);font-size:.52rem;}
.crim-condena{color:var(--text2);}
.crim-condena b{color:var(--cyan);font-family:var(--mono);}

/* =====================================================
   EVIDENCIAS
   ===================================================== */
.evid-list{display:flex;flex-direction:column;gap:.45rem;}
.evid-item{background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--cyan3);padding:.65rem .9rem;display:flex;gap:.85rem;align-items:center;transition:all .2s;cursor:pointer;}
.evid-item:hover{border-left-color:var(--cyan);transform:translateX(3px);box-shadow:0 2px 8px var(--shadow);}
.evid-icon{width:34px;height:34px;background:rgba(0,200,224,.06);border:1px solid var(--cyan3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cyan);font-size:1rem;transition:all .2s;}
.evid-item:hover .evid-icon{border-color:var(--cyan);}
.evid-type{font-size:.58rem;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin-bottom:.12rem;font-family:var(--title);}
.evid-desc{font-size:.76rem;color:var(--white);}
[data-theme="light"] .evid-desc{color:var(--white);}
.evid-path{font-size:.58rem;color:var(--text3);font-family:var(--mono);margin-top:.12rem;}
.evid-nofile{font-size:.48rem;color:var(--text3);font-style:italic;}
.evid-right{text-align:right;flex-shrink:0;}
.evid-caso{font-size:.62rem;background:rgba(0,200,224,.08);color:var(--cyan);padding:.14rem .42rem;font-family:var(--mono);border:1px solid var(--cyan3);display:inline-block;}
.evid-det{font-size:.48rem;color:var(--text3);margin-top:.2rem;}
.evid-id{font-size:.42rem;color:var(--text3);margin-top:.12rem;font-family:var(--mono);}

/* =====================================================
   ACCESOS DIRECTOS
   ===================================================== */
.accesos-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;}
.acc-card{background:var(--panel);border:1px solid var(--border);padding:1rem .6rem;text-align:center;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;text-decoration:none;display:block;animation:fadeInUp .4s both;}
.acc-card:nth-child(1){animation-delay:.05s;}
.acc-card:nth-child(2){animation-delay:.1s;}
.acc-card:nth-child(3){animation-delay:.15s;}
.acc-card:nth-child(4){animation-delay:.2s;}
.acc-card:nth-child(5){animation-delay:.25s;}
.acc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.acc-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(0,200,224,.08),transparent 60%);opacity:0;transition:opacity .3s;}
.acc-card:hover{border-color:var(--cyan3);transform:translateY(-3px);box-shadow:0 6px 20px var(--shadow);}
.acc-card:hover::after{transform:scaleX(1);}
.acc-card:hover::before{opacity:1;}
.acc-icon{width:38px;height:38px;background:rgba(0,200,224,.08);border:1px solid rgba(0,200,224,.2);display:flex;align-items:center;justify-content:center;margin:0 auto .65rem;color:var(--cyan);font-size:1.1rem;transition:all .25s;}
.acc-card:hover .acc-icon{background:rgba(0,200,224,.15);border-color:var(--cyan);box-shadow:0 0 10px rgba(0,200,224,.2);}
.acc-label{font-family:var(--title);font-size:.88rem;font-weight:700;color:var(--white);letter-spacing:.1em;text-transform:uppercase;}
[data-theme="light"] .acc-label{color:var(--white);}
.acc-sub{font-size:.58rem;color:var(--text3);margin-top:.18rem;letter-spacing:.06em;}

/* =====================================================
   CHART CARD
   ===================================================== */
.chart-card{background:var(--bg3);border:1px solid var(--border);padding:1.1rem;position:relative;transition:background .3s;}
.chart-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:shimmer 3s linear infinite;}
.chart-title{font-size:.62rem;color:var(--text3);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.9rem;text-align:center;font-family:var(--title);}
.chart-wrap{position:relative;width:120px;height:120px;margin:0 auto .9rem;}
.chart-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.chart-center-num{font-family:var(--title);font-size:2.1rem;font-weight:700;color:var(--white);line-height:1;}
.chart-center-sub{font-size:.54rem;color:var(--text3);letter-spacing:.14em;text-transform:uppercase;}
.legend-row{display:flex;justify-content:space-between;align-items:center;padding:.28rem 0;border-top:1px solid var(--border);}
.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.legend-lbl{font-size:.62rem;color:var(--text2);letter-spacing:.08em;flex:1;margin-left:.4rem;font-family:var(--title);}
.legend-val{font-family:var(--title);font-size:.95rem;font-weight:700;color:var(--white);}

/* =====================================================
   MODAL
   ===================================================== */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:500;display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);}
.overlay.open{display:flex;animation:fadeInUp .2s ease;}
.modal{background:var(--bg2);border:1px solid var(--cyan3);width:100%;max-width:780px;max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;animation:fadeInUp .25s ease;}
.modal::-webkit-scrollbar{width:3px;}
.modal::-webkit-scrollbar-thumb{background:var(--cyan3);}
.modal::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.modal-head{padding:.9rem 1.2rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0;position:sticky;top:0;background:var(--bg2);z-index:2;}
.modal-title{font-family:var(--title);font-size:1.4rem;font-weight:700;color:var(--white);letter-spacing:.06em;text-transform:uppercase;}
[data-theme="light"] .modal-title{color:var(--white);}
.modal-sub{font-size:.62rem;color:var(--text3);font-family:var(--mono);margin-top:.1rem;}
.modal-close{background:transparent;border:1px solid var(--border);color:var(--text3);font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s;}
.modal-close:hover{border-color:var(--red);color:var(--red);}
.modal-body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:1rem;}
.modal-section-title{font-family:var(--title);font-size:.7rem;font-weight:700;color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem;}
.modal-section-title::before{content:'';width:.8rem;height:1px;background:var(--cyan);}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.info-cell{background:var(--panel);border:1px solid var(--border);padding:.6rem .75rem;transition:background .3s;}
.info-label{font-size:.56rem;color:var(--text3);letter-spacing:.14em;text-transform:uppercase;font-family:var(--title);margin-bottom:.25rem;}
.info-value{font-size:.82rem;color:var(--white);font-family:var(--title);font-weight:600;letter-spacing:.04em;}
[data-theme="light"] .info-value{color:var(--white);}
.info-value.cyan{color:var(--cyan);} .info-value.amber{color:#fbbf24;} .info-value.red{color:#f87171;} .info-value.green{color:#4ade80;}
.involucrado-row{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border:1px solid var(--border);background:var(--panel);margin-bottom:.35rem;transition:all .2s;}
.involucrado-row:last-child{margin-bottom:0;}
.involucrado-row:hover{border-color:var(--cyan3);}
.evid-mini{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border:1px solid var(--border);background:var(--panel);margin-bottom:.3rem;transition:all .2s;}
.evid-mini:last-child{margin-bottom:0;}
.evid-mini:hover{border-color:var(--cyan3);}

/* =====================================================
   SIDE PANEL
   ===================================================== */
.side-panel{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:var(--bg2);border-left:1px solid var(--cyan3);z-index:600;display:flex;flex-direction:column;transition:right .35s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.side-panel::before{content:'';position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--cyan),transparent);}
.side-panel.open{right:0;}
.side-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:599;display:none;backdrop-filter:blur(2px);}
.side-overlay.open{display:block;}
.side-head{padding:1rem 1.2rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.side-title{font-family:var(--title);font-size:1.15rem;font-weight:700;color:var(--white);letter-spacing:.08em;text-transform:uppercase;}
[data-theme="light"] .side-title{color:var(--white);}
.side-close{background:transparent;border:1px solid var(--border);color:var(--text3);font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;}
.side-close:hover{border-color:var(--red);color:var(--red);}
.side-body{flex:1;overflow-y:auto;padding:1rem 1.2rem;}
.side-body::-webkit-scrollbar{width:3px;}
.side-body::-webkit-scrollbar-thumb{background:var(--cyan3);}
.caso-mini{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s;}
.caso-mini:last-child{border-bottom:none;}
.caso-mini:hover{background:rgba(0,200,224,.05);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;transform:translateX(3px);}
.movimiento-row{display:flex;gap:.7rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--border);}
.movimiento-row:last-child{border-bottom:none;}
.mov-dot{width:8px;height:8px;border:1px solid var(--cyan);border-radius:50%;flex-shrink:0;margin-top:.15rem;animation:glowPulse 2s ease infinite;}
.mov-fecha{font-size:.58rem;color:var(--text3);font-family:var(--mono);white-space:nowrap;width:5rem;flex-shrink:0;}
.mov-desc{font-size:.7rem;color:var(--text);}
.mov-tipo{font-size:.52rem;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin-top:.1rem;}

/* =====================================================
   LOGIN
   ===================================================== */
.login-page{min-height:100vh;display:flex;flex-direction:column;}
.login-topbar{background:rgba(6,9,15,.97);border-bottom:1px solid var(--border);padding:.35rem 1.5rem;font-size:.55rem;color:var(--text3);letter-spacing:.14em;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;font-family:var(--mono);transition:background .3s;}
[data-theme="light"] .login-topbar{background:rgba(28,46,62,.96);}
.login-topbar-left{display:flex;align-items:center;gap:.4rem;}
.login-topbar-left::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:blink 2s infinite;display:inline-block;}
.login-header{background:rgba(11,17,32,.98);border-bottom:1px solid var(--border);padding:.7rem 1.5rem;display:flex;align-items:center;gap:.9rem;flex-shrink:0;transition:background .3s;}
[data-theme="light"] .login-header{background:rgba(34,55,74,.97);}

.login-hero{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg2);min-height:420px;overflow:hidden;transition:background .3s;}
.login-hero-grid{position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(90deg,var(--cyan) 0,var(--cyan) 1px,transparent 1px,transparent 55px),repeating-linear-gradient(0deg,var(--cyan) 0,var(--cyan) 1px,transparent 1px,transparent 55px);pointer-events:none;animation:gridShift 30s linear infinite;}
.login-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 50%,rgba(0,200,224,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(245,158,11,.05) 0%,transparent 40%);pointer-events:none;}
.login-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.14;pointer-events:none;z-index:0;}
[data-theme="light"] .login-hero-img{opacity:.07;}

/* Scan line animation */
.scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,200,224,.3),transparent);z-index:1;pointer-events:none;animation:scanMove 6s linear infinite;}
@keyframes scanMove{0%{top:-2px;opacity:0;}5%{opacity:1;}95%{opacity:1;}100%{top:100%;opacity:0;}}

/* Floating particles */
.particles{position:absolute;inset:0;pointer-events:none;z-index:1;}
.particle{position:absolute;width:2px;height:2px;background:var(--cyan);border-radius:50%;animation:float 8s ease-in-out infinite;}
.particle:nth-child(1){left:10%;top:20%;animation-delay:0s;}
.particle:nth-child(2){left:80%;top:15%;animation-delay:1.5s;}
.particle:nth-child(3){left:45%;top:70%;animation-delay:3s;}
.particle:nth-child(4){left:25%;top:55%;animation-delay:4.5s;background:var(--amber);width:3px;height:3px;}
.particle:nth-child(5){left:70%;top:40%;animation-delay:2s;}
.particle:nth-child(6){left:90%;top:65%;animation-delay:5.5s;background:var(--amber);}
@keyframes float{0%,100%{transform:translateY(0) scale(1);opacity:.6;}50%{transform:translateY(-20px) scale(1.2);opacity:1;}}

.hero-text{position:absolute;left:4rem;top:50%;transform:translateY(-50%);pointer-events:none;z-index:2;}
.hero-text-tag{font-size:.62rem;color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;animation:fadeInLeft .6s .2s both;}
.hero-text-tag::before{content:'';width:1.5rem;height:1px;background:var(--cyan);}
.hero-text-title{font-family:var(--title);font-size:2.8rem;font-weight:700;color:var(--white);line-height:1.1;text-transform:uppercase;letter-spacing:.04em;animation:fadeInLeft .6s .3s both;}
.hero-text-title span{color:var(--cyan);}
.hero-text-sub{font-size:.66rem;color:var(--text3);margin-top:.7rem;letter-spacing:.12em;line-height:1.9;text-transform:uppercase;animation:fadeInLeft .6s .4s both;}

/* BIG LOGO in hero */
.hero-logo-big{position:absolute;right:5%;top:50%;transform:translateY(-50%);z-index:2;animation:fadeInUp .8s .3s both;pointer-events:none;}
.hero-logo-big img{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 0 30px rgba(0,200,224,.25)) drop-shadow(0 0 60px rgba(245,158,11,.1));animation:pulse 4s ease-in-out infinite;}
@media(max-width:900px){.hero-logo-big{display:none;}}

.login-card{background:rgba(13,22,39,.93);border:1px solid var(--border);border-top:none;padding:2rem 1.8rem 1.8rem;width:300px;position:relative;z-index:3;animation:fadeInUp .5s .5s both;}
[data-theme="light"] .login-card{background:rgba(240,244,248,.96);}
.login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.lc-title{font-family:var(--title);font-size:1.2rem;font-weight:700;color:var(--white);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.15rem;}
[data-theme="light"] .lc-title{color:var(--white);}
.lc-sub{font-size:.62rem;color:var(--text3);letter-spacing:.1em;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:1px solid var(--border);font-family:var(--mono);}
.lbl{font-size:.6rem;font-weight:600;color:var(--text3);letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:.32rem;font-family:var(--title);}
.linput{width:100%;background:rgba(0,200,224,.03);border:1px solid var(--border);border-bottom:1px solid var(--cyan3);color:var(--white);font-family:var(--mono);font-size:.85rem;padding:.52rem .75rem;outline:none;transition:all .25s;margin-bottom:.9rem;}
[data-theme="light"] .linput{background:rgba(13,122,156,.04);color:var(--white);}
.linput:focus{border-color:var(--cyan);background:rgba(0,200,224,.06);box-shadow:0 0 0 2px rgba(0,200,224,.1);}
.linput::placeholder{color:var(--text3);}
.login-btn{width:100%;background:transparent;border:1px solid var(--cyan);color:var(--cyan);font-family:var(--title);font-size:1rem;font-weight:700;letter-spacing:.18em;padding:.68rem;cursor:pointer;text-transform:uppercase;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.35rem;position:relative;overflow:hidden;}
.login-btn::before{content:'';position:absolute;inset:0;background:var(--cyan);transform:translateX(-100%);transition:transform .3s;}
.login-btn:hover::before{transform:translateX(0);}
.login-btn span,.login-btn i{position:relative;z-index:1;transition:color .3s;}
.login-btn:hover span,.login-btn:hover i{color:var(--bg);}
.login-err{color:#f87171;font-size:.68rem;margin-top:.6rem;text-align:center;min-height:.85rem;letter-spacing:.06em;font-family:var(--mono);}
.login-hint{font-size:.6rem;color:var(--text3);margin-top:.9rem;text-align:center;line-height:1.9;font-family:var(--mono);}
.quicklinks{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);flex-shrink:0;}
.ql{background:var(--bg2);padding:.75rem .6rem;text-align:center;cursor:pointer;border-right:1px solid var(--border);transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.35rem;}
.ql:hover{background:rgba(0,200,224,.06);transform:translateY(-2px);}
.ql i{font-size:1.15rem;color:var(--text3);transition:color .2s,transform .2s;}
.ql:hover i{color:var(--cyan);transform:scale(1.1);}
.ql-label{font-family:var(--title);font-size:.65rem;font-weight:600;color:var(--text3);letter-spacing:.08em;transition:color .2s;}
.ql:hover .ql-label{color:var(--cyan);}

/* =====================================================
   PERFIL PAGE
   ===================================================== */
.perfil-hero-card{background:var(--bg2);border:1px solid var(--border);padding:1.8rem;display:flex;gap:1.5rem;align-items:center;margin-bottom:1rem;position:relative;overflow:hidden;}
.perfil-hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.perfil-big-avatar{width:80px;height:80px;border:2px solid var(--cyan);display:flex;align-items:center;justify-content:center;font-family:var(--title);font-size:2rem;font-weight:700;color:var(--cyan);flex-shrink:0;animation:glowPulse 3s ease infinite;}
.perfil-info-main .perfil-nombre{font-family:var(--title);font-size:1.6rem;font-weight:700;color:var(--white);letter-spacing:.06em;}
[data-theme="light"] .perfil-info-main .perfil-nombre{color:var(--white);}
.perfil-info-main .perfil-cargo{font-size:.62rem;color:var(--cyan);letter-spacing:.12em;margin-top:.2rem;}
.perfil-info-main .perfil-dpto{font-size:.55rem;color:var(--text3);margin-top:.1rem;}
.perfil-stats{display:flex;gap:1.5rem;margin-top:.8rem;}
.pstat{text-align:center;}
.pstat-num{font-family:var(--title);font-size:1.4rem;font-weight:700;color:var(--cyan);line-height:1;}
.pstat-lbl{font-size:.46rem;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-top:.1rem;}

.perfil-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem;}
.perfil-section-title{font-family:var(--title);font-size:.62rem;font-weight:700;color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.7rem;display:flex;align-items:center;gap:.4rem;}
.perfil-section-title::before{content:'';width:.8rem;height:1px;background:var(--cyan);}
.perfil-info-row{display:flex;justify-content:space-between;padding:.38rem 0;border-bottom:1px solid var(--border);font-size:.7rem;}
.perfil-info-lbl{color:var(--text3);}
.perfil-info-val{color:var(--white);font-family:var(--title);font-weight:600;}
[data-theme="light"] .perfil-info-val{color:var(--white);}

.nota-item{background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--cyan);padding:.7rem .85rem;margin-bottom:.4rem;transition:all .2s;}
.nota-item:hover{border-left-color:var(--cyan2);transform:translateX(2px);}
.nota-item:last-child{margin-bottom:0;}
.nota-texto{font-size:.72rem;color:var(--text);line-height:1.6;}
.nota-fecha{font-size:.46rem;color:var(--text3);font-family:var(--mono);margin-bottom:.2rem;}
.nota-del{background:transparent;border:none;color:var(--text3);cursor:pointer;font-size:.7rem;float:right;transition:color .2s;}
.nota-del:hover{color:var(--red);}

.pista-item{background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--amber);padding:.7rem .85rem;margin-bottom:.4rem;transition:all .2s;}
.pista-item:hover{border-left-color:var(--amber);transform:translateX(2px);}
.pista-item:last-child{margin-bottom:0;}
.pista-texto{font-size:.72rem;color:var(--white);line-height:1.6;}
[data-theme="light"] .pista-texto{color:var(--white);}
.pista-caso{font-size:.46rem;color:var(--amber);font-family:var(--mono);margin-top:.2rem;}

.nota-input{width:100%;background:var(--panel);border:1px solid var(--border);border-bottom:1px solid var(--cyan3);color:var(--text);font-family:var(--cond);font-size:.75rem;padding:.55rem .75rem;outline:none;resize:vertical;margin-bottom:.4rem;transition:all .2s;}
.nota-input:focus{border-color:var(--cyan);background:rgba(0,200,224,.03);}
.nota-input::placeholder{color:var(--text3);}
.add-btn{background:transparent;border:1px solid var(--cyan3);color:var(--cyan);font-family:var(--title);font-size:.72rem;font-weight:600;padding:.38rem 1rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;display:inline-flex;align-items:center;gap:.3rem;}
.add-btn:hover{background:var(--cyan4);border-color:var(--cyan);}

/* =====================================================
   VISTA TOGGLE (evidencias)
   ===================================================== */
.vista-btn{background:transparent;border:1px solid var(--border);color:var(--text3);font-family:var(--title);font-size:.6rem;padding:.42rem .75rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:.3rem;}
.vista-btn.act{background:var(--cyan4);border-color:var(--cyan);color:var(--cyan);}
.grupo-header{background:rgba(0,200,224,.04);border:1px solid var(--cyan3);border-left:3px solid var(--cyan);padding:.55rem .9rem;margin-bottom:.35rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;}
.grupo-header:hover{background:rgba(0,200,224,.08);}
.grupo-title{font-family:var(--title);font-size:.8rem;font-weight:700;color:var(--white);letter-spacing:.06em;}
[data-theme="light"] .grupo-title{color:var(--white);}
.grupo-count{font-size:.52rem;color:var(--cyan);font-family:var(--mono);}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media(max-width:900px){
  .topbar-l{display:none;} .nav{display:none;} .nav-user{display:none;} .nav-toggle{display:flex;align-items:center;}
  .det-grid{grid-template-columns:repeat(2,1fr);} .crim-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;} .stats-row{grid-template-columns:repeat(2,1fr);}
  .accesos-grid{grid-template-columns:repeat(3,1fr);}
  .side-panel{width:85%;max-width:380px;}
  .info-grid{grid-template-columns:repeat(2,1fr);}
  .perfil-grid{grid-template-columns:1fr;}
  .perfil-hero-card{flex-direction:column;text-align:center;}
}
@media(max-width:600px){
  .topbar{padding:.3rem .9rem;} .header{padding:.5rem .9rem;}
  .logo-text-sub{display:none;} .logo-text-main{font-size:.9rem;}
  .stats-row{grid-template-columns:1fr 1fr;padding:.6rem .9rem;}
  .content-area{padding:.8rem .9rem;} .det-grid{grid-template-columns:1fr;}
  .accesos-grid{grid-template-columns:repeat(2,1fr);}
  .ph-title{font-size:1.4rem;} .page-hero{padding:1rem .9rem .8rem;}
  .login-card{width:92%;padding:1.5rem 1.2rem;} .hero-text{display:none;}
  .toolbar{flex-direction:column;align-items:stretch;} .flt-btn{width:100%;}
  .info-grid{grid-template-columns:1fr;} .side-panel{width:100%;max-width:100%;}
  .modal{max-height:95vh;} .quicklinks{grid-template-columns:repeat(2,1fr);}
}

/* =====================================================
   MODO DÍA — ajustes específicos de contraste
   ===================================================== */
[data-theme="light"] .login-card .lc-title { color: #0d1e2e; }
[data-theme="light"] .login-card .lc-sub   { color: #3d5870; border-color: rgba(10,122,150,.2); }
[data-theme="light"] .login-card .lbl      { color: #3d5870; }
[data-theme="light"] .login-card .linput   { background:rgba(10,122,150,.06); border-color:#b8cad8; color:#0d1e2e; border-bottom-color:var(--cyan3); }
[data-theme="light"] .login-card .linput::placeholder { color: #6a8898; }
[data-theme="light"] .login-card .login-hint { color: #6a8898; }
[data-theme="light"] .login-card { background: rgba(240,244,248,.97); border-color: rgba(10,122,150,.25); }
[data-theme="light"] .stat-num   { color: #0d1e2e; }
[data-theme="light"] .panel-card { background: var(--panel); }
[data-theme="light"] .tbl        { background: var(--panel); }
[data-theme="light"] .tbl th     { background: rgba(10,122,150,.06); }
[data-theme="light"] .det-card   { background: var(--panel); }
[data-theme="light"] .crim-card  { background: var(--panel); }
[data-theme="light"] .evid-item  { background: var(--panel); }
[data-theme="light"] .acc-card   { background: var(--panel); }
[data-theme="light"] .chart-card { background: var(--bg2); }
[data-theme="light"] .mobile-nav { background: var(--bg2); }
[data-theme="light"] body::after { opacity: .3; }

/* ── Usuario de solo consulta: se esconden las acciones que modifican datos ── */
body.solo-lectura [onclick^="abrirFormNuevo"],
body.solo-lectura [onclick^="abrirFormNueva"],
body.solo-lectura [onclick^="abrirFormEditar"],
body.solo-lectura [onclick^="guardar"],
body.solo-lectura [onclick^="confirmarEliminar"],
body.solo-lectura [onclick^="ejecutarEliminar"],
body.solo-lectura [onclick^="agregarNota"],
body.solo-lectura [onclick^="agregarPista"],
body.solo-lectura [onclick^="borrarNota"],
body.solo-lectura .evid-del,
body.solo-lectura #nueva-nota,
body.solo-lectura #nueva-pista,
body.solo-lectura #pista-caso {
  display: none !important;
}

/* Recuadro del acceso de consulta en el login */
.login-consulta b{color:var(--cyan);font-weight:600;user-select:all;}
.consulta-btn{margin-top:.6rem;width:100%;background:transparent;border:1px dashed var(--cyan3);color:var(--text2);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;padding:.45rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all .2s;}
.consulta-btn:hover{border-style:solid;border-color:var(--cyan);color:var(--cyan);}
