/* Estilos comuns das telas dos módulos (complementa _modulo.css) */
  .toolbar { display:flex; gap:8px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .hint { font-size:11px; color:var(--muted); margin-top:3px; }
  .flash { padding:9px 12px; border-radius:6px; background:var(--accent-soft); border-left:3px solid var(--accent); }
  a.btn { text-decoration:none; }
  .acoes { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
  .acoes form { margin:0; display:flex; gap:6px; align-items:center; }
  .chip { display:inline-block; font-size:10.5px; font-weight:600; padding:1px 9px; border-radius:10px; background:var(--brand-light); color:var(--brand); white-space:nowrap; }
  .chip.off { background:#f1f1f3; color:#7a7a85; }
  .chip.am { background:#fff3d6; color:#8a5a00; }
  .chip.ok { background:var(--success-soft); color:var(--success); }
  .dot { display:inline-block; width:11px; height:11px; border-radius:50%; vertical-align:-1px; margin-right:6px; border:1px solid rgba(0,0,0,.15); }
  label.chk { display:flex; gap:7px; align-items:center; text-transform:none; font-weight:500; }
  .abas { display:flex; gap:4px; border-bottom:1px solid var(--border, #dfe7ea); margin-bottom:2px; flex-wrap:wrap; }
  .abas a { padding:7px 14px; font-size:12.5px; font-weight:600; color:var(--text-sec); text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px; }
  .abas a.on { color:var(--brand); border-bottom-color:var(--brand); }
  .paleta { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  .paleta button { width:22px; height:22px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.2); cursor:pointer; padding:0; }
  .corbox { display:flex; gap:8px; align-items:center; }
  .corbox input[type=color] { width:44px; height:32px; padding:2px; border:1px solid var(--border, #cfd9dd); border-radius:6px; background:#fff; }
  .mono { font-variant-numeric: tabular-nums; }
  .tbl-wrap { overflow-x:auto; }
  .cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px; margin:8px 0; }
  .cardsec { display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid #dfe7ea; border-left-width:5px; border-radius:8px; padding:9px 11px; }
  .cardsec.on { box-shadow:0 0 0 2px var(--brand); }
  .cardsec b { display:block; font-size:12.5px; }
  .cardsec .nums { display:flex; gap:10px; margin-top:5px; font-size:11px; color:var(--text-sec); flex-wrap:wrap; }
  .cardsec .nums span b { display:inline; font-size:13px; color:var(--text); }
  .late { color:#b3261e; font-weight:600; }
  .kpi { display:flex; gap:10px; flex-wrap:wrap; margin:6px 0; }
  .kpi div { background:#fff; border:1px solid #dfe7ea; border-radius:8px; padding:8px 14px; min-width:140px; }
  .kpi div b { display:block; font-size:20px; }
  .kpi div span { font-size:11px; color:var(--text-sec); }
  .grid2 { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:12px; }
  @media (max-width: 900px) { .grid2 { grid-template-columns:1fr; } }
  .tl { list-style:none; margin:0; padding:0; }
  .tl li { border-left:3px solid #dfe7ea; padding:2px 0 10px 12px; margin-left:4px; position:relative; font-size:12.5px; }
  .tl li::before { content:''; position:absolute; left:-7px; top:4px; width:11px; height:11px; border-radius:50%; background:var(--brand); border:2px solid #fff; }
  .tl li.int::before { background:#b7c3c8; }
  .tl .quando { font-size:10.5px; color:var(--muted); }
  .pager { display:flex; gap:6px; align-items:center; margin:8px 0; font-size:12px; flex-wrap:wrap; }
  .bar { height:7px; background:#e6ecee; border-radius:4px; overflow:hidden; min-width:90px; }
  .bar i { display:block; height:100%; background:var(--brand); }
  textarea.form-control-sm { height:auto; min-height:90px; }
