@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";.ficha-row:focus-visible,.minirow:focus-visible,.sug:focus-visible,tr[tabindex]:focus-visible,th.th-sort:focus-visible,.donut-item.donut-click:focus-visible{outline:2px solid var(--green);outline-offset:2px}:root{--paper:#F4F3EE;--card:#FEFDF9;--ink:#22251F;--ink-soft:#5A5D53;--green:#2C663D;--green-dark:#21442E;--green-soft:#E7EEE9;--amarillo:#F9EE56;--brass:#75690F;--stamp:#A93B31;--line:#D8D6CC;--line-soft:#E8E6DE}:root{--r-sm:5px;--r-md:7px;--shadow-1:0 1px 2px rgba(34,37,31,.05), 0 1px 3px rgba(34,37,31,.06);--shadow-2:0 2px 6px rgba(34,37,31,.07), 0 4px 14px rgba(34,37,31,.05);--ease:.18s cubic-bezier(.2,.7,.3,1)}*{box-sizing:border-box}.crm{font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);min-height:100vh;display:flex;flex-direction:column;font-size:14px}.crm ::selection{background:var(--green-soft)}.side{width:100%;background:var(--green);color:#edf2ee;display:flex;flex-direction:row;align-items:stretch;flex-shrink:0;border-bottom:3px solid var(--green-dark)}.brand{padding:10px 18px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:center}.brand h1{font-family:Fraunces,serif;font-weight:700;font-size:18px;margin:0;letter-spacing:.2px;color:var(--amarillo)}.brand span{font-family:IBM Plex Mono,monospace;font-size:9.5px;opacity:.8;display:block;margin-top:1px;letter-spacing:.4px}.nav{padding:0;flex:1;display:flex;align-items:stretch}.nav button{display:block;background:none;border:none;border-right:1px solid rgba(255,255,255,.12);color:#dce5dd;padding:0 18px;font:inherit;font-size:13px;cursor:pointer;border-bottom:3px solid transparent}.nav button:hover{background:#ffffff14}.nav button.on{background:#ffffff1a;border-bottom-color:var(--amarillo);color:#fff;font-weight:600}.rolbox{padding:8px 18px;border-left:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:center;min-width:210px}.rolbox label{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;opacity:.75;display:block;margin-bottom:4px}.roltoggle{display:flex;background:#0000002e;border-radius:999px;padding:2px;gap:2px}.roltoggle button{flex:1;background:none;border:none;color:#dce5dd;padding:5px 10px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;border-radius:999px;transition:background var(--ease),color var(--ease)}.roltoggle.admin button.on{background:var(--amarillo);color:var(--green-dark)}.roltoggle.carga button.on{background:#f2c98a;color:#5a3d0b}.rolnote{font-size:14px;opacity:.7;margin-top:5px;line-height:1.35}.main{flex:1;min-width:0;display:flex;flex-direction:column}.top{background:var(--card);border-bottom:1px solid var(--line);padding:14px 24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.top h2{font-family:Fraunces,serif;font-weight:700;font-size:22px;margin:0;flex:1;min-width:140px}.search{border:1px solid var(--line);border-radius:var(--r-md);padding:9px 14px;font:inherit;font-size:13.5px;width:300px;max-width:100%;background:var(--card);box-shadow:var(--shadow-1);transition:box-shadow var(--ease),border-color var(--ease)}.search:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.btn{background:var(--green);color:#fff;border:none;border-radius:var(--r-sm);padding:9px 16px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--ease),box-shadow var(--ease),transform var(--ease)}.btn:hover{background:var(--green-dark);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(1px)}.btn.sec{background:var(--card);color:var(--green-dark);border:1px solid var(--line)}.btn.sec:hover{background:var(--green-soft);border-color:var(--green)}.btn.danger{background:var(--card);color:var(--stamp);border:1px solid var(--line)}.btn.danger:hover{background:#f7eae8;border-color:var(--stamp)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.content{padding:20px 24px 40px;overflow:auto;flex:1;max-width:1100px}.volver{background:none;border:none;color:var(--green);font:inherit;cursor:pointer;padding:0;margin-bottom:14px;text-decoration:underline;font-family:IBM Plex Mono,monospace;font-size:12px}.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:end;border-bottom:1px dotted var(--line);padding-bottom:14px}.f{display:flex;flex-direction:column;gap:3px}.f label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.f select,.f input{border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font:inherit;font-size:13px;background:var(--card);min-width:110px;transition:border-color var(--ease)}.f select:focus,.f input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.limpiar{background:none;border:none;color:var(--brass);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;padding:6px 2px}.resumen{font-size:12px;color:var(--ink-soft);margin-bottom:12px;font-family:IBM Plex Mono,monospace}.resumen b{color:var(--ink)}.ficha-row{background:var(--card);border:1px solid var(--line-soft);border-left:4px solid var(--stamp);border-radius:0 var(--r-md) var(--r-md) 0;margin-bottom:6px;cursor:pointer;position:relative;padding:12px 16px 12px 18px;display:flex;align-items:baseline;gap:16px;box-shadow:var(--shadow-1);transition:box-shadow var(--ease),transform var(--ease),border-left-color var(--ease),background var(--ease)}.ficha-row:hover{border-left-color:var(--green);background:var(--green-soft);box-shadow:var(--shadow-2);transform:translate(1px)}.tab{flex:0 0 auto;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--brass);letter-spacing:.3px;min-width:118px}.ficha-row:hover .tab{color:var(--green-dark)}.frow-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;flex:1;min-width:0}.frow-top .dir{font-family:Fraunces,serif;font-weight:600;font-size:15.5px}.frow-top .barrio{color:var(--ink-soft);font-size:14px;font-style:italic}.frow-mid{display:flex;gap:0;flex-wrap:wrap;font-size:12px;color:var(--ink-soft);flex:1;justify-content:flex-end;text-align:right}.frow-mid span{padding:0 10px;border-left:1px dotted var(--line)}.frow-mid span:first-child{border-left:none}.frow-mid b{color:var(--ink);font-weight:500}.precio{font-family:IBM Plex Mono,monospace;font-size:13.5px;color:var(--ink);border-left:1px dotted var(--line)!important}.lista{margin-top:20px}.vacio{background:var(--card);border:1px dashed var(--line);border-radius:var(--r-md);padding:30px;text-align:center;color:var(--ink-soft)}.sello{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.8px;text-transform:uppercase;border:1.5px double;padding:2px 8px;font-weight:500;line-height:1.5}.sello.ok{color:var(--green);border-color:var(--green)}.sello.warn{color:var(--brass);border-color:var(--brass)}.sello.off{color:var(--stamp);border-color:var(--stamp)}.sello.gris{color:var(--ink-soft);border-color:var(--line)}.sello.big{font-size:13px;padding:5px 14px;transform:rotate(-2deg);border-width:2px}.nomostrar{font-size:10.5px;color:var(--stamp);font-family:IBM Plex Mono,monospace;letter-spacing:.5px}.ficha-codigo{font-family:IBM Plex Mono,monospace;font-size:14px;color:var(--brass);letter-spacing:.3px}.det{background:var(--card);border:1px solid var(--line-soft);border-left:5px solid var(--stamp);border-radius:0 var(--r-md) var(--r-md) 0;padding:24px 24px 24px 26px;position:relative;margin-top:22px;box-shadow:var(--shadow-2)}.det .tab{display:block;min-width:0;margin-bottom:4px}.det-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:16px}.det-head h3{font-family:Fraunces,serif;font-weight:700;font-size:24px;margin:0}.det-head .sub{color:var(--ink-soft);margin-top:3px;font-style:italic}.det-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px;margin-bottom:18px}.dato{border-bottom:1px dotted var(--line-soft);padding-bottom:4px}.dato label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);display:block}.dato div{font-size:14px;margin-top:2px}.dato .mono{font-family:IBM Plex Mono,monospace;font-size:13px}.seccion{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.seccion h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--brass);margin:0 0 12px;font-weight:600}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--green-soft);color:var(--green);padding:3px 10px;font-size:12px;border:1px solid var(--green);border-radius:999px}.chip.portal{background:#f5f1dc;color:var(--brass);border-color:var(--brass)}.linkverde{color:var(--green)}.tl{position:relative;margin-left:2px;padding-left:20px;border-left:2px solid var(--stamp)}.tl-item{position:relative;padding:0 0 16px}.tl-item:last-child{padding-bottom:2px}.tl-dot{position:absolute;left:-26px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--card);border:2.5px solid var(--green)}.tl-item.cambio .tl-dot{border-color:var(--brass)}.tl-item.alta .tl-dot{background:var(--green);border-color:var(--green)}.tl-item.estado .tl-dot{border-color:var(--stamp);background:var(--stamp)}.tl-fecha{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-soft)}.tl-tit{font-weight:600;font-size:13.5px;margin:1px 0;font-family:Fraunces,serif}.tl-det{font-size:13px;line-height:1.5}.tl-quien{font-size:11px;color:var(--ink-soft);font-family:IBM Plex Mono,monospace}.tl-estados{display:inline-flex;gap:6px;align-items:center;margin:2px 0}.tl-flecha{color:var(--ink-soft);font-size:12px}.mov-form{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.mov-form select,.mov-form input{border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font:inherit;font-size:13px;background:var(--paper);transition:border-color var(--ease)}.mov-form select:focus,.mov-form input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.mov-form input{flex:1;min-width:160px}.mov-form select.mov-contacto{color:var(--ink-soft);font-size:14px;max-width:220px}.acciones{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.form{background:var(--card);border:1px solid var(--line-soft);border-left:5px solid var(--green);border-radius:0 var(--r-md) var(--r-md) 0;padding:22px 22px 22px 24px;max-width:760px;margin-top:22px;position:relative;box-shadow:var(--shadow-2)}.form h3{font-family:Fraunces,serif;font-weight:700;margin:0 0 14px;font-size:20px}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.fg{display:flex;flex-direction:column;gap:4px}.fg label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.fg input,.fg select,.fg textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-size:13.5px;background:var(--paper);transition:border-color var(--ease)}.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.fg.full{grid-column:1/-1}.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px}.amen-grid label{display:flex;gap:6px;align-items:center;font-size:13px;text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer}.form-foot{display:flex;gap:8px;margin-top:18px;align-items:center}.err{color:var(--stamp);font-size:14px}.ctable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line-soft);border-top:2px solid var(--ink);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.ctable th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);text-align:left;padding:11px 14px;border-bottom:1px solid var(--ink);font-weight:600}.ctable td{padding:11px 14px;border-bottom:1px dotted var(--line);font-size:13.5px;vertical-align:top}.ctable tr.click{cursor:pointer;transition:background var(--ease)}.ctable tr.click:hover td{background:var(--green-soft)}.ctable tr:last-child td{border-bottom:none}.rolchip{display:inline-block;border:1px solid var(--green);color:var(--green);font-size:11px;padding:2px 9px;margin:1px 3px 1px 0;border-radius:999px}.kpis{display:flex;gap:0;flex-wrap:wrap;margin-bottom:4px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.kpi{padding:10px 20px 10px 0;border-right:1px dotted var(--line);margin-right:20px}.kpi label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);display:block}.kpi div{font-family:IBM Plex Mono,monospace;font-size:18px;margin-top:2px}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}.kpi-card{background:var(--card);border:1px solid var(--line-soft);border-top:3px solid var(--ink-soft);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:3px;transition:box-shadow var(--ease),transform var(--ease)}.kpi-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.kpi-card.green,.kpi-card.ok{border-top-color:var(--green)}.kpi-card.warn{border-top-color:var(--brass)}.kpi-card.off{border-top-color:var(--stamp)}.kpi-card.mono{border-top-color:var(--green-dark)}.kpi-card-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.kpi-card-valor{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:500;color:var(--ink)}.kpi-card-sub{font-size:11px;color:var(--ink-soft)}.rep-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filtros-toggle{font-weight:600}.donut-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut{width:120px;height:120px;border-radius:50%;flex-shrink:0;position:relative;box-shadow:var(--shadow-1)}.donut-hole{position:absolute;top:18px;right:18px;bottom:18px;left:18px;background:var(--card);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 1px 3px #0000000f}.donut-total{font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600;line-height:1}.donut-sub{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);margin-top:2px}.donut-legend{display:flex;flex-direction:column;gap:6px;flex:1;min-width:120px}.donut-item{display:flex;align-items:center;gap:7px;font-size:14px}.donut-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.donut-lbl{flex:1;color:var(--ink-soft)}.donut-item b{font-family:IBM Plex Mono,monospace;font-weight:600}.donut-item i{font-style:normal;font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-soft);min-width:32px;text-align:right}.donut-item.donut-click{cursor:pointer;border-radius:var(--r-sm);padding:3px 5px;margin:0 -5px;transition:background var(--ease)}.donut-item.donut-click:hover{background:var(--green-soft)}.donut-item.donut-activo{background:var(--green-soft);font-weight:600}.donut-item.donut-activo .donut-lbl{color:var(--green)}.rep-panel{background:var(--card);border:1px solid var(--line-soft);border-left:4px solid var(--brass);border-radius:0 var(--r-md) var(--r-md) 0;padding:16px 16px 16px 18px;margin-bottom:16px;box-shadow:var(--shadow-1)}.rep-panel h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--brass);margin:0 0 10px;font-weight:600}.rep-grid{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.multibox{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);max-height:150px;overflow:auto;padding:6px 8px;min-width:190px}.multibox b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin:4px 0 2px}.multibox label{display:flex;gap:6px;align-items:center;font-size:14px;padding:1px 0;cursor:pointer}.multichips{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;max-width:220px}.multichips .chip{cursor:pointer}.rtable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line-soft);border-top:2px solid var(--ink);border-radius:var(--r-md);overflow:hidden;font-size:13px;box-shadow:var(--shadow-1)}.rtable th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);text-align:left;padding:8px 10px;border-bottom:1px solid var(--ink);font-weight:600;white-space:nowrap}.rtable th.th-sort,.ctable th.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--ease)}.rtable th.th-sort:hover,.ctable th.th-sort:hover{color:var(--green)}.rtable td{padding:7px 10px;border-bottom:1px dotted var(--line);white-space:nowrap}.rtable tr.click{cursor:pointer}.rtable tr.click:hover td{background:var(--green-soft)}.rtable .mono{font-family:IBM Plex Mono,monospace;font-size:12px}.totales{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0;font-size:13px;font-family:IBM Plex Mono,monospace}.totales b{font-family:IBM Plex Mono,monospace}.graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:16px}.gpanel{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px;box-shadow:var(--shadow-1)}.gpanel h5{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin:0 0 10px;font-weight:600}.barra{display:grid;grid-template-columns:110px 1fr 52px;gap:8px;align-items:center;margin-bottom:6px}.barra .blabel{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barra .btrack{background:var(--paper);border:1px solid var(--line-soft);border-radius:999px;height:12px;overflow:hidden}.barra .bfill{height:100%;background:var(--green);transition:width var(--ease)}.barra.warn .bfill{background:var(--brass)}.barra.off .bfill{background:var(--stamp)}.barra.gris .bfill{background:var(--ink-soft)}.barra .bnum{font-family:IBM Plex Mono,monospace;font-size:14px;text-align:right;color:var(--ink);display:flex;gap:4px;justify-content:flex-end;align-items:baseline}.barra .bnum i{font-style:normal;color:var(--ink-soft);font-size:10px}.gvacio{font-size:14px;color:var(--ink-soft)}.nota-modelo{font-size:12px;color:var(--ink-soft);background:var(--paper);border-left:3px solid var(--brass);padding:8px 12px;border-radius:var(--r-sm);margin-bottom:12px;line-height:1.5}.nota-modelo b{color:var(--ink);font-weight:600}.prop-busq{position:relative}.prop-busq>input{width:100%}.sugbox{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-sm);box-shadow:var(--shadow-2);margin-top:2px;max-height:220px;overflow-y:auto}.sug{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px dotted var(--line-soft)}.sug:last-child{border-bottom:none}.sug-crear{color:var(--green);font-weight:600}.prop-quitar{background:none;border:none;color:var(--stamp);font-size:14px;cursor:pointer;padding:10px 6px;text-decoration:underline;min-height:32px}.prop-crear-box{margin-top:8px;padding:10px 12px;background:var(--paper);border:1px solid var(--line-soft);border-left:3px solid var(--green);border-radius:var(--r-sm);display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.prop-crear-box input{flex:0 0 160px}.pager{display:flex;gap:14px;align-items:center;justify-content:center;padding:16px 0;font-size:14px;color:var(--ink-soft);font-family:IBM Plex Mono,monospace}.tendencia{width:100%;height:130px;display:block}.t-eje{stroke:var(--line);stroke-width:1}.t-area{fill:var(--green-soft);stroke:none}.t-linea{fill:none;stroke:var(--green);stroke-width:2;vector-effect:non-scaling-stroke}.t-punto{fill:var(--card);stroke:var(--green);stroke-width:1.6;vector-effect:non-scaling-stroke}.t-label{font-family:IBM Plex Mono,monospace;font-size:9px;fill:var(--ink-soft)}.t-max{font-family:IBM Plex Mono,monospace;font-size:9.5px;fill:var(--ink-soft)}@media (max-width:760px){.side{flex-wrap:wrap}.brand{border-right:none;width:100%;padding:10px 14px}.nav{width:100%;overflow-x:auto}.rolbox{border-left:none;min-width:0}.ficha-row{flex-wrap:wrap}.frow-mid{justify-content:flex-start;text-align:left;width:100%}.precio{margin-left:0;width:100%;border-left:none!important;padding-left:0!important}.rtable{display:block;overflow-x:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper)}.loginbox{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:0 32px 32px;width:min(380px,92vw);box-shadow:var(--shadow-2);overflow:hidden}.loginlogo-wrap{background:var(--green-dark);margin:0 -32px 22px;padding:26px 32px 22px;text-align:center}.loginlogo{height:38px;width:auto}.loginbox .sub{font-size:14px;color:var(--ink-soft);margin-bottom:20px;font-style:italic}.loginbox label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin:12px 0 4px}.loginbox input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;background:var(--paper);transition:border-color var(--ease)}.loginbox input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.loginbox .btn{width:100%;margin-top:18px}.loginerr{background:#fdf0ef;border:1px solid var(--stamp);border-radius:var(--r-sm);color:var(--stamp);font-size:14px;padding:8px 10px;margin-top:12px}.pager{display:flex;gap:10px;align-items:center;justify-content:center;padding:16px 0;font-size:13px;font-family:IBM Plex Mono,monospace;border-top:1px dotted var(--line)}.pager button{min-width:34px}.cargando{padding:30px;text-align:center;color:var(--ink-soft);font-size:13px}.timeline{margin-top:4px}.titem{display:flex;gap:10px;padding:8px 0;border-bottom:1px dotted var(--line-soft);font-size:13px;align-items:baseline;flex-wrap:wrap}.titem:last-child{border-bottom:none}.tfecha{font-family:IBM Plex Mono,monospace;font-size:14px;color:var(--brass);min-width:84px}.tuser{color:var(--ink-soft);font-size:12px}.tedit{color:var(--ink-soft)}.titem.edit .tedit b{color:var(--ink)}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.formgrid label{display:flex;flex-direction:column;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.formgrid input,.formgrid select,.formgrid textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-size:13.5px;background:var(--paper);text-transform:none;letter-spacing:0;color:var(--ink);transition:border-color var(--ease)}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.formgrid .wide{grid-column:1/-1}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:5px;margin-top:6px}.chk{display:flex!important;flex-direction:row!important;gap:6px;align-items:center;font-size:13px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;cursor:pointer}.detalle h4,.det h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--brass);margin:16px 0 8px;font-weight:600}.sugbox{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--green);border-radius:0 0 var(--r-sm) var(--r-sm);z-index:20;max-height:220px;overflow:auto;box-shadow:var(--shadow-2)}.sug{padding:8px 10px;font-size:13px;cursor:pointer;transition:background var(--ease)}.sug:hover{background:var(--green-soft)}.altabox{background:var(--card);border:1px solid var(--line-soft);border-left:4px solid var(--green);border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 14px 14px 16px;display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px;box-shadow:var(--shadow-1)}.altabox input{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-size:13.5px;background:var(--paper)}.minirow{background:var(--card);border:1px solid var(--line-soft);border-left:4px solid var(--stamp);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:10px 14px 10px 16px;margin-bottom:5px;cursor:pointer;font-size:13px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;box-shadow:var(--shadow-1);transition:box-shadow var(--ease),border-left-color var(--ease)}.minirow:hover{border-left-color:var(--green);box-shadow:var(--shadow-2)}.mono{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--brass)}.flbl{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-soft)}.flbl input{border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font:inherit;font-size:13px;background:var(--card)}.usr{font-size:12px;color:var(--ink-soft)}.rol{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;padding:4px 11px;border-radius:999px;font-weight:600}.rol-admin{background:var(--amarillo);color:var(--green-dark)}.rol-carga{background:#f2c98a;color:#5a3d0b}.precio-inline{font-family:IBM Plex Mono,monospace;color:var(--green-dark)}.suc{color:var(--ink-soft)}.caract{font-size:13.5px;line-height:1.5;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 12px}.app main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}.app .top{display:flex;align-items:center;gap:20px;background:var(--green);padding:0;flex-wrap:wrap;border-bottom:3px solid var(--green-dark)}.app .logo{display:flex;flex-direction:column;padding:10px 18px;border-right:1px solid rgba(255,255,255,.18)}.app .logotxt{font-family:Fraunces,serif;color:var(--amarillo);font-size:18px;font-weight:700}.app .logosub{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#edf2ee;opacity:.8}.app .nav{display:flex;gap:0;border:none;margin-left:0}.app .nav button{background:none;border:none;border-right:1px solid rgba(255,255,255,.12);border-bottom:3px solid transparent;color:#dce5dd;font:inherit;font-size:13px;padding:0 16px;height:100%;cursor:pointer;transition:background var(--ease)}.app .nav button:hover{background:#ffffff14}.app .nav button.on{border-bottom-color:var(--amarillo);color:#fff;font-weight:600;background:#ffffff14}.app .rolbox{margin-left:auto;display:flex;gap:10px;align-items:center;border:none;padding:8px 18px;color:#e7eee9}.app .rolbox .usr{color:#c9d6cd}.app .rtable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.app .rtable th{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-weight:600}.app .rtable td{padding:11px 14px;border-bottom:1px solid var(--line-soft);font-size:13.5px}.app .rtable tbody tr{cursor:pointer;transition:background var(--ease)}.app .rtable tbody tr:hover td{background:var(--green-soft)}.app .filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0 10px}.app .filtros input,.app .filtros select{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:inherit;font-size:13px;background:var(--card)}.app .btn{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:var(--r-sm);padding:8px 15px;font:inherit;font-size:13px;cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--ease),box-shadow var(--ease)}.app .btn:hover{background:var(--green-dark);box-shadow:var(--shadow-2)}.app .btn:disabled{opacity:.5;cursor:default;box-shadow:none}.app .btn.sec{background:var(--card);color:var(--green-dark);border-color:var(--line)}.app .btn.sec:hover{border-color:var(--green)}.app .btn.danger{background:var(--stamp);border-color:var(--stamp)}@media (max-width:760px){.app .top{flex-wrap:wrap}.app .logo{border-right:none;width:100%}.app .nav{width:100%;overflow-x:auto}.app .rolbox{border-left:none;width:100%;justify-content:space-between}.minirow{flex-wrap:wrap}}
