@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap";:root{--verde:#93c47d;--verde-h:#7db066;--verde-d:#6fa85a;--verde-dd:#5a8f48;--tinta:#1f2937;--titulo:#111827;--suave:#6b7280;--linea:#eef1ee;--card:#fff;color:var(--tinta);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0}::selection{background-color:#93c47d59}body{-webkit-font-smoothing:antialiased;background:radial-gradient(50rem 38rem at 100% -8%,#93c47d2e,#0000 60%),radial-gradient(46rem 36rem at -8% 108%,#93c47d26,#0000 60%),linear-gradient(160deg,#f0f7ec,#faf9f6 45%,#e8f0e0);min-height:100vh}.app{max-width:1080px;margin:0 auto;padding:36px 20px 70px}header{text-align:center}.logo{width:auto;height:132px;margin:0 auto;display:block}header p{color:var(--suave);margin:6px 0 0;font-size:15px;font-weight:500}.stepper{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:26px auto 28px;display:flex}.st{align-items:center;gap:8px;display:flex}.dot{width:30px;height:30px;color:var(--suave);border:2px solid var(--linea);background:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:800;transition:all .2s;display:grid}.st.active .dot{background:var(--verde);color:#fff;border-color:#0000;box-shadow:0 5px 14px -4px #93c47db3}.st.done .dot{background:var(--verde-d);color:#fff;border-color:#0000}.lbl{color:var(--suave);font-size:12.5px;font-weight:600}.st.active .lbl{color:var(--verde-dd)}.bar{background:var(--linea);border-radius:2px;width:30px;height:2px}.card{background:var(--card);border:1px solid var(--linea);border-radius:20px;padding:26px 28px;box-shadow:0 1px 3px #1118270f,0 12px 32px -18px #1118272e}.card.step{text-align:center;max-width:640px;margin:0 auto}.card.accent{border-color:#93c47d73}.card h2{color:var(--verde-d);margin:0 0 3px;font-size:19px;font-weight:800}.card .sub{color:var(--suave);margin:0 0 14px;font-size:13px;line-height:1.55}.empty{color:var(--suave);font-style:italic}button{font-family:inherit}.nav{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.nav button,.file.big,.chatbar button{cursor:pointer;color:#fff;background:var(--verde);border:0;border-radius:9999px;padding:11px 22px;font-size:14px;font-weight:700;transition:background .15s,transform .12s,box-shadow .12s;box-shadow:0 4px 12px -2px #93c47d73}.nav button:hover:not(:disabled),.file.big:hover,.chatbar button:hover:not(:disabled){background:var(--verde-h);transform:translateY(-1px);box-shadow:0 7px 16px -3px #93c47d8c}.nav button:disabled,.chatbar button:disabled{box-shadow:none;cursor:not-allowed;background:#d4dad2}button.ghost{color:#374151;box-shadow:none;background:#f3f4f6}button.ghost:hover{box-shadow:none;background:#e8eae8;transform:none}.file.big{display:inline-block}.file.big input{display:none}.o{color:var(--suave);margin:14px 0;font-size:13px}.ok{color:var(--verde-dd);font-size:13px;font-weight:600}.err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:9px 13px;font-size:13px;font-weight:600}.meta{color:var(--suave);font-size:13px}.loading{color:var(--verde-dd);font-weight:600}.campo{text-align:left;margin:16px 0}.campo>label{color:var(--titulo);margin-bottom:7px;font-size:12.5px;font-weight:700;display:block}.campo select,.campo input[type=number]{border:1.5px solid var(--linea);background:#fff;border-radius:12px;min-width:150px;padding:10px 13px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.campo select:focus,.campo input:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px #93c47d2e}.radios{gap:22px;font-size:14px;display:flex}.radios label{align-items:center;gap:7px;font-weight:500;display:flex}.fijo{font-size:14px;font-weight:600}.unidad{color:var(--suave);margin-left:8px}.recetas{border-top:1px dashed var(--linea);text-align:left;margin-top:22px;padding-top:18px}.rec-tit{color:var(--titulo);margin:0 0 5px;font-size:14.5px;font-weight:700}.rec-tit .opt{color:#fff;background:var(--verde);vertical-align:middle;text-transform:uppercase;letter-spacing:.03em;border-radius:9999px;margin-left:7px;padding:2px 9px;font-size:10.5px;font-weight:700}.rec-sub{color:var(--suave);margin:0 0 12px;font-size:13px;line-height:1.55}.file.small{cursor:pointer;color:#374151;background:#f3f4f6;border-radius:9999px;padding:9px 18px;font-size:13px;font-weight:700;transition:background .15s;display:inline-block}.file.small:hover{background:#e8eae8}.file.small input{display:none}.linkbtn{color:var(--verde-dd);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:700;text-decoration:underline}.linkbtn:hover{color:var(--verde-d)}.rec-note{color:var(--suave);margin:10px 0 0;font-size:12px;font-style:italic}.avisos{text-align:left;background:#f1f7ee;border:1px solid #d8e9d0;border-radius:14px;margin-bottom:16px;padding:8px 14px}.avisos p{color:var(--verde-dd);margin:5px 0;font-size:13px}.scroll{border:1px solid var(--linea);border-radius:14px;max-height:460px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;color:#374151;background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:11px 13px;font-weight:700;position:sticky;top:0}td{border-bottom:1px solid #f3f4f3;padding:10px 13px}tbody tr:nth-child(2n){background:#fbfcfa}tbody tr:hover{background:#f3f8f1}.num{text-align:right;font-variant-numeric:tabular-nums}.strong{color:var(--verde-dd);font-weight:700}.muted{color:var(--suave);font-variant-numeric:tabular-nums}.extra{border-top:1px solid var(--linea);margin-top:22px;padding-top:16px}.collapse{color:var(--verde-d);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:6px 0;font-family:inherit;font-size:19px;font-weight:800;display:flex}.collapse:hover{opacity:.85}.collapse .arrow{color:var(--verde);font-size:13px}.collapse.mini{color:var(--suave);font-size:15px;font-weight:700}.collapse.mini .arrow{color:var(--suave)}.descartadas .scroll{max-height:320px}.descartadas table{opacity:.92}.stocks-body.closed{display:none}.aiwrap{border-top:1px solid var(--linea);text-align:left;margin-top:20px;padding-top:16px}.chat{flex-direction:column;gap:9px;max-height:340px;margin:12px 0;padding:2px;display:flex;overflow:auto}.msg{white-space:pre-wrap;border-radius:16px;max-width:90%;padding:9px 14px;font-size:13px;line-height:1.55}.msg.user{background:var(--verde);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.msg.assistant{background:#f3f4f6;border-bottom-left-radius:5px;align-self:flex-start}.msg.md{white-space:normal;max-width:96%}.msg.md>:first-child{margin-top:0}.msg.md>:last-child{margin-bottom:0}.msg.md p{margin:7px 0}.msg.md h1,.msg.md h2,.msg.md h3,.msg.md h4{color:var(--verde-dd);margin:13px 0 5px;font-size:13.5px}.msg.md ul,.msg.md ol{margin:6px 0;padding-left:20px}.msg.md li{margin:3px 0}.msg.md strong{color:var(--titulo)}.msg.md hr{border:0;border-top:1px solid var(--linea);margin:11px 0}.msg.md blockquote{border-left:3px solid var(--verde);background:#eef5ea;border-radius:0 10px 10px 0;margin:8px 0;padding:7px 12px}.msg.md blockquote p{margin:0}.msg.md code{background:#e8eae8;border-radius:6px;padding:1px 5px;font-size:12px}.msg.md table{border-collapse:collapse;background:#fff;border-radius:10px;width:max-content;max-width:100%;margin:8px 0;display:block;overflow-x:auto;box-shadow:0 1px 3px #00000012}.msg.md th{color:var(--verde-dd);text-align:left;background:#eef5ea;padding:6px 12px;font-size:12px;font-weight:700}.msg.md td{border-top:1px solid var(--linea);padding:6px 12px;font-size:12.5px}.chatbar{align-items:flex-end;gap:9px;display:flex}.chatbar textarea{resize:vertical;border:1.5px solid var(--linea);min-height:52px;max-height:150px;font:inherit;border-radius:14px;flex:1;padding:11px 14px;font-size:14px}.chatbar textarea:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px #93c47d2e}.bloque-asistente{text-align:center;border-top:1px solid var(--linea);max-width:720px;margin:40px auto 8px;padding-top:30px}.bloque-tit{color:var(--titulo);margin:0;font-size:22px;font-weight:800}.bloque-sub{color:var(--suave);margin:5px 0 0;font-size:14px;font-weight:500}.cal{text-align:left;margin-top:22px}.cal-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cal-top>div{flex:1;min-width:240px}.cal-top>button{cursor:pointer;color:#fff;background:var(--verde);white-space:nowrap;border:0;border-radius:9999px;padding:11px 22px;font-size:14px;font-weight:700;transition:background .15s,transform .12s;box-shadow:0 4px 12px -2px #93c47d73}.cal-top>button:hover{background:var(--verde-h);transform:translateY(-1px)}.cal-form{background:#f7faf5;border:1px solid #d8e9d0;border-radius:16px;margin:18px 0 6px;padding:18px 20px}.cal-form h3{color:var(--verde-dd);margin:0 0 8px;font-size:16px;font-weight:800}.cal-form input.ancho,.cal-form textarea.ancho,.modal-body input[type=text],.modal-body input.ancho,.modal-body textarea{border:1.5px solid var(--linea);width:100%;color:var(--tinta);background:#fff;border-radius:12px;padding:11px 14px;font-family:inherit;font-size:15px}.modal-body textarea{resize:vertical;min-height:64px;line-height:1.5}.modal-body input::placeholder,.modal-body textarea::placeholder{color:#9aa3af}.cal-form input:focus,.cal-form textarea:focus,.cal-form select:focus,.modal-body input:focus,.modal-body textarea:focus,.modal-body select:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px #93c47d2e}.cal-radios{flex-wrap:wrap;gap:12px 22px}.cal-inline{color:var(--tinta);flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.cal-inline select,.cal-inline input{border:1.5px solid var(--linea);background:#fff;border-radius:12px;min-width:0;padding:10px 13px;font-family:inherit;font-size:14.5px}.cal-inline input[type=number]{text-align:center;width:74px;min-width:0}.cal-inline input[type=date]{min-width:160px}.cal-form-nav{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.cal-form-nav button{cursor:pointer;color:#fff;background:var(--verde);border:0;border-radius:9999px;padding:10px 20px;font-size:14px;font-weight:700}.cal-form-nav button:hover:not(:disabled){background:var(--verde-h)}.cal-form-nav button:disabled{cursor:not-allowed;background:#d4dad2}.cal-form-nav button.ghost{color:#374151;background:#f3f4f6}.cal-seccion{margin-top:26px}.cal-seccion h3{color:var(--verde-d);border-bottom:1px solid var(--linea);margin:0 0 12px;padding-bottom:8px;font-size:17px;font-weight:800}.cal-seccion h3.cal-urgente{color:#b45309;border-color:#fde0a8}.cal-lista{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cal-item{border:1px solid var(--linea);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;display:flex}.cal-item.venc{background:#fef5f5;border-color:#f1b9b9}.cal-item.hoy{background:#fffbf0;border-color:#f3d488}.cal-info{flex-wrap:wrap;align-items:baseline;gap:4px 9px;min-width:0;display:flex}.cal-dia{background:var(--verde);color:#fff;border-radius:9px;place-items:center;min-width:30px;height:30px;margin-right:4px;font-size:14px;font-weight:800;display:inline-grid}.cal-tit{color:var(--titulo);font-size:14.5px;font-weight:700}.cal-prov{color:var(--verde-dd);font-size:13px;font-weight:600}.cal-cuando{color:var(--suave);flex-basis:100%;font-size:12.5px}.cal-notas{color:var(--suave);flex-basis:100%;font-size:12.5px;font-style:italic}.cal-acc{flex-shrink:0;gap:6px;display:flex}.cal-acc button.mini{color:#374151;cursor:pointer;background:#f3f4f6;border:0;border-radius:9999px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:700}.cal-acc button.mini:hover{background:#e8eae8}.cal-nav-mes{justify-content:center;align-items:center;gap:12px;margin-bottom:6px;display:flex}.cal-flecha{border:1.5px solid var(--linea);width:34px;height:34px;color:var(--verde-dd);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:800;transition:all .15s;display:grid}.cal-flecha:hover{border-color:var(--verde);background:#f3f8f1}.cal-mes-actual{text-align:center;width:230px;color:var(--titulo);text-transform:capitalize;font-size:15.5px;font-weight:800}.cal-nav-sub{justify-content:center;align-items:center;min-height:34px;margin-bottom:8px;display:flex}.cal-estemes{color:var(--verde-dd);font-size:13px;font-weight:700}.cal-empty{text-align:center}.cal-hoy{color:#374151;cursor:pointer;background:#f3f4f6;border:0;border-radius:9999px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:700}.cal-hoy:hover{background:#e8eae8}.cal-mini-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#f3f4f6;border:0;border-radius:9999px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:700}.cal-mini-btn:hover{background:#e8eae8}.cal-mini-btn.hecho{background:var(--verde);color:#fff}.cal-mini-btn.hecho:hover{background:var(--verde-h)}.cal-item.hecha{opacity:.85;background:#f7f8f7}.cal-item.hecha .cal-tit{color:var(--suave);text-decoration:line-through}.cal-item.hecha .cal-prov{text-decoration:line-through}.cal-item.hecha .cal-dia{background:#b6c3ad}.cal-link{color:var(--verde-dd);cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:0;padding:0;font-family:inherit;text-decoration:underline}.cal-link:hover{color:var(--verde-d)}.cal-top-btns{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-top-btns>button{cursor:pointer;color:#fff;background:var(--verde);white-space:nowrap;border:0;border-radius:9999px;padding:11px 20px;font-size:14px;font-weight:700;transition:background .15s,transform .12s;box-shadow:0 4px 12px -2px #93c47d73}.cal-top-btns>button:hover{background:var(--verde-h);transform:translateY(-1px)}.cal-top-btns>button.ghost{color:#374151;box-shadow:none;background:#f3f4f6}.cal-top-btns>button.ghost:hover{background:#e8eae8;transform:none}.modal-fondo{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#11182773;justify-content:center;align-items:flex-start;padding:40px 16px;animation:.15s modal-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes modal-in{0%{opacity:0}to{opacity:1}}.modal{text-align:left;background:#fff;border-radius:20px;width:100%;max-width:600px;margin:auto 0;padding:26px 28px;position:relative;box-shadow:0 24px 60px -20px #11182773}.modal-x{color:#374151;cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;width:34px;height:34px;font-size:15px;font-weight:800;line-height:1;position:absolute;top:14px;right:16px}.modal-x:hover{background:#e8eae8}.modal-tit{color:var(--verde-d);margin:0 0 14px;font-size:19px;font-weight:800}.modal-body .campo:first-of-type{margin-top:0}.modal-lista-cab{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-lista-cab .modal-tit{margin:0}.modal-lista-cab>button{cursor:pointer;color:#fff;background:var(--verde);border:0;border-radius:9999px;padding:9px 18px;font-size:13.5px;font-weight:700}.modal-lista-cab>button:hover{background:var(--verde-h)}.modal .cal-lista{max-height:60vh;overflow-y:auto}footer{text-align:center;color:var(--suave);margin-top:30px;font-size:12px}.navright{flex-wrap:wrap;gap:10px;display:flex}.printonly{display:none}.print-head b{color:var(--titulo);font-size:18px;display:block}.print-head span{color:var(--suave);font-size:12px}@media (width<=640px){.lbl{display:none}.bar{width:16px}.card{padding:18px}header h1{font-size:26px}}.printdoc{display:none}@media print{body{background:#fff}.app{max-width:none;padding:0}.stepper,.aiwrap,footer,.nav,header,.bloque-asistente{display:none!important}.card,.card.accent{box-shadow:none!important;border:none!important;padding:0!important}.printonly{margin-bottom:14px;display:block!important}.scroll{border:1px solid #ccc;border-radius:0;max-height:none!important;overflow:visible!important}thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#eee!important}h2,.strong,.muted{color:#000!important}.app.print-pedido .card,.app.print-stocks .card{display:none!important}.app.print-pedido .doc-pedido,.app.print-stocks .doc-stocks{display:block!important}.printdoc{color:#000;text-align:left;font-size:12px}.doc-cab{border-bottom:3px solid #2f4a2f;align-items:center;gap:18px;padding-bottom:12px;display:flex}.doc-cab img{height:52px}.doc-tit{flex:1;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.doc-tit h1{letter-spacing:.4px;color:#2f4a2f;margin:0;font-size:23px}.doc-meta{text-align:right;flex-direction:column;gap:3px;font-size:12px;display:flex}.doc-sub{margin:12px 0 14px;font-size:12px;line-height:1.5}.doc-suave{color:#555;font-weight:400}.doc-datos{flex-wrap:wrap;gap:10px 36px;margin:14px 0 16px;font-size:12.5px;display:flex}.doc-linea{vertical-align:bottom;border-bottom:1px solid #000;width:220px;height:13px;display:inline-block}.doc-linea.corta{width:110px}.doc-tabla{border-collapse:collapse;width:100%;font-size:11.5px}.doc-tabla th,.doc-tabla td{border:1px solid #aaa;padding:5px 8px}.doc-tabla thead{display:table-header-group}.doc-tabla thead th{text-transform:uppercase;letter-spacing:.03em;font-size:11px;position:static;color:#2f4a2f!important;background:#e8efe4!important}.doc-tabla tbody tr:nth-child(2n){-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f6f6f4}.doc-tabla tbody tr:hover{background:inherit}.doc-cod{font-variant-numeric:tabular-nums;color:#444;white-space:nowrap}.doc-uds{font-size:12.5px;font-weight:700}.doc-tabla tfoot td{border:none;border-top:2.5px solid #2f4a2f;padding-top:8px;font-size:12.5px;font-weight:700}.doc-tabla .centro{text-align:center}.doc-casilla{border:1.5px solid #000;border-radius:2px;width:13px;height:13px;display:inline-block}.doc-obs{break-inside:avoid;margin-top:20px;font-size:12px}.doc-obs-box{border:1px solid #aaa;border-radius:3px;height:72px;margin-top:5px}.doc-firma{break-inside:avoid;flex-direction:column;align-items:flex-end;gap:4px;margin-top:42px;font-size:12px;display:flex}.doc-linea-firma{border-bottom:1px solid #000;width:230px;height:34px;display:block}.doc-leyenda{color:#333;break-inside:avoid;margin-top:12px;font-size:11px;line-height:1.5}.extra{border-top:1px solid #ccc}tr,.avisos,.extra{break-inside:avoid}.stocks-body.closed{display:block!important}.campo,.collapse,.app.print-pedido .sec-stocks,.app.print-stocks .sec-pedido,.app.print-stocks .avisos,.descartadas{display:none!important}}
