:root {
    --app-primary: #1f4f9f;
    --app-primary-700: #173f82;
    --app-bg: #f4f6fb;
    --app-surface: #ffffff;
    --app-border: #dfe5ef;
    --app-text: #1f2937;
    --app-muted: #64748b;
    --app-focus: rgba(31, 79, 159, 0.28);
}

body.app-shell {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--app-text);
    background-color: var(--app-bg);
}

.app-navbar {
    background: linear-gradient(120deg, var(--app-primary), #1f3f72);
    box-shadow: 0 2px 18px rgba(15, 23, 42, 0.16);
}

.app-navbar .nav-link,
.app-navbar .navbar-brand,
.app-navbar .btn-outline-light {
    color: #fff;
}

.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus {
    color: #dbeafe;
}

.app-brand-logo {
    width: 108px;
    height: auto;
}

.app-page-header {
    border-bottom: 1px solid var(--app-border);
    padding-bottom: .75rem;
}

.app-card {
    border: 1px solid var(--app-border);
    border-radius: .9rem;
    background: var(--app-surface);
}

.app-card-header {
    background: #f8faff;
    border-bottom: 1px solid var(--app-border);
}

.app-card .card-footer {
    background: #fbfcff;
    border-top: 1px solid var(--app-border);
}

.app-actions .btn {
    min-width: 130px;
}

.btn-primary {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--app-primary-700);
    border-color: var(--app-primary-700);
}

.form-label {
    font-weight: 600;
    color: #334155;
}

.form-control,
.form-select {
    border-radius: .6rem;
    border-color: #cbd5e1;
}

.form-control:focus,
.form-select:focus,
.btn:focus-visible {
    box-shadow: 0 0 0 .2rem var(--app-focus);
}

.table-card .table {
    margin-bottom: 0;
}

.table-card .card-body {
    overflow-x: auto;
    max-width: 100%;
}

.table-card .table > :not(caption) > * > * {
    vertical-align: middle;
}

.badge-status {
    border-radius: 999px;
    font-weight: 500;
    padding: .35rem .65rem;
}

.badge-status.enviado { background: #dbeafe; color: #1d4ed8; }
.badge-status.validado { background: #dcfce7; color: #166534; }
.badge-status.erro_validacao { background: #fee2e2; color: #991b1b; }
.badge-status.processado { background: #cffafe; color: #155e75; }

/* Compatibilidade incremental com estilos legados */
.sky-form .input input,
.sky-form .input textarea,
.sky-form select,
.sky-form .select select,
.sky-form .customSelect,
.sky-form .k-textbox,
.sky-form .form-control {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: .6rem;
    min-height: 38px;
    padding: .375rem .75rem;
    background: #fff;
}

.sky-form .input i,
.sky-form .icon-append {
    display: none;
}

.sky-form .row > section {
    margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
    .app-actions .btn {
        min-width: 0;
        flex: 1 1 auto;
    }
}
