:root{--bg:#f6f7f9;--fg:#16202a;--muted:#5b6672;--line:#d9dee5;--brand:#0b6e4f;--warn:#b4530a;--crit:#a3271d;--ok:#1f7a3e;--card:#fff}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand)}header.top{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:20px;padding:10px 20px;display:flex}header.top .brand{letter-spacing:.2px;font-weight:700}header.top nav a{color:var(--fg);margin-right:14px;text-decoration:none}header.top nav a.on{color:var(--brand);font-weight:600}header.top .who{color:var(--muted);margin-left:auto;font-size:13px}main{max-width:1100px;margin:0 auto;padding:20px}h1{margin:0 0 4px;font-size:22px}.sub{color:var(--muted);margin:0 0 16px}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 20px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.card .n{font-size:26px;font-weight:700}.card .l{color:var(--muted);font-size:13px}table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;background:#f0f2f5;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}.pill{color:var(--muted);background:#e8ebef;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.pill.vencida{color:var(--crit);background:#fbe4e1}.pill.por_vencer{color:var(--warn);background:#fdebd6}.pill.al_dia{color:var(--ok);background:#dff3e6}.pill.incomplete{color:var(--warn);background:#fdebd6}.pill.complete{color:var(--ok);background:#dff3e6}form.inline{display:inline}form.filters{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}input,select,textarea,button{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px}button{background:var(--brand);color:#fff;border-color:var(--brand);cursor:pointer}button.ghost{color:var(--brand);background:#fff}button.small{padding:3px 8px;font-size:13px}.box{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:14px;padding:14px 16px}.msg{border-radius:8px;margin:10px 0;padding:10px 12px}.msg.ok{color:var(--ok);background:#dff3e6}.msg.err{color:var(--crit);background:#fbe4e1}pre{color:#d8e1ea;background:#0f1720;border-radius:8px;padding:12px;font-size:13px;overflow:auto}.login{max-width:380px;margin:60px auto}.login label{color:var(--muted);margin:10px 0 4px;font-size:13px;display:block}.login input{width:100%}.muted{color:var(--muted)}.right{text-align:right}.nowrap{white-space:nowrap}@media (max-width:640px){th,td{padding:6px;font-size:13px}main{padding:12px}}button.google{width:100%;color:var(--fg);border-color:var(--line);background:#fff;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:600;display:inline-flex}button.google:hover{border-color:var(--muted)}.small-note{text-align:center;margin:8px 0 0;font-size:12px}header.top.portal{border-bottom:3px solid var(--accent,#e4572e)}.portal-site{margin:18px 0 24px}.portal-site h2{margin:0 0 8px;font-size:16px}label.inline-check{align-items:center;gap:8px;display:flex}.scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.scroll table{min-width:560px}@media (max-width:760px){header.top.portal{flex-wrap:wrap;gap:8px 16px;padding:10px 14px}header.top.portal .who{margin-left:auto}main{padding:14px}}
