.toast{position:fixed;top:80px;right:1rem;z-index:10000;min-width:300px;max-width:400px;animation:slideIn .3s ease-out;margin-bottom:.5rem}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;box-shadow:0 4px 16px #00403933;background:#fff}.toast-success{border-left:4px solid #004039}.toast-error{border-left:4px solid #dc3545}.toast-info{border-left:4px solid #004039}.toast-warning{border-left:4px solid #ffc107}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.toast-success .toast-icon{background:#004039;color:#fff}.toast-error .toast-icon{background:#dc3545;color:#fff}.toast-info .toast-icon{background:#004039;color:#fff}.toast-warning .toast-icon{background:#ffc107;color:#333}.toast-message{flex:1;font-size:.95rem;color:#333;font-weight:500}.toast-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;flex-shrink:0}.toast-close:hover{background:#f0f0f0;color:#333}.toast-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000001a;border-radius:0 0 12px 12px;overflow:hidden}.toast-progress-fill{height:100%;background:currentColor;transition:width .1s linear;border-radius:0 0 12px 12px}.toast-success .toast-progress-fill{background:#004039}.toast-error .toast-progress-fill{background:#dc3545}.toast-info .toast-progress-fill{background:#004039}.toast-warning .toast-progress-fill{background:#ffc107}@media (max-width: 768px){.toast{right:.5rem;left:.5rem;min-width:auto;max-width:none}}.linear-progress-bar{position:relative;width:100%;background:#e0e0e0;border-radius:4px;overflow:hidden}.linear-progress-fill{height:100%;background:#004039;border-radius:4px;transition:width .3s ease;position:relative}.linear-progress-primary .linear-progress-fill{background:#004039}.linear-progress-success .linear-progress-fill{background:#4caf50}.linear-progress-warning .linear-progress-fill{background:#ff9800}.linear-progress-error .linear-progress-fill{background:#f44336}.linear-progress-info .linear-progress-fill{background:#2196f3}.linear-progress-bar.indeterminate .linear-progress-fill{width:30%!important;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}.linear-progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#333;z-index:1}.top-progress-bar-container{position:fixed;top:0;left:0;right:0;z-index:10001;width:100%;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header{background:linear-gradient(135deg,#004039,#005a4f);color:#fff;padding:.75rem 1rem;position:sticky;top:0;z-index:100;box-shadow:0 4px 12px #00000026}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative}.logo-center{position:absolute;left:50%;transform:translate(-50%);cursor:pointer;z-index:10;top:0;transition:all .3s ease}.logo-center:hover{transform:translate(-50%) scale(1.05)}.logo-center:active{transform:translate(-50%) scale(.98)}.logo-circle{width:200px;height:60px;border-radius:0;background:transparent;position:relative;overflow:visible;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none;border:none}.logo-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:transform .3s ease}.logo-center:hover .logo-image{transform:scale(1.05)}.social-links{display:flex;gap:.75rem;align-items:center;z-index:5}.social-left{justify-content:flex-start}.social-right{justify-content:flex-end}.social-link{width:42px;height:42px;border-radius:50%;background:#f6f0bc33;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease;border:2px solid rgba(246,240,188,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.social-link:hover{background:#f6f0bc;transform:translateY(-3px) scale(1.1);box-shadow:0 4px 12px #f6f0bc66;border-color:#f6f0bc}.social-link:active{transform:translateY(-1px) scale(1.05)}.social-link svg{font-size:1.2rem;color:#fff;transition:color .3s ease}.social-link:hover svg{color:#004039}@media (max-width: 480px){.header{padding:.5rem}.logo-circle{width:140px;height:50px;padding:0}.social-link{width:36px;height:36px}.social-link svg{font-size:1rem}.social-links{gap:.4rem}}@media (min-width: 481px) and (max-width: 767px){.header{padding:.6rem .75rem}.logo-circle{width:170px;height:55px}.social-link{width:40px;height:40px}.social-link svg{font-size:1.1rem}.social-links{gap:.6rem}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;box-shadow:0 -2px 10px #0000001a;z-index:100;border-top:1px solid #e0e0e0}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#666;padding:.5rem 1rem;transition:all .3s ease;min-width:60px}.nav-item.active{color:#004039}.nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.nav-icon{font-size:1.5rem;color:#666;transition:color .3s ease}.nav-item.active .nav-icon{color:#004039}.nav-badge{position:absolute;top:-8px;right:-8px;background:#004039;color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 2px 4px #0003}.nav-label{font-size:.75rem;font-weight:500}.nav-item:hover{color:#004039}.lazy-load-image-background.blur{filter:blur(15px)}.lazy-load-image-background.blur.lazy-load-image-loaded{filter:blur(0);transition:filter .3s}.lazy-load-image-background.blur>img{opacity:0}.lazy-load-image-background.blur.lazy-load-image-loaded>img{opacity:1;transition:opacity .3s}.optimized-image-wrapper{position:relative;overflow:hidden;background:#f0f0f0}.optimized-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease}.optimized-image.loaded{opacity:1}.optimized-image:not(.loaded){opacity:.7}.product-card-simple{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 6px #00000014;transition:all .3s ease;cursor:pointer;border:1px solid #f0f0f0;display:flex;flex-direction:column;height:100%}@media (min-width: 768px){.product-card-simple{border-radius:14px}}.product-card-simple.inactive{opacity:.5;filter:grayscale(30%);cursor:not-allowed}.product-card-simple.inactive:hover{transform:none;box-shadow:0 2px 6px #00000014;border-color:#f0f0f0}.product-card-simple:hover{transform:translateY(-3px);box-shadow:0 6px 20px #06402b33;border-color:#004039}.product-card-simple:active{transform:translateY(-1px);box-shadow:0 3px 10px #06402b26}.product-image-simple{width:100%;height:140px;overflow:hidden;background:#f5f5f5;position:relative;flex-shrink:0}@media (min-width: 480px){.product-image-simple{height:160px}}@media (min-width: 768px){.product-image-simple{height:180px}}.product-image-simple img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.product-card-simple:hover .product-image-simple img{transform:scale(1.05)}.product-info-simple{padding:.6rem;text-align:left;display:flex;flex-direction:column;gap:.2rem;flex:1}.product-name-simple{font-size:.85rem;font-weight:700;margin:0;color:#333;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5rem}.product-name-en-simple{font-size:.7rem;color:#999;font-style:italic;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-price-simple{font-size:.8rem;font-weight:700;color:#004039;margin:.3rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 480px){.product-info-simple{padding:.75rem;gap:.25rem}.product-name-simple{font-size:.9rem}.product-name-en-simple{font-size:.75rem}.product-price-simple{font-size:.85rem}}@media (min-width: 768px){.product-info-simple{padding:.85rem}.product-name-simple{font-size:.95rem}.product-price-simple{font-size:.9rem}}.badge-new{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.65rem;font-weight:800;letter-spacing:.5px;box-shadow:0 2px 8px #ff525266;animation:pulse 2s ease-in-out infinite;z-index:5}@media (min-width: 480px){.badge-new{top:8px;right:8px;padding:.3rem .6rem;font-size:.7rem}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.name-with-badge{display:flex;align-items:flex-start;gap:.3rem;flex-wrap:nowrap;height:30px}@media (min-width: 480px){.name-with-badge{gap:.4rem}}.bestseller-inline{display:inline-flex;align-items:center;gap:.2rem;background:linear-gradient(135deg,#ff4500,#ff6b35);padding:.15rem .4rem;border-radius:10px;box-shadow:0 2px 8px #ff450066,0 0 15px #ff6b354d;animation:pulse-hot 2s ease-in-out infinite;border:1.5px solid rgba(255,255,255,.5);flex-shrink:0;margin-top:.1rem;height:-moz-fit-content;height:fit-content}.fire-icon{font-size:.7rem;animation:fire-dance 1.2s ease-in-out infinite;line-height:1}.bestseller-text{font-size:.55rem;font-weight:900;color:#fff;letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.4);line-height:1}@media (min-width: 480px){.bestseller-inline{gap:.25rem;padding:.2rem .5rem}.fire-icon{font-size:.8rem}.bestseller-text{font-size:.6rem;letter-spacing:.5px}}@keyframes pulse-hot{0%,to{box-shadow:0 2px 8px #ff450066,0 0 15px #ff6b354d;transform:scale(1)}50%{box-shadow:0 3px 12px #ff450099,0 0 25px #ff6b3580;transform:scale(1.05)}}@keyframes fire-dance{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.15) rotate(-8deg)}50%{transform:scale(1.1) rotate(8deg)}75%{transform:scale(1.12) rotate(-5deg)}}.badge-inactive{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#f44336f2;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:700;letter-spacing:1px;box-shadow:0 4px 12px #f4433680;z-index:10;text-transform:uppercase}.shop-closed-message{width:100%;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.closed-message-container{text-align:center;max-width:500px;width:100%;padding:2rem;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a}.closed-sticker{width:150px;height:150px;-o-object-fit:contain;object-fit:contain;margin:0 auto 1.5rem;display:block;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.closed-content{margin-top:1rem}.closed-title{font-size:1.75rem;color:#004039;margin-bottom:1rem;font-weight:700}.closed-message-text{font-size:1.1rem;color:#666;line-height:1.6;margin:0}.closed-reopen-date{color:#004039;font-size:1rem;font-weight:600;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,64,57,.2)}@media (max-width: 768px){.shop-closed-message{min-height:50vh;padding:1.5rem 1rem}.closed-message-container{padding:1.5rem;border-radius:16px}.closed-sticker{width:120px;height:120px;margin-bottom:1rem}.closed-title{font-size:1.5rem}.closed-message-text{font-size:1rem}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-box{width:100%;height:100%;border-radius:4px}.skeleton-image{width:100%;aspect-ratio:1;border-radius:8px;background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-text{height:1em;margin:.5rem 0;border-radius:4px}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-text.long{width:100%}.skeleton-circle{width:100%;height:100%;border-radius:50%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#666;min-height:300px}.empty-state-image{width:200px;height:auto;max-width:100%;margin:0 auto 1.5rem;display:block;border-radius:12px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-state-title{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 .75rem}.empty-state-message{font-size:1rem;color:#999;margin:0 0 1.5rem;max-width:400px;line-height:1.5}.empty-state-action{padding:.75rem 2rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.empty-state-action:hover{background:#085a3f;transform:scale(1.05)}.empty-state-action:active{transform:scale(.95)}@media (max-width: 768px){.empty-state{padding:2rem 1rem;min-height:250px}.empty-state-image{width:150px}.empty-state-icon{font-size:3rem}.empty-state-title{font-size:1.25rem}.empty-state-message{font-size:.9rem}}.gacha-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:9999;display:flex;align-items:center;justify-content:center;padding:.5rem;overflow:hidden;animation:fadeIn .3s ease-out}.gacha-modal-container{background:#fff;border-radius:1rem;padding:1rem;max-width:24rem;width:100%;position:relative;z-index:10001;box-shadow:0 25px 50px -12px #00000080;margin:1rem;max-height:90vh;overflow-y:auto;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.gacha-close-btn{position:absolute;top:.5rem;right:.5rem;color:#6b7280;background:transparent;border:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;z-index:10002;font-size:2rem;font-weight:700;cursor:pointer;transition:all .3s ease;border-radius:.5rem}.gacha-close-btn:hover{color:#374151;transform:rotate(90deg);background:#0000000d}.gacha-content{text-align:center}.gacha-title{font-size:1.5rem;font-weight:700;color:#004039;margin-bottom:1rem;text-align:center}.gacha-product-wrapper{margin-bottom:1rem}.gacha-product-display{position:relative;width:200px;height:200px;max-width:100%;margin:0 auto;background:#f6f0bc;border-radius:.75rem;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a}.gacha-product-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:all .2s ease;transform:scale(1);filter:brightness(1)}.gacha-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666;font-size:1rem;gap:.5rem;background:#f5f5f5}.gacha-image-placeholder span:first-child{font-size:2rem}.gacha-product-img.spinning{transform:scale(.95);filter:brightness(.75) blur(2px)}.gacha-spinning-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0003;display:flex;align-items:center;justify-content:center}.gacha-spin-icon{color:#fff;font-size:1.25rem;font-weight:700;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.gacha-product-info{margin-bottom:1rem}.gacha-product-name{font-size:1.25rem;font-weight:700;color:#004039;margin-bottom:.5rem;text-align:center}.gacha-product-size{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.gacha-size-label{font-size:1rem;font-weight:600;color:#374151}.gacha-size-value{color:#004039;font-weight:600}.gacha-product-price{font-size:1.25rem;font-weight:700;color:#16a34a;margin:0;text-align:center}.gacha-result-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.gacha-btn{padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a}.gacha-btn-add{width:100%;background:#004039;color:#fff}.gacha-btn-add:hover{background:#085a3f;transform:translateY(-2px);box-shadow:0 6px 8px -1px #00000026}.gacha-btn-group{display:flex;gap:.75rem}.gacha-btn-again{flex:1;background:gold;color:#004039}.gacha-btn-again:hover{background:orange;transform:translateY(-2px)}.gacha-btn-close{flex:1;background:#e5e7eb;color:#374151}.gacha-btn-close:hover{background:#d1d5db;transform:translateY(-2px)}.gacha-loading{margin-top:1rem}.gacha-loading-dots{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.gacha-dot{width:.5rem;height:.5rem;background:#004039;border-radius:50%;animation:bounce 1.4s ease-in-out infinite}@keyframes bounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.5}40%{transform:scale(1.2) translateY(-10px);opacity:1}}.gacha-loading-text{font-size:.875rem;color:#6b7280;margin:0;text-align:center}@media (max-width: 480px){.gacha-modal-container{padding:.75rem;margin:.5rem}.gacha-title{font-size:1.25rem}.gacha-product-display{width:180px;height:180px}.gacha-product-name{font-size:1.125rem}.gacha-btn{padding:.625rem .875rem;font-size:.9375rem}}@media (min-width: 640px){.gacha-modal-container{padding:1.5rem}.gacha-title{font-size:1.875rem}.gacha-product-display{width:220px;height:220px}.gacha-product-name{font-size:1.5rem}.gacha-close-btn{top:1rem;right:1rem}}@media (min-width: 768px){.gacha-modal-container{max-width:28rem}}.gacha-loading-state{padding:3rem 2rem;text-align:center;color:#374151}.gacha-loading-state p{margin:0;font-size:1rem;font-weight:600}.gacha-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #004039;border-radius:50%;margin:0 auto 1rem;animation:spinRotate 1s linear infinite}@keyframes spinRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gacha-error-state{padding:3rem 2rem;text-align:center}.gacha-error-state p{color:#dc2626;font-size:1rem;font-weight:600;margin-bottom:1.5rem}.gacha-error-state .gacha-btn{margin-top:1rem}.gacha-error-hint{font-size:.75rem;color:#999;margin-top:.5rem;margin-bottom:0}.gacha-empty-state{padding:3rem 2rem;text-align:center}.gacha-empty-state p{color:#dc2626;font-size:1rem;font-weight:600;margin-bottom:.5rem}.gacha-empty-hint{font-size:.75rem;color:#666;margin-top:.5rem;margin-bottom:1.5rem}.gacha-empty-state .gacha-btn{margin-top:1rem}.gacha-debug-info{margin-top:1rem;padding:.75rem;background:#f0f0f0;border-radius:.5rem;font-size:.75rem;color:#666;border:1px solid #e0e0e0}.debug-row{margin:.25rem 0;font-family:Courier New,monospace}.debug-row:first-child{margin-top:0}.debug-row:last-child{margin-bottom:0}.home{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px;background:#f6f0bc;position:relative}.main-content{display:grid;flex:1;padding:.75rem;padding-top:12px;padding-bottom:5rem;width:100%;max-width:1200px;margin:0 auto}.menu-section{margin-bottom:1.5rem;animation:fadeIn .3s ease-in}@media (min-width: 768px){.menu-section{margin-bottom:2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-tabs{display:flex;gap:6px;margin:0 auto .5rem;background:#fff;padding:6px;border-radius:18px;box-shadow:0 4px 15px #0000000d;position:sticky;top:60px;z-index:10;max-width:100%;width:calc(100% - 2.5rem);height:56px;min-height:56px;max-height:56px;box-sizing:border-box;align-items:center;border:1px solid rgba(0,64,57,.08);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-btn{flex:1;padding:.6rem 1rem;border:none!important;outline:none!important;background:transparent;border-radius:14px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#888;white-space:nowrap;height:44px;display:flex;align-items:center;justify-content:center;gap:.4rem;letter-spacing:.2px;position:relative;-webkit-tap-highlight-color:transparent}.tab-btn.active{color:#fff!important;background:#004039!important;box-shadow:0 4px 12px #00403940}.tab-btn:hover:not(.active){background:#0040390a;color:#004039}.tab-btn:active{transform:scale(.95)}.search-container{flex:1;min-width:120px;max-width:250px;position:relative;display:flex;align-items:center;flex-shrink:1;overflow:hidden}.search-input{width:100%;padding:.45rem 1.5rem .45rem .6rem;border:2px solid #004039;border-radius:20px;background:#fff;font-size:.85rem;outline:none;transition:all .3s ease;height:44px;box-sizing:border-box}.search-input:focus{border-color:#004039;box-shadow:0 0 0 3px #0040391a}.search-clear-btn{position:absolute;right:.5rem;background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent}.search-clear-btn:hover{color:#004039}.no-results{text-align:center;padding:2rem;color:#666;font-size:1rem}.section-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#333;padding-left:.5rem}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;padding:0}@media (min-width: 480px){.products-grid{gap:.85rem}.menu-tabs{max-width:100%;height:60px;min-height:60px;max-height:60px;border-radius:20px}.tab-btn{padding:.65rem 1.1rem;font-size:.95rem;height:48px;border-radius:16px}.search-container{min-width:120px;max-width:200px}.search-input{font-size:.85rem;padding:.45rem 1.5rem .45rem .6rem;height:44px}}@media (max-width: 480px){.menu-tabs{height:56px;min-height:56px;max-height:56px}.search-container{min-width:100px;max-width:200px}}@media (min-width: 768px){.products-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.main-content{padding:1rem 1.5rem;padding-top:70px}.menu-tabs{margin:0 auto .75rem;top:70px;max-width:100%;height:64px;min-height:64px;max-height:64px;padding:8px;gap:8px}.tab-btn{padding:.7rem 1.2rem;font-size:1rem;height:48px}.search-container{min-width:150px;max-width:300px}.search-input{font-size:.9rem;height:48px}}.menu-tabs::-webkit-scrollbar{height:4px}.menu-tabs::-webkit-scrollbar-thumb{background:#0040394d;border-radius:2px}.menu-tabs::-webkit-scrollbar-track{background:#0040390d;border-radius:2px}@media (min-width: 1024px){.products-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.floating-reward-btn{position:fixed;bottom:90px;right:20px;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:transparent;border:none;padding:.5rem;cursor:pointer;transition:all .3s ease;z-index:999;animation:bounce 2s ease-in-out infinite}.floating-reward-btn:hover{transform:scale(1.1) translateY(-5px)}.floating-reward-btn:active{transform:scale(.95)}.floating-icon{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.floating-text{font-size:.8rem;font-weight:700;color:#004039;white-space:nowrap;text-shadow:0 1px 2px rgba(255,255,255,.8)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 768px){.floating-reward-btn{bottom:85px;right:15px;padding:.6rem .85rem}.floating-icon{width:50px;height:45px}.floating-text{font-size:.7rem}}@media (min-width: 1024px){.floating-reward-btn{bottom:100px;right:30px;padding:.85rem 1.2rem}.floating-icon{width:50px;height:50px}.floating-text{font-size:.8rem}}.product-detail-page{min-height:100vh;display:flex;flex-direction:column;background:#f6f0bc}.detail-main{flex:1;padding:1rem;max-width:600px;margin:0 auto;width:100%;padding-top:80px}.product-detail-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.detail-image{position:relative;width:100%;height:300px;overflow:hidden;background:#f5f5f5}.detail-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .5s ease-in-out}.image-indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:2}.indicator{width:10px;height:10px;border-radius:50%;background:#ffffff80;border:2px solid rgba(255,255,255,.8);cursor:pointer;transition:all .3s ease;padding:0}.indicator.active{background:#fff;width:12px;height:12px}@media (max-width: 480px){.product-detail-page .image-indicators{bottom:.5rem;gap:.25rem}.product-detail-page .indicator{width:6px!important;height:6px!important;min-width:6px;min-height:6px;border-width:1px;padding:0}.product-detail-page .indicator.active{width:8px!important;height:8px!important;min-width:8px;min-height:8px}}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:2;display:flex;align-items:center;justify-content:center;padding:0}.carousel-btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.1)}.prev-btn{left:1rem}.next-btn{right:1rem}.image-counter{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;padding:.5rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;z-index:2}.detail-content{padding:1.5rem}.detail-name{font-size:1.5rem;font-weight:700;color:#004039;margin:0 0 .5rem}.detail-name-en{font-size:1rem;color:#666;font-style:italic;margin:0 0 1rem}.inactive-warning{background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:600;text-align:center}.detail-description{font-size:.95rem;color:#666;line-height:1.6;margin:0 0 1.5rem}.size-selection{margin-bottom:1.5rem}.size-selection label{display:block;font-weight:600;color:#333;margin-bottom:.75rem}.size-buttons{display:flex;gap:1rem}.size-btn{flex:1;padding:1rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.size-btn:hover{border-color:#004039}.ice-selection{margin-bottom:1.5rem}.ice-selection label{display:block;font-weight:600;color:#333;margin-bottom:.75rem}.ice-buttons{display:flex;gap:.5rem}.ice-btn{flex:1;padding:.75rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-height:44px}.ice-btn.active{border-color:#004039;background:#004039;color:#fff}.ice-btn:hover{border-color:#004039}.price-display{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f6f0bc;border-radius:8px;margin-bottom:1.5rem}.price-label{font-weight:600;color:#333}.price-value{font-size:1.5rem;font-weight:700;color:#004039}.toppings-section{margin-bottom:1.5rem}.toppings-toggle{width:100%;padding:.75rem;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:8px;font-weight:600;cursor:pointer;margin-bottom:1rem}.toppings-list{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:.5rem;padding:.75rem;background:#f9f9f9;border-radius:8px;width:100%!important;box-sizing:border-box;max-width:100%!important}.topping-item-with-quantity{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0;width:100%!important;max-width:100%!important;box-sizing:border-box;min-width:0;flex-shrink:0;margin:0!important}.topping-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.topping-controls{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.topping-btn-minus,.topping-btn-plus{width:44px;height:44px;min-width:44px;min-height:44px;border:2px solid #004039;background:#fff;color:#004039;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.topping-btn-minus:hover:not(:disabled),.topping-btn-plus:hover{background:#004039;color:#fff;transform:scale(1.05)}.topping-btn-minus:active:not(:disabled),.topping-btn-plus:active{transform:scale(.95)}.topping-btn-minus:disabled{opacity:.4;cursor:not-allowed;border-color:#ccc;color:#ccc}.topping-quantity{min-width:28px;text-align:center;font-weight:600;color:#004039;font-size:.9rem}@media (max-width: 429px){.topping-item-with-quantity{gap:.4rem;padding:.5rem}.topping-image{width:45px;height:45px;min-width:45px}.topping-btn-minus,.topping-btn-plus{width:40px;height:40px;min-width:40px;min-height:40px;font-size:1.1rem}.topping-name{font-size:.85rem}.topping-price{font-size:.8rem}.toppings-list{gap:.4rem;padding:.6rem;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important}.topping-item-with-quantity{display:flex!important;flex-direction:row!important;width:100%!important;max-width:100%!important;margin:0!important}}@media (min-width: 430px){.topping-btn-minus,.topping-btn-plus{width:44px;height:44px;min-width:44px;min-height:44px}}.topping-image{width:50px;height:50px;min-width:50px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:2px solid #e0e0e0;flex-shrink:0}.topping-details{display:flex;flex-direction:column;gap:.25rem}.topping-name{font-weight:600;color:#333;word-break:break-word;overflow-wrap:break-word;font-size:.9rem;line-height:1.3}.topping-price{font-size:.85rem;color:#004039;font-weight:600}.note-section{margin-bottom:1.5rem}.note-section label{display:block;font-weight:600;color:#004039;margin-bottom:.75rem}.note-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .3s ease}.note-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #06402b1a}.total-section{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f6f0bc;border-radius:8px;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.total-price{font-size:1.5rem;color:#004039;font-weight:700}.add-to-cart-btn{width:100%;padding:1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.add-to-cart-btn:hover{background:#085a3f;transform:scale(1.02)}.add-to-cart-btn.disabled{background:#9e9e9e;cursor:not-allowed;opacity:.6}.add-to-cart-btn.disabled:hover{background:#9e9e9e;transform:none}@media (max-width: 768px){.ice-buttons{gap:.4rem}.ice-btn{font-size:.85rem;padding:.65rem;min-height:40px}.size-btn{font-size:.9rem;padding:.85rem;min-height:40px}.topping-item-with-quantity{padding:.65rem;gap:.5rem}.topping-image{width:45px;height:45px}.topping-name{font-size:.9rem}.topping-price{font-size:.85rem}}@media (min-width: 769px) and (max-width: 1024px){.ice-btn,.size-btn,.topping-btn-minus,.topping-btn-plus{min-height:44px}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.payment-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.payment-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.payment-header h2{margin:0;font-size:1.5rem;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.payment-content{padding:1.5rem}.payment-surcharge-display{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:#fff9e6;border-radius:8px;margin-bottom:.5rem;font-size:.95rem;font-weight:600;color:#004039}.payment-surcharge-display .amount{color:#004039}.total-amount-display{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f6f0bc;border-radius:8px;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.total-amount-display .amount{color:#004039;font-size:1.3rem}.payment-methods{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.payment-option{display:flex;align-items:center;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.payment-option:hover{border-color:#004039}.payment-option.active{border-color:#004039;background:#f6f0bc}.payment-option input[type=radio]{margin-right:1rem;width:20px;height:20px;cursor:pointer}.option-content{display:flex;align-items:center;gap:.75rem;flex:1}.option-icon{font-size:1.5rem}.qr-section{text-align:center;margin-bottom:1.5rem}.qr-instruction{font-size:1rem;color:#004039;margin-bottom:1rem;font-weight:600}.qr-code-container{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;padding:1.5rem;background:#fff;min-height:250px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.qr-loading{color:#666;font-size:.95rem;text-align:center;padding:1rem}.qr-code{width:250px;height:250px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.bank-info{background:#f8f9fa;border-radius:12px;padding:1rem;margin-bottom:1rem;border:2px solid #e0e0e0}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:#fff;border-radius:8px;border-left:4px solid #004039}.info-row.highlight{background:#fff3cd;border-left-color:#f77f00}.info-label{font-size:.85rem;color:#666;font-weight:600}.info-value{font-size:.9rem;color:#004039;font-weight:700;text-align:right}.info-row.highlight .info-value{color:#f77f00}.confirm-payment-btn{padding:.75rem 1.5rem;background:#f0f0f0;border:2px solid #004039;color:#004039;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-payment-btn:hover{background:#004039;color:#fff}.food-delivery-section{margin:1rem 0;padding:1rem;background:#f0f9f5;border-radius:8px;border:1px solid #c8e6d0}.delivery-code-label{display:block;font-weight:600;color:#004039;margin-bottom:.5rem;font-size:.95rem}.delivery-code-input{width:100%;padding:.75rem;border:1px solid #c8e6d0;border-radius:8px;font-size:1rem;box-sizing:border-box}.delivery-code-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 2px #00403933}.cash-section{text-align:center;padding:1rem;background:#f9f9f9;border-radius:8px;margin-bottom:1.5rem}.cash-note{color:#666;font-size:.9rem;margin:0}.complete-payment-btn{width:100%;padding:1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.complete-payment-btn:hover:not(:disabled){background:#085a3f;transform:scale(1.02)}.complete-payment-btn:disabled{opacity:.5;cursor:not-allowed}.change-section{margin-top:1rem}.change-label{display:block;font-size:.9rem;font-weight:600;color:#333;margin-bottom:.75rem}.quick-amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.quick-amount-btn{padding:.75rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-weight:600;color:#004039;cursor:pointer;transition:all .3s ease;min-height:44px}.quick-amount-btn:hover{border-color:#004039;background:#f6f0bc;transform:scale(1.02)}.quick-amount-btn:active{transform:scale(.98)}.custom-amount-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:.75rem;min-height:44px;box-sizing:border-box}.custom-amount-input:focus{outline:none;border-color:#004039}.change-display{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f6f0bc;border-radius:8px;margin-top:.75rem;font-weight:600}.change-amount{color:#004039;font-size:1.2rem}.change-warning{color:#dc3545;font-size:.85rem;margin-top:.5rem;text-align:center;font-weight:600}@media (max-width: 768px){.quick-amounts{grid-template-columns:repeat(2,1fr)}.quick-amount-btn{font-size:.85rem;padding:.65rem;min-height:40px}}.address-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.address-modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.address-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:10}.address-modal-header h2{margin:0;font-size:1.4rem;color:#004039}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-btn:hover{background:#f0f0f0;color:#333}.delivery-notice{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #4caf50;margin:1rem 1.5rem;border-radius:8px}.delivery-notice span{font-size:1.5rem}.delivery-notice p{margin:0;color:#2e7d32;font-weight:600;font-size:.9rem}.address-form{padding:0 1.5rem 1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.required{color:#f44336;margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.form-group select{cursor:pointer;background:#fff}.form-group textarea{resize:vertical;min-height:80px}.disabled-input{background:#f5f5f5;color:#999;cursor:not-allowed}.address-form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #f0f0f0}.address-form-actions button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0;color:#333}.submit-btn{background:linear-gradient(135deg,#004039,#005a4f);color:#fff;box-shadow:0 4px 12px #0040394d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00403966}.submit-btn:active{transform:translateY(0)}@media (max-width: 480px){.address-modal-content{max-height:95vh;border-radius:16px 16px 0 0}.address-modal-header h2{font-size:1.2rem}.address-form{padding:0 1rem 1rem}.delivery-notice{margin:1rem}}.circular-progress-bar{position:relative;display:inline-flex;align-items:center;justify-content:center}.circular-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.circular-progress-track{stroke:#e0e0e0}.circular-progress-fill{stroke:#004039;transition:stroke-dashoffset .3s ease}.circular-progress-primary .circular-progress-fill{stroke:#004039}.circular-progress-success .circular-progress-fill{stroke:#4caf50}.circular-progress-warning .circular-progress-fill{stroke:#ff9800}.circular-progress-error .circular-progress-fill{stroke:#f44336}.circular-progress-info .circular-progress-fill{stroke:#2196f3}.circular-progress-bar.indeterminate .circular-progress-fill{stroke-dasharray:1,200;stroke-dashoffset:0;animation:circular-indeterminate 1.5s ease-in-out infinite}@keyframes circular-indeterminate{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}.circular-progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#333}.circular-progress-small .circular-progress-label{font-size:.65rem}.circular-progress-large .circular-progress-label{font-size:1rem}.cart-page{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px;background:#fff}.cart-main{flex:1;padding:1rem;max-width:100%;margin:0 auto;background:#fff}.empty-cart{text-align:center;padding:3rem 1rem;color:#666}.empty-cart p{font-size:1.1rem;margin-bottom:1.5rem;color:#999;font-weight:500}.back-btn{padding:.75rem 2rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.cart-page .item-size-container,.cart-page .cart-item-card__size-wrap{margin:.5rem 0 .25rem}.cart-page .item-ice-container,.cart-page .cart-item-card__ice-wrap{margin:.25rem 0 .5rem}.size-badge{display:inline-block;padding:.3rem .7rem;background:#f0f0f0;color:#004039;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid #004039}.ice-badge{display:inline-block;padding:.3rem .7rem;border-radius:12px;font-size:.8rem;font-weight:600;color:#fff;white-space:nowrap}.ice-badge.chung{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 2px 4px #2196f34d}.ice-badge.rieng{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 2px 4px #ff98004d}.ice-badge.khong{background:linear-gradient(135deg,#9e9e9e,#757575);box-shadow:0 2px 4px #9e9e9e4d}.cart-page .cart-item-card__size-options,.cart-page .cart-item-card__ice-options{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0 .25rem}.cart-page .cart-item-card__size-label,.cart-page .cart-item-card__ice-label{font-size:.8rem;font-weight:600;color:#333;margin-right:.2rem;flex-shrink:0}.cart-page .cart-item-card__size-option{padding:.35rem .7rem;font-size:.85rem;font-weight:600;border:2px solid #e0e0e0;background:#fff;color:#333;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;min-height:32px}.cart-page .cart-item-card__size-option:hover{border-color:#004039;background:#f5f9f5;color:#004039}.cart-page .cart-item-card__size-option--active{border-color:#004039;background:#004039;color:#fff}.cart-page .cart-item-card__ice-options{margin:.25rem 0 .4rem}.cart-page .cart-item-card__ice-option{padding:.35rem .6rem;font-size:.8rem;font-weight:600;border:2px solid #e0e0e0;background:#fff;color:#333;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;min-height:32px}.cart-page .cart-item-card__ice-option:hover{border-color:#004039;background:#f5f9f5;color:#004039}.cart-page .cart-item-card__ice-option--active{border-color:#004039;background:#004039;color:#fff}.cart-page .cart-item-card__ice-option-text-short{display:none}.cart-page .cart-item-card__ice-option-text-full{display:inline}.cart-page .item-toppings,.cart-page .cart-item-card__toppings{font-size:.95rem;color:#333;margin:.6rem 0;display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box}.cart-page .item-toppings strong,.cart-page .cart-item-card__toppings strong{color:#004039;font-size:1rem;font-weight:600;margin-bottom:.3rem;display:block}.cart-page .cart-item-card__edit-topping-btn{display:inline-block;margin:.4rem 0;padding:.5rem .85rem;font-size:.9rem;font-weight:600;color:#004039;background:#fff9e6;border:2px solid #004039;border-radius:8px;cursor:pointer;width:100%;max-width:100%;box-sizing:border-box;min-height:44px}.cart-page .cart-item-card__edit-topping-btn:hover{background:#e8f0e8}.cart-page .topping-tag{display:inline-block;padding:.55rem .85rem;background:#fff9e6;color:#004039;border-radius:12px;font-size:.95rem;font-weight:500;border:2px solid #004039;white-space:normal;word-break:break-word;line-height:1.5;box-shadow:0 2px 4px #0040391a;width:100%;max-width:100%;box-sizing:border-box}.cart-page .item-note,.cart-page .cart-item-card__note{font-size:.9rem;color:#004039;font-style:italic;padding:.6rem .85rem;background:#f6f0bc;border-radius:8px;border-left:4px solid #004039;margin:.5rem 0;font-weight:500;line-height:1.5;word-break:break-word;width:100%;box-sizing:border-box}.cart-page .cart-page__title{margin-bottom:1rem}.cart-items,.cart-page .cart-items-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.cart-item,.cart-page .cart-item-card{background:#fff;border-radius:12px;padding:1rem;display:flex;gap:1rem;box-shadow:0 2px 8px #0000001a;align-items:flex-start}.cart-page .cart-item-card__thumb{flex-shrink:0}.cart-page .cart-item-card__thumb img{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0;display:block}.item-info,.cart-page .cart-item-card__body{flex:1;min-width:0;overflow:hidden;width:100%;box-sizing:border-box}.item-info h3,.cart-page .cart-item-card__name{font-size:1rem;margin:0 0 .25rem;color:#333}.item-info p{font-size:.85rem;color:#666;margin:.25rem 0}.item-price,.cart-page .cart-item-card__price{font-weight:600;color:#004039!important}.item-controls,.cart-page .cart-item-card__controls{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;min-width:-moz-fit-content;min-width:fit-content}.quantity-controls{display:flex;align-items:center;gap:.5rem;border:1px solid #e0e0e0;border-radius:8px;padding:.25rem}.quantity-controls button{width:28px;height:28px;border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600}.quantity-controls button:hover{background:#e0e0e0}.quantity-controls span{min-width:30px;text-align:center;font-weight:600}.remove-btn,.cart-page .cart-item-card__remove{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;min-height:44px;min-width:44px}.cart-summary,.cart-page .cart-summary-box{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;position:sticky;bottom:70px;color:#333}.cart-page .cart-summary-subtotal,.cart-page .cart-summary-surcharge{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.95rem;color:#555}.cart-page .cart-summary-surcharge{color:#004039;font-weight:600}.reward-phone-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.reward-phone-label{display:block;font-size:.9rem;font-weight:600;color:#333;margin-bottom:.5rem}.reward-phone-input{width:100%;padding:.75rem;border:2px solid #004039;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease;box-sizing:border-box}.reward-phone-input:focus{border-color:#004039;box-shadow:0 0 0 3px #0040391a}.reward-phone-input:disabled{background:#f5f5f5;cursor:not-allowed}.phone-user-info{margin-top:.5rem;font-size:.9rem;color:#004039;font-weight:600}.phone-user-info .points-preview{color:#666;font-weight:400}.phone-warning{margin-top:.5rem;font-size:.85rem;color:#ff6b6b;font-weight:500}.phone-hint{margin-top:.5rem;font-size:.85rem;color:#666}.total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:1.2rem;font-weight:600;color:#333}.total>span:first-child{color:#333}.cart-summary .total .total-amount,.total-amount{color:#004039!important;font-size:1.5rem;font-weight:700}.checkout-btn{width:100%;padding:1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.checkout-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #06402b66;background:#085a3f}.checkout-btn:disabled{opacity:.6;cursor:not-allowed}.cart-topping-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.cart-topping-modal{background:#fff;border-radius:12px;padding:1.25rem;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 24px #00000026}.cart-topping-modal__title{font-size:1.15rem;font-weight:700;color:#004039;margin:0 0 1rem}.cart-topping-modal__loading{color:#666;font-size:.95rem;margin:.5rem 0}.cart-topping-modal__list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.cart-topping-modal__item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #eee}.cart-topping-modal__item-img{width:44px;height:44px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.cart-topping-modal__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.cart-topping-modal__item-name{font-weight:600;color:#333;font-size:.95rem}.cart-topping-modal__item-price{font-size:.85rem;color:#004039}.cart-topping-modal__item-controls{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.cart-topping-modal__btn-minus,.cart-topping-modal__btn-plus{width:36px;height:36px;border:2px solid #004039;background:#fff;color:#004039;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.cart-topping-modal__btn-minus:disabled{opacity:.5;cursor:not-allowed}.cart-topping-modal__btn-plus:hover:not(:disabled),.cart-topping-modal__btn-minus:hover:not(:disabled){background:#004039;color:#fff}.cart-topping-modal__item-qty{min-width:28px;text-align:center;font-weight:600;font-size:.9rem}.cart-topping-modal__preview{font-size:.95rem;font-weight:600;color:#004039;margin:0 0 1rem}.cart-topping-modal__actions{display:flex;gap:.75rem;justify-content:flex-end}.cart-topping-modal__cancel{padding:.6rem 1.2rem;background:#f5f5f5;color:#333;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem}.cart-topping-modal__save{padding:.6rem 1.2rem;background:#004039;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem}.cart-topping-modal__cancel:hover,.cart-topping-modal__save:hover{opacity:.9}@media (max-width: 430px){.cart-page .cart-main{padding:.6rem}.cart-page .cart-item-card,.cart-page .cart-item{padding:.65rem;gap:.65rem;flex-wrap:wrap;align-items:flex-start}.cart-page .cart-item-card__thumb img{width:64px;height:64px}.cart-page .cart-item-card__body,.cart-page .item-info{min-width:0;overflow:hidden}.cart-page .cart-item-card__toppings,.cart-page .item-toppings{flex-basis:100%;order:10;width:100%;max-width:100%;font-size:.95rem;margin:.4rem 0;gap:.4rem;box-sizing:border-box}.cart-page .cart-item-card__toppings strong,.cart-page .item-toppings strong{font-size:1rem;margin-bottom:.3rem}.cart-page .topping-tag{padding:.5rem .75rem;font-size:.95rem;border-radius:10px;min-height:44px;width:100%;max-width:100%;box-sizing:border-box}.cart-page .cart-item-card__size-options,.cart-page .cart-item-card__ice-options{gap:.3rem;margin:.35rem 0 .2rem}.cart-page .cart-item-card__size-label,.cart-page .cart-item-card__ice-label{font-size:.75rem}.cart-page .cart-item-card__size-option{padding:.3rem .55rem;font-size:.8rem;min-height:28px}.cart-page .cart-item-card__ice-option{padding:.3rem .5rem;font-size:.75rem;min-height:28px}.cart-page .cart-item-card__ice-option-text-short{display:inline}.cart-page .cart-item-card__ice-option-text-full{display:none}.cart-page .cart-item-card__edit-topping-btn{padding:.45rem .65rem;font-size:.85rem;min-height:44px}.cart-page .cart-item-card__note,.cart-page .item-note{font-size:.85rem;padding:.5rem .7rem;margin:.35rem 0}.cart-page .cart-item-card__name,.cart-page .item-info h3{font-size:.95rem}.cart-page .cart-item-card__price,.cart-page .item-price{font-size:.9rem}.cart-page .quantity-controls{padding:.2rem}.cart-page .quantity-controls button{width:36px;height:36px;font-size:1rem;min-width:36px;min-height:36px}.cart-page .quantity-controls span{min-width:24px;font-size:.9rem}.cart-page .cart-summary-box,.cart-page .cart-summary{padding:1rem;bottom:60px}.cart-page .cart-summary-total.total,.cart-page .total{font-size:1.1rem}.cart-page .cart-checkout-btn,.cart-page .checkout-btn{padding:.875rem;font-size:.95rem;min-height:48px}.cart-topping-modal{padding:1rem;max-height:80vh}.cart-topping-modal__btn-minus,.cart-topping-modal__btn-plus{width:44px;height:44px;min-width:44px;min-height:44px}}@media (min-width: 431px) and (max-width: 767px){.cart-page .cart-main{padding:.75rem}.cart-page .cart-item-card,.cart-page .cart-item{padding:.75rem;gap:.75rem}.cart-page .cart-item-card__thumb img{width:70px;height:70px}.cart-page .cart-item-card__toppings,.cart-page .item-toppings{font-size:.95rem;gap:.35rem}.cart-page .topping-tag{min-height:48px}.cart-page .cart-summary-box,.cart-page .cart-summary{padding:1.25rem}}@media (min-width: 768px) and (max-width: 1024px){.cart-page .cart-item-card,.cart-page .cart-item{padding:.875rem}.cart-page .cart-item-card__size-option,.cart-page .cart-item-card__ice-option{min-height:36px;padding:.4rem .75rem;font-size:.85rem}.cart-page .size-badge,.cart-page .ice-badge{font-size:.75rem;padding:.3rem .65rem}.cart-page .cart-item-card__toppings,.cart-page .item-toppings{font-size:1rem;gap:.6rem;display:grid;grid-template-columns:repeat(2,1fr)}.cart-page .cart-item-card__toppings strong,.cart-page .item-toppings strong{font-size:1.1rem;grid-column:1 / -1}.cart-page .topping-tag{font-size:1rem;padding:.6rem .9rem;min-height:50px}.cart-page .cart-item-card__note,.cart-page .item-note{font-size:.95rem;padding:.65rem .9rem;border-left-width:4px}}.orders-page{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px}.orders-main{flex:1;padding:1rem;max-width:100%;margin:0 auto}.order-filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 6px #00000014;overflow:hidden;min-width:0}.order-filter-tabs button{flex:1;min-width:0;padding:.75rem 1rem;background:transparent;border:2px solid transparent;border-radius:8px;font-weight:600;font-size:.9rem;color:#666;cursor:pointer;transition:all .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-filter-tabs button:hover{background:#0040390d}.order-filter-tabs button.active{background:linear-gradient(135deg,#004039,#006854);color:#fff;border-color:transparent;box-shadow:0 2px 8px #0040394d}.empty-orders{text-align:center;padding:4rem 1rem;color:#666}.empty-orders p{font-size:1.1rem;font-weight:500;color:#999;margin-top:1rem}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #F6F0BC}.order-customer-info{font-size:.85rem;color:#666;padding:.5rem .75rem;background:#f0f8ff;border-radius:6px;margin-bottom:.5rem;border-left:3px solid #2196f3;font-weight:500}.order-staff-info{font-size:.85rem;color:#666;padding:.5rem .75rem;background:#fff3e0;border-radius:6px;margin-bottom:.5rem;border-left:3px solid #ff9800;font-weight:500}.order-items-preview{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.order-item-preview{display:flex;gap:.75rem;align-items:center}.order-item-preview img{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.item-preview-info{flex:1;min-width:0}.item-preview-info h4{font-size:.9rem;margin:0 0 .25rem;color:#333;font-weight:600}.item-preview-info p{font-size:.8rem;color:#666;margin:0}.item-price-preview{font-weight:600;color:#004039;font-size:.9rem;white-space:nowrap}.more-items{font-size:.85rem;color:#666;font-style:italic;text-align:center;padding:.5rem}.order-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px #00000014;border:1px solid #f0f0f0;transition:all .3s ease}.order-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid #F6F0BC}.order-id{font-weight:700;color:#004039;font-size:1.1rem;letter-spacing:.5px}.order-status{font-weight:600;font-size:.9rem;padding:.4rem .8rem;border-radius:20px;background:#06402b1a}.order-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.order-item{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;background:#f9f9f9;border-radius:10px;border-left:3px solid #004039}.order-item-info{flex:1;min-width:0;word-wrap:break-word}.order-item img{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 2px 6px #0000001a;flex-shrink:0}.order-item-info{flex:1;min-width:0}.order-item-info h4{font-size:.95rem;margin:0 0 .4rem;color:#333;font-weight:600;line-height:1.3}.order-item-info p{font-size:.8rem;color:#666;margin:.2rem 0;line-height:1.4}.order-item-price{font-weight:700;color:#004039;font-size:.95rem;white-space:nowrap;flex-shrink:0;align-self:flex-start;padding-top:.2rem}.order-footer{display:flex;justify-content:space-between;align-items:flex-start;padding-top:1rem;border-top:2px solid #F6F0BC;font-size:.85rem;flex-wrap:wrap;gap:.75rem}.order-meta{display:flex;flex-direction:column;gap:.5rem}.order-date{color:#666;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.order-date:before{content:"🕐";font-size:.9rem}.payment-method{font-size:.85rem;color:#004039;font-weight:500;padding:.25rem .5rem;background:#f6f0bc;border-radius:4px;display:inline-block}.order-total{font-weight:700;color:#004039;font-size:1.1rem;background:#f6f0bc;padding:.5rem .9rem;border-radius:8px;white-space:nowrap}.item-toppings{font-size:.8rem;color:#666;margin:.25rem 0;padding:.25rem .5rem;background:#f0f0f0;border-radius:4px;display:inline-block}.item-note{font-size:.8rem;color:#004039;font-style:italic;margin:.4rem 0 0;padding:.4rem .6rem;background:#f6f0bc;border-radius:6px;border-left:3px solid #004039;font-weight:500;display:block;word-wrap:break-word}.date-filter-section{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:center}.date-picker{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;background:#fff;color:#333}.today-btn{padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.today-btn:hover{background:#005a4f}.today-btn:active{background:#00332d}@media (max-width: 480px){.date-filter-section{flex-direction:column;gap:.5rem}.date-picker{width:100%}.order-filter-tabs{gap:.25rem;padding:.375rem;margin-bottom:1rem}.order-filter-tabs button{padding:.625rem .5rem;font-size:.75rem;white-space:normal;line-height:1.2;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}.today-btn{width:100%}}.order-detail-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f6f0bc,#f0e8a8);padding-bottom:70px}.detail-main{flex:1;padding:1rem .75rem;max-width:600px;margin:0 auto;width:100%;padding-top:80px}.back-btn{margin-bottom:1rem;padding:.75rem 1.5rem;background:#fff;border:2px solid #004039;color:#004039;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #00000014}.back-btn:hover{background:#004039;color:#fff;transform:translate(-4px);box-shadow:0 4px 12px #00403933}.order-detail-container{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 8px 24px #0000001f;border:1px solid rgba(0,64,57,.1)}.order-header-detail{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:3px solid #F6F0BC;flex-wrap:wrap;gap:1rem}.order-header-left-detail{display:flex;flex-direction:column;gap:.75rem}.order-header-left-detail h2{margin:0;font-size:1.3rem;color:#004039;font-weight:700}.status-badge-detail{padding:.6rem 1.25rem;border-radius:25px;color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap;box-shadow:0 4px 12px #00000026;text-transform:uppercase;letter-spacing:.5px}.order-type-badge-detail{padding:.6rem 1.25rem;border-radius:12px;font-weight:700;font-size:.9rem;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.order-type-badge-detail.online{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 4px 12px #2196f34d}.order-type-badge-detail.counter{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 4px 12px #ff98004d}.customer-info-box{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);padding:1.25rem;border-radius:16px;margin-bottom:1.5rem;border-left:5px solid #4caf50;box-shadow:0 4px 12px #4caf5026}.customer-info-box h3{margin:0 0 1rem;color:#2e7d32;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.customer-info-content{display:flex;flex-direction:column;gap:.75rem}.customer-info-content p{margin:0;color:#333;font-size:.95rem;padding:.5rem;background:#fff;border-radius:8px;display:flex;align-items:flex-start;gap:.5rem}.customer-info-content strong{color:#2e7d32;font-weight:700;min-width:120px}.order-info-section{background:linear-gradient(135deg,#fff3e0,#ffe0b2);padding:1rem;border-radius:16px;margin-bottom:1.5rem;border-left:5px solid #ff9800;box-shadow:0 4px 12px #ff980026}.info-row{display:flex;justify-content:space-between;padding:.75rem;border-bottom:1px solid rgba(255,152,0,.2);align-items:center}.info-row .label{color:#666;font-weight:600;display:flex;align-items:center;gap:.5rem}.info-row .value{color:#333;font-weight:700;text-align:right}.order-items-detail{margin-bottom:1.5rem}.order-items-detail h3{font-size:1.15rem;color:#004039;margin:0 0 1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.order-item-detail{display:flex;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:16px;margin-bottom:1rem;border-left:4px solid #004039;box-shadow:0 3px 10px #00000014;transition:all .3s ease}.order-item-detail:hover{transform:translate(4px);box-shadow:0 6px 16px #0000001f}.order-item-detail img{width:90px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px #00000026;border:3px solid white}.item-detail-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.item-detail-info h4{font-size:1.05rem;margin:0;color:#004039;font-weight:700}.item-detail-info p{font-size:.9rem;color:#666;margin:0;display:flex;align-items:center;gap:.5rem}.item-toppings{font-size:.85rem;color:#666;padding:.5rem .75rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0;display:inline-block;font-weight:500}.item-note{font-size:.85rem;color:#004039;font-style:italic;padding:.75rem;background:#fff9c4;border-radius:10px;border-left:4px solid #fbc02d;margin:.5rem 0;font-weight:600;display:flex;align-items:flex-start;gap:.5rem;box-shadow:0 2px 8px #fbc02d33}.item-price{font-weight:700;color:#004039;font-size:1.1rem;margin-top:auto;background:#f6f0bc;padding:.5rem 1rem;border-radius:8px;display:inline-block}.order-summary{background:linear-gradient(135deg,#004039,#005a4f);padding:1.5rem;border-radius:16px;margin-top:1.5rem;box-shadow:0 8px 24px #0040394d}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.2);color:#fff!important;background:transparent!important}.summary-row:last-child{border-bottom:none;padding-top:1rem;margin-top:.5rem;border-top:2px solid rgba(255,255,255,.3)}.summary-row span{color:#fff!important}.summary-row span:first-child{font-weight:700;font-size:1.1rem;color:#fff!important;letter-spacing:1px}.summary-row span:last-child{font-weight:700;color:#fff!important}.total-amount{font-size:1.8rem;font-weight:700;color:#fff!important}.loading{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.bottom-spacer{height:2rem}.thank-you-message{margin-top:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#f6f0bc,#f0e8a8);border-radius:12px;text-align:center;border:2px solid #004039;box-shadow:0 4px 12px #00403933}.thank-you-message p{margin:0;font-size:1.1rem;font-weight:700;color:#004039;letter-spacing:.5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.order-detail-container{animation:fadeIn .4s ease-out}.print-actions{margin-top:1.5rem}.print-menu{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:200;overflow:hidden;border:1px solid #e0e0e0;animation:fadeIn .2s ease-out}.print-menu.bottom-up{top:auto;bottom:100%;margin-top:0;margin-bottom:.5rem}@media (max-width: 480px){.detail-main{padding:1rem .5rem}.order-detail-container{padding:1.25rem;border-radius:16px}.order-header-detail{flex-direction:column;align-items:flex-start}.order-type-badge-detail{width:100%;justify-content:center}.order-item-detail{padding:1rem}.order-item-detail img{width:70px;height:70px}.item-detail-info h4{font-size:.95rem}.customer-info-content strong{min-width:100px;font-size:.9rem}.print-btn{font-size:.95rem;padding:.875rem}.print-menu button{font-size:.9rem;padding:.75rem}}.account-page{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px}.account-main{flex:1;padding:1rem;max-width:100%;margin:0 auto}.page-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;color:#004039!important;text-align:center;padding:.5rem 0;position:relative;display:flex;align-items:center;justify-content:center;gap:1rem}.page-title:before,.page-title:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,#004039,transparent);max-width:100px}.page-title:before{background:linear-gradient(90deg,transparent,#004039)}.page-title:after{background:linear-gradient(90deg,#004039,transparent)}.account-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.account-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.avatar{width:60px;height:60px;border-radius:50%;background:#004039;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.user-info h2{font-size:1.25rem;margin:0 0 .25rem;color:#333}.user-role{color:#004039;font-weight:500;margin:0}.points-card{background:linear-gradient(135deg,#004039,#006854);color:#fff;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 12px #0040394d}.points-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.points-icon{font-size:1.5rem}.points-label{font-size:1rem;font-weight:600;opacity:.95}.account-card .points-card .points-value{font-size:5rem!important;font-weight:900!important;margin-bottom:1rem;text-align:center;text-shadow:0 4px 12px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.3)!important;color:gold!important;letter-spacing:4px!important;line-height:1.2;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 4px 12px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.3)}to{text-shadow:0 6px 20px rgba(255,215,0,.9),0 3px 6px rgba(0,0,0,.4)}}.points-info-text{background:#fff3;padding:1rem;border-radius:8px;margin-top:1rem}.points-info-text p{margin:.5rem 0;font-size:.95rem}.points-info-text strong{font-weight:700}.points-rule{font-size:.85rem!important;opacity:.9;font-style:italic;color:#fff!important}.account-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;flex-wrap:wrap;gap:.5rem}.detail-item .value{flex:1;text-align:right}.label{color:#666;font-weight:500}.value{color:#333;font-weight:600}.admin-btn,.staff-btn,.attendance-btn,.attendance-history-btn,.edit-address-btn{width:100%;padding:.75rem;margin-bottom:.75rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.admin-btn:hover,.staff-btn:hover,.attendance-btn:hover,.attendance-history-btn:hover,.edit-address-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #06402b66;background:#085a3f}.logout-btn{width:100%;padding:.75rem;background:#f44336;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#d32f2f;transform:scale(1.02)}.edit-birthday-btn{padding:.4rem .75rem;background:#004039;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.edit-birthday-btn:hover{background:#085a3f;transform:scale(1.05)}.modal-content{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:400px}.modal-content h2{margin-bottom:1.5rem;color:#333;font-size:1.5rem}.modal-content .form-group{margin-bottom:1.25rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.modal-content .form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.modal-content .form-group input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.form-hint{font-size:.85rem;color:#666;margin-top:.5rem;display:block}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.form-actions button{flex:1;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.form-actions button[type=button]:hover:not(:disabled){background:#e8e8e8}.form-actions button[type=submit]{background:#004039;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#085a3f}.form-actions button:disabled{opacity:.6;cursor:not-allowed}.bottom-spacer{height:1rem}.account-revenue-grid{min-width:0}.account-revenue-card{min-width:0;overflow:hidden}.account-revenue-value{word-break:break-all;overflow-wrap:anywhere;font-size:clamp(.875rem,4.5vw,1.5rem);line-height:1.3;max-width:100%}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.confirm-dialog{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;max-width:450px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog-header{padding:1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #e0e0e0}.confirm-dialog-header.confirm-dialog-warning{background:#fff3cd;border-bottom-color:#ffc107}.confirm-dialog-header.confirm-dialog-danger{background:#f8d7da;border-bottom-color:#dc3545}.confirm-dialog-header.confirm-dialog-info,.confirm-dialog-header.confirm-dialog-success{background:#0040391a;border-bottom-color:#004039}.confirm-dialog-icon{font-size:1.5rem;flex-shrink:0}.confirm-dialog-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#004039}.confirm-dialog-header.confirm-dialog-warning h3{color:#856404}.confirm-dialog-header.confirm-dialog-danger h3{color:#721c24}.confirm-dialog-header.confirm-dialog-info h3,.confirm-dialog-header.confirm-dialog-success h3{color:#004039}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-body p{margin:0;font-size:1rem;line-height:1.6;color:#333;white-space:pre-line}.confirm-dialog-actions{padding:1rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:1px solid #e0e0e0;background:#f6f0bc}.confirm-dialog-cancel,.confirm-dialog-confirm{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px}.confirm-dialog-cancel{background:#fff;color:#666;border:2px solid #e0e0e0}.confirm-dialog-cancel:hover{background:#f0f0f0;border-color:#ccc}.confirm-dialog-confirm{color:#fff}.confirm-dialog-confirm.confirm-dialog-warning{background:#ffc107}.confirm-dialog-confirm.confirm-dialog-warning:hover{background:#ffb300}.confirm-dialog-confirm.confirm-dialog-danger{background:#dc3545}.confirm-dialog-confirm.confirm-dialog-danger:hover{background:#c82333}.confirm-dialog-confirm.confirm-dialog-info{background:#004039}.confirm-dialog-confirm.confirm-dialog-info:hover{background:#005a4f}.confirm-dialog-confirm.confirm-dialog-success{background:#004039}.confirm-dialog-confirm.confirm-dialog-success:hover{background:#005a4f}@media (max-width: 768px){.confirm-dialog{width:95%;margin:1rem}.confirm-dialog-header,.confirm-dialog-body,.confirm-dialog-actions{padding:1rem}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-cancel,.confirm-dialog-confirm{width:100%}}.reward-exchange-page{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px;background:#fdfdfd}.reward-main{flex:1;padding:8px;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}.reward-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;background:linear-gradient(135deg,#004039,#006854);padding:.8rem 1rem;border-radius:12px;color:#fff;box-shadow:0 4px 15px #00403933}.reward-header h1{font-size:1.1rem;margin:0;font-weight:800}.user-points-display{display:flex;align-items:center;gap:.25rem;background:#ffffff1a;padding:.4rem .7rem;border-radius:10px;border:1px solid rgba(255,255,255,.2)}.points-text{font-size:.9rem;font-weight:800;color:#f6f0bc}.reward-intro{background:#f6f0bc;padding:.7rem;border-radius:10px;margin-bottom:.75rem;border:1px solid rgba(0,64,57,.05)}.reward-intro p{margin:.1rem 0;color:#004039;font-size:.85rem;font-weight:700;line-height:1.4}.points-rule{color:#004039!important;font-weight:700!important;font-style:normal!important;opacity:.9}.empty-rewards{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;width:100%}.empty-sticker{width:150px;height:auto;margin-bottom:1rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}.empty-rewards p{color:#004039;font-weight:700;font-size:1rem;margin:0}.filter-tabs{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:4px!important;margin-bottom:1rem!important;padding:4px!important;background:#f0f0f0!important;border-radius:10px!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.filter-tabs button{flex:1!important;min-width:70px!important;padding:.5rem .1rem!important;background:transparent!important;border:none!important;border-radius:7px!important;font-weight:700!important;color:#666!important;cursor:pointer!important;font-size:.75rem!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}.filter-tabs button.active{background:#fff!important;color:#004039!important;box-shadow:0 2px 6px #0000001a!important}.rewards-grid-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin-bottom:2rem;box-sizing:border-box}.reward-item-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;border:1px solid #eee;min-width:0;height:100%}.reward-image-box{position:relative;width:100%;aspect-ratio:1 / 1;background:#f9f9f9;overflow:hidden}.reward-image-box img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.reward-content-box{padding:8px;display:flex;flex-direction:column;flex:1}.reward-content-box h3{font-size:.8rem;color:#333;font-weight:700;margin:0 0 2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.reward-name-en{font-size:.6rem;color:#999;font-style:italic;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.reward-description{font-size:.65rem;color:#777;margin-bottom:6px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.reward-footer-box{display:flex;flex-direction:column;gap:4px;margin-top:auto}.reward-points-badge{background:#f0f7f6;color:#004039;padding:2px 4px;border-radius:4px;font-weight:800;font-size:.7rem;text-align:center}.exchange-btn-action{padding:6px;background:#004039;color:#fff!important;border:none;border-radius:6px;font-weight:700;font-size:.75rem;width:100%;cursor:pointer}.exchange-btn-action:disabled{background:#eee;color:#ccc!important;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay *{color:#333!important}.modal-content{background:#fff;border-radius:16px;padding:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;color:#333!important}.modal-content *{color:#333!important}.modal-content h2{margin:0 0 20px;color:#004039!important;font-size:1.5rem;font-weight:700}.modal-content h3{color:#004039!important}.modal-content p,.modal-content span,.modal-content div,.modal-content label{color:#333!important}.confirm-reward-info{display:flex;gap:15px;align-items:center;padding:15px;background:#f8f9fa;border-radius:12px;margin-bottom:20px}.confirm-reward-info img{width:80px;height:80px;border-radius:8px;-o-object-fit:cover;object-fit:cover}.confirm-reward-info h3{margin:0 0 5px;font-size:1.1rem;color:#004039}.confirm-points{color:#666;font-size:.9rem;font-weight:600;margin:0}.reward-size-info{color:#004039;font-size:.9rem;font-weight:600;margin:5px 0 0}.size-selection-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:12px}.size-selection-section label{display:block;margin-bottom:10px;font-weight:600;color:#004039!important;font-size:1rem}.size-options{display:flex;gap:10px}.size-btn{flex:1;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.size-btn:hover:not(:disabled){border-color:#004039;background:#0040390d}.size-btn.active{border-color:#004039;background:#004039;color:#fff}.size-btn:disabled{opacity:.5;cursor:not-allowed}.size-price{font-size:.85rem;font-weight:500;opacity:.8}.points-summary{background:#f8f9fa;padding:15px;border-radius:12px;margin-bottom:20px;color:#333!important}.points-summary *{color:#333!important}.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0;color:#333!important;font-size:.95rem}.summary-row *{color:#333!important}.summary-row>span{color:#333!important}.summary-row:last-child{border-bottom:none}.summary-row.total{font-weight:700;font-size:1.1rem;padding-top:12px;border-top:2px solid #004039;margin-top:8px;color:#004039!important}.summary-row.total *{color:#004039!important}.summary-row.total>span{color:#004039!important}.points-value{font-weight:700;color:#004039!important}.points-value.deduct{color:#dc3545!important;font-weight:700}.address-section{margin-bottom:20px;color:#333!important}.address-section *{color:#333!important}.address-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.address-header h3{margin:0;font-size:1rem;color:#004039!important;font-weight:600}.edit-address-link{background:transparent;border:none;color:#004039;cursor:pointer;font-size:.9rem;padding:5px 10px;border-radius:6px;transition:background .2s}.edit-address-link:hover{background:#f0f7f6}.address-input{width:100%;padding:12px;border:2px solid #004039;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.address-input:focus{outline:none;border-color:#006854}.address-display{padding:12px;background:#f8f9fa;border-radius:8px;color:#333!important;font-size:.95rem;line-height:1.5}.confirm-note{background:#fff3cd;padding:12px;border-radius:8px;color:#856404!important;font-size:.9rem;margin-bottom:20px;border:1px solid #ffeaa7}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-actions button:first-child{background:#f0f0f0;color:#333}.modal-actions button:first-child:hover{background:#e0e0e0}.modal-actions button.confirm-btn{background:#004039;color:#fff}.modal-actions button.confirm-btn:hover{background:#006854}@media (min-width: 768px){.reward-main{padding:20px}.rewards-grid-container{grid-template-columns:repeat(3,1fr)!important;gap:20px!important}.filter-tabs{max-width:400px;margin-left:auto;margin-right:auto}}@media (min-width: 1024px){.rewards-grid-container{grid-template-columns:repeat(4,1fr)!important}}.reward-exchange-page .modal-overlay .modal-content{background:#fff!important;color:#222!important}.reward-exchange-page .modal-overlay .modal-content p,.reward-exchange-page .modal-overlay .modal-content span,.reward-exchange-page .modal-overlay .modal-content div,.reward-exchange-page .modal-overlay .modal-content label,.reward-exchange-page .modal-overlay .modal-content h2,.reward-exchange-page .modal-overlay .modal-content h3{color:#222!important}.reward-exchange-page .modal-overlay .modal-content .points-summary{background:#f8f9fa!important;color:#222!important}.reward-exchange-page .modal-overlay .modal-content .points-summary *{color:#222!important}.reward-exchange-page .modal-overlay .modal-content .points-summary .summary-row{background:transparent!important;color:#222!important}.reward-exchange-page .modal-overlay .modal-content .points-summary .summary-row *{color:#222!important}.reward-exchange-page .modal-overlay .modal-content .summary-row.total,.reward-exchange-page .modal-overlay .modal-content .summary-row.total *{color:#004039!important}.reward-exchange-page .modal-overlay .modal-content .address-section,.reward-exchange-page .modal-overlay .modal-content .address-section *{color:#222!important}.reward-exchange-page .modal-overlay .modal-content .modal-actions .confirm-btn{color:#fff!important}.customer-search-section{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.customer-search-label{display:block;font-size:.9rem;font-weight:600;color:#004039;margin-bottom:.5rem}.search-input-wrapper{position:relative}.customer-search-input{width:100%;padding:.75rem;border:2px solid #004039;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease;box-sizing:border-box}.customer-search-input:focus{border-color:#004039;box-shadow:0 0 0 3px #0040391a}.search-loading{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#666;font-size:.85rem}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:1000;margin-top:4px}.search-result-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.search-result-item:hover{background:#f5f5f5}.search-result-item:last-child{border-bottom:none}.result-name{font-weight:600;color:#333;margin-bottom:.25rem}.result-phone{font-size:.85rem;color:#666}.phone-checking{margin-top:.5rem;font-size:.85rem;color:#666;font-style:italic}.customer-info-display{margin-top:1rem;padding:1rem;background:#f6f0bc;border-radius:8px;border-left:4px solid #004039}.customer-info-name,.customer-info-phone,.customer-info-points{font-size:.9rem;color:#004039;margin:.25rem 0}.customer-info-name strong,.customer-info-points strong{font-weight:700}.exchange-cart-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.exchange-cart-section h3{color:#004039;margin:0 0 1rem;font-size:1.2rem}.exchange-cart{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.exchange-cart-item{display:flex;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;align-items:center}.exchange-cart-item img{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:8px}.exchange-cart-item-info{flex:1}.exchange-cart-item-info h4{margin:0 0 .25rem;font-size:1rem;color:#333}.exchange-cart-item-info p{margin:.25rem 0;font-size:.85rem;color:#666}.exchange-cart-points{color:#004039;font-weight:600;font-size:.9rem}.remove-exchange-item-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;color:#dc3545;transition:transform .2s}.remove-exchange-item-btn:hover{transform:scale(1.1)}.exchange-summary{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1rem}.exchange-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:#333}.exchange-total-points{font-weight:700;color:#004039;font-size:1.1rem}.exchange-remaining-points{font-weight:700;color:#004039}.exchange-payment-btn{width:100%;padding:1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.exchange-payment-btn:hover:not(:disabled){background:#006854;transform:scale(1.02)}.exchange-payment-btn:disabled{opacity:.6;cursor:not-allowed}.product-management{background:#fff;border-radius:12px;padding:1rem 1.25rem;max-width:100%;min-width:0;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.page-header h1{font-size:1.35rem;color:#333}.add-btn{padding:.6rem 1.25rem;font-size:.9rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;padding:.4rem;background:#f5f5f5;border-radius:10px;flex-wrap:wrap}.filter-tab{flex:1;min-width:0;padding:.5rem .75rem;background:#fff;border:2px solid transparent;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s ease;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-tab.active{background:#667eea;color:#fff;border-color:#667eea}.filter-tab:hover:not(.active){background:#e8e8e8}.products-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0}@media (min-width: 640px){.products-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 900px){.products-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-item{background:#f9f9f9;border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;min-width:0;overflow:hidden;transition:all .3s ease}.product-item.inactive{opacity:.6;background:#e0e0e0}.product-image-container{position:relative;width:100%;height:120px;min-height:0;overflow:hidden;border-radius:8px;flex-shrink:0}.product-item .product-image-container img,.product-item .product-image-container .optimized-image-wrapper,.product-item .product-image-container .optimized-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}@media (min-width: 768px){.product-image-container{height:140px}}.image-badge{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.status-badge{position:absolute;top:.5rem;left:.5rem;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.inactive-badge{background:#f44336;color:#fff}.image-count{margin-top:.5rem;color:#667eea;font-size:.9rem;font-weight:500}.existing-images{margin-top:1rem}.existing-images p{margin:0 0 .75rem;color:#666;font-size:.9rem;font-weight:600}.images-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1rem}.image-preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid #e0e0e0;background:#f5f5f5}.image-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-preview-btn{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:50%;background:#f44336f2;color:#fff;border:2.5px solid white;cursor:pointer;font-size:1.2rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000080,0 0 0 1px #0000001a;transition:all .3s ease;z-index:10;line-height:1}.remove-preview-btn:hover{background:#d32f2f;transform:scale(1.2);box-shadow:0 6px 16px #f4433699,0 0 0 2px #fff}.remove-preview-btn:active{transform:scale(1.1);box-shadow:0 2px 6px #0006}.image-number{position:absolute;bottom:4px;right:4px;background:#000000bf;color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:700;z-index:2}.image-number.new-badge{background:linear-gradient(135deg,#4caf50,#45a049);font-size:.65rem;letter-spacing:.3px}.custom-file-upload{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;margin-bottom:1rem;text-align:center}.custom-file-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.custom-file-upload:active{transform:translateY(0)}.existing-images-section,.new-images-section{margin-top:1.5rem}.section-title{font-weight:700;color:#333;margin-bottom:.75rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.no-images-hint{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;text-align:center;font-size:.9rem;margin-top:1rem}.product-details{min-width:0;flex:1}.product-details h3{margin:0 0 .35rem;color:#333;font-size:.95rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-details p{margin:.15rem 0;color:#666;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category{font-weight:600;color:#667eea!important}.product-actions{display:flex;gap:.35rem;flex-shrink:0}.product-actions button{flex:1;min-width:0;padding:.4rem .5rem;border:none;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer}.product-actions button:first-child{background:#667eea;color:#fff}.toppings-manager{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.topping-item-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.5rem;align-items:center;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.topping-item-form input,.topping-item-form select{padding:.5rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem}.topping-item-form input:focus,.topping-item-form select:focus{outline:none;border-color:#667eea}.remove-topping-btn{padding:.5rem .75rem;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.remove-topping-btn:hover{background:#d32f2f;transform:scale(1.05)}.add-topping-btn{padding:.75rem;background:#4caf50;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-topping-btn:hover{background:#45a049;transform:translateY(-2px)}@media (max-width: 768px){.topping-item-form{grid-template-columns:1fr}.remove-topping-btn{width:100%}}.topping-management{background:#fff;border-radius:12px;padding:1.5rem}.toppings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (max-width: 767px){.toppings-list{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 768px){.toppings-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.toppings-list{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1400px){.toppings-list{grid-template-columns:repeat(4,1fr)}}.topping-item{background:#fff;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:all .3s ease;border:2px solid #e0e0e0;box-shadow:0 2px 8px #00000014}.topping-item:hover{box-shadow:0 4px 16px #0000001f;border-color:#667eea}.topping-image-container{position:relative;width:100%;height:140px;border-radius:8px;overflow:hidden;background:#f5f5f5;border:2px solid #e0e0e0}.topping-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.topping-item.inactive{opacity:.6;background:#e8e8e8}.topping-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.topping-info h3{margin:0;color:#333;font-size:1rem;font-weight:700;line-height:1.3}.topping-price{font-size:1.3rem;font-weight:700;color:#004039;margin:0}.topping-category{display:inline-block;padding:.3rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.8rem;font-weight:600;width:-moz-fit-content;width:fit-content}.status-badge{position:absolute;top:.5rem;left:.5rem;padding:.35rem .75rem;background:#f44336;color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;z-index:10}.topping-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}.image-preview-container{margin-top:1rem;position:relative;display:inline-block;width:200px;height:200px}.image-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:12px;border:3px solid #e0e0e0;box-shadow:0 4px 12px #0000001a}.remove-image-btn{position:absolute;top:6px;right:6px;background:#f44336f2;color:#fff;border:2.5px solid white;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.2rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000080,0 0 0 1px #0000001a;transition:all .3s ease;z-index:10;line-height:1}.remove-image-btn:hover{background:#d32f2f;transform:scale(1.2);box-shadow:0 6px 16px #f4433699,0 0 0 2px #fff}.remove-image-btn:active{transform:scale(1.1);box-shadow:0 2px 6px #0006}.topping-actions button{padding:.6rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.8rem;transition:all .3s ease;white-space:nowrap}.topping-actions button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.topping-actions button:first-child:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.pause-btn{background:#ff9800!important;color:#fff!important}.pause-btn:hover{background:#f57c00!important}.activate-btn{background:#4caf50!important;color:#fff!important}.activate-btn:hover{background:#45a049!important}.delete-btn{background:#f44336!important;color:#fff!important}.delete-btn:hover{background:#d32f2f!important}.ingredient-management{background:#fff;border-radius:12px;padding:1.5rem}.search-filter-section{margin-bottom:2rem}.search-box{display:flex;gap:.75rem;margin-bottom:1rem}.search-box input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.search-box input:focus{outline:none;border-color:#667eea}.search-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.search-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.filter-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.filter-tabs .filter-tab{padding:.75rem 1.25rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}.filter-tabs .filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.filter-tabs .filter-tab.warning.active{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#ff9800}.filter-tabs .filter-tab.danger.active{background:linear-gradient(135deg,#f44336,#d32f2f);border-color:#f44336}.ingredient-modal{max-width:800px;max-height:90vh;overflow-y:auto}.form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.batches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.add-batch-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .3s ease}.add-batch-btn:hover{background:#45a049;transform:translateY(-2px)}.batch-row{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}@media (max-width: 768px){.batch-row{grid-template-columns:1fr}}.batch-row input{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem}.batch-row input:focus{outline:none;border-color:#667eea}.remove-batch-btn{padding:.5rem;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .3s ease}.remove-batch-btn:hover{background:#d32f2f;transform:scale(1.05)}.ingredients-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (max-width: 767px){.ingredients-list{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1024px){.ingredients-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1400px){.ingredients-list{grid-template-columns:repeat(3,1fr)}}.ingredient-item{background:#f9f9f9;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;border:2px solid #e0e0e0}.ingredient-item:hover{box-shadow:0 4px 16px #0000001a;border-color:#667eea}.ingredient-item.inactive{opacity:.6;background:#e0e0e0}.ingredient-image-container{position:relative;width:100%;height:200px;border-radius:8px;overflow:hidden;background:#fff}.ingredient-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ingredient-details h3{margin:0 0 .5rem;color:#333;font-size:1.2rem}.stock-info{margin:.5rem 0;color:#333;font-size:.95rem}.min-stock{display:block;color:#666;font-size:.85rem;margin-top:.25rem}.batches-count{color:#667eea;font-weight:600;margin:.5rem 0;font-size:.9rem}.batches-list-preview{background:#fff;border-radius:8px;padding:.75rem;margin-top:.75rem}.batch-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-bottom:.5rem;border-radius:6px;background:#f5f5f5;font-size:.85rem}.batch-preview.expiring{background:#fff3cd;border-left:4px solid #ff9800}.batch-preview.expired{background:#ffebee;border-left:4px solid #f44336;text-decoration:line-through;opacity:.7}.expired-tag,.expiring-tag{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.expired-tag{background:#f44336;color:#fff}.expiring-tag{background:#ff9800;color:#fff}.more-batches{color:#667eea;font-size:.85rem;margin:.5rem 0 0;font-weight:600}.warning-badge{background:#ff9800!important}.danger-badge{background:#f44336!important}.ingredient-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.ingredient-actions button{padding:.6rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .3s ease}.ingredient-actions .edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ingredient-actions .edit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.empty-state{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.user-management{background:#fff;border-radius:12px;padding:1.5rem}.add-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.modal-content{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:500px}.modal-content h2{margin-bottom:1.5rem;color:#333}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-actions button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.user-item{background:#f9f9f9;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.user-details{flex:1}.user-details h3{margin:0 0 .5rem;color:#333}.user-details p{margin:.25rem 0;color:#666;font-size:.9rem}.user-role{font-weight:600;color:#667eea!important}.delete-btn{padding:.5rem 1rem;background:#f44336;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.loading{text-align:center;padding:2rem;color:#666}.search-section{margin-bottom:1.5rem}.search-controls{display:flex;gap:.75rem;align-items:center}.search-input{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-type-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-weight:500;background:#fff;cursor:pointer;transition:all .3s ease;min-width:150px}.search-type-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 480px){.search-controls{flex-direction:column;align-items:stretch}.search-type-select{width:100%;min-width:auto}}.tabs-container{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tab-btn{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s}.tab-btn.active{color:#667eea;border-bottom-color:#667eea}.tab-btn:hover{color:#667eea;background:#f9f9f9}.user-actions{display:flex;flex-direction:column;gap:.5rem}.view-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;white-space:nowrap;font-size:.9rem}.view-btn:hover:not(:disabled){background:#45a049}.view-btn:disabled{background:#ccc;cursor:not-allowed}.add-points-btn{padding:.5rem 1rem;background:#ff9800;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;white-space:nowrap;font-size:.9rem}.add-points-btn:hover{background:#f57c00}.user-points{color:#ff9800!important;font-weight:700;font-size:1rem!important}.modal-large{max-width:800px;max-height:90vh;overflow-y:auto}.modal-header-detail{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.modal-header-detail h2{margin:0}.close-btn{width:40px;height:40px;border-radius:50%;background:#f44336;color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#d32f2f}.customer-detail-content{display:flex;flex-direction:column;gap:1.5rem}.customer-info-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:12px;text-align:center}.customer-avatar-large{width:100px;height:100px;border-radius:50%;background:#ffffff4d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto 1rem;border:4px solid white}.customer-info-card h3{margin:0 0 1.5rem;font-size:1.5rem}.customer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.stat-item{background:#fff3;padding:1rem;border-radius:8px}.stat-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.85rem;opacity:.9}.customer-info-details{background:#f9f9f9;padding:1.5rem;border-radius:12px}.customer-info-details h4{margin:0 0 1rem;color:#333}.detail-grid{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;padding:.75rem;background:#fff;border-radius:8px}.detail-label{font-weight:600;color:#666}.detail-value{color:#333}.recent-orders-section{background:#f9f9f9;padding:1.5rem;border-radius:12px}.recent-orders-section h4{margin:0 0 1rem;color:#333}.orders-list-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.order-mini-card{background:#fff;padding:1rem;border-radius:8px;border:2px solid #e0e0e0}.order-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.order-mini-id{font-weight:700;color:#667eea;font-family:monospace}.order-mini-amount{font-weight:700;color:#4caf50}.order-mini-date{font-size:.85rem;color:#999;margin-bottom:.5rem}.order-mini-items{font-size:.9rem;color:#666}.points-info{background:#fff3e0;padding:1rem;border-radius:8px;border-left:4px solid #ff9800}.points-info p{margin:0;color:#e65100}.empty-state{text-align:center;padding:3rem;color:#999;background:#f9f9f9;border-radius:12px}.empty-state p{font-size:1.1rem}@media (max-width: 768px){.tabs-container{flex-direction:column;gap:0}.tab-btn{border-bottom:1px solid #e0e0e0}.tab-btn.active{border-left:4px solid #667eea;border-bottom:1px solid #e0e0e0}.customer-stats,.orders-list-mini,.users-list{grid-template-columns:1fr}.user-item{flex-wrap:wrap}.user-actions{width:100%;flex-direction:row}}.revenue-report{background:#fff;border-radius:12px;padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{font-size:1.8rem;color:#333;font-weight:700}.controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.type-select,.date-input{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .3s}.type-select:focus,.date-input:focus{outline:none;border-color:#004039}.revenue-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.summary-card-modern{background:linear-gradient(135deg,#004039,#006b5d);color:#fff;border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;box-shadow:0 4px 12px #00403933;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;min-height:120px;justify-content:center}.summary-card-modern.clickable{cursor:pointer}.summary-card-modern.active{outline:2px solid rgba(255,255,255,.9);outline-offset:-2px}.summary-card-modern:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.summary-card-modern:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0040394d}.summary-card-modern.total{background:linear-gradient(135deg,#004039,#005c4f)}.summary-card-modern.orders{background:linear-gradient(135deg,#2196f3,#1976d2)}.summary-card-modern.qr{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.summary-card-modern.cash{background:linear-gradient(135deg,#ff9800,#f57c00)}.summary-card-modern.food-delivery{background:linear-gradient(135deg,#26a69a,#00897b)}.card-icon{font-size:2rem;opacity:.9;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.card-content{flex:1}.card-content h3{margin:0;font-size:.75rem;font-weight:600;opacity:.95;text-transform:uppercase;letter-spacing:.3px}.amount-large{font-size:1.4rem;font-weight:700;margin:0;line-height:1.2}.sub-text{margin:0;font-size:.7rem;opacity:.85}.orders-list{margin-top:2rem}.orders-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.orders-list h2{font-size:1.4rem;margin-bottom:1.5rem;color:#333;font-weight:700}.clear-filter-btn{background:#004039;color:#fff;border:none;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filter-btn:hover{background:#006b5d}.orders-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.order-card-clickable{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:1rem;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;gap:.75rem}.order-card-clickable:hover{border-color:#004039;box-shadow:0 4px 12px #00403926;transform:translateY(-2px)}.order-card-header{display:flex;justify-content:space-between;align-items:center}.payment-badge{padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.payment-badge.cash{background:#fff3e0;color:#f57c00}.payment-badge.qr{background:#f3e5f5;color:#7b1fa2}.payment-badge.food_delivery{background:#e0f2f1;color:#00897b}.delivery-app-code{font-family:monospace;font-weight:600;color:#004039}.order-card-body{display:flex;flex-direction:column;gap:.5rem}.order-amount-display{font-size:1.5rem;font-weight:700;color:#004039}.order-items-count{color:#666;font-size:.95rem}.order-time-display{color:#999;font-size:.85rem}.order-card-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid #f0f0f0}.view-detail-btn{color:#004039;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.25rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.drink-summary-modal{max-width:560px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-stat-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.25rem;text-align:center}.stat-label{font-size:.8rem;font-weight:600;color:#666}.stat-value{font-size:1.4rem;font-weight:700;color:#004039}.drink-list{margin-top:1rem;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.drink-list-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;justify-content:space-between;align-items:center;background:#f3f7f6;padding:.75rem 1rem;font-weight:700;color:#004039;font-size:.95rem;gap:.5rem}.drink-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid #f0f0f0;gap:.5rem}.drink-row:nth-child(2n){background:#fafafa}.drink-name{font-weight:600;color:#333;text-align:left}.drink-size{font-weight:600;color:#666;text-align:center}.drink-count{font-weight:700;color:#004039;text-align:center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #f0f0f0;background:#f8f9fa;color:#333;border-radius:16px 16px 0 0}.modal-header h2{margin:0;font-size:1.4rem;color:#004039;font-weight:700}.close-btn{background:#e0e0e0;border:none;color:#333;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;font-weight:700}.close-btn:hover{background:#d32f2f;color:#fff;transform:rotate(90deg)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.info-section{background:#f9f9f9;border-radius:12px;padding:1.25rem}.info-section h3{margin:0 0 1rem;font-size:1.1rem;color:#333;font-weight:700;display:flex;align-items:center;gap:.5rem}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item .label{font-size:.85rem;color:#666;font-weight:600}.info-item .value{font-size:1rem;color:#333;font-weight:500}.staff-section{background:#e8f5e9;border-left:4px solid #4caf50}.items-list{display:flex;flex-direction:column;gap:1rem}.item-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.item-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.item-name{font-weight:600;color:#333;font-size:1.05rem}.item-size{font-size:.85rem;color:#666;background:#f0f0f0;padding:.2rem .5rem;border-radius:4px;display:inline-block;width:-moz-fit-content;width:fit-content}.item-toppings{display:flex;flex-wrap:wrap;gap:.5rem}.topping-tag{font-size:.8rem;background:#fff3e0;color:#f57c00;padding:.3rem .6rem;border-radius:12px;font-weight:600}.item-note{font-size:.9rem;color:#666;font-style:italic;background:#f5f5f5;padding:.5rem;border-radius:6px}.item-pricing{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;justify-content:center}.item-quantity{font-size:.9rem;color:#666}.item-price{font-size:1.1rem;font-weight:700;color:#004039}.payment-section{background:#fff8e1;border-left:4px solid #ff9800}.payment-info{display:flex;flex-direction:column;gap:.75rem}.payment-row{display:flex;justify-content:space-between;align-items:center;font-size:1rem}.payment-row.total-row{margin-top:.5rem;padding-top:.75rem;border-top:2px solid #ffecb3;font-size:1.2rem;font-weight:700}.payment-method{padding:.4rem .8rem;border-radius:20px;font-weight:600;font-size:.9rem}.payment-method.cash{background:#fff3e0;color:#f57c00}.payment-method.qr{background:#f3e5f5;color:#7b1fa2}.payment-method.food_delivery{background:#e0f2f1;color:#00897b}.payment-status.paid{color:#4caf50;font-weight:600}.payment-status.pending{color:#ff9800;font-weight:600}.total-amount{color:#004039;font-size:1.5rem}.time-section{background:#e3f2fd;border-left:4px solid #2196f3}.time-info{display:flex;flex-direction:column;gap:.75rem}.time-row{display:flex;justify-content:space-between;font-size:.95rem}.time-row span:first-child{color:#666;font-weight:600}.time-row span:last-child{color:#333}.no-orders{text-align:center;padding:3rem 2rem;color:#999;font-size:1.1rem;background:#f9f9f9;border-radius:12px}.loading{text-align:center;padding:3rem 2rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.page-header h1{font-size:1.4rem}.controls{width:100%}.type-select,.date-input{flex:1;min-width:0;padding:.6rem .75rem;font-size:.9rem}.revenue-report{padding:1rem}.revenue-summary-grid{gap:.5rem;margin-bottom:1rem}.summary-card-modern{padding:.75rem;border-radius:10px;min-height:100px;gap:.4rem}.card-icon{font-size:1.5rem}.card-content h3{font-size:.65rem}.amount-large{font-size:1.1rem}.sub-text{font-size:.65rem}.orders-list h2{font-size:1.1rem;margin-bottom:.75rem}.orders-header{align-items:flex-start}.summary-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.summary-stat-card{padding:.6rem}.drink-name{font-size:.85rem}.stat-label{font-size:.7rem}.stat-value{font-size:1.1rem}.drink-list-header,.drink-row{grid-template-columns:1.5fr .8fr .8fr .9fr;font-size:.85rem;padding:.6rem .75rem}.drink-name,.drink-size,.drink-count{font-size:.85rem}.order-card-clickable{padding:.75rem;gap:.5rem}.order-id{font-size:.95rem}.payment-badge{font-size:.75rem;padding:.3rem .6rem}.order-amount-display{font-size:1.25rem}.info-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;border-radius:12px}.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-body{padding:1rem;gap:1rem}.info-section{padding:1rem}.info-section h3{font-size:1rem}}@media (min-width: 769px) and (max-width: 1023px){.revenue-summary-grid{gap:1rem}.summary-stats{grid-template-columns:repeat(3,1fr)}.summary-card-modern{flex-direction:row;padding:1.25rem;gap:1rem}.card-icon{font-size:2.5rem}.card-content{text-align:left}.card-content h3{font-size:.85rem}.amount-large{font-size:1.75rem}.sub-text{font-size:.75rem}.orders-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1024px){.revenue-summary-grid{gap:1.5rem}.summary-card-modern{flex-direction:row;padding:1.5rem;gap:1.25rem;min-height:140px}.card-icon{font-size:3rem}.card-content{text-align:left}.card-content h3{font-size:.95rem}.amount-large{font-size:2rem}.sub-text{font-size:.8rem}.orders-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1200px){.orders-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.drink-list-header,.drink-row{grid-template-columns:1.5fr .8fr .8fr .9fr;font-size:.8rem;padding:.5rem .6rem}.drink-name,.drink-size,.drink-count{font-size:.8rem}}.order-deletion{padding:1.5rem;max-width:1200px;margin:0 auto}.deletion-header{margin-bottom:2rem;text-align:center}.deletion-header h2{color:#d32f2f;font-size:2rem;margin-bottom:.5rem}.warning-text{color:#f57c00;font-weight:600;background:#fff3e0;padding:.75rem;border-radius:8px;border-left:4px solid #f57c00}.search-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.search-box{display:flex;gap:1rem;margin-bottom:1rem}.search-box input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.search-box input:focus{outline:none;border-color:#004039}.search-box input:disabled{background:#f5f5f5;cursor:not-allowed}.btn-search{padding:.75rem 2rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-search:hover:not(:disabled){background:#003329;transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.btn-search:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-recent{padding:.75rem 1.5rem;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-recent:hover:not(:disabled){background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.btn-recent:disabled{background:#ccc;cursor:not-allowed;transform:none}.recent-orders-list{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;margin-top:1rem;max-height:500px;overflow-y:auto;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.list-header h4{margin:0;color:#333;font-size:1.1rem}.close-list-btn{background:#f44336;color:#fff;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s}.close-list-btn:hover{background:#d32f2f;transform:scale(1.1)}.orders-table{display:flex;flex-direction:column;gap:.5rem}.order-row-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.75rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .3s}.order-row-item:hover{background:#e3f2fd;border-color:#1976d2;transform:translate(5px);box-shadow:0 2px 8px #1976d233}.order-col{display:flex;flex-direction:column;gap:.25rem}.col-label{font-size:.75rem;color:#999;font-weight:600;text-transform:uppercase}.order-code{font-family:Courier New,monospace;font-size:.85rem;color:#1976d2;background:#e3f2fd;padding:.25rem .5rem;border-radius:4px;word-break:break-all}.order-amount{font-weight:700;color:#004039}.message{padding:.75rem 1rem;border-radius:8px;font-weight:500;animation:slideIn .3s ease}.message.success{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50}.message.error{background:#ffebee;color:#c62828;border-left:4px solid #f44336}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.order-detail-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:1.5rem;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.order-header h3{color:#333;font-size:1.5rem}.order-id{font-family:monospace;background:#f5f5f5;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;color:#666}.order-id-display{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.order-short-code{font-size:1.5rem;font-weight:800;color:#004039;background:linear-gradient(135deg,#f6f0bc,#f0e8a8);padding:.5rem 1.5rem;border-radius:8px;border:2px solid #004039;letter-spacing:2px}.order-full-id{font-family:monospace;font-size:.75rem;color:#999;background:#f5f5f5;padding:.25rem .75rem;border-radius:4px}.order-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.info-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9f9f9;border-radius:8px}.info-item .label{font-weight:600;color:#666;min-width:100px}.total-amount{color:#d32f2f;font-weight:700;font-size:1.1rem}.status-badge{padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-pending{background:#fff3e0;color:#f57c00}.status-accepted{background:#e3f2fd;color:#1976d2}.status-preparing{background:#f3e5f5;color:#7b1fa2}.status-completed{background:#e8f5e9;color:#388e3c}.status-cancelled{background:#ffebee;color:#d32f2f}.paid{color:#388e3c;font-weight:600}.unpaid{color:#f57c00;font-weight:600}.delivery-address{background:#e3f2fd;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;gap:.5rem}.delivery-address .label{font-weight:600;color:#1976d2}.order-items{margin-bottom:1.5rem}.order-items h4{color:#333;margin-bottom:1rem;font-size:1.2rem}.items-list{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.item-row{display:flex;align-items:center;padding:1rem;border-bottom:1px solid #f0f0f0;gap:1rem}.item-row:last-child{border-bottom:none}.item-info{flex:1;display:flex;gap:1rem;align-items:center}.item-image{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.item-details{flex:1}.item-name{font-weight:600;color:#333;margin-bottom:.25rem}.item-size{font-size:.85rem;color:#666}.item-toppings{font-size:.85rem;color:#f57c00;margin-top:.25rem}.item-note{font-size:.85rem;color:#999;font-style:italic;margin-top:.25rem}.item-quantity{font-weight:600;color:#666;min-width:40px;text-align:center}.item-price{font-weight:700;color:#004039;min-width:100px;text-align:right}.delete-action{display:flex;justify-content:center;padding-top:1.5rem;border-top:2px solid #f0f0f0}.btn-delete{padding:1rem 3rem;background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #d32f2f4d}.btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#c62828,#b71c1c);transform:translateY(-3px);box-shadow:0 6px 20px #d32f2f66}.btn-delete:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h3{color:#d32f2f;font-size:1.5rem;margin:0}.confirm-warning{font-size:1.1rem;color:#333;margin-bottom:1rem}.confirm-warning strong{color:#d32f2f;font-family:monospace;background:#ffebee;padding:.2rem .5rem;border-radius:4px;font-size:1.2rem;letter-spacing:1px}.order-summary-confirm{background:#f9f9f9;padding:1rem;border-radius:8px;margin:1rem 0;border:1px solid #e0e0e0}.order-summary-confirm p{margin:.5rem 0;color:#666;font-size:.95rem}.order-summary-confirm strong{color:#333}.confirm-note{background:#fff3e0;padding:1rem;border-radius:8px;border-left:4px solid #f57c00;color:#f57c00;font-weight:600}.btn-cancel{padding:.75rem 1.5rem;background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-confirm-delete{padding:.75rem 1.5rem;background:#d32f2f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s}.btn-confirm-delete:hover:not(:disabled){background:#c62828;transform:translateY(-2px);box-shadow:0 4px 12px #d32f2f4d}.btn-confirm-delete:disabled,.btn-cancel:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 768px){.order-deletion{padding:1rem}.deletion-header h2{font-size:1.5rem}.search-box{flex-direction:column}.search-box input{font-size:.9rem}.order-info-grid{grid-template-columns:1fr}.item-row{flex-direction:column;align-items:flex-start}.item-price,.item-quantity{text-align:left}.modal-content{width:95%}.btn-delete{padding:.75rem 2rem;font-size:1rem}.order-row-item{grid-template-columns:1fr;gap:.5rem}.order-code{font-size:.75rem}.recent-orders-list{max-height:400px}.order-short-code{font-size:1.2rem;padding:.4rem 1rem;letter-spacing:1px}.order-id-display{align-items:center}}.reward-management{background:#fff;border-radius:12px;padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:1.5rem;color:#333}.add-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff980066}.filter-tabs{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-tabs button{padding:.75rem 1.5rem;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.filter-tabs button.active{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border-color:transparent}.filter-tabs button:hover{border-color:#ff9800}.rewards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (max-width: 767px){.rewards-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 768px){.rewards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.rewards-grid{grid-template-columns:repeat(3,1fr)}}.reward-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .3s}.reward-card:hover{border-color:#ff9800;box-shadow:0 4px 12px #ff980033;transform:translateY(-2px)}.reward-card.inactive{opacity:.6;filter:grayscale(50%)}.reward-image{position:relative;height:180px;overflow:hidden}.reward-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.inactive-badge{position:absolute;top:10px;right:10px;background:#f44336;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700}.reward-info{padding:1rem}.reward-info h3{margin:0 0 .5rem;color:#333;font-size:1.1rem}.reward-category{font-size:.85rem;color:#666;margin:0 0 .75rem}.reward-points{margin-bottom:.75rem}.points-badge{display:inline-block;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.4rem 1rem;border-radius:20px;font-weight:700;font-size:.95rem}.reward-desc{font-size:.85rem;color:#666;line-height:1.4;margin:.5rem 0 0}.reward-actions{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e0e0e0}.reward-actions button{flex:1;padding:.5rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s}.toggle-btn{background:#2196f3;color:#fff}.toggle-btn:hover{background:#1976d2}.edit-btn{background:#4caf50;color:#fff}.edit-btn:hover{background:#45a049}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover{background:#d32f2f}.modal-content{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 1.5rem;color:#333}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#ff9800}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions button{flex:1;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer}.form-actions button[type=button]{background:#f5f5f5;color:#333}.form-actions button[type=submit]{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.empty-state{text-align:center;padding:3rem;color:#999;grid-column:1 / -1}@media (max-width: 768px){.rewards-grid{grid-template-columns:1fr}.filter-tabs{flex-direction:column}.filter-tabs button{width:100%}.reward-actions{flex-wrap:wrap}.reward-actions button{flex:1 1 45%}}.seasonal-effect{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden;contain:layout style paint}.particle{position:absolute;will-change:transform,opacity;pointer-events:none;opacity:.4;animation-timing-function:linear;animation-iteration-count:infinite;contain:layout style paint;backface-visibility:hidden;transform:translateZ(0);display:flex;align-items:center;justify-content:center;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes fall{0%{transform:translateY(-10vh) translate(0);opacity:.4}to{transform:translateY(110vh) translate(0);opacity:0}}@keyframes float{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:.3}50%{transform:translateY(50vh) translate(20px) rotate(180deg);opacity:.4}to{transform:translateY(110vh) translate(-20px) rotate(360deg);opacity:0}}@keyframes sway{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:.4}25%{transform:translateY(30vh) translate(15px) rotate(90deg);opacity:.5}50%{transform:translateY(60vh) translate(-15px) rotate(180deg);opacity:.45}75%{transform:translateY(80vh) translate(10px) rotate(270deg);opacity:.4}to{transform:translateY(110vh) translate(0) rotate(360deg);opacity:0}}@keyframes spiral{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:.4}25%{transform:translateY(25vh) translate(30px) rotate(360deg);opacity:.5}50%{transform:translateY(50vh) translate(-30px) rotate(720deg);opacity:.45}75%{transform:translateY(75vh) translate(20px) rotate(1080deg);opacity:.4}to{transform:translateY(110vh) translate(0) rotate(1440deg);opacity:0}}.animation-fall{animation-name:fall}.animation-sway{animation-name:sway}.animation-spiral{animation-name:spiral}.particle-tet{filter:drop-shadow(0 0 2px rgba(255,215,0,.6))}.particle-valentine{filter:drop-shadow(0 0 2px rgba(255,105,180,.6))}.particle-spring{filter:drop-shadow(0 0 2px rgba(255,179,217,.5))}.particle-summer{filter:drop-shadow(0 0 2px rgba(255,200,0,.6))}.particle-midautumn{filter:drop-shadow(0 0 3px rgba(255,215,0,.7))}.particle-halloween{filter:drop-shadow(0 0 2px rgba(139,69,19,.6))}.particle-autumn{filter:drop-shadow(0 0 2px rgba(255,165,0,.5))}.particle-noel{filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}@media (max-width: 768px){.particle{opacity:.2}}@media (prefers-reduced-motion: reduce){.particle{animation:none;opacity:0}}.theme-management{padding:1.5rem;max-width:800px;margin:0 auto}.theme-management h2{color:#004039;margin-bottom:2rem;font-size:1.75rem}.theme-management-loading{text-align:center;padding:2rem;color:#666}.theme-preview-section{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.theme-preview-section h3{color:#004039;margin-bottom:1rem;font-size:1.25rem}.preview-container{position:relative;min-height:200px;background:#fff;border-radius:8px;border:2px solid #e0e0e0;overflow:hidden}.preview-content{position:relative;z-index:2;padding:2rem;text-align:center;background:#ffffffe6;margin:1rem;border-radius:8px}.preview-theme-name{font-weight:600;color:#004039;margin-top:.5rem}.theme-settings-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.theme-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;color:#333;cursor:pointer}.theme-select:focus{outline:none;border-color:#004039}.toggle-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toggle-input:checked~.toggle-slider{background:#004039}.message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.save-button{width:100%;padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.save-button:hover:not(:disabled){background:#005a4f}.save-button:disabled{background:#ccc;cursor:not-allowed}.theme-info-section{background:#f8f9fa;border-radius:12px;padding:1.5rem}.theme-info-section h3{color:#004039;margin-bottom:1rem;font-size:1.25rem}.theme-info-section ul{list-style:none;padding:0}.theme-info-section li{padding:.5rem 0;color:#666;border-bottom:1px solid #e0e0e0}.theme-info-section li:last-child{border-bottom:none}.theme-info-section li strong{color:#004039}@media (max-width: 768px){.theme-management{padding:1rem}.preview-container{min-height:150px}.preview-content{padding:1rem}}.shop-status-management{padding:1.5rem;max-width:900px;margin:0 auto}.shop-status-management h2{color:#004039;margin-bottom:2rem;font-size:1.75rem}.shop-status-loading{text-align:center;padding:2rem;color:#666}.status-preview-section{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.status-preview-section h3{color:#004039;margin-bottom:1rem;font-size:1.25rem}.status-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.status-open{background:#d4edda;color:#155724;border:2px solid #c3e6cb}.status-closed{background:#f8d7da;color:#721c24;border:2px solid #f5c6cb}.status-message{color:#666;font-size:.95rem;margin-top:.5rem}.schedule-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.schedule-section h3{color:#004039;margin-bottom:1.5rem;font-size:1.25rem}.schedule-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.schedule-group:last-of-type{border-bottom:none;margin-bottom:1rem}.schedule-day-row{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.schedule-day-row:last-of-type{border-bottom:none;margin-bottom:.5rem}.schedule-group h4{color:#333;margin-bottom:1rem;font-size:1.1rem}.time-inputs{display:flex;gap:1rem;flex-wrap:wrap}.time-input-group{flex:1;min-width:150px}.time-input-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.time-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.time-input:focus{outline:none;border-color:#004039}.emergency-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.emergency-section h3{color:#004039;margin-bottom:1rem;font-size:1.25rem}.toggle-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.toggle-text-label{color:#333;font-weight:500;flex:1}.toggle-label{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-slider{position:relative;width:50px;height:26px;background:#ccc;border-radius:26px;transition:background .3s;display:block}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-input:checked~.toggle-slider{background:#dc3545}.toggle-input:checked~.toggle-slider:before{transform:translate(24px)}.setting-hint{margin-top:.5rem;color:#666;font-size:.9rem;font-style:italic}.closed-periods-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.closed-periods-section h3{color:#004039;margin-bottom:1.5rem;font-size:1.25rem}.periods-list{margin-bottom:1.5rem}.period-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem;border:1px solid #e0e0e0}.period-info{flex:1}.period-dates{font-weight:600;color:#004039;margin-bottom:.25rem}.period-message{color:#666;font-size:.9rem}.delete-period-btn{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s}.delete-period-btn:hover:not(:disabled){background:#c82333}.delete-period-btn:disabled{background:#ccc;cursor:not-allowed}.add-period-btn{width:100%;padding:.75rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.add-period-btn:hover{background:#005a4f}.add-period-form{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:2px solid #e0e0e0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-input,.form-textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#004039}.form-textarea{resize:vertical}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.cancel-button{padding:.75rem 1.5rem;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.cancel-button:hover{background:#5a6268}.save-button{padding:.75rem 1.5rem;background:#004039;color:#fff!important;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.save-button:hover:not(:disabled){background:#005a4f;color:#fff!important}.save-button:disabled{background:#ccc;color:#fff!important;cursor:not-allowed}.message{padding:.75rem 1rem;border-radius:8px;margin-top:1rem;font-weight:500}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.emergency-message-display{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px}.emergency-message-label{font-weight:600;color:#856404;margin-bottom:.5rem;font-size:.9rem}.emergency-message-text{color:#856404;font-size:.95rem;line-height:1.5}.modal-content{background:#fff;border-radius:12px;padding:1.5rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.emergency-modal h3{color:#004039;margin-bottom:1rem;font-size:1.25rem}.modal-hint{color:#666;font-size:.9rem;margin-bottom:1rem;font-style:italic}@media (max-width: 768px){.shop-status-management{padding:1rem}.time-inputs{flex-direction:column}.time-input-group{min-width:100%}.schedule-day-row{margin-bottom:1rem;padding-bottom:1rem}.schedule-day-row h4{font-size:1rem;margin-bottom:.75rem}.period-item{flex-direction:column;align-items:flex-start;gap:.75rem}.delete-period-btn{width:100%}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}.markdown-renderer{line-height:1.6;color:#333}.markdown-renderer h1{font-size:2rem;font-weight:700;color:#004039;margin-top:2rem;margin-bottom:1rem;border-bottom:2px solid #004039;padding-bottom:.5rem}.markdown-renderer h2{font-size:1.5rem;font-weight:600;color:#004039;margin-top:1.5rem;margin-bottom:.75rem}.markdown-renderer h3{font-size:1.25rem;font-weight:600;color:#555;margin-top:1.25rem;margin-bottom:.5rem}.markdown-renderer p{margin-bottom:1rem;line-height:1.8}.markdown-renderer ul,.markdown-renderer ol{margin-bottom:1rem;padding-left:2rem}.markdown-renderer li{margin-bottom:.5rem;line-height:1.6}.markdown-renderer table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}.markdown-renderer th,.markdown-renderer td{border:1px solid #ddd;padding:.75rem;text-align:left}.markdown-renderer th{background-color:#004039;color:#fff;font-weight:600}.markdown-renderer tr:nth-child(2n){background-color:#f8f9fa}.markdown-renderer code{background-color:#f4f4f4;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.markdown-renderer pre{background-color:#f4f4f4;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.markdown-renderer pre code{background-color:transparent;padding:0}.markdown-renderer blockquote{border-left:4px solid #004039;padding-left:1rem;margin:1rem 0;color:#666;font-style:italic}.markdown-renderer strong{font-weight:600;color:#004039}.markdown-renderer em{font-style:italic}.markdown-renderer a{color:#004039;text-decoration:underline}.markdown-renderer a:hover{color:#005a4f}.analysis-history-tab{padding:1rem 0}.history-filters{display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.filter-group select{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;background-color:#fdfdfd;cursor:pointer}.filter-group select:focus{outline:none;border-color:#004039;box-shadow:0 0 0 2px #0040391a}.history-loading{text-align:center;padding:3rem}.history-loading .loading-spinner{border:4px solid rgba(0,64,57,.1);border-left-color:#004039;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.history-empty{text-align:center;padding:3rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.history-empty p{color:#666;font-size:1.1rem}.history-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.history-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:box-shadow .3s ease}.history-card:hover{box-shadow:0 4px 8px #00000026}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.card-badges{display:flex;gap:.5rem}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.badge-type{background:#004039;color:#fff}.badge-period{background:#005a4f;color:#fff}.card-actions{display:flex;gap:.5rem}.btn-view,.btn-delete{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-view{background:#004039;color:#fff}.btn-view:hover{background:#005a4f}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.card-body{padding:1.5rem}.card-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.info-item{display:flex;gap:.5rem}.info-label{font-weight:500;color:#666;min-width:100px}.info-value{color:#333}.card-stats{display:flex;gap:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:#666}.stat-value{font-size:1.25rem;font-weight:600;color:#004039}.history-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.pagination-btn{padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#333;font-size:.9rem;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#004039;color:#fff;border-color:#004039}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#666;font-size:.9rem}.detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto}.detail-modal-content{background:#fff;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000004d}.modal-header h3{margin:0;color:#004039}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.85rem;color:#666;font-weight:500}.meta-value{font-size:1rem;color:#333}.insights-section,.recommendations-section{margin-bottom:2rem}@media (max-width: 768px){.history-filters{flex-direction:column}.card-header{flex-direction:column;align-items:flex-start;gap:1rem}.card-actions{width:100%}.btn-view,.btn-delete{flex:1}.card-stats{flex-direction:column;gap:1rem}.detail-modal-overlay{padding:0}.detail-modal-content{max-height:100vh;border-radius:0}.detail-meta{grid-template-columns:1fr}}.analysis-tab{padding:1.5rem}.analysis-form{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.analysis-form .form-group{margin-bottom:1rem}.analysis-form label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.analysis-form select,.analysis-form input[type=date]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.analysis-form select:focus,.analysis-form input[type=date]:focus{outline:none;border-color:#004039}.analyze-button{width:100%;padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s;margin-top:1rem}.analyze-button:hover:not(:disabled){background:#005a4f}.analyze-button:disabled{background:#ccc;cursor:not-allowed}.analysis-loading{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #004039;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.analysis-result{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000001a}.analysis-result h3{color:#004039;margin-bottom:1.5rem;font-size:1.5rem}.insights-section,.recommendations-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.insights-section h4,.recommendations-section h4{color:#004039;margin-bottom:1rem}.insights-section ul,.recommendations-section ul{list-style:none;padding:0}.insights-section li,.recommendations-section li{padding:.75rem;margin-bottom:.5rem;background:#fff;border-left:4px solid #004039;border-radius:4px}.charts-section{margin-bottom:2rem}.charts-section h4{color:#004039;margin-bottom:1rem}.chart-container{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.chart-title{color:#004039;margin-bottom:.5rem;font-size:1.25rem}.chart-description{color:#666;margin-bottom:1rem;font-size:.95rem}.analysis-content{margin-bottom:2rem}.analysis-content h4{color:#004039;margin-bottom:1rem}.analysis-sub-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.sub-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.sub-tab:hover{color:#004039;background:#0040390d}.sub-tab.active{color:#004039;border-bottom-color:#004039;font-weight:600}@media (max-width: 768px){.analysis-tab,.analysis-form,.analysis-result{padding:1rem}.analysis-sub-tabs{gap:.25rem}.sub-tab{padding:.5rem 1rem;font-size:.9rem}}.product-sales-management{padding:1rem;max-width:1400px;margin:0 auto}.management-header{margin-bottom:1.5rem}.management-header h2{color:#004039;font-size:1.5rem;margin:0}.main-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.main-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s;margin-bottom:-2px}.main-tab:hover{color:#004039}.main-tab.active{color:#004039;border-bottom-color:#004039}.stats-tab-content{padding:1rem 0}.stats-type-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.stats-type-tab{padding:.5rem 1rem;background:#f5f5f5;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s}.stats-type-tab:hover{background:#e0e0e0}.stats-type-tab.active{background:#004039;color:#fff}.period-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.period-selector label{font-weight:600;color:#333}.period-selector select{padding:.5rem 1rem;border:2px solid #004039;border-radius:8px;font-size:.9rem;background:#fff;color:#333;cursor:pointer}.stats-date-pickers{margin-bottom:1rem}.stats-picker-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stats-picker-row label{font-weight:600;color:#333}.stats-picker-row input[type=date],.stats-picker-row input[type=month],.stats-picker-row select{padding:.5rem 1rem;border:2px solid #004039;border-radius:8px;font-size:.9rem;background:#fff;color:#333}.stats-quarter-picker{gap:.75rem}.stats-quarter-picker select{cursor:pointer}.stats-charts-section{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.chart-block{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #00000014}.chart-block-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#004039}.chart-wrapper{width:100%;min-height:280px}.chart-empty{display:flex;align-items:center;justify-content:center;height:280px;color:#888;font-size:.9rem}.stats-table-desktop{display:none;overflow-x:auto}.stats-table-desktop table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.stats-table-desktop thead{background:#004039;color:#fff}.stats-table-desktop th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem}.stats-table-desktop tbody tr{border-bottom:1px solid #e0e0e0;transition:background .2s}.stats-table-desktop tbody tr:hover{background:#f5f5f5}.stats-table-desktop tbody tr:last-child{border-bottom:none}.stats-table-desktop td{padding:1rem;font-size:.9rem}.rank-cell{text-align:center}.rank-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-weight:700;font-size:.85rem}.rank-badge.rank-1{background:gold;color:#333}.rank-badge.rank-2{background:silver;color:#333}.rank-badge.rank-3{background:#cd7f32;color:#fff}.rank-badge:not(.rank-1):not(.rank-2):not(.rank-3){background:#f0f0f0;color:#666}.category-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.category-badge.drink{background:#e3f2fd;color:#1976d2}.category-badge.bread{background:#fff3e0;color:#f57c00}.name-cell{font-weight:600;color:#333}.quantity-cell,.revenue-cell,.orders-cell{text-align:right;font-weight:600;color:#004039}.stats-cards-mobile{display:block}.stat-card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.stat-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.stat-card-body h3{margin:0 0 .75rem;font-size:1rem;color:#333}.stat-card-stats{display:flex;flex-direction:column;gap:.5rem}.stat-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.stat-item:last-child{border-bottom:none}.stat-label{color:#666;font-size:.85rem}.stat-value{font-weight:600;color:#004039;font-size:.9rem}.bestseller-tab-content{padding:1rem 0}.mode-toggle-section{margin-bottom:1.5rem;padding:1rem;background:#f5f5f5;border-radius:8px}.mode-toggle-section label{display:block;font-weight:600;color:#333;margin-bottom:.5rem}.toggle-switch{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;border:2px solid #004039}.toggle-btn{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:6px;font-size:.9rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s}.toggle-btn.active{background:#004039;color:#fff}.info-text{color:#666;font-size:.9rem;margin-bottom:1rem}.auto-mode-display{padding:1rem;background:#f5f5f5;border-radius:8px}.auto-period-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.auto-period-selector label{font-weight:600;color:#333;font-size:.9rem}.auto-period-selector select{padding:.5rem 1rem;border:2px solid #004039;border-radius:8px;font-size:.9rem;background:#fff;color:#333;cursor:pointer}.current-bestsellers{display:flex;flex-direction:column;gap:.75rem}.bestseller-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border-radius:8px}.bestseller-rank{font-weight:700;color:#004039;min-width:30px}.bestseller-item img{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:8px}.manual-mode-display{padding:1rem 0}.product-selectors{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.product-selector{display:flex;flex-direction:column;gap:.5rem}.product-selector label{font-weight:600;color:#333;font-size:.9rem}.selected-product{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f0f7f6;border:2px solid #004039;border-radius:8px}.selected-product img{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:8px}.selected-product span{flex:1;font-weight:600;color:#333}.remove-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-btn:hover{background:#c82333}.product-search-wrapper{position:relative}.product-search-wrapper input{width:100%;padding:.75rem;border:2px solid #004039;border-radius:8px;font-size:.9rem;box-sizing:border-box}.product-search-wrapper input:focus{outline:none;border-color:#006854}.product-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000;margin-top:4px}.product-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.product-dropdown-item:hover{background:#f5f5f5}.product-dropdown-item:last-child{border-bottom:none}.product-dropdown-item img{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:6px}.product-name{font-weight:600;color:#333;font-size:.9rem}.product-category{font-size:.8rem;color:#666}.save-btn{width:100%;padding:1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.save-btn:hover:not(:disabled){background:#006854;transform:scale(1.02)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.loading,.empty-state{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.stats-charts-section{gap:1rem}.chart-block{padding:.75rem}.chart-block-title{font-size:.95rem}.chart-wrapper{min-height:260px}.chart-empty{height:260px}}@media (max-width: 1024px){.chart-wrapper{min-height:300px}.chart-empty{height:300px}}@media (min-width: 768px){.product-sales-management{padding:1.5rem}.stats-cards-mobile{display:none}.stats-table-desktop{display:block}.current-bestsellers,.product-selectors{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 1024px){.current-bestsellers{grid-template-columns:repeat(3,1fr)}.product-selectors{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.product-sales-management{padding:.5rem}.stats-charts-section{gap:.75rem}.chart-block{padding:.5rem}.chart-block-title{font-size:.9rem}.chart-wrapper{min-height:240px}.chart-empty{height:240px}.management-header h2{font-size:1.2rem}.main-tab{padding:.5rem 1rem;font-size:.9rem}.stats-type-tab{padding:.4rem .8rem;font-size:.85rem}.stat-card{padding:.75rem}.stat-card-body h3{font-size:.9rem}.toggle-btn{padding:.5rem .75rem;font-size:.85rem}.bestseller-item{padding:.5rem}.bestseller-item img{width:40px;height:40px}}.qr-payment-management{padding:1.5rem;max-width:560px;margin:0 auto}.qr-payment-management h2{color:#004039;margin-bottom:.5rem;font-size:1.75rem}.qr-payment-intro{color:#555;margin-bottom:2rem;font-size:.95rem}.qr-payment-management-loading{text-align:center;padding:2rem;color:#666}.qr-payment-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.qr-preview-group{margin-bottom:1.5rem}.qr-preview-group>label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.qr-preview-wrapper{width:220px;height:220px;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f9fa;margin-bottom:.75rem}.qr-preview-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.qr-preview-placeholder{color:#999;font-size:.9rem;text-align:center;padding:1rem}.qr-preview-actions{display:flex;gap:.75rem;flex-wrap:wrap}.qr-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.qr-upload-btn{display:inline-block;padding:.6rem 1rem;background:#004039;color:#fff;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .2s}.qr-upload-btn:hover{background:#085a3f}.qr-remove-btn{padding:.6rem 1rem;background:#f0f0f0;color:#666;border:1px solid #ddd;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .2s}.qr-remove-btn:hover{background:#e8e8e8}.qr-hint{margin-top:.5rem;font-size:.85rem;color:#888}.qr-field-group{margin-bottom:1.25rem}.qr-field-group label{display:block;margin-bottom:.4rem;color:#333;font-weight:500}.qr-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;box-sizing:border-box}.qr-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 2px #00403933}.qr-message{padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem}.qr-message.success{background:#e8f5e9;color:#2e7d32}.qr-message.error{background:#ffebee;color:#c62828}.qr-save-btn{width:100%;padding:.9rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.qr-save-btn:hover:not(:disabled){background:#085a3f}.qr-save-btn:disabled{opacity:.6;cursor:not-allowed}.surcharge-management{padding:1.5rem;max-width:560px;margin:0 auto}.surcharge-management h2{color:#004039;margin-bottom:.5rem;font-size:1.75rem}.surcharge-intro{color:#555;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.surcharge-management-loading{text-align:center;padding:2rem;color:#666}.surcharge-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.surcharge-message.success{background:#d4edda;color:#155724}.surcharge-message.error{background:#f8d7da;color:#721c24}.surcharge-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.surcharge-field{margin-bottom:1.25rem}.surcharge-field>label{display:block;margin-bottom:.4rem;color:#333;font-weight:600;font-size:.95rem}.surcharge-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.surcharge-checkbox-label input{width:18px;height:18px}.surcharge-input{width:100%;max-width:100%;padding:.6rem .75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;box-sizing:border-box}.surcharge-input:focus{border-color:#004039;outline:none}.surcharge-row{display:flex;gap:1rem;flex-wrap:wrap}.surcharge-row .surcharge-field{flex:1;min-width:140px}.surcharge-status{margin:1rem 0;padding:.75rem;background:#f8f9fa;border-radius:8px;font-size:.9rem}.surcharge-status-active{color:#004039;font-weight:600;margin:0}.surcharge-status-scheduled{color:#666;margin:0}.surcharge-status-off{color:#999;margin:0}.surcharge-save-btn{width:100%;padding:.75rem 1rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.surcharge-save-btn:hover:not(:disabled){background:#085a3f}.surcharge-save-btn:disabled{opacity:.7;cursor:not-allowed}.shift-management{padding:1.5rem}.shift-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.shift-header h2{font-size:1.5rem;color:#004039;margin:0;padding:1rem 1.5rem;background:linear-gradient(135deg,#004039,#085a3f);color:#fff!important;border-radius:12px;box-shadow:0 4px 12px #0040394d}.date-selector label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333}.date-input{padding:.5rem;border:2px solid #004039;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease}.date-input:focus{border-color:#004039;box-shadow:0 0 0 3px #0040391a}.empty-state{text-align:center;padding:3rem 1rem;color:#666}.shifts-list{display:flex;flex-direction:column;gap:1.5rem}.shift-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.shift-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.shift-card-header>div{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.shift-card-header h3{font-size:1.3rem;color:#004039;margin:0;padding:.75rem 1.25rem;background:linear-gradient(135deg,#004039,#085a3f);color:#fff!important;border-radius:10px;box-shadow:0 3px 10px #00403940}.status-badge{padding:.4rem .8rem;border-radius:8px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.closed{background:#ffe0b2;color:#e65100}.btn-close-shift{padding:.75rem 1.5rem;background:#e65100;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-close-shift:hover{background:#d84315;transform:scale(1.02);box-shadow:0 4px 12px #e6510066}.shift-card-body{display:flex;flex-direction:column;gap:1.5rem}.shift-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-size:.85rem;color:#666}.info-item .value{font-size:1rem;color:#004039;font-weight:600}.attendances-section{border-top:1px solid #e0e0e0;padding-top:1rem}.attendances-section h4{font-size:1.1rem;color:#004039;margin:0 0 1rem}.attendances-list{display:flex;flex-direction:column;gap:.75rem}.attendance-item{background:#f9f9f9;border-radius:8px;padding:1rem;border:1px solid #e0e0e0;border-left:4px solid #E0E0E0;transition:all .3s ease}.attendance-item-active{border-left-color:#4caf50;background:linear-gradient(to right,#4caf500d,#f9f9f9)}.attendance-item-completed{border-left-color:#9e9e9e;background:linear-gradient(to right,#9e9e9e0d,#f9f9f9)}.attendance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.attendance-name{font-weight:600;color:#fff!important}.attendance-status-badge{display:flex;align-items:center}.status-badge-active{background:#4caf50;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge-completed{background:#9e9e9e;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.active-badge{background:#ff9800;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.attendance-cash{margin-top:.5rem;padding:.5rem;background:#fff3e0;color:#e65100;border-radius:6px;font-weight:600;font-size:.9rem}.attendance-name{font-weight:600;color:#fff!important;margin-bottom:.5rem;font-size:1rem}.attendance-time{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#666;margin-bottom:.5rem}.attendance-hours{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#e8f5e9;border-radius:6px}.hours-label{font-size:.85rem;color:#666;font-weight:500}.hours-value{font-size:1rem;font-weight:700;color:#2e7d32}.attendance-total-hours{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#e3f2fd;border-radius:6px;border:2px solid #2196F3}.total-label{font-size:.85rem;color:#666;font-weight:500}.total-value{font-size:1.1rem;font-weight:700;color:#1976d2}.attendance-warning-multiple{margin-top:.5rem;padding:.5rem;background:#fff3e0;color:#f57c00;border-radius:6px;text-align:center;font-weight:600;font-size:.85rem;border:2px solid #FF9800}.attendance-flags{margin-top:.5rem;padding:.5rem;background:#ffebee;border-radius:6px;font-size:.85rem;color:#c62828;font-weight:500;text-align:center}.shift-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-edit{padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-edit:hover:not(:disabled){background:#085a3f;transform:scale(1.02);box-shadow:0 4px 12px #00403966}.btn-edit:disabled,.btn-edit-disabled{background:#e0e0e0;color:#999;cursor:not-allowed;opacity:.6}.btn-edit-disabled:hover{transform:none;box-shadow:none}.edit-disabled-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.edit-warning{font-size:.85rem;color:#ff9800;font-weight:600}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h3{font-size:1.3rem;color:#004039;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#004039}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-body label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:#333}.form-input,.form-textarea{padding:.75rem;border:2px solid #004039;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{border-color:#004039;box-shadow:0 0 0 3px #0040391a}.form-textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-cancel{padding:.75rem 1.5rem;background:#f5f5f5;color:#333;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save{padding:.75rem 1.5rem;background:#004039;color:#fff!important;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover:not(:disabled){background:#085a3f;transform:scale(1.02);box-shadow:0 4px 12px #00403966}.close-shift-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}@media (max-width: 480px){.shift-management{padding:1rem}.shift-header{flex-direction:column;align-items:flex-start}.shift-header h2{font-size:1.3rem}.shift-card{padding:1rem}.shift-card-header{flex-direction:column;align-items:flex-start}.shift-info-grid{grid-template-columns:1fr}.modal-content{max-width:100%;margin:1rem}.modal-header,.modal-body{padding:1rem}}@media (min-width: 768px) and (max-width: 1366px){.shift-management{padding:2rem;max-width:1200px;margin:0 auto}.shift-header h2{font-size:1.75rem}.shift-card{padding:2rem}.shift-info-grid{grid-template-columns:repeat(3,1fr)}}.btn-delete-shift{padding:.75rem 1.5rem;background:linear-gradient(135deg,#f44336,#e53935);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;font-size:1rem}.btn-delete-shift:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#c62828);transform:translateY(-2px);box-shadow:0 6px 20px #f4433666}.btn-delete-shift:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-edit{display:flex;align-items:center;gap:.5rem}.btn-icon{font-size:1.1rem;line-height:1}.modal-content-large{max-width:800px}.modal-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(0,64,57,.1)}.modal-section:last-of-type{border-bottom:none}.section-title{font-size:1.2rem;color:#004039;margin:0 0 1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.section-content{display:flex;flex-direction:column;gap:1rem}.attendance-edit-item{border:2px solid rgba(0,64,57,.1);border-radius:16px;margin-bottom:1rem;overflow:hidden;transition:all .3s ease;background:#fff}.attendance-edit-item.expanded{border-color:#0040394d;box-shadow:0 4px 16px #00000014}.attendance-edit-header{padding:1rem 1.5rem;background:linear-gradient(135deg,#00403908,#00403914);display:flex;justify-content:space-between;align-items:center;gap:1rem}.attendance-edit-name{display:flex;align-items:center;gap:.75rem;font-weight:700;color:#004039;font-size:1.05rem}.employee-icon{font-size:1.5rem}.attendance-edit-actions{display:flex;align-items:center;gap:.75rem}.btn-delete-attendance{background:linear-gradient(135deg,#f44336,#e53935);color:#fff;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1.2rem}.btn-delete-attendance:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#c62828);transform:scale(1.1) rotate(10deg);box-shadow:0 4px 12px #f4433666}.expand-icon{font-size:1.2rem;color:#004039;transition:transform .3s ease;padding:.5rem}.attendance-edit-body{padding:1.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;animation:slideDown .3s ease-out;border-top:2px solid rgba(0,64,57,.1);background:#00403905}.attendance-edit-body label.full-width{grid-column:1 / -1}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@media (max-width: 480px){.modal-content-large{max-width:100%;border-radius:16px 16px 0 0}.attendance-edit-body{grid-template-columns:1fr}.attendance-edit-header{padding:.875rem 1rem}.attendance-edit-name{font-size:.95rem}.employee-icon{font-size:1.25rem}.btn-delete-attendance{width:32px;height:32px;font-size:1rem}.section-title{font-size:1.05rem}.shift-actions{flex-direction:column;gap:.75rem}.btn-delete-shift,.btn-edit{width:100%;justify-content:center}}@media (min-width: 768px) and (max-width: 1366px){.modal-content-large{max-width:900px}.attendance-edit-body{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:2rem}.section-title{font-size:1.4rem}.attendance-edit-name{font-size:1.15rem}}@media (hover: none) and (pointer: coarse){.btn-close-shift,.btn-edit,.btn-delete-shift,.btn-cancel,.btn-save{min-height:44px}.form-input,.form-textarea{min-height:44px;font-size:16px}.btn-delete-attendance{min-width:44px;min-height:44px}}.edit-attendance-modal{max-width:600px}.edit-attendance-modal~.modal-overlay,.modal-overlay:has(.edit-attendance-modal){position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.info-section{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.info-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.info-row:last-child{margin-bottom:0}.info-label{font-weight:600;color:#666;min-width:100px}.info-value{font-weight:600;color:#004039;font-size:1.1rem}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-group label .required{color:#dc3545;margin-left:.25rem}.form-input,.form-textarea{padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;color:#333;font-family:inherit;transition:all .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.form-textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.shift-badge{display:inline-block;padding:.4rem .9rem;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap}.btn-save{padding:.6rem 1.5rem;background:linear-gradient(135deg,#004039,#006855);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.btn-save:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.edit-attendance-modal{max-width:100%;border-radius:24px 24px 0 0;max-height:85vh;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.form-input,.form-textarea{font-size:16px;min-height:48px;padding:.875rem}.form-row{grid-template-columns:1fr}.info-label{min-width:80px;font-size:.9rem}.btn-save{width:100%;padding:.875rem 1rem;font-size:1rem;min-height:48px}}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.info-label{min-width:80px;font-size:.9rem}}.history-modal{max-width:800px;max-height:90vh}.filter-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.filter-label{font-weight:600;color:#004039;margin-bottom:1rem}.filter-buttons{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1.25rem;background:#fff;border:2px solid #ddd;border-radius:20px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#004039;color:#004039}.filter-btn.active{background:linear-gradient(135deg,#004039,#006855);border-color:#004039;color:#fff}.date-range-picker{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.date-input-group{display:flex;align-items:center;gap:.5rem}.date-input-group label{font-weight:500;color:#666;font-size:.9rem}.date-input-small{padding:.4rem .6rem;border:2px solid #ddd;border-radius:6px;font-size:.9rem;color:#333;cursor:pointer;transition:all .2s}.date-input-small:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.arrow{color:#999;font-weight:700}.btn-search{padding:.4rem 1rem;background:linear-gradient(135deg,#004039,#006855);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-search:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.history-loading{text-align:center;padding:3rem 1rem}.spinner-small{border:3px solid #f3f3f3;border-top:3px solid #004039;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.history-empty{text-align:center;padding:3rem 1rem;color:#999}.timeline-container{position:relative;padding-left:2rem}.timeline-container:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#004039,#006855)}.timeline-item{position:relative;margin-bottom:2rem}.timeline-marker{position:absolute;left:-2rem;top:0;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #004039;z-index:1}.timeline-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;transition:all .2s}.timeline-content:hover{box-shadow:0 4px 12px #0000001a;transform:translate(4px)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.timeline-date{font-weight:600;color:#004039;font-size:.9rem}.timeline-admin{color:#666;font-size:.85rem;background:#f0f0f0;padding:.25rem .75rem;border-radius:12px}.timeline-employee{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0;color:#333}.timeline-employee strong{color:#004039;font-size:1.05rem}.shift-badge-small{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:.25rem}.shift-badge-small.shift-morning{background:#fff3cd;color:#856404}.shift-badge-small.shift-evening{background:#cce5ff;color:#004085}.timeline-reason{margin-bottom:.75rem;color:#666;font-size:.9rem;line-height:1.5}.timeline-reason strong{color:#333}.timeline-changes{background:#f8f9fa;padding:1rem;border-radius:6px}.changes-title{font-weight:600;color:#333;margin-bottom:.75rem;font-size:.9rem}.change-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.85rem;flex-wrap:wrap}.change-label{font-weight:600;color:#666;min-width:100px}.change-old{color:#dc3545;text-decoration:line-through;font-family:monospace}.change-arrow{color:#999;font-weight:700}.change-new{color:#28a745;font-weight:600;font-family:monospace}.btn-close-modal{padding:.6rem 2rem;background:#f0f0f0;color:#333;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-close-modal:hover{background:#e0e0e0}@media (max-width: 768px){.history-modal{max-width:100%;border-radius:24px 24px 0 0;max-height:85vh;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.filter-buttons{flex-direction:column}.filter-btn{width:100%;padding:.875rem 1rem;font-size:1rem;min-height:48px}.date-range-picker{flex-direction:column;align-items:stretch}.date-input-group{width:100%}.date-input-small{flex:1;font-size:16px;min-height:48px;padding:.875rem}.btn-search{width:100%;padding:.875rem 1rem;font-size:1rem;min-height:48px}.timeline-header{flex-direction:column;align-items:flex-start}.change-label{min-width:80px;font-size:.8rem}}.employee-attendance-management{padding:2rem;max-width:1400px;margin:0 auto}.eam-header{margin-bottom:2rem}.eam-title{font-size:2rem;color:#004039;font-weight:600;margin:0}.eam-controls{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.eam-date-picker{display:flex;align-items:center;gap:.75rem}.eam-date-picker label{font-weight:500;color:#004039}.date-input{padding:.5rem .75rem;border:2px solid #004039;border-radius:8px;font-size:1rem;color:#004039;background:#fff;cursor:pointer;transition:all .2s}.date-input:hover{border-color:#006855;box-shadow:0 2px 8px #0040391a}.date-input:focus{outline:none;border-color:#006855;box-shadow:0 0 0 3px #0068551a}.date-display{color:#666;font-size:.9rem}.eam-search{flex:1;max-width:400px}.search-input{width:100%;padding:.6rem 1rem;border:2px solid #ddd;border-radius:25px;font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.btn-history{padding:.6rem 1.5rem;background:linear-gradient(135deg,#004039,#006855);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.btn-history:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.eam-loading{text-align:center;padding:4rem 2rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #004039;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.eam-empty{text-align:center;padding:4rem 2rem;color:#999;font-size:1.1rem}.eam-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.shifts-container{display:flex;flex-direction:column;gap:2rem;padding:1.5rem}.shift-group{background:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.shift-group-title{background:linear-gradient(135deg,#004039,#006855);color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.eam-table{width:100%;border-collapse:collapse}.eam-table thead{background:linear-gradient(135deg,#004039,#006855);color:#fff}.eam-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;white-space:nowrap}.eam-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.eam-table tbody tr:hover{background-color:#f8f9fa}.eam-table tbody tr.row-active{background-color:#fff3cd}.eam-table tbody tr.row-active:hover{background-color:#ffe8a1}.eam-table td{padding:1rem;color:#333;font-size:.95rem}.employee-name{font-weight:600;color:#004039}.shift-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.shift-morning{background:#fff3cd;color:#856404}.shift-evening{background:#cce5ff;color:#004085}.status-cell{display:flex;gap:.5rem;flex-wrap:wrap}.flag{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500;white-space:nowrap}.flag-ok{color:#28a745;font-weight:600}.flag-late{background:#f8d7da;color:#721c24}.flag-early{background:#fff3cd;color:#856404}.actions-cell{display:flex;gap:.5rem}.btn-action{padding:.5rem .75rem;border:none;border-radius:6px;font-size:1.1rem;cursor:pointer;transition:all .2s;background:transparent;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-action:hover:not(:disabled){transform:scale(1.1)}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-edit:hover:not(:disabled){background:#e3f2fd}.btn-delete:hover:not(:disabled){background:#ffebee}.modal-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-container.modal-small{max-width:400px}@media (max-width: 768px){.modal-overlay{align-items:flex-end;padding:0;animation:fadeIn .2s ease-out}.modal-container{border-radius:24px 24px 0 0;max-width:100%;max-height:85vh;animation:slideUp .3s ease-out;padding-bottom:max(1rem,env(safe-area-inset-bottom))}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.modal-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:#004039;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;padding:0;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-body p{margin:0 0 1rem;line-height:1.6}.warning-text{color:#856404;background:#fff3cd;padding:.75rem;border-radius:8px;font-weight:500}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.875rem 1.5rem;background:#f0f0f0;color:#333;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-cancel:hover{background:#e0e0e0}.btn-danger{padding:.875rem 1.5rem;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.eam-cards-container{display:none}.attendance-cards{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem}.attendance-card{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #00000014;transition:all .3s}.attendance-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.attendance-card.card-active{border-color:#ffc107;background:#fffbea}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:.5rem}.card-header-left{display:flex;flex-direction:column;gap:.5rem;flex:1}.card-employee-name{margin:0;font-size:1.1rem;font-weight:600;color:#004039}.card-status-flags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.card-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.card-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f8f9fa}.card-info-row:last-child{border-bottom:none}.info-label{font-size:.9rem;color:#666;font-weight:500}.info-value{font-size:.95rem;color:#004039;font-weight:600;text-align:right}.info-value.hours-value{color:#1976d2;font-weight:700}.card-footer{display:flex;gap:.75rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.btn-card-edit,.btn-card-delete{flex:1;padding:.875rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-card-edit{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.btn-card-edit:active:not(:disabled){transform:scale(.98);background:linear-gradient(135deg,#1976d2,#1565c0)}.btn-card-delete{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.btn-card-delete:active:not(:disabled){transform:scale(.98);background:linear-gradient(135deg,#d32f2f,#c62828)}.btn-card-edit:disabled,.btn-card-delete:disabled{opacity:.5;cursor:not-allowed}.shift-group-mobile{margin-bottom:1.5rem}.shift-group-title-mobile{background:linear-gradient(135deg,#004039,#006855);color:#fff;padding:.875rem 1rem;margin:0 0 1rem;font-size:1.1rem;font-weight:600;border-radius:8px;display:flex;align-items:center;gap:.5rem}.shifts-container-mobile{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 1200px){.eam-table{font-size:.9rem}.eam-table th,.eam-table td{padding:.75rem .5rem}}@media (max-width: 768px){.employee-attendance-management{padding:1rem}.eam-title{font-size:1.5rem}.eam-controls{flex-direction:column;align-items:stretch;gap:1rem}.eam-date-picker{flex-direction:column;align-items:stretch;gap:.5rem}.eam-date-picker label{font-size:1rem;font-weight:600}.date-input{width:100%;padding:.875rem;font-size:16px;min-height:48px}.date-display{font-size:.95rem;text-align:center;padding:.5rem;background:#f8f9fa;border-radius:8px}.eam-search{max-width:100%}.search-input{width:100%;padding:.875rem 1rem;font-size:16px;min-height:48px}.btn-history{width:100%;padding:.875rem 1rem;font-size:1rem;min-height:48px}.eam-table-container{display:none}.eam-cards-container{display:block;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.shifts-container-mobile{padding:0}.attendance-cards{padding:1rem}}@media (min-width: 769px){.eam-cards-container{display:none}.eam-table-container{display:block}}@supports (padding: max(0px)){@media (max-width: 768px){.employee-attendance-management{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(1rem,env(safe-area-inset-top))}.modal-container{padding-bottom:max(1rem,env(safe-area-inset-bottom))}}}@media (max-width: 768px){.date-input,.search-input,.form-input,.form-textarea{font-size:16px!important}button{min-height:48px;min-width:48px}.card-info-row{padding:.625rem 0}.info-label,.info-value{font-size:.95rem}}.salary-management{padding:2rem;max-width:1200px;margin:0 auto}.salary-title{font-size:2rem;font-weight:700;color:#004039;margin-bottom:2rem;text-align:center}.salary-form{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0040391a;margin-bottom:2rem}.form-section{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#004039;margin-bottom:.5rem;font-size:1.05rem}.label-icon{font-size:1.2rem}.form-select,.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff}.form-select:focus,.form-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.date-range{display:flex;align-items:center;gap:1rem}.date-input-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.sub-label{font-size:.9rem;color:#666;font-weight:500}.date-separator{font-size:1.5rem;color:#004039;margin-top:1.5rem}.btn-calculate{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#004039,#085a3f);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem}.btn-calculate:hover:not(:disabled){background:linear-gradient(135deg,#085a3f,#004039);transform:translateY(-2px);box-shadow:0 6px 20px #0040394d}.btn-calculate:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-loading{display:flex;align-items:center;gap:.5rem}.btn-icon{font-size:1.2rem}.salary-result{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0040391a;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-title{font-size:1.75rem;font-weight:700;color:#004039!important;margin-bottom:2rem;text-align:center}.summary-card{background:#fff!important;border:none;border-radius:0;padding:0;margin-bottom:1.5rem;box-shadow:none}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-bottom:1px solid #e0e0e0;background:transparent!important;border-radius:0;margin-bottom:0;transition:all .2s ease;box-shadow:none}.summary-row:hover{background:#00403905!important;transform:none;box-shadow:none}.summary-row:last-child{border-bottom:2px solid #004039}.summary-row.total{margin-top:1rem;padding:1.75rem 0;border:none;border-top:3px solid #004039;border-bottom:none;background:transparent!important;border-radius:0;margin-bottom:0;box-shadow:none}.salary-result .summary-label{font-weight:600;color:#004039!important;font-size:1rem}.salary-result .summary-value{font-weight:700;color:#004039!important;font-size:1.1rem}.salary-result .summary-value.highlight{color:#004039!important;font-size:1.3rem;font-weight:800;padding:0;background:transparent!important;border-radius:0;border:none}.salary-result .total-amount{font-size:2.25rem!important;font-weight:900!important;color:#004039!important;text-shadow:none;padding:0;background:transparent!important;border-radius:0;border:none}#salary-label-employee,#salary-label-period,#salary-label-hours,#salary-label-rate,#salary-label-total,#salary-value-employee,#salary-value-period,#salary-value-hours,#salary-value-rate,#salary-value-total{color:#004039!important}.hours-adjustment-text{font-size:.9rem;font-weight:500;color:#666}.salary-hours-adjustment{margin-top:1.25rem;padding:1rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.salary-hours-adjustment .adjustment-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333;margin-bottom:.5rem;font-size:1rem}.salary-hours-adjustment .adjustment-input{margin-bottom:.5rem}.salary-hours-adjustment .adjustment-hint{display:block;font-size:.85rem;color:#666}.result-actions{display:flex;gap:1rem}.btn-detail,.btn-pay{flex:1;padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-detail{background:linear-gradient(135deg,#757575,#616161);color:#fff}.btn-detail:hover{background:linear-gradient(135deg,#616161,#424242);transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-pay{background:linear-gradient(135deg,#e65100,#d84315);color:#fff}.btn-pay:hover{background:linear-gradient(135deg,#d84315,#bf360c);transform:translateY(-2px);box-shadow:0 6px 20px #e6510066}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}.detail-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid rgba(0,64,57,.1);position:sticky;top:0;background:#fff;z-index:10}.modal-header h3{margin:0;font-size:1.5rem;color:#004039}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:#0000000d;color:#004039}.modal-body{padding:1.5rem 2rem}.daily-detail-card{background:#fff;border:2px solid rgba(0,64,57,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease}.daily-detail-card:hover{border-color:#0040394d;box-shadow:0 4px 12px #0040391a}.daily-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid rgba(0,64,57,.1)}.daily-header h4{margin:0;font-size:1.2rem;color:#004039}.daily-date{font-weight:600;color:#666}.daily-summary{margin-bottom:1rem}.daily-hours{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#0040391a,#00403933);border-radius:8px;font-weight:700;color:#004039}.shift-list{list-style:none;padding:0;margin:0}.shift-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#00403908;border-radius:8px;margin-bottom:.5rem}.shift-type{font-weight:600;color:#004039;min-width:100px}.shift-time{flex:1;color:#666}.shift-hours{font-weight:700;color:#e65100}.payment-note-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.payment-note-section label{display:block;font-weight:600;color:#004039;margin-bottom:.5rem}.form-textarea{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s ease}.form-textarea:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-container p{color:#666;font-size:1.1rem}@media (max-width: 768px){.salary-management{padding:1rem}.salary-title{font-size:1.5rem}.salary-form,.salary-result{padding:1.5rem}.date-range{flex-direction:column}.date-separator{transform:rotate(90deg);margin:0}.result-actions{flex-direction:column}.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body{padding:1rem}.shift-item{flex-direction:column;align-items:flex-start;gap:.5rem}.shift-type{min-width:auto}}@media (max-width: 430px){.salary-form,.salary-result,.daily-detail-card{padding:1rem}.btn-calculate,.btn-detail,.btn-pay{font-size:.95rem;padding:.875rem 1.5rem}.summary-value.highlight{font-size:1rem}.total-amount{font-size:1.25rem!important}}.admin-dashboard{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.admin-container{display:flex;flex:1;padding-top:60px}.admin-sidebar{width:250px;background:#fff;border-right:1px solid #e0e0e0;padding:1.5rem;position:fixed;height:calc(100vh - 60px);overflow-y:auto}.admin-sidebar h2{font-size:1.25rem;margin-bottom:1.5rem;color:#333}.admin-nav{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.nav-link{padding:.75rem 1rem;text-decoration:none;color:#666;border-radius:8px;transition:all .3s ease;font-weight:500}.nav-link:hover{background:#f5f5f5;color:#667eea}.nav-link.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-link-danger{border:2px solid #ffebee;background:#ffebee;color:#d32f2f;font-weight:600}.nav-link-danger:hover{background:#d32f2f;color:#fff;border-color:#d32f2f}.nav-link-danger.active{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff;border-color:transparent}.back-home-btn{width:100%;padding:.75rem;background:#f5f5f5;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.back-home-btn:hover{background:#e0e0e0}.admin-main{flex:1;min-width:0;margin-left:250px;padding:1.25rem;background:#f5f5f5;min-height:calc(100vh - 60px);overflow-x:hidden}@media (max-width: 768px){.admin-container{flex-direction:column}.admin-sidebar{width:100%;position:relative;height:auto;border-right:none;border-bottom:1px solid #e0e0e0}.admin-main{margin-left:0;padding:1rem}.admin-nav{flex-direction:row;overflow-x:auto}.nav-link{white-space:nowrap}}.staff-dashboard{min-height:100vh;display:flex;flex-direction:column;padding-bottom:1rem}.staff-main{flex:1;padding:1rem;max-width:100%;margin:0 auto;padding-top:80px}.staff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.staff-header h1{font-size:1.5rem;color:#333}.back-btn{padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.back-btn:hover{background:#085a3f}.loading,.no-orders{text-align:center;padding:3rem 1rem;color:#666}.empty-sticker{width:200px;height:auto;max-width:100%;margin:0 auto 1.5rem;display:block;border-radius:12px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-orders p{font-size:1.1rem;font-weight:500;color:#999;margin-top:1rem}.orders-list{display:flex;flex-direction:column;gap:1rem}.order-card-simple{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 2px 8px #00000014;border:1px solid #f0f0f0;transition:all .3s ease;cursor:pointer}.order-card-simple:hover{box-shadow:0 4px 12px #06402b26;transform:translateY(-2px);border-color:#004039}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #F6F0BC;flex-wrap:wrap;gap:.5rem}.order-info{display:flex;justify-content:space-between;align-items:flex-start;width:100%;flex-wrap:wrap;gap:.5rem}.order-info-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.order-id{font-weight:700;color:#004039;font-size:1.1rem}.order-type-tag{padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.order-type-tag.online{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 2px 6px #2196f340}.order-type-tag.counter{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 6px #ff980040}.order-time{font-size:.85rem;color:#666}.order-id-simple{font-weight:700;color:#004039;font-size:1rem}.order-status-simple{font-weight:600;font-size:.85rem;padding:.3rem .7rem;border-radius:20px;background:#06402b1a}.order-items-summary{margin-bottom:1rem;padding:.75rem;background:#f9f9f9;border-radius:8px;border-left:3px solid #004039}.items-count{margin:0;font-size:.9rem;color:#333;font-weight:600}.order-footer-simple{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #F6F0BC}.order-total-simple{font-weight:700;color:#004039;font-size:1.1rem}.view-detail{font-size:.85rem;color:#004039;font-weight:500}.order-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.order-id{font-weight:600;color:#333;font-size:1.1rem}.order-status{font-weight:600;font-size:.9rem}.order-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.order-item{display:flex;gap:1rem;align-items:center}.order-item img{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:8px}.item-info h4{font-size:1rem;margin:0 0 .25rem;color:#333}.item-info p{font-size:.85rem;color:#666;margin:0}.order-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e0e0e0}.order-total{font-weight:600;color:#004039;font-size:1.1rem}.order-payment-method{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.75rem;border-top:1px solid #e0e0e0}.payment-method-label{font-size:.9rem;color:#666;font-weight:500}.edit-payment-method-btn-small{background:#004039;color:#fff;border:none;border-radius:6px;padding:.4rem .6rem;font-size:.85rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:28px}.edit-payment-method-btn-small:hover{background:#00695c;transform:scale(1.05)}.edit-payment-method-btn-small:active{transform:scale(.95)}.item-toppings{font-size:.8rem;color:#666;margin:.25rem 0}.item-note{font-size:.8rem;color:#004039;font-style:italic;margin:.25rem 0;font-weight:500}.order-actions{display:flex;gap:.5rem}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;color:#fff;transition:all .3s ease}.action-btn.accepted{background:#2196f3}.action-btn.preparing{background:#4caf50}.action-btn.completed{background:#004039}.action-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.date-filter-section{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.date-picker{flex:1;min-width:150px;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:500;color:#333;background:#fff;cursor:pointer;transition:all .3s ease}.date-picker:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.today-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#004039,#005a4f);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #00403933}.today-btn:hover{background:linear-gradient(135deg,#005a4f,#004039);transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.today-btn:active{transform:translateY(0)}@media (max-width: 480px){.date-filter-section{flex-direction:column;align-items:stretch}.date-picker,.today-btn{width:100%}}@media (max-width: 480px){.payment-method-modal{max-width:100%;border-radius:16px 16px 0 0;margin-top:auto;max-height:85vh}.modal-overlay{align-items:flex-end;padding:0}.payment-method-options{gap:.75rem}.payment-option{padding:1rem}}.staff-order-detail-page{min-height:100vh;display:flex;flex-direction:column;background:#f6f0bc;padding-top:60px}.detail-main{flex:1;padding:1rem;max-width:600px;margin:0 auto;width:100%}.back-btn{margin-bottom:1rem;padding:.75rem 1.5rem;background:#fff;border:2px solid #004039;color:#004039;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.back-btn:hover{background:#004039;color:#fff}.order-detail-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #0000001a}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0;flex-wrap:wrap;gap:1rem}.order-header-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.order-header-left h2{margin:0;font-size:1.2rem;color:#004039}.order-status-badge{padding:.5rem 1rem;border-radius:20px;color:#fff;font-weight:600;font-size:.9rem;white-space:nowrap}.order-type-badge{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;white-space:nowrap}.order-type-badge.online{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 2px 8px #2196f34d}.order-type-badge.counter{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 8px #ff98004d}.customer-info-section{background:linear-gradient(135deg,#e3f2fd,#bbdefb);padding:1rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #2196f3}.customer-info-section h3{margin:0 0 .75rem;color:#1976d2;font-size:1.1rem}.customer-details p{margin:.5rem 0;color:#333;font-size:.95rem}.customer-details strong{color:#1976d2;margin-right:.5rem}.order-info{margin-bottom:1.5rem;padding:1rem;background:#f9f9f9;border-radius:8px}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#333;font-weight:600}.payment-method-row{align-items:center}.payment-method-value{display:flex;align-items:center;gap:.75rem}.edit-payment-method-btn{background:#004039;color:#fff;border:none;border-radius:8px;padding:.5rem .75rem;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:36px}.edit-payment-method-btn:hover{background:#00695c;transform:scale(1.05)}.edit-payment-method-btn:active{transform:scale(.95)}.order-items-section{margin-bottom:1.5rem}.order-items-section h3{font-size:1.1rem;color:#333;margin-bottom:1rem}.order-item-detail{display:flex;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:10px;margin-bottom:1rem;border-left:3px solid #004039}.order-item-detail img{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.item-info{flex:1}.item-info h4{font-size:1rem;margin:0 0 .5rem;color:#333;font-weight:600}.item-size{font-size:.9rem;color:#666;margin:.3rem 0}.item-toppings{margin:.5rem 0}.item-toppings strong{font-size:.85rem;color:#666;margin-right:.5rem}.topping-tag{display:inline-block;font-size:.8rem;color:#666;padding:.2rem .5rem;background:#f0f0f0;border-radius:4px;margin:.2rem .3rem}.item-note{font-size:.85rem;color:#004039;font-style:italic;padding:.5rem;background:#f6f0bc;border-radius:6px;border-left:3px solid #004039;margin:.5rem 0;font-weight:500}.item-quantity{font-size:.9rem;color:#666;margin:.3rem 0}.item-price{font-weight:700;color:#004039;font-size:1rem;margin-top:.5rem;background:#f6f0bc;padding:.4rem .8rem;border-radius:8px;display:inline-block}.order-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#f6f0bc,#e8e0a0);border-radius:8px;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.total-amount{font-size:1.4rem;font-weight:700;color:#004039}.print-actions{margin-bottom:1.5rem}.print-dropdown{position:relative;display:inline-block;width:100%}.print-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#004039,#005a4f);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #0040394d}.print-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00403966;background:linear-gradient(135deg,#005a4f,#004039)}.print-btn:active:not(:disabled){transform:translateY(0)}.print-btn:disabled{opacity:.6;cursor:not-allowed}.dropdown-arrow{font-size:.8rem;margin-left:.5rem}.print-menu{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:100;overflow:hidden;animation:slideDown .2s ease}.print-menu button{width:100%;padding:.875rem 1rem;border:none;background:#fff;color:#333;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #f0f0f0}.print-menu button:last-child{border-bottom:none}.print-menu button:hover:not(:disabled){background:#f5f5f5;color:#004039}.print-menu button:active:not(:disabled){background:#e8e8e8}.print-menu button:disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;gap:1rem}.accept-btn,.preparing-btn,.complete-btn{flex:1;padding:1rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;color:#fff}.accept-btn{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 4px 12px #2196f34d}.preparing-btn{background:linear-gradient(135deg,#4caf50,#388e3c);box-shadow:0 4px 12px #4caf504d}.complete-btn{background:linear-gradient(135deg,#004039,#005a4f);box-shadow:0 4px 12px #0040394d}.accept-btn:hover,.preparing-btn:hover,.complete-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.accept-btn:active,.preparing-btn:active,.complete-btn:active{transform:translateY(0)}.order-completed-info{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;border-left:5px solid #4caf50;text-align:center}.completed-message{margin:0 0 .5rem;font-size:1.2rem;font-weight:700;color:#2e7d32}.completed-note{margin:0;font-size:.95rem;color:#555;font-weight:500}.loading{text-align:center;padding:3rem;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.payment-method-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #f0f0f0}.modal-header h3{margin:0;color:#004039;font-size:1.25rem}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:1.5rem}.modal-description{margin:0 0 1.5rem;color:#666;font-size:.95rem;text-align:center}.payment-method-options{display:flex;gap:1rem;flex-direction:column}.payment-option{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;width:100%;text-align:left}.payment-option:hover:not(:disabled){border-color:#004039;background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #00403926}.payment-option.active{border-color:#004039;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);box-shadow:0 4px 12px #00403933}.payment-option:disabled{opacity:.6;cursor:not-allowed}.payment-icon{font-size:2rem;line-height:1}.payment-label{font-size:1.1rem;font-weight:600;color:#333}.payment-option.active .payment-label{color:#004039}@media (max-width: 480px){.order-header{flex-direction:column;align-items:flex-start}.order-type-badge{width:100%;text-align:center}.print-btn{font-size:.95rem;padding:.875rem}.print-menu button{font-size:.9rem;padding:.75rem}.payment-method-modal{max-width:100%;border-radius:16px 16px 0 0;margin-top:auto;max-height:85vh}.modal-overlay{align-items:flex-end;padding:0}.payment-method-options{gap:.75rem}.payment-option{padding:1rem}}.attendance-history-page{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.attendance-history-main{flex:1;padding:1rem;max-width:100%;margin:0 auto;padding-top:80px;padding-bottom:80px}.history-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.history-header h1{font-size:1.5rem;color:#333;margin:0;flex:1}.back-btn{padding:.75rem 1.5rem;background:#004039;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.back-btn:hover{background:#085a3f;transform:translateY(-2px)}.back-btn:active{transform:translateY(0)}.week-selector{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap}.week-nav-btn{padding:.75rem 1rem;background:#f0f0f0;color:#333;border:2px solid #e0e0e0;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;white-space:nowrap;min-width:100px}.week-nav-btn:hover{background:#004039;color:#fff;border-color:#004039}.week-display{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;min-width:200px}.week-range{font-size:1rem;font-weight:600;color:#004039}.current-week-btn{padding:.5rem 1rem;background:#004039;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.current-week-btn:hover{background:#085a3f}.weekly-summary{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-item{flex:1;min-width:150px;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.9rem;color:#666;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#004039}.days-list{display:flex;flex-direction:column;gap:1rem}.day-card{background:#004039;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.day-card.has-attendance{border-left:4px solid #085a3f;background:#004039}.day-card.has-attendance:hover{background:#085a3f;box-shadow:0 4px 12px #00403933}.day-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;gap:1rem}.day-info{display:flex;flex-direction:column;gap:.25rem}.day-name{font-size:1rem;font-weight:600;color:#333}.day-name-white{color:#fff!important}.day-date{font-size:.9rem;color:#666}.day-date-white{color:#fff!important}.day-stats{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.shift-count{padding:.4rem .8rem;background:#004039;color:#fff;border-radius:20px;font-size:.85rem;font-weight:600}.daily-hours{font-size:1.1rem;font-weight:700;color:#004039}.daily-hours-white{color:#fff!important}.no-attendance{font-size:.9rem;color:#999;font-style:italic}.no-attendance-white{color:#fff!important}.expand-icon{font-size:.9rem;color:#004039;transition:transform .3s ease}.expand-icon-white{color:#fff!important}.expand-icon.expanded{transform:rotate(0)}.day-details{padding:0 1rem 1rem;border-top:1px solid #f0f0f0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.attendance-detail{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:8px;border-left:3px solid #004039}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.shift-badge,.hours-badge{padding:.4rem .8rem;background:#004039;color:#fff;border-radius:6px;font-size:.85rem;font-weight:600}.detail-content{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.9rem;color:#666;font-weight:500;min-width:100px}.detail-value{font-size:.9rem;color:#333;font-weight:600;text-align:right;flex:1}.note-row{flex-direction:column;align-items:flex-start}.note-value{text-align:left;font-style:italic;color:#666;margin-top:.25rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem}.loading-container p{color:#666;font-size:1rem}.empty-state{text-align:center;padding:3rem 1rem;color:#999;font-size:1rem}@media (max-width: 480px){.attendance-history-main{padding:1rem .75rem;padding-top:80px}.history-header{flex-direction:column;align-items:flex-start}.history-header h1{font-size:1.25rem}.back-btn{width:100%;text-align:center}.week-selector{flex-direction:column;align-items:stretch}.week-nav-btn,.week-display{width:100%}.weekly-summary{flex-direction:column}.summary-item{width:100%}.day-header{flex-direction:column;align-items:flex-start;gap:.75rem}.day-stats{width:100%;justify-content:space-between}.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}.detail-value{text-align:left}}@media (min-width: 481px) and (max-width: 768px){.attendance-history-main{max-width:600px}}@media (min-width: 769px){.attendance-history-main{max-width:800px}}.attendance-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding-bottom:80px}.attendance-main{padding:1rem;max-width:100%}.attendance-header{background:#fff;padding:1rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a;position:relative}.back-button{position:absolute;top:1rem;left:1rem;background:#f0f0f0;border:none;color:#004039;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;min-width:44px;min-height:44px}.back-button:active{transform:scale(.95);background:#e0e0e0}.header-content{padding-left:3rem}.header-title-group{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.coffee-icon{width:32px;height:32px;stroke:#004039}.attendance-page-title{font-size:1.5rem;margin:0;color:#004039!important;font-weight:700}.live-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#e8f5e9;border-radius:20px;font-size:.85rem}.live-dot{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.live-text{color:#4caf50;font-weight:600}.shift-info-card{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #00000014}.active-shifts-card{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #00000014;border:2px solid #e3f2fd;position:relative}.active-shifts-card.multiple-shifts{border:2px solid #ff9800;background:linear-gradient(135deg,#fff8f0,#fff);box-shadow:0 6px 20px #ff980026,0 0 0 1px #ff98001a;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 6px 20px #ff980026,0 0 0 1px #ff98001a}50%{box-shadow:0 8px 25px #ff980040,0 0 0 2px #ff980033}}.active-shifts-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.warning-icon{font-size:1.25rem;filter:drop-shadow(0 0 2px rgba(255,193,7,.5))}.active-shifts-header h3{margin:0;color:#004039;font-weight:700;font-size:1.05rem;flex:1}.multiple-shifts-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-weight:700;font-size:.8rem;box-shadow:0 2px 8px #ff6b354d;animation:bounce-badge 1.5s ease-in-out infinite}@keyframes bounce-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.active-shifts-subtitle{margin-top:.5rem;color:#666;font-size:.9rem;line-height:1.4;padding:.75rem;background:#f8f9fa;border-left:3px solid #17a2b8;border-radius:8px;font-weight:500}.multiple-shifts .active-shifts-subtitle{color:#d84315;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:3px solid #ff6b35;font-weight:600}.multiple-shifts-warning{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#ffecb3,#fff8e1);border:1px solid #ffcc02;border-radius:8px;color:#e65100;font-size:.85rem;line-height:1.4}.multiple-shifts-warning strong{color:#bf360c}.active-shifts-list{margin-top:.9rem;display:flex;flex-direction:column;gap:.75rem}.active-shift-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem;background:#f9fbfc;border:1px solid rgba(0,0,0,.06);border-radius:12px}.active-shift-info{flex:1;min-width:0}.active-shift-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.active-shift-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:#e8f5e9;color:#2e7d32;font-weight:700;font-size:.82rem}.active-shift-date{color:#666;font-weight:600;font-size:.9rem}.active-shift-time{margin-top:.35rem;color:#004039;font-weight:600;font-size:.95rem}.shift-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.shift-title-wrapper{display:flex;align-items:center;gap:.5rem}.shift-icon{font-size:2rem}.shift-title-wrapper h2{font-size:1.25rem;margin:0;color:#004039;font-weight:600}.status-badge{display:inline-block;padding:.4rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.open{background:#e8f5e9;color:#2e7d32}.status-badge.closed{background:#ffebee;color:#c62828}.shift-time-range{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#004039,#006855);border-radius:12px;color:#fff;font-weight:600}.time-label{opacity:.9;font-size:.9rem}.time-value{font-size:1.1rem}.shift-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item .label{font-size:.85rem;color:#666}.detail-item .value{font-size:1rem;color:#004039;font-weight:600}.checkin-form{margin-top:1.5rem}.checkin-form h3{font-size:1.1rem;margin:0 0 1rem;color:#004039;font-weight:600}.checkin-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.checkin-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:start}.employee-select,.cash-input{padding:.875rem;border:2px solid #ddd;border-radius:12px;font-size:1rem;width:100%;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff}.employee-select{grid-column:1 / 3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23004039' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem}.employee-select:focus,.cash-input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.cash-input{grid-column:1 / 2}.btn-remove{padding:.875rem;background:#ffebee;color:#c62828;border:none;border-radius:12px;font-size:1.2rem;cursor:pointer;transition:all .2s;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-remove:active{transform:scale(.95)}.checkin-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.btn-primary,.btn-secondary{padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#004039,#006855);color:#fff}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#004039;border:2px solid #004039}.btn-secondary:active:not(:disabled){transform:scale(.98);background:#f5f5f5}.btn-large{font-size:1.1rem;padding:1.125rem}.attendances-section{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px #00000014;margin-top:1.5rem}.attendances-section h3{font-size:1.1rem;margin:0 0 1rem;color:#004039;font-weight:600}.attendance-item{padding:1rem;border:2px solid #f0f0f0;border-radius:12px;margin-bottom:.75rem;transition:all .2s;background:#fff}.attendance-item.active{border-color:#ffc107;background:#fffbea}.attendance-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.employee-name-display{font-weight:600;font-size:1.1rem;color:#004039}.status-chip{padding:.3rem .75rem;border-radius:16px;font-size:.8rem;font-weight:600}.status-chip.active{background:#fff3cd;color:#856404}.status-chip.completed{background:#d4edda;color:#155724}.attendance-details{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.9rem;margin-bottom:.75rem}.detail-row{display:flex;flex-direction:column}.detail-label{color:#666;font-size:.8rem;margin-bottom:.25rem}.detail-value{color:#004039;font-weight:600}.detail-value.hours{color:#1976d2}.detail-value.money{color:#2e7d32}.btn-checkout{margin-top:.75rem;padding:.875rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;min-height:48px;transition:all .2s}.btn-checkout:active{transform:scale(.98)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem}.loading-container p{margin-top:1rem;color:#666;font-size:1rem}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state svg{width:80px;height:80px;color:#ddd;margin-bottom:1rem}.empty-state h3{color:#004039;margin:0 0 .5rem;font-size:1.2rem}.empty-state p{color:#999;margin:0;font-size:.95rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal-content,.modal-container{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:85vh;overflow-y:auto;padding:1.5rem;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.modal-title{font-size:1.3rem;margin:0;color:#004039;font-weight:700}.modal-close{font-size:2rem;background:none;border:none;color:#999;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:active{background:#f0f0f0}.modal-body{padding:0}.modal-body label{display:block;margin-bottom:1.25rem}.modal-body label span,.modal-body label>strong{display:block;margin-bottom:.5rem;color:#004039;font-weight:600;font-size:.95rem}.modal-body input,.modal-body textarea{width:100%;padding:.875rem;border:2px solid #ddd;border-radius:12px;font-size:1rem;transition:all .2s;font-family:inherit}.modal-body input:focus,.modal-body textarea:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.modal-body textarea{min-height:100px;resize:vertical}.modal-footer{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:2px solid #f0f0f0}.modal-footer button{flex:1;padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;min-height:48px;transition:all .2s}.modal-footer .btn-cancel{background:#f0f0f0;color:#333}.modal-footer .btn-confirm{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.modal-footer button:active:not(:disabled){transform:scale(.98)}.modal-footer button:disabled{opacity:.6;cursor:not-allowed}.no-shift{text-align:center;padding:2rem 1rem}.no-shift p{color:#666;font-size:1rem;margin-bottom:1.5rem}.employees-list{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px #00000014;margin-top:1.5rem}.employees-list h3{font-size:1.1rem;margin:0 0 1rem;color:#004039;font-weight:600}.employees-grid{display:grid;grid-template-columns:1fr;gap:1rem}.employee-card{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:1rem;transition:all .3s;display:flex;flex-direction:column;gap:.75rem}.employee-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.employee-card-active{border-color:#4caf50;box-shadow:0 2px 8px #4caf5033;background:#f1f8f4}.employee-card-completed{border-color:#e0e0e0;background:#fafafa;opacity:.9}.employee-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.employee-name{font-weight:600;font-size:1.1rem;color:#004039;flex:1}.employee-status-badge{display:flex;align-items:center}.status-badge-active{padding:.4rem .75rem;background:#e8f5e9;color:#2e7d32;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge-completed{padding:.4rem .75rem;background:#e3f2fd;color:#1565c0;border-radius:20px;font-size:.85rem;font-weight:600}.employee-time{display:flex;gap:1rem;font-size:.9rem;color:#666;flex-wrap:wrap}.employee-time span{display:flex;align-items:center;gap:.25rem}.employee-hours{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f5f5f5;border-radius:8px}.hours-label{font-size:.9rem;color:#666}.hours-value{font-size:1rem;font-weight:600;color:#1976d2}.employee-total-hours{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#e3f2fd;border-radius:8px}.total-label{font-size:.9rem;color:#1565c0;font-weight:600}.total-value{font-size:1rem;font-weight:700;color:#1565c0}.employee-warning-multiple{padding:.5rem;background:#fff3cd;color:#856404;border-radius:8px;font-size:.85rem;font-weight:600;text-align:center}.employee-flags{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#666;padding:.5rem;background:#f9f9f9;border-radius:8px}.employee-cash{padding:.75rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px;font-size:.95rem;font-weight:600;color:#2e7d32;text-align:center}.btn-checkout-small{margin-top:.5rem;padding:.875rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;min-height:48px;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-checkout-small:active:not(:disabled){transform:scale(.98)}.btn-checkout-small:disabled{opacity:.6;cursor:not-allowed}.checkout-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:85vh;overflow-y:auto;padding:1.5rem;animation:slideUp .3s ease-out}.checkout-modal h2{font-size:1.3rem;margin:0 0 1.5rem;color:#004039;font-weight:700}.checkout-form{display:flex;flex-direction:column;gap:1.25rem}.checkout-form label{display:flex;flex-direction:column;gap:.5rem}.checkout-form label span{color:#004039;font-weight:600;font-size:.95rem}.checkout-form .required{color:#c62828}.note-textarea{width:100%;padding:.875rem;border:2px solid #ddd;border-radius:12px;font-size:1rem;transition:all .2s;font-family:inherit;resize:vertical;min-height:100px}.note-textarea:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:2px solid #f0f0f0}.modal-actions button{flex:1;padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;min-height:48px;transition:all .2s}.modal-actions .btn-secondary{background:#fff;color:#004039;border:2px solid #004039}.modal-actions .btn-primary{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.modal-actions button:active:not(:disabled){transform:scale(.98)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.shift-info-card[data-shift-type=evening]{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;box-shadow:0 4px 20px #8a2be24d}.shift-info-card[data-shift-type=evening] .shift-title-wrapper h2,.shift-info-card[data-shift-type=evening] .checkin-form h3{color:#fff}.shift-info-card[data-shift-type=evening] .employee-select,.shift-info-card[data-shift-type=evening] .cash-input{background:#ffffff1a;border-color:#8a2be24d;color:#fff}.shift-info-card[data-shift-type=evening] .employee-select:focus,.shift-info-card[data-shift-type=evening] .cash-input:focus{border-color:#8a2be299;box-shadow:0 0 0 3px #8a2be233}.shift-info-card[data-shift-type=evening] .employee-select option{background:#1a1a2e;color:#fff}.shift-info-card[data-shift-type=evening] .btn-secondary{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.shift-info-card[data-shift-type=evening] .btn-primary{background:linear-gradient(135deg,#8a2be2,#6a1b9a);color:#fff}.shift-icon[data-shift-type=evening]{filter:drop-shadow(0 0 10px rgba(138,43,226,.6));animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{filter:drop-shadow(0 0 10px rgba(138,43,226,.6))}50%{filter:drop-shadow(0 0 20px rgba(138,43,226,.9))}}.employees-list[data-shift-type=evening]{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;box-shadow:0 4px 20px #8a2be24d}.employees-list[data-shift-type=evening] h3{color:#fff}.employee-card[data-shift-type=evening]{background:#ffffff0d;border-color:#8a2be24d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.employee-card[data-shift-type=evening]:hover{background:#ffffff14;border-color:#8a2be280;box-shadow:0 4px 12px #8a2be24d}.employee-card-active[data-shift-type=evening]{border-color:#9c27b0;box-shadow:0 2px 8px #9c27b066;background:#9c27b01a}.employee-card-completed[data-shift-type=evening]{border-color:#8a2be233;background:#ffffff08;opacity:.8}.employee-card[data-shift-type=evening] .employee-name{color:#fff}.employee-card[data-shift-type=evening] .employee-time{color:#fffc}.employee-card[data-shift-type=evening] .hours-label,.employee-card[data-shift-type=evening] .total-label{color:#ffffffb3}.employee-card[data-shift-type=evening] .hours-value{color:#64b5f6}.employee-card[data-shift-type=evening] .total-value{color:#90caf9}.employee-card[data-shift-type=evening] .employee-total-hours{background:#64b5f633}.employee-card[data-shift-type=evening] .employee-hours{background:#ffffff0d}.employee-card[data-shift-type=evening] .employee-flags{background:#ffffff0d;color:#ffffffe6}.employee-card[data-shift-type=evening] .employee-cash{background:linear-gradient(135deg,#4caf5033,#81c78433);color:#a5d6a7}.employee-card[data-shift-type=evening] .btn-checkout-small{background:linear-gradient(135deg,#9c27b0,#7b1fa2);box-shadow:0 2px 8px #9c27b066}.employee-card[data-shift-type=evening] .btn-checkout-small:active:not(:disabled){background:linear-gradient(135deg,#7b1fa2,#6a1b9a)}.shift-info-card[data-shift-type=morning]{background:linear-gradient(135deg,#fff9e6,#ffe0b2)}.shift-icon[data-shift-type=morning]{filter:drop-shadow(0 0 8px rgba(255,193,7,.4))}@media (min-width: 768px){.attendance-main{padding:2rem;max-width:768px;margin:0 auto}.attendance-page-title{font-size:2rem}.shift-header{flex-direction:row;justify-content:space-between;align-items:center}.shift-details{grid-template-columns:repeat(4,1fr)}.checkin-item{grid-template-columns:2fr 1.5fr auto}.employee-select{grid-column:1 / 2}.checkin-actions{flex-direction:row}.btn-secondary{flex:1}.btn-primary{flex:2}.attendance-details{grid-template-columns:repeat(4,1fr)}.employees-grid{grid-template-columns:repeat(2,1fr)}.modal-overlay{align-items:center;padding:2rem}.modal-content,.modal-container{border-radius:24px;max-width:600px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.checkout-employees-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.attendance-main{max-width:900px}.attendance-page-title{font-size:2.25rem}.employees-grid{grid-template-columns:repeat(3,1fr)}}@supports (padding: max(0px)){.attendance-main{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(1rem,env(safe-area-inset-top))}.attendance-page{padding-bottom:max(80px,calc(80px + env(safe-area-inset-bottom)))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (orientation: landscape) and (max-height: 500px){.attendance-main{padding-top:.5rem;padding-bottom:.5rem}.attendance-header,.shift-info-card{margin-bottom:1rem}}.checkout-section-standalone{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:1.75rem;margin-bottom:1.5rem;box-shadow:0 6px 20px #0000001a;border:3px solid #4caf50}.checkout-section-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.checkout-section-header h2{margin:0 0 .5rem;color:#004039;font-weight:700;font-size:1.5rem}.checkout-section-subtitle{color:#666;font-size:1rem;margin:0;line-height:1.6}.checkout-employees-grid{display:grid;grid-template-columns:1fr;gap:1rem}.checkout-employee-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border-radius:16px;border:2px solid #e0e0e0;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.checkout-employee-card:hover{border-color:#4caf50;background:linear-gradient(135deg,#f1f8f4,#fff);transform:translateY(-3px);box-shadow:0 8px 20px #4caf5026}.checkout-employee-info{flex:1;min-width:0}.checkout-employee-name{font-size:1.4rem;font-weight:700;color:#004039;margin-bottom:.75rem}.checkout-employee-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.checkout-shift-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-weight:700;font-size:.85rem}.checkout-shift-badge[data-shift=morning]{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.checkout-shift-badge[data-shift=evening]{background:linear-gradient(135deg,#e1bee7,#ce93d8);color:#6a1b9a}.checkout-date{color:#666;font-weight:600;font-size:.9rem;padding:.25rem .5rem;background:#f5f5f5;border-radius:6px}.checkout-time{color:#2196f3;font-weight:600;font-size:.95rem}.checkout-cash{color:#ff9800;font-weight:600;font-size:.95rem;margin-top:.25rem}.checkout-old-warning{margin-top:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:3px solid #ff9800;border-radius:6px;color:#e65100;font-weight:600;font-size:.85rem;line-height:1.4}.btn-checkout-standalone{padding:1.25rem 2.5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:16px;font-size:1.2rem;font-weight:700;cursor:pointer;min-width:140px;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b4d}.btn-checkout-standalone:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #ff6b6b66;background:linear-gradient(135deg,#ee5a6f,#ff6b6b)}.btn-checkout-standalone:active{transform:translateY(0) scale(1);box-shadow:0 2px 8px #ff6b6b4d}.btn-checkout-standalone:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 480px){.employee-card-simple{flex-direction:column;gap:1rem;text-align:center}.employee-info,.btn-checkout-large{width:100%}.employee-name-large{font-size:1.2rem}.checkout-employee-card{flex-direction:column;gap:1rem;text-align:center}.btn-checkout-standalone{width:100%}.checkout-employee-name{font-size:1.2rem}}:root{--coffee-primary: #004039;--coffee-primary-dark: #003029;--coffee-primary-light: #006854;--coffee-accent: #8B7355;--coffee-gold: #D4AF37;--status-open-bg: #E8F5E9;--status-open-text: #2E7D32;--status-closed-bg: #E0E7FF;--status-closed-text: #4338CA;--status-today-bg: #FFF4E6;--status-today-border: #FF9800}.weekly-schedule{padding:1rem;max-width:1400px;margin:0 auto;background:#f5f5f5;min-height:100vh}.weekly-header{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 12px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:1.5rem;flex:1}.header-title-section{display:flex;align-items:center;gap:.75rem}.coffee-icon{font-size:2rem;animation:rotate-slow 10s linear infinite}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.back-btn{padding:.5rem 1rem;background:var(--coffee-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.back-btn:hover{background:var(--coffee-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.back-btn .back-icon{font-size:1.1rem}.weekly-header h2{margin:0;font-size:1.5rem;color:var(--coffee-primary);font-weight:700}.week-navigation{display:flex;align-items:center;gap:1rem}.week-nav-btn{padding:.5rem 1rem;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;color:#666}.week-nav-btn:hover:not(:disabled){background:var(--coffee-primary);color:#fff;border-color:var(--coffee-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00403933}.week-nav-btn.today-btn{background:var(--coffee-accent);color:#fff;border-color:var(--coffee-accent)}.week-nav-btn.today-btn:hover{background:#704535;border-color:#704535}.week-nav-btn:disabled{opacity:.5;cursor:not-allowed}.week-info{font-size:1rem;font-weight:600;color:var(--text-color);padding:.5rem 1rem}.weekly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.weekly-grid .day-column{animation:fadeInUp .5s ease-out backwards}.weekly-grid .day-column:nth-child(1){animation-delay:.05s}.weekly-grid .day-column:nth-child(2){animation-delay:.1s}.weekly-grid .day-column:nth-child(3){animation-delay:.15s}.weekly-grid .day-column:nth-child(4){animation-delay:.2s}.weekly-grid .day-column:nth-child(5){animation-delay:.25s}.weekly-grid .day-column:nth-child(6){animation-delay:.3s}.weekly-grid .day-column:nth-child(7){animation-delay:.35s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1200px){.weekly-grid{grid-template-columns:repeat(7,1fr)}}.day-column{background:#fff;border:2px solid #e0e0e0;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.day-column:hover{box-shadow:0 8px 24px #00403926;transform:translateY(-4px);border-color:var(--coffee-primary-light)}.day-column.today{border-color:var(--status-today-border);box-shadow:0 0 0 3px var(--status-today-bg),0 4px 16px #ff980033;position:relative}.day-column.today:after{content:"⭐ HÔM NAY";position:absolute;top:8px;right:1rem;background:var(--coffee-gold);color:var(--coffee-primary);padding:.25rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;z-index:10;animation:bounce 2s ease-in-out infinite;box-shadow:0 2px 8px #d4af3766}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.day-header{padding:1rem;background:linear-gradient(135deg,var(--coffee-primary) 0%,var(--coffee-primary-light) 100%);color:#fff;text-align:center;position:relative;overflow:hidden}.day-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.day-column.today .day-header{background:linear-gradient(135deg,var(--status-today-border) 0%,#F57C00 100%);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #ff98004d}50%{box-shadow:0 0 20px #ff980099}}.day-header h3{margin:0;font-size:1.1rem;font-weight:700;position:relative;z-index:1;letter-spacing:.5px}.day-header .date{font-size:.9rem;opacity:.95;margin-top:.5rem;position:relative;z-index:1;font-weight:500}.shift-section{padding:1rem;border-bottom:1px solid var(--border-color)}.shift-section:last-child{border-bottom:none}.shift-title{font-size:1rem;font-weight:700;margin:0 0 .75rem;color:var(--coffee-primary);display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.shift-title .icon{font-size:1.3rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.no-shift{text-align:center;padding:2rem 1rem;color:#999;font-size:.85rem;background:#fafafa;border-radius:8px;border:2px dashed #e0e0e0;font-style:italic}.shift-card{background:#f8f9fa;padding:1rem;border-radius:12px;font-size:.85rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.shift-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--coffee-primary);transform:scaleY(0);transition:transform .3s ease}.shift-card:hover{background:#fff;transform:translate(4px);border-color:var(--coffee-primary-light);box-shadow:0 4px 12px #00403926}.shift-card:hover:before{transform:scaleY(1)}.shift-status{display:inline-block;padding:.3rem .75rem;border-radius:16px;font-size:.75rem;font-weight:700;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px;animation:fadeIn .5s ease-out}.shift-status.open{background:var(--status-open-bg);color:var(--status-open-text);border:1px solid var(--status-open-text)}.shift-status.closed{background:var(--status-closed-bg);color:var(--status-closed-text);border:1px solid var(--status-closed-text)}.shift-info-item{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0;font-size:.85rem;padding:.25rem 0}.shift-info-label{color:#666;font-weight:500;display:flex;align-items:center;gap:.5rem}.shift-info-label:before{content:"•";color:var(--coffee-primary);font-weight:700}.shift-info-value{font-weight:700;color:var(--coffee-primary);background:#e8f0ef;padding:.2rem .5rem;border-radius:6px}.employee-count{margin-top:1rem;padding-top:1rem;border-top:2px solid #e0e0e0;animation:fadeIn .8s ease-out}.employee-count-text{font-size:.85rem;color:var(--coffee-primary);font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.employee-count-text:before{content:"👥";font-size:1.1rem}.employee-list{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.4rem}.employee-badge{display:inline-block;padding:.2rem .5rem;background:#e8f0ef;color:var(--coffee-primary);border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #C5E0DB}.employee-badge.active{background:var(--status-open-bg);color:var(--status-open-text);border-color:var(--status-open-text);font-weight:600}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014}.loading-container p{color:var(--coffee-primary);font-size:1.1rem;font-weight:600;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014}.empty-state .empty-illustration{margin-bottom:1.5rem}.empty-state .empty-icon{font-size:5rem;display:inline-block;animation:swing 3s ease-in-out infinite}@keyframes swing{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.empty-state h3{font-size:1.5rem;color:var(--coffee-primary);margin-bottom:.75rem;font-weight:700}.empty-state p{font-size:1rem;color:#666;margin:0}.detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-modal{background:#fff;border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0040394d;border:3px solid var(--coffee-primary);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.detail-modal::-webkit-scrollbar{width:8px}.detail-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.detail-modal::-webkit-scrollbar-thumb{background:var(--coffee-primary);border-radius:10px}.detail-modal::-webkit-scrollbar-thumb:hover{background:var(--coffee-primary-dark)}.detail-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,var(--coffee-primary) 0%,var(--coffee-primary-light) 100%);border-bottom:3px solid var(--coffee-accent);position:sticky;top:0;z-index:10}.detail-modal-header h3{margin:0;font-size:1.3rem;color:#fff;font-weight:700}.modal-close-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);font-size:1.5rem;cursor:pointer;color:#fff;padding:.25rem .5rem;border-radius:8px;transition:all .3s ease;font-weight:700}.modal-close-btn:hover{background:#ffffff4d;border-color:#fff;transform:rotate(90deg)}.detail-modal-body{padding:2rem;background:#fafafa}.detail-modal-body .shift-info-item{background:#fff;padding:.75rem;border-radius:8px;margin:.5rem 0;border-left:4px solid var(--coffee-primary)}@media (min-width: 430px) and (max-width: 767px){.weekly-header{flex-direction:column;align-items:stretch;padding:1rem}.header-left{flex-direction:column;gap:1rem;width:100%}.header-title-section{justify-content:center}.weekly-header h2{font-size:1.3rem}.coffee-icon{font-size:1.5rem}.back-btn{padding:.6rem 1rem;font-size:.9rem;width:100%;justify-content:center}.week-navigation{justify-content:space-between;width:100%;gap:.5rem}.week-nav-btn{flex:1;padding:.6rem .5rem;font-size:.8rem}.weekly-grid{grid-template-columns:1fr;gap:1rem}.shift-card{padding:.75rem}.day-column.today:after{font-size:.65rem;padding:.2rem .5rem;right:.5rem;top:6px}.detail-modal{margin:0;border-radius:20px 20px 0 0;max-height:92vh;border-width:3px 0 0 0}}@media (max-width: 429px){.weekly-schedule{padding:.5rem}.weekly-header{flex-direction:column;align-items:stretch;padding:1rem;border-radius:12px}.header-left{flex-direction:column;gap:.75rem}.header-title-section{justify-content:center}.weekly-header h2{font-size:1.2rem}.coffee-icon{font-size:1.4rem}.back-btn{width:100%;justify-content:center}.week-navigation{flex-direction:column;gap:.5rem}.week-nav-btn{width:100%}.weekly-grid{grid-template-columns:1fr;gap:.75rem}.day-column{border-radius:12px}.shift-card{padding:.75rem}.detail-modal{margin:0;border-radius:0;max-height:100vh;height:100vh;border-width:3px 0 0 0}.detail-modal-header{padding:1rem}.detail-modal-header h3{font-size:1.1rem}.detail-modal-body{padding:1rem}}@media (min-width: 768px) and (max-width: 1024px){.weekly-header{padding:1.25rem}.header-title-section h2{font-size:1.4rem}.coffee-icon{font-size:1.8rem}.weekly-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.day-column{border-radius:14px}.detail-modal{max-width:90%;max-height:85vh;border-radius:18px}.detail-modal-body{padding:1.5rem}.shift-card{padding:1rem}.shift-info-item{font-size:.9rem}}@media (min-width: 1025px) and (max-width: 1199px){.weekly-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.day-column{border-radius:14px}}.detail-modal-section{margin-bottom:1.5rem}.detail-modal-section-title{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:var(--coffee-primary);border-bottom:2px solid var(--coffee-primary-light);padding-bottom:.5rem}.shift-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.attendance-card{background:var(--bg-color);padding:1rem;border-radius:8px;margin-bottom:.75rem;border:1px solid #e5e7eb}.attendance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.attendance-card-name{font-weight:600;font-size:1rem;color:var(--coffee-primary)}.attendance-status-active{color:#166534;font-size:.8rem;background:#dcfce7;padding:.25rem .5rem;border-radius:4px;font-weight:500}.attendance-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.note-item{grid-column:1 / -1;margin-top:.5rem;padding:.75rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px}.note-item .shift-info-label{font-weight:600;color:#92400e}.note-item .shift-info-value{font-style:italic;color:#92400e}@media (min-width: 1200px){.weekly-header{padding:2rem}.header-title-section h2{font-size:1.75rem}.coffee-icon{font-size:2.2rem}.day-column{border-radius:16px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f6f0bc;padding:1rem}.login-container{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.login-title{font-size:1.75rem;font-weight:600;text-align:center;margin-bottom:1rem;color:#333}.register-note{text-align:center;background:#e8f5e9;padding:1rem;border-radius:8px;border:2px solid #4caf50;color:#2e7d32;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{font-weight:500;color:#333;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#004039}.submit-btn{padding:.875rem;background:#004039;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.submit-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #06402b66;background:#085a3f}.switch-mode{text-align:center;margin-top:1.5rem;color:#666}.switch-btn{background:none;border:none;color:#004039;font-weight:600;cursor:pointer;text-decoration:underline}.switch-btn:hover{color:#085a3f}.forgot-password-link{text-align:center;margin-top:1rem}.forgot-password-link .link-btn{background:none;border:none;color:#004039;font-weight:600;cursor:pointer;text-decoration:underline;font-size:.95rem;transition:color .3s ease}.forgot-password-link .link-btn:hover{color:#085a3f}.user-type-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f0f0f0;padding:.25rem;border-radius:8px}.user-type-toggle button{flex:1;padding:.5rem;border:none;background:transparent;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.user-type-toggle button.active{background:#004039;color:#fff}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6f0bc,#e8e0a0);padding:2rem 1rem}.forgot-password-container{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 4px 20px #0000001a}.forgot-password-title{text-align:center;color:#004039;margin-bottom:1.5rem;font-size:1.75rem}.user-type-selector{display:flex;gap:.75rem;margin-bottom:1.5rem}.type-btn{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-weight:600;cursor:pointer;transition:all .3s ease}.type-btn:hover{border-color:#004039;color:#004039}.type-btn.active{background:#004039;color:#fff;border-color:#004039}.forgot-password-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#004039;box-shadow:0 0 0 3px #0040391a}.form-hint{font-size:.85rem;color:#666;margin-top:.25rem}.submit-btn{padding:.875rem;background:linear-gradient(135deg,#004039,#005a4f);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0040394d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.back-btn{flex:1;padding:.875rem;background:#f5f5f5;color:#333;border:2px solid #e0e0e0;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.back-btn:hover:not(:disabled){background:#e8e8e8;border-color:#ccc}.back-btn:disabled{opacity:.6;cursor:not-allowed}.back-to-login{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.link-btn{background:none;border:none;color:#004039;font-weight:600;cursor:pointer;text-decoration:underline;font-size:.95rem;transition:color .3s ease}.link-btn:hover{color:#005a4f}@media (max-width: 480px){.forgot-password-container{padding:1.5rem}.forgot-password-title{font-size:1.5rem}.user-type-selector{flex-direction:column}}.app{width:100%;max-width:100%;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.tw-mb-2{margin-bottom:.5rem}.tw-mb-3{margin-bottom:.75rem}.tw-mb-4{margin-bottom:1rem}.tw-mt-1{margin-top:.25rem}.tw-mt-6{margin-top:1.5rem}.tw-block{display:block}.tw-flex{display:flex}.tw-grid{display:grid}.tw-w-full{width:100%}.tw-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw-items-center{align-items:center}.tw-gap-2{gap:.5rem}.tw-gap-3{gap:.75rem}.tw-rounded-lg{border-radius:.5rem}.tw-rounded-xl{border-radius:.75rem}.tw-border{border-width:1px}.tw-border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.tw-border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.tw-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.tw-bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.tw-from-emerald-50{--tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.tw-to-teal-50{--tw-gradient-to: #f0fdfa var(--tw-gradient-to-position)}.tw-p-3{padding:.75rem}.tw-p-4{padding:1rem}.tw-px-3{padding-left:.75rem;padding-right:.75rem}.tw-py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-py-4{padding-top:1rem;padding-bottom:1rem}.tw-text-center{text-align:center}.tw-text-2xl{font-size:1.5rem;line-height:2rem}.tw-text-lg{font-size:1.125rem;line-height:1.75rem}.tw-text-sm{font-size:.875rem;line-height:1.25rem}.tw-text-xs{font-size:.75rem;line-height:1rem}.tw-font-bold{font-weight:700}.tw-font-medium{font-weight:500}.tw-text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.tw-text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.tw-text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.tw-text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f6f0bc}#root{min-height:100vh;display:flex;flex-direction:column}.focus\:tw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:tw-ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:tw-ring-emerald-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1))}
