/* Palomar IoT - UI (front/admin) */

.palomar-control{
  max-width: 520px;
  margin: 14px auto;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #111;
}

.pc-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 14px 14px 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
}

.pc-title{
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 10px;
}

.pc-status{
  margin: 0 0 10px;
  opacity: .85;
  line-height: 1.25;
}

.pc-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px dashed rgba(0,0,0,.12);
}
.pc-row:first-of-type{ border-top: 0; }

.pc-left{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 150px;
}

.pc-label{
  font-weight: 900;
  font-size: 14px;
}

.pc-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .2px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
}
.pc-badge.is-on{
  background: rgba(0,160,80,.10);
  border-color: rgba(0,160,80,.30);
}
.pc-badge.is-off{
  background: rgba(220,60,60,.10);
  border-color: rgba(220,60,60,.30);
}

.pc-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 220px;
}
@media (max-width: 420px){
  .pc-actions{ width: 190px; }
}

.pc-btn{
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-radius: 14px;
  padding: 10px 10px;
  font-weight: 900;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0,0,0,.08);
  transition: transform .08s ease, opacity .15s ease;
}
.pc-btn:active{ transform: translateY(1px); }
.pc-btn:disabled{ opacity: .55; cursor: not-allowed; box-shadow: none; }

.pc-btn-on{
  background: #14b86a;
  color: #fff;
}
.pc-btn-off{
  background: #e04a4a;
  color: #fff;
}
.pc-btn-ghost{
  background: rgba(0,0,0,.06);
  color: #111;
  box-shadow: none;
  border: 1px solid rgba(0,0,0,.10);
}

.pc-input{
  width: 100%;
  box-sizing: border-box;
  outline: none;
}

.pc-footer{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pc-msg{
  font-weight: 800;
  font-size: 12px;
  opacity: .85;
}
.pc-msg.ok{ color: #0b7a3b; }
.pc-msg.err{ color: #b21d1d; }

/* Router box */
.pc-router-box{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.10);
}

.pc-router-title{
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 8px;
}

.pc-router-grid{
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
}

/* Netline */
.pc-netline{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-weight: 800;
  font-size: 12px;
  opacity: .9;
}
.pc-net-ssid{
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.10);
}
.pc-net-mode{ opacity: .9; }

/* Time */
.pc-time{
  margin-top: 8px;
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-weight: 900;
}
.pc-time-label{
  font-size: 12px;
  opacity: .8;
}
.pc-time-val{
  font-size: 13px;
}

/* Eventos */
.pc-events-box{
  margin-top: 6px;
}
.pc-events-empty{
  font-weight: 800;
  font-size: 12px;
  opacity: .75;
  padding: 8px 0;
}

.pc-events-list{
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  gap: 6px;
}

.pc-ev{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 6px 10px;
  align-items: baseline;
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.03);
}

.pc-ev-time{
  font-weight: 900;
  font-size: 12px;
  opacity: .85;
}

.pc-ev-type{
  font-weight: 900;
  font-size: 12px;
}

.pc-ev-data{
  grid-column: 1 / -1;
  font-size: 12px;
  opacity: .85;
  padding-top: 2px;
  border-top: 1px dashed rgba(0,0,0,.10);
  margin-top: 2px;
}

/* =========================================================
   FIX FUERTE: horas ON/OFF (evita que el theme pise botones)
   ========================================================= */

.palomar-control .pc-router-grid .pc-hour{
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  background: rgba(0,0,0,.05) !important;
  color: rgba(0,0,0,.70) !important;
  border-radius: 12px !important;
  padding: 8px 0 !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: default !important;
  opacity: 1 !important; /* aunque esté disabled */
}

.palomar-control .pc-router-grid .pc-hour.is-on{
  background: rgba(20,184,106,.18) !important;
  border-color: rgba(20,184,106,.55) !important;
  color: rgba(0,0,0,.75) !important;
}

.palomar-control .pc-router-grid .pc-hour:disabled{
  opacity: 1 !important;
  filter: none !important;
}

.palomar-control .pc-router-grid .pc-hour.is-on:disabled{
  background: rgba(20,184,106,.18) !important;
  border-color: rgba(20,184,106,.55) !important;
  color: rgba(0,0,0,.75) !important;
}
