/* Docnitz — sobras específicas de telas (documento, histórico, planos, impressão).
   Tokens: web/css/docnitz-tokens.css · componentes: web/css/docnitz-theme.css (carregados antes).
   Use sempre as variáveis --docnitz-*; não defina cores, raios, sombras ou durações aqui. */

/* Cards (.card / .card-flat / .card-accent), ícone de entidade (.entity-icon), badges, estado vazio,
   formulários e abas: agora no tema (web/css/docnitz-theme.css, seção 4) — Fases 4/5/7. */

/* Contadores (.stat-card): substituídos pelo indicador do tema (.docnitz-stat, partial //_shared/_stat) — Fase 9/10. */

/* ------------------------------------------------------------------ Documento (ver) */
/* Destaque do vencimento: borda lateral na cor da situação */
.expiry-hero {
    --dn-hero-color: var(--docnitz-silver);
    border-left: 4px solid var(--dn-hero-color);
}
.expiry-hero.is-danger { --dn-hero-color: var(--docnitz-danger); }
.expiry-hero.is-warning { --dn-hero-color: var(--docnitz-warning); }
.expiry-hero.is-success { --dn-hero-color: var(--docnitz-success); }
.expiry-hero .expiry-hero-days {
    margin-top: .25rem;
    font-size: var(--docnitz-text-2xl);
    font-weight: var(--docnitz-weight-bold);
    line-height: 1.15;
    letter-spacing: -.02em;
}
.version-list .list-group-item {
    padding: 1rem var(--docnitz-gutter);
}

/* ------------------------------------------------------------------ Histórico (linha do tempo) */
.history-item {
    position: relative;
    display: flex;
    gap: .875rem;
    padding: .625rem 0;
}
.history-item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 2.875rem;
    bottom: -.25rem;
    left: calc(1rem - 1px);
    width: 2px;
    border-radius: var(--docnitz-radius-pill);
    background: var(--docnitz-border);
}
.history-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: var(--docnitz-radius-circle);
    background: var(--docnitz-neutral-bg);
    color: var(--docnitz-neutral-text);
    font-size: .875rem;
}
.history-icon.is-success { background: var(--docnitz-success-bg); color: var(--docnitz-success); }
.history-icon.is-primary { background: var(--docnitz-primary-50); color: var(--docnitz-primary); }
.history-icon.is-danger { background: var(--docnitz-danger-bg); color: var(--docnitz-danger); }
.history-body {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: .25rem;
}
.history-changes {
    margin: .375rem 0 0;
    padding: .5rem .75rem;
    border-radius: var(--docnitz-radius-sm);
    background: var(--docnitz-bg);
    list-style: none;
}

/* ------------------------------------------------------------------ Planos */
.plans-catalog {
    padding-top: .75rem;
}
.plans-catalog .plan-price {
    font-size: 2rem;
    font-weight: var(--docnitz-weight-bold);
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--docnitz-deep);
}
.plans-catalog .plan-featured {
    position: relative;
    border-color: var(--docnitz-primary);
    box-shadow: var(--docnitz-outline-selected), var(--docnitz-shadow-card-hover);
}
.plans-catalog .plan-featured .plan-ribbon.badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--docnitz-primary) !important;
    color: var(--docnitz-on-color) !important;
    box-shadow: var(--docnitz-shadow-md);
}
@media (min-width: 768px) {
    .plans-catalog .plan-featured {
        transform: translateY(-6px);
    }
}

/* ------------------------------------------------------------------ Impressão (relatórios) */
@media print {
    /* cabeçalho, menu, faixa e rodapé: docnitz-layout.css (seção 11) */
    .page-actions, .filter-bar, .no-print, .alert {
        display: none !important;
    }
    .app-main {
        margin: 0 !important;
    }
    .card {
        box-shadow: none !important;
        border: 0 !important;
    }
}

/* ------------------------------------------------------------------ Importar tipos de documento
   views/document-type/import.php (abre em modal): formato exigido, prompt de IA, conferência antes de gravar. */
