.theme-toggle{height:38px;padding:0 14px 0 10px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}.theme-toggle:hover{background:var(--hover)}.theme-toggle:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}.theme-toggle svg{width:20px;height:20px}.theme-toggle.floating{position:fixed;top:16px;right:16px;z-index:30;box-shadow:0 4px 14px rgba(var(--shadow-rgb),.18)}@media (max-width: 820px){.theme-toggle:not(.floating){width:38px;padding:0;justify-content:center}.theme-toggle:not(.floating) span{display:none}}.shell{--side-w: clamp(200px, 15vw, 240px);height:100vh;overflow:hidden;display:grid;grid-template-columns:var(--side-w) 1fr;background:var(--bg-page)}.shell button{font:inherit;cursor:pointer}.shell.collapsed{--side-w: 72px}.shell{transition:grid-template-columns .18s ease}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(185deg,#12306f,#0c2052 60%,#0a1a45);color:#fff;overflow:hidden}.side-brand{padding:clamp(10px,2vh,18px) 16px clamp(8px,1.4vh,12px);text-align:center;border-bottom:1px solid rgba(255,255,255,.14);margin:0 12px}.side-brand img{display:block;margin:0 auto;max-width:130px;max-height:clamp(52px,9vh,80px);width:auto;height:auto;object-fit:contain}.side-brand p{margin:8px 0 0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding:clamp(6px,1.4vh,12px) 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.sidebar ul{list-style:none;margin:0;padding:0}.section{margin:clamp(8px,1.6vh,14px) 0 4px 14px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#ffffff80}.sidebar .item{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:clamp(8px,1.4vh,11px) 12px;border:0;border-radius:10px;background:transparent;color:#ffffffeb;font-size:14px;text-align:left;white-space:nowrap}.sidebar .item>svg:first-child{width:22px;height:22px;flex:none}.sidebar .item>span{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar .item .chev{width:16px;height:16px;flex:none;opacity:.7;transition:transform .18s ease}.sidebar .item .chev.up{transform:rotate(180deg)}.sidebar .item:hover{background:#ffffff17;color:#fff}.sidebar .item.home.active{background:#2f6fe0;color:#fff;font-weight:600;box-shadow:0 4px 12px #2f6fe066}.sidebar .item.current{color:#fff;background:#ffffff12}.sidebar .item.current:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}.sidebar .item.current>svg:first-child{color:#e2cf86}.sub{margin:2px 0 6px 23px;padding-left:12px;border-left:1px solid rgba(255,255,255,.18);display:grid;gap:1px}.sub button{width:100%;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#ffffffbf;font-size:13.5px;text-align:left}.sub button:hover{background:#ffffff17;color:#fff}.sub button.active{background:#2f6fe0e6;color:#fff;font-weight:600}.sidebar button:focus-visible,.icon-btn:focus-visible,.user-btn:focus-visible,.quick button:focus-visible,.results button:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}.side-foot{margin:0 12px;padding:8px 0 clamp(8px,1.6vh,14px);border-top:1px solid rgba(255,255,255,.14)}@media (min-width: 821px){.collapsed .side-brand{margin:0 8px;padding-inline:4px}.collapsed .side-brand img{max-width:48px}.collapsed .side-brand p,.collapsed .section,.collapsed .item>span,.collapsed .item .chev{display:none}.collapsed .sidebar .item{justify-content:center;padding-inline:0}.collapsed .item.current:before{left:-10px}}.scrim{display:none}.main{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:clamp(6px,1.2vh,10px) clamp(12px,1.6vw,22px);background:var(--surface);box-shadow:0 1px 0 var(--line)}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--ink)}.icon-btn:hover{background:var(--hover)}.icon-btn svg{width:24px;height:24px}.crumbs{flex:1;min-width:0}.crumbs h1{margin:0;font-size:22px;line-height:1.1}.crumbs p{margin:2px 0 0;font-size:13px;color:var(--muted)}.crumbs p span{margin:0 6px}.search{position:relative;width:min(300px,26vw)}.search svg{position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search input{width:100%;height:38px;padding:0 16px 0 42px;border:1px solid var(--field-border);border-radius:999px;background:var(--field);font:inherit;color:var(--ink)}.search input:focus{outline:2px solid var(--blue);outline-offset:1px;background:var(--surface)}.divider{width:1px;height:30px;background:var(--line-strong)}.user{position:relative}.user-btn{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:0;border-radius:999px;background:transparent;color:var(--ink)}.user-btn:hover{background:var(--hover)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--avatar-bg);color:#fff}.avatar svg{width:20px;height:20px}.user-name{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chev{width:18px;height:18px}.user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;padding:8px;border-radius:12px;background:var(--surface);box-shadow:0 12px 34px rgba(var(--shadow-rgb),.22)}.user-menu p{margin:0;padding:8px 10px 10px;display:grid;gap:2px;border-bottom:1px solid var(--line)}.user-menu p span{font-size:13px;color:var(--muted)}.user-menu button{width:100%;margin-top:6px;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--ink)}.user-menu button:hover{background:var(--hover)}.user-menu svg{width:20px;height:20px}.content{flex:1;min-height:0;overflow-y:auto;padding:clamp(10px,2vh,20px) clamp(12px,1.6vw,22px)}.content.dash{display:grid;grid-template-rows:minmax(150px,1fr) auto auto;gap:clamp(8px,1.8vh,16px)}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:16px;padding:clamp(12px,3vh,32px) clamp(20px,3.4vw,48px);min-height:0;border-radius:16px;background:radial-gradient(520px 320px at 85% 20%,var(--hero-glow) 0%,transparent 70%),linear-gradient(110deg,var(--hero-a) 0%,var(--hero-b) 45%,var(--hero-c) 100%);box-shadow:0 6px 22px rgba(var(--shadow-rgb),.08);overflow:hidden}.eyebrow{margin:0;font-size:clamp(14px,2.4vh,20px);font-weight:600;letter-spacing:3px;color:#a18a3c}.hero h2{margin:2px 0 0;font-size:clamp(40px,9vh,68px);line-height:1;font-weight:800;letter-spacing:-1px;color:var(--navy)}.hero-sub{margin:0;font-size:clamp(18px,3.4vh,28px);letter-spacing:.5px;color:var(--navy)}.hero hr{width:124px;height:3px;margin:clamp(8px,2vh,16px) 0;border:0;background:var(--gold)}.hero-tag{margin:0;font-size:clamp(16px,2.8vh,22px);font-weight:500;color:var(--ink-2)}.hero-desc{margin:8px 0 0;max-width:460px;font-size:clamp(13px,2vh,16px);line-height:1.4;color:var(--muted)}.hero-logo{width:auto;max-width:100%;max-height:100%;height:clamp(130px,33vh,260px);object-fit:contain;justify-self:center}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tile{display:flex;align-items:center;gap:16px;padding:clamp(8px,1.8vh,16px) 18px;border-radius:14px;border:1px solid transparent}.tile>svg{width:clamp(34px,5vh,46px);height:clamp(34px,5vh,46px);flex:none;stroke-width:1.5}.tile h3{margin:0;font-size:13px;font-weight:500;color:var(--ink-2)}.tile .value{margin:0;font-size:clamp(20px,3.6vh,28px);font-weight:800;color:var(--navy)}.tile .note{margin:0;font-size:13px;color:var(--muted)}.tile.green{background:var(--tile-green-bg);border-color:var(--tile-green-line);color:var(--tile-green-fg)}.tile.blue{background:var(--tile-blue-bg);border-color:var(--tile-blue-line);color:var(--tile-blue-fg)}.tile.gold{background:var(--tile-gold-bg);border-color:var(--tile-gold-line);color:var(--tile-gold-fg)}.tile.violet{background:var(--tile-violet-bg);border-color:var(--tile-violet-line);color:var(--tile-violet-fg)}.quick{padding:clamp(8px,1.6vh,14px) 18px clamp(10px,1.8vh,16px);border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(var(--shadow-rgb),.07)}.quick h2{display:flex;align-items:center;gap:10px;margin:0 0 clamp(6px,1.2vh,10px);font-size:16px;font-weight:600}.quick h2 svg{width:20px;height:20px}.quick ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.quick button{width:100%;height:clamp(66px,11vh,96px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 3px 10px rgba(var(--shadow-rgb),.06);transition:transform .12s ease,box-shadow .12s ease}.quick button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(var(--shadow-rgb),.14)}.quick button svg{width:clamp(26px,4vh,34px);height:clamp(26px,4vh,34px);stroke-width:1.6}.quick button span{color:var(--ink);font-size:14px;text-align:center;line-height:1.2}.placeholder{padding:32px;border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(var(--shadow-rgb),.07)}.placeholder h2{margin:0 0 8px}.placeholder p{margin:0;color:var(--muted)}@media (max-width: 1100px){.hero{grid-template-columns:1fr;padding:28px}.hero-logo{display:none}.search{width:220px}}@media (max-width: 820px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:min(280px,82vw);transform:translate(-100%);transition:transform .2s ease}.nav-open .sidebar{transform:none}.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;background:var(--scrim)}.topbar{padding:10px 12px;gap:8px;flex-wrap:wrap}.crumbs h1{font-size:20px}.search{order:5;width:100%}.divider,.user-name{display:none}.content{padding:14px}.hero h2{font-size:52px}.hero-sub{font-size:20px}.eyebrow{font-size:16px}}@media (prefers-reduced-motion: reduce){.sidebar,.quick button{transition:none}}.results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;list-style:none;margin:0;padding:6px;border-radius:12px;background:var(--surface);box-shadow:0 12px 34px rgba(var(--shadow-rgb),.22);max-height:60vh;overflow-y:auto}.results .empty{padding:12px;color:var(--muted);font-size:14px}.results button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.results button:hover{background:var(--hover)}.results button svg{position:static;transform:none;width:20px;height:20px;flex:none;color:var(--blue-dark)}.results small{margin-left:auto;color:var(--muted);font-size:12px}.tc-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px 20px}.centro-form .tc-grid input.monto{font-variant-numeric:tabular-nums}.tcambio .tc-filters{align-items:flex-end}.tcambio .tc-filters .btn,.tcambio .tc-filters .cat-check{height:40px}.tcambio .tc-date{display:grid;gap:2px;width:140px;font-size:12px;color:var(--muted)}.tcambio .tc-date input{width:100%;height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;color:var(--ink)}.tcambio .tc-date input:focus{outline:2px solid var(--blue);outline-offset:1px}.tc-help{margin:0;color:var(--muted);font-size:13px}.tc-pager{display:flex;align-items:center;gap:12px}.tc-pager span:first-child{flex:1}.tc-chip{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:13px;white-space:nowrap}.tc-chip strong{color:var(--ink);font-variant-numeric:tabular-nums}.tc-chip.stale{border-color:var(--danger-line);color:var(--warn-fg)}@media (max-width: 1100px){.tc-chip{display:none}.tc-grid{grid-template-columns:1fr 1fr}}.tcambio td.monto+td,.tcambio th.monto+th{padding-left:32px}.asiento-form .as-head{display:grid;grid-template-columns:minmax(150px,190px) minmax(150px,220px) minmax(150px,200px) minmax(130px,170px) 1fr;gap:16px 20px}.asiento-form .as-head .wide{grid-column:1 / -1}.asiento-form input:not([type=checkbox]),.asiento-form select,.asiento-form textarea,.as-filters .as-date input,.as-filters .as-origen{width:100%;height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;color:var(--ink)}.asiento-form textarea{height:auto;padding:8px 10px;background:var(--note-bg);resize:vertical}.asiento-form input:focus,.asiento-form select:focus,.asiento-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.asiento-form input:disabled,.asiento-form select:disabled,.asiento-form textarea:disabled{background:var(--field-off);color:var(--ink-2);opacity:1}.asiento-form .bad{border-color:var(--danger-line);background:var(--danger-bg)}.as-note{margin:0;padding:10px 14px;border-radius:8px;background:var(--hover);font-size:14px}.as-rates{display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0;font-size:14px;color:var(--ink-2)}.as-rates .missing{color:var(--warn-fg)}.as-lines-scroll{overflow-x:auto}.as-lines{width:100%;min-width:760px;border-collapse:collapse}.as-lines th{padding:6px;text-align:left;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-2)}.as-lines td{padding:4px;vertical-align:middle}.as-lines th.monto,.as-lines td.monto{text-align:right}.as-lines td.n{width:28px;color:var(--muted)}.as-lines td.cta{min-width:280px}.as-lines td.cc{min-width:190px}.as-lines td.amt{width:150px}.as-lines td.calc{width:130px;padding-right:10px;color:var(--ink-2)}.as-lines td.del{width:36px}.as-lines tfoot td{padding:10px 10px 4px 4px;border-top:2px solid var(--line-strong);font-weight:700}.as-lines .tot-label{text-align:right;color:var(--ink-2)}.row-del{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;cursor:pointer}.row-del:hover{background:var(--hover)}.row-del img{width:18px;height:18px}.as-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:12px}.as-foot p{margin:0;font-size:14px}.as-balance{font-weight:700;color:var(--ink-2)}.as-balance.ok{color:var(--ok-fg)}.as-balance.off{color:var(--danger-fg)}.as-currencies{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--ink-2)}.as-filters .as-date{display:grid;gap:2px;width:140px;font-size:12px;color:var(--muted)}.as-filters .as-origen{width:auto;min-width:190px}.cat-card td.desc{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.as-pager{display:flex;align-items:center;gap:12px}.as-pager span:first-child{flex:1}@media (max-width: 960px){.asiento-form .as-head{grid-template-columns:1fr 1fr}}.cat-toolbar.as-filters{align-items:flex-end}.cat-toolbar.as-filters .cat-search,.cat-toolbar.as-filters .cat-check,.cat-toolbar.as-filters .btn{height:40px}.asiento-form .as-head label:not(.wide)>span:first-child{text-align:center}.asiento-form .as-lines th,.asiento-form .as-lines th.monto{text-align:center}.catalogo{min-height:0;display:flex;flex-direction:column;gap:12px}.catalogo button{font:inherit;cursor:pointer}.cat-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cat-search{position:relative;flex:1 1 260px;max-width:420px}.cat-search svg{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted)}.cat-search input{width:100%;height:40px;padding:0 14px 0 38px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);font:inherit;color:var(--ink)}.cat-search input:focus{outline:2px solid var(--blue);outline-offset:1px}.cat-check{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.cat-check input{width:18px;height:18px;accent-color:var(--blue)}.btn{height:40px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;border:1px solid transparent;font-size:14px}.btn svg{width:18px;height:18px}.btn.primary{margin-left:auto;background:linear-gradient(180deg,#3a7be8,var(--blue-dark));color:#fff;box-shadow:0 4px 10px #2f6fe040}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.ghost{background:var(--surface);border-color:var(--field-border);color:var(--ink)}.btn.ghost:hover{background:var(--hover)}.cat-notice{margin:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-fg);font-size:14px}.cat-notice button,.row-btn{width:34px;height:34px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--blue-dark)}.cat-notice button svg,.row-btn svg{width:18px;height:18px}.row-btn:hover{background:var(--hover)}.cat-card{min-height:0;display:flex;flex-direction:column;border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(var(--shadow-rgb),.07);overflow:hidden}.cat-scroll{overflow:auto;max-height:calc(100vh - 260px)}.cat-card table{width:100%;border-collapse:collapse;font-size:14px}.cat-card th{position:sticky;top:0;z-index:1;padding:10px 14px;background:var(--surface-alt);color:var(--ink-2);font-size:12px;font-weight:600;letter-spacing:.4px;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--line)}.cat-card td{padding:7px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.cat-card tbody tr:hover{background:var(--surface-alt)}.cat-card tr.group td{font-weight:600}.cat-card tr.l1 td{background:var(--surface-alt)}.cat-card tr.off td{color:var(--ink-3)}.cat-card .actions{text-align:right;width:96px}.code{font-variant-numeric:tabular-nums;color:var(--ink-2)}.name{display:inline-flex;align-items:center;gap:4px}.twisty,.twisty-gap{width:26px;height:26px;flex:none}.twisty{display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--ink)}.twisty:hover{background:var(--hover)}.twisty svg{width:16px;height:16px;transition:transform .12s ease}.twisty svg.right{transform:rotate(-90deg)}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.tag.mov{background:var(--selected);color:var(--link)}.tag.grp{background:var(--violet-bg);color:var(--violet-fg)}.tag.ok{background:var(--ok-bg);color:var(--ok-fg)}.tag.off{background:var(--field-off);color:var(--ink-2)}.cat-empty{margin:0;padding:40px 20px;text-align:center;color:var(--muted)}.cat-empty.error{color:var(--danger)}.cat-foot{margin:0;padding:8px 14px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}@media (max-width: 820px){.btn.primary{margin-left:0}.cat-scroll{max-height:none}}.cform{display:grid;gap:16px;padding:clamp(14px,2vh,22px) clamp(14px,2vw,26px) 0;border-radius:14px;background:var(--surface);box-shadow:0 4px 16px rgba(var(--shadow-rgb),.07);color:var(--ink)}.cform-head{display:flex;align-items:center;gap:16px}.cform-head h2{margin:0;font-size:clamp(24px,3.2vh,30px);color:var(--link)}.cform-head p{margin:2px 0 0;color:var(--muted);font-size:15px}.cform-head .back{width:50px;height:50px;padding:6px;border:0;border-radius:10px;background:var(--surface);box-shadow:0 2px 8px rgba(var(--shadow-rgb),.18);cursor:pointer}.cform-head .back:hover{box-shadow:0 4px 12px rgba(var(--shadow-rgb),.28)}.cform-head .back img{width:100%;height:100%;display:block}.cform-head .scale{width:46px;height:46px;object-fit:contain}.panel{margin:0;min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt)}.panel h3{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-2)}.ident{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:24px}.cform label>span:first-child{display:block;margin-bottom:4px;font-size:15px;font-weight:700;color:var(--ink)}.cform label>small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}.ident input{width:100%;height:46px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;font-size:19px;color:var(--ink)}.ident input.code{background:var(--field-off);font-variant-numeric:tabular-nums}.ident input[readonly]{cursor:default;color:var(--ink-2)}.ident input:focus,.hier select:focus{outline:2px solid var(--blue);outline-offset:1px}.cform-cols{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(300px,1fr);gap:16px;align-items:start}.tipos legend{display:flex;align-items:center;gap:12px;padding:0;font-size:18px;font-weight:700;float:left;width:100%;margin-bottom:10px}.tipos legend img{width:36px;height:36px}.tipo-list{clear:both;display:grid;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.tipo-list label{display:grid;grid-template-columns:40px 22px 1fr;align-items:center;gap:12px;padding:9px 14px 9px 10px;cursor:pointer;border-bottom:1px solid var(--line);transition:background .12s ease}.tipo-list label:last-child{border-bottom:0}.tipo-list label:hover{background:var(--surface-alt)}.tipo-list label.sel{background:var(--selected);box-shadow:inset 4px 0 #3f51c8}.tipo-list img{width:34px;height:34px;object-fit:contain;justify-self:center}.tipo-list input{width:20px;height:20px;accent-color:#3f51c8}.tipo-list strong{display:block;font-size:16px}.tipo-list small{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.25}.side{display:grid;gap:16px;min-width:0}.switch-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.switch-row:last-of-type{border-bottom:0}.switch-row img{width:36px;height:36px;object-fit:contain;justify-self:center}.switch-row>span{font-size:17px;font-weight:700}.switch-row>span small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--ink-2)}.switch-row>span small.warn{color:var(--warn-fg)}.switch{position:relative;width:60px;height:34px;padding:0;border:0;border-radius:999px;cursor:pointer;transition:background .15s ease}.switch span{position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d;transition:transform .15s ease}.switch.on{background:#2dbb15}.switch.red{background:#c40012}.switch.amber{background:#f6b81f}.switch.on span{transform:translate(26px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible,.cform .back:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}.info{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:14px;margin:8px 0 2px}.info img{width:24px;height:24px;justify-self:center}.info span{padding:9px 14px;border-radius:8px;background:var(--hover);font-size:14px;line-height:1.3}.hier{display:grid;grid-template-columns:40px 1fr 40px 90px;align-items:start;gap:12px 14px;padding-top:6px}.hier>img{width:32px;height:32px;object-fit:contain;justify-self:center;margin-top:22px}.hier select{width:100%;height:44px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;font-size:16px;color:var(--ink)}.hier select:disabled{background:var(--field-off);color:var(--ink-2);opacity:1}.hier output{display:grid;place-items:center;height:44px;border-radius:8px;background:var(--field-off);font-size:19px;font-weight:600;color:var(--ink)}.cform-bar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;margin:0 calc(-1*clamp(14px,2vw,26px));padding:12px clamp(14px,2vw,26px);border-top:1px solid var(--line);border-radius:0 0 14px 14px;background:var(--surface-glass);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cform-bar p{flex:1;margin:0;font-size:14px}.cform-bar .hint{color:var(--muted)}.cform-bar .alert{margin:0}@media (max-width: 960px){.ident,.cform-cols{grid-template-columns:1fr}.hier{grid-template-columns:40px 1fr}.hier>img:nth-of-type(2){margin-top:0}.cform-head .scale{display:none}.cform-bar{flex-wrap:wrap}.cform-bar p{flex-basis:100%}}.cform-bar .btn-delete{order:-1}.confirm{width:min(440px,calc(100vw - 32px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 60px #00000073;color:var(--ink)}.confirm::backdrop{background:var(--scrim)}.confirm form{display:grid;gap:14px;padding:22px 24px}.confirm h2{margin:0;font-size:20px;color:var(--link)}.confirm p{margin:0;line-height:1.4}.confirm .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.confirm .checking{color:var(--muted);font-size:14px}.btn-save,.btn-cancel,.btn-delete{height:46px;min-width:140px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;font:inherit;font-size:16px;font-weight:600;cursor:pointer}.btn-save img,.btn-cancel img,.btn-delete img{width:18px;height:18px;object-fit:contain;flex:none}.btn-save{border:0;background:#17508f;color:#fff;box-shadow:0 4px 10px #17508f59}.btn-save:hover:not(:disabled){filter:brightness(1.1)}.btn-cancel{border:1px solid var(--line-strong);background:var(--surface);color:var(--link)}.btn-cancel:hover:not(:disabled){background:var(--hover)}.btn-delete{border:0;background:#b3261e;color:#fff;box-shadow:0 4px 10px #b3261e4d}.btn-delete:hover:not(:disabled){filter:brightness(1.1)}.btn-save:disabled,.btn-cancel:disabled,.btn-delete:disabled{opacity:.6;cursor:not-allowed}.btn-save:focus-visible,.btn-cancel:focus-visible,.btn-delete:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}.lock-wait{margin:24px;color:var(--muted)}.lock-panel{max-width:560px;margin:32px auto;padding:24px;border:1px solid var(--danger-line);border-radius:12px;background:var(--danger-bg);color:var(--danger-fg)}.lock-panel h2{margin:0 0 8px;font-size:1.1rem}.lock-panel p{margin:0 0 16px}.lock-lost{margin:0 0 12px;padding:10px 14px;border:1px solid var(--danger-line);border-radius:8px;background:var(--danger-bg);color:var(--danger-fg)}.lock-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;border:1px solid var(--danger-line);border-radius:999px;background:var(--danger-bg);color:var(--danger-fg);font-size:.75rem;font-weight:600;white-space:nowrap}.lock-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.bloqueos-admin .bq-filters{align-items:flex-end}.bloqueos-admin .bq-filters .btn,.bloqueos-admin .bq-filters .cat-check,.bloqueos-admin .bq-filters .bq-tipo{height:40px}.bloqueos-admin .bq-filters .bq-tipo{min-width:190px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.bloqueos-admin .btn.danger{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-fg)}.bloqueos-admin .btn.danger:disabled{opacity:.5}.bq-help{margin:0 0 12px;color:var(--muted);font-size:.85rem}.bq-login{color:var(--muted)}.bq-table th.num{text-align:center}.bq-table td.num{text-align:right;font-variant-numeric:tabular-nums}.bq-table .bq-btns{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap}.bq-table td.actions{vertical-align:middle}.bq-table .bq-act{height:32px;padding:0 10px;font-size:.8rem}.balance .bal-field{display:grid;gap:2px;font-size:12px;color:var(--muted)}.balance .bal-field.grow{flex:1 1 320px}.balance .bal-field select,.balance .bal-field input{height:40px;min-width:190px;padding:0 10px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);font:inherit;font-size:14px;color:var(--ink)}.balance .bal-field.grow input{width:100%}.balance .bal-field select:focus,.balance .bal-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.bal-note{margin:0;padding:10px 14px;border-radius:8px;background:var(--hover);font-size:14px}.bal-table{width:100%;border-collapse:collapse}.bal-table td.code{font-variant-numeric:tabular-nums;white-space:nowrap}.bal-table tbody tr.group td{font-weight:700}.bal-table td.desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bal-table tfoot td{padding:10px 12px;border-top:2px solid var(--line-strong);font-weight:700;background:var(--surface-alt)}.bal-warn{color:var(--danger-fg)}.mayor-head{padding:4px 4px 10px}.mayor-head h2{margin:0;font-size:20px;color:var(--link)}.mayor-head p{margin:2px 0 0;color:var(--muted);font-size:14px}.mayor-form,.balance .cat-toolbar{align-items:flex-end}.balance .cat-toolbar .cat-search,.balance .cat-toolbar .cat-check,.balance .cat-toolbar .btn{height:40px}.balance .cat-toolbar .cat-check{align-items:center}.catalogo .bal-table th,.catalogo .bal-table th.monto{text-align:center}.estados .est-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-strong)}.estados .est-tabs button{padding:10px 18px;border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.estados .est-tabs button:hover{color:var(--ink)}.estados .est-tabs button.active{border-bottom-color:var(--blue);color:var(--link)}.estados .cat-toolbar{align-items:flex-end}.estados .cat-toolbar .cat-check{height:40px;align-items:center}.estados .est-field{display:grid;gap:2px;font-size:12px;color:var(--muted)}.estados .est-field select{height:40px;min-width:190px;padding:0 10px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);font:inherit;font-size:14px;color:var(--ink)}.estados .est-field select:focus{outline:2px solid var(--blue);outline-offset:1px}.est-note{margin:0;padding:10px 14px;border-radius:8px;background:var(--hover);font-size:14px}.est-table{width:100%;border-collapse:collapse}.est-table td.code{font-variant-numeric:tabular-nums;white-space:nowrap}.est-table tbody tr.group td{font-weight:700}.est-table tbody tr.calc td{font-style:italic}.est-table tr.est-section td{padding-top:16px;font-size:13px;font-weight:700;letter-spacing:.8px;color:var(--ink-2);background:var(--surface-alt)}.est-table tr.est-total td{border-top:1px solid var(--line-strong);font-weight:700}.est-table tr.est-key td{border-top:2px solid var(--line-strong);font-weight:700;background:var(--selected)}.est-table tr.est-nota td{padding-top:2px;font-size:12.5px;color:var(--muted)}.est-table tr.est-check td{font-size:13px}.est-table tr.est-check.ok td{color:var(--ok-fg)}.est-table tr.est-check.off td{color:var(--danger-fg);font-weight:700}.centro-grid{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(280px,1fr);gap:16px;align-items:start}.centro-form .panel>label{display:block;margin-top:14px}.centro-form .panel>label:first-child,.centro-form .panel>.two:first-child{margin-top:0}.centro-form .two{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:20px}.centro-form input:not([type=checkbox]),.centro-form select,.centro-form textarea{width:100%;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;font-size:17px;color:var(--ink)}.centro-form input:not([type=checkbox]),.centro-form select{height:46px}.centro-form textarea{padding:10px 14px;background:var(--note-bg);resize:vertical;line-height:1.35}.centro-form input.code{background:var(--field-off);font-variant-numeric:tabular-nums}.centro-form input[readonly],.centro-form select:disabled{background:var(--field-off);color:var(--ink-2);opacity:1;cursor:default}.centro-form input:focus,.centro-form select:focus,.centro-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.centro-form .use{margin:10px 0 0;padding:10px 14px;border-radius:8px;background:var(--hover);font-size:14px}.folder{width:22px;height:auto;flex:none;margin-right:6px}.off .folder{opacity:.45;filter:grayscale(.6)}.cat-card td.desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.row-btn img{width:18px;height:18px;display:block}@media (max-width: 960px){.centro-grid,.centro-form .two{grid-template-columns:1fr}}.periodos .per-help{flex:1;margin:0;color:var(--muted);font-size:14px}.periodos .per-card{margin-top:0}.per-head{display:flex;align-items:center;gap:12px;padding:4px 4px 10px}.per-head h2{flex:1;margin:0;font-size:20px;color:var(--link)}.per-state{display:inline-flex;align-items:center;gap:12px}.per-state .switch{width:46px;height:26px}.per-state .switch span{top:3px;left:3px;width:20px;height:20px}.per-state .switch.on span{transform:translate(20px)}.per-warn{margin-left:8px}.periodos td.code{font-variant-numeric:tabular-nums}.centro-form input.year{max-width:160px;font-variant-numeric:tabular-nums}.periodos .per-card table{table-layout:fixed;width:100%;min-width:900px}.periodos .per-card th:nth-child(1){width:16%}.periodos .per-card th:nth-child(2){width:12%}.periodos .per-card th:nth-child(3){width:13%}.periodos .per-card th:nth-child(4){width:25%}.periodos .per-card th:nth-child(5){width:10%}.periodos .per-card th:nth-child(6){width:12%}.periodos .per-card th:nth-child(7){width:12%}:root{color-scheme:light;--navy: #0f1f4a;--blue: #2f6fe0;--blue-dark: #1f56b8;--brand: #1c3d7a;--gold: #bfae6a;--link: #1f56b8;--bg-page: #f3f7fd;--bg-image: url(/fondo-olas.svg);--surface: #ffffff;--surface-alt: #f9fbff;--surface-glass: rgba(255, 255, 255, .96);--hover: #eef3fc;--selected: #eaf1fd;--field: #eef3fc;--field-off: #eef1f6;--field-border: #c9d7ef;--line: #e3eaf6;--line-strong: #cfd9ec;--note-bg: #fffde8;--ink: #0f1f4a;--ink-2: #3d4d70;--ink-3: #8a97b1;--muted: #566786;--danger: #b3261e;--danger-fg: #b3261e;--danger-bg: #fdeceb;--danger-line: #f3c6c3;--ok-fg: #17623a;--ok-bg: #e6f6ec;--ok-line: #c8e8d5;--warn-fg: #8a5a00;--violet-fg: #5a3fb0;--violet-bg: #f1eefb;--avatar-bg: #0f1f4a;--scrim: rgba(8, 20, 50, .5);--shadow-rgb: 27, 64, 140;--hero-glow: #ffffff;--hero-a: #dbe8fb;--hero-b: #eef4fd;--hero-c: #f9fbff;--tile-green-bg: #eaf7ef;--tile-green-line: #d3eddc;--tile-green-fg: #1e9e5a;--tile-blue-bg: #eaf1fd;--tile-blue-line: #d2e0f8;--tile-blue-fg: #2f6fe0;--tile-gold-bg: #fdf7e9;--tile-gold-line: #f2e6c4;--tile-gold-fg: #b08a2e;--tile-violet-bg: #f1eefb;--tile-violet-line: #ddd5f4;--tile-violet-fg: #6b4fc4;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--navy: #e6ecfa;--blue: #4b84f0;--blue-dark: #3a6fd8;--brand: #a9c2f5;--gold: #d2c27d;--link: #8db4ff;--bg-page: #0d1526;--bg-image: url(/fondo-olas-oscuro.svg);--surface: #16213a;--surface-alt: #1a2745;--surface-glass: rgba(22, 33, 58, .96);--hover: #22325a;--selected: #1f3768;--field: #1b2846;--field-off: #202b44;--field-border: #3a4e7a;--line: #2a3a5f;--line-strong: #3a4e7a;--note-bg: #3a3720;--ink: #e6ecfa;--ink-2: #b3c1de;--ink-3: #7f90b3;--muted: #9fb0d0;--danger: #ff8a80;--danger-fg: #ff8a80;--danger-bg: #3a1e22;--danger-line: #6b2f35;--ok-fg: #6fd89b;--ok-bg: #17382a;--ok-line: #25563f;--warn-fg: #f0b95a;--violet-fg: #b9a7ff;--violet-bg: #2b2550;--avatar-bg: #2f6fe0;--scrim: rgba(0, 0, 0, .6);--shadow-rgb: 0, 0, 0;--hero-glow: #2a3d6e;--hero-a: #14213f;--hero-b: #182a52;--hero-c: #1a2d58;--tile-green-bg: #15332a;--tile-green-line: #24523f;--tile-green-fg: #4cd08a;--tile-blue-bg: #172e55;--tile-blue-line: #284a82;--tile-blue-fg: #6fa3ff;--tile-gold-bg: #3a3118;--tile-gold-line: #5c4d22;--tile-gold-fg: #e0b64e;--tile-violet-bg: #2a2550;--tile-violet-line: #433b7d;--tile-violet-fg: #b39dff}:root[data-theme=dark] img[src$="icon_hierarchy.png"],:root[data-theme=dark] img[src$="icon_chart.png"],:root[data-theme=dark] img[src$="basura.png"]{filter:brightness(0) invert(.9)}:root[data-theme=dark] .hero-logo{padding:14px 18px;border-radius:16px;background:#f4f8ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--selected) url(/fondo-olas.svg) center / cover no-repeat fixed}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.boot{min-height:100vh}.stage{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.card{width:min(1040px,100%);min-height:560px;display:grid;grid-template-columns:6fr 5.5fr;border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:0 30px 70px rgba(var(--shadow-rgb),.18)}.brand{position:relative;color:#fff;background:linear-gradient(160deg,#1d4189,#16346e 55%,#12295a);overflow:hidden}.brand-bg{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22}.brand-bg .bar{position:absolute;bottom:0;width:9%;background:linear-gradient(180deg,#6f9bea,transparent);border-radius:6px 6px 0 0}.b1{left:52%;height:28%}.b2{left:63%;height:38%}.b3{left:74%;height:50%}.b4{left:85%;height:62%}.b5{left:96%;height:74%}.brand-content{position:relative;height:100%;padding:48px 32px 36px;display:flex;flex-direction:column;align-items:center;text-align:center}.brand-emblem{width:112px;height:auto;display:block}.brand-name{margin:14px 0 0;font-size:44px;font-weight:800;letter-spacing:1px;line-height:1}.brand-sub{margin:6px 0 0;font-size:18px;font-weight:400;letter-spacing:.5px}.brand-rule{width:120px;height:2px;margin:22px 0 18px;border:0;background:var(--gold)}.brand-tagline{margin:0;font-size:18px}.features{list-style:none;margin:auto 0 0;padding:36px 0 0;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.features li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;line-height:1.25}.features svg{width:32px;height:32px;stroke-width:1.4}.form-panel{padding:28px 52px 24px;display:flex;flex-direction:column}h1{margin:56px 0 0;font-size:40px;font-weight:800;letter-spacing:-.5px}.lead{margin:10px 0 28px;font-size:19px;line-height:1.35;color:var(--muted)}.lead strong{color:var(--ink)}.field{position:relative;display:block;margin-bottom:14px}.field>svg{position:absolute;left:16px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--ink);pointer-events:none}.field input{width:100%;height:54px;padding:0 52px;border:1px solid var(--field-border);border-radius:8px;background:var(--field);font:inherit;font-size:17px;color:var(--ink)}.field.plain input{padding-left:16px}.field input:focus{outline:2px solid var(--blue);outline-offset:1px;background:var(--surface)}.eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);border-radius:8px;cursor:pointer}.eye svg{width:24px;height:24px}.eye:hover{background:var(--hover)}.submit{width:100%;height:54px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:linear-gradient(180deg,#3a7be8,var(--blue-dark));color:#fff;font:inherit;font-size:18px;font-weight:600;cursor:pointer;box-shadow:0 6px 14px #2f6fe047}.submit svg{width:22px;height:22px}.submit:hover:not(:disabled){filter:brightness(1.06)}.submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.row{margin-top:18px;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.link{border:0;background:none;padding:0;font:inherit;color:var(--blue-dark);cursor:pointer}.link:hover{text-decoration:underline}.alert,.notice{margin:4px 0 12px;padding:10px 14px;border-radius:8px;font-size:15px}.alert{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line)}.notice{background:var(--selected);color:var(--brand);border:1px solid var(--field-border)}footer{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);text-align:center;font-size:13px;color:var(--muted)}footer p{margin:4px 0}@media (max-width: 820px){.card{grid-template-columns:1fr;min-height:0}.brand-content{padding:28px 20px 24px}.brand-emblem{width:84px}.brand-name{font-size:34px}.brand-sub{font-size:15px}.brand-rule,.brand-tagline,.features{display:none}.form-panel{padding:20px}h1{font-size:32px;margin-top:12px}.lead{font-size:17px}}.field input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-bg)}.hint{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;font-size:14px;color:var(--warn-fg)}.hint svg{width:18px;height:18px;flex:none}.submit:focus-visible,.link:focus-visible,.eye:focus-visible{outline:3px solid #9cc0ff;outline-offset:2px}.card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (prefers-reduced-motion: no-preference){.card{animation:rise .35s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}}.monto,input.monto,td.monto,th.monto{text-align:right;font-variant-numeric:tabular-nums}
