:root{
  --bg:#0b1220;
  --surface:#0f1a24;
  --muted:#9aa0a6;
  --primary:#1a8cff;
  --primary-dark:#0f4f86;
  --accent:#00a884;
  --danger:#ff4c4c;
  --warning:#fbbc04;
  --success:#00a884;
  --card:#151e29;
}

/* Link específico para o texto 'Celular' em tabelas */
.link-cellular{
  color: #b084ff; /* suave roxo */
  text-decoration: none;
  font-weight:600;
}
.link-cellular:hover{ text-decoration:underline; color: #d9bfff }

body{background:var(--bg);color:#e9edef}
.logo{height:36px}

/* Header */
.navbar-brand .fw-semibold{letter-spacing:0.2px}

/* General container enhancements */
.card-modern{background:var(--card);border:1px solid rgba(255,255,255,0.03);border-radius:12px;padding:18px}
.btn-primary{background:var(--primary);border-color:transparent}
.btn-primary:hover{background:var(--accent)}

/* Tabs style */
.tabs{display:flex;gap:8px}
.tab-button{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:8px 14px;border-radius:8px;color:var(--muted)}
.tab-button.active{background:var(--primary);color:#fff}

/* Cards for celulares */
.celular-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);border-radius:12px;padding:12px;box-shadow:0 6px 18px rgba(0,0,0,0.6);}

/* Tables */
.table-modern{background:transparent;color:inherit;border-collapse:collapse;width:100%}
.table-modern th{background:rgba(255,255,255,0.03);color:var(--muted);padding:10px}
.table-modern td{padding:10px;border-top:1px solid rgba(255,255,255,0.02)}

/* Modal */
.modal-content{background:var(--surface);border-radius:10px}

/* Login page */
.login-page{min-height:70vh;display:flex;align-items:center;justify-content:center}
.login-box{max-width:420px;width:100%;background:var(--card);border-radius:12px;padding:34px;border:1px solid rgba(26,140,255,0.06);box-shadow:0 8px 24px rgba(0,0,0,0.6)}
.login-box h2{color:var(--primary);margin-bottom:16px}
.login-box input{background:#111827;border:1px solid rgba(255,255,255,0.03);color:inherit;padding:12px;border-radius:8px}
.login-box .toggle-password{background:none;border:none;color:var(--muted)}
.footer-note{color:var(--muted);font-size:0.85rem;margin-top:14px}

/* Responsive tweaks */
@media (max-width:768px){
  .logo{height:30px}
}

/* Observation field styles */
.obs-textarea{background:#0b1218;border:1px solid rgba(255,255,255,0.04);color:inherit;padding:10px;border-radius:8px;min-height:120px}
.observation-display{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);color:var(--muted)}

/* Button fine-tuning to ensure consistent theme */
.btn-outline-light{color:var(--muted);border-color:rgba(255,255,255,0.06);background:transparent}
.btn-outline-light:hover{color:#fff;background:rgba(255,255,255,0.02)}
.btn-danger{background:var(--danger);border-color:transparent}
.btn-danger:hover{filter:brightness(0.95)}

/* Theme success / warning buttons matching project palette */
.btn-success{background:var(--success);border-color:transparent;color:#fff}
.btn-success:hover{filter:brightness(0.96)}
.btn-warning{background:var(--warning);border-color:transparent;color:#111}
.btn-warning:hover{filter:brightness(0.96)}

/* Outline variants: transparent background, colored border and text (specific selectors to override generic button rules) */
.btn.btn-outline-success{background:transparent !important;border:1px solid var(--success);color:var(--success) !important}
.btn.btn-outline-success:hover{background:rgba(0,168,132,0.06);color:#fff}
.btn.btn-outline-warning{background:transparent !important;border:1px solid var(--warning);color:var(--warning) !important}
.btn.btn-outline-warning:hover{background:rgba(251,188,4,0.06);color:#111}

/* Outline danger (delete) */
.btn.btn-outline-danger{background:transparent !important;border:1px solid var(--danger);color:var(--danger) !important}
.btn.btn-outline-danger:hover{background:rgba(255,76,76,0.06);color:#fff}

/* User delete button: neutral outline (less aggressive than full red) */
.btn-excluir{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,0.06);padding:6px 10px;border-radius:8px}
.btn-excluir:hover{background:rgba(255,255,255,0.02);color:#fff;border-color:rgba(255,255,255,0.12)}

/* Base button modernization (applies to plain <button> elements too) */
button, input[type="button"], input[type="submit"]{
  padding:8px 12px;
  border-radius:10px;
  background:var(--primary);
  color:#fff;
  border:1px solid rgba(255,255,255,0.03);
  font-weight:600;
  cursor:pointer;
  transition:transform .08s ease, box-shadow .12s ease, filter .08s ease;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover{
  transform:translateY(-1px);
  filter:brightness(0.98);
}

/* Modal tweaks to better match theme */
.modal { display:none; position:fixed; z-index:1050; inset:0; background:rgba(3,6,10,0.6); }
.modal .modal-content { max-width:720px; margin:6% auto; padding:18px; }

/* Detail pages: softer rounded cards */
.details-page{
  border-radius:12px;
  padding:18px;
  background:var(--surface);
  border:1px solid rgba(255,255,255,0.02);
  box-shadow:0 8px 28px rgba(0,0,0,0.6);
}

/* Make disabled form controls in details page look clearly non-editable (darker blue border) */
.details-page select[disabled],
.details-page input[disabled],
.details-page textarea[disabled],
.details-page .form-control[disabled] {
  border-color: var(--primary-dark) !important;
  background: rgba(11,18,32,0.6) !important;
  color: var(--muted) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Make neutral outline buttons on details page slightly bluish to reinforce read-only state */
.details-page .btn-outline-light{ border-color: rgba(17,82,140,0.24) !important; color: var(--muted); }
.details-page .btn-outline-light:hover{ background: rgba(17,82,140,0.04); color: #fff }

/* Botões de destaque na página de detalhes: contorno azul escuro e texto branco */
.details-page .btn-outline-primary{
  background: transparent !important;
  border: 1px solid var(--primary-dark) !important; /* #0f4f86 */
  color: #fff !important;
}
.details-page .btn-outline-primary:hover{
  background: rgba(15,79,134,0.06);
  color: #fff !important;
}

/* Select2 disabled look inside details page */
.details-page .select2-container.select2-disabled .select2-selection--single {
  border-color: var(--primary-dark) !important;
  background: rgba(11,18,32,0.6) !important;
  color: var(--muted) !important;
}
.details-page .select2-container.select2-disabled .select2-selection__rendered { color: var(--muted) !important; }



/* Destaque das opções "Disponível-Alocado" nos selects de usuário (Select2) */
.ss-alocado {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #ffca28 !important;            /* âmbar: diferencia das tags de sistema */
  letter-spacing: .2px;
}
.ss-alocado i { color: #ffca28 !important; }
/* Linha da opção alocado no dropdown com faixa sutil âmbar */
.select2-results__option:has(.ss-alocado) {
  background-color: rgba(255, 202, 40, 0.10) !important;
  border-left: 3px solid #ffca28;
}
.select2-results__option--highlighted:has(.ss-alocado) {
  background-color: rgba(255, 202, 40, 0.28) !important;
}
/* Quando selecionada, mantém o destaque no campo */
.select2-selection__rendered .ss-alocado { color: #ffca28 !important; }
