/* ========================================================================== 
   v152 · Temas visuales por usuario
   Paletas profesionales con semántica estable para éxito/advertencia/peligro.
   Se carga al final para gobernar identidad visual sin alterar reglas de negocio.
   ========================================================================== */

:root,
html[data-theme="violet"] {
    --ui-primary: #4A2C84;
    --ui-primary-strong: #382064;
    --ui-primary-soft: #F4F1FB;
    --ui-accent: #6D4DB3;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #FAF8FD;
    --ui-border: #E7E1F0;
    --ui-border-strong: #D8CEE8;
    --ui-text: #201B2B;
    --ui-muted: #70677D;
    --shell-bg: #F4F7FC;
    --shell-primary: #4A2C84;
    --shell-primary-strong: #382064;
    --pos-primary: #4A2C84;
    --pos-primary-hover: #382064;
    --pos-accent: #6D4DB3;
}

html[data-theme="blue"] {
    --ui-primary: #2D5BB9;
    --ui-primary-strong: #173B5B;
    --ui-primary-soft: #EDF4F9;
    --ui-accent: #2F6B91;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8FAFC;
    --ui-border: #DCE6EE;
    --ui-border-strong: #C8D7E2;
    --ui-text: #172936;
    --ui-muted: #607481;
    --shell-bg: #F4F7FC;
    --shell-primary: #2D5BB9;
    --shell-primary-strong: #173B5B;
    --pos-primary: #2D5BB9;
    --pos-primary-hover: #173B5B;
    --pos-accent: #2F6B91;
}

html[data-theme="green"] {
    --ui-primary: #245C45;
    --ui-primary-strong: #194533;
    --ui-primary-soft: #EDF7F1;
    --ui-accent: #357A5F;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F7FBF9;
    --ui-border: #DCEAE2;
    --ui-border-strong: #C8DCCF;
    --ui-text: #183127;
    --ui-muted: #62766C;
    --shell-bg: #F4F7FC;
    --shell-primary: #245C45;
    --shell-primary-strong: #194533;
    --pos-primary: #245C45;
    --pos-primary-hover: #194533;
    --pos-accent: #357A5F;
}

html[data-theme="graphite"] {
    --ui-primary: #344054;
    --ui-primary-strong: #202A3A;
    --ui-primary-soft: #F0F2F5;
    --ui-accent: #596779;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8F9FA;
    --ui-border: #E1E5EA;
    --ui-border-strong: #CDD3DB;
    --ui-text: #202733;
    --ui-muted: #697586;
    --shell-bg: #F4F7FC;
    --shell-primary: #344054;
    --shell-primary-strong: #202A3A;
    --pos-primary: #344054;
    --pos-primary-hover: #202A3A;
    --pos-accent: #596779;
}

html[data-theme="teal"] {
    --ui-primary: #245E5C;
    --ui-primary-strong: #194846;
    --ui-primary-soft: #EDF7F6;
    --ui-accent: #357673;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F7FBFA;
    --ui-border: #D9E9E7;
    --ui-border-strong: #C4DAD8;
    --ui-text: #173130;
    --ui-muted: #607977;
    --shell-bg: #F4F7FC;
    --shell-primary: #245E5C;
    --shell-primary-strong: #194846;
    --pos-primary: #245E5C;
    --pos-primary-hover: #194846;
    --pos-accent: #357673;
}

html[data-theme="burgundy"] {
    --ui-primary: #753B4D;
    --ui-primary-strong: #592C3A;
    --ui-primary-soft: #FAF0F3;
    --ui-accent: #955266;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #FCF8F9;
    --ui-border: #EFDDE3;
    --ui-border-strong: #E0C7CF;
    --ui-text: #38232A;
    --ui-muted: #806B72;
    --shell-bg: #F4F7FC;
    --shell-primary: #753B4D;
    --shell-primary-strong: #592C3A;
    --pos-primary: #753B4D;
    --pos-primary-hover: #592C3A;
    --pos-accent: #955266;
}

html[data-theme="indigo"] {
    --ui-primary: #434B8C;
    --ui-primary-strong: #32396D;
    --ui-primary-soft: #F0F1FA;
    --ui-accent: #5862A2;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8F8FD;
    --ui-border: #E0E2F1;
    --ui-border-strong: #CED1E7;
    --ui-text: #252A4A;
    --ui-muted: #6C718B;
    --shell-bg: #F4F7FC;
    --shell-primary: #434B8C;
    --shell-primary-strong: #32396D;
    --pos-primary: #434B8C;
    --pos-primary-hover: #32396D;
    --pos-accent: #5862A2;
}


html[data-theme="modern-blue"] {
    --ui-primary: #3B82F6;
    --ui-primary-strong: #2563EB;
    --ui-primary-soft: #EFF6FF;
    --ui-accent: #60A5FA;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8FBFF;
    --ui-border: #DBEAFE;
    --ui-border-strong: #BFDBFE;
    --ui-text: #172554;
    --ui-muted: #64748B;
    --shell-bg: #F4F7FC;
    --shell-primary: #3B82F6;
    --shell-primary-strong: #2563EB;
    --pos-primary: #3B82F6;
    --pos-primary-hover: #2563EB;
    --pos-accent: #60A5FA;
}

html[data-theme="fresh-green"] {
    --ui-primary: #51BF6D;
    --ui-primary-strong: #379B52;
    --ui-primary-soft: #EFFBF2;
    --ui-accent: #74D28A;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8FCF9;
    --ui-border: #D7F0DD;
    --ui-border-strong: #BCE3C6;
    --ui-text: #183D24;
    --ui-muted: #617568;
    --shell-bg: #F4F7FC;
    --shell-primary: #51BF6D;
    --shell-primary-strong: #379B52;
    --pos-primary: #51BF6D;
    --pos-primary-hover: #379B52;
    --pos-accent: #74D28A;
}

html[data-theme="modern-lavender"] {
    --ui-primary: #6A75E2;
    --ui-primary-strong: #515CCB;
    --ui-primary-soft: #F1F3FF;
    --ui-accent: #8B94ED;
    --ui-bg: #F4F7FC;
    --light-color: #F4F7FC;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #FAFAFF;
    --ui-border: #E1E4FB;
    --ui-border-strong: #CDD2F7;
    --ui-text: #272B5B;
    --ui-muted: #6B708F;
    --shell-bg: #F4F7FC;
    --shell-primary: #6A75E2;
    --shell-primary-strong: #515CCB;
    --pos-primary: #6A75E2;
    --pos-primary-hover: #515CCB;
    --pos-accent: #8B94ED;
}

html[data-theme="digitalia-gradient"] {
    --ui-primary: #2563EB;
    --ui-primary-strong: #1949A4;
    --ui-primary-soft: #EFF6FF;
    --ui-accent: #3B82F6;
    --ui-bg: #F5F8FD;
    --light-color: #F5F8FD;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8FBFF;
    --ui-border: #E1E8F4;
    --ui-border-strong: #C9D7EC;
    --ui-text: #111827;
    --ui-muted: #667085;
    --shell-bg: #F5F8FD;
    --shell-primary: #2563EB;
    --shell-primary-strong: #1949A4;
    --pos-primary: #2563EB;
    --pos-primary-hover: #1949A4;
    --pos-accent: #3B82F6;
}

/* Colores semánticos intencionalmente estables entre temas. */
:root {
    --ui-success: #2F775C;
    --ui-warning: #94652D;
    --ui-danger: #D92D20;
    --ui-blue: #2F6B91;
}

/* Aplicación transversal de la paleta en temas claros. */
html:not([data-theme="dark"]) body,
html:not([data-theme="dark"]) body.app-layout,
html:not([data-theme="dark"]) .app-main,
html:not([data-theme="dark"]) .app-content {
    background-color: var(--ui-bg);
}

html:not([data-theme="dark"]) .sidebar,
html:not([data-theme="dark"]) .sidebar-brand,
html:not([data-theme="dark"]) .app-topbar,
html:not([data-theme="dark"]) .user-menu-panel,
html:not([data-theme="dark"]) .app-content .card,
html:not([data-theme="dark"]) .app-modal,
html:not([data-theme="dark"]) dialog {
    background-color: var(--ui-panel);
    border-color: var(--ui-border);
}

