/* ═══ Tema CEOFY — navy corporativo (#1E3A66) ═══ */
:root {
  --primary: #1E3A66;
  --primary-dark: #16294A;
  --primary-light: #3D5A94;
  --accent: #2EC4B6;
  --bg: #EEF2F8;
  --surface: #FFFFFF;
  --text: #1A2233;
  --text-muted: #6B7280;
  --border: #DDE4EE;
  --radius: 12px;
  --shadow: 0 1px 3px rgba(30,58,102,.08), 0 4px 16px rgba(30,58,102,.06);
  --font: 'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font); background: var(--bg); color: var(--text); min-height: 100vh; }
a { color: var(--primary-light); text-decoration: none; }

.btn {
  background: var(--primary); color: #fff; border: none; padding: 11px 20px;
  border-radius: 10px; font-weight: 600; font-size: 14px; cursor: pointer; transition: .15s;
}
.btn:hover { background: var(--primary-dark); }
.btn.ghost { background: transparent; color: var(--primary); border: 1px solid var(--border); }
.btn.mini { padding: 6px 12px; font-size: 12px; }

.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }

input, select, textarea {
  width: 100%; background: #fff; color: var(--text); border: 1px solid var(--border);
  border-radius: 9px; padding: 11px 13px; font-size: 15px; font-family: var(--font); outline: none; transition: .15s;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary-light); box-shadow: 0 0 0 3px rgba(61,90,148,.12); }
label { display: block; font-size: 13px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }

table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); padding: 12px; border-bottom: 2px solid var(--border); }
td { padding: 12px; border-bottom: 1px solid var(--border); font-size: 14px; }
tr:hover td { background: #f7f9fc; }

.badge { font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .03em; }
.badge.comercial { background: #e5f0ff; color: var(--primary); }
.badge.servico { background: #e6faf7; color: #0d9488; }
.badge.on { background: #e7f8ee; color: #15803d; }
.badge.off { background: #fdeaea; color: #b91c1c; }

.muted { color: var(--text-muted); }
.section-title { font-size: 15px; font-weight: 700; color: var(--primary); margin-bottom: 14px; }
.empty { text-align: center; padding: 30px; color: var(--text-muted); }
.formgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 16px; }
.kpi .rot { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); margin-bottom: 8px; }
.kpi .val { font-size: 1.7rem; font-weight: 800; color: var(--primary); }
.erro { color: #b91c1c; font-size: 13px; margin-top: 10px; min-height: 16px; }
@media(max-width:820px){ .formgrid{grid-template-columns:1fr} }
