:root{
  --bg:#f6f7f9; --surface:#fff; --line:#e3e6ea; --txt:#16181d; --muted:#6b7280;
  --accent:#0b5ed7; --accent-h:#0a4fb4; --ok:#0f7b3f; --warn:#a15c00; --bad:#b42318;
  --r:10px; --sh:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.1);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--txt)}
h1,h2,h3{margin:0 0 .35em;line-height:1.25;letter-spacing:-.01em}
h1{font-size:1.35rem}h2{font-size:1.05rem}h3{font-size:.95rem}
p{margin:0 0 .75em}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:18px 16px 64px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:18px;margin-bottom:16px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.muted{color:var(--muted);font-size:.875rem}
label{display:block;font-size:.82rem;font-weight:600;margin-bottom:4px;color:#374151}
input[type=text],input[type=email],input[type=tel],input[type=password],select{
  width:100%;padding:9px 11px;border:1px solid #cfd4da;border-radius:8px;font:inherit;background:#fff;outline:none}
input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,94,215,.14)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid transparent;border-radius:8px;
  background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--accent-h)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.sec{background:#fff;color:var(--txt);border-color:#cfd4da}
.btn.sec:hover{background:#f3f4f6}
.btn.danger{background:#fff;color:var(--bad);border-color:#f0c2bd}
.btn:disabled{opacity:.55;cursor:not-allowed}
.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid}
.t-borrador{background:#f3f4f6;color:#374151;border-color:#dfe3e8}
.t-enviado{background:#fff7e6;color:var(--warn);border-color:#f3d9a8}
.t-firmado{background:#e9f7ef;color:var(--ok);border-color:#b7e4c9}
.t-otro{background:#eef4ff;color:#1e40af;border-color:#c7d7fe}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.aviso{padding:10px 14px;border-radius:8px;font-size:.875rem;margin-bottom:12px}
.aviso.err{background:#fdecea;color:#8a1c13;border:1px solid #f5c2be}
.aviso.ok{background:#e9f7ef;color:#0b5c30;border:1px solid #b7e4c9}
.aviso.info{background:#eef4ff;color:#1e3a8a;border:1px solid #c7d7fe}
.hidden{display:none!important}
