.ca-wrap {
  --ca-bg:#131617;
  --ca-card:#1A1F20;
  --ca-card-soft:#1F2627;
  --ca-borda:#2C3334;
  --ca-texto:#E8EEED;
  --ca-texto-suave:#9AA8A6;
  --ca-primaria:#14A38B;
  --ca-primaria-hover:#0F7E69;
  color:var(--ca-texto);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.55;
}
.ca-wrap *{box-sizing:border-box}
.ca-wrap section{max-width:980px;margin:0 auto 2rem}
.ca-wrap h1,.ca-wrap h2,.ca-wrap h3{color:var(--ca-primaria);margin-top:0;letter-spacing:-0.4px}
.ca-wrap p,.ca-wrap li,.ca-wrap label{color:var(--ca-texto-suave)}
.ca-app{
  background:var(--ca-card);
  border:1px solid var(--ca-borda);
  border-radius:12px;
  padding:20px;
}
.ca-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.ca-field{flex:1 1 160px;min-width:160px}
.ca-wrap input,.ca-wrap select{
  width:100%;padding:10px;border-radius:8px;border:1px solid var(--ca-borda);
  background:var(--ca-card-soft);color:var(--ca-texto);font-size:14px;
}
.ca-wrap input:focus,.ca-wrap select:focus{
  outline:none;border-color:var(--ca-primaria);box-shadow:0 0 0 2px rgba(20,163,139,0.22);
}
.ca-btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.ca-wrap button{padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer}
.ca-primary{background:var(--ca-primaria);color:#fff}
.ca-primary:hover{background:var(--ca-primaria-hover)}
.ca-secondary{background:var(--ca-card-soft);color:var(--ca-texto);border:1px solid var(--ca-borda)}
.ca-cards{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.ca-card{
  flex:1 1 150px;min-width:150px;background:var(--ca-card-soft);
  border:1px solid var(--ca-borda);border-radius:10px;padding:12px;
}

.ca-label{font-size:12px;color:var(--ca-texto-suave)}
.ca-value{font-size:20px;font-weight:700;color:var(--ca-primaria)}
.ca-table,.ca-print-table{width:100%;border-collapse:collapse;margin-top:10px}
.ca-table th,.ca-table td,.ca-print-table th,.ca-print-table td{border:1px solid var(--ca-borda);padding:8px}
.ca-table thead th,.ca-table tfoot th{background:#1f2426}
.ca-right{text-align:right}
.ca-small{font-size:12px;color:var(--ca-texto-suave)}
.ca-wrap ul{padding-left:20px}
.ca-print{display:none}

@media print{
  body *{visibility:hidden !important}
  .ca-print,.ca-print *{visibility:visible !important}
  .ca-print{
    display:block !important;position:absolute;left:0;top:0;width:100%;
    background:#fff;color:#111;padding:24px;
  }
  .ca-print-wrap{max-width:800px;margin:0 auto;font-family:Arial,sans-serif;line-height:1.4}
  .ca-print-title{font-size:24px;font-weight:700;margin-bottom:4px;color:#111}
  .ca-print-sub{font-size:12px;color:#444;margin-bottom:16px}
  .ca-print-h{font-size:16px;font-weight:700;margin:18px 0 8px;color:#111}
  .ca-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
  .ca-print-box{padding:6px 0;border-bottom:1px solid #ddd;font-size:12px;color:#111}
  .ca-print-table th,.ca-print-table td{border:1px solid #bbb;padding:8px;font-size:12px;color:#111}
  .ca-print-table th{background:#eee}
  .ca-print-total{margin-top:14px;text-align:right;font-size:18px;font-weight:700;color:#111}
  .ca-print-note{margin-top:18px;font-size:11px;color:#444}
}
