*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f6f6;color:#2b373d}.shell{max-width:1120px;margin:auto;padding:28px}.brand{font-weight:800;font-size:22px}.muted{color:#7a8488}.card{background:#fff;border:1px solid #e3e7e9;border-radius:11px;padding:22px;margin-top:18px}.btn{display:inline-block;border:0;border-radius:7px;padding:10px 14px;background:#ad8133;color:#fff;text-decoration:none;font-weight:700}.field{width:100%;padding:11px;border:1px solid #dfe4e6;border-radius:7px;margin:6px 0 12px}.nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.nav a{color:#465158;text-decoration:none;background:#fff;border:1px solid #e3e7e9;border-radius:7px;padding:9px 11px}.login-shell{max-width:480px}.alert{background:#f8ecea;border:1px solid #eed7d3;padding:10px;border-radius:7px}.success{background:#edf5ef;border:1px solid #d9eadc;padding:10px;border-radius:7px}.topline{display:flex;justify-content:space-between;align-items:center}.softbtn{border:1px solid #e3e7e9;background:#fff;color:#657076;text-decoration:none;border-radius:7px;padding:8px 11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.metric{background:#fff;border:1px solid #e3e7e9;border-radius:10px;padding:16px}.metric small{color:#7a8488}.metric b{display:block;font-size:22px;margin-top:6px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #edf0f1;text-align:left}@media(max-width:700px){.metrics{grid-template-columns:1fr 1fr}}
.nav a.active{background:#efeadd;border-color:#e5dcc6;color:#273238}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 12px}.pagehead h1{margin:0 0 4px}
.btnlink{background:#b07c26;color:#fff;text-decoration:none;padding:10px 14px;border-radius:8px;font-weight:700}
.metrics.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
.clientgrid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(480px,1.4fr);gap:14px;margin-top:14px}
.field{box-sizing:border-box;width:100%;margin:6px 0 13px}.field:focus{outline:none;border-color:#b9a274;box-shadow:0 0 0 3px rgba(176,124,38,.08)}
textarea.field{resize:vertical}.actions,.searchrow,.rowactions{display:flex;gap:8px;align-items:center}.searchrow .field{margin:0}
.check{display:flex;gap:8px;align-items:center;margin:2px 0 16px}.small,td small{display:block;margin-top:4px}
.tablewrap{overflow:auto}.statuspill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px}.statuspill.on{background:#edf5ef}.statuspill.off{background:#f1f2f2;color:#7b8387}
.linkbtn{border:0;background:transparent;color:#697277;cursor:pointer}.rowactions form{margin:0}.empty{padding:28px 10px;text-align:center;color:#7a8488}
@media(max-width:900px){.clientgrid{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.metrics.two{max-width:none}}

/* v0.5 · Obras */
.projectmetrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.projectgrid{grid-template-columns:minmax(320px,.8fr) minmax(560px,1.5fr)}
.dategrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.statuspill.progress{background:#edf7f1;color:#41705a}.statuspill.wait{background:#faf4e8;color:#735e37}.statuspill.done{background:#f3f0fb;color:#62577f}
select.field{background:#fff;color:#2b373d}
@media(max-width:900px){.projectgrid{grid-template-columns:1fr}.projectmetrics{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.projectmetrics,.dategrid{grid-template-columns:1fr}}


/* v0.6 · Presupuestos */
.budgetmetrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.budgetgrid{grid-template-columns:minmax(340px,.85fr) minmax(590px,1.55fr)}
@media(max-width:900px){.budgetgrid{grid-template-columns:1fr}.budgetmetrics{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.budgetmetrics{grid-template-columns:1fr}}

/* v0.7 · Extras */
.extrametrics{grid-template-columns:repeat(4,minmax(0,1fr))}.extragrid{grid-template-columns:minmax(340px,.85fr) minmax(590px,1.55fr)}
@media(max-width:900px){.extragrid{grid-template-columns:1fr}.extrametrics{grid-template-columns:1fr 1fr}}@media(max-width:560px){.extrametrics{grid-template-columns:1fr}}

/* v0.8 · Cobros */
.paymentmetrics{grid-template-columns:repeat(4,minmax(0,1fr))}.paymentgrid{grid-template-columns:minmax(340px,.85fr) minmax(590px,1.55fr)}
@media(max-width:900px){.paymentgrid{grid-template-columns:1fr}.paymentmetrics{grid-template-columns:1fr 1fr}}@media(max-width:560px){.paymentmetrics{grid-template-columns:1fr}}

/* v0.9 · Documentos */
.documentmetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.documentgrid{grid-template-columns:minmax(350px,.9fr) minmax(590px,1.5fr)}
@media(max-width:900px){.documentgrid{grid-template-columns:1fr}.documentmetrics{grid-template-columns:1fr 1fr}}@media(max-width:560px){.documentmetrics{grid-template-columns:1fr}}
