@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;padding:0;font-family:Inter,Segoe UI,sans-serif}.login-container{box-sizing:border-box;background:linear-gradient(135deg,#8b7355 0%,#c4b896 40%,#d0cab5 70%,#a8956f 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1rem;display:flex}.login-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#fffffff7;border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;transition:all .3s;box-shadow:0 20px 60px #0000002e,0 4px 16px #0000001a}.logo-wrapper{margin-bottom:1.25rem}.logo-wrapper img{border-radius:8px;max-width:75%;height:auto}.subtitle{color:#6b7280;margin-bottom:1.75rem;font-size:.9rem;font-weight:400;line-height:1.5}form{flex-direction:column;gap:.85rem;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper svg{color:#9ca3af;pointer-events:none;position:absolute;left:.85rem}input{color:#111827;letter-spacing:.05em;background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:.85rem .85rem .85rem 2.75rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;transition:border-color .2s,box-shadow .2s,background .2s}input::placeholder{color:#9ca3af;letter-spacing:0;font-weight:400}input:focus{background-color:#fff;border-color:#8b7355;box-shadow:0 0 0 4px #8b73551f}button[type=submit]{color:#fff;cursor:pointer;letter-spacing:.025em;background:linear-gradient(135deg,#8b7355 0%,#6b5a3e 100%);border:none;border-radius:12px;padding:.9rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 4px 14px #8b735566}button[type=submit]:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #8b735573}button[type=submit]:active{transform:translateY(0);box-shadow:0 2px 8px #8b735559}button[type=submit]:disabled{opacity:.65;cursor:not-allowed;transform:none}.result-panel{border-radius:16px;margin-top:1.5rem;animation:.4s cubic-bezier(.34,1.56,.64,1) slideDown;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.result-success{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:2px solid #86efac}.result-success .result-header{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);align-items:center;gap:.6rem;padding:.9rem 1.25rem;display:flex}.result-success .result-header h3{letter-spacing:.025em;margin:0;font-size:.95rem;font-weight:700}.result-notfound{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:2px solid #fdba74}.result-notfound .result-header{color:#fff;background:linear-gradient(135deg,#ea580c,#c2410c);align-items:center;gap:.6rem;padding:.9rem 1.25rem;display:flex}.result-notfound .result-header h3{margin:0;font-size:.95rem;font-weight:700}.result-body{flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.saldo-display{text-align:center;padding:.75rem 0}.saldo-label{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem;font-size:.78rem;font-weight:600}.saldo-amount{color:#15803d;letter-spacing:-.02em;font-size:2.4rem;font-weight:800;line-height:1.1}.detail-row{background:#fff9;border:1px solid #0000000f;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.detail-row .detail-key{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.detail-row .detail-value{color:#111827;font-size:.9rem;font-weight:700}.btn-nueva-consulta{color:#8b7355;cursor:pointer;box-shadow:none;background:0 0;border:2px solid #8b7355;border-radius:10px;margin-top:.5rem;padding:.7rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:700;transition:all .2s}.btn-nueva-consulta:hover{color:#fff;background:#8b7355;transform:translateY(-1px);box-shadow:0 4px 12px #8b73554d}.notfound-msg{text-align:center;color:#c2410c;padding:.5rem 0;font-size:.95rem;font-weight:600}.loading-indicator{color:#8b7355;justify-content:center;align-items:center;gap:.6rem;padding:1rem 0 .25rem;font-size:.9rem;font-weight:600;display:flex}.spinner{border:3px solid #d0cab5;border-top-color:#8b7355;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.menu-root{background:linear-gradient(160deg,#8b7355 0%,#c4b896 50%,#a8956f 100%);flex-direction:column;min-height:100vh;font-family:Inter,Segoe UI,sans-serif;display:flex}.menu-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border-bottom:1px solid #8b735526;flex-direction:column;align-items:center;gap:0;padding:.75rem 1rem 0;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0000001a}.menu-header img{object-fit:contain;width:auto;height:56px}.menu-header-title{color:#8b7355;letter-spacing:.06em;text-transform:uppercase;padding-bottom:.6rem;font-size:.78rem;font-weight:600}.categoria-tabs{scrollbar-width:none;-ms-overflow-style:none;background:#fffffff7;border-bottom:1px solid #8b73551a;gap:.5rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.categoria-tabs::-webkit-scrollbar{display:none}.tab-btn{color:#8b7355;cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #d0cab5;border-radius:999px;flex-shrink:0;padding:.45rem 1rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;transition:all .18s}.tab-btn:hover{border-color:#8b7355}.tab-btn--active{color:#fff;background:linear-gradient(135deg,#8b7355 0%,#6b5a3e 100%);border-color:#0000;box-shadow:0 2px 8px #8b735566}.menu-content{flex-direction:column;flex:1;gap:.75rem;width:100%;max-width:640px;margin:0 auto;padding:1rem;display:flex}.menu-loading{color:#fff;justify-content:center;align-items:center;gap:.6rem;padding:3rem 0;font-size:.9rem;font-weight:600;display:flex}.menu-error{color:#fff;text-align:center;padding:3rem 1rem;font-size:.9rem;font-weight:600}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin}.spinner--dark{border-color:#8b7355 #d0cab5 #d0cab5}.spinner--sm{border-width:2px;width:14px;height:14px}.puesto-card{background:#fffffff7;border-radius:16px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 10px #0000001a}.puesto-card--open{box-shadow:0 4px 20px #8b735540}.puesto-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:1rem;width:100%;min-height:72px;padding:1rem;font-family:Inter,sans-serif;transition:background .18s;display:flex}.puesto-header:active{background:#f5f0ea}.puesto-card--open .puesto-header{color:#fff;background:linear-gradient(135deg,#8b7355 0%,#6b5a3e 100%)}.puesto-img{object-fit:cover;border-radius:12px;flex-shrink:0;width:52px;height:52px}.puesto-card--open .puesto-img{border:2px solid #fff6}.puesto-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.puesto-nombre{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.puesto-categoria{opacity:.65;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:600}.puesto-desde{opacity:.85;font-size:.82rem;font-weight:600}.puesto-chevron{opacity:.6;flex-shrink:0;transition:transform .25s}.puesto-chevron--open{opacity:1;transform:rotate(180deg)}.productos-list{flex-direction:column;gap:.5rem;padding:.5rem 1rem 1rem;animation:.2s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.producto-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:.85rem;padding:.7rem .75rem;display:flex}.producto-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:42px;height:42px}.producto-nombre{color:#111827;flex:1;min-width:0;font-size:.9rem;font-weight:600}.producto-precio{color:#8b7355;white-space:nowrap;font-size:.95rem;font-weight:800}.productos-loading{color:#8b7355;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.85rem;font-weight:600;display:flex}.productos-empty{color:#9ca3af;text-align:center;padding:.75rem 0;font-size:.85rem}@media (width>=640px){.menu-header img{height:68px}}
