:root{--tinta: #1d2433;--gris: #667085;--borde: #e3e6ec;--fondo: #f5f6f8;--acento: #114b8f;--acento-claro: #e8f0fb;--rojo: #b3261e;--verde: #146c43;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--tinta)}*{box-sizing:border-box}body{margin:0;background:var(--fondo)}main{max-width:1100px;margin:0 auto;padding:24px 16px 80px}header h1{margin:8px 0 0;font-size:1.6rem}.sub{color:var(--gris);margin:4px 0 20px}.cargando{padding:40px;color:var(--gris)}.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:10px;padding:18px 20px;margin-bottom:18px}.tarjeta h2{margin:0 0 14px;font-size:1.05rem;color:var(--acento)}.banner{border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;gap:12px}.banner.error{background:#fdecea;color:var(--rojo);border:1px solid #f5c6c3}.banner button{background:none;border:none;cursor:pointer;font-size:1rem}.buscador{position:relative}.buscador input{width:100%;padding:10px 12px;border:1px solid var(--borde);border-radius:8px;font-size:1rem}.pista{color:var(--gris);font-size:.85rem}.sugerencias{position:absolute;z-index:5;inset-inline:0;top:100%;margin:4px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:0 8px 24px #1d24331f;max-height:280px;overflow:auto}.sugerencias button{display:flex;flex-direction:column;width:100%;text-align:left;padding:9px 12px;background:none;border:none;cursor:pointer;font-size:.95rem}.sugerencias button:hover{background:var(--acento-claro)}.sugerencias small{color:var(--gris)}.seleccion{margin:10px 0 0}.enlace{background:none;border:none;color:var(--acento);cursor:pointer;text-decoration:underline;font-size:.9rem}.tabla-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{padding:8px;border-bottom:1px solid var(--borde);text-align:left}th{color:var(--gris);font-weight:600;white-space:nowrap}td input[type=number]{width:72px;padding:6px;border:1px solid var(--borde);border-radius:6px}td input[type=number]:disabled{background:var(--fondo);color:var(--gris)}tr.apagada td{color:var(--gris)}.tejido small{display:block;color:var(--gris)}td .etiqueta{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:10px;background:var(--acento-claro);color:var(--acento);font-size:.72rem}td .etiqueta.aviso{background:#fff3cd;color:#7a5c00}.num{text-align:right;white-space:nowrap}.total-label{color:var(--gris)}.total{font-weight:700;font-size:1.05rem}button.primario,button.peligro{border:none;border-radius:8px;padding:11px 20px;font-size:1rem;cursor:pointer;color:#fff}button.primario{background:var(--acento)}button.peligro{background:var(--rojo)}button.primario:disabled,button.peligro:disabled{background:#b9c2d0;cursor:not-allowed}.pedido p{margin:6px 0 12px}.confirmado{color:var(--verde)}.confirmado ul{margin:4px 0}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d243373;display:grid;place-items:center;z-index:20}.modal{background:#fff;border-radius:12px;padding:22px 24px;max-width:440px;margin:16px}.modal h3{margin-top:0}.modal-botones{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-botones button{border:1px solid var(--borde);background:#fff;border-radius:8px;padding:9px 16px;cursor:pointer}.modal-botones button.peligro{background:var(--rojo);color:#fff;border:none}.home-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.home-cab h2,.home-cab h3{margin:0}.filtro{width:100%;padding:9px 12px;border:1px solid var(--borde);border-radius:8px;margin-bottom:12px;font-size:.95rem}table.lista td,table.lista th{padding:9px 10px}table.lista a{color:var(--acento);font-weight:600;text-decoration:none}.estado{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.8rem;font-weight:600}.estado.borrador{background:#fff3cd;color:#7a5c00}.estado.confirmado{background:#d1e7dd;color:var(--verde)}.fecha{color:var(--gris);font-size:.85rem;white-space:nowrap}.acciones{white-space:nowrap}.acciones .enlace{margin-right:10px}.barra{display:flex;align-items:center;gap:14px;margin-bottom:6px;flex-wrap:wrap}.barra h2{margin:0;font-size:1.25rem}.tarjeta h3{margin:0 0 12px;font-size:1rem;color:var(--acento)}.banner.info{background:var(--acento-claro);color:var(--acento)}.sync-resultado{margin-top:10px;border-top:1px solid var(--borde);padding-top:10px}.sync-resultado h4{margin:12px 0 6px;font-size:.9rem}.sync-lista{margin:0;padding-left:18px;font-size:.85rem;max-height:220px;overflow:auto}.sync-lista li{margin:2px 0}.sync-lista code{background:var(--acento-claro);padding:1px 5px;border-radius:4px;font-size:.82rem}.sync-fila-tejido{display:flex;justify-content:space-between;align-items:center;gap:10px}.alta-odoo{margin:8px 0 4px;padding:10px;border:1px solid var(--borde);border-radius:8px;background:var(--fondo, #fafafa)}.alta-odoo .linea-fila{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.seleccion-prov{display:flex;align-items:center;gap:10px}.presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{border:1px solid var(--borde);background:#fff;border-radius:16px;padding:5px 12px;font-size:.85rem;cursor:pointer}.chip:hover{background:var(--acento-claro);border-color:var(--acento)}.chip.anadir{margin-top:10px;border-style:dashed}.lineas{display:flex;flex-direction:column;gap:12px}.linea-card{border:1px solid var(--borde);border-radius:10px;padding:12px 14px;background:#fcfcfd}.linea-fila{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px}.linea-fila.principal{align-items:flex-end}.linea-fila.ajustes{padding-top:8px;border-top:1px dashed var(--borde)}.linea-materiales{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px;padding:8px 10px;background:#f4f6fb;border:1px solid var(--borde);border-radius:8px}.linea-materiales-tit{align-self:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin-right:2px}.campo{display:flex;flex-direction:column;gap:3px}.campo span{font-size:.75rem;color:var(--gris)}.campo.grande{flex:1;min-width:150px}.campo.estrecho{width:130px}.campo select,.campo input{padding:7px 9px;border:1px solid var(--borde);border-radius:7px;font-size:.92rem;background:#fff}.campo input[type=number]{width:90px}.check{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--tinta)}.radios{display:flex;gap:14px;padding-top:4px}.radios label{display:flex;align-items:center;gap:5px;font-size:.9rem}.quitar{align-self:flex-end;width:32px;height:32px;border:1px solid var(--borde);background:#fff;border-radius:7px;font-size:1.1rem;cursor:pointer;color:var(--rojo)}.quitar:hover{background:#fdecea}.linea-calculo{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding-top:8px;border-top:1px solid var(--borde);font-size:.9rem}.linea-calculo .tot{margin-left:auto}.error-linea{color:var(--rojo);font-size:.88rem}.campo.invalido input{border-color:var(--rojo);background:#fdecea}.aviso-medida{color:var(--rojo);font-size:.86rem;margin:2px 0 0}.linea-calculo .tot strong{font-size:1.05rem}.total-barra{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:2px solid var(--borde)}.total-barra strong{font-size:1.3rem;color:var(--acento)}.acciones-guardar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pedido-info{font-size:.95rem}.pedido{margin-top:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.confirmado-box{margin-top:14px;color:var(--verde)}.confirmado-box ul{margin:4px 0 10px}.disabled input,input:disabled,select:disabled{background:var(--fondo);color:var(--gris)}.home-acciones{display:flex;gap:10px;align-items:center}button.secundario{border:1px solid var(--borde);background:#fff;color:var(--acento);border-radius:8px;padding:10px 16px;font-size:.95rem;cursor:pointer}button.secundario:hover{background:var(--acento-claro)}.config-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.config-tabs .tab{border:1px solid var(--borde);background:#fff;border-radius:8px 8px 0 0;padding:8px 16px;cursor:pointer;font-size:.92rem}.config-tabs .tab.activa{background:var(--acento);color:#fff;border-color:var(--acento)}.params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px}.params-grid .campo input{width:100%}.ayuda{color:var(--gris);font-size:.75rem;line-height:1.3}.guardado{font-size:.9rem;font-weight:600}.guardado.ok{color:var(--verde)}.guardado.err{color:var(--rojo)}.tej-cab{display:flex;justify-content:space-between;align-items:center;gap:10px}.expandir{text-align:left;font-size:.98rem;color:var(--tinta)}.expandir small{color:var(--gris);font-weight:400}table.colores{font-size:.85rem}table.colores th{font-weight:600;color:var(--gris)}table.colores input{padding:5px 7px;border:1px solid var(--borde);border-radius:6px;width:100%}table.colores input.mini{width:90px}.quitar.mini{width:26px;height:26px;font-size:.95rem}.prod-map{margin-top:10px;padding-top:8px;border-top:1px dashed var(--borde)}.prod-fila{display:flex;align-items:center;gap:8px;margin:5px 0}.prod-fila input{padding:6px 8px;border:1px solid var(--borde);border-radius:6px}.prod-fila input.mini{width:80px}.sticky-guardar{position:sticky;bottom:0;background:#fff;padding-top:12px;margin-top:12px;border-top:1px solid var(--borde)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{display:flex;flex-direction:column;gap:4px;background:var(--acento-claro);border:1px solid var(--borde);border-radius:10px;padding:14px 16px}.kpi-num{font-size:1.35rem;font-weight:700;color:var(--acento)}.kpi-lbl{color:var(--gris);font-size:.82rem}.dash-controles{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash-controles input[type=date]{padding:7px 10px;border:1px solid var(--borde);border-radius:8px;font-size:.9rem}.periodos{display:flex;gap:6px;flex-wrap:wrap}.chip.activo{background:var(--acento);color:#fff;border-color:var(--acento)}tr.persona-fila:hover td{background:var(--acento-claro)}@media(max-width:620px){.kpis{grid-template-columns:repeat(2,1fr)}}.dash-controles select{padding:7px 10px;border:1px solid var(--borde);border-radius:8px;font-size:.9rem;background:#fff;color:var(--tinta)}.dash-controles a.chip{text-decoration:none;color:var(--acento)}.comparativa{margin:6px 0 0}.var{font-weight:600;font-size:.85rem}.var.sube{color:var(--verde)}.var.baja{color:var(--rojo)}.importar-abrir{margin:0 0 12px}.importar{border:1px dashed var(--acento);border-radius:10px;padding:12px 14px;margin-bottom:14px;background:var(--acento-claro)}.importar textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,monospace;font-size:.82rem;padding:8px;border:1px solid var(--borde);border-radius:8px;resize:vertical}.importar-acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.importar-acciones label.chip{display:inline-flex;align-items:center}.importar-resumen{margin-top:10px;font-size:.9rem}.importar-resumen ul{max-height:180px;overflow:auto;margin:6px 0 0;color:var(--gris)}.quitar:disabled,.chip:disabled{opacity:.35;cursor:not-allowed}.login-caja{display:flex;justify-content:center;padding:48px 16px}.login-form{max-width:360px;width:100%}.login-form label{display:block;margin:12px 0;font-weight:600}.login-form input{width:100%;margin-top:4px;padding:9px 10px}.login-form button{width:100%;margin-top:10px}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.sesion{display:flex;align-items:center;gap:10px;white-space:nowrap}.usuario-actual{font-size:.9em;color:#5a5147}.usuario-nuevo{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 18px}.usuario-nuevo input,.usuario-nuevo select{padding:8px 9px}table.usuarios{width:100%;border-collapse:collapse}table.usuarios th,table.usuarios td{text-align:left;padding:8px 10px;border-bottom:1px solid #eadfce}table.usuarios tr.inactivo{opacity:.55}table.usuarios .acciones{display:flex;gap:6px;flex-wrap:wrap}table.usuarios .tu{color:#7a5230;font-size:.85em}button.mini.quitar{color:#b3261e}
