:root{--verde:#0b3d2e;--oro:#c9a227;--tinta:#1a1a1a;--gris:#5b6b63;--linea:#dfe4e1;--fondo:#f4f6f5;--panel:#ffffff;--ok:#1a5c2a;--okbg:#d6ecd9;--warn:#8a5a00;--warnbg:#fdeccb;--err:#8a1f1f;--errbg:#f3d6d6}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Helvetica Neue,Arial,sans-serif;color:var(--tinta);background:var(--fondo);font-size:15px;line-height:1.5}a,h1{color:var(--verde)}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:18px 0 8px;color:var(--verde)}.muted{color:var(--gris);font-size:13px}.topbar{background:var(--verde);color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:space-between}.topbar .brand{font-weight:700;letter-spacing:.3px}.topbar .brand small{color:var(--oro);font-weight:600}.topbar nav a{color:#fff;text-decoration:none;margin-left:16px;font-size:14px;opacity:.9}.topbar nav a:hover{opacity:1;text-decoration:underline}.topbar form{display:inline;margin-left:16px}.topbar .linkbtn{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;opacity:.9}.wrap{max-width:920px;margin:24px auto;padding:0 18px}.card{background:var(--panel);border:1px solid var(--linea);border-radius:8px;padding:18px 20px;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--panel);border:1px solid var(--linea);border-radius:8px;padding:14px}.stat .n{font-size:26px;font-weight:700;color:var(--verde)}.stat .l{font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:.4px}label{display:block;font-size:13px;font-weight:600;color:var(--verde);margin:10px 0 3px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--linea);border-radius:6px;font-size:14px;font-family:inherit;background:#fff}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.btn,button{background:var(--verde);color:#fff;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover,button:hover{background:#0e4e3a}.btn.sec{background:#fff;color:var(--verde);border:1px solid var(--verde)}table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid var(--linea);padding:8px 10px;text-align:left}th{color:var(--gris);font-size:12px;text-transform:uppercase;letter-spacing:.3px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.b-ok{background:var(--okbg);color:var(--ok)}.b-warn{background:var(--warnbg);color:var(--warn)}.b-err{background:var(--errbg);color:var(--err)}.b-grey{background:#e6eae8;color:var(--gris)}.alert{padding:10px 12px;border-radius:6px;font-size:14px;margin:10px 0}.alert.err{background:var(--errbg);color:var(--err)}.alert.ok{background:var(--okbg);color:var(--ok)}.alert.warn{background:var(--warnbg);color:var(--warn)}.login-box{max-width:380px;margin:60px auto}.center-note{text-align:center}