/* ActaFácil — app.css
   Bootstrap 5 overrides + custom components
   ----------------------------------------- */

:root {
    --af-primary:     #1a1a2e;
    --af-accent:      #2563eb;
    --af-success:     #16a34a;
    --af-warning:     #d97706;
    --af-danger:      #dc2626;
    --af-muted:       #6b7280;
    --af-border:      #e5e7eb;
    --af-bg-light:    #f9fafb;
    --af-radius:      8px;
    --af-radius-lg:   12px;
}

/* ── Typography ─────────────────────────────────────────────────── */
body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 0.9rem;
    color: #1f2937;
    background: var(--af-bg-light);
}

/* ── Navbar ─────────────────────────────────────────────────────── */
.navbar-brand { font-weight: 700; letter-spacing: -0.02em; }

/* ── Cards ──────────────────────────────────────────────────────── */
.card {
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    box-shadow: none;
}
.card-header {
    background: transparent;
    border-bottom: 1px solid var(--af-border);
    font-weight: 600;
    font-size: 0.88rem;
}

/* ── Badges de majoria ──────────────────────────────────────────── */
.badge-majority-none        { background:#f3f4f6; color:#374151; }
.badge-majority-simple      { background:#d1fae5; color:#065f46; }
.badge-majority-one-third   { background:#dbeafe; color:#1e40af; }
.badge-majority-three-fifths{ background:#fef3c7; color:#92400e; }
.badge-majority-unanimity   { background:#fee2e2; color:#991b1b; }

/* ── Alertes legals ─────────────────────────────────────────────── */
.alert-legal {
    border-left: 4px solid var(--af-warning);
    background: #fffbeb;
    color: #78350f;
    border-radius: 0 var(--af-radius) var(--af-radius) 0;
    font-size: 0.83rem;
}
.alert-legal-danger {
    border-left-color: var(--af-danger);
    background: #fef2f2;
    color: #7f1d1d;
}

/* ── Wizard steps ───────────────────────────────────────────────── */
.wizard-steps {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}
.wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
}
.wizard-step-dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    border: 2px solid var(--af-border);
    background: #fff;
    color: var(--af-muted);
    z-index: 1;
}
.wizard-step.active  .wizard-step-dot { border-color: var(--af-accent); color: var(--af-accent); }
.wizard-step.done    .wizard-step-dot { border-color: var(--af-success); background: var(--af-success); color: #fff; }
.wizard-step-label { font-size: 0.75rem; color: var(--af-muted); margin-top: 4px; text-align: center; }
.wizard-step.active .wizard-step-label { color: var(--af-accent); font-weight: 600; }
.wizard-step-line {
    flex: 1;
    height: 1px;
    background: var(--af-border);
    margin-top: -16px;
}

/* ── Vote buttons ───────────────────────────────────────────────── */
.btn-vote { min-width: 80px; font-size: 0.83rem; }
.btn-vote.yes.active  { background: #d1fae5; border-color: #16a34a; color: #065f46; }
.btn-vote.no.active   { background: #fee2e2; border-color: #dc2626; color: #7f1d1d; }
.btn-vote.abs.active  { background: #f3f4f6; border-color: #6b7280; color: #374151; }

/* ── Result colors ──────────────────────────────────────────────── */
.result-approved { color: var(--af-success); font-weight: 600; }
.result-rejected { color: var(--af-danger);  font-weight: 600; }
.result-invalid  { color: var(--af-warning); font-weight: 600; }
.result-pending  { color: var(--af-muted); }

/* ── Agenda item list ───────────────────────────────────────────── */
.agenda-item-card {
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius);
    padding: 1rem;
    margin-bottom: 0.75rem;
    transition: border-color 0.15s;
}
.agenda-item-card.approved { border-left: 4px solid var(--af-success); }
.agenda-item-card.rejected { border-left: 4px solid var(--af-danger); }
.agenda-item-card.invalid  { border-left: 4px solid var(--af-warning); }

/* ── Quorum bar ─────────────────────────────────────────────────── */
.quorum-bar {
    height: 8px;
    border-radius: 4px;
    background: var(--af-border);
    overflow: hidden;
}
.quorum-fill {
    height: 100%;
    border-radius: 4px;
    background: var(--af-success);
    transition: width 0.4s ease;
}
.quorum-fill.warning { background: var(--af-warning); }
.quorum-fill.danger  { background: var(--af-danger); }

/* ── Print styles ───────────────────────────────────────────────── */
@media print {
    .no-print, nav, .navbar, .btn, footer { display: none !important; }
    body { background: #fff; font-size: 10pt; }
    .card { border: none; box-shadow: none; }
}
