/* Tavisa Suite — Panel Theme (moderno y sobrio, alineado con el login)
   Cargar DESPUÉS de adminlte.min.css */

   :root{
    --bg0:#050712;
    --bg1:#070A18;
  
    --text:#EAF0FF;
    --muted: rgba(234,240,255,.72);
  
    --a1:#00D2FF;
    --a2:#2E5BFF;
  
    --stroke: rgba(255,255,255,.12);
    --stroke2: rgba(255,255,255,.08);
  
    --cardTop: rgba(255,255,255,.06);
    --cardBot: rgba(255,255,255,.03);
  
    --shadow-soft: 0 20px 55px rgba(0,0,0,.35);
    --radius: 16px;
  
    --focus-ring: 0 0 0 .22rem rgba(0,210,255,.16);
  }
  
  /* Base */
  body.tt-theme{
    color: var(--text);
    background:
      radial-gradient(900px 520px at 10% 10%, rgba(0,210,255,.10), transparent 60%),
      radial-gradient(900px 520px at 85% 80%, rgba(46,91,255,.10), transparent 55%),
      linear-gradient(180deg, var(--bg1), var(--bg0));
  }
  
  /* Links */
  body.tt-theme a{ color: rgba(234,240,255,.88); }
  body.tt-theme a:hover{ color: #fff; }
  
  /* Header (topbar) */
  body.tt-theme .app-header{
    background: rgba(7,10,24,.70);
    border-bottom: 1px solid var(--stroke);
    backdrop-filter: blur(12px);
  }
  body.tt-theme .app-header .nav-link{
    color: rgba(234,240,255,.80);
  }
  body.tt-theme .app-header .nav-link:hover{
    color:#fff;
  }
  
  /* Sidebar — puedes usar .app-sidebar o tu clase .tt-sidebar-neon */
  body.tt-theme .app-sidebar,
  body.tt-theme .tt-sidebar-neon{
    position: relative;
    overflow: hidden;
    border-right: 1px solid var(--stroke);
    background:
      radial-gradient(900px 520px at 20% 15%, rgba(0,210,255,.16), transparent 60%),
      radial-gradient(900px 520px at 90% 85%, rgba(46,91,255,.12), transparent 55%),
      linear-gradient(180deg, var(--bg1), var(--bg0)) !important;
  }
  body.tt-theme .app-sidebar::before,
  body.tt-theme .tt-sidebar-neon::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 46px 46px;
    opacity:.10; /* más sobrio */
    pointer-events:none;
    z-index:0;
  }
  body.tt-theme .app-sidebar > *,
  body.tt-theme .tt-sidebar-neon > *{
    position:relative;
    z-index:1;
  }
  
  /* Sidebar brand */
  body.tt-theme .app-sidebar .sidebar-brand{
    border-bottom: 1px solid var(--stroke2);
    background: rgba(0,0,0,.12);
    backdrop-filter: blur(10px);
  }
  body.tt-theme .tt-brand-image{
    float:left;
    height: 42px;
    width:auto;
  }
  
  /* Sidebar menu */
  body.tt-theme .sidebar-menu .nav-link{
    color: rgba(234,240,255,.82) !important;
    border-radius: 14px;
    margin: 3px 10px;
    padding: 10px 12px;
    transition: background .15s, transform .15s, color .15s;
  }
  body.tt-theme .sidebar-menu .nav-link:hover{
    background: rgba(255,255,255,.05) !important;
    transform: translateX(1px);
    color:#fff !important;
  }
  body.tt-theme .sidebar-menu .nav-link.active{
    background: rgba(255,255,255,.07) !important;
    border-left: 3px solid var(--a1);
    color:#fff !important;
  }
  
  /* Main area */
  body.tt-theme .app-main{
    background: transparent;
  }
  
  /* Cards */
  body.tt-theme .card{
    border: 1px solid var(--stroke);
    background: linear-gradient(180deg, var(--cardTop), var(--cardBot));
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(10px);
  }
  body.tt-theme .card-header{
    background: transparent;
    border-bottom: 1px solid var(--stroke2);
  }
  body.tt-theme .card-title{
    color: rgba(234,240,255,.92);
    font-weight: 800;
  }
  
  /* Buttons */
  body.tt-theme .btn{
    border-radius: 12px;
  }
  body.tt-theme .btn-primary{
    border: 0;
    background: linear-gradient(135deg, var(--a1), var(--a2));
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
  }
  body.tt-theme .btn-primary:hover{
    filter: brightness(1.06);
  }
  body.tt-theme .btn-outline-primary{
    border-color: rgba(0,210,255,.45);
    color: rgba(234,240,255,.90);
  }
  body.tt-theme .btn-outline-primary:hover{
    background: rgba(0,210,255,.10);
    border-color: rgba(0,210,255,.65);
    color:#fff;
  }
  
  /* Forms */
  body.tt-theme .form-control,
  body.tt-theme .form-select,
  body.tt-theme .input-group-text{
    background: rgba(0,0,0,.22);
    border: 1px solid var(--stroke);
    color: var(--text);
  }
  body.tt-theme .form-control::placeholder{
    color: rgba(234,240,255,.45);
  }
  body.tt-theme .form-control:focus,
  body.tt-theme .form-select:focus{
    border-color: rgba(0,210,255,.55);
    box-shadow: var(--focus-ring);
    outline: none;
  }
  
  /* Tables */
  body.tt-theme .table{
    color: rgba(234,240,255,.86);
  }
  body.tt-theme .table > :not(caption) > * > *{
    border-color: rgba(255,255,255,.08);
  }
  body.tt-theme .table thead th{
    color: rgba(234,240,255,.72);
  }
  body.tt-theme .table tbody tr:hover{
    background: rgba(255,255,255,.03);
  }
  
  /* Dropdown / Modal */
  body.tt-theme .dropdown-menu,
  body.tt-theme .modal-content{
    background: rgba(7,10,24,.92);
    border: 1px solid var(--stroke);
    backdrop-filter: blur(12px);
    color: var(--text);
  }
  body.tt-theme .dropdown-item{
    color: rgba(234,240,255,.82);
  }
  body.tt-theme .dropdown-item:hover{
    background: rgba(255,255,255,.06);
    color:#fff;
  }
  