/* CodKnow — ajustes sobre Tabler. Paleta provisional tomada de CodSign.
   Mantener aquí los estilos propios; no usar style="" en las vistas. */

:root,
[data-bs-theme="light"] {
    --ck-red: #E02020;
    --ck-red-hover: #C41A1A;
    --tblr-primary: #E02020;
    --tblr-primary-rgb: 224, 32, 32;
    --tblr-primary-fg: #ffffff;
    --tblr-primary-darken: #C41A1A;
    --tblr-primary-lt: #fce9e9;
    --tblr-primary-lt-rgb: 252, 233, 233;
    --tblr-link-color: #C41A1A;
    --tblr-link-color-rgb: 196, 26, 26;
    --tblr-link-hover-color: #a81f1f;
    --tblr-body-bg: #f6f7f9;
}

.btn-primary {
    --tblr-btn-bg: var(--ck-red);
    --tblr-btn-border-color: var(--ck-red);
    --tblr-btn-hover-bg: var(--ck-red-hover);
    --tblr-btn-hover-border-color: var(--ck-red-hover);
    --tblr-btn-active-bg: var(--ck-red-hover);
    --tblr-btn-active-border-color: var(--ck-red-hover);
}

/* Logo en texto mientras no exista la marca definitiva */
.ck-logo {
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    color: #1d273b;
    text-decoration: none;
    white-space: nowrap;
}
.ck-logo:hover { text-decoration: none; color: #1d273b; }
.ck-logo span { color: var(--ck-red); }
.navbar[data-bs-theme="dark"] .ck-logo,
.navbar[data-bs-theme="dark"] .ck-logo:hover { color: #ffffff; }

.ck-zone-badge {
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    vertical-align: middle;
}

/* Barra lateral clara de /app */
.navbar-vertical.ck-sidebar-light {
    background: #ffffff;
    border-right: 1px solid var(--tblr-border-color);
}
.navbar-vertical .nav-item.active > .nav-link {
    color: var(--ck-red);
    font-weight: 600;
}
.navbar-vertical .nav-section {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--tblr-secondary);
    padding: 1rem 1rem 0.25rem;
}

/* Pantallas de acceso */
.ck-auth {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: #f6f7f9;
}
.ck-auth .card { border: 0; box-shadow: 0 1px 3px rgba(29, 39, 59, 0.08); }

/* Tablas y detalles */
.table-vcenter td, .table-vcenter th { vertical-align: middle; }
.ck-muted-mono {
    font-family: var(--tblr-font-monospace);
    font-size: 0.8125rem;
    color: var(--tblr-secondary);
    word-break: break-all;
}
.ck-setup-item { display: flex; align-items: center; gap: 0.75rem; }
.ck-setup-item .ti { font-size: 1.25rem; }
.ck-setup-item.done { color: var(--tblr-secondary); text-decoration: line-through; }
.ck-audit-changes { max-width: 420px; }

.ck-truncate-360 { max-width: 360px; }

/* Editor de formularios */
[x-cloak] { display: none !important; }
.ck-editor-bar { position: sticky; top: 0; z-index: 10; }
.ck-dropdown-scroll { max-height: 60vh; overflow-y: auto; width: 320px; }
.ck-block-item { cursor: pointer; }
.ck-block-item.active { background: var(--tblr-primary-lt); border-color: var(--tblr-border-color); color: inherit; }
.ck-block-disabled .text-truncate { text-decoration: line-through; color: var(--tblr-secondary); }
.ck-input-days { max-width: 80px; }
.ck-soon {
    margin-left: 0.375rem;
    padding: 0.0625rem 0.375rem;
    border-radius: 4px;
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--tblr-bg-surface-secondary);
    color: var(--tblr-secondary);
}

/* Portal del tercero */
.ck-portal { background: #f6f7f9; }
.ck-portal-header { background: #ffffff; border-bottom: 1px solid var(--tblr-border-color); padding-top: 0.875rem; position: sticky; top: 0; z-index: 20; }
.ck-portal-header .container-lg { padding-bottom: 0.875rem; }
.ck-portal-steps { position: sticky; top: 6rem; }
.ck-portal-step { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.5rem 0.25rem; color: var(--tblr-secondary); text-decoration: none; border-radius: 6px; }
.ck-portal-step:hover { color: var(--tblr-body-color); text-decoration: none; background: rgba(0, 0, 0, 0.03); }
.ck-portal-step .ti { font-size: 1.125rem; margin-top: 0.0625rem; }
.ck-portal-step.done .ti { color: var(--tblr-green); }
.ck-portal-step.current { color: var(--tblr-body-color); font-weight: 600; }
.ck-portal-step.current .ti { color: var(--ck-red); }
.ck-portal .card { border: 0; box-shadow: 0 1px 3px rgba(29, 39, 59, 0.08); }
.ck-otp-input { font-size: 1.75rem; letter-spacing: 0.5rem; text-align: center; font-family: var(--tblr-font-monospace); }
.ck-actions-bar { position: sticky; bottom: 0; background: #ffffff; border-top: 1px solid var(--tblr-border-color); padding: 0.75rem 1rem; margin: 1rem -1rem -1rem; border-radius: 0 0 8px 8px; }
.ck-has-error .form-control, .ck-has-error .form-select { border-color: var(--tblr-danger); }
.ck-doc-row + .ck-doc-row { border-top: 1px solid var(--tblr-border-color); }
.ck-summary dt { font-weight: 500; color: var(--tblr-secondary); font-size: 0.8125rem; }
.ck-summary dd { margin-bottom: 0.75rem; }

/* Procesos y enlaces */
.ck-qr { width: 180px; height: 180px; image-rendering: pixelated; }
.ck-col-progress { width: 140px; }
.ck-email-preview { width: 100%; height: 360px; border: 1px solid var(--tblr-border-color); border-radius: 6px; background: #fff; }
