/* =========================
   JM Licenciamento – Front
   ========================= */

/* Layout base */
.lic-wrap{max-width:1100px;margin:0 auto;padding:12px}
.lic-title{font-size:34px;margin:12px 0 24px}
.lic-card{background:#fff;border:1px solid #e9e9e9;border-radius:14px;padding:22px;box-shadow:0 1px 12px rgba(0,0,0,.04);margin-bottom:22px}
.lic-card__head h3,.lic-card__head h4{margin:0 0 8px}

/* Cards de projetos */
.lic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lic-card--project{display:flex;flex-direction:column;gap:12px}

/* Metas e progresso */
.lic-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}
.lic-meta--three{grid-template-columns:repeat(3,1fr);margin-bottom:12px}
.lic-meta span{display:block;font-size:12px;color:#777}
.lic-meta strong{font-size:15px}
.lic-progress{margin:6px 0 0}
.lic-progress--lg{margin:8px 0 14px}
.lic-progress__bar{background:#eee;border-radius:999px;height:10px;overflow:hidden}
.lic-progress__bar span{display:block;height:10px;background:#111;border-radius:999px}

/* Título do projeto (detalhe) */
.lic-card__head h3{font-size:30px;font-weight:700;letter-spacing:.2px;margin:2px 0 10px}

/* Tabela */
.lic-table-wrap{overflow:auto}
.lic-table{width:100%;border-collapse:separate;border-spacing:0}
.lic-table th,.lic-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;text-align:left;vertical-align:middle}
.lic-table thead th{font-weight:600;color:#444}

/* Espaço extra antes do “Adicionar contacto” */
.lic-table-wrap + h4{margin-top:18px}
.lic-table-wrap + h4 + form{margin-top:8px}
.lic-add-box{margin-top:26px;padding-top:14px;border-top:1px solid #eee}

/* Formulários */
.lic-form{display:block;max-width:760px}
.lic-form--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.lic-field{display:flex;flex-direction:column;gap:6px}
.lic-field--row{display:flex;gap:12px}
.lic-field--row>div{flex:1}
.lic-field--full{grid-column:1/-1}

/* === Inputs ajustados (altura igual ao select, padding 5px) === */
.lic-form input[type="text"],
.lic-form input[type="email"],
.lic-form input[type="tel"],
.lic-form input[type="number"],
.lic-form input[type="url"],
.lic-form input[type="search"],
.lic-form input[type="password"],
.lic-inline-form input[type="text"],
.lic-inline-form input[type="number"] {
  width: 100%;
  height: 42px; /* igual ao select */
  padding: 5px 12px; /* menor padding vertical */
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  background: #fcfcfc;
  font-size: 14px;
  line-height: 20px;
  color: #333;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* Textareas */
.lic-form textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  background: #fcfcfc;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
}

/* Foco dos inputs e textareas */
.lic-form input:focus,
.lic-form textarea:focus {
  outline: none;
  border-color: #c78228;
  box-shadow: 0 0 0 3px rgba(201,130,40,.15);
  background: #fff;
}

/* Remover setas dos inputs numéricos */
.lic-form input[type="number"]::-webkit-outer-spin-button,
.lic-form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.lic-form input[type="number"] { -moz-appearance: textfield; }

/* Botões */
.lic-actions{margin-top:4px}
.lic-btn{display:inline-block;padding:8px 14px;border:1px solid #ddd;border-radius:10px;background:#f7f7f7;cursor:pointer;text-decoration:none;line-height:1}
.lic-btn:hover{filter:brightness(0.98)}
.lic-btn--primary{background:#c78228;color:#fff;border-color:#c78228}
.lic-btn--tiny{padding:6px 10px;font-size:12px;border-radius:8px}
.lic-actions-col{white-space:nowrap;display:flex;gap:8px;align-items:center}
.lic-back{display:inline-block;margin-bottom:12px;color:#555;text-decoration:none}

/* Formulário inline de estado */
.lic-inline-form{display:flex;gap:6px;align-items:center}

/* Linha de edição expandida */
.lic-edit-row{background:#fafafa}
.lic-edit-row td{padding:12px;border-bottom:1px solid #efefef}
.lic-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.lic-edit-grid input,
.lic-edit-grid textarea,
.lic-edit-grid select {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  background: #fff;
}
.lic-edit-actions{margin-top:8px;display:flex;gap:8px}

/* === Selects === */
.lic-wrap .lic-form select,
.lic-wrap .lic-inline-form select,
.lic-wrap .lic-table select {
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-color:#fcfcfc !important;
  border:1px solid #e1e1e1 !important;
  border-radius:10px !important;
  padding:10px 34px 10px 10px !important;
  height:40px !important;
  line-height:1.3;
  min-width:140px;
  color:#333;
  font-size:14px;
  background-image:
    linear-gradient(45deg, transparent 50%, #666 50%),
    linear-gradient(135deg, #666 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 16px,
    calc(100% - 10px) 16px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  box-shadow:inset 0 1px 0 rgba(0,0,0,.02);
}

/* Foco dos selects */
.lic-wrap .lic-form select:focus,
.lic-wrap .lic-inline-form select:focus,
.lic-wrap .lic-table select:focus {
  outline:none;
  border-color:#c78228 !important;
  box-shadow:0 0 0 3px rgba(201,130,40,.15);
  background-color:#fff !important;
}

/* Botão tiny alinhado ao select */
.lic-inline-form .lic-btn--tiny{height:40px}

/* Responsivo */
@media (max-width:640px){
  .lic-title{font-size:28px}
  .lic-card__head h3{font-size:24px}
  .lic-meta--three{grid-template-columns:1fr}
}