html:not([data-theme="dark"]) .sidebar-direct-link:hover,
html:not([data-theme="dark"]) .sidebar-group > summary:hover,
html:not([data-theme="dark"]) .sidebar-group.is-current > summary,
html:not([data-theme="dark"]) .sidebar-submenu-link:hover,
html:not([data-theme="dark"]) .user-menu-panel > a:hover,
html:not([data-theme="dark"]) .user-menu-panel button:hover,
html:not([data-theme="dark"]) .topbar-quick-link:hover {
    color: var(--ui-primary);
    background-color: var(--ui-primary-soft);
}

html:not([data-theme="dark"]) .sidebar-footer,
html:not([data-theme="dark"]) .topbar-quick-link,
html:not([data-theme="dark"]) .app-content .button.secondary,
html:not([data-theme="dark"]) .app-modal .button.secondary {
    border-color: var(--ui-border);
    background-color: var(--ui-panel-soft);
}

html:not([data-theme="dark"]) .user-avatar,
html:not([data-theme="dark"]) .sidebar-footer-mark {
    color: var(--ui-primary);
    border-color: color-mix(in srgb, var(--ui-primary) 20%, var(--ui-border));
    background: var(--ui-primary-soft);
}

html:not([data-theme="dark"]) .app-content input:not([type="checkbox"]):not([type="radio"]),
html:not([data-theme="dark"]) .app-content select,
html:not([data-theme="dark"]) .app-content textarea,
html:not([data-theme="dark"]) .app-modal input:not([type="checkbox"]):not([type="radio"]),
html:not([data-theme="dark"]) .app-modal select,
html:not([data-theme="dark"]) .app-modal textarea {
    background-color: var(--ui-panel);
    border-color: var(--ui-border-strong);
}

/* ---------- Tema oscuro profesional ---------- */
html[data-theme="dark"] {
    color-scheme: dark;
    --ui-primary: #7C6CCF;
    --ui-primary-strong: #6959BC;
    --ui-primary-soft: #2B2850;
    --ui-accent: #9A8BE0;
    --ui-bg: #111827;
    --light-color: #111827;
    --dark-color: #F9FAFB;
    --ui-panel: #1F2937;
    --ui-panel-soft: #182231;
    --ui-border: #344154;
    --ui-border-strong: #455268;
    --ui-text: #F9FAFB;
    --ui-muted: #B1BAC8;
    --ui-muted-2: #8994A6;
    --shell-bg: #111827;
    --shell-surface: #1F2937;
    --shell-border: #344154;
    --shell-text: #F9FAFB;
    --shell-muted: #B1BAC8;
    --shell-primary: #7C6CCF;
    --shell-primary-strong: #6959BC;
    --pos-primary: #7C6CCF;
    --pos-primary-hover: #6959BC;
    --pos-accent: #9A8BE0;
    --pos-surface: #1F2937;
    --pos-control: #182231;
    --pos-text: #F9FAFB;
    --pos-muted: #B1BAC8;
    --pos-border: #344154;
    --pos-border-soft: #2D394B;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] body.app-layout,
html[data-theme="dark"] body.guest-layout,
html[data-theme="dark"] .app-main,
html[data-theme="dark"] .app-content,
html[data-theme="dark"] body.pos-mode {
    color: var(--ui-text);
    background: var(--ui-bg) !important;
}

html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .sidebar-brand,
html[data-theme="dark"] .app-topbar,
html[data-theme="dark"] .user-menu-panel,
html[data-theme="dark"] .app-content .card,
html[data-theme="dark"] .app-modal,
html[data-theme="dark"] dialog,
html[data-theme="dark"] .guest-topbar,
html[data-theme="dark"] .guest-layout .auth-card,
html[data-theme="dark"] .guest-content .card {
    color: var(--ui-text);
    background: var(--ui-panel) !important;
    border-color: var(--ui-border) !important;
}

html[data-theme="dark"] .sidebar-brand:hover,
html[data-theme="dark"] .sidebar-footer,
html[data-theme="dark"] .topbar-quick-link,
html[data-theme="dark"] .user-menu > summary:hover,
html[data-theme="dark"] .user-menu[open] > summary,
html[data-theme="dark"] .user-menu-panel > a:hover,
html[data-theme="dark"] .user-menu-panel button:hover,
html[data-theme="dark"] .sidebar-direct-link:hover,
html[data-theme="dark"] .sidebar-group > summary:hover,
html[data-theme="dark"] .sidebar-group.is-current > summary,
html[data-theme="dark"] .sidebar-submenu-link:hover {
    color: #F9FAFB !important;
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-border) !important;
}

html[data-theme="dark"] .sidebar-direct-link,
html[data-theme="dark"] .sidebar-group > summary,
html[data-theme="dark"] .sidebar-submenu-link,
html[data-theme="dark"] .sidebar-footer-copy strong,
html[data-theme="dark"] .topbar-context strong,
html[data-theme="dark"] .user-summary-copy strong,
html[data-theme="dark"] .user-menu-panel > a,
html[data-theme="dark"] .user-menu-panel button,
html[data-theme="dark"] .app-content .page-head h1,
html[data-theme="dark"] .app-content .card h1,
html[data-theme="dark"] .app-content .card h2,
html[data-theme="dark"] .app-content .card h3,
html[data-theme="dark"] .app-content label,
html[data-theme="dark"] .data-list dd,
html[data-theme="dark"] table,
html[data-theme="dark"] th,
html[data-theme="dark"] td {
    color: var(--ui-text);
}

html[data-theme="dark"] .sidebar-category,
html[data-theme="dark"] .brand-copy span,
html[data-theme="dark"] .sidebar-footer-copy small,
html[data-theme="dark"] .topbar-kicker,
html[data-theme="dark"] .user-summary-copy small,
html[data-theme="dark"] .app-content .muted,
html[data-theme="dark"] .app-content .page-head p,
html[data-theme="dark"] .app-content small,
html[data-theme="dark"] .data-list dt {
    color: var(--ui-muted) !important;
}

html[data-theme="dark"] .sidebar-submenu {
    border-left-color: var(--ui-border);
}

html[data-theme="dark"] .sidebar-direct-link.is-active,
html[data-theme="dark"] .sidebar-submenu-link.is-active,
html[data-theme="dark"] .app-content .button:not(.secondary):not(.danger),
html[data-theme="dark"] .app-modal .button:not(.secondary):not(.danger) {
    color: #FFFFFF !important;
    background: var(--ui-primary) !important;
}

html[data-theme="dark"] .app-content .button.secondary,
html[data-theme="dark"] .app-modal .button.secondary {
    color: #E7EAF0 !important;
    background: #283446 !important;
    border-color: var(--ui-border-strong) !important;
}

html[data-theme="dark"] .app-content input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .app-content select,
html[data-theme="dark"] .app-content textarea,
html[data-theme="dark"] .app-modal input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .app-modal select,
html[data-theme="dark"] .app-modal textarea,
html[data-theme="dark"] .search input,
html[data-theme="dark"] .search select {
    color: #F9FAFB !important;
    background: #151F2D !important;
    border-color: var(--ui-border-strong) !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #7F8A9D;
}

html[data-theme="dark"] table th,
html[data-theme="dark"] table td,
html[data-theme="dark"] .data-list div,
html[data-theme="dark"] .totals-card dl div {
    border-color: var(--ui-border) !important;
}

html[data-theme="dark"] .brand-mark,
html[data-theme="dark"] .user-avatar,
html[data-theme="dark"] .sidebar-footer-mark {
    color: #FFFFFF;
    background: var(--ui-primary);
    border-color: color-mix(in srgb, var(--ui-primary) 70%, #FFFFFF 10%);
}

html[data-theme="dark"] .quick-actions-panel,
html[data-theme="dark"] .quick-actions-dialog,
html[data-theme="dark"] .app-modal-body,
html[data-theme="dark"] .app-modal-header,
html[data-theme="dark"] .app-modal-footer {
    color: var(--ui-text);
    background: var(--ui-panel) !important;
    border-color: var(--ui-border) !important;
}

/* ---------- Pantalla Mi cuenta > Apariencia ---------- */
.appearance-settings-card {
    padding: 22px !important;
}

.appearance-settings-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 20px;
}

