:root{--bg:#0a1430;--panel:#121f40;--panel-2:#16244a;--elev:#1b2c55;--text:#e8eefb;--muted:#93a4c4;--border:#8caae124;--primary:#2f8df0;--primary-d:#2477d6;--accent:#2fe3a0;--danger:#ff7a7a;--ok:#2fe3a0;--grad:linear-gradient(135deg, #2f8df0 0%, #2fe3a0 100%);--shadow:0 10px 30px #00000059;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(1100px 520px at 50% -8%, #2f8df02e, transparent 60%), radial-gradient(900px 500px at 100% 0%, #2fe3a01a, transparent 55%), var(--bg);background-attachment:fixed;min-height:100vh;margin:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--accent)}button{cursor:pointer;border:1px solid var(--border);background:var(--elev);color:var(--text);border-radius:9px;padding:8px 14px;font-size:14px;transition:all .15s}button:hover{background:#233769;border-color:#2f8df080}.btn-principal,button.btn-principal,button[type=submit].btn-principal{background:var(--grad);color:#06122b;border:none;padding:12px 20px;font-size:15px;font-weight:700;box-shadow:0 6px 18px #2f8df047}.btn-principal:hover{filter:brightness(1.06)}.btn-ok{color:#04221a;background:linear-gradient(135deg,#2fe3a0,#21c08a);border:none;font-weight:700}.btn-ok:hover{filter:brightness(1.06)}input,select{border:1px solid var(--border);color:var(--text);background:#0d1a38;border-radius:9px;width:100%;padding:9px 11px;font-size:14px}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2f8df033}option{color:var(--text);background:#0d1a38}::placeholder{color:#6b7ea0}.centro{height:100vh;color:var(--muted);place-items:center;display:grid}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;gap:8px;width:340px;padding:30px;display:grid}.login-logo{border-radius:12px;width:100%;margin-bottom:6px}.login-card .sub{color:var(--muted);text-align:center;margin:0 0 12px}.login-card label{color:var(--muted);margin-top:6px;font-size:13px}.login-card button{background:var(--grad);color:#06122b;border:none;margin-top:16px;font-weight:700}.error{color:var(--danger);font-size:13px}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;border-bottom:1px solid var(--border);background:#0d1630d9;flex-wrap:wrap;align-items:center;gap:14px 22px;min-height:60px;padding:10px 20px;display:flex;position:sticky;top:0}.marca{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;align-items:center;gap:9px;font-size:18px;font-weight:800;display:flex}.marca img{filter:drop-shadow(0 2px 6px #2f8df066);width:auto;height:34px}.menu{display:contents}.menu-toggle{color:var(--text);background:0 0;border:none;margin-left:auto;padding:6px 10px;font-size:22px;line-height:1;display:none}.nav{flex-wrap:wrap;flex:1;gap:2px;display:flex}.nav a{color:var(--muted);border-radius:9px;padding:8px 13px;font-size:14px;font-weight:500}.nav a:hover{color:var(--text);background:#ffffff0d}.nav a.active{color:#cfe4ff;background:#2f8df029;font-weight:700}.usuario{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.contenido{max-width:1180px;margin:0 auto;padding:24px}.pagina h2{letter-spacing:-.01em;margin-top:0;font-weight:800}.nota-info{color:var(--muted)}fieldset{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin:0 0 16px;padding:18px}legend{color:#bcd0f0;padding:0 8px;font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{color:var(--muted);gap:4px;font-size:13px;display:grid}label.check{flex-direction:row;align-items:center}label.check input{width:auto}.form-fila{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:16px;padding:16px;display:flex}.form-fila input,.form-fila select{width:auto;min-width:140px}.form-articulo{background:var(--panel);border:1px solid var(--border);border-radius:14px;gap:12px;margin-bottom:20px;padding:18px;display:grid}.receta{gap:16px;display:grid}.receta-bloque{border:1px dashed var(--border);background:#ffffff05;border-radius:12px;padding:12px}.receta-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.receta-linea{grid-template-columns:2fr 1fr 1.4fr auto;gap:8px;margin-bottom:6px;display:grid}.tabla{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;overflow:hidden}.tabla th,.tabla td{text-align:left;border-bottom:1px solid var(--border);padding:11px 13px;font-size:14px}.tabla th{color:var(--muted);background:#ffffff08;font-weight:600}.tabla tr:last-child td{border-bottom:none}.tabla tr.inactivo{opacity:.45}.acciones{gap:6px;display:flex}.vacio{text-align:center;color:var(--muted)}.pdv-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tasa{color:var(--muted);font-size:14px}.tasa strong{color:var(--accent)}.tasa .aviso,.aviso{color:var(--danger)}.pdv-linea{grid-template-columns:2fr 100px 1fr auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.pdv-linea .precio{color:var(--muted);font-size:13px}.pdv-total{margin:16px 0;font-size:16px}.pdv-total strong{color:var(--accent)}.mensaje{color:var(--accent);background:#2fe3a024;border:1px solid #2fe3a04d;border-radius:10px;margin-bottom:12px;padding:10px 14px}.tablero{grid-template-columns:repeat(4,1fr);align-items:start;gap:14px;display:grid}.columna{border:1px solid var(--border);background:#ffffff08;border-radius:16px;padding:12px}.columna-head{color:#cdddf6;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.contador{color:var(--muted);background:#ffffff14;border-radius:20px;padding:1px 9px;font-size:12px}.columna-vacia{text-align:center;color:#4a5a7e;padding:14px 0;font-size:13px}.nota-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-left:4px solid var(--primary);color:var(--text);border-radius:12px;margin-bottom:10px;padding:13px;transition:transform .12s,box-shadow .12s,border-color .12s;display:block}.nota-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0006}.nota-cliente{font-weight:700}.nota-meta{color:var(--muted);margin-top:3px;font-size:12px}.nota-card.estado-en_produccion{border-left-color:#f5b14b}.nota-card.estado-producida{border-left-color:#2f8df0}.nota-card.estado-en_despacho{border-left-color:#a78bfa}.nota-card.estado-entregada{border-left-color:#2fe3a0}.badge{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.estado-en_produccion{color:#f7c074;background:#f5b14b2e}.badge.estado-producida{color:#84bdff;background:#2f8df033}.badge.estado-en_despacho{color:#c4b4fd;background:#a78bfa33}.badge.estado-entregada{color:#6fe9bf;background:#2fe3a02e}.badge.tarea-disponible{color:#b3c2dd;background:#94a3c02e}.badge.tarea-tomado{color:#f7c074;background:#f5b14b2e}.badge.tarea-en_proceso{color:#84bdff;background:#2f8df033}.badge.tarea-pausado_insumo{color:#f9a8d4;background:#f472b633}.badge.tarea-esperando_componentes{color:#b3bcff;background:#818cf833}.badge.tarea-pospuesto{color:#8bdcff;background:#38bdf833}.badge.tarea-listo{color:#6fe9bf;background:#2fe3a02e}.detalle-head{align-items:center;gap:12px;display:flex}.detalle-grid{background:var(--panel);border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:12px 0;padding:18px;font-size:14px;display:grid}.detalle-grid strong{color:var(--muted);font-weight:600}.detalle-total{margin-top:12px;font-size:16px}.detalle-total strong{color:var(--accent)}.tareas-lista{gap:11px;display:grid}.tarea-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-left:4px solid var(--border);border-radius:13px;padding:15px;transition:box-shadow .12s,transform .12s}.tarea-card:hover{box-shadow:0 6px 18px #0000004d}.tarea-card.tarea-disponible{border-left-color:#8aa0c0}.tarea-card.tarea-tomado{border-left-color:#f5b14b}.tarea-card.tarea-en_proceso{border-left-color:#2f8df0}.tarea-card.tarea-pausado_insumo{border-left-color:#f472b6}.tarea-card.tarea-esperando_componentes{border-left-color:#818cf8}.tarea-card.tarea-pospuesto{border-left-color:#38bdf8}.tarea-fila{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.tarea-nombre{font-size:15px;font-weight:700}.tarea-cant{color:var(--muted);font-weight:400}.tarea-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.tarea-acciones{flex-shrink:0;gap:8px;display:flex}.posponer-form{background:#38bdf814;border:1px solid #38bdf840;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:12px;font-size:14px;display:flex}.posponer-form input{width:auto}.pospuesto-aviso{color:#8bdcff;background:#38bdf81a;border-radius:9px;margin-top:10px;padding:7px 11px;font-size:13px}.pospuesto-aviso.vencido{color:#f7c074;background:#f5b14b24;font-weight:700}.insumos-form{border-top:1px dashed var(--border);margin-top:13px;padding-top:13px}.insumos-titulo{color:#bcd0f0;margin-bottom:8px;font-size:13px;font-weight:600}.insumo-linea{grid-template-columns:1.6fr 90px 50px 1.2fr auto;align-items:center;gap:8px;margin-bottom:6px;display:grid}.insumo-linea.origen-mise_en_place{opacity:.55}.insumo-nombre{font-size:14px}.insumo-unidad{color:var(--muted);font-size:12px}.insumos-add{margin:8px 0}.insumos-add select{max-width:240px}.insumos-nota{color:var(--muted);margin-bottom:10px;font-size:12px}.insumos-pedidos{margin:8px 0 0;padding-left:18px;font-size:14px}.insumos-pedidos li{margin:3px 0}.insumos-pedidos strong{color:var(--accent)}@media (width<=800px){.tablero,.detalle-grid{grid-template-columns:1fr 1fr}.contenido{padding:16px}.tarea-fila{flex-direction:column;align-items:flex-start}.tarea-acciones{flex-wrap:wrap;width:100%}.menu-toggle{display:block}.menu{flex-direction:column;flex-basis:100%;gap:10px;padding-top:6px;display:none}.menu.abierto{display:flex}.nav{flex-direction:column;gap:3px;width:100%}.nav a{border-radius:10px;padding:11px 12px}.usuario{border-top:1px solid var(--border);justify-content:space-between;width:100%;padding-top:12px}}
