:root{
  --bg:#eef3f8;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --sidebar:#081a3a;
  --sidebar-2:#0b234e;
  --text:#14233b;
  --muted:#66758b;
  --line:#dbe4ef;
  --primary:#2563eb;
  --primary-2:#1d4ed8;
  --success-bg:#dcfce7;
  --success-text:#166534;
  --danger:#dc2626;
  --shadow:0 14px 36px rgba(8,27,58,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:linear-gradient(180deg,#f5f8fc 0,#eef3f8 100%);
  color:var(--text);
}
a{text-decoration:none;color:inherit}
h1,h2,h3{margin:0 0 10px}
p{margin:0}
.topbar{
  background:linear-gradient(135deg,var(--sidebar) 0,var(--sidebar-2) 100%);
  color:#fff;
  padding:22px 28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky;
  top:0;
  z-index:30;
}
.brand h1{font-size:24px;font-weight:700;letter-spacing:-.02em}
.topbar-user{display:flex;align-items:center;gap:12px;font-size:15px}
.layout{display:flex;min-height:calc(100vh - 84px)}
.sidebar{
  width:260px;
  background:linear-gradient(180deg,#071730 0,#081a3a 100%);
  padding:22px 18px;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.04);
}
.nav{display:flex;flex-direction:column;gap:10px}
.nav a{
  display:flex;
  align-items:center;
  min-height:52px;
  color:#e8eef9;
  padding:0 16px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.03);
  transition:.18s ease;
  font-weight:600;
}
.nav a:hover,.nav a.active{
  background:linear-gradient(135deg,rgba(37,99,235,.26),rgba(37,99,235,.14));
  border-color:rgba(96,165,250,.35);
  transform:translateX(2px);
}
.content{flex:1;padding:30px 28px 36px}
.content.solo{max-width:1180px;margin:0 auto;padding-top:30px}
.page-header{margin-bottom:24px}
.page-header h2{font-size:22px;letter-spacing:-.02em;margin-bottom:8px}
.page-header p{color:var(--muted);font-size:15px}
.card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:var(--shadow);
  border:1px solid rgba(218,228,239,.8);
  margin-bottom:22px;
}
.card h3{font-size:18px;margin-bottom:22px;letter-spacing:-.01em}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:22px}
.stat-card{padding:18px 18px 16px;background:linear-gradient(180deg,#fff 0,#f8fbff 100%)}
.stat-label{display:block;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.stat-value{display:block;font-size:34px;font-weight:700;color:#0f2342;line-height:1}
.grid-2{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1.35fr);gap:22px;align-items:start}
.grid-stack{display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;align-items:start}
.form-group{display:flex;flex-direction:column;min-width:0}
.form-group.full{grid-column:1/-1}
.form-group label{
  font-size:13px;
  color:#334155;
  font-weight:700;
  margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  min-height:44px;
  padding:11px 13px;
  border:1px solid #cfd8e3;
  border-radius:12px;
  background:#fff;
  color:var(--text);
  font-size:14px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.form-group textarea{min-height:110px;resize:vertical}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:#7aa2ff;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
  background:#fbfdff;
}
.form-grid > .btn,
.form-grid > button{grid-column:1/-1;justify-self:start;margin-top:4px}
.table-wrap{
  overflow:auto;
  border:1px solid #e4ebf3;
  border-radius:16px;
  background:#fff;
}
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.table thead th{
  background:#f8fbff;
  color:#42546b;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.table th,.table td{padding:14px 16px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}
.table tbody tr:hover{background:#fafcff}
.table tbody tr:last-child td{border-bottom:none}
.alert{padding:15px 18px;border-radius:14px;margin-bottom:18px;border:1px solid transparent;font-weight:600}
.alert.success{background:var(--success-bg);color:var(--success-text);border-color:#bbf7d0}
.alert.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.alert.info{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  background:#e9eff7;
  color:#10233d;
  font-weight:700;
  border:none;
  box-shadow:none;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-2) 100%);color:#fff;box-shadow:0 12px 20px rgba(37,99,235,.22)}
.btn.danger{background:linear-gradient(135deg,#ef4444 0,#dc2626 100%);color:#fff}
.btn.secondary{background:#eef4ff;color:#1d4ed8;border:1px solid #cfe0ff;box-shadow:none}
.table-actions{display:flex;gap:8px;flex-wrap:wrap}
.table-actions .btn{min-height:36px;padding:0 12px;border-radius:10px;font-size:13px}
.btn.small{min-height:38px;padding:0 14px;border-radius:10px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.full-width{width:100%}
.mono{font-family:Consolas,monospace}
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#071730,#143a7b)}
.login-container{width:100%;max-width:470px;padding:20px}
.login-card{background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.login-card h1{font-size:28px;margin-bottom:8px}
.subtitle{color:var(--muted);margin-bottom:22px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;
  font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.section-head p{color:var(--muted)}
.notice-clean{margin-bottom:18px}
.footer-note{color:var(--muted);font-size:13px;margin-top:10px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
::-webkit-scrollbar-track{background:#eef3f8}
@media (max-width:1180px){
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:900px){
  .layout{display:block}
  .sidebar{width:auto;padding:16px}
  .content{padding:18px 16px 28px}
  .topbar{padding:18px 16px;align-items:flex-start;gap:12px;flex-direction:column}
}
@media (max-width:720px){
  .form-grid{grid-template-columns:1fr}
  .form-group.full,.form-grid>.btn,.form-grid>button{grid-column:auto}
  .cards-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .cards-grid{grid-template-columns:1fr}
  .brand h1{font-size:21px}
}


.page-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#eaf2ff;color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.page-kicker .dot{width:8px;height:8px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 6px rgba(37,99,235,.12)}
.executive-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-bottom:22px}
.hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#081a3a 0,#102b61 55%,#1d4ed8 100%);color:#fff;border:none}
.hero-card::after{content:'';position:absolute;inset:auto -80px -80px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,0));}
.hero-title{font-size:28px;font-weight:800;letter-spacing:-.03em;margin-bottom:10px;position:relative;z-index:1}
.hero-subtitle{max-width:720px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.6;position:relative;z-index:1}
.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;position:relative;z-index:1}
.hero-metric{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px}
.hero-metric span{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:8px}
.hero-metric strong{font-size:24px;line-height:1}
.executive-side{display:grid;gap:22px}
.info-list{display:grid;gap:14px}
.info-item{display:flex;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #e9eff6}
.info-item:last-child{border-bottom:none;padding-bottom:0}
.info-item span{color:var(--muted);font-weight:700}
.info-item strong{color:#0f2342}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.kpi-card{position:relative;overflow:hidden}
.kpi-card::before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#60a5fa,#2563eb)}
.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.kpi-icon{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#1d4ed8;font-size:21px;box-shadow:inset 0 0 0 1px #dbeafe}
.kpi-title{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.kpi-value{font-size:34px;font-weight:800;letter-spacing:-.03em;color:#0f2342;margin-bottom:8px}
.kpi-foot{font-size:13px;color:#64748b}
.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.panel-title .icon{width:38px;height:38px;border-radius:12px;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.panel-title h3{margin:0;font-size:18px}
.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.status-box{padding:16px;border-radius:16px;border:1px solid #e5edf7;background:#fbfdff}
.status-box .mini{font-size:12px;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.status-box strong{display:block;font-size:26px;color:#0f2342;margin-top:8px}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}
.badge.crit-baixa{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.badge.crit-media{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.badge.crit-alta{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.badge.crit-critica{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.badge.st-ativo{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.badge.st-inativo{background:#f8fafc;color:#475569;border-color:#cbd5e1}
.badge.st-manutencao{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.badge.os-aberta{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.badge.os-programada{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}
.badge.os-em_andamento{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.badge.os-concluida{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.badge.os-cancelada{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.badge.os-aguardando_peca{background:#fefce8;color:#a16207;border-color:#fde68a}
.table .muted{color:#64748b}
.nav a .nav-icon{width:22px;display:inline-flex;justify-content:center;margin-right:10px;font-size:16px;opacity:.95}
.nav a .nav-label{flex:1}
@media (max-width:1200px){.executive-grid,.kpi-grid{grid-template-columns:1fr 1fr}.executive-grid{grid-template-columns:1fr}.hero-metrics{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:720px){.kpi-grid,.status-grid,.hero-metrics{grid-template-columns:1fr}.hero-title{font-size:24px}}


.board-grid{align-items:stretch}
.board-summary-card{display:flex;flex-direction:column;justify-content:center}
.summary-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.summary-pill{padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #e5edf7}
.summary-pill span{display:block;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.summary-pill strong{font-size:28px;color:#0f2342;letter-spacing:-.03em}
.board-kpis{margin-bottom:24px}
.board-panels{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-bottom:22px}
.bar-chart{display:grid;gap:16px}
.bar-row{display:grid;grid-template-columns:100px 1fr 52px;gap:14px;align-items:center}
.bar-label{font-size:14px;font-weight:700;color:#334155}
.bar-track{height:14px;background:#edf2f7;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #e2e8f0}
.bar-fill{height:100%;border-radius:999px}
.bar-fill.bar-critica{background:linear-gradient(90deg,#ef4444,#dc2626)}
.bar-fill.bar-alta{background:linear-gradient(90deg,#fb923c,#ea580c)}
.bar-fill.bar-media{background:linear-gradient(90deg,#60a5fa,#2563eb)}
.bar-fill.bar-baixa{background:linear-gradient(90deg,#34d399,#059669)}
.bar-value{font-size:14px;font-weight:800;color:#0f2342;text-align:right}
.rank-list{display:grid;gap:16px}
.rank-item{padding:16px;border-radius:16px;border:1px solid #e5edf7;background:#fbfdff}
.rank-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}
.rank-meta{display:flex;align-items:center;gap:12px}
.rank-pos{width:34px;height:34px;border-radius:12px;background:#eaf2ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.rank-total{font-size:13px;color:#64748b;font-weight:700}
.rank-bar{height:12px;background:#edf2f7;border-radius:999px;overflow:hidden;margin-bottom:10px}
.rank-fill{height:100%;background:linear-gradient(90deg,#93c5fd,#2563eb);border-radius:999px}
.rank-subinfo{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px;font-weight:700}
.semaphore-card{margin-bottom:22px}
.semaphore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.semaphore-item{border-radius:18px;padding:18px;border:1px solid #e5edf7;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.semaphore-item.semaphore-verde{background:linear-gradient(180deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0}
.semaphore-item.semaphore-amarelo{background:linear-gradient(180deg,#fffbeb,#fefce8);border-color:#fde68a}
.semaphore-item.semaphore-vermelho{background:linear-gradient(180deg,#fef2f2,#fff1f2);border-color:#fecaca}
.semaphore-head{display:flex;gap:12px;align-items:flex-start}
.traffic-light{width:16px;height:16px;border-radius:50%;display:inline-block;flex:0 0 auto;margin-top:3px;box-shadow:0 0 0 6px rgba(0,0,0,.04)}
.traffic-light.verde{background:#16a34a}
.traffic-light.amarelo{background:#eab308}
.traffic-light.vermelho{background:#dc2626}
.semaphore-title{font-size:14px;font-weight:800;color:#0f2342;margin-bottom:6px}
.semaphore-detail{font-size:13px;line-height:1.45;color:#64748b}
.semaphore-value{font-size:32px;font-weight:800;letter-spacing:-.03em;color:#0f2342;margin-top:16px}
.empty-note{color:#64748b;font-weight:600;padding:10px 0}
@media (max-width:1280px){.board-panels{grid-template-columns:1fr}.semaphore-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.summary-stack{grid-template-columns:1fr 1fr}.board-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:88px 1fr 40px}}
@media (max-width:720px){.summary-stack,.semaphore-grid{grid-template-columns:1fr}.rank-top,.rank-subinfo{flex-direction:column;align-items:flex-start}.bar-row{grid-template-columns:1fr}.bar-value{text-align:left}}

/* Presidência */
.presidency-header{margin-bottom:26px}
.presidency-top{display:grid;grid-template-columns:1.7fr .9fr;gap:22px;margin-bottom:24px}
.presidency-hero{position:relative;overflow:hidden;border:none;color:#fff;background:linear-gradient(135deg,#081a3a 0,#0f2c60 45%,#2563eb 100%)}
.presidency-hero::before{content:'';position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0));}
.hero-eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;position:relative;z-index:1}
.hero-main-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;position:relative;z-index:1}
.hero-main-row h3{font-size:30px;letter-spacing:-.03em;margin-bottom:10px;color:#fff}
.hero-main-row p{max-width:760px;color:rgba(255,255,255,.84);line-height:1.6}
.signal-badge{padding:10px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.signal-green{background:rgba(34,197,94,.18);color:#dcfce7;border:1px solid rgba(134,239,172,.36)}
.signal-yellow{background:rgba(234,179,8,.18);color:#fef9c3;border:1px solid rgba(253,224,71,.36)}
.signal-red{background:rgba(239,68,68,.2);color:#fee2e2;border:1px solid rgba(254,202,202,.36)}
.presidency-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;position:relative;z-index:1}
.hero-stat{padding:18px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}
.hero-stat span{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.74);margin-bottom:10px}
.hero-stat strong{font-size:24px;line-height:1.1;color:#fff}
.presidential-focus-card{display:flex;flex-direction:column;justify-content:flex-start}
.goal-ring-wrap{display:flex;justify-content:center;margin:6px 0 18px}
.goal-ring{--goal:0%;width:182px;height:182px;border-radius:50%;background:conic-gradient(#2563eb var(--goal), #e5edf7 0);display:grid;place-items:center;position:relative}
.goal-ring::after{content:'';position:absolute;inset:16px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e5edf7}
.goal-ring-inner{position:relative;z-index:1;text-align:center}
.goal-ring-inner strong{display:block;font-size:34px;letter-spacing:-.03em;color:#0f2342}
.goal-ring-inner span{display:block;margin-top:6px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.goal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.goal-summary div{padding:14px;border-radius:14px;background:#f8fbff;border:1px solid #e5edf7}
.goal-summary span{display:block;font-size:12px;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.goal-summary strong{font-size:22px;letter-spacing:-.02em;color:#0f2342}
.goal-progress-track{height:14px;border-radius:999px;background:#edf2f7;overflow:hidden;box-shadow:inset 0 0 0 1px #e2e8f0}
.goal-progress-fill{height:100%;border-radius:999px}
.goal-progress-fill.status-verde{background:linear-gradient(90deg,#22c55e,#16a34a)}
.goal-progress-fill.status-amarelo{background:linear-gradient(90deg,#facc15,#eab308)}
.goal-progress-fill.status-vermelho{background:linear-gradient(90deg,#fb7185,#ef4444)}
.presidential-kpis{margin-bottom:24px}
.presidency-grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-bottom:22px}
.trend-grid{display:grid;gap:14px}
.trend-card{padding:18px;border-radius:18px;border:1px solid #e5edf7;background:linear-gradient(180deg,#fff,#f9fbff)}
.trend-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.trend-label{font-size:13px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.05em}
.trend-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}
.trend-card strong{display:block;font-size:34px;letter-spacing:-.03em;color:#0f2342;margin-bottom:8px}
.trend-card p{color:#64748b;line-height:1.55}
.trend-up .trend-chip{background:#ecfdf5;color:#047857}
.trend-down .trend-chip{background:#fef2f2;color:#b91c1c}
.trend-stable .trend-chip{background:#eff6ff;color:#1d4ed8}
.decision-stack{display:grid;gap:14px}
.decision-card{padding:18px;border-radius:18px;border:1px solid #e5edf7;background:#fff}
.decision-card.priority-alta{background:linear-gradient(180deg,#fff5f5,#fff1f2);border-color:#fecaca}
.decision-card.priority-media{background:linear-gradient(180deg,#fffbeb,#fffdf4);border-color:#fde68a}
.decision-card.priority-baixa{background:linear-gradient(180deg,#f0fdf4,#f7fee7);border-color:#bbf7d0}
.decision-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.decision-head h4{margin:0;font-size:17px;letter-spacing:-.02em;color:#0f172a}
.decision-badge{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em}
.decision-badge.priority-alta{background:#fee2e2;color:#b91c1c}
.decision-badge.priority-media{background:#fef3c7;color:#a16207}
.decision-badge.priority-baixa{background:#dcfce7;color:#166534}
.decision-metric{font-size:13px;font-weight:800;color:#334155;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}
.decision-card p{color:#475569;line-height:1.55;margin:0}
.presidency-panels{margin-bottom:22px}
@media (max-width:1280px){.presidency-top,.presidency-grid-2{grid-template-columns:1fr}.presidency-hero-grid{grid-template-columns:1fr 1fr}.goal-summary{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:900px){.hero-main-row{flex-direction:column}.presidency-hero-grid,.goal-summary{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.presidency-hero-grid,.goal-summary{grid-template-columns:1fr}.goal-ring{width:160px;height:160px}}


/* Conselho */
.sidebar{
  position:sticky;
  top:84px;
  height:calc(100vh - 84px);
  overflow:auto;
  flex:0 0 260px;
}
.content{min-width:0}
.council-header{margin-bottom:26px}
.council-top{display:grid;grid-template-columns:1.45fr .95fr;gap:22px;margin-bottom:24px}
.council-hero{position:relative;overflow:hidden;border:none;color:#fff;background:linear-gradient(135deg,#081a3a 0,#13356f 48%,#2563eb 100%)}
.council-hero::before{content:'';position:absolute;right:-80px;top:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0));}
.council-hero h3{font-size:30px;letter-spacing:-.03em;margin-bottom:10px;color:#fff;position:relative;z-index:1}
.council-hero p{max-width:760px;color:rgba(255,255,255,.84);line-height:1.6;position:relative;z-index:1}
.council-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;position:relative;z-index:1}
.council-focus{display:grid;gap:14px}
.council-focus-box{padding:16px;border-radius:16px;background:#f8fbff;border:1px solid #e5edf7}
.council-focus-box span{display:block;font-size:12px;color:#64748b;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.council-focus-box strong{font-size:28px;color:#0f2342;letter-spacing:-.03em}
.council-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;margin-bottom:22px}
.risk-map{display:grid;gap:14px}
.risk-row{display:grid;grid-template-columns:1.4fr .75fr .75fr .75fr .75fr;gap:10px;align-items:center;padding:14px 16px;border-radius:16px;background:#fbfdff;border:1px solid #e5edf7}
.risk-row.head{background:#f8fbff;font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.05em}
.risk-sector{font-weight:800;color:#0f2342}
.risk-pill{display:inline-flex;justify-content:center;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}
.risk-pill.red{background:#fee2e2;color:#b91c1c}
.risk-pill.yellow{background:#fef3c7;color:#a16207}
.risk-pill.green{background:#dcfce7;color:#166534}
.risk-cell{text-align:center;color:#334155;font-weight:700}
.action-list{display:grid;gap:14px}
.action-card{padding:18px;border-radius:18px;border:1px solid #e5edf7;background:#fff}
.action-card.priority-alta{background:linear-gradient(180deg,#fff5f5,#fff1f2);border-color:#fecaca}
.action-card.priority-media{background:linear-gradient(180deg,#fffbeb,#fffdf4);border-color:#fde68a}
.action-card.priority-baixa{background:linear-gradient(180deg,#f0fdf4,#f7fee7);border-color:#bbf7d0}
.action-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.action-top h4{margin:0;font-size:17px;letter-spacing:-.02em;color:#0f172a}
.action-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.action-chip{padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.cost-card{padding:18px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5edf7}
.cost-card span{display:block;font-size:12px;color:#64748b;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.cost-card strong{display:block;font-size:30px;letter-spacing:-.03em;color:#0f2342}
.cost-card small{display:block;margin-top:8px;color:#64748b;font-weight:700}
.cost-chart{display:grid;gap:14px}
.cost-bar-row{display:grid;grid-template-columns:120px 1fr 72px;gap:14px;align-items:center}
.cost-bar-fill{height:14px;border-radius:999px;background:linear-gradient(90deg,#93c5fd,#2563eb)}
.cost-bar-fill.warn{background:linear-gradient(90deg,#fdba74,#ea580c)}
.cost-bar-fill.danger{background:linear-gradient(90deg,#fb7185,#dc2626)}
.cost-note{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f8fbff;border:1px solid #e5edf7;color:#475569;line-height:1.55}
@media (max-width:1280px){.council-top,.council-grid{grid-template-columns:1fr}.council-hero-grid,.cost-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.sidebar{position:static;height:auto;overflow:visible}.council-hero-grid,.cost-grid{grid-template-columns:1fr 1fr}.risk-row{grid-template-columns:1.1fr repeat(4,.8fr);font-size:13px}}
@media (max-width:720px){.council-hero-grid,.cost-grid{grid-template-columns:1fr}.risk-row{grid-template-columns:1fr;gap:8px}.risk-row.head{display:none}.risk-cell{text-align:left}.cost-bar-row{grid-template-columns:1fr}.action-top{flex-direction:column;align-items:flex-start}}


.history-panels { margin-top: 28px; }
.history-chart-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 24px;
}
.chart-caption {
    font-size: 13px;
    font-weight: 700;
    color: #5b6474;
    margin-bottom: 14px;
}
.history-bars {
    height: 290px;
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding: 18px 10px 8px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248,250,252,.98) 0%, rgba(241,245,249,.9) 100%);
}
.history-col-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    height: 100%;
}
.history-columns {
    width: 100%;
    max-width: 60px;
    height: 200px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
}
.history-columns.single { max-width: 40px; }
.history-col {
    width: 22px;
    min-height: 8px;
    border-radius: 12px 12px 6px 6px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.history-col.open { background: linear-gradient(180deg, #93c5fd 0%, #2563eb 100%); }
.history-col.closed { background: linear-gradient(180deg, #6ee7b7 0%, #059669 100%); }
.history-col.cost { background: linear-gradient(180deg, #fcd34d 0%, #d97706 100%); width: 30px; }
.history-label, .history-value, .history-legend-inline {
    font-size: 12px;
    color: #475569;
    text-align: center;
}
.history-value { font-weight: 700; }
.history-legend {
    display: flex;
    gap: 18px;
    margin-top: 12px;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}
.mini-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}
.mini-dot.open { background: #2563eb; }
.mini-dot.closed { background: #059669; }

.sector-compare-stack {
    display: grid;
    gap: 16px;
}
.sector-compare-card {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.94) 100%);
}
.sector-compare-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}
.sector-compare-top h4 {
    margin: 0 0 4px;
    font-size: 16px;
}
.sector-compare-top p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}
.sector-meter {
    margin-bottom: 14px;
}
.sector-meter-label {
    margin-bottom: 8px;
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sector-metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}
.sector-mini-card {
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 14px;
    padding: 12px;
}
.sector-mini-card span {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-bottom: 6px;
}
.sector-mini-card strong {
    font-size: 16px;
    color: #0f172a;
}

@media (max-width: 1100px) {
    .history-chart-grid { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .sector-metrics-grid { grid-template-columns: 1fr; }
    .history-bars { overflow-x: auto; padding-bottom: 12px; }
    .history-col-wrap { min-width: 72px; }
}


.dashboard-filter-card{margin-bottom:22px}
.dashboard-filter-form{display:grid;grid-template-columns:220px 220px 1fr;gap:16px;align-items:end}
.filter-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.filter-summary{margin-top:14px;color:var(--muted);font-size:14px}
@media (max-width:980px){
  .dashboard-filter-form{grid-template-columns:1fr}
}

.badge{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.2px;
}

.badge-periodo{
    background:#eef4ff;
    color:#1f4fa3;
}

.badge-preventiva{ background:#e8f7ee; color:#18794e; }
.badge-preditiva{ background:#eef6ff; color:#1d4ed8; }
.badge-corretiva{ background:#fff1f2; color:#be123c; }
.badge-detectiva{ background:#fff7ed; color:#c2410c; }

.btn-sm{
    padding:7px 10px;
    font-size:12px;
    border-radius:10px;
    margin:2px;
}

.actions{
    white-space:nowrap;
}

.modal-premium{
    position:fixed;
    inset:0;
    background:rgba(9,18,35,.55);
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.modal-box{
    width:min(900px, 96vw);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 25px 80px rgba(0,0,0,.22);
    padding:22px;
}

.modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
    border-bottom:1px solid #e5e7eb;
    padding-bottom:12px;
}

.box-view{
    background:#f8fafc;
    border:1px solid #dbe3ee;
    border-radius:12px;
    padding:14px;
    line-height:1.6;
    margin-top:8px;
}

@media (max-width: 900px){
    .filters-bar{
        grid-template-columns:1fr !important;
    }

    .actions{
        white-space:normal;
    }
}