.appearance-settings-intro h2 {
    margin: 2px 0 5px;
}

.appearance-eyebrow {
    color: var(--ui-primary);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.appearance-save-state {
    min-width: 118px;
    padding: 7px 10px;
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    color: var(--ui-muted);
    background: var(--ui-panel-soft);
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
}

.appearance-save-state[data-state="saving"] { color: var(--ui-primary); }
.appearance-save-state[data-state="saved"] { color: var(--ui-success); }
.appearance-save-state[data-state="error"] { color: var(--ui-danger); }

.theme-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.theme-card {
    position: relative;
    display: grid;
    gap: 11px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    background: var(--ui-panel);
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.theme-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--ui-primary) 45%, var(--ui-border));
    box-shadow: 0 8px 24px rgba(24, 32, 52, .07);
}

.theme-card.is-selected {
    border-color: var(--ui-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ui-primary) 18%, transparent);
}

.theme-card > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.theme-preview {
    height: 102px;
    display: grid;
    grid-template-columns: 31% 69%;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--preview-primary) 18%, #D8DCE5);
    border-radius: 9px;
    background: var(--preview-bg);
}

.theme-preview-sidebar {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 12px 7px;
    background: var(--preview-surface);
    border-right: 1px solid color-mix(in srgb, var(--preview-primary) 14%, #D8DCE5);
}

.theme-preview-sidebar i {
    width: 78%;
    height: 6px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--preview-primary) 18%, var(--preview-surface));
}

.theme-preview-sidebar i:first-child {
    width: 58%;
    height: 13px;
    margin-bottom: 4px;
    background: var(--preview-primary);
}

.theme-preview-main {
    display: grid;
    grid-template-rows: 25px 1fr;
}

.theme-preview-topbar {
    background: var(--preview-surface);
    border-bottom: 1px solid color-mix(in srgb, var(--preview-primary) 14%, #D8DCE5);
}

.theme-preview-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
    padding: 11px 9px;
    align-content: start;
}

