*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f6fb;color:#1c2333}
.wrap{max-width:1080px;margin:0 auto;padding:16px}
header{background:#16234a;color:#fff;padding:18px 0}header h1{margin:0;font-size:1.6rem}.sub{opacity:.85;margin:4px 0 0}
.header-flex{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.card{background:#fff;border-radius:12px;padding:16px;margin:14px 0;box-shadow:0 1px 6px rgba(0,0,0,.08)}
h2{margin:0 0 10px;font-size:1.1rem}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;min-width:180px}
input,select{padding:9px 10px;border:1px solid #cbd3e6;border-radius:8px;font-size:.95rem;background:#fff}
.btn{padding:10px 14px;border-radius:9px;border:1px solid #cbd3e6;background:#eef2ff;cursor:pointer;font-weight:600}
.btn.primary{background:#2244cc;color:#fff;border-color:#2244cc}
.btn.danger{background:#fdecec;border-color:#f3b4b4;color:#a11}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.hint{font-size:.85rem;color:#5a6685}
.msg{margin-top:10px;font-size:.9rem;min-height:1.2em}
.msg.err{color:#b00020}.msg.ok{color:#0a7a3d}
.tabs{display:flex;gap:8px;margin-bottom:10px}
.tab{padding:8px 12px;border-radius:20px;border:1px solid #cbd3e6;background:#f1f4ff;cursor:pointer}
.tab.active{background:#2244cc;color:#fff;border-color:#2244cc}
.hidden{display:none}
.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pill{background:#f1f4ff;border-radius:20px;padding:6px 10px;font-size:.82rem}
.pill.ok{color:#0a7a3d}.pill.warn{color:#8a6d00}.pill.bad{color:#b00020}.pill.nodata{color:#555}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.kpi{background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.kpi b{font-size:1.4rem;display:block}.kpi span{font-size:.8rem;color:#5a6685}
.kpi.bad{border-left:6px solid #d63031}.kpi.warn{border-left:6px solid #f0a000}.kpi.ok{border-left:6px solid #00a86b}
.table-wrap{overflow:auto;margin-top:10px}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{padding:8px;border-bottom:1px solid #e5e9f5;text-align:left;white-space:nowrap}
th{background:#eef2ff}
tr.st-OK{background:#e9f9f0}tr.st-ATENÇÃO{background:#fff7dd}tr.st-SUPERLOTAÇÃO{background:#fdecec}tr.st-SEM-DADO{background:#f0f1f5}
.badge{border-radius:20px;padding:3px 10px;font-weight:700;font-size:.78rem}
.b-OK{background:#00a86b;color:#fff}.b-ATENÇÃO{background:#e6a600;color:#fff}.b-SUPERLOTAÇÃO{background:#d63031;color:#fff}.b-SEM-DADO{background:#888;color:#fff}
.bar{height:10px;background:#dde3f2;border-radius:6px;min-width:90px;overflow:hidden}.bar i{display:block;height:100%}
.center{text-align:center}
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.res{border:1px solid #e2e7f5;border-radius:10px;padding:10px}
.login-screen{position:fixed;inset:0;background:#16234a;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.login-box{background:#fff;border-radius:14px;padding:24px;max-width:360px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.login-box h1{margin:0 0 4px;font-size:1.3rem}.login-box label{display:flex;flex-direction:column;gap:4px;margin:10px 0}
.user-info{color:#fff;font-weight:700;background:rgba(255,255,255,.15);padding:6px 12px;border-radius:20px}
.warn-card{background:#fff7dd;border:1px solid #e6c200}
@media print{.header-actions,.card:first-child,.card:nth-child(2),.card:nth-child(3){display:none}}
