: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:var(--color-card)}.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:var(--color-card)}.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:var(--color-card);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}.list-item-value.positive{color:var(--color-success)}.list-item-value.negative{color:var(--color-danger)}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip-option{border:1.5px solid var(--color-border);background:var(--color-card);color:var(--color-text-muted);cursor:pointer;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s}.chip-option.active{background:var(--color-text);border-color:var(--color-text);color:var(--color-card)}.chip-option.chip-necesario.active{color:#fff;background:#4a5da0;border-color:#4a5da0}.chip-option.chip-variable.active{color:#fff;background:#8a4a9c;border-color:#8a4a9c}.chip-option.chip-reinversion.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.flujo-bars-card h2{margin-bottom:14px}.flujo-bars{flex-direction:column;gap:14px;display:flex}.flujo-bar-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:.82rem;display:flex}.flujo-bar-name{font-weight:700}.flujo-bar-pct{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.flujo-bar-track{background:var(--color-border);border-radius:6px;height:8px;position:relative;overflow:visible}.flujo-bar-fill{background:var(--color-text-muted);border-radius:6px;height:100%}.flujo-bar-necesario .flujo-bar-fill{background:#4a5da0}.flujo-bar-variable .flujo-bar-fill{background:#8a4a9c}.flujo-bar-reinversion .flujo-bar-fill{background:var(--color-success)}.flujo-bar-ideal{background:var(--color-text);opacity:.4;width:2px;height:14px;position:absolute;top:-3px}.recon-card{border:1.5px dashed var(--color-border);background:var(--color-bg)}.inv-aviso{border-left:4px solid var(--color-onzaoro);font-size:.85rem}.inv-toolbar{gap:10px;margin:14px 0 10px;display:flex}.inv-toolbar .btn{flex:1}.inv-filtros{grid-template-columns:1fr;gap:8px;margin-bottom:10px;display:grid}@media (width>=720px){.inv-filtros{grid-template-columns:2fr 1fr}}.inv-chips{margin-bottom:14px}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.inv-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;padding:0;font-family:inherit;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.inv-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.inv-card-img{aspect-ratio:1;background:var(--color-bg);justify-content:center;align-items:center;font-size:.75rem;display:flex}.inv-card-img img{object-fit:cover;width:100%;height:100%}.inv-card-body{flex-direction:column;gap:3px;min-width:0;padding:10px 12px 12px;display:flex}.inv-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.inv-card-sku{letter-spacing:.5px;color:var(--color-elah);font-size:.7rem;font-weight:700}.inv-card-nombre{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-card-costo{margin-top:4px;font-size:.78rem;font-weight:600}.modal.inv-ficha{flex-direction:column;max-height:94vh;padding:0;display:flex;overflow:hidden}@media (width>=720px){.modal-backdrop:has(.inv-ficha){align-items:center}.modal.inv-ficha{border-radius:18px;max-height:90vh}}.inv-ficha-header{justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px 8px;display:flex}.inv-ficha-header h3{margin:0 0 4px}.inv-ficha-tabs{flex-wrap:nowrap;flex-shrink:0;padding:0 20px;overflow-x:auto}.inv-ficha-tabs .tab-btn{white-space:nowrap}.inv-ficha-body{flex:1;padding:14px 20px;overflow-y:auto}.inv-ficha-body textarea{border:1.5px solid var(--color-border);background:var(--color-card);width:100%;color:var(--color-text);resize:vertical;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}.inv-ficha-body textarea:focus{border-color:var(--color-text);outline:none}.inv-ficha-footer{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-card);gap:10px;display:flex}.inv-btn-danger-text{color:var(--color-danger);border-color:var(--color-danger)}.inv-subtitulo{margin:4px 0 10px;font-size:.9rem}.inv-inline{align-items:center;gap:8px;display:flex}.inv-inline .btn{flex-shrink:0}.inv-fotos-acciones{gap:10px;margin-bottom:8px;display:flex}.inv-fotos-acciones .btn{flex:1}.inv-fotos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.inv-foto{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;position:relative;overflow:hidden}.inv-foto img,.inv-foto .skeleton{object-fit:cover;width:100%;height:100%}.inv-foto-nueva{border-style:dashed;border-color:var(--color-elah)}.inv-foto-tag{color:#fff;background:#000000a6;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:700;position:absolute;top:6px;left:6px}.inv-foto-tag-pend{background:var(--color-elah);left:auto;right:6px}.inv-foto-acciones{justify-content:flex-end;gap:4px;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.inv-foto-acciones .btn-sm{padding:4px 8px;font-size:.7rem}.inv-piedra{border:1px solid var(--color-border);border-radius:12px;margin-bottom:10px;padding:10px 12px 2px}.inv-piedra-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.inv-radio{align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.inv-radio input{width:auto}.inv-etiqueta{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.inv-etiqueta-svg{border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:6px}.inv-etiqueta-svg svg{max-width:100%;height:auto;display:block}.inv-historial-item{align-items:flex-start}.inv-cambios{color:var(--color-text-muted);margin:6px 0 0;padding-left:16px;font-size:.78rem}.inv-escaner-video{aspect-ratio:4/3;background:#000;border-radius:12px;position:relative;overflow:hidden}.inv-escaner-video video{object-fit:cover;width:100%;height:100%}.inv-escaner-guia{border:2px solid #ffffffd9;border-radius:8px;position:absolute;inset:38% 12%;box-shadow:0 0 0 9999px #00000059}.inv-escaner-pausa{color:#fff;background:#00000073;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.inv-ultimo{text-align:left;width:100%;color:var(--color-text);cursor:pointer;border:none;flex-direction:column;gap:3px;font-family:inherit;display:flex}.icon-escanear .bars{transform-origin:50%;transition:transform .22s}.nav-item:hover .icon-escanear .bars,.sidebar-nav-item:hover .icon-escanear .bars{transform:scaleY(.8)}.app-header .team-logout{margin-left:auto}.rol-select{width:auto;max-width:100%;margin-top:6px;padding:6px 10px;font-size:.8rem}.inv-card-precio{margin-top:4px;font-size:.85rem;font-weight:700}.inv-precio-box{background:var(--color-bg);border-radius:12px;gap:24px;margin-bottom:14px;padding:12px 14px;display:flex}.inv-precio{font-size:1.25rem;font-weight:800}.inv-precio-sec{color:var(--color-text-muted);font-size:1rem}.pt-config{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.pt-formula{border:1px solid var(--color-border);border-radius:12px;margin-bottom:12px;padding:12px 14px 4px}.pt-formula-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pt-formula-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.pt-formula-texto{color:var(--color-text-muted);margin:0 0 8px;font-size:.78rem}.pt-historial{flex-direction:column;gap:4px;max-height:240px;margin-top:8px;display:flex;overflow-y:auto}.pt-pendiente{z-index:5;border-radius:var(--radius);background:var(--color-card);border:2px solid var(--color-elah);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.85rem;display:flex;position:sticky;top:72px}.pt-pendiente-acciones{gap:8px;display:flex}.pt-preview{border-top:1px solid var(--color-border);flex-basis:100%;max-height:280px;padding-top:8px;overflow-y:auto}.pt-preview-fila{border-bottom:1px dashed var(--color-border);justify-content:space-between;gap:10px;padding:4px 0;font-size:.8rem;display:flex}.pt-sube{color:var(--color-success);font-style:normal}.pt-baja{color:var(--color-danger);font-style:normal}.pt-filtros{grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:10px;display:grid}@media (width<=640px){.pt-filtros{grid-template-columns:1fr}}.pt-masivo{background:var(--color-bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:.85rem;display:flex}.pt-masivo select{width:auto;padding:6px 10px;font-size:.85rem}.pt-scroll{border:1px solid var(--color-border);border-radius:10px;overflow-x:auto}.pt-tabla{border-collapse:collapse;width:100%;min-width:1100px;font-size:.82rem}.pt-tabla th,.pt-tabla td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;vertical-align:middle;padding:6px 8px}.pt-tabla thead th{background:var(--color-bg);text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);z-index:1;font-size:.72rem;position:sticky;top:0}.pt-tabla tfoot td{background:var(--color-bg);border-bottom:none;font-size:.8rem}.pt-tabla input[type=checkbox]{width:auto}.pt-fila-sel td{background:color-mix(in srgb, var(--color-elah) 10%, transparent)}.pt-celda{border-radius:6px;width:100px;padding:5px 7px;font-size:.82rem}select.pt-celda{width:96px}.pt-base .pt-celda{border-color:var(--color-elah)}.pt-nombre{text-overflow:ellipsis;max-width:220px;overflow:hidden}.pt-sku{color:var(--color-elah);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.78rem;font-weight:700}.pt-precio{font-weight:700}.pt-fijo{margin-left:6px}.pt-tabla .positive{color:var(--color-success)}.pt-tabla .negative{color:var(--color-danger)}.pt-pendiente .btn-link{margin-left:8px}.pt-auto{min-width:100px;font-weight:600;display:inline-block}.pt-auto small{color:var(--color-elah);margin-left:4px;font-size:.65rem;font-weight:700}.pt-tabla-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.pt-tabla-head h2{margin:0}.inv-progreso{background:var(--color-bg);border-radius:999px;height:10px;overflow:hidden}.inv-progreso div{background:var(--color-elah);height:100%;transition:width .3s}.inv-revisar{align-self:flex-start;margin-top:2px}.icon-joyeria .gema{transform-origin:12px 6px;transition:transform .22s}.nav-item:hover .icon-joyeria .gema,.sidebar-nav-item:hover .icon-joyeria .gema{transform:translateY(-1.5px)rotate(8deg)}.inv-papelera-item{align-items:center;gap:12px}.inv-papelera-img{background:var(--color-bg);border-radius:8px;flex-shrink:0;width:48px;height:48px;overflow:hidden}.inv-papelera-img img{object-fit:cover;width:100%;height:100%}.inv-papelera-acciones{flex-shrink:0;gap:6px;display:flex}.pt-tabla-botones{flex-wrap:wrap;gap:8px;display:flex}.inv-log{border-bottom:1px dashed var(--color-border);padding:5px 0}.inv-herramientas summary{cursor:pointer;list-style:none}.inv-herramientas summary::-webkit-details-marker{display:none}.inv-herramientas summary:before{content:"▸ "}.inv-herramientas[open] summary:before{content:"▾ "}.inv-herramientas-body{flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.inv-mas-filtros{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.inv-contador{margin-left:auto;font-size:.85rem}.inv-filtros-on{border-color:var(--accent,currentColor)}.inv-panel-filtros{margin-bottom:14px}.inv-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=720px){.inv-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.inv-panel-grid label,.inv-panel-piedras{flex-direction:column;gap:4px;min-width:0;font-size:.8rem;display:flex}.inv-panel-grid label>span,.inv-panel-piedras>span{opacity:.75}.inv-panel-grid input,.inv-panel-grid select{width:100%;min-width:0}.inv-panel-piedras{margin-top:12px}.inv-off-foto{aspect-ratio:1;background:#7f7f7f14;border-radius:12px;justify-content:center;align-items:center;width:100%;max-height:320px;display:flex;overflow:hidden}.inv-off-foto img{object-fit:contain;width:100%;height:100%}.inv-off-fila{border-bottom:1px solid #7f7f7f26;justify-content:space-between;gap:12px;padding:6px 0;font-size:.9rem;display:flex}.inv-off-fila span{opacity:.7}.inv-off-fila strong{text-align:right}.inv-cola{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.conteo-progreso{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.conteo-ultimo{border-radius:10px;padding:10px 12px;font-size:.95rem;font-weight:600}.conteo-ultimo-ok{color:#10b981;background:#10b98126}.conteo-ultimo-rep{background:#7f7f7f26}.conteo-ultimo-warn{color:#b8892a;background:#c9a84c2e}.conteo-ultimo-err{color:#e5484d;background:#e5484d26}.conteo-lista{max-height:260px;overflow-y:auto}.conteo-quitar{color:#e5484d;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:.75rem}.conteo-h{margin:16px 0 6px;font-size:.95rem}.conteo-ok{color:#10b981;font-weight:600}.conteo-hist{border-bottom:1px solid #7f7f7f26;padding:8px 0;font-size:.85rem}.conteo-hist summary{cursor:pointer}.apartado-fila{border-bottom:1px solid #7f7f7f26;align-items:center;gap:10px;padding:10px 0;display:flex}.apartado-info{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.rep-grid{grid-template-columns:1fr;gap:8px 24px;display:grid}@media (width>=820px){.rep-grid{grid-template-columns:1fr 1fr}}.rep-barras{flex-direction:column;gap:6px;display:flex}.rep-fila{grid-template-columns:minmax(90px,34%) 1fr auto;align-items:center;gap:8px;font-size:.82rem;display:grid}.rep-etq{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rep-val{color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.rep-pista{height:12px;display:block}.rep-barra{background:var(--color-elah);border-radius:0 4px 4px 0;height:100%;display:block}.rep-fila:hover .rep-barra{filter:brightness(1.15)}.compartir-opciones{flex-wrap:wrap;gap:16px;font-size:.85rem;display:flex}.compartir-vista{justify-content:center;align-items:center;min-height:120px;margin:10px 0;display:flex}.compartir-vista img{border-radius:12px;max-width:100%;max-height:60vh;box-shadow:0 4px 18px #00000026}.compartir-texto{white-space:pre-wrap;background:#7f7f7f14;border-radius:8px;margin:0;padding:8px 10px;font-family:inherit;font-size:.8rem}.contenido-bloque{margin-bottom:14px}.contenido-bloque-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.etq-vista{background:#fff;border:1px solid #ddd;border-radius:8px;width:170px;margin:4px auto 0;padding:6px}.etq-cara{color:#000;flex-direction:column;justify-content:center;align-items:center;height:50px;display:flex}.etq-cara img{width:auto;max-width:160px;height:40px}.etq-cara svg{width:85px!important;height:28px!important}.etq-sku{margin-top:2px;font:700 9px Arial,sans-serif}.etq-girada{transform:rotate(180deg)}.etq-doblez{border-top:1px dashed #2e9b5a;margin:4px 0}.modal.inv-ficha.fr{position:relative}.fr-cerrar{z-index:2;background:var(--color-card);box-shadow:var(--shadow-lg);border-radius:50%;position:absolute;top:10px;right:10px}.fr-body{padding:0 0 12px}.fr-fotos{scroll-snap-type:x mandatory;aspect-ratio:1;scrollbar-width:none;background:#fff;max-height:40vh;display:flex;overflow-x:auto}.fr-fotos::-webkit-scrollbar{display:none}.fr-fotos img{object-fit:contain;scroll-snap-align:center;flex:0 0 100%;width:100%;height:100%}.fr-sin-foto{background:var(--color-bg);flex:0 0 100%;justify-content:center;align-items:center;display:flex}.fr-puntos{justify-content:center;gap:6px;padding:8px 0 0;display:flex}.fr-puntos span{background:var(--color-border);border-radius:50%;width:6px;height:6px}.fr-puntos span.on{background:var(--color-text)}.fr-nombre{margin:12px 20px 4px;font-size:1.25rem;line-height:1.25}.fr-sku{color:var(--color-text-muted);letter-spacing:.3px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 20px;font-size:.85rem;display:flex}.fr-precios{grid-template-columns:1fr 1fr;gap:10px;margin:14px 20px;display:grid}.fr-precios>div{border:1.5px solid var(--color-border);border-radius:12px;padding:10px 12px}.fr-precios>div:first-child{border-color:var(--color-text)}.fr-precios span,.fr-datos span{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:.72rem;display:block}.fr-precios strong{font-size:1.3rem}.fr-datos{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:12px 16px;margin:0 20px;padding:12px 0;display:grid}.fr-datos strong{font-size:.98rem}.fr-seccion{border-top:1px solid var(--color-border);margin:0 20px;padding:12px 0}.fr-titulo{margin-bottom:6px;font-weight:700}.fr-titulo span{color:var(--color-text-muted);font-weight:400}.fr-piedra{justify-content:space-between;gap:12px;padding:6px 0;font-size:.92rem;display:flex}.fr-piedra .muted{font-size:.8rem}.fr-principal{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;margin-left:6px;padding:0 5px;font-size:.7rem}.fr-desc{border-top:1px solid var(--color-border);white-space:pre-line;color:var(--color-text-muted);margin:0 20px;padding-top:12px;font-size:.88rem}.fr-aviso{margin:12px 20px 0;font-size:.8rem}.fr-footer{gap:8px;display:flex}.fr-footer .btn{flex:1}:root{--curva-ios:cubic-bezier(.32, .72, 0, 1);--gutter:16px}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}html{scroll-behavior:auto}body{-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility}button,a,.inv-card,.chip-option,.tab-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-main{min-width:0;overflow-x:clip}.app-main>*{min-width:0}img{-webkit-user-drag:none}.app-main table,.modal table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.card{min-width:0;max-width:100%}.tabs,.inv-toolbar,.inv-chips,.inv-ficha-acciones{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.inv-toolbar::-webkit-scrollbar{display:none}.inv-chips::-webkit-scrollbar{display:none}.inv-ficha-acciones::-webkit-scrollbar{display:none}.tabs{scroll-snap-type:x proximity;overscroll-behavior-x:contain;border-radius:12px;flex-wrap:nowrap;gap:2px;padding:3px;overflow-x:auto}.tab-btn{white-space:nowrap;scroll-snap-align:start;border-radius:9px;flex:1 0 auto;min-width:0;padding:8px 14px;font-size:.8rem}@media (hover:hover){.card:hover,.stat-box:hover,.inv-card:hover{box-shadow:var(--shadow-lg);transform:none}}.stat-box{padding:12px 14px}.stat-box .stat-label{letter-spacing:.06em;font-size:.68rem;font-weight:600}.stat-box .stat-value{letter-spacing:-.02em;font-size:1.35rem;font-weight:600}.btn{letter-spacing:-.01em;border-radius:12px;min-height:44px}.btn-sm{white-space:nowrap;border-radius:999px;flex:none;width:auto;min-height:34px;padding:6px 14px;font-size:.82rem}.btn:disabled,.btn[disabled]{opacity:.45}.btn:active{transform:scale(.97)}.inv-toolbar{margin:12px calc(-1 * var(--gutter)) 10px;padding:2px var(--gutter);flex-wrap:nowrap;gap:8px;overflow-x:auto}.inv-toolbar .btn{white-space:nowrap;border-radius:999px;flex:none;width:auto;min-height:38px;padding:8px 16px;font-size:.86rem}.inv-chips{margin:0 calc(-1 * var(--gutter)) 12px;padding:2px var(--gutter);flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.inv-chips .chip-option{white-space:nowrap;flex:none}@media (width>=720px){.inv-toolbar,.inv-chips{flex-wrap:wrap;margin-left:0;margin-right:0;padding-left:0;padding-right:0;overflow:visible}}.inv-grid{gap:10px}.inv-card{border:none;border-radius:16px}.inv-card:active{transform:scale(.98)}.inv-card-img{background:#f6f5f3}[data-theme=dark] .inv-card-img{background:#0f1520}.inv-card-body{gap:2px;padding:10px 12px 12px}.inv-card-top{min-width:0}.inv-card-sku{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.68rem;overflow:hidden}.inv-card-top .badge{flex-shrink:0}.inv-card-nombre{margin-top:2px;font-size:.92rem}.inv-card .list-item-sub{white-space:nowrap;text-overflow:ellipsis;margin-top:0;overflow:hidden}.inv-card-precio{letter-spacing:-.01em;flex-direction:column;margin-top:6px;font-size:1rem;font-weight:700;display:flex}.inv-card-meses{color:var(--color-text-muted);letter-spacing:0;font-size:.74rem;font-weight:500}.inv-card-costo{color:var(--color-text-muted);margin-top:2px;font-size:.74rem;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;background:#00000052;animation:.25s fondo-entra}@keyframes fondo-entra{0%{opacity:0}to{opacity:1}}.modal{animation:slide-up .38s var(--curva-ios);overscroll-behavior:contain;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.modal.inv-ficha{padding-bottom:0}@media (width>=720px){.modal-backdrop{align-items:center}.modal{animation:aparece .25s var(--curva-ios);border-radius:20px}}@keyframes aparece{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}.inv-ficha-header{padding:18px 20px 6px}.inv-ficha-header h3{letter-spacing:-.01em;font-size:1.15rem}.inv-ficha-acciones{flex-shrink:0;align-items:center;gap:8px;padding:4px 20px 10px;display:flex;overflow-x:auto}.inv-ficha-acciones .badge{flex-shrink:0}.inv-ficha-tabs{box-shadow:none;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;gap:2px;margin:0 0 4px;padding:0 14px}.inv-ficha-tabs .tab-btn{color:var(--color-text-muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:10px}.inv-ficha-tabs .tab-btn.active{color:var(--color-text);border-bottom-color:var(--color-text);background:0 0}.inv-ficha-footer .btn{flex:1}.bottom-nav{padding:6px 6px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);transition:transform .3s var(--curva-ios);background:#07090deb;justify-content:space-around}.nav-item{flex:1 1 0;gap:3px;min-width:0;padding:6px 2px 4px;font-size:.66rem}.nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.nav-mas-fondo{z-index:19;background:#0000004d;animation:.2s fondo-entra;position:fixed;inset:0}.nav-mas{left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));animation:aparece .25s var(--curva-ios);background:#11151c;border:1px solid #c9a84c33;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:4px;padding:10px;display:grid;position:absolute}.nav-mas-item{color:#ede8dc;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;font-family:inherit;font-size:.75rem;font-weight:600;display:flex}.nav-mas-item:active{background:#c9a84c1f;transform:scale(.96)}.nav-mas-icono{color:#c9a84c}.chip-option{min-height:34px}.badge{letter-spacing:.01em;white-space:nowrap;padding:2px 8px;font-size:.68rem}@media (width<=719px){input,select,textarea{font-size:16px}}input,select,textarea{border-radius:12px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #c9a84c2e}.nav-icon{justify-content:center;align-items:center;height:24px;display:flex}@media (width>=720px){.page-elah>.tabs{-webkit-mask-image:none;mask-image:none}}#root,.app{height:auto;min-height:100dvh}.page-elah>.tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}@media (width>=720px){.page-elah>.tabs{-webkit-mask-image:none;mask-image:none}}.inv-card-img{position:relative}.inv-card-estado{position:absolute;top:8px;left:8px;box-shadow:0 1px 3px #0000001f}.inv-card-sku{display:block}.gx-periodos{margin:10px calc(-1 * var(--gutter)) 12px;padding:2px var(--gutter);scrollbar-width:none;flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.gx-periodos::-webkit-scrollbar{display:none}.gx-periodos .chip-option{white-space:nowrap;flex:none}@media (width>=720px){.gx-periodos{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}.gx-chico{margin:6px 0 0;font-size:.78rem}.gx-titulo{margin:0 0 8px;font-size:1rem}.gx-hero{flex-direction:column;gap:4px;padding:18px;display:flex}.gx-hero-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.gx-hero-valor{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700}.gx-hero-valor.neg,.gx-neg{color:var(--color-danger)}.gx-hero-mult{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.gx-hero-mult b{color:var(--color-text)}.gx-er{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:7px 0;font-size:.92rem;display:flex}.gx-er.total{border-top:1px solid var(--color-border);font-weight:700}.gx-er.fuerte{border-top:2px solid var(--color-text);margin-top:2px;font-size:1.05rem}.gx-aviso{color:#92400e;background:#fef3c7;border-radius:8px;margin:8px 0 0;padding:6px 10px;font-size:.78rem}.gx-encabezado{justify-content:space-between;align-items:center;gap:10px;display:flex}.gx-encabezado .gx-titulo{margin:0}.gx-pct{align-items:center;gap:6px;display:flex}.gx-pct input{text-align:right;width:74px;padding:6px 10px}.gx-fila{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.gx-cats{flex-direction:column;gap:6px;margin:12px 0;display:flex}.gx-cat{grid-template-columns:minmax(90px,1.2fr) 2fr auto;align-items:center;gap:10px;font-size:.84rem;display:grid}.gx-cat span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gx-barra{background:var(--color-bg);border-radius:99px;height:8px;overflow:hidden}.gx-barra i{background:var(--color-elah);border-radius:99px;height:100%;display:block}.gx-lista{flex-direction:column;display:flex}.gx-gasto{border:none;border-top:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-family:inherit;font-size:.92rem;display:flex}.gx-gasto>div{min-width:0}.gx-gasto strong{font-variant-numeric:tabular-nums}.gx-gasto:active{opacity:.6}.gx-gasto.anulado{opacity:.45}.gx-gasto.anulado>strong{text-decoration:line-through}.gx-modal-top{justify-content:space-between;align-items:center;display:flex}.gx-modal-top h3{margin:0}.gx-campos{border:none;min-width:0;margin:12px 0 0;padding:0}.gx-monto{justify-content:center;align-items:center;gap:4px;margin:4px 0 16px;display:flex}.gx-monto span{color:var(--color-text-muted);font-size:2rem;font-weight:300}.gx-monto input{text-align:left;letter-spacing:-.02em;min-width:0;max-width:80%;box-shadow:none;background:0 0;border:none;padding:4px;font-size:2.4rem;font-weight:700}.gx-monto input:focus{box-shadow:none}.gx-ticket{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gx-modal-acciones{gap:10px;margin-top:14px;display:flex}.fr-piso{color:var(--color-text-muted);margin:-6px 20px 12px;font-size:.8rem}.fr-piso b{color:var(--color-text)}.venta-piso{color:var(--color-text-muted);margin:6px 0 0;font-size:.8rem}.venta-piso.abajo{color:var(--color-danger);font-weight:600}.venta-piso b{color:inherit}.gx-lote-resumen{background:var(--color-bg);font-variant-numeric:tabular-nums;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:4px;padding:12px 14px;display:grid}.gx-lote-resumen div{justify-content:space-between;gap:8px;font-size:.86rem;display:flex}.gx-lote-resumen span{color:var(--color-text-muted)}.gx-lote-mult{border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:8px;font-size:1rem!important}:root{--color-bg:#f6f4ef;--color-card:#fff;--color-text:#18202e;--color-text-muted:#5d6576;--color-border:#e2ded4;--color-elah:#a9852f;--color-gold:#a9852f;--color-gold-soft:#f3ead2;--color-navy:#1f3864;--color-success:#1f7a4d;--color-danger:#b3261e;--color-good-soft:#e3f3ea;--color-warn:#9a6a00;--color-warn-soft:#fbf0d5;--color-bad-soft:#fbe6e4;--shadow:0 1px 2px #18202e0a;--shadow-lg:0 6px 20px #18202e12;--f-display:"Josefin Sans", "Futura", "Century Gothic", sans-serif;--f-body:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--f-num:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}[data-theme=dark]{--color-bg:#0e1320;--color-card:#161d2e;--color-text:#ece8de;--color-text-muted:#9aa3b5;--color-border:#273046;--color-elah:#d4b45f;--color-gold:#d4b45f;--color-gold-soft:#2a2717;--color-navy:#8fa9d9;--color-success:#5cc48f;--color-danger:#f08a80;--color-good-soft:#14291f;--color-warn:#e3b54a;--color-warn-soft:#2b2412;--color-bad-soft:#2e1717;--shadow:0 1px 2px #0000004d;--shadow-lg:0 6px 20px #0006}body{font-family:var(--f-body);font-size:15px}html{background:var(--color-bg)}.card{border:1px solid var(--color-border);box-shadow:var(--shadow)}.stat-box,.inv-card{border:1px solid var(--color-border);box-shadow:none}.page-title h1,.app-header h1,.card h2,.card h3,.modal h3,.inv-ficha-header h3,.gx-titulo,.fr-nombre,.login-screen h1{font-family:var(--f-display);letter-spacing:.02em}.page-title h1{letter-spacing:.03em;font-weight:300}.card h2,.card h3,.modal h3,.gx-titulo{font-weight:600}.stat-box .stat-label,.gx-hero-label,.fr-precios span,.fr-datos span{font-family:var(--f-display);letter-spacing:.12em;color:var(--color-text-muted);font-weight:600}.stat-box .stat-value,.gx-hero-valor,.gx-er span:last-child,.fr-precios strong,.inv-precio,.inv-card-precio,.pl-num,.pl-v,.pl-fila span:last-child,.pl-tabla td,.gx-gasto>strong,.gx-fila>strong,.gx-cat b,.rep-val{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-box .stat-value{font-size:1.3rem;font-weight:500}.gx-hero-valor{font-weight:600}.inv-card-precio{font-size:.95rem;font-weight:600}.badge-success{background:var(--color-good-soft);color:var(--color-success)}.badge-oro{background:var(--color-warn-soft);color:var(--color-warn)}.badge-pending{background:var(--color-bad-soft);color:var(--color-danger)}.gx-aviso{background:var(--color-warn-soft);color:var(--color-warn)}input:focus,select:focus,textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-soft)}::selection{background:var(--color-gold-soft)}.btn:focus-visible,.tab-btn:focus-visible,.chip-option:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.pl{flex-direction:column;gap:14px;display:flex}.pl-card{flex-direction:column;gap:12px;margin-bottom:0;display:flex}.pl-eyebrow{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.2em;color:var(--color-gold);font-size:.7rem;font-weight:600}.pl-h{font-family:var(--f-display);letter-spacing:.03em;text-wrap:balance;margin:0;font-size:1.1rem;font-weight:600}.pl-lead{color:var(--color-text-muted);margin:0;font-size:.92rem}.pl-lead b,.pl-nota b{color:var(--color-text)}.pl-nota{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin:0;padding-top:10px;font-size:.8rem}.pl-hero{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (width<=719px){.pl-hero{grid-template-columns:minmax(0,1fr)}}.pl-hero>div{background:var(--color-card);flex-direction:column;gap:5px;min-width:0;padding:16px 18px;display:flex}.pl-k{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.pl-v{overflow-wrap:anywhere;font-size:1.45rem;font-weight:600}.pl-v.neg,.pl-fila .neg,.pl-tabla td.neg{color:var(--color-danger)}.pl-s{color:var(--color-text-muted);font-size:.8rem}.pl-barra{background:var(--color-bg);border:1px solid var(--color-border);border-radius:99px;height:8px;overflow:hidden}.pl-barra.grande{height:12px}.pl-barra i{background:var(--color-gold);height:100%;transition:width .4s var(--curva-ios);border-radius:99px;display:block}.pl-er{flex-direction:column;min-width:0;display:flex}.pl-sub{margin-bottom:4px;font-size:.88rem;font-weight:700}.pl-fila{border-bottom:1px dashed var(--color-border);justify-content:space-between;gap:12px;padding:7px 0;font-size:.9rem;display:flex}.pl-fila span:last-child{white-space:nowrap}.pl-fila.menos span:last-child{color:var(--color-text-muted)}.pl-fila.total{border-bottom:1px solid var(--color-border);font-weight:700}.pl-fila.final{border-top:2px solid var(--color-text);border-bottom:none;margin-top:2px;font-size:.98rem;font-weight:700}.pl-dos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=719px){.pl-dos{grid-template-columns:minmax(0,1fr)}}.pl-kpi{border-bottom:1px dashed var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 0;font-size:.9rem;display:grid}.pl-kpi:last-child{border-bottom:none}.pl-meta{color:var(--color-text-muted);margin:2px 0 0;font-size:.76rem}.pl-pill{white-space:nowrap;font-size:.7rem;font-weight:700;font-family:var(--f-body);border-radius:999px;margin-left:6px;padding:2px 9px;display:inline-block}.pl-pill.good{background:var(--color-good-soft);color:var(--color-success)}.pl-pill.warn{background:var(--color-warn-soft);color:var(--color-warn)}.pl-pill.bad{background:var(--color-bad-soft);color:var(--color-danger)}.pl-tabla{border:1px solid var(--color-border);border-radius:10px;overflow-x:auto}.pl-tabla table{border-collapse:collapse;width:100%;min-width:420px;font-size:.85rem;display:table}.pl-tabla th,.pl-tabla td{text-align:right;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:8px 10px}.pl-tabla th:first-child,.pl-tabla td:first-child{text-align:left}.pl-tabla th{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);background:var(--color-bg);font-size:.68rem}.pl-tabla tr:last-child td{border-bottom:none}.pl-tabla tr.hoy td{background:var(--color-gold-soft)}.pl-reparto{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=719px){.pl-reparto{grid-template-columns:repeat(2,minmax(0,1fr))}}.pl-reparto div{border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.pl-reparto b{font-family:var(--f-display);color:var(--color-gold);font-size:1.35rem;font-weight:600}.pl-reparto span{color:var(--color-text-muted);font-size:.78rem}.pl-pasos{counter-reset:paso;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pl-pasos li{counter-increment:paso;grid-template-columns:30px minmax(0,1fr);gap:12px;display:grid}.pl-pasos li:before{content:counter(paso);border:1px solid var(--color-gold);width:28px;height:28px;color:var(--color-gold);font-family:var(--f-display);border-radius:50%;place-items:center;font-size:.85rem;font-weight:600;display:grid}.pl-pasos li>div{flex-direction:column;gap:6px;min-width:0;display:flex}.pl-pasos h4{margin:0;font-size:.92rem}.pl-pasos p{color:var(--color-text-muted);margin:0;font-size:.86rem}.pl-pasos p b{color:var(--color-text)}.pl-cal{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:3px;display:grid}.pl-cal div{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:4px;font-size:.66rem;display:flex}.pl-cal div.actual{color:var(--color-text);font-weight:700}.pl-cal i{background:var(--color-border);border-radius:4px;width:100%;display:block}.pl-cal i.alta{background:var(--color-gold)}.pl-cal i.expo{background:var(--color-navy)}.pl-leyenda{color:var(--color-text-muted);gap:14px;font-size:.76rem;display:flex}.pl-leyenda span:before{content:"";vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.pl-leyenda .alta:before{background:var(--color-gold)}.pl-leyenda .expo:before{background:var(--color-navy)}.pl-enc{justify-content:space-between;align-items:center;gap:10px;display:flex}.pl-campos{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;display:grid}@media (width<=719px){.pl-campos{grid-template-columns:minmax(0,1fr)}}.pl-metas{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}@media (width<=719px){.pl-metas{grid-template-columns:minmax(0,1fr)}}.pl-metas div{border-bottom:1px dashed var(--color-border);justify-content:space-between;gap:10px;padding:7px 0;font-size:.86rem;display:flex}.pl-metas span{color:var(--color-text-muted)}.pl-metas b{font-family:var(--f-num);white-space:nowrap;font-weight:500}@media (prefers-reduced-motion:reduce){.pl-barra i{transition:none}}.pl-roi{background:var(--color-border);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (width<=719px){.pl-roi{grid-template-columns:repeat(2,minmax(0,1fr))}}.pl-roi-item{background:var(--color-card);flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.inv-card-marcas{pointer-events:none;flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:8px;left:8px;right:8px}.inv-card-marcas .badge{box-shadow:0 1px 3px #0000001f}.inv-badge-nueva{background:var(--color-navy);color:#fff}[data-theme=dark] .inv-badge-nueva{color:#0e1320}.inv-badge-iguales{background:var(--color-gold);color:#fff}[data-theme=dark] .inv-badge-iguales{color:#0e1320}.inv-badge-etiqueta{background:var(--color-warn-soft);color:var(--color-warn);border:1px dashed var(--color-warn)}.inv-pendientes{background:var(--color-warn);color:#fff;min-width:20px;height:20px;font-size:.7rem;font-weight:700;font-family:var(--f-num);border-radius:99px;justify-content:center;align-items:center;margin-left:6px;padding:0 6px;display:inline-flex}.chip-option.chip-alerta:not(.active){border-color:var(--color-warn);color:var(--color-warn);background:var(--color-warn-soft)}.inv-badge-buscar{background:var(--color-bad-soft);color:var(--color-danger);border:1px solid var(--color-danger)}.chip-option.chip-buscar:not(.active){border-color:var(--color-danger);color:var(--color-danger);background:var(--color-bad-soft)}.pb-aviso-wrap{padding:0 20px 8px}.fr-body .pb-aviso-wrap{padding:12px 20px 0}.pb-aviso{background:var(--color-bad-soft);border:1px solid var(--color-danger);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.pb-aviso>div{flex-direction:column;gap:2px;min-width:0;display:flex}.pb-aviso strong{color:var(--color-danger);font-size:.9rem}.pb-aviso span{color:var(--color-text-muted);font-size:.78rem}.fr-footer .pb-boton{flex:none}.pb-lista{flex-direction:column;display:flex}.pb-item{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 0;display:flex}.pb-item:last-child{border-bottom:none}.pb-item-info{text-align:left;min-width:0;color:var(--color-text);cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;font-family:inherit;display:flex}.pb-foto{background:var(--color-bg);border-radius:10px;flex:0 0 56px;width:56px;height:56px;overflow:hidden}.pb-foto img{object-fit:cover;width:100%;height:100%}.pb-texto{flex-direction:column;gap:1px;min-width:0;font-size:.85rem;display:flex}.pb-texto strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.pb-nota{color:var(--color-danger);font-size:.8rem}.pb-boton-lista{color:var(--color-danger);border-color:var(--color-danger)!important}.inv-pendientes.pb-num{background:var(--color-danger)}
