:root{--verde:#2f3a1f;--verde-hover:#3d4c28;--lima:#c3d600;--fondo:#f4f5f0;--superficie:#fff;--borde:#e3e5da;--texto:#23241d;--texto-suave:#6b6d60;--rojo:#b3372f;--sombra:0 1px 3px #23241d12, 0 4px 14px #23241d0d;--radio:12px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--fondo);color:var(--texto);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45}.topbar{background:var(--superficie);border-bottom:1px solid var(--borde);z-index:50;justify-content:space-between;align-items:center;height:58px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .marca{letter-spacing:1px;color:var(--verde);align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.topbar .marca .punto{background:var(--lima);border-radius:3px;width:10px;height:10px;display:inline-block}.topbar nav{align-items:center;gap:4px;display:flex}.topbar nav a{color:var(--texto-suave);border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;text-decoration:none}.topbar nav a:hover{background:var(--fondo);color:var(--verde)}.topbar nav a.activo{background:var(--verde);color:#fff}.contenido{max-width:1500px;margin:0 auto;padding:26px 28px 60px}.titulo-pagina{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.titulo-pagina h2{color:var(--texto);font-size:21px;font-weight:700}.titulo-pagina p{color:var(--texto-suave);margin-top:2px;font-size:13px}.card{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px}:root{--salida:cubic-bezier(.22, 1, .36, 1)}.btn{background:var(--verde);color:#fff;cursor:pointer;transition:background .15s var(--salida), transform .15s var(--salida), box-shadow .15s var(--salida);border:none;border-radius:9px;padding:9px 18px;font-size:13.5px;font-weight:600}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lima);outline-offset:2px}.btn:hover{background:var(--verde-hover)}.btn:disabled{opacity:.5;cursor:default}.btn.lima{background:var(--lima);color:var(--verde)}.btn.lima:hover{filter:brightness(1.05)}.btn.ghost{color:var(--verde);border:1px solid var(--borde);background:0 0}.btn.ghost:hover{background:var(--fondo)}.btn.peligro{background:var(--rojo)}.btn.chico{border-radius:7px;padding:5px 10px;font-size:12px}input,select,textarea{border:1px solid var(--borde);background:var(--superficie);width:100%;color:var(--texto);border-radius:9px;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px #c3d60040}label{color:var(--texto-suave);text-transform:uppercase;letter-spacing:.6px;margin:12px 0 5px;font-size:11.5px;font-weight:700;display:block}table.lista{border-collapse:separate;border-spacing:0;background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);width:100%;box-shadow:var(--sombra);overflow:hidden}table.lista th{background:var(--superficie);color:var(--texto-suave);text-align:left;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--borde);padding:12px 16px;font-size:11.5px}table.lista td{border-bottom:1px solid #f0f1ea;padding:12px 16px;font-size:13.5px}table.lista tr:last-child td{border-bottom:none}table.lista tbody tr:hover td{background:#fafbf4}table.lista a{color:var(--verde);font-weight:700;text-decoration:none}table.lista a:hover{text-decoration:underline}.pill{border-radius:20px;padding:3px 11px;font-size:11.5px;font-weight:700;display:inline-block}.pill.borrador,.pill.no_iniciada{color:var(--texto-suave);background:#eef0e7}.pill.autorizada,.pill.sincronizado,.pill.aceptada{color:#45541c;background:#e6efc4}.pill.enviada,.pill.en_seguimiento,.pill.pendiente{color:#23616e;background:#dcebf3}.pill.error,.pill.pendiente_autorizacion,.pill.rechazada,.pill.vencida{color:var(--rojo);background:#f6ddda}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.editor-layout{grid-template-columns:480px 1fr;align-items:start;gap:18px;display:grid}.preview-frame{border:1px solid var(--borde);border-radius:var(--radio);width:100%;height:calc(100vh - 150px);box-shadow:var(--sombra);background:#fff}.estado-guardado{color:var(--texto-suave);font-size:12.5px}.fila-partida{grid-template-columns:44px 1fr 62px 82px 56px 88px 28px;align-items:center;gap:7px;margin-bottom:7px;display:grid}.fila-partida img{object-fit:contain;border:1px solid var(--borde);background:#fff;border-radius:7px;width:42px;height:42px}.totales-caja{background:var(--fondo);text-align:right;border-radius:10px;margin-top:16px;padding:12px 16px}.totales-caja .gran{color:var(--verde);font-size:18px;font-weight:800}.buscador-resultados{z-index:20;background:var(--superficie);border:1px solid var(--borde);border-radius:10px;width:100%;max-height:280px;margin-top:4px;position:absolute;overflow:auto;box-shadow:0 12px 30px #23241d24}.buscador-resultados>div{cursor:pointer;border-bottom:1px solid #f4f5ee;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.buscador-resultados>div:last-child{border-bottom:none}.buscador-resultados>div:hover{background:#f7f9ec}.buscador-resultados img{object-fit:contain;width:34px;height:34px}.login-fondo{background:linear-gradient(160deg, var(--verde) 0%, #1f2815 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-caja{background:var(--superficie);border-radius:16px;width:400px;padding:34px;box-shadow:0 24px 60px #00000059}.login-caja h2{color:var(--verde);letter-spacing:1px;margin-bottom:4px}.login-caja .sub{color:var(--texto-suave);margin-bottom:10px;font-size:13px}.aviso{border-radius:9px;margin-top:10px;padding:10px 14px;font-size:13px}.aviso.error{color:var(--rojo);background:#f6ddda}.aviso.ok{color:#45541c;background:#e6efc4}.btn-reporte{z-index:90;background:var(--verde);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:11px 18px;font-size:13px;font-weight:700;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 22px #23241d4d}.btn-reporte:hover{background:var(--verde-hover)}.modal-fondo{z-index:100;animation:fondoIn .2s var(--salida);background:#14160e73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fondoIn{0%{opacity:0}}.modal{background:var(--superficie);width:460px;max-width:92vw;animation:modalIn .22s var(--salida);border-radius:14px;padding:24px;box-shadow:0 30px 80px #0006}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(6px)}}.notis-panel{animation:modalIn .2s var(--salida)}.modal h3{color:var(--verde);margin-bottom:4px}.campana{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:18px;position:relative}.campana:hover{background:var(--fondo)}.campana .badge{background:var(--rojo);color:#fff;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:800;position:absolute;top:0;right:0}.notis-panel{background:var(--superficie);border:1px solid var(--borde);z-index:200;border-radius:12px;width:340px;max-height:420px;position:absolute;top:42px;right:0;overflow:auto;box-shadow:0 16px 40px #23241d33}.noti{color:var(--texto);border-bottom:1px solid #f0f1ea;padding:10px 14px;font-size:13px;text-decoration:none;display:block}.noti:hover{background:#f7f9ec}.noti.nueva{background:#f2f6dc}.noti b{display:block}.noti span{color:var(--texto-suave);margin-top:2px;font-size:12.5px;display:block}.noti small{color:var(--texto-suave);font-size:11px}.pill.en_espera_pago{color:#8a6100;background:#fdeec7}.linea-tiempo{border-left:2px solid var(--lima);margin-left:6px;padding-left:16px}.linea-tiempo .evento{padding:7px 0;position:relative}.linea-tiempo .evento:before{content:"";background:var(--lima);border:2px solid var(--superficie);border-radius:50%;width:9px;height:9px;position:absolute;top:13px;left:-21.5px}.linea-tiempo .cuando{color:var(--texto-suave);font-size:11px;display:block}.linea-tiempo .que{font-size:13px;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:640px){input,select,textarea{font-size:16px}}@media (pointer:coarse){.btn,.btn.chico,.chico,button{min-height:44px}}table.lista th,table.lista td,.card table th,.card table td,table.lista td:first-child{text-align:center}
