/* =====================================================================
   SIGA — Folha de estilos do núcleo
   Paleta: azul-noite institucional + dourado de destaque (inspirado nos
   tons formais das instituições de ensino angolanas, sem cair no
   terracota/creme genérico de IA).
   ===================================================================== */

:root {
    --siga-navy-950: #0b1b2e;
    --siga-navy-900: #0f2942;
    --siga-navy-800: #17395c;
    --siga-navy-100: #e7edf5;
    --siga-gold-500: #c9972c;
    --siga-gold-400: #dcae4e;
    --siga-bg: #f5f6f8;
    --siga-surface: #ffffff;
    --siga-text: #1c2530;
    --siga-text-muted: #5b6b7c;
    --siga-border: #e3e7ee;
    --siga-success: #1c7a4d;
    --siga-danger: #b3261e;
    --siga-warning: #a15c00;
    --siga-radius: 10px;
    --siga-font-display: 'Manrope', 'Segoe UI', sans-serif;
    --siga-font-body: 'Inter', 'Segoe UI', sans-serif;
}

[data-theme="dark"] {
    --siga-bg: #0d1520;
    --siga-surface: #141f2e;
    --siga-text: #e7edf5;
    --siga-text-muted: #93a3b5;
    --siga-border: #223349;
    --siga-navy-100: #17263a;
}

* { box-sizing: border-box; }

body {
    font-family: var(--siga-font-body);
    background-color: var(--siga-bg);
    color: var(--siga-text);
}

h1, h2, h3, h4, h5, .siga-brand {
    font-family: var(--siga-font-display);
    letter-spacing: -0.01em;
}

/* ---------- Layout: sidebar + topbar (secção 38) ---------- */

.siga-shell { display: flex; min-height: 100vh; }

.siga-sidebar {
    width: 264px;
    flex-shrink: 0;
    background: linear-gradient(180deg, var(--siga-navy-950), var(--siga-navy-900));
    color: #f2f5f9;
    position: fixed;
    top: 0; bottom: 0; left: 0;
    overflow-y: auto;
    z-index: 1030;
    transition: transform 0.2s ease;
}

.siga-sidebar .siga-brand {
    display: flex; align-items: center; gap: 0.6rem;
    padding: 1.25rem 1.25rem 1rem;
    color: #fff;
    font-weight: 800;
    font-size: 1.15rem;
}
.siga-brand .badge-mark {
    background: var(--siga-gold-500);
    color: var(--siga-navy-950);
    width: 34px; height: 34px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800;
}

.siga-nav-section { padding: 0.75rem 1.25rem 0.35rem; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8ca2bd; }

.siga-nav a {
    display: flex; align-items: center; gap: 0.65rem;
    padding: 0.55rem 1.25rem;
    color: #cdd9e6;
    text-decoration: none;
    font-size: 0.92rem;
    border-left: 3px solid transparent;
}
.siga-nav a:hover { background: rgba(255,255,255,0.06); color: #fff; }
.siga-nav a.active {
    background: rgba(201,151,44,0.12);
    color: #fff;
    border-left-color: var(--siga-gold-500);
    font-weight: 600;
}

.siga-main { margin-left: 264px; flex: 1; min-width: 0; display: flex; flex-direction: column; }

.siga-topbar {
    background: var(--siga-surface);
    border-bottom: 1px solid var(--siga-border);
    padding: 0.75rem 1.5rem;
    display: flex; align-items: center; justify-content: space-between;
    position: sticky; top: 0; z-index: 1020;
}

.siga-content { padding: 1.5rem; flex: 1; }

.siga-sidebar-toggle { display: none; }

@media (max-width: 991.98px) {
    .siga-sidebar { transform: translateX(-100%); }
    .siga-sidebar.open { transform: translateX(0); }
    .siga-main { margin-left: 0; }
    .siga-sidebar-toggle { display: inline-flex; }
}

/* ---------- Componentes ---------- */

.siga-card {
    background: var(--siga-surface);
    border: 1px solid var(--siga-border);
    border-radius: var(--siga-radius);
}

.siga-kpi {
    background: var(--siga-surface);
    border: 1px solid var(--siga-border);
    border-radius: var(--siga-radius);
    padding: 1.1rem 1.25rem;
}
.siga-kpi .siga-kpi-value { font-family: var(--siga-font-display); font-size: 1.7rem; font-weight: 800; }
.siga-kpi .siga-kpi-label { color: var(--siga-text-muted); font-size: 0.82rem; }

.table thead th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--siga-text-muted);
    border-bottom-width: 1px;
}

.btn-siga-primary {
    background-color: var(--siga-navy-900);
    border-color: var(--siga-navy-900);
    color: #fff;
}
.btn-siga-primary:hover { background-color: var(--siga-navy-800); border-color: var(--siga-navy-800); color: #fff; }

.btn-siga-gold {
    background-color: var(--siga-gold-500);
    border-color: var(--siga-gold-500);
    color: var(--siga-navy-950);
    font-weight: 600;
}
.btn-siga-gold:hover { background-color: var(--siga-gold-400); border-color: var(--siga-gold-400); color: var(--siga-navy-950); }

.siga-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--siga-text-muted);
}

.siga-guest {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: radial-gradient(circle at top left, var(--siga-navy-800), var(--siga-navy-950) 65%);
    padding: 1.5rem;
}
.siga-guest-card {
    background: var(--siga-surface);
    border-radius: 14px;
    padding: 2.25rem;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 20px 60px rgba(11, 27, 46, 0.35);
}

.siga-badge-status-active { background: rgba(28,122,77,0.12); color: var(--siga-success); }
.siga-badge-status-trial { background: rgba(161,92,0,0.12); color: var(--siga-warning); }
.siga-badge-status-suspended,
.siga-badge-status-inactive { background: rgba(179,38,30,0.12); color: var(--siga-danger); }