.theme-preview-content i {
    height: 27px;
    border-radius: 5px;
    background: var(--preview-surface);
    border: 1px solid color-mix(in srgb, var(--preview-primary) 12%, #D8DCE5);
}

.theme-preview-content i:first-child {
    grid-column: 1 / -1;
    height: 10px;
    background: var(--preview-primary);
    border: 0;
}

.theme-card-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.theme-card-copy > span:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.theme-card-copy strong {
    color: var(--ui-text);
    font-size: .82rem;
}

.theme-card-copy > small {
    min-height: 34px;
    color: var(--ui-muted);
    font-size: .69rem;
    line-height: 1.4;
}

.theme-default-chip {
    padding: 2px 6px;
    border-radius: 999px;
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
    font-size: .58rem;
    font-weight: 800;
}

.theme-swatches {
    display: flex;
    gap: 5px;
}

.theme-swatches i {
    width: 18px;
    height: 18px;
    border: 1px solid rgba(100, 110, 130, .2);
    border-radius: 50%;
}

.theme-check {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
    color: #FFFFFF;
    background: var(--preview-primary);
    box-shadow: 0 3px 10px rgba(20, 25, 40, .16);
    font-size: .72rem;
    font-weight: 900;
    opacity: 0;
    transform: scale(.75);
    transition: opacity .15s ease, transform .15s ease;
}

.theme-card.is-selected .theme-check {
    opacity: 1;
    transform: scale(1);
}

.appearance-noscript {
    margin-top: 18px;
    text-align: right;
}

html[data-theme="dark"] .theme-card {
    background: var(--ui-panel) !important;
}

html[data-theme="dark"] .theme-card-copy strong {
    color: var(--ui-text) !important;
}

@media (max-width: 1180px) {
    .theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .appearance-settings-intro { flex-direction: column; }
    .appearance-save-state { align-self: flex-start; }
    .theme-grid { grid-template-columns: 1fr; }
}

/* ========================================================================== 
   v153 · Centro de informes profesional + acciones temáticas + detalle modal
   ========================================================================== */

/* Centro de informes: tonos de categoría sobrios y de baja saturación. */
.report-tone-sage { --report-tone: #4F7A67; --report-tone-soft: #EDF5F1; }
.report-tone-indigo { --report-tone: #59648D; --report-tone-soft: #F0F2F7; }
.report-tone-amber { --report-tone: #8A6A3F; --report-tone-soft: #F8F3EA; }
.report-tone-blue { --report-tone: #416D8C; --report-tone-soft: #EDF4F8; }
.report-tone-teal { --report-tone: #3F7472; --report-tone-soft: #ECF5F4; }
.report-tone-burgundy { --report-tone: #7A5261; --report-tone-soft: #F7EFF2; }

.report-center-head-v153,
.report-detail-head-v153 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}
.report-center-head-v153 h1,
.report-detail-head-v153 h1 {
    margin: 2px 0 5px;
    color: var(--ui-text);
    font-size: clamp(1.65rem, 2vw, 2rem);
    font-weight: 720;
    letter-spacing: -.035em;
}
.report-center-head-v153 > div > p,
.report-detail-head-v153 > div > p {
    max-width: 760px;
    margin: 0;
    color: var(--ui-muted);
    font-size: .88rem;
    line-height: 1.55;
}
.report-page-eyebrow {
    color: var(--ui-primary);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.report-center-v153 {
    gap: 20px;
    margin-top: 18px;
}
.report-center-v153 .report-category-panel,
.report-center-v153 .report-options-panel {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    background: var(--ui-panel);
    box-shadow: 0 8px 26px rgba(15,23,42,.035);
}
.report-center-v153 .report-category-item {
    grid-template-columns: 48px 1fr 20px;
    min-height: 94px;
    gap: 13px;
    padding: 15px 17px;
    color: var(--ui-text);
    border-color: var(--ui-border);
    background: transparent;
}
.report-center-v153 .report-category-item:hover,
.report-center-v153 .report-category-item.active {
    background: color-mix(in srgb, var(--report-tone-soft) 66%, var(--ui-panel));
}
.report-center-v153 .report-category-item.active {
    box-shadow: inset 3px 0 0 var(--report-tone);
}
.report-center-v153 .report-category-icon {
    width: 44px;
    height: 44px;
    border: 1px solid color-mix(in srgb, var(--report-tone) 16%, transparent);
    border-radius: 11px;
    color: var(--report-tone);
    background: var(--report-tone-soft);
}
.report-center-v153 .report-category-icon svg { width: 22px; height: 22px; }
.report-center-v153 .report-category-copy strong { color: var(--ui-text); font-size: .98rem; font-weight: 680; }
.report-center-v153 .report-category-copy small { color: var(--ui-muted); font-size: .77rem; line-height: 1.45; }
.report-center-v153 .report-category-arrow { color: color-mix(in srgb, var(--ui-muted) 55%, transparent); font-size: 1.35rem; }
.report-center-v153 .report-category-item.active .report-category-arrow { color: var(--report-tone); }
.report-center-v153 .report-options-header {
    padding: 17px 20px;
    color: var(--ui-text);
    background: var(--ui-panel-soft);
    border-color: var(--ui-border);
}
.report-center-v153 .report-options-header h2 { color: var(--ui-text); font-size: 1rem; }
.report-center-v153 .report-options-header p { color: var(--ui-muted); }
.report-center-v153 .report-option-item {
    grid-template-columns: 8px 1fr auto 20px;
    min-height: 72px;
    padding: 12px 20px;
    color: var(--ui-text);
    border-color: var(--ui-border);
}
.report-center-v153 .report-option-item:hover {
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
}
.report-option-marker {
    width: 6px;
    height: 28px;
    border-radius: 99px;
    background: color-mix(in srgb, var(--ui-primary) 34%, var(--ui-border));
}
.report-option-item:hover .report-option-marker { background: var(--ui-primary); }
.report-center-v153 .report-option-main strong { color: currentColor; font-weight: 650; }
.report-center-v153 .report-option-main small { color: var(--ui-muted); }
.report-center-v153 .report-option-badge {
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
    border: 1px solid color-mix(in srgb, var(--ui-primary) 14%, var(--ui-border));
}
.report-center-v153 .report-option-chevron { color: var(--ui-muted); }

/* Encabezado y controles de reporte. */
.report-detail-head-v153 .report-breadcrumb { margin-top: 9px; }
.report-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.report-export-menu { position: relative; }
.report-export-popover {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    right: 0;
    width: 260px;
    padding: 6px;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: var(--ui-panel);
    box-shadow: 0 18px 42px rgba(15,23,42,.15);
}
.report-export-popover a {
    display: grid;
    gap: 2px;
    padding: 9px 10px;
    border-radius: 7px;
    color: var(--ui-text);
    text-decoration: none;
}
.report-export-popover a:hover { color: var(--ui-primary); background: var(--ui-primary-soft); }
.report-export-popover strong { font-size: .82rem; }
.report-export-popover small { color: var(--ui-muted); font-size: .7rem; }

.report-quick-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0 0 10px;
}
.report-quick-filters a {
    padding: 6px 11px;
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    color: var(--ui-muted);
    background: var(--ui-panel);
    font-size: .75rem;
    font-weight: 650;
    text-decoration: none;
}
.report-quick-filters a:hover,
.report-quick-filters a.active {
    color: var(--ui-primary);
    border-color: color-mix(in srgb, var(--ui-primary) 30%, var(--ui-border));
    background: var(--ui-primary-soft);
}
.report-filters-v153 {
    border-color: var(--ui-border) !important;
    background: var(--ui-panel) !important;
}
.report-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 10px;
    margin: 12px 0;
}
.report-kpi-grid article {
    position: relative;
    min-height: 88px;
    padding: 14px 15px;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: var(--ui-panel);
    box-shadow: 0 3px 14px rgba(15,23,42,.025);
}
.report-kpi-grid article::before {
    content: '';
    position: absolute;
    top: 13px;
    left: 0;
    width: 3px;
    height: 30px;
    border-radius: 0 4px 4px 0;
    background: color-mix(in srgb, var(--ui-primary) 65%, var(--ui-border));
}
.report-kpi-grid article.is-positive::before { background: var(--ui-success); }
.report-kpi-grid article.is-warning::before { background: var(--ui-warning); }
.report-kpi-grid article.is-danger::before { background: var(--ui-danger); }
.report-kpi-grid span { display: block; color: var(--ui-muted); font-size: .72rem; font-weight: 600; }
.report-kpi-grid strong { display: block; margin-top: 7px; color: var(--ui-text); font-size: 1.12rem; font-weight: 720; }
.report-kpi-grid small { display: block; margin-top: 3px; color: var(--ui-muted); font-size: .68rem; }
.report-table-v153 { border-color: var(--ui-border) !important; }
.report-table-v153 .section-head { padding: 15px 16px 8px; }
.report-table-v153 .section-head h2 { margin: 0 0 2px; font-size: 1rem; }
.report-detail-link { color: var(--ui-primary); font-size: .76rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.report-detail-link:hover { text-decoration: underline; }
.report-chart-card { border-color: var(--ui-border) !important; background: var(--ui-panel) !important; }
.report-mini-chart-card { border-color: var(--ui-border) !important; background: var(--ui-panel-soft) !important; }
.report-chart-badge,.report-mini-chart-tag { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; border-color: var(--ui-border) !important; }

/* Cajas chicas: la identidad visual sigue la paleta del usuario. */
.cash-action-primary,
.cash-mini-button.cash-btn-report {
    color: #fff !important;
    background: var(--ui-primary) !important;
    border-color: var(--ui-primary) !important;
}
.cash-mini-button.cash-btn-products,
.cash-mini-button.cash-btn-electronic {
    color: #fff !important;
    background: var(--ui-accent) !important;
    border-color: var(--ui-accent) !important;
}
.cash-mini-button.cash-btn-income,
.cash-mini-button.cash-btn-detail {
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    border: 1px solid color-mix(in srgb, var(--ui-primary) 24%, var(--ui-border)) !important;
}
.cash-mini-button.cash-btn-close {
    color: #fff !important;
    background: var(--ui-warning) !important;
    border-color: var(--ui-warning) !important;
}
.cash-mini-button:hover,
.cash-action-primary:hover { filter: brightness(.94); transform: translateY(-1px); }
.cash-export-popover {
    border-color: var(--ui-border) !important;
    background: var(--ui-panel) !important;
}
.cash-export-popover a { color: var(--ui-text) !important; }
.cash-export-popover a:hover { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; }

/* Vista rápida de detalle. */
.detail-view-dialog {
    width: min(1080px, calc(100vw - 34px));
    max-width: 1080px;
    max-height: 92vh;
    padding: 0;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    color: var(--ui-text);
    background: var(--ui-panel);
    box-shadow: 0 24px 70px rgba(15,23,42,.24);
}
.detail-view-dialog::backdrop { background: rgba(15,23,42,.46); backdrop-filter: blur(2px); }
.detail-view-panel { display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: 92vh; }
.detail-view-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px 13px;
    border-bottom: 1px solid var(--ui-border);
    background: var(--ui-panel);
}
.detail-view-header h2 { margin: 2px 0 2px; color: var(--ui-text); font-size: 1.15rem; font-weight: 680; }
.detail-view-header p { margin: 0; color: var(--ui-muted); font-size: .72rem; }
.detail-view-body {
    overflow: auto;
    padding: 16px 18px 20px;
    background: var(--ui-bg);
}
.detail-view-loading { padding: 34px; color: var(--ui-muted); text-align: center; }
.detail-view-error { margin: 16px 18px; }
.detail-view-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 11px 18px;
    border-top: 1px solid var(--ui-border);
    background: var(--ui-panel);
}
.detail-modal-fragment { color: var(--ui-text); }
.detail-modal-fragment .page-head,
.detail-modal-fragment .report-detail-head { display: none !important; }
.detail-modal-fragment form,
.detail-modal-fragment .actions form,
.detail-modal-fragment [data-danger-zone] { display: none !important; }
.detail-modal-fragment .card { border-color: var(--ui-border) !important; background: var(--ui-panel) !important; box-shadow: none !important; }
.detail-modal-fragment .table-wrap,
.detail-modal-fragment .professional-table-wrap { overflow: auto; }
.detail-modal-fragment .button { min-height: 34px; }
.detail-modal-fragment > .alert:first-child { margin-top: 0; }
.detail-modal-fragment .detail-grid { margin-top: 0; }
.detail-modal-fragment h2 { font-size: 1rem; }
.detail-modal-fragment .card + .card { margin-top: 12px; }

html[data-theme="dark"] .report-center-v153 .report-category-item:hover,
html[data-theme="dark"] .report-center-v153 .report-category-item.active {
    background: color-mix(in srgb, var(--report-tone) 12%, var(--ui-panel)) !important;
}
html[data-theme="dark"] .report-center-v153 .report-category-icon {
    background: color-mix(in srgb, var(--report-tone) 16%, var(--ui-panel));
    border-color: color-mix(in srgb, var(--report-tone) 30%, var(--ui-border));
}
html[data-theme="dark"] .report-export-popover,
html[data-theme="dark"] .report-kpi-grid article,
html[data-theme="dark"] .report-quick-filters a,
html[data-theme="dark"] .detail-view-dialog,
html[data-theme="dark"] .detail-view-header,
html[data-theme="dark"] .detail-view-footer {
    color: var(--ui-text) !important;
    background: var(--ui-panel) !important;
    border-color: var(--ui-border) !important;
}
html[data-theme="dark"] .detail-view-body { background: var(--ui-bg) !important; }
html[data-theme="dark"] .cash-mini-button.cash-btn-income,
html[data-theme="dark"] .cash-mini-button.cash-btn-detail { color: #EDE9FE !important; }

@media (max-width: 760px) {
    .report-center-head-v153,.report-detail-head-v153 { flex-direction: column; }
    .report-head-actions { width: 100%; }
    .report-head-actions .button { flex: 1; }
    .report-export-menu { flex: 1; }
    .report-export-menu > .button { width: 100%; }
    .report-export-popover { left: 0; right: auto; width: min(290px, calc(100vw - 38px)); }
    .report-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .detail-view-dialog { width: calc(100vw - 16px); max-height: 96vh; }
    .detail-view-panel { max-height: 96vh; }
    .detail-view-body { padding: 11px; }
}

/* v154 · Ventas y rentabilidad: anulaciones/NC y doble lectura de utilidad */
.report-sales-profit-table .report-sale-reversed > td {
    background: color-mix(in srgb, var(--ui-danger) 7%, var(--ui-panel)) !important;
    border-color: color-mix(in srgb, var(--ui-danger) 16%, var(--ui-border)) !important;
}
.report-sales-profit-table .report-sale-reversed td:first-child {
    box-shadow: inset 3px 0 0 var(--ui-danger);
}
.report-sales-profit-table .report-sale-reversed strong,
.report-sales-profit-table .report-sale-reversed .report-value-reversed,
.report-sales-profit-table .report-profit-negative {
    color: var(--ui-danger) !important;
}
.report-sale-status {
    display: inline-flex;
    width: max-content;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: .61rem;
    font-weight: 760;
    letter-spacing: .025em;
    line-height: 1;
}
.report-sale-status.is-reversed {
    color: var(--ui-danger);
    background: color-mix(in srgb, var(--ui-danger) 10%, var(--ui-panel));
    border: 1px solid color-mix(in srgb, var(--ui-danger) 24%, var(--ui-border));
}
.report-sale-status.is-adjusted {
    color: var(--ui-warning);
    background: color-mix(in srgb, var(--ui-warning) 10%, var(--ui-panel));
    border: 1px solid color-mix(in srgb, var(--ui-warning) 24%, var(--ui-border));
}
.report-reversal-note { color: var(--ui-danger) !important; }
html[data-theme="dark"] .report-sales-profit-table .report-sale-reversed > td {
    background: color-mix(in srgb, var(--ui-danger) 11%, var(--ui-panel)) !important;
}

/* v261 · Apariencia Digitalia azul degradado */
html[data-theme="digitalia-gradient"] .sidebar {
    --sidebar-text: rgba(255,255,255,.94);
    --sidebar-muted: rgba(255,255,255,.68);
    --sidebar-active: #FFFFFF;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 12% 8%, rgba(255,255,255,.10), transparent 28%),
        linear-gradient(165deg, #1949A4 0%, #245FD8 46%, #3B82F6 100%);
    border-right-color: rgba(255,255,255,.12);
    box-shadow: 12px 0 34px rgba(25,73,164,.16);
}
html[data-theme="digitalia-gradient"] .sidebar-brand,
html[data-theme="digitalia-gradient"] .sidebar-brand.sidebar-brand--logo {
    background: transparent;
    border-bottom-color: rgba(255,255,255,.14);
}
html[data-theme="digitalia-gradient"] .sidebar-brand:hover,
html[data-theme="digitalia-gradient"] .sidebar-brand.sidebar-brand--logo:hover {
    background: rgba(255,255,255,.04);
}
html[data-theme="digitalia-gradient"] .sidebar-brand.sidebar-brand--logo .brand-logo-shell {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
html[data-theme="digitalia-gradient"] .sidebar-brand.sidebar-brand--logo .brand-logo-shell img {
    filter: brightness(0) invert(1);
}
html[data-theme="digitalia-gradient"] .brand-wordmark {
    color: #fff;
}
html[data-theme="digitalia-gradient"] .sidebar-footer {
    display: none;
}
html[data-theme="digitalia-gradient"] .sidebar-category { color: rgba(255,255,255,.58); }
html[data-theme="digitalia-gradient"] .sidebar-direct-link,
html[data-theme="digitalia-gradient"] .sidebar-group > summary { color: rgba(255,255,255,.88); }
html[data-theme="digitalia-gradient"] .sidebar-direct-link:hover,
html[data-theme="digitalia-gradient"] .sidebar-group > summary:hover,
html[data-theme="digitalia-gradient"] .sidebar-group.is-current > summary { color:#fff;background:rgba(255,255,255,.09); }
html[data-theme="digitalia-gradient"] .sidebar-direct-link.is-active {
    color:#fff;
    background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
    box-shadow: inset 3px 0 0 #fff, 0 5px 16px rgba(10,50,130,.10);
}
html[data-theme="digitalia-gradient"] .sidebar-submenu { border-left-color: rgba(255,255,255,.22); }
html[data-theme="digitalia-gradient"] .sidebar-submenu-link { color: rgba(255,255,255,.72); }
html[data-theme="digitalia-gradient"] .sidebar-submenu-link:hover,
html[data-theme="digitalia-gradient"] .sidebar-submenu-link.is-active { color:#fff;background:rgba(255,255,255,.10); }
html[data-theme="digitalia-gradient"] .submenu-dot { background: rgba(255,255,255,.62); }
html[data-theme="digitalia-gradient"] .sidebar-submenu-link.is-active .submenu-dot { background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.14); }
html[data-theme="digitalia-gradient"] .sidebar-chevron { color: rgba(255,255,255,.70); }
html[data-theme="digitalia-gradient"] .sidebar-footer { border-top-color: rgba(255,255,255,.14); }
html[data-theme="digitalia-gradient"] .sidebar-footer-copy strong,
html[data-theme="digitalia-gradient"] .sidebar-footer-copy small { color: rgba(255,255,255,.90); }
html[data-theme="digitalia-gradient"] .app-content .button:not(.secondary):not(.danger),
html[data-theme="digitalia-gradient"] .app-modal .button:not(.secondary):not(.danger) {
    background: linear-gradient(90deg,#2563EB,#3B82F6);
    border-color: transparent;
    box-shadow: 0 7px 16px rgba(37,99,235,.16);
}
html[data-theme="digitalia-gradient"] .app-topbar {
    border-bottom-color:#E7ECF5;
    box-shadow:0 6px 18px rgba(25,73,164,.035);
}
html[data-theme="digitalia-gradient"] .app-content .card,
html[data-theme="digitalia-gradient"] .app-content .commercial-table-card {
    border-color:#E4EAF4;
    box-shadow:0 8px 26px rgba(25,73,164,.045);
}
.theme-card[data-theme-code="digitalia-gradient"] .theme-preview-sidebar {
    background: linear-gradient(165deg,#1949A4,#3B82F6);
    border-right-color: rgba(255,255,255,.15);
}
.theme-card[data-theme-code="digitalia-gradient"] .theme-preview-sidebar i { background: rgba(255,255,255,.60); }
.theme-card[data-theme-code="digitalia-gradient"] .theme-preview-sidebar i:first-child { background:#fff; }


html:not([data-theme="dark"]) .sidebar-footer-logo,
html[data-theme="digitalia-gradient"] .sidebar-footer-logo,
html[data-theme="dark"] .sidebar-footer-logo {
    filter: none;
}

/* v296 · Vista rápida profesional y uniforme en todo el sistema. */
.detail-view-dialog {
    width: min(1220px, calc(100vw - 40px));
    max-width: 1220px;
    max-height: 94vh;
    border-radius: 18px;
}
.detail-view-panel { max-height: 94vh; }
.detail-view-header {
    padding: 18px 22px 16px;
    gap: 22px;
}
.detail-view-header h2 {
    margin: 3px 0 4px;
    font-size: 1.2rem;
    font-weight: 760;
    letter-spacing: -.018em;
}
.detail-view-header p { font-size: .75rem; line-height: 1.45; }
.detail-view-body { padding: 18px 20px 22px; }
.detail-view-footer {
    min-height: 68px;
    padding: 12px 20px;
    gap: 10px;
}
.detail-view-footer .button { min-height: 42px; padding-inline: 18px; }
.detail-modal-content-scope {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}
.detail-modal-fragment .commercial-detail-page,
.detail-modal-fragment .commercial-form-page,
.detail-modal-fragment .commercial-list-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
/* La vista rápida es informativa: operaciones completas se hacen desde la página completa. */
.detail-modal-fragment .document-actionbar { display: none !important; }
.detail-modal-fragment .document-hero { margin-bottom: 18px !important; }
.detail-modal-fragment .document-hero__meta { gap: 8px 18px !important; }
.detail-modal-fragment .detail-grid { margin: 0 0 18px !important; }
.detail-modal-fragment .detail-section-card,
.detail-modal-fragment .professional-data-card,
.detail-modal-fragment .card {
    border-radius: 14px !important;
}
.detail-modal-fragment .detail-section-card__body { padding: 18px !important; }
.detail-modal-fragment .detail-key-grid > div { min-height: 58px; }
.detail-modal-fragment .professional-data-card + .professional-data-card,
.detail-modal-fragment .card + .professional-data-card,
.detail-modal-fragment .professional-data-card + .card { margin-top: 18px !important; }
.detail-modal-fragment .professional-data-card > h2:first-child {
    margin: 0;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--ui-border);
    font-size: 1rem;
}
.detail-modal-fragment .professional-data-card > .section-head {
    margin: 0;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--ui-border);
}
.detail-modal-fragment .professional-table { min-width: 760px; }
.detail-modal-fragment .professional-table thead th { padding: 11px 14px !important; }
.detail-modal-fragment .professional-table tbody td { padding: 12px 14px !important; }
.detail-modal-fragment .professional-table .button.small,
.detail-modal-fragment .professional-table .button.compact {
    min-height: 36px;
    padding: 7px 12px;
}
.detail-modal-fragment .data-list > div { gap: 20px; }
.detail-modal-fragment .financial-highlight { margin-top: 14px; }
.detail-modal-fragment .muted { line-height: 1.5; }
@media (max-width: 900px) {
    .detail-view-dialog { width: calc(100vw - 22px); max-height: 96vh; }
    .detail-view-panel { max-height: 96vh; }
    .detail-modal-fragment .document-hero { grid-template-columns: 1fr; }
    .detail-modal-fragment .document-hero__total {
        min-width: 0;
        padding: 14px 0 0;
        border-left: 0;
        border-top: 1px solid var(--ui-line);
        text-align: left;
    }
    .detail-modal-fragment .detail-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
    .detail-view-header { padding: 15px 16px 13px; }
    .detail-view-body { padding: 12px; }
    .detail-view-footer { padding: 10px 12px; }
    .detail-view-footer .button { flex: 1; }
    .detail-modal-fragment .document-hero { padding: 16px !important; }
    .detail-modal-fragment .detail-key-grid { grid-template-columns: 1fr !important; }
}


/* v297 · Fase 2: detalle profesional de Anticipos, Cotizaciones y Comprobantes. */
.advance-detail-page,.quotation-detail-page,.sale-detail-page{display:grid;gap:18px}
.advance-detail-page>.document-hero,.quotation-detail-page>.document-hero,.sale-detail-page>.document-hero{margin-bottom:0}
.advance-detail-page>.detail-grid,.quotation-detail-page>.detail-grid,.sale-detail-page>.detail-grid{margin:0}
.advance-detail-page .detail-section-card,.quotation-detail-page .detail-section-card,.sale-detail-page .detail-section-card{margin:0;overflow:hidden}
.advance-detail-page .detail-section-card__head,.quotation-detail-page .detail-section-card__head,.sale-detail-page .detail-section-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border)}
.advance-detail-page .detail-section-card__head h2,.quotation-detail-page .detail-section-card__head h2,.sale-detail-page .detail-section-card__head h2{margin:0;font-size:1rem;line-height:1.25}
.advance-detail-page .detail-section-card__head p,.quotation-detail-page .detail-section-card__head p,.sale-detail-page .detail-section-card__head p{margin:4px 0 0;color:var(--ui-muted);font-size:.77rem;line-height:1.45}
.advance-detail-page .detail-section-card__body,.quotation-detail-page .detail-section-card__body,.sale-detail-page .detail-section-card__body{padding:17px 18px}
.advance-detail-page .detail-key-grid,.quotation-detail-page .detail-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.advance-detail-page .detail-key-grid>div,.quotation-detail-page .detail-key-grid>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ui-line)}
.advance-detail-page .detail-key-grid>div:nth-last-child(-n+2),.quotation-detail-page .detail-key-grid>div:nth-last-child(-n+2){border-bottom:0}
.advance-detail-page .detail-key-grid dt,.quotation-detail-page .detail-key-grid dt{color:var(--ui-muted);font-size:.76rem}
.advance-detail-page .detail-key-grid dd,.quotation-detail-page .detail-key-grid dd{margin:0;color:var(--ui-text);font-weight:720;text-align:right;overflow-wrap:anywhere}
.advance-detail-page .professional-table-wrap,.quotation-detail-page .professional-table-wrap,.sale-detail-page .professional-table-wrap{overflow:hidden}
.advance-detail-page .professional-table,.quotation-detail-page .professional-table,.sale-detail-page .professional-table{margin:0;width:100%}
.advance-detail-page .professional-table th,.quotation-detail-page .professional-table th,.sale-detail-page .professional-table th{background:color-mix(in srgb,var(--ui-panel-soft) 82%,#fff);font-size:.72rem;white-space:nowrap}
.advance-detail-page .professional-table td,.quotation-detail-page .professional-table td,.sale-detail-page .professional-table td{vertical-align:middle}
.advance-detail-page .professional-table td:last-child,.quotation-detail-page .professional-table td:last-child,.sale-detail-page .professional-table td:last-child{text-align:right;white-space:nowrap}
.quotation-detail-page .metric-grid.compact{padding:17px 18px;margin:0}
.quotation-detail-page .metric-grid.compact .metric{min-height:84px}
.sale-detail-page .sale-detail-overview>.detail-section-card{height:100%}
.sale-detail-page .sale-detail-overview .data-list{margin:0}
.sale-detail-page .electronic-panel>.section-head{margin:0;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border)}
.sale-detail-page .electronic-panel>.alert,.sale-detail-page .electronic-panel>.actions,.sale-detail-page .electronic-panel>.hash-line{margin-left:18px;margin-right:18px}
.sale-detail-page .electronic-panel>.alert:first-of-type{margin-top:16px}
.detail-modal-fragment .advance-detail-page,.detail-modal-fragment .quotation-detail-page,.detail-modal-fragment .sale-detail-page{gap:16px}
.detail-modal-fragment .advance-detail-page .document-hero,.detail-modal-fragment .quotation-detail-page .document-hero,.detail-modal-fragment .sale-detail-page .document-hero{margin-bottom:0!important}
.detail-modal-fragment .advance-detail-page .professional-table-wrap,.detail-modal-fragment .quotation-detail-page .professional-table-wrap,.detail-modal-fragment .sale-detail-page .professional-table-wrap{overflow:auto}
@media(max-width:900px){.advance-detail-page .detail-key-grid,.quotation-detail-page .detail-key-grid{grid-template-columns:1fr}.advance-detail-page .detail-key-grid>div:nth-last-child(-n+2),.quotation-detail-page .detail-key-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--ui-line)}.advance-detail-page .detail-key-grid>div:last-child,.quotation-detail-page .detail-key-grid>div:last-child{border-bottom:0}}
@media(max-width:640px){.advance-detail-page .detail-key-grid>div,.quotation-detail-page .detail-key-grid>div{grid-template-columns:1fr;gap:4px}.advance-detail-page .detail-key-grid dd,.quotation-detail-page .detail-key-grid dd{text-align:left}.advance-detail-page .detail-section-card__head,.quotation-detail-page .detail-section-card__head,.sale-detail-page .detail-section-card__head{padding:14px;flex-direction:column}.advance-detail-page .detail-section-card__body,.quotation-detail-page .detail-section-card__body,.sale-detail-page .detail-section-card__body{padding:14px}}


/* v298 · Fase 3: vistas operativas y SUNAT con detalle uniforme. */
.phase3-detail-page{display:grid;gap:18px;min-width:0}
.phase3-detail-page>.page-head,.phase3-detail-page>.document-hero,.phase3-detail-page>.detail-grid,.phase3-detail-page>.card{margin:0}
.phase3-detail-page>.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-panel);box-shadow:0 8px 24px rgba(15,23,42,.035)}
.phase3-detail-page>.page-head h1{margin:0 0 5px;font-size:1.45rem;line-height:1.18;letter-spacing:-.025em;color:var(--ui-text)}
.phase3-detail-page>.page-head p{margin:0;line-height:1.45}
.phase3-detail-page>.page-head>.actions,.phase3-detail-page>.page-head>div.actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.phase3-detail-page>.page-head .button{min-height:40px}
.phase3-detail-page>.detail-grid{gap:16px}
.phase3-detail-page .card{border-radius:15px;overflow:hidden}
.operational-detail-page>.card>h2,.electronic-detail-page>.card>h2{margin:0;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border);font-size:1rem;line-height:1.3;color:var(--ui-text)}
.operational-detail-page>.card>.section-head,.electronic-detail-page>.card>.section-head{margin:0;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border)}
.operational-detail-page .detail-grid>.card>h2,.electronic-detail-page .detail-grid>.card>h2{margin:0;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border);font-size:1rem}
.operational-detail-page .detail-grid>.card>.section-head,.electronic-detail-page .detail-grid>.card>.section-head{margin:0;padding:16px 18px 13px;border-bottom:1px solid var(--ui-border)}
.operational-detail-page .data-list,.electronic-detail-page .data-list{margin:0;padding:8px 18px 14px}
.operational-detail-page .data-list>div,.electronic-detail-page .data-list>div{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr);align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--ui-line)}
.operational-detail-page .data-list>div:last-child,.electronic-detail-page .data-list>div:last-child{border-bottom:0}
.operational-detail-page .data-list dt,.electronic-detail-page .data-list dt{color:var(--ui-muted);font-size:.76rem;line-height:1.35}
.operational-detail-page .data-list dd,.electronic-detail-page .data-list dd{margin:0;text-align:right;font-weight:680;overflow-wrap:anywhere}
.operational-detail-page .table-wrap,.electronic-detail-page .table-wrap{overflow:auto}
.operational-detail-page .table-wrap>h2,.electronic-detail-page .table-wrap>h2{position:sticky;left:0}
.operational-detail-page .table-wrap table,.electronic-detail-page .table-wrap table{width:100%;margin:0;min-width:760px;border-collapse:collapse}
.operational-detail-page .table-wrap thead th,.electronic-detail-page .table-wrap thead th{padding:11px 14px;background:color-mix(in srgb,var(--ui-panel-soft) 82%,#fff);color:var(--ui-text);font-size:.72rem;white-space:nowrap;border-bottom:1px solid var(--ui-border)}
.operational-detail-page .table-wrap tbody td,.electronic-detail-page .table-wrap tbody td{padding:12px 14px;vertical-align:middle;border-bottom:1px solid var(--ui-line)}
.operational-detail-page .table-wrap tbody tr:last-child td,.electronic-detail-page .table-wrap tbody tr:last-child td{border-bottom:0}
.operational-detail-page .table-wrap tfoot th,.operational-detail-page .table-wrap tfoot td,.electronic-detail-page .table-wrap tfoot th,.electronic-detail-page .table-wrap tfoot td{padding:10px 14px;border-top:1px solid var(--ui-border)}
.operational-detail-page .actions,.electronic-detail-page .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 18px}
.operational-detail-page .actions form,.electronic-detail-page .actions form{margin:0}
.operational-detail-page .actions .button,.electronic-detail-page .actions .button{min-height:39px}
.electronic-detail-page .electronic-panel>.alert{margin:14px 18px 0}
.electronic-detail-page .electronic-panel>.hash-line{margin:0;padding:0 18px 16px;overflow-wrap:anywhere}
.electronic-detail-page .metric-grid{margin:0;gap:12px}
.electronic-detail-page .metric{min-height:90px}
.sale-note-detail-page,.sales-order-detail-page,.return-detail-page{gap:18px}
.sale-note-detail-page>.document-hero,.sales-order-detail-page>.document-hero,.return-detail-page>.document-hero{margin-bottom:0}
.sale-note-detail-page .detail-section-card,.sales-order-detail-page .detail-section-card,.return-detail-page .detail-section-card{margin:0;overflow:hidden}
.sale-note-detail-page .detail-section-card__head,.sales-order-detail-page .detail-section-card__head,.return-detail-page .detail-section-card__head{padding:16px 18px 13px}
.sale-note-detail-page .detail-section-card__body,.sales-order-detail-page .detail-section-card__body,.return-detail-page .detail-section-card__body{padding:17px 18px}
.technical-detail-page{gap:16px}
.technical-detail-page .service-order-card,.technical-detail-page .service-order-side-card{margin:0}
.detail-modal-fragment .phase3-detail-page{gap:16px}
.detail-modal-fragment .phase3-detail-page>.page-head{padding:16px 18px}
.detail-modal-fragment .phase3-detail-page>.page-head>.actions,.detail-modal-fragment .phase3-detail-page>.page-head>div.actions,.detail-modal-fragment .phase3-detail-page>.page-head>a.button{display:none!important}
.detail-modal-fragment .phase3-detail-page form{display:none!important}
.detail-modal-fragment .phase3-detail-page .card{box-shadow:none}
.detail-modal-fragment .technical-detail-page .service-order-head__actions{display:none!important}
@media(max-width:900px){.phase3-detail-page>.page-head{flex-direction:column}.phase3-detail-page>.page-head>.actions{justify-content:flex-start}.operational-detail-page .data-list>div,.electronic-detail-page .data-list>div{grid-template-columns:1fr;gap:4px}.operational-detail-page .data-list dd,.electronic-detail-page .data-list dd{text-align:left}}
@media(max-width:760px){.phase3-detail-page{gap:14px}.phase3-detail-page>.page-head{padding:14px}.operational-detail-page .data-list,.electronic-detail-page .data-list{padding:6px 14px 12px}.operational-detail-page>.card>h2,.electronic-detail-page>.card>h2,.operational-detail-page>.card>.section-head,.electronic-detail-page>.card>.section-head{padding:14px}.operational-detail-page .actions,.electronic-detail-page .actions{padding:12px 14px}}


/* v299 · Fase 4 final: responsive, legacy details y acabado global de Vista rápida. */
.detail-view-dialog{overflow:hidden}
.detail-view-panel{min-height:0;overflow:hidden}
.detail-view-body{min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}
.detail-view-footer{position:relative;z-index:2;flex-wrap:wrap}
.detail-modal-fragment{min-width:0}
.detail-modal-fragment *{box-sizing:border-box}
.detail-modal-fragment img,.detail-modal-fragment svg{max-width:100%}
.detail-modal-fragment pre,.detail-modal-fragment code{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.detail-modal-fragment pre{overflow:auto;white-space:pre-wrap}
.detail-modal-fragment .table-responsive,.detail-modal-fragment .table-wrap,.detail-modal-fragment .professional-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.detail-modal-fragment table{max-width:100%}
.detail-modal-fragment td,.detail-modal-fragment th{overflow-wrap:anywhere}
.detail-modal-fragment .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.detail-modal-fragment .actions>.button,.detail-modal-fragment .actions>a.button,.detail-modal-fragment .actions>button{margin:0}
.detail-modal-fragment .data-list{margin:0}
.detail-modal-fragment .data-list>div{min-width:0}
.detail-modal-fragment .data-list dt,.detail-modal-fragment .data-list dd{min-width:0;overflow-wrap:anywhere}
.phase4-detail-page{display:grid;gap:18px;min-width:0}
.phase4-detail-page>.page-head,.phase4-detail-page>.card,.phase4-detail-page>.detail-grid,.phase4-detail-page>.cash-summary-grid,.phase4-detail-page>.actions{margin:0}
.phase4-detail-page .card{overflow:hidden}
.phase4-detail-page .card>h2{margin:0;padding:16px 18px 12px;border-bottom:1px solid var(--ui-border);font-size:1rem}
.phase4-detail-page .data-list{padding:6px 18px 14px}
.phase4-detail-page .data-list>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--ui-line)}
.phase4-detail-page .data-list>div:last-child{border-bottom:0}
.phase4-detail-page .data-list dd{margin:0;text-align:right;font-weight:680}
.phase4-detail-page .table-wrap>table,.phase4-detail-page .table-responsive>table{width:100%;margin:0}
.phase4-detail-page .table-wrap>table th,.phase4-detail-page .table-responsive>table th{white-space:nowrap;background:color-mix(in srgb,var(--ui-panel-soft) 84%,#fff)}
.phase4-detail-page .table-wrap>table th,.phase4-detail-page .table-wrap>table td,.phase4-detail-page .table-responsive>table th,.phase4-detail-page .table-responsive>table td{padding:11px 13px;vertical-align:middle}
.audit-detail-page .audit-json pre,.job-detail-page pre{margin:0;padding:16px 18px;background:var(--ui-panel-soft);border:0;border-radius:0;font-size:.76rem;line-height:1.55}
.cash-detail-page .cash-summary-grid{gap:12px}
.cash-detail-page .cash-summary-grid>.card{min-height:118px;padding:16px 18px}
.detail-modal-fragment .phase4-detail-page>.page-head,.detail-modal-fragment .phase4-detail-page>.actions{display:none!important}
.detail-modal-fragment .phase4-detail-page form{display:none!important}
@media(max-width:900px){
 .detail-view-dialog{width:calc(100vw - 18px);max-height:97vh}
 .detail-view-panel{max-height:97vh}
 .phase4-detail-page .detail-grid,.cash-detail-page .cash-summary-grid{grid-template-columns:1fr 1fr}
 .phase4-detail-page .data-list>div{grid-template-columns:1fr;gap:4px}
 .phase4-detail-page .data-list dd{text-align:left}
}
@media(max-width:640px){
 .detail-view-dialog{width:calc(100vw - 10px);border-radius:12px}
 .detail-view-header{padding:13px 14px 11px}
 .detail-view-header p{display:none}
 .detail-view-body{padding:10px}
 .detail-view-footer{padding:9px 10px;gap:7px}
 .detail-view-footer .button{width:100%;flex:1 1 100%;min-height:40px}
 .phase4-detail-page{gap:12px}
 .phase4-detail-page .detail-grid,.cash-detail-page .cash-summary-grid{grid-template-columns:1fr}
 .phase4-detail-page .card>h2{padding:13px 14px 10px}
 .phase4-detail-page .data-list{padding:4px 14px 10px}
 .detail-modal-fragment .professional-table{min-width:640px}
}


/* v323 · Apariencia Azul comercial inspirada en dashboard SaaS */
html[data-theme="commerce-blue"] {
    --ui-primary: #0A7CF8;
    --ui-primary-strong: #063177;
    --ui-primary-soft: #EAF4FF;
    --ui-accent: #40D3EB;
    --ui-bg: #F1F7FE;
    --light-color: #F1F7FE;
    --ui-panel: #FFFFFF;
    --ui-panel-soft: #F8FBFF;
    --ui-border: #DDEAF8;
    --ui-border-strong: #C7DDF3;
    --ui-text: #0E2450;
    --ui-muted: #6B7E9F;
    --shell-bg: #F1F7FE;
    --shell-primary: #0A7CF8;
    --shell-primary-strong: #063177;
    --pos-primary: #0A7CF8;
    --pos-primary-hover: #0969D4;
    --pos-accent: #40D3EB;
}

html[data-theme="commerce-blue"] .sidebar {
    --sidebar-text: rgba(255,255,255,.95);
    --sidebar-muted: rgba(218,235,255,.72);
    --sidebar-active: #FFFFFF;
    color: #fff;
    background:
        radial-gradient(circle at 16% 8%, rgba(64,211,235,.18), transparent 28%),
        linear-gradient(165deg, #082E70 0%, #063177 42%, #0757B6 100%);
    border-right-color: rgba(255,255,255,.10);
    box-shadow: 12px 0 34px rgba(6,49,119,.18);
}
html[data-theme="commerce-blue"] .sidebar-brand,
html[data-theme="commerce-blue"] .sidebar-brand.sidebar-brand--logo {
    background: transparent;
    border-bottom-color: rgba(255,255,255,.13);
}
html[data-theme="commerce-blue"] .sidebar-brand.sidebar-brand--logo .brand-logo-shell {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
html[data-theme="commerce-blue"] .sidebar-brand.sidebar-brand--logo .brand-logo-shell img { filter: brightness(0) invert(1); }
html[data-theme="commerce-blue"] .brand-wordmark { color:#fff; }
html[data-theme="commerce-blue"] .sidebar-category { color:rgba(191,221,255,.66); }
html[data-theme="commerce-blue"] .sidebar-direct-link,
html[data-theme="commerce-blue"] .sidebar-group > summary { color:rgba(255,255,255,.88); }
html[data-theme="commerce-blue"] .sidebar-direct-link:hover,
html[data-theme="commerce-blue"] .sidebar-group > summary:hover,
html[data-theme="commerce-blue"] .sidebar-group.is-current > summary {
    color:#fff;
    background:rgba(255,255,255,.08);
}
html[data-theme="commerce-blue"] .sidebar-direct-link.is-active {
    color:#fff;
    background:linear-gradient(90deg,#0A7CF8,#19BDF2);
    box-shadow:0 8px 22px rgba(10,124,248,.30), inset 3px 0 0 rgba(255,255,255,.9);
}
html[data-theme="commerce-blue"] .sidebar-submenu { border-left-color:rgba(255,255,255,.20); }
html[data-theme="commerce-blue"] .sidebar-submenu-link { color:rgba(227,240,255,.76); }
html[data-theme="commerce-blue"] .sidebar-submenu-link:hover,
html[data-theme="commerce-blue"] .sidebar-submenu-link.is-active { color:#fff;background:rgba(10,124,248,.28); }
html[data-theme="commerce-blue"] .submenu-dot { background:#79D8F2; }
html[data-theme="commerce-blue"] .sidebar-chevron { color:rgba(255,255,255,.72); }
html[data-theme="commerce-blue"] .app-content .button:not(.secondary):not(.danger),
html[data-theme="commerce-blue"] .app-modal .button:not(.secondary):not(.danger) {
    background:linear-gradient(90deg,#0A7CF8,#20BDF0);
    border-color:transparent;
    box-shadow:0 8px 18px rgba(10,124,248,.18);
}
html[data-theme="commerce-blue"] .app-topbar {
    border-bottom-color:#E2ECF8;
    box-shadow:0 5px 18px rgba(6,49,119,.045);
}
html[data-theme="commerce-blue"] .app-content .card,
html[data-theme="commerce-blue"] .app-content .commercial-table-card {
    border-color:#E0EAF6;
    box-shadow:0 8px 26px rgba(6,49,119,.055);
}
.theme-card[data-theme-code="commerce-blue"] .theme-preview-sidebar {
    background:linear-gradient(165deg,#082E70,#0757B6 66%,#0A7CF8);
    border-right-color:rgba(255,255,255,.14);
}
.theme-card[data-theme-code="commerce-blue"] .theme-preview-sidebar i { background:rgba(255,255,255,.58); }
.theme-card[data-theme-code="commerce-blue"] .theme-preview-sidebar i:first-child { background:#40D3EB; }


/* v324 · Preferencia de accesos directos del Panel principal */
.appearance-behavior-card {
    margin-top: 22px;
    padding: 20px 22px;
    border: 1px solid var(--border, #dbe4f0);
    border-radius: 16px;
    background: var(--surface, #fff);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.appearance-behavior-copy { min-width: 0; }
.appearance-behavior-copy h3 { margin: 4px 0 6px; font-size: 1rem; }
.appearance-behavior-copy p { margin: 0; max-width: 760px; }
.appearance-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; white-space: nowrap; font-weight: 700; }
.appearance-switch input { position: absolute; opacity: 0; pointer-events: none; }
.appearance-switch__track { width: 46px; height: 26px; border-radius: 999px; padding: 3px; background: #cbd5e1; transition: .18s ease; box-sizing: border-box; }
.appearance-switch__track span { display: block; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.18); transition: transform .18s ease; }
.appearance-switch input:checked + .appearance-switch__track { background: var(--primary, #2563eb); }
.appearance-switch input:checked + .appearance-switch__track span { transform: translateX(20px); }
.appearance-switch input:focus-visible + .appearance-switch__track { outline: 3px solid color-mix(in srgb, var(--primary, #2563eb) 25%, transparent); outline-offset: 2px; }
@media (max-width: 760px) {
    .appearance-behavior-card { align-items: flex-start; flex-direction: column; }
}
