/* Dark theme variables */
:root{
  --bg: #000000;
  --fg: #FCE2CA;
  --primary: #DDF29C;
  --primary-hover: #C4D97F;
  --primary-active: #B0C06D;
  --secondary: #846351;
  --green-start: #10b981;
  --green-end: #0f766e;
  --green-gradient: linear-gradient(135deg, var(--green-start), var(--green-end));
  --cui-body-bg: var(--bg);
  --cui-body-color: var(--fg);
  --cui-card-bg: #000000;
  --cui-card-color: var(--fg);

  --cui-primary: var(--primary);
  --cui-primary-rgb: 221,242,156;
}

*{box-sizing:border-box;}
/* Política visual: sin bordes redondeados en frontend */
*,:before,:after{border-radius:0!important;}
body{
  margin:0;
  font-family:system-ui, sans-serif;
  background:var(--bg);
  color:var(--fg);
  overflow-x:hidden;
}
a{color:var(--secondary);text-decoration:none;}
a:hover{opacity:.8;}

/* Navbar */
.navbar{
  position:sticky;
  top:0;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.75rem 1rem;
  background:#000;
  z-index:1000;
}
.navbar__brand{display:flex;align-items:center;}
.navbar__logo{height:32px;margin-right:.5rem;}
.navbar__toggle{background:none;border:0;color:var(--fg);font-size:1.5rem;cursor:pointer;}

/* Custom toggle button */
.navbar-toggler{
  background:#000;
  border:1px solid #fff;
}
.navbar-dark .navbar-toggler-icon{
  background-image:var(--cui-icon-bars-white,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"));
}

/* Sidebar */
.sidebar{
  position:fixed;
  top:56px;
  bottom:0;
  width:260px;
  overflow-y:auto;
  overflow-x:hidden;
  z-index:1035;
}
#sidebar{
  background:#000;
}

#sidebar .text-center img{
  width:80px;
  height:80px;
  object-fit:cover;
}

/* Content */
.content{
  margin-top:3.5rem;
  padding:1rem;
  transition:margin-left .2s ease-out;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

/* Card */
.card-dark{
  background:var(--cui-card-bg);
  color:var(--cui-card-color);
  padding:1rem;
  transition:transform .2s ease-out;
}
.card-dark:hover{transform:scale(1.03);}

/* Buttons */
.btn{
  display:inline-block;
  padding:.5rem 1rem;
  font-weight:600;
  text-align:center;
  transition:background .2s ease-out,transform .2s ease-out;
}
.btn--primary{background:var(--primary);color:#fff;}
.btn--primary:hover,.btn--primary:focus{background:var(--primary-hover);}
.btn--primary:active{background:var(--primary-active);}
.btn--secondary{background:var(--secondary);color:#fff;}
.btn--secondary:hover,.btn--secondary:focus{background:#6A4F41;}
.btn-accion{
  padding:.1rem .35rem;
  font-size:.75rem;
}

@media(max-width:575.98px){
  .btn{margin:2px!important;}
  .content{padding:.75rem;}
  .card,.card-body,.card-dark{padding:.75rem!important;}
  .container,.container-fluid,[class*="col-"]{min-width:0;}
  .row{margin-left:0;margin-right:0;}
  .sidebar{width:100%;max-width:320px;}
  img,svg,canvas,video,iframe{max-width:100%;height:auto;}
  .input-group,.d-flex{flex-wrap:wrap;}
  .input-group>.form-control,.input-group>.form-select{min-width:0;}
}

/* Forms */
input[type=text],input[type=email],input[type=password],select,textarea{
  width:100%;
  padding:.5rem;
  background:#2b2b2b;
  border:1px solid #555;
  color:var(--fg);
}
input::placeholder,textarea::placeholder{color:#888;}

/* Table */
.table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;}
.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table td,.table th{white-space:nowrap;}
table{width:100%;border-collapse:collapse;color:var(--fg);}
th,td{padding:.5rem;border:1px solid #333;text-align:left;}
.bg-dark{background:#000!important;}
.text-bg-dark{background:#000!important;color:#fff!important;}

/* Focus ring */
:focus{outline:2px solid var(--secondary);outline-offset:2px;}

/* Breakpoints */
@media(min-width:576px){
  .content{padding:2rem;}
}
@media(min-width:768px){
  .navbar__toggle{display:none;}
  .sidebar{transform:translateX(0);}

}
@media(min-width:1200px){
  .content{max-width:1200px;margin-left:260px;margin-right:auto;}
}

/* Toggle switch colors for disponibilidad */
.switch-online{
  width:3em;
  height:1.5em;
  background-color:#dc3545;
  border-color:#dc3545;
}
.switch-online:checked{
  background-color:#198754;
  border-color:#198754;
}
.switch-online:focus{
  box-shadow:0 0 0 0.25rem rgba(25,135,84,.25);
}



@media (max-width: 991.98px){
  /* Evita superposición en móvil: ocultamos el sidebar fuera de pantalla con translate */
  .sidebar:not(.sidebar-end):not(.show){
    -webkit-margin-start: calc(-1 * var(--cui-sidebar-width));
    margin-inline-start: calc(-1 * var(--cui-sidebar-width));
    transform: translateX(-100%);
  }
  .sidebar.show{
    transform: translateX(0);
  }
}