.import-format {
    padding: 1rem 1.125rem;
    border: 1px solid var(--docnitz-border);
    border-radius: var(--docnitz-radius-md);
    background: var(--docnitz-bg);
}
.import-format-title {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .5rem;
    color: var(--docnitz-deep);
    font-size: var(--docnitz-text-base, 1rem);
    font-weight: var(--docnitz-weight-semibold);
}
.import-format-title .bi { color: var(--docnitz-primary); }
.import-rules {
    margin: 0 0 .75rem;
    padding-left: 1.125rem;
    color: var(--docnitz-text);
    font-size: var(--docnitz-text-sm);
    line-height: 1.6;
}
.import-rules code,
.import-example {
    color: var(--docnitz-deep);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}
.import-example {
    margin: 0 0 .75rem;
    padding: .75rem .875rem;
    border: 1px solid var(--docnitz-border);
    border-radius: var(--docnitz-radius-sm);
    background: var(--docnitz-card);
    font-size: .8125rem;
    line-height: 1.6;
    white-space: pre-wrap;
}
.import-format .btn .bi,
.import-ai .btn .bi { margin-right: .25rem; }
.import-ai {
    margin: 1rem 0 1.25rem;
    border: 1px solid var(--docnitz-border);
    border-radius: var(--docnitz-radius-md);
}
.import-ai > summary {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .875rem 1.125rem;
    color: var(--docnitz-text);
    font-size: var(--docnitz-text-sm);
    cursor: pointer;
    list-style: none;
    border-radius: var(--docnitz-radius-md);
    transition: background-color var(--docnitz-fast) var(--docnitz-ease);
}
.import-ai > summary::-webkit-details-marker { display: none; }
.import-ai > summary::after {
    content: "\F282"; /* bi-chevron-down */
    margin-left: auto;
    font-family: bootstrap-icons;
    color: var(--docnitz-text-muted);
    transition: transform var(--docnitz-fast) var(--docnitz-ease);
}
.import-ai[open] > summary::after { transform: rotate(180deg); }
.import-ai > summary:hover { background: var(--docnitz-bg); }
.import-ai > summary .bi-stars { color: var(--docnitz-accent); font-size: 1.125rem; }
.import-ai-body {
    padding: 0 1.125rem 1.125rem;
    font-size: var(--docnitz-text-sm);
    color: var(--docnitz-text-muted);
}
.import-ai-body p { margin-bottom: .75rem; }
.import-ai-prompt {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .8125rem;
    line-height: 1.55;
    background: var(--docnitz-bg);
    resize: vertical;
}
.import-file-name {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .75rem;
    color: var(--docnitz-text-muted);
    font-size: var(--docnitz-text-sm);
    overflow-wrap: anywhere;
}
.import-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
.import-summary li {
    padding: .375rem .75rem;
    border-radius: var(--docnitz-radius-pill);
    font-size: var(--docnitz-text-sm);
    background: var(--docnitz-bg);
    color: var(--docnitz-text);
}
.import-summary .is-new { background: var(--docnitz-success-bg); color: var(--docnitz-success-text); }
.import-summary .is-invalid-count { background: var(--docnitz-danger-bg); color: var(--docnitz-danger-text); }
.import-table-wrap {
    max-height: 18rem;
    overflow: auto;
    border: 1px solid var(--docnitz-border);
    border-radius: var(--docnitz-radius-md);
}
.import-table { margin: 0; }
.import-table thead th { position: sticky; top: 0; z-index: 1; background: var(--docnitz-card); }
.import-details {
    margin-top: .875rem;
    font-size: var(--docnitz-text-sm);
    color: var(--docnitz-text-muted);
}
.import-details > summary { cursor: pointer; color: var(--docnitz-text); font-weight: var(--docnitz-weight-medium, 500); }
.import-details > p,
.import-details > ul { margin: .5rem 0 0; padding-left: 1.125rem; overflow-wrap: anywhere; }
.import-details.is-problem > summary { color: var(--docnitz-danger-text); }
.import-line {
    display: inline-block;
    min-width: 4.5rem;
    color: var(--docnitz-text-muted);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------------ Plano e cobrança (views/billing/plans.php) */
.billing-facts { margin: 0; font-size: var(--docnitz-text-sm); }
.billing-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-top: 1px solid var(--docnitz-border); }
.billing-facts dt { color: var(--docnitz-text-muted); font-weight: var(--docnitz-weight-medium, 500); }
.billing-facts dd { margin: 0; text-align: right; color: var(--docnitz-deep); }
