/* Estilos locais do cadastro. Tokens de cor/fonte vem do Tailwind CDN (index.html). */

.lbl {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
  color: rgb(51 65 85);            /* slate-700 */
}
.dark .lbl { color: rgb(203 213 225); } /* slate-300 */
.lbl .req { color: rgb(225 29 72); }    /* rose-600 */
.lbl .opt { font-weight: 400; color: rgb(148 163 184); font-size: 0.7rem; } /* slate-400 */

.inp {
  width: 100%;
  padding: 0.7rem 1rem;
  background: rgb(248 250 252);    /* slate-50 */
  border: 1px solid rgb(226 232 240);
  border-radius: 1rem;
  outline: none;
  transition: all .15s;
  color: rgb(15 23 42);
}
.dark .inp { background: rgb(15 23 42 / .5); border-color: rgb(51 65 85); color: #fff; }
.inp:focus { border-color: rgb(14 165 233); box-shadow: 0 0 0 4px rgb(14 165 233 / .1); }

.inp-file {
  width: 100%;
  font-size: 0.85rem;
  color: rgb(100 116 139);
}
.inp-file::file-selector-button {
  margin-right: 0.75rem;
  padding: 0.5rem 1rem;
  border: 0;
  border-radius: 0.75rem;
  background: rgb(224 242 254);    /* brand-100 */
  color: rgb(3 105 161);           /* brand-700 */
  font-weight: 600;
  cursor: pointer;
}
.dark .inp-file::file-selector-button { background: rgb(12 74 110 / .4); color: rgb(125 211 252); }
