/* AdmComIA — utilitários compostos */

.input {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1px solid rgb(203 213 225);
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: white;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input:focus {
  border-color: rgb(43 86 212);
  box-shadow: 0 0 0 3px rgba(59, 108, 242, 0.15);
}
.input:disabled {
  background: rgb(241 245 249);
  color: rgb(100 116 139);
  cursor: not-allowed;
}

.btn-primary {
  padding: 0.625rem 1rem;
  background: rgb(43 86 212);
  color: white;
  border-radius: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-primary:hover:not(:disabled) { background: rgb(31 67 173); }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }

.btn-secondary {
  padding: 0.5rem 0.875rem;
  background: white;
  color: rgb(51 65 85);
  border: 1px solid rgb(203 213 225);
  border-radius: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-secondary:hover { background: rgb(248 250 252); }

.btn-danger {
  padding: 0.5rem 0.875rem;
  background: rgb(220 38 38);
  color: white;
  border-radius: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
}
.btn-danger:hover { background: rgb(185 28 28); }

.tab-btn { transition: all 0.15s; cursor: pointer; border: none; }
.tab-btn.tw-bg-white { color: rgb(15 23 42); }

.nav-btn {
  text-align: left;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: rgb(51 65 85);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
  display: block;
}
.nav-btn:hover:not(:disabled) { background: rgb(241 245 249); }
.nav-btn.active {
  background: rgb(238 245 255);
  color: rgb(31 67 173);
  font-weight: 600;
}

.card {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: 0.75rem;
  padding: 1.25rem;
}

.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.table th {
  text-align: left;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid rgb(226 232 240);
  font-weight: 600;
  color: rgb(71 85 105);
  background: rgb(248 250 252);
}
.table td {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid rgb(241 245 249);
}
.table tr:hover td { background: rgb(248 250 252); }

.badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
}
.badge-success { background: rgb(220 252 231); color: rgb(22 101 52); }
.badge-warn    { background: rgb(254 249 195); color: rgb(133 77 14); }
.badge-danger  { background: rgb(254 226 226); color: rgb(153 27 27); }
.badge-neutral { background: rgb(241 245 249); color: rgb(51 65 85); }

.msg-success { background: rgb(220 252 231); color: rgb(22 101 52); }
.msg-error   { background: rgb(254 226 226); color: rgb(153 27 27); }
.msg-info    { background: rgb(219 234 254); color: rgb(30 64 175); }
