:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"Inter", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}#root{min-height:100vh}[hidden]{display:none!important}button,input,select,textarea{font-family:inherit}.num{font-variant-numeric:tabular-nums}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#cbd5e1;flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.sidebar .logo-box{background:#fff;border-radius:8px;justify-content:center;padding:8px 10px;display:flex}.sidebar .logo-box img{height:38px;display:block}.sidebar .app-name{color:#fff;margin:16px 6px 2px;font-size:15px;font-weight:700}.sidebar .app-sub{margin:0 6px 18px;font-size:12px}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar nav a{color:#cbd5e1;border-radius:var(--radiusSm);align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--sidebarHover);color:#fff}.sidebar nav a.active{background:var(--sidebarActive);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar .badge{background:var(--accent);color:var(--sidebar);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.sidebar .user{border-top:1px solid #ffffff1f;padding:14px 6px 0;font-size:12.5px}.sidebar .user b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.sidebar .user .rol{text-transform:capitalize}.sidebar .user button{color:#fff;border-radius:var(--radiusSm);cursor:pointer;background:0 0;border:1px solid #ffffff40;width:100%;margin-top:10px;padding:7px;font-size:12.5px}.sidebar .user button:hover{border-color:var(--accent)}.main{min-width:0;padding:28px 32px 56px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:700}.page-head p{color:var(--textSecondary);margin:0;font-size:13.5px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:10px;height:auto;padding:10px 16px;position:static}.sidebar .logo-box img{height:26px}.sidebar .app-name,.sidebar .app-sub{display:none}.sidebar nav{flex-direction:row;flex-basis:100%;order:3;overflow-x:auto}.sidebar nav a{white-space:nowrap;padding:7px 10px}.sidebar .user{border:0;align-items:center;gap:10px;margin-left:auto;padding:0;display:flex}.sidebar .user b,.sidebar .user .rol{display:none}.sidebar .user button{width:auto;margin:0;padding:6px 12px}.main{padding:20px 16px 48px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:16px}.card h3{margin:0 0 4px;font-size:14.5px;font-weight:600}.card .hint{color:var(--textSecondary);margin:0 0 14px;font-size:12.5px}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--textSecondary);align-items:center;gap:8px;margin:0 0 12px;font-size:11px;font-weight:600;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.section-label .n{background:var(--primary);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10.5px;display:inline-flex}.field{margin-bottom:13px}.field label,.lbl{color:var(--textSecondary);margin-bottom:5px;font-size:12.5px;font-weight:500;display:block}.inp{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:9px 12px;font-size:13px;transition:border .15s}.inp:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primaryLight)}.inp:disabled{background:var(--borderLight);color:var(--textSecondary)}textarea.inp{resize:vertical;min-height:64px}.row2{gap:10px;display:flex}.row2>*{flex:1;min-width:0}.seg{gap:6px;display:flex}.seg button{border:1px solid var(--border);cursor:pointer;color:var(--textSecondary);background:#fff;border-radius:6px;flex:1;padding:8px 4px;font-size:13px;font-weight:500}.seg button.active{background:var(--primary);border-color:var(--primary);color:#fff}.btn{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--sidebar)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{color:var(--primary);border-color:var(--border);background:#fff}.btn.secondary:hover{border-color:var(--primary);background:var(--primaryLight)}.btn.success{background:var(--success);border-color:var(--success)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.sm{padding:6px 11px;font-size:12px}.btn.block{width:100%}.btn.lg{padding:12px 16px;font-size:14px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row>.btn{flex:1}.add-btn{border:1px dashed var(--border);width:100%;color:var(--textSecondary);cursor:pointer;background:0 0;border-radius:6px;padding:9px;font-size:12.5px}.add-btn:hover{border-color:var(--primary);color:var(--primary)}.abono{border:1px solid var(--border);background:var(--borderLight);border-radius:8px;margin-bottom:8px;padding:10px;position:relative}.abono .grid2{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.abono .inp{padding:7px 9px;font-size:12.5px}.abono label.s{color:var(--textSecondary);margin-bottom:3px;font-size:11px;display:block}.abono .rm{color:var(--textSecondary);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:4px;right:6px}.abono .rm:hover{color:var(--danger)}.abono .chk{color:var(--textSecondary);cursor:pointer;align-items:center;gap:6px;margin-top:8px;font-size:11.5px;display:flex}.layout{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}.layout>*{min-width:0}@media (width<=1100px){.layout{grid-template-columns:1fr}}.planbar{border-left:4px solid var(--primary);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.planbar .t{font-size:15px;font-weight:600}.planbar .meta{color:var(--textSecondary);margin-top:2px;font-size:12px}.planbar .grow{flex:1;min-width:200px}.dirty{color:#854d0e;background:#fef9c3;border-radius:5px;padding:3px 8px;font-size:11.5px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=700px){.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.stats{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid var(--primary);padding:14px}.stat.accent{border-top-color:var(--accent)}.stat.good{border-top-color:var(--success)}.stat.bad{border-top-color:var(--danger)}.stat .k{color:var(--textSecondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.stat .v{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.15}.stat .sub{color:var(--textSecondary);margin-top:4px;font-size:11.5px}.banner{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px 16px;font-size:13.5px;display:flex}.banner .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px}.banner.ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.banner.ok .dot{background:var(--success)}.banner.warn{color:#991b1b;background:#fef2f2;border-color:#fecaca}.banner.warn .dot{background:var(--danger)}.chart-box{height:260px}.auth-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=760px){.auth-grid{grid-template-columns:1fr}}.timeline{margin:10px 0 0;padding:0;font-size:12.5px;list-style:none}.timeline li{border-left:2px solid var(--border);padding:8px 0 8px 14px;position:relative}.timeline li:before{content:"";background:var(--textSecondary);border-radius:50%;width:8px;height:8px;position:absolute;top:13px;left:-5px}.timeline li.aprobado:before{background:var(--success)}.timeline li.rechazado:before{background:var(--danger)}.timeline li.solicitud:before{background:var(--warning)}.timeline .when{color:var(--textSecondary);font-size:11px}.timeline .c{color:var(--textSecondary);white-space:pre-wrap;margin-top:3px}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.table-wrap.alto{max-height:440px}table.grid{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}table.grid thead th{background:var(--primary);color:#fff;text-align:right;white-space:nowrap;padding:9px 10px;font-size:11.5px;font-weight:600;position:sticky;top:0}table.grid tbody td{text-align:right;border-bottom:1px solid var(--borderLight);white-space:nowrap;padding:7px 10px}table.grid .l{text-align:left}table.grid tbody tr:nth-child(2n){background:#fafbfd}table.grid tbody tr.warn-row{background:#fef2f2}table.grid tbody tr.abono-row td:first-child{color:var(--primary);font-weight:700}table.grid tbody tr.link{cursor:pointer}table.grid tbody tr.link:hover{background:var(--primaryLight)}.chip{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.chip.ok,.chip.aprobable,.chip.aprobado,.chip.activo{color:#065f46;background:#d1fae5}.chip.watch,.chip.pendiente{color:#92400e;background:#fef3c7}.chip.bad,.chip.requiere_autorizacion,.chip.rechazado{color:#991b1b;background:#fee2e2}.chip.inactivo{background:var(--borderLight);color:var(--textSecondary)}.filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filters .inp{flex:1;width:auto;min-width:200px}.filters select.inp{flex:none;min-width:190px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chips button{border:1px solid var(--border);cursor:pointer;color:var(--textSecondary);background:#fff;border-radius:16px;padding:6px 12px;font-size:12.5px}.chips button.active{background:var(--primary);border-color:var(--primary);color:#fff}.empty{text-align:center;color:var(--textSecondary);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 20px}.toast{background:var(--text);color:#fff;z-index:100;max-width:calc(100% - 32px);box-shadow:var(--shadowMd);border-radius:8px;padding:11px 18px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.err{background:var(--danger)}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:20px;display:flex}.salida{position:relative}.salida.no-autorizado:after{content:"NO AUTORIZADO";letter-spacing:.04em;color:#dc26261f;white-space:nowrap;pointer-events:none;z-index:5;font-size:clamp(32px,6.5vw,110px);font-weight:800;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)rotate(-24deg)}footer.nota{color:var(--textSecondary);margin-top:20px;font-size:11.5px}.decidir{max-width:760px}.decidir .btn.apagado{opacity:.7}.decidir .btn.apagado:hover{opacity:1}
