﻿:root {
    --pm-green: #7ED321; --pm-green-dark: #2D8A38; --pm-green-light: #d4edac; --pm-green-soft: #f4fce8;
    --pm-navy: #1B2A3B; --pm-navy-dark: #0A1A0C;
    --pm-border: #e9ecef; --pm-shadow-sm: 0 1px 4px rgba(0,0,0,.06);
    --pm-shadow-md: 0 2px 12px rgba(0,0,0,.08); --pm-radius: 12px; --pm-radius-sm: 8px;
    --bs-success: #2D8A38; --bs-success-rgb: 45,138,56;
}
body { background-color: #ffffff; font-family: "Inter","Segoe UI",sans-serif; color: #1B2A3B; }
.navbar { background: linear-gradient(135deg,#0A1A0C 0%,#1B2A3B 100%) !important; box-shadow: 0 2px 8px rgba(10,26,12,.4); }
.navbar .nav-link { font-size:.9rem; font-weight:500; padding:.5rem .9rem !important; border-radius:6px; transition:background .2s; }
.navbar .nav-link:hover { background:rgba(126,211,33,.18); }
main.container { padding-top:1.75rem; padding-bottom:2.5rem; }
.card { border-radius:var(--pm-radius) !important; border:1px solid var(--pm-border) !important; box-shadow:var(--pm-shadow-sm) !important; transition:box-shadow .2s,transform .15s; }
.card:hover { box-shadow:var(--pm-shadow-md) !important; transform:translateY(-1px); }
.card-header { border-radius:var(--pm-radius) var(--pm-radius) 0 0 !important; border-bottom:1px solid var(--pm-border) !important; padding:.85rem 1.25rem; font-size:.88rem; }
.card-footer { border-radius:0 0 var(--pm-radius) var(--pm-radius) !important; border-top:1px solid var(--pm-border) !important; background:#fafbfc !important; }
hr { border-color:var(--pm-border); opacity:1; margin:1.75rem 0; }
h6.text-muted.fw-semibold { font-size:.78rem; letter-spacing:.8px; text-transform:uppercase; color:#8a93a2 !important; border-left:3px solid var(--pm-green); padding-left:.6rem; margin-bottom:1rem; }
.btn { border-radius:var(--pm-radius-sm) !important; font-weight:500; font-size:.88rem; transition:all .18s; }
.btn-success { background:linear-gradient(135deg,#6bbf1a 0%,#7ED321 100%) !important; border:none !important; box-shadow:0 2px 6px rgba(126,211,33,.3); color:#1B2A3B !important; font-weight:600; }
.btn-success:hover { background:linear-gradient(135deg,#5fa818 0%,#6bbf1a 100%) !important; box-shadow:0 4px 10px rgba(126,211,33,.4); transform:translateY(-1px); color:#1B2A3B !important; }
.nav-tabs { border-bottom:2px solid var(--pm-border); gap:.25rem; }
.nav-tabs .nav-link { border:none !important; border-radius:var(--pm-radius-sm) var(--pm-radius-sm) 0 0 !important; color:#6c757d; font-size:.88rem; font-weight:500; }
.nav-tabs .nav-link:hover { color:var(--pm-green-dark); background:var(--pm-green-soft); }
.nav-tabs .nav-link.active { color:var(--pm-green-dark) !important; background:#fff !important; border-bottom:2px solid var(--pm-green) !important; font-weight:600; }
.table thead th { font-size:.78rem; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:#6c757d; background:#f8f9fa !important; border-bottom:2px solid var(--pm-border) !important; padding:.75rem 1rem; }
.table td { padding:.75rem 1rem; vertical-align:middle; border-color:#f1f3f5; }
.table-hover tbody tr:hover { background:var(--pm-green-soft) !important; }
.form-control,.form-select { border-radius:var(--pm-radius-sm) !important; border:1.5px solid #dee2e6; font-size:.92rem; transition:border-color .2s,box-shadow .2s; }
.form-control:focus,.form-select:focus { border-color:var(--pm-green); box-shadow:0 0 0 3px rgba(126,211,33,.15); }
.alert { border-radius:var(--pm-radius-sm) !important; border:none; font-size:.9rem; }
.alert-success { background:#eafdf0; color:#1a5c26; }
.alert-danger { background:#fdf0f0; color:#842029; }
.alert-warning { background:#fffbeb; color:#664d03; }
.alert-info { background:#e8f4fd; color:#055160; }
.progress { border-radius:50px; background:#e9ecef; }
.progress-bar { border-radius:50px; background:linear-gradient(90deg,#2D8A38,#7ED321); }
.pagination .page-link { border-radius:var(--pm-radius-sm) !important; border:1.5px solid var(--pm-border); color:var(--pm-green-dark); font-size:.85rem; margin:0 2px; }
.pagination .page-item.active .page-link { background:var(--pm-green); border-color:var(--pm-green); color:#1B2A3B; font-weight:600; }
.voto-card { transition:all .2s; cursor:pointer; border-radius:var(--pm-radius-sm) !important; }
.voto-card:hover { border-color:var(--pm-green) !important; background:var(--pm-green-soft); transform:translateY(-2px); }
.voto-card.selecionado { border-color:var(--pm-green) !important; background:var(--pm-green-light); }
footer { background:#fff; border-top:1px solid var(--pm-border) !important; font-size:.82rem; color:#8a93a2; padding:1rem 0; }
input[type="number"].form-control-sm { min-width:70px; width:70px; text-align:center; padding:.35rem .25rem; }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:#f1f3f5; }
::-webkit-scrollbar-thumb { background:#c1c9d2; border-radius:50px; }

/* ── PF Hero banner ──────────────────────────────────────────── */
.pf-hero { background:linear-gradient(135deg,#0A1A0C 0%,#1B3A2B 100%); border-radius:16px; padding:24px 28px 20px; color:#fff; margin-bottom:1.5rem; }
.pf-hero h4,.pf-hero h5 { font-weight:900; margin-bottom:4px; }
.pf-hero .pf-hero-icon { color:#7ED321; }
.pf-hero .pf-hero-sub { color:#c8d8c0; font-size:.88rem; margin-bottom:0; }
.pf-hero .pf-hero-badge { background:rgba(126,211,33,.18); border:1px solid rgba(126,211,33,.4); color:#d8f0a0; border-radius:20px; padding:2px 10px; font-size:.78rem; }

/* ── PF Form card ──────────────────────────────────────────────── */
.pf-form-card { background:#f8fdf4 !important; border:1px solid #d8f0c8 !important; border-radius:14px !important; }
.pf-form-card .form-control:focus,.pf-form-card .form-select:focus { border-color:#86cfaa; box-shadow:0 0 0 .2rem rgba(25,135,84,.15); }

/* ── ic-wrap (ícone absoluto dentro do input) ─────────────────── */
.ic-wrap { position:relative; }
.ic-wrap .ic { position:absolute; left:.7rem; top:50%; transform:translateY(-50%); color:#6c757d; pointer-events:none; font-size:.85rem; z-index:5; }
.ic-wrap .form-control,.ic-wrap .form-select { padding-left:2.1rem; }
.ic-wrap.ic-prefix .form-control { padding-left:2.4rem; }
.ic-prefix-text { position:absolute; left:.65rem; top:50%; transform:translateY(-50%); color:#6c757d; font-size:.82rem; font-weight:600; pointer-events:none; z-index:5; }

/* ── Status pill filter ─────────────────────────────────────────── */
.pf-filter-pills .btn-check:checked + label { background:#198754; color:#fff; border-color:#198754; }
.pf-filter-pills label { border-radius:20px !important; }
