/* ============================================================
   custom.css — CalculadoraRSC overrides for AdminLTE 3
   ============================================================ */

/* ---------- Typography ---------- */
body {
    font-size: 14px;
}

/* ================================================================
   STEP 2 — Critérios / Unidades
   ================================================================ */

/* Critério inativo */
.criterio-bloco {
    transition: background .15s ease;
}

/* Critério ativo (checkbox marcado) */
.criterio-bloco.criterio-ativo {
    background: #f0f7ff;
}

/* Cabeçalho do critério */
.criterio-header {
    cursor: default;
}

.criterio-header label {
    line-height: 1.4;
}

/* Painel de unidades */
.criterio-painel .bg-light {
    background: #f8f9fb !important;
}

/* Card de orientações */
.info-card-criterio .card {
    border-left: 4px solid #17a2b8;
}

.info-card-criterio ul {
    font-size: 12px;
    margin-bottom: 4px;
}

/* Item de unidade */
.unidade-item {
    background: #fff;
    border: 1px solid #dee2e6 !important;
    border-radius: .375rem;
}

.unidade-item:hover {
    border-color: #adb5bd !important;
}

/* Upload trigger */
.btn-upload-trigger {
    font-size: 11px;
}

/* Alertas em tempo real no sidebar */
#alertas-rt .alert {
    margin-bottom: 4px;
    font-size: 11px;
    border-radius: 4px;
}

/* Placeholder "adicione um registro" */
.unidade-vazia {
    border: 1px dashed #ced4da;
    border-radius: .25rem;
    padding: 12px;
    background: #fafafa;
}

/* Total badge por critério */
.total-badge-transition {
    transition: all .2s ease;
}

/* ---------- Sidebar branding ---------- */
.brand-link .brand-text {
    font-weight: 700;
    letter-spacing: .5px;
}

/* ---------- Cards ---------- */
.card-outline.card-primary  { border-top: 3px solid #007bff; }
.card-outline.card-success  { border-top: 3px solid #28a745; }
.card-outline.card-danger   { border-top: 3px solid #dc3545; }
.card-outline.card-warning  { border-top: 3px solid #ffc107; }
.card-outline.card-info     { border-top: 3px solid #17a2b8; }
.card-outline.card-dark     { border-top: 3px solid #343a40; }
.card-outline.card-secondary { border-top: 3px solid #6c757d; }

/* ---------- Tables ---------- */
.table-sm td,
.table-sm th {
    padding: .3rem .5rem;
}

/* Highlight checked criterion rows */
tr.table-primary td {
    background-color: #e8f0fe !important;
}

/* ---------- Badge sizing ---------- */
.badge-lg {
    font-size: 1rem;
    padding: .45em .7em;
}

/* ---------- Small buttons (btn-xs) ---------- */
.btn-xs {
    padding: .15rem .4rem;
    font-size: .75rem;
    line-height: 1.4;
    border-radius: .2rem;
}

/* ---------- Progress steps ---------- */
.progress-step-active {
    background-color: #007bff;
    color: #fff;
    border-radius: .375rem;
}

.progress-step-done {
    background-color: #28a745;
    color: #fff;
    border-radius: .375rem;
}

.progress-step-inactive {
    background-color: #f8f9fa;
    color: #6c757d;
    border-radius: .375rem;
}

/* ---------- Sticky sidebar panel ---------- */
.sticky-top {
    position: sticky;
    top: 70px;
    z-index: 100;
}

/* ---------- Real-time score display ---------- */
#total-pontos {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
}

#status-nivel .badge {
    font-size: .85rem;
    white-space: normal;
    word-break: break-word;
}

/* ---------- campos-extras transition ---------- */
.campos-extras {
    transition: opacity .2s ease;
}

.campos-extras.d-none {
    opacity: 0;
    pointer-events: none;
}

/* ---------- Callout colours ---------- */
.callout-info {
    border-left-color: #17a2b8 !important;
}

/* ---------- Criterion row hover ---------- */
.criterio-row:hover {
    background-color: #f5f8ff;
    cursor: default;
}

/* ---------- DataTables inside cards ---------- */
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: .25rem .5rem;
}

/* ---------- PDF action buttons ---------- */
.btn-block + .btn-block {
    margin-top: .4rem;
}

/* ---------- Auth page ---------- */
.auth-card {
    border-radius: .75rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.15);
}

/* ---------- Print / PDF styles ---------- */
@media print {
    .sidebar,
    .main-header,
    .card-tools,
    .btn,
    nav {
        display: none !important;
    }

    .content-wrapper {
        margin-left: 0 !important;
    }
}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 768px) {
    #total-pontos {
        font-size: 1.8rem;
    }

    .table-responsive .table td,
    .table-responsive .table th {
        white-space: normal;
        font-size: 12px;
    }
}
