:root{--azul:#0b6e8f;--azul-osc:#084f66;--gris:#f3f6f8;--texto:#17262e;--linea:#d9e2e8;--rojo:#b3261e}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--texto);background:var(--gris);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--azul)}.top{background:var(--azul);color:#fff;display:flex;align-items:center;gap:12px;padding:10px 16px;position:sticky;top:0;z-index:5}
.brand{color:#fff;font-weight:700;text-decoration:none;font-size:18px;flex:1}.menu-btn{background:none;border:0;color:#fff;font-size:24px;cursor:pointer}
.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--azul-osc);flex-direction:column;padding:8px 16px}.nav a,.nav .link{color:#fff;text-decoration:none;padding:10px 0;background:none;border:0;font:inherit;cursor:pointer;text-align:left}
body.nav-open .nav{display:flex}.inline{display:inline}
.main{flex:1;padding:16px;max-width:1100px;width:100%;margin:0 auto}.foot{text-align:center;font-size:13px;padding:14px;color:#567}.foot a{color:#567}
.card{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:16px;margin-bottom:16px}
.flash{background:#e6f4ea;border:1px solid #b7dfc2;padding:10px 14px;border-radius:8px;margin-bottom:12px}.error{color:var(--rojo)}
label{display:block;font-weight:600;margin:10px 0 4px}input,select,textarea{width:100%;padding:11px;border:1px solid var(--linea);border-radius:8px;font:inherit}
.btn{display:inline-block;background:var(--azul);color:#fff;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn.sec{background:#fff;color:var(--azul);border:1px solid var(--azul)}
.grid{display:grid;gap:12px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--linea)}
.tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px}.tabs a{white-space:nowrap;padding:8px 12px;border-radius:20px;background:#fff;border:1px solid var(--linea);text-decoration:none}.tabs a.on{background:var(--azul);color:#fff}
@media(min-width:800px){.menu-btn{display:none}.nav{display:flex;position:static;flex-direction:row;background:none;padding:0;gap:16px}.grid.dos{grid-template-columns:1fr 1fr}}
