Las transferencias son recursos que el gobierno central envía a gobiernos territoriales o al sector privado. Al desactivar esta opción se evita la doble contabilización, mostrando el gasto consolidado.
Las transferencias son recursos que el gobierno central envía a gobiernos territoriales o al sector privado. Al desactivar esta opción se evita la doble contabilización, mostrando el gasto consolidado.
Las transferencias son recursos que el gobierno central envía a gobiernos territoriales o al sector privado. Al desactivar esta opción se evita la doble contabilización, mostrando el gasto consolidado.
</span>
</span>
</label>
</div>
</div>
</div>
...
...
@@ -1267,13 +1311,14 @@
/* Variables de color para gráficos - Modo claro */
:global(:root) {
--chart-bar-default: #e0e0e0;
--chart-bar-highlight: #F3EAD8;
--chart-bar-highlight: #4A8B6E;
--chart-bar-stroke: #b0b0b0;
--chart-bar-stroke-default: white;
--chart-track-bg: #f5f5f5;
--chart-grid: #bbb;
--chart-grid: #999;
--chart-label: #888;
--chart-card-header: #f5f0e6;
--chart-card-header: #ffffff;
--chart-card-body: #fafafa;
}
/* Variables de color para gráficos - Modo oscuro */
...
...
@@ -1283,18 +1328,43 @@
--chart-bar-stroke: #5a5a55;
--chart-bar-stroke-default: #2a2a28;
--chart-track-bg: #2a2a28;
--chart-grid: #4a4a45;
--chart-grid: #6a6a65;
--chart-label: #8a8a85;
--chart-card-header: #3a3835;
--chart-card-header: #2a2825;
--chart-card-body: #222220;
}
.vista-diaria {
background: var(--theme-body);
background: #f2f2f4;
color: var(--theme-titulo);
scroll-snap-type: y mandatory;
overflow-y: scroll;
height: 100vh;
height: 100dvh;
overflow: hidden;
}
:global(.dark) .vista-diaria {
background: #1C1C1A;
}
/* Header fecha */
.vista-fecha-titulo {
font-family: 'Qanelas', var(--font-sans);
font-size: 2rem;
font-weight: 600;
color: var(--theme-titulo);
margin: 0;
}
.seccion-titulo-sub {
font-family: 'Qanelas', var(--font-sans);
font-size: 1.25rem;
font-weight: 600;
color: var(--theme-titulo);
margin: 0.5rem 0 0.25rem;
}
.vista-fecha-hora {
font-size: 0.75rem;
color: var(--theme-titulo);
opacity: 0.8;
margin: 0.2rem 0 0;
}
/* Loading/Error */
...
...
@@ -1305,75 +1375,152 @@
justify-content: center;
color: var(--theme-texto);
}
.loader-spinner {
width: 32px;
height: 32px;
border: 3px solid rgba(128,128,128,0.2);
border-top-color: var(--theme-titulo);
border-radius: 50%;
animation: spin 0.7s linear infinite;
}
.error {
color: #DB281C;
}
/* Navegación interna fija */
.nav-interna {
/* Navegación interna fija - barra inferior */
/* Botón flotante descargas */
.fab-descargas {
position: fixed;
right: 1.5rem;
bottom: 24px;
right: 24px;
width: 48px;
height: 48px;
border-radius: 14px;
background: rgba(255,255,255,0.85);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(0,0,0,0.08);
box-shadow: 0 4px 16px rgba(0,0,0,0.1);
display: flex;
align-items: center;
justify-content: center;
color: var(--theme-titulo);
text-decoration: none;
z-index: 101;
transition: all 0.25s ease;
cursor: pointer;
}
.fab-descargas:hover {
background: rgba(255,255,255,0.95);
box-shadow: 0 6px 24px rgba(0,0,0,0.15);
transform: translateY(-2px);
}
:global(.dark) .fab-descargas {
background: rgba(28,28,26,0.85);
border-color: rgba(255,255,255,0.1);
box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
:global(.dark) .fab-descargas:hover {
background: rgba(42,42,40,0.95);
box-shadow: 0 6px 24px rgba(0,0,0,0.4);
}
.fab-tooltip {
position: absolute;
right: calc(100% + 10px);
top: 50%;
transform: translateY(-50%);
background: rgba(0,0,0,0.85);
color: #fff;
font-size: 0.75rem;
font-weight: 500;
padding: 6px 12px;
border-radius: 8px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s;
}
.fab-descargas:hover .fab-tooltip {
opacity: 1;
}
:global(.dark) .fab-tooltip {
background: rgba(255,255,255,0.9);
color: #1C1C1A;
}
.nav-bottom-bar {
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
gap: 1rem;
align-items: center;
gap: 12px;
padding: 8px 16px;
border-radius: 14px;
background: rgba(255,255,255,0.7);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(0,0,0,0.08);
z-index: 100;
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
:global(.dark) .nav-bottom-bar {
background: rgba(28,28,26,0.75);
border-color: rgba(255,255,255,0.1);
box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.nav-item {
.nav-arrow {
display: flex;
align-items: center;
gap: 0.5rem;
background: none;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 8px;
border: none;
background: rgba(0,0,0,0.06);
color: var(--theme-titulo);
cursor: pointer;
padding: 0.25rem;
flex-direction: row-reverse;
}
.nav-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.2);
transition: all 0.2s;
}
:global(.dark) .nav-dot {
background: rgba(255, 255, 255, 0.2);
.nav-arrow:hover:not(:disabled) {
background: rgba(0,0,0,0.12);
}
.nav-item.active .nav-dot {
background: var(--theme-accent);
transform: scale(1.2);
.nav-arrow:disabled {
opacity: 0.25;
cursor: default;
}
.nav-label {
font-size: 0.7rem;
color: var(--theme-texto);
opacity: 0;
transition: opacity 0.2s;
white-space: nowrap;
:global(.dark) .nav-arrow {
background: rgba(255,255,255,0.08);
}
:global(.dark) .nav-arrow:hover:not(:disabled) {
background: rgba(255,255,255,0.15);
}
.nav-item:hover .nav-label,
.nav-item.active .nav-label {
opacity: 1;
.nav-section-label {
font-size: 0.8rem;
font-weight: 600;
color: var(--theme-titulo);
white-space: nowrap;
min-width: 120px;
text-align: center;
}
/* Secciones de 100vh - el navbar tiene ~56px de alto */
/* Secciones - solo visible la activa */
.vista-seccion {
min-height: 100vh;
min-height: 100dvh;
height: 100vh;
height: 100dvh;
padding-top: 56px;
padding-bottom: 70px;
box-sizing: border-box;
display: flex;
display: none;
flex-direction: column;
border-bottom: 1px solid var(--theme-borde);
scroll-snap-align: start;
scroll-snap-stop: always;
overflow-y: auto;
}
.vista-seccion.seccion-activa {
display: flex;
}
...
...
@@ -1643,9 +1790,9 @@
left: 0.75rem;
top: 50%;
transform: translateY(-50%);
width: 16px;
height: 16px;
color: var(--theme-texto);
width: 18px;
height: 18px;
color: var(--theme-titulo);
opacity: 0.5;
pointer-events: none;
}
...
...
@@ -1655,9 +1802,9 @@
padding: 0.6rem 1rem 0.6rem 2.25rem;
font-size: 0.8rem;
font-family: inherit;
border: 1px solid var(--theme-borde);
border-radius: 20px;
background: var(--theme-body);
border: none;
border-radius: 12px;
background: #ffffff;
color: var(--theme-titulo);
outline: none;
transition: border-color 0.2s;
...
...
@@ -1673,10 +1820,25 @@
color: var(--theme-accent);
}
:global(.dark) .timeline-search-input {
background: #252523;
}
.timeline-search-input::placeholder {
color: var(--theme-texto);
color: var(--theme-titulo);
opacity: 0.5;
font-size: 0.85rem;
}
.search-spinner {
width: 16px;
height: 16px;
border: 2px solid rgba(128,128,128,0.3);
border-top-color: var(--theme-texto);
border-radius: 50%;
animation: spin 0.6s linear infinite;
flex-shrink: 0;
margin-right: 8px;
}
@keyframes spin { to { transform: rotate(360deg); } }