*{box-sizing:border-box;margin:0;padding:0}
body{background:#111;color:#ccc;font-family:system-ui,sans-serif}
.header{background:#1a1a1a;padding:16px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #2a2a2a;position:sticky;top:0;z-index:10}
.logo{width:40px;height:40px;border-radius:50%;background:#C9A84C;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#1a1a1a}
h1{font-size:18px;color:#C9A84C;font-weight:500}
.sub{font-size:11px;color:#666}
.body{padding:20px;max-width:1200px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.card{background:#1e1e1e;border:0.5px solid #333;border-radius:8px;padding:14px}
.card-label{font-size:11px;color:#888;margin-bottom:5px}
.card-value{font-size:22px;font-weight:500;color:#C9A84C}
.card-sub{font-size:11px;color:#666;margin-top:3px}
.green{color:#4caf7d!important}.red{color:#e24b4a!important}
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.chart-box{background:#1e1e1e;border:0.5px solid #333;border-radius:8px;padding:16px}
.chart-box h3{font-size:12px;color:#888;margin-bottom:12px;font-weight:400;text-transform:uppercase;letter-spacing:.05em}
.bar-list{display:flex;flex-direction:column;gap:10px}
.bar-item{display:flex;align-items:center;gap:10px}
.bar-name{font-size:12px;color:#aaa;width:140px;flex-shrink:0}
.bar-wrap{flex:1;height:6px;background:#2a2a2a;border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px;background:#C9A84C;transition:width .5s}
.bar-val{font-size:11px;color:#888;width:80px;text-align:right}
.kpi-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:0.5px solid #222}
.kpi-row:last-child{border-bottom:none}
.kpi-lbl{font-size:12px;color:#aaa}
.kpi-val{font-size:13px;font-weight:500;color:#C9A84C}
.section-title{font-size:11px;color:#C9A84C;letter-spacing:.08em;text-transform:uppercase;margin:20px 0 10px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.filters input,.filters select{background:#1e1e1e;border:0.5px solid #444;color:#ccc;padding:7px 12px;border-radius:6px;font-size:12px;outline:none}
.filters input:focus,.filters select:focus{border-color:#C9A84C}
.btn-buscar{background:#C9A84C;color:#111;border:none;padding:7px 16px;border-radius:6px;font-size:12px;cursor:pointer;font-weight:600}
.btn-buscar:hover{background:#b8943a}
.btn-limpar{background:transparent;color:#888;border:0.5px solid #444;padding:7px 14px;border-radius:6px;font-size:12px;cursor:pointer}
.btn-limpar:hover{color:#ccc;border-color:#666}
.result-count{font-size:11px;color:#666;margin-bottom:8px}
table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;padding:8px 10px;color:#666;font-weight:400;border-bottom:0.5px solid #2a2a2a;font-size:11px;text-transform:uppercase}
td{padding:8px 10px;border-bottom:0.5px solid #1a1a1a;color:#bbb}
tr:hover td{background:#1a1a1a}
.badge{padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}
.b-confirmado{background:#2a3d1a;color:#4caf7d}
.b-concluido{background:#1a3d2b;color:#26a65b}
.b-cancelado{background:#3d1a1a;color:#e24b4a}
.b-aguardando{background:#3d3010;color:#f0b429}
.loading{text-align:center;padding:40px;color:#555;font-size:13px}
.top-list{display:flex;flex-direction:column;gap:6px}
.top-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:0.5px solid #222}
.top-item:last-child{border-bottom:none}
.top-name{font-size:12px;color:#bbb}
.top-val{font-size:12px;color:#C9A84C;font-weight:500}
.btn-export{background:transparent;color:#C9A84C;border:0.5px solid #C9A84C;padding:7px 14px;border-radius:6px;font-size:12px;cursor:pointer;margin-left:auto}
.btn-export:hover{background:#C9A84C;color:#111}
.periodo-btns{display:flex;gap:6px;margin-bottom:14px}
.pbtn{background:#1e1e1e;border:0.5px solid #444;color:#888;padding:5px 14px;border-radius:6px;font-size:11px;cursor:pointer}
.pbtn.ativo{border-color:#C9A84C;color:#C9A84C}

/* Substituem os atributos style= do HTML: sob CSP estrita, style= inline nao e permitido. */
.header-title{flex:1}
.canvas-wrap{position:relative}
.canvas-150{height:150px}
.canvas-180{height:180px}
.mb-12{margin-bottom:12px}
.f-grow{flex:1;min-width:160px}
