/* Shared visual system for the operational portal. The sign-in experience is intentionally untouched. */
.pagina-sistema {
    --ui-ink: #182b49;
    --ui-muted: #64748b;
    --ui-line: #dce5f0;
    --ui-canvas: #f3f6fb;
    --ui-surface: #fff;
    --ui-primary: #1f4788;
    --ui-primary-dark: #15366d;
    --ui-primary-soft: #edf3fc;
    --ui-accent: #168b83;
    background: var(--ui-canvas);
    color: var(--ui-ink);
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.pagina-sistema .portal-ancho { max-width: 1540px; }
.pagina-sistema .portal-contenido { padding-top: 22px; padding-bottom: 40px; }
.pagina-sistema h1,
.pagina-sistema h2,
.pagina-sistema h3,
.pagina-sistema h4 { color: var(--ui-ink); letter-spacing: -.025em; }
.pagina-sistema h1 { font-size: clamp(1.75rem, 2.4vw, 2.25rem); font-weight: 750; margin-bottom: .45rem; }
.pagina-sistema h2 { font-weight: 700; }
.pagina-sistema .text-muted { color: var(--ui-muted) !important; }

/* Keep the modules easy to scan even with the full set of links visible. */
.pagina-sistema .cabecera-institucional {
    position: relative;
    z-index: 20;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--ui-line);
    box-shadow: 0 4px 18px rgba(25,48,83,.045);
    padding: 10px 0 0;
}
.pagina-sistema .cabecera-institucional > .container-fluid { flex-wrap: wrap; }
.pagina-sistema .marca-institucional { min-height: 54px; }
.pagina-sistema .marca-institucional img { width: 44px; height: 44px; border-radius: 50%; }
.pagina-sistema .marca-institucional strong { color: var(--ui-ink); font-size: .96rem; }
.pagina-sistema .marca-institucional small { color: var(--ui-muted); }
.pagina-sistema .cabecera-institucional .navbar-collapse {
    flex-basis: 100%;
    border-top: 1px solid #edf1f6;
    margin-top: 8px;
    padding: 7px 0 9px;
}
.pagina-sistema .navegacion-modulos { gap: 4px; }
.pagina-sistema .navegacion-modulos .nav-link {
    position: relative;
    padding: 9px 12px !important;
    border-radius: 9px;
    color: #53647b;
    font-size: .84rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color .16s ease, background-color .16s ease;
}
.pagina-sistema .navegacion-modulos .nav-link:hover { background: #f1f5fb; color: var(--ui-primary); }
.pagina-sistema .navegacion-modulos .nav-link.active {
    color: var(--ui-primary-dark);
    background: var(--ui-primary-soft);
    box-shadow: inset 0 0 0 1px #dce7f7;
}
.pagina-sistema .cuenta-chip { color: var(--ui-ink) !important; }
.pagina-sistema .cuenta-avatar { background: #eaf1fb; color: var(--ui-primary); }
.pagina-sistema .salir-boton { border-radius: 9px; font-weight: 600; }

/* Consistent actions, including the compact controls used in dense tables. */
.pagina-sistema .btn {
    min-height: 40px;
    padding: .58rem .95rem;
    border-radius: 9px;
    font-size: .86rem;
    font-weight: 650;
    letter-spacing: .002em;
    box-shadow: none;
    transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease;
}
.pagina-sistema .btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(25,55,96,.10); }
.pagina-sistema .btn:active { transform: translateY(0); }
.pagina-sistema .btn-sm { min-height: 34px; padding: .4rem .7rem; border-radius: 8px; font-size: .78rem; }
.pagina-sistema .btn-primary {
    --bs-btn-bg: var(--ui-primary);
    --bs-btn-border-color: var(--ui-primary);
    --bs-btn-hover-bg: var(--ui-primary-dark);
    --bs-btn-hover-border-color: var(--ui-primary-dark);
    --bs-btn-active-bg: var(--ui-primary-dark);
    --bs-btn-active-border-color: var(--ui-primary-dark);
}
.pagina-sistema .btn-outline-primary { --bs-btn-color: var(--ui-primary); --bs-btn-border-color: #c9d7eb; }
.pagina-sistema .btn-outline-secondary { --bs-btn-color: #53647b; --bs-btn-border-color: #d3dce8; }
.pagina-sistema .btn:disabled { transform: none; box-shadow: none; }

/* Clearer form hierarchy and comfortable fields without changing any field behavior. */
.pagina-sistema .form-label { color: #344761; font-size: .84rem; font-weight: 650; margin-bottom: .42rem; }
.pagina-sistema .form-control,
.pagina-sistema .form-select {
    min-height: 43px;
    border-color: #d5dfeb;
    border-radius: 9px;
    background-color: #fff;
    color: var(--ui-ink);
    font-size: .9rem;
    padding: .62rem .82rem;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.pagina-sistema textarea.form-control { min-height: 96px; }
.pagina-sistema .form-control::placeholder { color: #93a0b2; }
.pagina-sistema .form-control:focus,
.pagina-sistema .form-select:focus { border-color: #83a6d8; box-shadow: 0 0 0 3px rgba(45,102,176,.12); }
.pagina-sistema .input-group-text { border-color: #d5dfeb; background: #f5f8fc; color: #50627a; font-size: .86rem; }
.pagina-sistema .form-text,
.pagina-sistema .form-check + .form-text { color: #718198; font-size: .77rem; line-height: 1.45; }
.pagina-sistema .form-check-input { border-color: #b9c7d8; }
.pagina-sistema .form-check-input:checked { background-color: var(--ui-primary); border-color: var(--ui-primary); }
.pagina-sistema .validation-summary-errors,
.pagina-sistema .field-validation-error { color: #a52c35; }
.pagina-sistema .validation-summary-errors { padding: .85rem 1rem; margin-bottom: 1rem; border: 1px solid #f0c8cb; border-radius: 10px; background: #fff5f5; }
.pagina-sistema .validation-summary-errors ul { margin: 0; padding-left: 1.25rem; }

/* Cards and sections use the same surface, border, and spacing rhythm. */
.pagina-sistema .card {
    border: 1px solid var(--ui-line);
    border-radius: 15px;
    background: var(--ui-surface);
    box-shadow: 0 5px 20px rgba(28,55,90,.045) !important;
}
.pagina-sistema .card-header { padding: 1rem 1.25rem; border-bottom-color: #e8edf4; background: #fbfcfe; }
.pagina-sistema .card-body { padding: 1.25rem; }
.pagina-sistema .card-footer { border-top-color: #e8edf4; background: #fbfcfe; }
.pagina-sistema .alert { border-radius: 11px; padding: .9rem 1.05rem; font-size: .86rem; }
.pagina-sistema .alert-success { border-color: #cde8da; background: #eff9f4; color: #28694e; }
.pagina-sistema .alert-danger { border-color: #f1cdd0; background: #fff4f4; color: #8f2e36; }
.pagina-sistema .alert-warning { border-color: #f1dfad; background: #fff9e9; color: #745d22; }
.pagina-sistema .alert-info { border-color: #d2e2f4; background: #f0f6fd; color: #315680; }

/* Tables remain data-dense, but gain readable headers, hover feedback, and cleaner rows. */
.pagina-sistema .table {
    --bs-table-color: var(--ui-ink);
    --bs-table-border-color: #e7edf4;
    font-size: .84rem;
    margin-bottom: 0;
}
.pagina-sistema .table > :not(caption) > * > * { padding: .78rem .78rem; }
.pagina-sistema .table thead th {
    background: #f5f8fc;
    color: #52647d;
    border-bottom: 1px solid #dfe7f0;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .015em;
    vertical-align: middle;
}
.pagina-sistema .table tbody tr { transition: background-color .12s ease; }
.pagina-sistema .table tbody tr:hover { --bs-table-bg: #f5f9ff; }
.pagina-sistema .table-responsive { border-radius: 0 0 14px 14px; }
.pagina-sistema .table .text-nowrap { white-space: nowrap; }
.pagina-sistema .badge { border-radius: 999px; padding: .42em .72em; font-size: .72rem; font-weight: 700; }
.pagina-sistema .badge.text-bg-success { background: #e6f5ec !important; color: #19734a !important; }
.pagina-sistema .badge.text-bg-warning { background: #fff3d5 !important; color: #805d0b !important; }
.pagina-sistema .badge.text-bg-danger { background: #fde9e9 !important; color: #a8323a !important; }
.pagina-sistema .badge.text-bg-info { background: #e7f2fc !important; color: #285d90 !important; }

/* Tabs, filters, and dashboards read as related parts of the same application. */
.pagina-sistema .nav-pills { gap: .45rem; }
.pagina-sistema .nav-pills .nav-link { border-radius: 9px; padding: .6rem .9rem; font-weight: 650; }
.pagina-sistema .nav-pills .nav-link:not(.active) { color: #52647d; background: #fff; border: 1px solid var(--ui-line); }
.pagina-sistema .nav-pills .nav-link.active { background: var(--ui-primary); color: #fff; }
.pagina-sistema .simpref-panel-tile { border-color: var(--ui-line); border-radius: 13px; padding: 1.1rem; }
.pagina-sistema .simpref-panel-tile strong { color: var(--ui-primary); font-size: 1.8rem; }
.pagina-sistema .simpref-chart-wrap { border-radius: 13px; }
.pagina-sistema .simpref-analytics-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin: 4px 2px 17px; }
.pagina-sistema .simpref-eyebrow { display:block; margin-bottom:5px; color:#68809f; font-size:.68rem; font-weight:750; letter-spacing:.11em; }
.pagina-sistema .simpref-data-note { display:inline-flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid #e5edf4; border-radius:999px; background:#fff; color:#718096; font-size:.72rem; white-space:nowrap; }
.pagina-sistema .simpref-data-note i { width:7px; height:7px; border-radius:50%; background:#168b83; box-shadow:0 0 0 3px #e2f4f1; }
.pagina-sistema .simpref-chart-card { overflow:hidden; height:100%; padding:18px 21px 12px; border:1px solid #e4eaf2; border-radius:16px; background:linear-gradient(145deg,#fff 0%,#fbfcfe 100%); box-shadow:0 5px 18px rgba(27,52,88,.045); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.pagina-sistema .simpref-chart-card:hover { transform:translateY(-2px); border-color:#d1ddec; box-shadow:0 10px 26px rgba(27,52,88,.075); }
.pagina-sistema .simpref-chart-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.pagina-sistema .simpref-chart-title h4 { margin:0 0 3px; color:#213753; font-size:.97rem; font-weight:700; letter-spacing:-.01em; }
.pagina-sistema .simpref-chart-title p { margin:0; color:#8290a3; font-size:.75rem; }
.pagina-sistema .simpref-chart-icon { display:grid; width:34px; height:34px; flex:none; place-items:center; border-radius:11px; background:#edf3fc; color:#315fa9; font-size:1.05rem; font-weight:700; }
.pagina-sistema .simpref-chart-icon-teal { background:#e7f5f2; color:#168b83; }
.pagina-sistema .simpref-chart-icon-violet { background:#f0edfa; color:#7866b7; }
.pagina-sistema .simpref-chart-icon-amber { background:#fff4e6; color:#c77b2a; }
.pagina-sistema .simpref-chart-wrap { min-height:0; margin-top:8px; border-radius:10px; }
.pagina-sistema .simpref-chart-wrap canvas { height:300px; }
.pagina-sistema .simpref-chart-compact canvas { height:200px; }
.pagina-sistema .simpref-kpi { position:relative; overflow:hidden; border-radius:13px !important; box-shadow:0 4px 14px rgba(27,52,88,.045) !important; }
.pagina-sistema .simpref-kpi::before { position:absolute; top:0; left:14px; width:25px; height:3px; border-radius:0 0 4px 4px; background:#739de0; content:""; }
.pagina-sistema .simpref-kpi-rose::before { background:#e78091; }
.pagina-sistema .simpref-kpi-teal::before { background:#35a996; }
.pagina-sistema .simpref-kpi-violet::before { background:#8a7bc7; }
.pagina-sistema .simpref-kpi-amber::before { background:#e8a44e; }
.pagina-sistema .simpref-kpi .card-body { padding:1rem 1.05rem .9rem; }
.pagina-sistema .simpref-kpi .display-6 { margin:.18rem 0 .12rem; color:#203650; font-size:1.75rem; line-height:1.1; }
.pagina-sistema .simpref-kpi .small { font-size:.73rem; }
.pagina-sistema .simpref-budget-card { height:100%; padding:20px 22px 15px; border:1px solid #e4eaf2; border-radius:17px; background:linear-gradient(145deg,#fff 0%,#fbfcfe 100%); box-shadow:0 5px 18px rgba(27,52,88,.045); }
.pagina-sistema .simpref-budget-card h3 { margin:0 0 7px; color:#203650; font-size:.95rem; font-weight:750; }
.pagina-sistema .simpref-budget-assigned { padding:7px 10px; border:1px solid #e2e9f1; border-radius:8px; color:#708097; background:#f8fafd; font-size:.75rem; white-space:nowrap; }
.pagina-sistema .simpref-budget-balance { margin:7px 0 14px; color:#203650; font-size:1.8rem; font-weight:760; letter-spacing:-.035em; line-height:1.1; }
.pagina-sistema .simpref-budget-card .progress { height:8px; border-radius:999px; background:#eaf0f6; }
.pagina-sistema .simpref-budget-card .progress-bar { border-radius:999px; background:linear-gradient(90deg,#50b99c,#42a98e); }
.pagina-sistema .simpref-budget-card .small { color:#728198; font-size:.72rem; }
.pagina-sistema .simpref-budget-card .small strong { color:#bd7b32; }
.pagina-sistema .simpref-funding-summary .card-body { padding:1.2rem; }
.pagina-sistema .simpref-funding-summary .table thead th { white-space:nowrap; }
.pagina-sistema .simpref-donut-wrap canvas { height:255px; }
.pagina-sistema .simpref-chart-footnote { margin:0 2px 3px; color:#8995a5; font-size:.69rem; }
.simpref-chart-tooltip { position:fixed; z-index:1080; pointer-events:none; min-width:145px; max-width:min(280px,calc(100vw - 24px)); padding:.65rem .78rem; border:1px solid rgba(255,255,255,.14); border-radius:11px; background:rgba(24,43,73,.96); color:#fff; box-shadow:0 10px 30px rgba(17,35,62,.24); font-size:.75rem; line-height:1.45; backdrop-filter:blur(8px); }
.simpref-chart-tooltip[hidden] { display:none; }
.simpref-chart-tooltip-title { display:block; margin-bottom:.25rem; color:#fff; font-size:.78rem; font-weight:750; }
.simpref-chart-tooltip-row { display:flex; align-items:center; gap:.42rem; color:#e2eaf5; }
.simpref-chart-tooltip-row i { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; }
.pagina-sistema canvas[role="img"] { outline:none; }
.pagina-sistema .pago-pacientes-resumen { min-width:350px; max-width:560px; }
.pagina-sistema .pago-paciente-resumen { padding:.7rem .8rem; border:1px solid #e7edf5; border-radius:11px; background:#fbfcfe; }
.pagina-sistema .pago-paciente-resumen + .pago-paciente-resumen { margin-top:.45rem; }
.pagina-sistema .pago-paciente-resumen > .d-flex > strong { color:#203650; font-size:.88rem; }
.pagina-sistema .pago-paciente-resumen .badge { color:#52647c !important; font-size:.68rem; font-weight:650; }
.pagina-sistema .pago-paciente-resumen .small { font-size:.72rem; }
.pagina-sistema .pago-sesiones-resumen { display:flex; flex-wrap:wrap; gap:.35rem; }
.pagina-sistema .pago-sesion-chip { display:inline-flex; align-items:center; padding:.28rem .5rem; border-radius:7px; background:#edf3fc; color:#315589; font-size:.68rem; font-weight:600; }
.pagina-sistema .pie-institucional { margin-top: auto; padding: 16px 0; background: #fff; border-top-color: var(--ui-line); }

@media (min-width: 1200px) {
    .pagina-sistema .cabecera-institucional .navbar-toggler { display: none; }
    .pagina-sistema .cabecera-institucional .navbar-collapse { display: flex !important; }
}
@media (max-width: 1199.98px) {
    .pagina-sistema .cabecera-institucional .navbar-collapse { max-height: calc(100vh - 90px); overflow-y: auto; }
    .pagina-sistema .navegacion-modulos { align-items: stretch; }
    .pagina-sistema .navegacion-modulos .nav-link { padding: 10px 12px !important; }
}
@media (max-width: 767.98px) {
    .pagina-sistema .portal-contenido { padding-top: 17px; padding-bottom: 26px; }
    .pagina-sistema .card-body { padding: 1rem; }
    .pagina-sistema .card-header { padding: .9rem 1rem; }
    .pagina-sistema .table > :not(caption) > * > * { padding: .68rem .62rem; }
    .pagina-sistema .btn { min-height: 39px; }
    .pagina-sistema .simpref-analytics-heading { align-items:flex-start; flex-direction:column; }
    .pagina-sistema .simpref-chart-card { padding:15px 13px 10px; }
    .pagina-sistema .simpref-chart-wrap canvas { height:260px; }
    .pagina-sistema .simpref-donut-wrap canvas { height:255px; }
}

/* Compacta la cabecera de escritorio y deja el menú al lado de la marca. */
@media (min-width: 1200px) {
    .pagina-sistema .cabecera-institucional { padding: 5px 0; }
    .pagina-sistema .cabecera-institucional > .container-fluid { flex-wrap: nowrap; }
    .pagina-sistema .marca-institucional { flex: 0 0 auto; min-height: 42px; margin-right: 10px; gap: 8px; }
    .pagina-sistema .marca-institucional img { width: 36px; height: 36px; }
    .pagina-sistema .marca-institucional strong { font-size: .84rem; line-height: 1.2; }
    .pagina-sistema .marca-institucional small { font-size: .59rem; }
    .pagina-sistema .cabecera-institucional .navbar-collapse {
        flex: 1 1 auto;
        flex-basis: auto;
        min-width: 0;
        gap: 6px;
        margin: 0;
        padding: 0;
        border-top: 0;
    }
    .pagina-sistema .navegacion-modulos { flex-wrap: nowrap; align-items: center; gap: 1px; }
    .pagina-sistema .navegacion-modulos .nav-link { padding: 7px 7px !important; font-size: .74rem; }
    .pagina-sistema .cuenta-nav { flex: 0 0 auto; flex-direction: row; align-items: center; gap: 5px; padding: 0; }
    .pagina-sistema .cuenta-nav .nav-link { padding: 5px 6px; font-size: .75rem; }
    .pagina-sistema .cuenta-avatar { width: 27px; height: 27px; }
    .pagina-sistema .salir-boton { padding: 5px 8px; font-size: .72rem; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    .pagina-sistema *, .pagina-sistema *::before, .pagina-sistema *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.simpref-budget-pages{overflow-x:auto;flex-wrap:nowrap;padding:2px 1px 7px;scrollbar-width:thin}.simpref-budget-pages .nav-link{white-space:nowrap;font-size:.84rem}.simpref-budget-kpis .card-body{min-width:0}.simpref-budget-kpis .h4{font-size:clamp(1rem,1.3vw,1.3rem);overflow-wrap:anywhere}.simpref-budget-monthly{min-width:780px}.simpref-budget-breakdown{min-width:1120px}.simpref-budget-breakdown th:first-child{min-width:250px;max-width:420px;white-space:normal}.simpref-budget-breakdown td,.simpref-budget-breakdown th:not(:first-child){white-space:nowrap}.simpref-budget-monthly .progress{height:.55rem;min-width:78px}.simpref-budget-monthly small{font-size:.72rem;color:#60718a}
.simpref-pliego-table{min-width:900px;font-size:.82rem}.simpref-pliego-table th:first-child{min-width:235px}.simpref-pliego-table td,.simpref-pliego-table th:not(:first-child){white-space:nowrap}.simpref-pliego-child th{padding-left:1.5rem;color:#405472}.simpref-pliego-total th,.simpref-pliego-total td{font-weight:700;border-top:2px solid #cbd7e6;background:#f7f9fc}
.simpref-ue-tree th:first-child{min-width:355px}.simpref-ue-tree tr[data-tree-row] th{font-weight:500}.simpref-ue-tree tr.simpref-ue-generica th{font-weight:700}.simpref-ue-tree-label{display:flex;align-items:center;gap:.3rem;min-height:1.65rem}.simpref-ue-toggle,.simpref-ue-toggle-placeholder{flex:0 0 1.15rem;width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center}.simpref-ue-toggle{border:1px solid #b8c6d8;border-radius:3px;background:#fff;color:#304765;font-size:.85rem;line-height:1;padding:0}.simpref-ue-toggle:hover{background:#edf3fa;border-color:#7891b1}.simpref-ue-tree [hidden]{display:none!important}
.simpref-source-tree th:first-child{min-width:300px}.simpref-source-parent th{font-weight:700}.simpref-source-child th{color:#405472;font-weight:500}.simpref-source-tree [hidden]{display:none!important}.simpref-source-donut-layout{display:flex;align-items:center;justify-content:center;gap:1.6rem;min-height:255px}.simpref-source-donut{position:relative;flex:0 0 210px;width:210px;height:210px}.simpref-source-donut svg{width:100%;height:100%;overflow:visible}.simpref-source-donut circle{transition:opacity .15s ease}.simpref-source-donut circle:hover{opacity:.78}.simpref-source-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.simpref-source-donut-center strong{font-size:1.05rem}.simpref-source-donut-center small{color:#718096}.simpref-source-legend{display:grid;gap:.65rem;min-width:220px}.simpref-source-legend-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:.6rem;font-size:.82rem}.simpref-source-legend-item small{display:block;color:#718096;font-size:.72rem}.simpref-source-dot{width:10px;height:10px;border-radius:50%}.simpref-source-ranking{display:flex;gap:.7rem;height:255px;padding:10px 12px 0 0}.simpref-source-axis{display:flex;flex:0 0 42px;flex-direction:column;justify-content:space-between;padding:4px 0 29px;color:#728096;font-size:.68rem}.simpref-source-bars{position:relative;display:flex;flex:1;align-items:flex-end;justify-content:space-evenly;border-bottom:1px solid #ccd7e5;background:repeating-linear-gradient(to top,transparent 0,transparent 86px,#e8edf3 87px,#e8edf3 88px);padding:0 18px 28px}.simpref-source-bar-column{position:relative;display:flex;width:min(24%,94px);height:100%;flex-direction:column;align-items:center;justify-content:flex-end}.simpref-source-bar-value{position:absolute;bottom:calc(var(--bar-height, 0px) + 31px);z-index:1;border-radius:4px;background:#fff;padding:2px 6px;color:#075b50;font-size:.76rem;font-weight:700;transform:translateY(-100%)}.simpref-source-bar{width:72%;min-height:2px;max-height:100%;border-radius:4px 4px 0 0}.simpref-source-bar-column strong{position:absolute;bottom:-24px;color:#405472;font-size:.74rem}.simpref-source-ranking{--bar-height:0px}.simpref-source-bar-column .simpref-source-bar-value{bottom:calc(var(--bar-height, 0px) + 35px)}
.simpref-budget-tree{min-width:1080px}.simpref-budget-tree th:first-child{min-width:360px}.simpref-budget-tree tr[data-tree-row] th{font-weight:500}.simpref-budget-tree .simpref-budget-tree-root th{font-weight:700}.simpref-budget-tree [hidden]{display:none!important}
.simpref-budget-area-chart{padding:1rem .75rem .5rem}.simpref-budget-area-chart svg{display:block;width:100%;height:220px;overflow:visible}.simpref-budget-chart-labels{display:flex;justify-content:space-around;gap:.5rem;color:#65758b;font-size:.7rem}.simpref-budget-chart-labels span{max-width:28%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.simpref-budget-rank{display:grid;gap:.9rem;padding:1.25rem .75rem}.simpref-budget-rank-row{display:grid;grid-template-columns:minmax(110px, 1fr) minmax(100px, 2fr) 52px;align-items:center;gap:.65rem;font-size:.78rem}.simpref-budget-rank-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#405472}.simpref-budget-rank-row .progress{height:12px;background:#e9edf2}.simpref-budget-rank-row .progress-bar{background:#087024;border-radius:0}.simpref-budget-rank-row strong{text-align:right;color:#075b50}.simpref-month-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:.5rem;min-height:245px;padding:1.7rem .7rem 1.8rem;border-bottom:1px solid #ccd7e5;background:repeating-linear-gradient(to top,transparent 0,transparent 58px,#e8edf3 59px,#e8edf3 60px)}.simpref-month-bar{position:relative;display:flex;flex:1;min-width:42px;height:190px;align-items:center;justify-content:flex-end;flex-direction:column}.simpref-month-bar>span{width:min(68%,70px);min-height:3px;background:#f18b00;border-radius:4px 4px 0 0;transition:filter .15s}.simpref-month-bar:hover>span{filter:brightness(.92)}.simpref-month-bar strong{position:absolute;bottom:calc(var(--bar-height, 0px) + 22px);top:auto;transform:translateY(-100%);padding:3px 7px;border-radius:4px;background:#075b50;color:white;font-size:.68rem;white-space:nowrap}.simpref-month-bar small{position:absolute;top:calc(100% + .45rem);color:#405472;font-size:.68rem;text-transform:uppercase}.simpref-product-table{min-width:1450px}.simpref-product-table th:first-child{min-width:440px;max-width:580px;white-space:normal}.simpref-balance-matrix{min-width:1330px}.simpref-balance-matrix thead tr:first-child th{background:#eef3f8;border-bottom:1px solid #cbd7e6}.simpref-balance-matrix th:first-child{min-width:340px;max-width:450px;white-space:normal}.simpref-balance-matrix td:nth-child(4n),.simpref-balance-matrix th:nth-child(4n){border-right:1px solid #cbd7e6}
.simpref-balance-matrix{min-width:1320px}.simpref-balance-matrix thead tr:first-child th{background:#eef3f8;border-bottom:1px solid #cbd7e6}.simpref-balance-matrix th:first-child{min-width:310px;max-width:440px;white-space:normal}.simpref-balance-matrix td:nth-child(4n),.simpref-balance-matrix th:nth-child(4n){border-right:1px solid #cbd7e6}.simpref-balance-matrix tr.simpref-balance-parent th{font-weight:600}.simpref-balance-matrix tr.simpref-balance-child th{font-weight:400;color:#53657d}.simpref-balance-cell{background:linear-gradient(90deg,#ffc107 0 var(--fill),transparent var(--fill) 100%);background-clip:padding-box}.simpref-balance-cell:hover{filter:saturate(1.2)}
.simpref-total-dyt-tree{min-width:1050px}.simpref-total-dyt-tree th:first-child{min-width:360px}.simpref-total-dyt-tree tr[data-tree-row] th{font-weight:500}.simpref-total-dyt-tree .simpref-total-dyt-root th{font-weight:700}.simpref-total-dyt-tree [hidden]{display:none!important}.simpref-dyt-metrics{display:flex;align-items:flex-end;justify-content:space-evenly;gap:.75rem;height:220px;padding:1rem 1rem 2rem;border-bottom:1px solid #cbd7e6;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#e8edf3 49px,#e8edf3 50px)}.simpref-dyt-metric{position:relative;display:flex;flex:1;height:100%;align-items:center;justify-content:flex-end;flex-direction:column}.simpref-dyt-metric>span{width:min(60%,52px);min-height:2px;border-radius:4px 4px 0 0}.simpref-dyt-metric strong{position:absolute;bottom:calc(var(--height,0px) + 22px);margin-bottom:0;padding:3px 7px;border-radius:5px;background:#06455d;color:#fff;font-size:.78rem;transform:translateY(-100%);white-space:nowrap}.simpref-dyt-metric small{position:absolute;top:calc(100% + .45rem);max-width:120px;color:#405472;font-size:.68rem;text-align:center}.simpref-dyt-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 1rem;padding:.6rem;color:#405472;font-size:.72rem}.simpref-dyt-legend span{display:inline-flex;align-items:center;gap:.35rem}.simpref-dyt-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}.simpref-dyt-month-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:.35rem;min-height:205px;padding:1rem .5rem 1.6rem;border-bottom:1px solid #cbd7e6;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#e8edf3 49px,#e8edf3 50px)}.simpref-dyt-month{position:relative;display:flex;flex:1;min-width:28px;height:155px;align-items:center;justify-content:flex-end;flex-direction:column;gap:2px}.simpref-dyt-month span{width:min(42%,28px);min-height:2px}.simpref-dyt-cert{background:#009fa6}.simpref-dyt-dev{background:#063f5b}.simpref-dyt-month strong{position:absolute;top:0;max-width:88px;padding:2px 4px;border-radius:4px;background:#075b50;color:#fff;font-size:.58rem;white-space:nowrap;transform:translateY(-100%)}.simpref-dyt-month small{position:absolute;top:calc(100% + .4rem);color:#405472;font-size:.62rem;text-transform:uppercase}.simpref-dyt-pivot{font-size:.78rem}.simpref-dyt-pivot th{background:#f0f4f8;white-space:nowrap}.simpref-dyt-gauge{position:relative;width:min(100%,250px);margin:.5rem auto 0}.simpref-dyt-gauge svg{display:block;width:100%}.simpref-dyt-gauge>strong{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);color:#06455d;font-size:2rem;font-weight:600}.simpref-dyt-gauge .d-flex{position:absolute;right:0;bottom:-.4rem;left:0}

/* Presupuesto: identidad visual compartida por todos los submódulos. */
.pagina-sistema .simpref-presupuesto { --budget-ink:#183450; --budget-muted:#71829a; --budget-line:#e1e9f2; color:var(--budget-ink); }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child { position:relative; overflow:hidden; align-items:center!important; min-height:132px; margin:0 0 18px!important; padding:25px 28px; border:1px solid #dce8f1; border-radius:20px; background:radial-gradient(ellipse at 88% 10%,rgba(120,213,208,.26),transparent 38%),linear-gradient(116deg,#fff 0%,#f5f9fd 60%,#eef8f8 100%); box-shadow:0 10px 28px rgba(23,61,96,.07); }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:linear-gradient(90deg,#1d4e89,#0c9b96,#8bc8bc); content:""; }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child h2 { color:#173b60; font-size:clamp(1.35rem,2vw,1.9rem); font-weight:780; letter-spacing:-.045em; }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child p { color:#697f98!important; font-size:.9rem; }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child > div:last-child { gap:10px!important; }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child > div:last-child > span { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid #dce8ef; border-radius:999px; background:rgba(255,255,255,.86); color:#55718a!important; font-size:.75rem; font-weight:650; white-space:nowrap; }
.pagina-sistema .simpref-presupuesto > .d-flex:first-child > div:last-child > span::before { width:7px; height:7px; border-radius:50%; background:#11a397; box-shadow:0 0 0 3px #e0f5f0; content:""; }
.pagina-sistema .simpref-presupuesto #actualizar-presupuesto-form .btn { min-height:38px; padding:.52rem .95rem; border:0; border-radius:10px; background:linear-gradient(135deg,#1c4f88,#087f88); color:#fff; font-weight:700; box-shadow:0 5px 12px rgba(16,91,127,.18); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.pagina-sistema .simpref-presupuesto #actualizar-presupuesto-form .btn:hover { transform:translateY(-1px); filter:brightness(1.06); box-shadow:0 8px 16px rgba(16,91,127,.24); }
.pagina-sistema .simpref-presupuesto #actualizar-presupuesto-form .btn:focus-visible { outline:3px solid rgba(16,150,155,.3); outline-offset:2px; }
.pagina-sistema .simpref-presupuesto .simpref-budget-pages { gap:7px!important; margin-bottom:18px!important; padding:4px 2px 10px; scrollbar-color:#b9cbdc transparent; }
.pagina-sistema .simpref-presupuesto .simpref-budget-pages .nav-link { padding:.62rem .9rem; border:1px solid #dfe7f0; border-radius:11px; background:#fff; color:#526981; font-size:.79rem; font-weight:680; box-shadow:0 2px 5px rgba(27,52,88,.025); transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.pagina-sistema .simpref-presupuesto .simpref-budget-pages .nav-link:not(.active):hover { transform:translateY(-1px); border-color:#a9c9d5; background:#f5fbfb; color:#126d78; }
.pagina-sistema .simpref-presupuesto .simpref-budget-pages .nav-link.active { border-color:transparent; background:linear-gradient(135deg,#1c4f88,#078c89); color:#fff; box-shadow:0 5px 13px rgba(16,104,128,.19); }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters { overflow:hidden; border:1px solid #e1e9f1!important; border-radius:17px; background:linear-gradient(145deg,#fff,#f9fbfd); box-shadow:0 8px 22px rgba(27,52,88,.055)!important; }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .card-body { padding:20px; }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .form-label { margin-bottom:.4rem; color:#34506e; font-size:.73rem; font-weight:720; }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .form-select,.pagina-sistema .simpref-presupuesto .simpref-budget-filters .form-control { min-height:42px; border-color:#dce5ef; border-radius:10px; background-color:#fff; color:#29445f; font-size:.82rem; box-shadow:inset 0 1px 2px rgba(26,53,82,.025); }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .form-select:focus,.pagina-sistema .simpref-presupuesto .simpref-budget-filters .form-control:focus { border-color:#6db8bb; box-shadow:0 0 0 .22rem rgba(27,145,149,.13); }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .btn { min-height:40px; border-radius:10px; font-size:.79rem; font-weight:700; }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .btn-primary { border-color:#1b5189; background:linear-gradient(135deg,#1d518d,#087d88); box-shadow:0 4px 10px rgba(25,91,130,.14); }
.pagina-sistema .simpref-presupuesto .simpref-budget-filters .small { color:#75869a!important; font-size:.73rem; }
.pagina-sistema .simpref-presupuesto .simpref-chart-card,.pagina-sistema .simpref-presupuesto .simpref-budget-card { border-color:#e2eaf2; border-radius:17px; background:linear-gradient(145deg,#fff 0%,#fbfdff 100%); box-shadow:0 7px 22px rgba(26,55,86,.055); }
.pagina-sistema .simpref-presupuesto .simpref-chart-card { padding:20px 21px 16px; }
.pagina-sistema .simpref-presupuesto .simpref-chart-card:hover { transform:translateY(-2px); border-color:#cbdde8; box-shadow:0 13px 28px rgba(26,55,86,.09); }
.pagina-sistema .simpref-presupuesto .simpref-chart-title { padding-bottom:12px; border-bottom:1px solid #edf1f5; }
.pagina-sistema .simpref-presupuesto .simpref-chart-title h4 { color:#234361; font-size:.94rem; }
.pagina-sistema .simpref-presupuesto .simpref-chart-title p { margin-top:3px; color:#8090a2; line-height:1.45; }
.pagina-sistema .simpref-presupuesto .simpref-chart-icon { border:1px solid #dfebf2; border-radius:12px; background:linear-gradient(145deg,#f1f7fc,#e8f5f4); color:#247b83; }
.pagina-sistema .simpref-presupuesto .simpref-kpi { border:1px solid #e3eaf2!important; border-radius:15px!important; background:linear-gradient(145deg,#fff,#f9fbfe); box-shadow:0 5px 15px rgba(27,52,88,.045)!important; transition:transform .18s ease,box-shadow .18s ease; }
.pagina-sistema .simpref-presupuesto .simpref-kpi:hover { transform:translateY(-3px); box-shadow:0 11px 22px rgba(27,52,88,.085)!important; }
.pagina-sistema .simpref-presupuesto .simpref-kpi::before { left:16px; width:34px; height:4px; }
.pagina-sistema .simpref-presupuesto .simpref-kpi .card-body { padding:1rem 1.05rem; }
.pagina-sistema .simpref-presupuesto .simpref-kpi .small { color:#77879a!important; font-weight:600; }
.pagina-sistema .simpref-presupuesto .simpref-kpi .h4 { color:#1d3e5d; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.pagina-sistema .simpref-presupuesto .simpref-analytics-heading { margin:4px 2px 14px; }
.pagina-sistema .simpref-presupuesto .simpref-eyebrow { color:#138b8a; }
.pagina-sistema .simpref-presupuesto .simpref-data-note { border-color:#e1edf1; background:#f7fbfc; color:#678095; }
.pagina-sistema .simpref-presupuesto .simpref-data-note i { background:#11a397; box-shadow:0 0 0 3px #e1f4f0; }
.pagina-sistema .simpref-presupuesto .table-responsive { border-radius:12px; scrollbar-color:#b8c9d8 #f1f5f8; scrollbar-width:thin; }
.pagina-sistema .simpref-presupuesto .simpref-chart-card .table-responsive { margin-top:7px; }
.pagina-sistema .simpref-presupuesto .table { --bs-table-color:#40566e; --bs-table-hover-bg:#f2f8fa; --bs-table-striped-bg:#f8fafc; margin-bottom:0; font-size:.79rem; font-variant-numeric:tabular-nums; }
.pagina-sistema .simpref-presupuesto .table thead th { position:sticky; top:0; z-index:2; padding:.78rem; border-bottom:1px solid #d9e4ed; background:linear-gradient(180deg,#f1f6fa,#eaf1f6); color:#34506d; font-size:.7rem; font-weight:750; letter-spacing:.025em; vertical-align:middle; }
.pagina-sistema .simpref-presupuesto .table tbody th,.pagina-sistema .simpref-presupuesto .table tbody td { padding:.69rem .78rem; border-color:#edf1f5; vertical-align:middle; }
.pagina-sistema .simpref-presupuesto .table tbody tr { transition:background-color .13s ease; }
.pagina-sistema .simpref-presupuesto .table tbody tr:hover > * { background-color:#f0f8fa; }
.pagina-sistema .simpref-presupuesto .table tbody th { color:#314d69; font-weight:620; }
.pagina-sistema .simpref-presupuesto .table tbody td.text-end { color:#425a73; }
.pagina-sistema .simpref-presupuesto .simpref-pliego-total > *,.pagina-sistema .simpref-presupuesto .simpref-budget-tree-root > *,.pagina-sistema .simpref-presupuesto .simpref-total-dyt-root > * { background:#eaf4f6!important; color:#1b4962!important; font-weight:760!important; }
.pagina-sistema .simpref-presupuesto .simpref-pliego-child th,.pagina-sistema .simpref-presupuesto .simpref-budget-tree tr[data-tree-row] th,.pagina-sistema .simpref-presupuesto .simpref-total-dyt-tree tr[data-tree-row] th { color:#526981; }
.pagina-sistema .simpref-presupuesto .simpref-budget-monthly .progress { height:9px; overflow:hidden; border-radius:99px; background:#e8eef3; }
.pagina-sistema .simpref-presupuesto .simpref-budget-monthly .progress-bar { border-radius:99px; background:linear-gradient(90deg,#28a99d,#2378a3); }
.pagina-sistema .simpref-presupuesto .simpref-budget-monthly small { display:inline-block; margin-top:4px; color:#57728a; font-weight:650; }
.pagina-sistema .simpref-presupuesto .simpref-budget-breakdown .badge { border:1px solid #d6e8ed; background:#eaf6f5!important; color:#167675!important; font-weight:750; }
.pagina-sistema .simpref-presupuesto .simpref-budget-area-chart { margin-top:10px; padding:1rem .8rem .6rem; border:1px solid #edf1f5; border-radius:13px; background:linear-gradient(180deg,#fbfdfe,#fff); }
.pagina-sistema .simpref-presupuesto .simpref-budget-area-chart svg { max-height:220px; }
.pagina-sistema .simpref-presupuesto .simpref-budget-area-chart svg polyline { stroke:#167c83; stroke-width:4; filter:drop-shadow(0 3px 3px rgba(18,109,123,.15)); }
.pagina-sistema .simpref-presupuesto .simpref-budget-area-chart svg circle { stroke:#fff; stroke-width:2; transition:r .16s ease,filter .16s ease; }
.pagina-sistema .simpref-presupuesto .simpref-budget-area-chart svg circle:hover { r:7px; filter:drop-shadow(0 2px 3px rgba(20,76,111,.3)); }
.pagina-sistema .simpref-presupuesto .simpref-budget-chart-labels { padding-top:9px; color:#687e93; }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank { gap:.85rem; padding:1.2rem .5rem .6rem; }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank-row { gap:.75rem; }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank-row>span { color:#415b75; font-weight:620; }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank-row .progress { height:10px; overflow:hidden; border-radius:99px; background:#eaf0f3; }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank-row .progress-bar { border-radius:99px; background:linear-gradient(90deg,#1a9b91,#2174a0); }
.pagina-sistema .simpref-presupuesto .simpref-budget-rank-row strong { color:#147c7c; font-variant-numeric:tabular-nums; }
.pagina-sistema .simpref-presupuesto .simpref-month-bars,.pagina-sistema .simpref-presupuesto .simpref-dyt-metrics,.pagina-sistema .simpref-presupuesto .simpref-dyt-month-chart { overflow-x:auto; border:1px solid #eaf0f4; border-bottom-color:#ccd9e4; border-radius:12px; background-color:#fbfdfe; scrollbar-width:thin; }
.pagina-sistema .simpref-presupuesto .simpref-month-bar>span { border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,#42b8aa,#18749a); box-shadow:0 4px 9px rgba(19,126,137,.14); transition:filter .16s ease,transform .16s ease; }
.pagina-sistema .simpref-presupuesto .simpref-month-bar:hover>span { transform:scaleX(1.08); filter:brightness(1.06); }
.pagina-sistema .simpref-presupuesto .simpref-month-bar strong,.pagina-sistema .simpref-presupuesto .simpref-dyt-month strong { border:1px solid rgba(255,255,255,.4); background:#214c6c; box-shadow:0 3px 8px rgba(22,57,82,.15); font-variant-numeric:tabular-nums; }
.pagina-sistema .simpref-presupuesto .simpref-month-bar small,.pagina-sistema .simpref-presupuesto .simpref-dyt-month small { color:#516a82; font-weight:700; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-gauge { filter:drop-shadow(0 6px 10px rgba(28,93,115,.08)); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-gauge path[stroke="#0a9249"] { stroke:#12988d; filter:drop-shadow(0 2px 3px rgba(13,132,129,.16)); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-gauge>strong { color:#1b526d; font-variant-numeric:tabular-nums; }
.pagina-sistema .simpref-presupuesto .simpref-balance-matrix thead tr:first-child th { background:#eaf2f6; }
.pagina-sistema .simpref-presupuesto .simpref-balance-cell { border-radius:5px; background-image:linear-gradient(90deg,rgba(27,164,144,.24) 0 var(--fill),transparent var(--fill) 100%); }
.pagina-sistema .simpref-presupuesto .simpref-source-donut-center strong { color:#21445f; font-variant-numeric:tabular-nums; }
.pagina-sistema .simpref-presupuesto .simpref-source-dot { box-shadow:0 0 0 3px rgba(31,75,108,.07); }
.pagina-sistema .simpref-presupuesto .simpref-source-bar { border-radius:8px 8px 2px 2px; box-shadow:0 4px 10px rgba(19,91,112,.13); }
.pagina-sistema .simpref-presupuesto .alert { border-radius:12px; }
@media (max-width:767.98px) {
 .pagina-sistema .simpref-presupuesto > .d-flex:first-child { align-items:flex-start!important; min-height:0; padding:19px 17px; }
 .pagina-sistema .simpref-presupuesto > .d-flex:first-child > div:last-child { justify-content:flex-start!important; }
 .pagina-sistema .simpref-presupuesto > .d-flex:first-child > div:last-child > span { white-space:normal; }
 .pagina-sistema .simpref-presupuesto .simpref-budget-pages { scroll-snap-type:x proximity; }
 .pagina-sistema .simpref-presupuesto .simpref-budget-pages .nav-link { scroll-snap-align:start; padding:.55rem .75rem; }
 .pagina-sistema .simpref-presupuesto .simpref-budget-filters .card-body { padding:15px; }
 .pagina-sistema .simpref-presupuesto .simpref-chart-card { padding:16px 14px 13px; }
 .pagina-sistema .simpref-presupuesto .simpref-budget-rank-row { grid-template-columns:minmax(90px,1fr) minmax(72px,1.5fr) 46px; gap:.45rem; font-size:.72rem; }
 .pagina-sistema .simpref-presupuesto .simpref-source-donut-layout { flex-wrap:wrap; gap:1rem; padding:1rem 0; }
 .pagina-sistema .simpref-presupuesto .simpref-source-legend { min-width:min(100%,220px); }
 .pagina-sistema .simpref-presupuesto .simpref-month-bars { justify-content:flex-start; gap:.7rem; }
 .pagina-sistema .simpref-presupuesto .simpref-month-bar { flex:0 0 48px; }
}
@media (prefers-reduced-motion:reduce) {
 .pagina-sistema .simpref-presupuesto *, .pagina-sistema .simpref-presupuesto *::before, .pagina-sistema .simpref-presupuesto *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

/* Keep DYT value labels inside their plot areas instead of clipping them at the card edge. */
.pagina-sistema .simpref-presupuesto .simpref-dyt-metrics { height:auto; min-height:230px; overflow:visible; padding:48px 1rem 2rem; box-sizing:border-box; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-metric { height:155px; min-width:58px; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-metric strong { top:-35px; right:0; bottom:auto!important; left:0; z-index:2; width:max-content; max-width:100%; margin:0 auto; padding:4px 7px; transform:none!important; font-size:.72rem; line-height:1.1; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-metric small { top:calc(100% + .45rem); width:100%; max-width:none; line-height:1.2; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-chart { min-height:226px; overflow-x:auto; overflow-y:hidden; padding:48px .55rem 32px; box-sizing:border-box; align-items:flex-end; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month { position:relative; flex:1 0 38px; min-width:38px; height:118px; gap:0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-values { position:absolute; top:-37px; right:0; left:0; display:flex; justify-content:center; gap:2px; width:100%; white-space:nowrap; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-values span { display:block; flex:1 1 0; width:auto; min-width:0; min-height:0; overflow:hidden; padding:3px 1px; border-radius:4px; background:#fff; font-size:.54rem; font-weight:750; line-height:1.1; text-align:center; text-overflow:clip; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-values .simpref-dyt-value-cert { color:#078a8a; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-values .simpref-dyt-value-dev { color:#174a78; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-bars { display:flex; width:100%; height:118px; align-items:flex-end; justify-content:center; gap:3px; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-bars>span { flex:1 1 0; width:36%; max-width:15px; min-height:2px; border-radius:4px 4px 0 0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month small { top:calc(100% + .48rem); right:0; left:0; font-size:.58rem; text-align:center; }
@media (max-width:767.98px) {
 .pagina-sistema .simpref-presupuesto .simpref-dyt-metrics { min-height:220px; gap:.4rem; padding:44px .55rem 2rem; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-metric { min-width:50px; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-metric strong { font-size:.66rem; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-month-chart { min-height:218px; padding-top:44px; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-month { flex-basis:36px; min-width:36px; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-month-values span { font-size:.5rem; }
}

/* Monthly comparison as an uncluttered two-series trend line. */
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-chart { margin-top:10px; padding:8px 8px 4px; border:1px solid #e8eef3; border-radius:13px; background:linear-gradient(180deg,#fbfdfe,#fff); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-chart svg { display:block; width:100%; height:230px; overflow:visible; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-grid line { stroke:#e5edf2; stroke-width:1; stroke-dasharray:3 5; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-cert,.pagina-sistema .simpref-presupuesto .simpref-dyt-line-dev { fill:none; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-cert { stroke:#08a0a0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-dev { stroke:#174a78; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-cert,.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-dev { stroke:#fff; stroke-width:2.5; vector-effect:non-scaling-stroke; cursor:help; transition:r .16s ease,filter .16s ease; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-cert { fill:#08a0a0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-dev { fill:#174a78; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-cert:hover,.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-dev:hover,.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-cert:focus,.pagina-sistema .simpref-presupuesto .simpref-dyt-line-point-dev:focus { r:7px; outline:none; filter:drop-shadow(0 2px 4px rgba(24,62,94,.25)); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-month { fill:#5a7087; font-size:10px; font-weight:700; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-legend { gap:.7rem 1.2rem; padding:.8rem .4rem .35rem; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-legend i { width:9px; height:9px; box-shadow:0 0 0 3px rgba(31,75,108,.07); }
@media (max-width:767.98px) {
 .pagina-sistema .simpref-presupuesto .simpref-dyt-line-chart { overflow-x:auto; }
 .pagina-sistema .simpref-presupuesto .simpref-dyt-line-chart svg { min-width:560px; }
}
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-months { display:flex; justify-content:space-between; gap:2px; margin:0 5.43%; color:#5a7087; font-size:.62rem; font-weight:700; text-align:center; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-months span { flex:1 1 0; min-width:0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-months { position:relative; height:16px; margin:2px 0 0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-line-months span { position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-card { overflow:hidden; padding:0; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:42px; padding:.6rem 1rem; background:#075b58; color:#fff; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-heading h4 { margin:0; color:#fff; font-size:.82rem; font-weight:800; letter-spacing:.025em; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-heading .simpref-dyt-legend { margin:0; padding:0; color:#eafafa; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-heading .simpref-dyt-legend i { border:1px solid rgba(255,255,255,.35); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-caption { margin:.7rem 1rem 0; color:#66798b; font-size:.72rem; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-chart-wrap { overflow-x:auto; padding:.2rem .5rem .5rem; scrollbar-width:thin; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-monthly-chart { display:block; width:100%; min-width:760px; height:auto; overflow:visible; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-grid { stroke:#d9e4e9; stroke-width:1; stroke-dasharray:2 5; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-y-label { fill:#526574; font-size:11px; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-dev-line { fill:none; stroke:#073f55; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-bar { fill:#079fa2; transition:filter .15s ease; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-group:hover .simpref-dyt-month-bar { filter:brightness(.9); }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-label-bg { fill:#075b58; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-value { fill:#fff; font-size:11px; font-weight:800; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-dev-point { fill:#073f55; stroke:#fff; stroke-width:2; vector-effect:non-scaling-stroke; }
.pagina-sistema .simpref-presupuesto .simpref-dyt-month-label { fill:#17515b; font-size:10px; font-weight:700; }
@media (max-width:767.98px) { .pagina-sistema .simpref-presupuesto .simpref-dyt-line-months { min-width:560px; } }
