*{box-sizing:border-box}body{margin:0;background:#020617;color:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#0f172a;border-right:1px solid #1e293b;display:flex;flex-direction:column}.brand{padding:26px 24px 20px;border-bottom:1px solid #1e293b}.brand span{display:block;color:#22c55e;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.brand strong{display:block;margin-top:4px;font-family:Georgia,serif;font-size:22px}.nav{padding:18px 12px;display:grid;gap:4px;overflow-y:auto;flex:1;min-height:0}.nav-title{padding:0 12px 10px;color:#475569;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:#94a3b8;text-decoration:none;font-size:14px;font-weight:650}.nav a.active,.nav a:hover{background:#1e293b;color:#f8fafc}.nav a.active{color:#22c55e;background:rgba(34,197,94,.11)}.main{margin-left:260px;min-width:0;flex:1}.topbar{height:76px;background:#0f172a;border-bottom:1px solid #1e293b;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar h1{font-family:Georgia,serif;font-size:22px;margin:0}.topbar p{margin:4px 0 0;color:#64748b;font-size:13px}.content{padding:26px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.card{background:#0f172a;border:1px solid #1e293b;border-radius:12px}.card-pad{padding:18px}.kpi-label{color:#94a3b8;font-size:12px;font-weight:700}.kpi-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:25px;font-weight:850;margin-top:8px}.muted{color:#64748b}.small{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #1e293b}.section-head h2{margin:0;font-size:16px;font-family:Georgia,serif}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.btn-primary{background:#22c55e;color:#020617}.btn-secondary{background:#1e293b;color:#cbd5e1}.btn-danger{background:rgba(239,68,68,.13);color:#ef4444}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.search{display:flex;gap:10px;flex-wrap:wrap}.input,.select,textarea{width:100%;border:1px solid #334155;background:#0f172a;color:#f8fafc;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}.input:focus,.select:focus,textarea:focus{border-color:#22c55e}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-salidas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.btn-icon-add{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#22c55e;color:#020617;border:0;border-radius:8px;font-size:24px;font-weight:700;cursor:pointer;padding:0;line-height:1}.btn-icon-add:hover{opacity:.85}.field label{display:block;color:#94a3b8;font-size:12px;font-weight:800;margin-bottom:6px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{background:#0a1120;color:#64748b;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:12px 16px;border-bottom:1px solid #1e293b}.table td{padding:13px 16px;border-bottom:1px solid #152033;font-size:13px;color:#cbd5e1}.table tr:hover td{background:#172033}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.badge-ok{background:rgba(34,197,94,.12);color:#22c55e}.badge-warn{background:rgba(245,158,11,.12);color:#f59e0b}.badge-error{background:rgba(239,68,68,.12);color:#ef4444}.alerts{display:grid;gap:10px;margin-bottom:16px}.alert{padding:11px 13px;border-radius:8px;font-size:13px}.alert-ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#86efac}.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#fca5a5}.tabs{display:grid;gap:18px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.total-line{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:14px;border-radius:10px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.4)}.total-line.danger{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.4)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid #1e293b}.empty{padding:34px;text-align:center;color:#64748b}.tabnav{display:flex;gap:4px;border-bottom:1px solid #1e293b;margin-bottom:18px;flex-wrap:wrap}.tabnav button{background:transparent;border:0;color:#64748b;font-size:13px;font-weight:800;padding:12px 16px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tabnav button:hover{color:#cbd5e1}.tabnav button.active{color:#22c55e;border-bottom-color:#22c55e}.tabpanel{display:none}.tabpanel.active{display:block}@media(max-width:900px){.sidebar{position:static;width:auto}.app{display:block}.main{margin-left:0}.kpis,.form-grid,.form-grid-3,.form-grid-4,.split{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;padding:18px}.content{padding:16px}}
.nav-group{display:grid;gap:0}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:8px;color:#94a3b8;font-size:14px;font-weight:650;cursor:pointer;user-select:none;background:transparent;border:0;width:100%;text-align:left;font-family:inherit}.nav-group-toggle:hover,.nav-group-toggle.open{background:#1e293b;color:#f8fafc}.nav-group-toggle.open{color:#22c55e;background:rgba(34,197,94,.11)}.nav-group-toggle .arrow{font-size:10px;transition:transform .2s}.nav-group-toggle.open .arrow{transform:rotate(90deg)}.nav-sub{display:none;grid:auto/1fr;gap:2px;padding:4px 0 4px 14px}.nav-sub.open{display:grid}.nav-sub a{padding:9px 12px;font-size:13px;border-radius:6px;color:#94a3b8;text-decoration:none;font-weight:600}.nav-sub a:hover,.nav-sub a.active{background:#1e293b;color:#f8fafc}.nav-sub a.active{color:#22c55e}
.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pager-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pager-item{min-width:34px;height:34px;padding:0 11px;border:1px solid #334155;border-radius:8px;background:#0b1220;color:#cbd5e1;text-decoration:none;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}.pager-item:hover{border-color:#22c55e;color:#f8fafc;background:#122033}.pager-item.active{background:#22c55e;border-color:#22c55e;color:#020617}.pager-item.disabled{opacity:.45;cursor:not-allowed;background:#0f172a;color:#64748b}.pager-item.disabled:hover{border-color:#334155;color:#64748b;background:#0f172a}@media(max-width:700px){.pagination{align-items:flex-start;gap:12px;flex-direction:column}.pager{justify-content:flex-start}.pager-pages{order:3;width:100%}.pager-item{height:32px;min-width:32px;padding:0 10px}}
