:root{--azul:#1f3864;--azul2:#2e5090;--cinza:#f4f6fa;--borda:#e2e6ee;--txt:#1b2431;
--alta:#d93636;--media:#e08600;--baixa:#c9a300;--verde:#1f8a4c;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--cinza);color:var(--txt);font-size:14px}
a{color:var(--azul2);text-decoration:none}a:hover{text-decoration:underline}
.topbar{background:var(--azul);color:#fff;display:flex;align-items:center;padding:0 20px;height:56px;gap:22px}
.topbar .brand{font-weight:bold;font-size:18px;letter-spacing:.5px;color:#fff;display:flex;align-items:center}
.topbar .brand:hover{text-decoration:none}
.topbar .brand .logo{height:36px;width:auto;display:block}
.login .logo-login{display:block;max-width:220px;max-height:90px;width:auto;margin:0 auto 10px}
.topbar nav{display:flex;gap:18px;flex:1}
.topbar nav a{color:#dbe3f2;font-size:14px}
.topbar nav a:hover,.topbar nav a.on{color:#fff;text-decoration:none;border-bottom:2px solid #fff;padding-bottom:2px}
.topbar .user{font-size:13px;color:#cfd8ea}
.wrap{max-width:1180px;margin:24px auto;padding:0 20px}
h1{font-size:22px;margin-bottom:4px}h2{font-size:17px;margin:22px 0 10px}
.sub{color:#6b7688;font-size:13px;margin-bottom:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}
.card{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:16px}
.card .k{color:#6b7688;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.card .v{font-size:26px;font-weight:bold;margin-top:6px;color:var(--azul)}
.card .v.warn{color:var(--alta)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.panel{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:18px;margin-bottom:16px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}
th,td{text-align:left;padding:9px 11px;border-bottom:1px solid var(--borda);font-size:13px}
th{background:#eef2f8;color:#3a4759;font-weight:bold;position:sticky;top:0}
tr:hover td{background:#f8fafd}
.right{text-align:right}.center{text-align:center}
.tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:bold;color:#fff}
.tag.ALTA{background:var(--alta)}.tag.MEDIA{background:var(--media)}.tag.BAIXA{background:var(--baixa)}
.pill{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12px;font-weight:bold}
.pill.ok{background:#e0f0e6;color:var(--verde)}.pill.no{background:#fbe0e0;color:var(--alta)}
.btn{display:inline-block;background:var(--azul);color:#fff;border:none;padding:9px 16px;border-radius:8px;
cursor:pointer;font-size:14px}.btn:hover{background:var(--azul2);text-decoration:none}
.btn.sec{background:#fff;color:var(--azul);border:1px solid var(--azul)}
input,select,textarea{width:100%;padding:9px;border:1px solid var(--borda);border-radius:8px;font-size:14px;font-family:inherit}
label{display:block;font-size:12px;color:#5a6577;margin:10px 0 4px;font-weight:bold}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.login{max-width:360px;margin:9vh auto;background:#fff;padding:32px;border-radius:12px;border:1px solid var(--borda)}
.login h1{text-align:center;color:var(--azul)}
.erro{background:#fbe0e0;color:var(--alta);padding:10px;border-radius:8px;margin:12px 0;font-size:13px}
.ok-msg{background:#e0f0e6;color:var(--verde);padding:10px;border-radius:8px;margin:12px 0;font-size:13px}
.muted{color:#8892a4;font-size:12px}
.days{font-weight:bold}.days.urg{color:var(--alta)}.days.soon{color:var(--media)}
