:root{--color-bg:#f3f4f6;--color-card:#fff;--color-text:#1f2937;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-servidolar:#059669;--color-elah:#8b5cf6;--color-onzaoro:#d97706;--color-danger:#dc2626;--color-success:#059669;--radius:14px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 4px 16px #00000014}[data-theme=dark]{--color-bg:#111827;--color-card:#1f2937;--color-text:#f3f4f6;--color-text-muted:#9ca3af;--color-border:#374151;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-lg:0 4px 16px #0006}[data-theme=dark] input,[data-theme=dark] select{color:var(--color-text);border-color:var(--color-border);background:#111827}*{box-sizing:border-box}html,body{background:#07090d;height:100%;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .2s,color .2s}#root{flex-direction:column;height:100dvh;display:flex}.app{background:var(--color-bg);flex-direction:column;width:100%;height:100%;display:flex}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.offline-banner{text-align:center;letter-spacing:.01em;padding:4px 8px;font-size:.78rem;font-weight:600}.offline-banner-offline{color:#92400e;background:#fef3c7}[data-theme=dark] .offline-banner-offline{color:#fef3c7;background:#78350f}.offline-banner-syncing{color:#1e40af;background:#dbeafe}[data-theme=dark] .offline-banner-syncing{color:#dbeafe;background:#1e3a8a}.offline-banner-synced{color:#065f46;background:#d1fae5}[data-theme=dark] .offline-banner-synced{color:#d1fae5;background:#064e3b}.offline-banner-update{color:#5b21b6;background:#ede9fe;justify-content:center;align-items:center;gap:8px;display:flex}[data-theme=dark] .offline-banner-update{color:#ede9fe;background:#4c1d95}.update-app-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.install-hint{color:#c9a84c;background:#1f3864;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:.78rem;font-weight:600;display:flex}.install-hint-close{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:.85rem;line-height:1}.app-header{z-index:10;background:color-mix(in srgb, var(--color-card) 80%, transparent);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);padding:16px;padding-top:calc(16px + env(safe-area-inset-top));align-items:center;gap:10px;transition:padding .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:sticky;top:0}.app-header.scrolled{padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top))}.app-header h1{margin:0;font-size:1.15rem;font-weight:700;transition:font-size .25s}.app-header.scrolled h1{font-size:1rem}.app-header .header-icon{font-size:1.4rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.app-header.scrolled .header-icon{transform:scale(.8)}.header-logo-icon{flex-shrink:0;width:32px;height:32px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.app-header.scrolled .header-logo-icon{transform:scale(.8)}.header-logo-full{width:auto;height:36px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.app-header.scrolled .header-logo-full{transform-origin:0;transform:scale(.85)}.app-main{padding:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom));text-align:left;flex:1;width:100%}.bottom-nav{padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:20;background:#07090d;border-top:1px solid #c9a84c40;justify-content:space-around;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav.nav-hidden{transform:translateY(100%)}.nav-item{color:#ede8dc80;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 2px;font-size:.68rem;font-weight:600;transition:all .15s;display:flex}.nav-item .nav-icon{font-size:1.3rem}.nav-item.active{color:#ede8dc;background:#c9a84c1f}.card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:16px}.card h2{color:var(--color-text);margin:0 0 12px;font-size:1rem;font-weight:700}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:18px 0 8px;font-size:.78rem;font-weight:700}@keyframes precios-spin{to{transform:rotate(360deg)}}.precios-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid #c9a84c38;margin-bottom:14px;padding:16px}.precios-card.precios-skeleton{opacity:.6}.precios-card.precios-error{border-color:#dc26264d}.precios-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.precios-title{letter-spacing:.1em;text-transform:uppercase;color:#c9a84c;font-size:.8rem;font-weight:700}.precios-update-time{color:var(--color-text-muted);font-size:.72rem}.precios-refresh-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-family:inherit;font-size:.75rem;transition:color .15s,background .15s;display:flex}.precios-refresh-btn:hover{color:var(--color-text);background:var(--color-border)}.precios-refresh-btn:disabled{opacity:.5;cursor:default}.precios-cols{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:0;display:grid}.precios-col{background:#0000000f;border:1px solid #0000;border-radius:10px;padding:12px 10px}[data-theme=dark] .precios-col{background:#ffffff0a}.precios-col-gold{border-color:#c9a84c40}.precios-col-silver{border-color:#9ca3af40}.precios-col-usd{border-color:#10b98140}.precios-col-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.precios-col-name{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.precios-price-main{color:var(--color-text);margin-bottom:2px;font-size:.92rem;font-weight:700;line-height:1.2}.precios-price-sub{color:var(--color-text-muted);margin-bottom:4px;font-size:.68rem}.precios-price-gram{color:var(--color-text);font-size:.8rem;font-weight:600}.precios-unit{color:var(--color-text-muted);margin-left:1px;font-size:.65rem;font-weight:400}.precios-source-badge{color:#10b981;font-size:.65rem;font-weight:500}.precios-leyes-toggle{color:var(--color-text-muted);cursor:pointer;text-align:left;border:none;border-top:1px solid var(--color-border);background:0 0;align-items:center;gap:6px;width:100%;margin-top:12px;padding:10px 0 2px;font-family:inherit;font-size:.75rem;transition:color .15s;display:flex}.precios-leyes-toggle:hover{color:var(--color-text)}.precios-leyes{grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;display:grid}.precios-leyes-title{text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.7rem;font-weight:700}.precios-ley-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:4px 0;font-size:.8rem;display:flex}.precios-ley-row:last-child{border-bottom:none}.precios-ley-label{color:var(--color-text-muted);font-weight:600}.precios-ley-value{color:var(--color-text);font-weight:700}.precios-error-msg{color:var(--color-danger);margin:0;font-size:.82rem}.precios-stale-warn{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin:8px 0 0;padding-top:8px;font-size:.7rem}.skel-line{background:var(--color-border);border-radius:4px;height:10px;margin-bottom:6px;animation:1.4s ease-in-out infinite skel-pulse}.skel-w100{width:100%}.skel-w80{width:80%}.skel-w70{width:70%}.skel-w60{width:60%}@keyframes skel-pulse{0%,to{opacity:.6}50%{opacity:.25}}.summary-card{border-radius:var(--radius);box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;text-align:left;border:none;width:100%;margin-bottom:14px;padding:18px;font-family:inherit;transition:transform .1s}.summary-card.servidolar{background:linear-gradient(135deg,#10b981,#059669)}.summary-card.elah{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.summary-card.onzaoro{background:linear-gradient(135deg,#fbbf24,#d97706)}.summary-card .summary-title{align-items:center;gap:8px;margin-bottom:12px;font-size:1.05rem;font-weight:700;display:flex}.summary-card .summary-row{opacity:.95;justify-content:space-between;padding:6px 0;font-size:.88rem;display:flex}.summary-card .summary-row strong{font-size:.95rem}.summary-chips{border-top:1px solid #ffffff2e;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.summary-chip{background:#ffffff2e;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:600}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-box{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}.stat-box .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.2em;margin-bottom:6px;font-size:.66rem;font-weight:300}.stat-box .stat-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:200}.stat-value.positive{color:var(--color-success)}.stat-value.negative{color:var(--color-danger)}.tabs{background:var(--color-card);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:4px;display:flex}.tab-btn{min-width:64px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:4px;padding:9px 4px;font-family:inherit;font-size:.76rem;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn.active{background:var(--color-text);color:#fff}.form-group{margin-bottom:12px}.form-group label{color:var(--color-text-muted);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}input,select{border:1.5px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}input:focus,select:focus{border-color:var(--color-text);outline:none}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 18px;font-family:inherit;font-size:.92rem;font-weight:700;transition:opacity .15s;display:inline-flex}.btn:active{opacity:.8}.btn-primary{background:var(--color-text);color:#fff}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-outline{border:1.5px solid var(--color-border);color:var(--color-text);background:0 0}.btn-sm{width:auto;padding:7px 12px;font-size:.78rem}.btn-link{color:#c9a84c;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem;text-decoration:none;transition:opacity .15s}.btn-link:hover{opacity:.75}.modo-ingreso-toggle{background:var(--color-border);border-radius:8px;gap:2px;margin-bottom:8px;padding:3px;display:flex}.modo-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.modo-btn.active{background:var(--color-card);color:var(--color-text);font-weight:700;box-shadow:0 1px 3px #0000001f}.list-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.list-item:last-child{border-bottom:none}.list-item-main{flex:1;min-width:0}.list-item-title{font-size:.92rem;font-weight:700}.list-item-sub{color:var(--color-text-muted);margin-top:2px;font-size:.78rem}.list-item-value{text-align:right;white-space:nowrap;font-size:.9rem;font-weight:700}.empty-state{text-align:center;color:var(--color-text-muted);padding:24px 8px;font-size:.88rem}.empty-state p{margin:0}.empty-illustration{opacity:.45;width:56px;height:56px;margin-bottom:10px}.empty-float{transform-origin:50%;animation:3s ease-in-out infinite empty-float}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.value-flip{transform-origin:50% 55%;animation:.32s cubic-bezier(.34,1.56,.64,1) value-flip;display:inline-block}@keyframes value-flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.badge{border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:700;display:inline-block}.badge-oro{color:#92400e;background:#fef3c7}.badge-plata{color:#374151;background:#e5e7eb}.badge-success{color:#065f46;background:#d1fae5}.badge-pending{color:#991b1b;background:#fee2e2}.badge-danger{color:#fff;background:#dc2626}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px 18px 0 0;width:100%;max-width:720px;max-height:88vh;padding:20px;animation:.2s slide-up;overflow-y:auto}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal h3{margin:0 0 14px;font-size:1.05rem}.modal-actions{gap:10px;margin-top:16px;display:flex}.icon-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:4px;font-size:1.05rem;line-height:1}.icon-btn:hover{color:var(--color-danger)}.dashboard-logo{justify-content:center;padding:20px 0 28px;display:flex}.dashboard-logo-img{width:min(80%,320px);height:auto}.page-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-title .page-icon{font-size:1.6rem}.page-title h1{margin:0;font-size:1.25rem;font-weight:800}.muted{color:var(--color-text-muted)}.login-screen{background:linear-gradient(160deg,#1f2937,#111827);justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:380px;padding:32px 24px}.login-logo{margin-bottom:8px;font-size:2.6rem}.login-card h1{margin:0 0 4px;font-size:1.3rem;font-weight:800}.login-card form{text-align:left;margin-top:8px}.login-error{color:var(--color-danger);margin:-4px 0 12px;font-size:.85rem;font-weight:600}.icon{vertical-align:middle;flex-shrink:0;display:inline-block}.icon g,.icon rect,.icon path,.icon line,.icon circle{transform-box:fill-box;transform-origin:50%}.icon-dashboard rect{transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.icon-dashboard:hover .sq-tl,.icon-dashboard:active .sq-tl{transform:translate(-1.5px,-1.5px)}.icon-dashboard:hover .sq-tr,.icon-dashboard:active .sq-tr{transform:translate(1.5px,-1.5px)}.icon-dashboard:hover .sq-bl,.icon-dashboard:active .sq-bl{transform:translate(-1.5px,1.5px)}.icon-dashboard:hover .sq-br,.icon-dashboard:active .sq-br{transform:translate(1.5px,1.5px)}@keyframes scale-oscillate{0%,to{transform:rotate(0)}30%{transform:rotate(-9deg)}70%{transform:rotate(9deg)}}.icon-onzaoro:hover .beam,.icon-onzaoro:active .beam{animation:.6s cubic-bezier(.34,1.56,.64,1) scale-oscillate}@keyframes diamond-twist{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.icon-elah:hover .diamond,.icon-elah:active .diamond{animation:.5s cubic-bezier(.34,1.56,.64,1) diamond-twist}@keyframes loop-spin{to{transform:rotate(180deg)}}.icon-servidolar:hover .loop,.icon-servidolar:active .loop{animation:.5s cubic-bezier(.34,1.56,.64,1) loop-spin}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.icon-gastos:hover .arrow,.icon-gastos:active .arrow{animation:.5s cubic-bezier(.34,1.56,.64,1) bounce-down}@keyframes bounce-up{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.icon-compras:hover .arrow,.icon-compras:active .arrow{animation:.5s cubic-bezier(.34,1.56,.64,1) bounce-up}.icon-graficas .bar{transform-origin:bottom;transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.icon-graficas:hover .bar-1,.icon-graficas:active .bar-1{transform:scaleY(1.2)}.icon-graficas:hover .bar-2,.icon-graficas:active .bar-2{transition-delay:40ms;transform:scaleY(1.12)}.icon-graficas:hover .bar-3,.icon-graficas:active .bar-3{transition-delay:80ms;transform:scaleY(1.06)}@keyframes spin-slow{to{transform:rotate(360deg)}}.icon-settings:hover .gear,.icon-settings:active .gear{animation:2.4s linear infinite spin-slow}.icon-prestamos .hand{transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.icon-prestamos:hover .hand-left,.icon-prestamos:active .hand-left{transform:translate(2px)}.icon-prestamos:hover .hand-right,.icon-prestamos:active .hand-right{transform:translate(-2px)}.icon-logout .door{transform-origin:0;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.icon-logout .arrow{transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.icon-logout:hover .door,.icon-logout:active .door{transform:scaleX(.78)}.icon-logout:hover .arrow,.icon-logout:active .arrow{transform:translate(2px)}.icon-close .bar{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.icon-close:hover,.icon-close:active{transform:rotate(90deg)scale(1.1)}.icon-sun .sun{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.icon-sun:hover .sun,.icon-sun:active .sun{transform:rotate(45deg)scale(1.1)}.icon-moon .moon{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.icon-moon:hover .moon,.icon-moon:active .moon{transform:rotate(-20deg)scale(1.1)}.icon-user .bounce,.icon-palette .tilt,.icon-backup .float,.icon-info .pulse,.icon-logo .shine{transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.icon-user:hover .bounce,.icon-user:active .bounce{transform:translateY(-2px)}.icon-palette:hover .tilt,.icon-palette:active .tilt{transform:rotate(-12deg)}.icon-backup:hover .float,.icon-backup:active .float{transform:translateY(2px)}.icon-info:hover .pulse,.icon-info:active .pulse{transform:scale(1.12)}.icon-logo:hover .shine,.icon-logo:active .shine{transform:scale(1.08)rotate(-4deg)}.btn,.btn-sm,.tab-btn,.nav-item,.icon-btn{transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .15s,background .15s,color .15s,box-shadow .15s}.btn:active{opacity:.85;transform:scale(.97)}.icon-btn:active,.nav-item:active{transform:scale(.94)}.card,.stat-box,.summary-card{transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s}@media (hover:hover){.card:hover,.stat-box:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.summary-card:hover{transform:translateY(-2px)}}.summary-card:active{transform:scale(.98)}input,select{transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--color-accent,var(--color-text));box-shadow:0 0 0 4px var(--color-accent-glow,#1f29371f)}.page-onzaoro{--color-accent:var(--color-onzaoro);--color-accent-glow:#d977062e}.page-elah{--color-accent:var(--color-elah);--color-accent-glow:#8b5cf62e}.page-servidolar{--color-accent:var(--color-servidolar);--color-accent-glow:#0596692e}.list-item{border-bottom:.5px solid #c9a84c26}.summary-card .summary-row+.summary-row{border-top:.5px solid #ffffff2e}.app-main>div{animation:.26s cubic-bezier(.34,1.56,.64,1) page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-container{top:max(12px, env(safe-area-inset-top));z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 24px);max-width:420px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.85rem;font-weight:600;animation:.32s cubic-bezier(.34,1.56,.64,1) toast-in;display:flex}.toast-leaving{animation:.22s forwards toast-out}.toast-success{border-left:3px solid var(--color-success)}.toast-success .icon-check{color:var(--color-success);flex-shrink:0}.toast-error{border-left:3px solid var(--color-danger)}.toast-error .icon-alert{color:var(--color-danger);flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(.97)}}.icon-check .tick{stroke-dasharray:16;stroke-dashoffset:16px;animation:.36s cubic-bezier(.34,1.56,.64,1) 80ms forwards check-draw}@keyframes check-draw{to{stroke-dashoffset:0}}.icon-alert .ring{animation:.32s cubic-bezier(.34,1.56,.64,1) alert-pop}@keyframes alert-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg) 50%, var(--color-border) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.list-item-removing{pointer-events:none;animation:.22s forwards list-item-out}@keyframes list-item-out{to{opacity:0;transform:translate(-40px)}}.shake{animation:.36s cubic-bezier(.36,.07,.19,.97) shake;border-color:var(--color-danger)!important}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.splash-screen{z-index:1000;color:#fff;background:#07090d;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-logo{width:min(78vw,340px);height:auto;max-height:75vh}@media (width>=769px){.app.app-desktop{flex-direction:row;align-items:stretch;max-width:none;display:flex}.sidebar{background:var(--color-card);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:4px;width:240px;height:100dvh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{letter-spacing:.08em;align-items:center;gap:10px;padding:8px 12px 24px;font-size:1.1rem;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-nav-item{color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.sidebar-nav-item:hover{background:var(--color-bg)}.sidebar-nav-item.active{color:var(--color-text);background:var(--color-bg)}.app-desktop .app-header{padding:18px 32px}.app-desktop .app-main{width:100%;max-width:1200px;margin:0 auto;padding:28px 32px}.app-desktop .dashboard-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;display:grid}.app-desktop .dashboard-grid .summary-card{margin-bottom:0}.app-desktop .stats-grid{grid-template-columns:repeat(4,1fr)}}.modo-ingreso-toggle{gap:8px;margin-bottom:8px;display:flex}.modo-btn{cursor:pointer;color:#ede8dc;background:#2a2a2a;border:none;border-radius:6px;flex:1;padding:6px 0;font-size:13px;font-weight:600}.modo-btn.active{color:#07090d;background:#c9a84c}
