.confirm-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.confirm-modal-content{background:#fff;padding:24px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 4px 12px #00000026;animation:slideUp .3s ease-out}.confirm-modal-title{margin-top:0;margin-bottom:12px;font-size:1.25rem;color:#333}.confirm-modal-message{margin-bottom:24px;font-size:1rem;color:#555;line-height:1.5}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-modal-cancel{padding:8px 16px;border:1px solid #ccc;background:transparent;border-radius:6px;cursor:pointer;font-weight:500;color:#333;transition:background .2s}.confirm-modal-cancel:hover{background:#f0f0f0}.confirm-modal-confirm{padding:8px 16px;border:none;background:#ff4757;color:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.confirm-modal-confirm:hover{background:#e03a48}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--primary: #D96B43;--primary-hover: #C0562F;--primary-light: rgba(217, 107, 67, .1);--secondary: #8EA890;--secondary-hover: #79937B;--secondary-light: rgba(142, 168, 144, .15);--bg-app: #FFFDF9;--text-main: #2B2D2F;--text-muted: #6E7275;--accent-amber: #F3A738;--accent-red: #E65C5C;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .45);--card-shadow: 0 10px 30px -10px rgba(43, 45, 47, .08), 0 1px 3px rgba(217, 107, 67, .03);--drawer-shadow: 0 -10px 40px -5px rgba(43, 45, 47, .12);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1);--transition-bounce: all .4s cubic-bezier(.175, .885, .32, 1.1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-app);color:var(--text-main);line-height:1.5;overflow-x:hidden;overscroll-behavior-y:contain}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e8e2d9;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#d8d2c9}.app-container{display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 16px}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.04);border-radius:var(--radius-md);box-shadow:0 4px 20px -2px #00000008;transition:var(--transition-smooth)}.glass-panel:hover{box-shadow:0 16px 36px -10px #2b2d2f1f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Outfit,sans-serif;font-weight:600;padding:12px 24px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-bounce);font-size:1rem;text-decoration:none}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background-color:var(--secondary-light);color:var(--secondary-hover);border:1px solid rgba(142,168,144,.3)}.btn-secondary:hover{background-color:#8ea89040;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(1px)}.btn-cook{background-color:var(--secondary);color:var(--text-main);border:none}.btn-cook:hover{background-color:var(--secondary-hover);color:var(--text-main);transform:translateY(-2px)}.btn-cook:active{transform:translateY(1px)}.btn-outline{background-color:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background-color:var(--primary-light);transform:translateY(-2px)}.btn-sm{padding:8px 16px;font-size:.875rem;border-radius:var(--radius-sm)}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-group label{font-family:Outfit,sans-serif;font-weight:600;font-size:.95rem;color:var(--text-main)}.form-input{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:2px solid #E8E2D9;background-color:#fff;font-family:inherit;font-size:1rem;transition:var(--transition-smooth)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.tag-badge{display:inline-flex;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background-color:#f1efe9;color:var(--text-muted)}.portion-meter{width:100%;height:6px;background-color:#e8e2d9;border-radius:10px;overflow:hidden;margin:12px 0}.portion-bar{height:100%;border-radius:10px;transition:width .5s ease-out}.portion-bar.high{background-color:var(--secondary)}.portion-bar.medium{background-color:var(--accent-amber)}.portion-bar.low{background-color:var(--accent-red)}dialog{border:none;border-radius:var(--radius-lg);padding:24px;max-width:540px;width:90%;box-shadow:0 20px 50px #2b2d2f33;margin:auto;opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1);background-color:var(--bg-app)}dialog.modal-large{max-width:960px;width:95vw}dialog.modal-xl{max-width:1140px;width:95vw}dialog[open]{opacity:1;transform:scale(1)}.modal-content-body{max-height:calc(82vh - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}dialog::backdrop{background-color:#2b2d2f99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease}dialog[open]::backdrop{opacity:1}@keyframes pulse-cooking{0%{box-shadow:0 0 #f3a73866;transform:scale(1)}70%{box-shadow:0 0 0 10px #f3a73800;transform:scale(1.05)}to{box-shadow:0 0 #f3a73800;transform:scale(1)}}.status-pulse-cooking{display:inline-block;width:12px;height:12px;background-color:var(--accent-amber);border-radius:50%;animation:pulse-cooking 1.8s infinite}@keyframes pulse-ready{0%{box-shadow:0 0 #8ea89066;transform:scale(1)}70%{box-shadow:0 0 0 10px #8ea89000;transform:scale(1.05)}to{box-shadow:0 0 #8ea89000;transform:scale(1)}}.status-pulse-ready{display:inline-block;width:12px;height:12px;background-color:var(--secondary);border-radius:50%;animation:pulse-ready 1.8s infinite}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.slide-up{animation:slide-up .35s cubic-bezier(.25,.8,.25,1) forwards}@keyframes fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .4s ease-out forwards}.fab-toggle{position:fixed;bottom:80px;right:20px;z-index:999;display:flex;background:var(--text-main);border-radius:30px;padding:4px;box-shadow:0 4px 15px #0003}.fab-toggle button{background:transparent;color:#fff;border:none;padding:8px 16px;border-radius:26px;font-weight:600;font-family:Outfit,sans-serif;font-size:.9rem;transition:all .2s;cursor:pointer}.fab-toggle button.active{background:var(--primary);color:#fff}.dishes-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:24px}@media (min-width: 768px){.dishes-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dishes-grid{grid-template-columns:repeat(3,1fr)}}.desktop-only{display:flex!important}.mobile-only{display:none!important}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.05);display:none!important;justify-content:space-around;align-items:flex-start;padding-top:6px;padding-bottom:env(safe-area-inset-bottom);z-index:1000;box-shadow:0 -4px 12px #00000008}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;color:var(--text-muted);font-size:.7rem;font-weight:600;border:none;background:transparent;width:100%;height:48px;padding:4px 0;cursor:pointer;transition:color .2s ease}.bottom-nav-item.active{color:var(--primary)}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.mobile-only-inline{display:block!important}.compact-welcome-header{display:none!important}.main-content{padding:6px 8px!important}header.glass-panel{margin:4px 4px 0!important;padding:6px 10px!important;gap:6px!important;border-radius:14px!important}.eater-filters-wrapper{margin:0 0 6px!important;gap:6px!important}.fab-toggle{position:static!important;box-shadow:none!important;background:#f1efe9!important;border-radius:12px!important;padding:2px!important;margin:0!important}.fab-toggle button{padding:4px 10px!important;font-size:.75rem!important;border-radius:10px!important;color:var(--text-muted)!important}.mobile-filters-scroll,.attribute-chips-scroll{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;white-space:nowrap!important;gap:4px!important;padding:2px 0!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-filters-scroll::-webkit-scrollbar,.attribute-chips-scroll::-webkit-scrollbar{display:none}.mobile-filters-scroll>*,.attribute-chips-scroll>*{flex-shrink:0!important}.category-chip,.attribute-filter-chip{padding:3px 8px!important;font-size:.72rem!important;border-radius:10px!important}.mobile-catalog-banner{padding:6px 10px!important;margin-bottom:8px!important}.bottom-nav{display:flex!important}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))!important}}@media (max-width: 480px){dialog{width:100%!important;max-width:100%!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;margin:0!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;position:fixed!important;max-height:90vh!important;overflow-y:auto!important;z-index:1100!important;transform:translateY(100%);transition:opacity .3s ease,transform .3s cubic-bezier(.25,.8,.25,1)}dialog[open]{opacity:1!important;transform:translateY(0)!important}.modal-content-body{max-height:calc(85vh - 70px)!important;padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}}.food-map-container,.food-map-wrapper{position:relative;border-radius:var(--radius-lg);border:1px solid rgba(217,107,67,.15);box-shadow:var(--card-shadow);overflow:hidden;margin-top:16px}@media (max-width: 768px){.food-map-wrapper{height:calc(100vh - 220px)!important;min-height:350px!important;margin-top:0}.food-map-container{width:100%!important;height:100%!important;min-height:320px!important;margin:0!important;border-radius:var(--radius-md)!important;box-sizing:border-box!important}}.map-instruction-overlay{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:1000;background:#fffdf9e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid var(--primary);border-radius:var(--radius-sm);padding:8px 16px;box-shadow:0 4px 15px #0000001a;text-align:center;pointer-events:none;width:calc(100% - 32px);max-width:450px}.leaflet-container{font-family:inherit;background-color:#f6f5ef!important}.food-map-popup .leaflet-popup-content-wrapper{background:#fffdf9f2!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(217,107,67,.2);border-radius:var(--radius-md)!important;box-shadow:0 10px 30px #00000026!important;color:var(--text-main)!important;padding:6px}.food-map-popup .leaflet-popup-tip{background:#fffdf9f2!important;border:1px solid rgba(217,107,67,.2);box-shadow:none!important}.popup-content{padding:4px}.popup-dish-list{max-height:200px;overflow-y:auto;padding-right:4px;margin-top:8px}.popup-dish-item{transition:var(--transition-smooth)}.popup-dish-item:hover{background:#ffffffe6;border-color:var(--primary)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite;display:inline-block}@media (max-width: 768px){.dishes-reel{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:16px!important;padding:8px 4px 20px!important;scroll-behavior:smooth!important;-webkit-overflow-scrolling:touch!important}.dishes-reel::-webkit-scrollbar{display:none!important}.dishes-reel>*{flex:0 0 82%!important;max-width:320px!important;scroll-snap-align:center!important}}.requests-list{display:flex;flex-direction:column}.request-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #E8E2D9;transition:var(--transition-smooth);cursor:pointer;gap:12px;background:transparent}.request-row:last-child{border-bottom:none}.request-row:hover{background-color:#00000005}.request-row .order-main-info{flex:2 1 200px;display:flex;flex-direction:column;gap:2px}.request-row .order-main-info .order-id{font-size:.725rem;color:var(--text-muted);text-transform:uppercase;font-weight:700}.request-row .order-main-info .order-dish-name{font-weight:700;color:var(--text-main);font-size:.95rem}.request-row .order-counterparty{flex:1.5 1 120px;font-size:.875rem;font-weight:500;color:var(--text-main)}.request-row .order-counterparty .mobile-label{display:none}.request-row .order-date{flex:1.2 1 100px;font-size:.8rem;color:var(--text-muted)}.request-row .order-portions{flex:1 1 80px;font-size:.85rem;color:var(--text-main)}.request-row .order-price{flex:1.2 1 100px;font-weight:800;color:var(--primary);font-family:Outfit,sans-serif}.request-row .order-actions{flex:2.2 1 180px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.request-row .order-actions .status-select-wrapper{position:relative;display:inline-block;width:100%;max-width:140px}.request-row .order-actions .status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#f1efe9;border:1px solid #E8E2D9;border-radius:20px;padding:6px 30px 6px 16px;font-size:.75rem;font-weight:700;color:var(--text-main);cursor:pointer;outline:none;transition:var(--transition-smooth);width:100%}.request-row .order-actions .status-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.request-row .order-actions .status-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700}.request-row .order-actions .btn-details-eye{padding:6px 10px;border-radius:20px;min-width:auto;display:inline-flex;align-items:center;gap:4px;justify-content:center}.request-row .order-actions .btn-details-eye .btn-details-text{display:none}@media (max-width: 768px){.request-row{flex-direction:column;align-items:stretch;padding:16px;gap:10px;border-bottom:none;margin-bottom:14px;border:1px solid #E8E2D9;border-radius:var(--radius-md);background:#fff;box-shadow:0 4px 12px #00000008}.request-row:last-child{margin-bottom:0}.request-row .order-main-info{flex:none;border-bottom:1px solid #F1EFE9;padding-bottom:10px;margin-bottom:2px}.request-row .order-main-info .order-id{font-size:.75rem;color:var(--primary);background-color:var(--primary-light);padding:2px 8px;border-radius:6px;display:inline-block;width:fit-content;font-weight:700}.request-row .order-main-info .order-dish-name{font-size:1.05rem;font-weight:700;color:var(--text-main);margin-top:4px}.request-row .order-counterparty{flex:none;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.request-row .order-counterparty .mobile-label{display:inline;color:var(--text-muted);font-weight:600}.request-row .order-date{flex:none;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.request-row .order-date:before{content:"📅 Fecha / Hora:";color:var(--text-muted);font-weight:600}.request-row .order-portions{flex:none;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.request-row .order-portions:before{content:"🍽️ Porciones:";color:var(--text-muted);font-weight:600}.request-row .order-price{flex:none;display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;border-top:1px solid #F1EFE9;padding-top:10px;margin-top:2px}.request-row .order-price:before{content:"💰 Total:";color:var(--text-muted);font-family:inherit;font-weight:600;font-size:.875rem}.request-row .order-actions{flex:none;display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:12px}.request-row .order-actions .status-select-wrapper{flex-grow:1;max-width:none}.request-row .order-actions .status-badge{flex-grow:1;justify-content:center;padding:8px 12px}.request-row .order-actions .btn-details-eye{border-radius:var(--radius-sm);padding:8px 14px;width:auto;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600}.request-row .order-actions .btn-details-eye .btn-details-text{display:inline}}.welcome-banner-compact{padding:20px 24px!important;position:relative}.welcome-banner-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;opacity:.6;transition:opacity .2s;display:flex;align-items:center;justify-content:center;padding:4px}.welcome-banner-close:hover{opacity:1}.category-chips-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.category-chips-scroll::-webkit-scrollbar{display:none}.category-chip{background:#f1efe9;border:1px solid #E8E2D9;border-radius:20px;padding:6px 14px;font-size:.825rem;font-weight:600;color:var(--text-main);cursor:pointer;white-space:nowrap;transition:var(--transition-smooth)}.category-chip:hover{background:#e8e2d9}.category-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #d96b4340}.attribute-filter-chip{background:#fff;border:1px solid #E8E2D9;border-radius:16px;padding:5px 12px;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:var(--transition-smooth)}.attribute-filter-chip:hover{border-color:var(--primary);color:var(--text-main)}.attribute-filter-chip.active{background:#fff9e6;border-color:#ffd166;color:#856404;box-shadow:0 2px 6px #ffd1664d}.map-search-container{position:absolute;top:12px;left:12px;z-index:1000;width:calc(100% - 24px);max-width:380px}.map-search-box{display:flex;align-items:center;background:#fffdf9f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(217,107,67,.3);border-radius:24px;padding:6px 14px;box-shadow:0 4px 18px #0000001f;transition:var(--transition-smooth)}.map-search-box:focus-within{border-color:var(--primary);box-shadow:0 4px 22px #d96b4340;background:#fff}.map-search-input{border:none;background:transparent;width:100%;font-size:.875rem;font-family:inherit;color:var(--text-main);outline:none;padding:4px 6px}.map-search-input::placeholder{color:var(--text-muted);font-size:.825rem}.map-search-btn-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:50%;transition:background .2s}.map-search-btn-clear:hover{background:#0000000f;color:var(--text-main)}.map-search-results{margin-top:6px;background:#fffdf9fa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(217,107,67,.2);border-radius:16px;box-shadow:0 8px 24px #00000026;max-height:220px;overflow-y:auto;padding:6px}.map-search-item{padding:8px 12px;font-size:.825rem;color:var(--text-main);border-radius:10px;cursor:pointer;display:flex;align-items:flex-start;gap:8px;transition:background .2s;border-bottom:1px solid rgba(0,0,0,.04)}.map-search-item:last-child{border-bottom:none}.map-search-item:hover{background:#d96b431a;color:var(--primary-dark)}.map-locate-btn{position:absolute;bottom:24px;right:14px;z-index:1000;background:#fffdf9f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(217,107,67,.3);color:var(--primary-dark);font-weight:700;font-size:.8rem;padding:8px 14px;border-radius:20px;box-shadow:0 4px 16px #0000001f;cursor:pointer;display:flex;align-items:center;gap:6px;transition:var(--transition-smooth)}.map-locate-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #d96b434d}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-pulse{background:linear-gradient(90deg,#efece6 25%,#f7f5f0,#efece6 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-box{background:linear-gradient(90deg,#e5e1d8 25%,#efece6,#e5e1d8 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}
