:root{
  --verde:#0a8f4a; --verde-d:#076b38; --bg:#f4f6f8; --card:#fff;
  --bord:#e2e6ea; --txt:#1d2b22; --muted:#6b7a72;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;margin:0;background:var(--bg);color:var(--txt)}
.top{display:flex;justify-content:space-between;align-items:center;background:var(--verde);color:#fff;padding:14px 22px}
.top h1{font-size:1.2rem;margin:0}
.top nav a{color:#fff;text-decoration:none;font-weight:600}
.top nav a:hover{text-decoration:underline}
main{max-width:760px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--bord);border-radius:12px;padding:22px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.card h2{margin-top:0}
.hint{margin:-6px 0 18px;color:var(--muted);font-size:.85rem}
.tabs{display:flex;gap:6px;margin-bottom:10px}
.tab{width:auto;flex:1;background:#e7ece9;color:var(--verde-d);padding:10px;font-weight:700;border-radius:9px 9px 0 0}
.tab.activo{background:var(--verde);color:#fff}
.panel.oculto{display:none}
.filas{width:100%;border-collapse:collapse;margin-bottom:12px}
.filas th{text-align:left;font-size:.8rem;color:var(--verde-d);padding:4px 6px}
.filas td{padding:3px 4px}
.filas input{margin-top:0}
.filas td:nth-child(2){width:110px}
.filas td:last-child{width:34px}
.add{width:auto;background:#e7ece9;color:var(--verde-d);padding:8px 14px;font-size:.9rem}
.del{width:auto;background:#fde8e8;color:#a12020;padding:6px 10px;font-weight:700}
.pie-web{text-align:center;color:var(--muted);font-size:.8rem;padding:24px 0 30px}
fieldset{border:1px solid var(--bord);border-radius:10px;margin:0 0 18px;padding:14px 16px}
legend{font-weight:700;color:var(--verde-d);padding:0 6px}
label{display:block;margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--muted)}
input,textarea,select{width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--bord);border-radius:8px;font-size:1rem;font-family:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--verde)}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row label{flex:1;min-width:120px}
button{background:var(--verde);color:#fff;border:none;border-radius:9px;padding:13px 22px;font-size:1.05rem;font-weight:700;cursor:pointer;width:100%}
button:hover{background:var(--verde-d)}
.ok{background:#e6f7ee;border:1px solid #b7e4cb;color:#0a6b39;padding:14px 16px;border-radius:10px;margin-bottom:18px}
.ok a{color:var(--verde-d);font-weight:700;margin-left:8px}
.err{background:#fde8e8;border:1px solid #f5b5b5;color:#a12020;padding:10px;border-radius:8px}
.lista{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.lista th,.lista td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--bord);font-size:.9rem}
.lista th{background:#eef3f0;color:var(--verde-d)}
.lista code{background:#eef3f0;padding:2px 5px;border-radius:4px;font-size:.8rem}
/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login-card{max-width:340px;width:90%;text-align:center}
.login-card h1{color:var(--verde-d)}
.login-card label{text-align:left}
