/* Vega Projetos — camada de legibilidade e edição simplificada.
   Aplicada somente ao index principal. Vega Intermitentes usa CSS próprio. */

:root{
  --readable-size:14px;
  --readable-small:12px;
  --readable-label:11px;
}

.content{max-width:1440px;padding-inline:32px}
.welcome h1,.list-title h1{font-size:28px;line-height:1.18}
.welcome>div>p:last-child,.list-title>div>p:last-child{font-size:13px;line-height:1.55}
.module-hub-heading h2{font-size:21px}
.module-hub-heading>p{font-size:12px;line-height:1.5}
.module-cards{gap:14px}
.module-card{min-height:164px;padding:20px;border-radius:14px}
.module-card strong{font-size:14px;line-height:1.35}
.module-card small{font-size:11px;line-height:1.55}
.module-action{min-height:82px;padding:15px}
.module-action strong{font-size:13px}
.module-action small{font-size:10px;line-height:1.5}

.metric{padding:20px}
.metric p{font-size:11px}
.metric strong{font-size:22px}
.metric small{font-size:10px}
.panel-head h2{font-size:16px}
.panel-head p{font-size:11px}

.list-title{align-items:center}
.list-toolbar{padding:14px 16px}
.search.wide{flex-basis:440px}
.search.wide,.filter{height:42px}
.search input{font-size:13px}

table{font-size:var(--readable-size)}
th{padding:12px 16px;font-size:9px;line-height:1.4}
td{padding:15px 16px;font-size:12px;line-height:1.45}
.project-name b,.task-item b{font-size:12px}
.project-name small,.task-item small{font-size:10px}
.status{font-size:10px;padding:5px 9px}
.row-actions{gap:6px}
.action-btn{min-width:34px;min-height:34px;font-size:13px}

.modal-card{border-radius:14px}
.modal-head{padding:24px 26px 18px}
.modal-head h2{font-size:22px}
.form-grid{gap:18px;padding:24px 26px;max-height:68vh}
.field{gap:8px}
.field label{font-size:var(--readable-label);line-height:1.35}
.field input,.field select,.field textarea{
  min-height:46px;
  border-radius:8px;
  padding:11px 12px;
  font-size:14px;
  line-height:1.4;
}
.field textarea{min-height:110px;resize:vertical}
.modal-actions{padding:16px 26px}
.modal-actions button{min-height:42px;padding-inline:18px;font-size:12px}

.expense-simple-banner{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:16px 18px;
  border:1px solid rgba(0,173,249,.34);
  border-radius:12px;
  background:#172333;
}
.expense-simple-banner>span{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#0c4a6e;color:#bae6fd;
  font-weight:800;
}
.expense-simple-banner strong{display:block;color:#f8fafc;font-size:13px}
.expense-simple-banner p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.expense-simple-banner b{color:#f8fafc}
.expense-filters.simple{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr) auto}
.expense-filters label{font-size:9px}
.expense-filters select{min-height:42px;font-size:12px}
.expense-clear{min-height:42px}

.payment-summary-card small{font-size:9px}
.payment-summary-card strong{font-size:21px}
.payment-summary-card span{font-size:10px;line-height:1.4}
.payment-summary-card.reimbursements{border-top:3px solid #60a5fa}
.payment-summary-card.commissions{border-top:3px solid #a78bfa}
.payment-type{font-size:9px;padding:6px 10px}
.payment-type.reimbursement{background:#1e3a5f;color:#bfdbfe}
.payment-payee-card-head strong{font-size:12px}
.payment-payee-card-head small,.payment-payee-card footer>span{font-size:9px}
.payment-payee-breakdown small{font-size:8px}
.payment-payee-breakdown b{font-size:10px}

@media(max-width:900px){
  .content{padding-inline:20px}
  .expense-filters.simple{grid-template-columns:1fr 1fr}
  .expense-clear{grid-column:1/-1}
}
@media(max-width:560px){
  .content{padding-inline:14px}
  .welcome h1,.list-title h1{font-size:24px}
  .module-card{min-height:126px}
  .expense-filters.simple{grid-template-columns:1fr}
  .expense-clear{grid-column:auto}
  .form-grid{padding:18px}
}