/* Identidad de lokal.mx: Inter (texto), Plus Jakarta Sans (títulos), midnight / bone / verde de marca */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(/static/fonts/plus-jakarta-sans.woff2) format("woff2")}
:root{--midnight:#0b051d;--bone:#f9f8f5;--brand:#0f9b4c;--brand-dark:#0b7a3b;--brand-deep:#053d22;--brand-soft:#e7f7ee;
  --line:#e2e2e7;--muted:#615f6d;--er:#b42318;--er-soft:#fdecea;--radius:.75rem;--pill:100px;
  --font-sans:Inter,system-ui,-apple-system,sans-serif;--font-heading:"Plus Jakarta Sans",var(--font-sans)}
*{box-sizing:border-box}
body{margin:0;background:var(--bone);color:var(--midnight);font:400 1rem/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}
header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .in{max-width:760px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
header.top img{height:32px;width:auto;display:block}
main{max-width:760px;margin:0 auto;padding:28px 16px 56px}
h1,h2{font-family:var(--font-heading);letter-spacing:-.025em;line-height:1.25;margin:0 0 12px}
h1{font-size:1.875rem;font-weight:800}h2{font-size:1.25rem;font-weight:700;margin-top:32px}
form,.card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:20px;display:grid;gap:16px}
label{display:grid;gap:6px;font-size:.875rem;font-weight:600}
small,.m{font-weight:400;color:var(--muted)}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--midnight);font:inherit;font-size:1rem}
input[type=file]{padding:8px}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--midnight);outline-offset:2px}
button{padding:10px 20px;border:1px solid var(--brand-dark);border-radius:var(--pill);background:var(--brand-dark);color:#fff;font:600 .9375rem var(--font-sans);cursor:pointer;transition:background .15s,color .15s}
button:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
button:disabled{opacity:.5;cursor:default}
button.sec{background:transparent;color:var(--brand-dark)}button.sec:hover{background:var(--brand-soft)}
button.del{background:transparent;color:var(--er);border-color:var(--er)}button.del:hover{background:var(--er-soft)}
.grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:560px){.grid{grid-template-columns:1fr}}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.msg{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);word-break:break-all;font-size:.9375rem}
.msg.ok{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}
.msg.er{background:var(--er-soft);border-color:var(--er);color:var(--er)}
.rfc{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;letter-spacing:.02em}
table{width:100%;border-collapse:collapse;font-size:.875rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;color:var(--muted)}
.tablewrap{overflow-x:auto}
.tag{padding:2px 10px;border-radius:var(--pill);background:var(--brand-soft);color:var(--brand-dark);font-size:.75rem;font-weight:600}
[hidden]{display:none!important}
