:root{--verde: #005C57;--naturaleza: #0A6013;--crema: #F2ECD4;--lima: #DAE863;--magenta: #9B1260;--cian: #66FCF1;--estado-check: #148611;--estado-programado: #EEBF02;--estado-entregado: #5123C6;--estado-despachado: #CB54FF;--estado-alerta: #F74600;--verde-claro: #04716A;--verde-tinte: #B7E0DB;--verde-brillo: #8FD3CC;--crema-2: #EFE8CC;--crema-3: #E9E1C1;--crema-4: #E0D7B3;--crema-5: #D6CCA4;--crema-dim: #C9BE93;--tinta: #17241F;--tinta-var: #44544D;--contorno: #6E7E77;--contorno-suave: #BCC7BF;--marron: #0A6013;--marron-claro: #0A6013;--durazno: #DAE863;--durazno-dim: #C3D145;--arena: #EFE8CC;--secundario: #44544D;--f-display: "Lemon Milk", "Montserrat", "Segoe UI", system-ui, sans-serif;--f-cuerpo: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--t-titular: clamp(1.75rem, 1.3rem + 2.3vw, 2.75rem);--t-titular-md: clamp(1.3rem, 1.1rem + 1vw, 1.875rem);--t-cuerpo: 1rem;--t-etiqueta: .875rem;--t-etiqueta-sm: .75rem;--r: 6px;--r-lg: 10px;--r-xl: 16px;--r-pill: 999px;--sombra: 0 1px 2px rgba(23, 36, 31, .05), 0 6px 20px rgba(23, 36, 31, .08);--sombra-lg: 0 4px 10px rgba(23, 36, 31, .07), 0 24px 56px rgba(23, 36, 31, .14);--transicion: .3s cubic-bezier(.2, .7, .3, 1);--verde-osc: #00423E;--girasol: var(--estado-programado);--negro: var(--tinta);--gris: var(--tinta-var);--rojo: var(--estado-alerta);--azul: var(--verde-claro);--radio: var(--r-lg);--font: var(--f-cuerpo)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--f-cuerpo);font-size:var(--t-cuerpo);line-height:1.6;color:var(--tinta);background:var(--crema);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,81,71,.12)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.2;margin:0}p{margin:0}button{font-family:inherit;cursor:pointer}img{display:block;max-width:100%}.logo{border-radius:var(--r-lg);object-fit:contain;background:var(--verde);padding:6px}::selection{background:var(--verde);color:#fff}:focus-visible{outline:2px solid var(--verde-claro);outline-offset:2px}.app{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 72px}.brand-header{display:flex;align-items:center;gap:16px;padding:18px clamp(16px,4vw,40px);margin:0 calc(-1*clamp(16px,4vw,40px)) 28px;background:var(--verde);color:var(--crema);border-bottom:1px solid var(--verde-claro)}.brand-header img{width:56px;height:56px}.brand-title{font-family:var(--f-display);font-size:1.4rem;font-weight:700;line-height:1.15}.brand-title small{display:block;margin-top:4px;font-family:var(--f-cuerpo);font-size:var(--t-etiqueta-sm);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--durazno-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-lg);padding:13px 26px;font-size:var(--t-etiqueta);font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:background-color var(--transicion),color var(--transicion),border-color var(--transicion)}.btn-primary{background:var(--verde);color:#fff;border-color:var(--verde)}.btn-primary:hover{background:var(--marron-claro);border-color:var(--marron-claro)}.btn-girasol{background:var(--marron);color:#fff;border-color:var(--marron)}.btn-girasol:hover{background:var(--marron-claro);border-color:var(--marron-claro)}.btn-ghost{background:transparent;color:var(--verde);border-color:var(--contorno-suave)}.btn-ghost:hover{background:var(--verde);color:#fff;border-color:var(--verde)}.visor .btn-ghost,.brand-header .btn-ghost,.topbar .btn-ghost{color:var(--crema)}.visor .btn-ghost:hover,.brand-header .btn-ghost:hover,.topbar .btn-ghost:hover{background:var(--crema);color:var(--verde);border-color:var(--crema)}.btn-danger{background:transparent;color:var(--rojo);border-color:var(--rojo)}.btn-danger:hover{background:var(--rojo);color:#fff}.btn-azul{background:var(--verde-claro);color:#fff;border-color:var(--verde-claro)}.btn-azul:hover{background:var(--verde);border-color:var(--verde)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:9px 16px;font-size:var(--t-etiqueta-sm);letter-spacing:.1em}.btn-block{width:100%}.tabs{display:flex;align-items:center;gap:0;margin:0 0 28px;border-bottom:1px solid var(--crema-dim)}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:12px 20px;margin-bottom:-1px;font-size:var(--t-etiqueta);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--contorno);transition:color var(--transicion),border-color var(--transicion)}.tab:hover{color:var(--verde)}.tab.active{color:var(--verde);border-bottom-color:var(--verde)}.tab .count{display:inline-block;margin-left:8px;padding:1px 8px;background:var(--arena);color:var(--marron);border-radius:var(--r);font-size:var(--t-etiqueta-sm);font-weight:600}.tabs .add-order{margin-left:auto;width:40px;height:40px;border:1px solid var(--contorno-suave);border-radius:var(--r-lg);background:transparent;color:var(--verde);font-size:1.3rem;line-height:1;transition:background-color var(--transicion),color var(--transicion),border-color var(--transicion)}.tabs .add-order:hover{background:var(--verde);color:#fff;border-color:var(--verde)}.layout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}@media(max-width:880px){.layout{grid-template-columns:1fr}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}.product{background:var(--crema-2);border:1px solid var(--crema-dim);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--transicion),transform var(--transicion)}.product:hover{border-color:var(--durazno-dim);transform:translateY(-4px)}.product .ph{height:150px;background:var(--verde);display:flex;align-items:center;justify-content:center}.product .ph img{width:100%;height:100%;object-fit:cover}.product .body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}.product .nombre{font-family:var(--f-display);font-size:1.05rem;font-weight:700;line-height:1.25}.product .precio{color:var(--marron);font-weight:600;font-size:1.05rem}.product .obs{width:100%;padding:9px 10px;border:1px solid var(--crema-dim);border-radius:var(--r);background:var(--crema);font-family:inherit;font-size:.85rem;resize:vertical;min-height:36px}.product .obs:focus{outline:none;border-color:var(--verde-claro)}.product .body>.flex:last-child{margin-top:auto}.qty{display:flex;align-items:center;gap:10px}.qty button{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--contorno-suave);background:var(--crema);font-size:1rem;font-weight:600;color:var(--verde);transition:background-color var(--transicion),color var(--transicion),border-color var(--transicion)}.qty button:hover{background:var(--verde);color:#fff;border-color:var(--verde)}.qty span{min-width:22px;text-align:center;font-weight:600}.cart{background:var(--crema-2);border:1px solid var(--crema-dim);border-radius:var(--r);padding:24px;position:sticky;top:20px}.cart h3{font-size:var(--t-titular-md);font-weight:700;margin-bottom:16px}.cart .empty{color:var(--contorno);font-size:.92rem;padding:20px 0;text-align:center}.cart .line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--crema-dim);font-size:.92rem}.cart .line .x{color:var(--rojo);border:0;background:none;font-weight:700;font-size:1rem}.cart .line .meta{color:var(--contorno);font-size:.8rem}.cart .total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--f-display);font-weight:700;font-size:1.3rem;margin:20px 0;padding-top:16px;border-top:2px solid var(--verde)}.cart input.nombre,.modal input.nombre{width:100%;display:block;margin-bottom:12px;padding:12px;border:1px solid var(--crema-dim);border-radius:var(--r);background:var(--crema);font-size:1rem;font-family:inherit}.cart input.nombre:focus,.modal input.nombre:focus{outline:none;border-color:var(--verde-claro)}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}.order-card{background:var(--crema-2);border:1px solid var(--crema-dim);border-radius:var(--r);border-top:3px solid var(--verde);padding:28px 22px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;transition:border-color var(--transicion),transform var(--transicion)}.order-card:hover{transform:translateY(-4px)}.order-card .num{font-family:var(--f-display);font-size:2.4rem;font-weight:700;line-height:1;color:var(--verde)}.order-card .cliente{color:var(--contorno);font-size:.95rem}.order-card .qr{background:#fff;padding:12px;border-radius:var(--r);border:1px solid var(--crema-dim)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r);font-size:var(--t-etiqueta-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c1c1a8c;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--crema);color:var(--tinta);border:1px solid var(--crema-dim);border-radius:var(--r);max-width:460px;width:100%;max-height:88vh;overflow:auto;padding:32px;box-shadow:var(--sombra-lg)}.modal h3{font-size:var(--t-titular-md);margin-bottom:6px}.modal .item-row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--crema-dim)}.modal .item-row .obs{color:var(--contorno);font-size:.82rem;font-style:italic}.modal-close{float:right;width:34px;height:34px;border:1px solid var(--crema-dim);border-radius:var(--r);background:transparent;color:var(--contorno);font-size:1.05rem;transition:background-color var(--transicion),color var(--transicion),border-color var(--transicion)}.modal-close:hover{background:var(--verde);color:#fff;border-color:var(--verde)}.admin-shell{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 72px}.login-box{max-width:400px;margin:8vh auto;padding:40px;background:var(--crema-2);color:var(--tinta);border:1px solid var(--crema-dim);border-radius:var(--r);box-shadow:var(--sombra)}.login-box input{width:100%;margin-bottom:12px;padding:12px;border:1px solid var(--crema-dim);border-radius:var(--r);background:var(--crema);font-size:1rem;font-family:inherit}.login-box input:focus{outline:none;border-color:var(--verde-claro)}.admin-tabs{display:flex;gap:0;margin:10px 0 28px;border-bottom:1px solid var(--crema-dim)}table.data{width:100%;border-collapse:collapse;background:var(--crema-2);border:1px solid var(--crema-dim);border-radius:var(--r);overflow:hidden}table.data th,table.data td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--crema-dim);font-size:.92rem}table.data th{background:var(--verde);color:var(--crema);font-size:var(--t-etiqueta-sm);font-weight:600;letter-spacing:.14em;text-transform:uppercase}table.data tr:last-child td{border-bottom:none}table.data img.thumb{width:44px;height:44px;border-radius:var(--r);object-fit:cover;background:var(--crema-4)}.pill{padding:3px 10px;border-radius:var(--r);font-size:var(--t-etiqueta-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pill.on{background:var(--verde-tinte);color:var(--verde-osc)}.pill.off{background:var(--crema-5);color:var(--contorno)}.form-card{background:var(--crema-2);border:1px solid var(--crema-dim);border-radius:var(--r);padding:28px;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:var(--t-etiqueta-sm);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--contorno)}.form-grid input[type=text],.form-grid input[type=number]{padding:11px;border:1px solid var(--crema-dim);border-radius:var(--r);background:var(--crema);font-size:.95rem;font-family:inherit;letter-spacing:normal;text-transform:none}.form-grid input:focus{outline:none;border-color:var(--verde-claro)}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,4vw,40px);margin:0 calc(-1*clamp(16px,4vw,40px)) 28px;background:var(--verde);color:var(--crema)}.topbar strong{font-family:var(--f-display)}.visor{min-height:100vh;background:var(--verde);color:var(--crema);padding:32px clamp(20px,4vw,48px) 56px}.visor-head{display:flex;align-items:center;gap:20px;justify-content:center;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--verde-claro)}.visor-head img{width:68px;height:68px}.visor-head h1{font-size:var(--t-titular)}.visor-head h1 small{display:block;margin-top:6px;font-family:var(--f-cuerpo);font-size:var(--t-etiqueta-sm);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--durazno-dim)}.visor-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media(max-width:760px){.visor-cols{grid-template-columns:1fr}}.visor-col h2{display:flex;align-items:center;gap:12px;font-size:var(--t-titular-md);font-weight:700;padding-bottom:14px;border-bottom:1px solid var(--contorno-suave)}.visor-col.prep h2{color:var(--durazno)}.visor-col.listo h2{color:var(--verde-tinte)}.visor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:20px;margin-top:24px}.visor-card{background:var(--verde-claro);border:1px solid var(--contorno-suave);border-radius:var(--r);padding:24px 14px;text-align:center;cursor:pointer;transition:border-color var(--transicion),transform var(--transicion);animation:pop .35s cubic-bezier(.2,.7,.3,1)}.visor-card:hover{border-color:var(--durazno);transform:translateY(-4px)}.visor-card .vnum{font-family:var(--f-display);font-size:2.6rem;font-weight:700;line-height:1}.visor-card .vcli{color:var(--crema-dim);font-size:.9rem;margin-top:8px}.visor-card .vitems{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--contorno-suave);font-size:.92rem;color:var(--crema-2);text-align:left}.visor-card .vitems li{padding:1px 0;line-height:1.35}.visor-card .vitems b{color:var(--durazno);margin-right:3px}.visor-card.listo{border-color:var(--verde-tinte)}.visor-card.listo .vnum{color:var(--verde-tinte)}.visor-empty{color:var(--contorno-suave);font-size:1rem;padding:36px 0}.visor-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}@keyframes pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:80;background:var(--verde);color:var(--crema);padding:14px 26px;border-radius:var(--r);border:1px solid var(--verde-claro);box-shadow:var(--sombra-lg);font-size:var(--t-etiqueta);font-weight:600;letter-spacing:.06em;animation:pop .25s cubic-bezier(.2,.7,.3,1)}.lang-select{position:relative;display:inline-block}.lang-select.block{display:block;width:100%;margin-top:6px}.lang-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;color:inherit;border:1px solid var(--contorno-suave);border-radius:var(--r-lg);padding:9px 14px;font-size:var(--t-etiqueta-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:border-color var(--transicion)}.lang-btn:hover{border-color:var(--durazno)}.lang-select.block .lang-btn{width:100%;justify-content:flex-start;color:var(--tinta);border-color:var(--crema-dim);background:var(--crema)}.lang-btn img,.lang-list img{border-radius:0;box-shadow:0 0 0 1px #1c1c1a1f}.lang-btn .caret{margin-left:auto;opacity:.7}.lang-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.lang-list{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:190px;margin:0;padding:6px;list-style:none;background:var(--crema);color:var(--tinta);border:1px solid var(--crema-dim);border-radius:var(--r);box-shadow:var(--sombra-lg)}.lang-select.block .lang-list{right:0}.lang-list li{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:var(--r);cursor:pointer;font-weight:500;font-size:.92rem;transition:background-color var(--transicion)}.lang-list li:hover{background:var(--crema-3)}.lang-list li.on{background:var(--verde);color:var(--crema)}.muted{color:var(--contorno)}.center{text-align:center}.flex{display:flex;align-items:center;gap:10px}.spacer{flex:1}a.plain{color:var(--verde);text-decoration:none;font-weight:600;border-bottom:1px solid var(--durazno-dim);padding-bottom:2px}a.plain:hover{color:var(--marron-claro)}
