@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--brown-900: #1a0f0a;--brown-800: #2c1810;--brown-700: #4a2c2a;--brown-600: #6b3f3c;--brown-500: #8b6f5e;--brown-400: #a8917e;--brown-300: #c9a47a;--brown-200: #dcc8b0;--brown-100: #f0e6da;--brown-50: #f9f5f0;--cream: #fdfbf7;--glass: rgba(255, 255, 255, .55);--glass-border: rgba(255, 255, 255, .3);--shadow-sm: 0 1px 2px rgba(26, 15, 10, .04);--shadow-md: 0 4px 16px rgba(26, 15, 10, .06), 0 1px 3px rgba(26, 15, 10, .04);--shadow-lg: 0 12px 40px rgba(26, 15, 10, .08), 0 4px 12px rgba(26, 15, 10, .04);--shadow-xl: 0 20px 60px rgba(26, 15, 10, .12), 0 8px 20px rgba(26, 15, 10, .06);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--brown-50);color:var(--brown-800);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.app{max-width:960px;margin:0 auto;padding:1.5rem 1.2rem 4rem;position:relative;min-height:100vh}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:float 20s ease-in-out infinite}.orb-1{width:400px;height:400px;background:var(--brown-300);top:-100px;right:-100px;animation-delay:0s}.orb-2{width:300px;height:300px;background:var(--brown-200);bottom:10%;left:-80px;animation-delay:-7s;animation-duration:25s}.orb-3{width:250px;height:250px;background:var(--brown-100);top:50%;right:20%;animation-delay:-14s;animation-duration:30s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(15px,30px) scale(1.02)}}header{position:relative;z-index:10;margin-bottom:2rem}.header-content{display:flex;align-items:center;justify-content:space-between;opacity:0;transform:translateY(-20px);transition:all .8s cubic-bezier(.16,1,.3,1)}.header-content.visible{opacity:1;transform:translateY(0)}.logo-wrap{display:flex;align-items:center;gap:.8rem}.logo-icon{width:48px;height:48px;background:var(--brown-700);color:var(--brown-100);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;animation:pulse-glow 3s ease-in-out infinite}.logo-icon svg{width:28px;height:28px}@keyframes pulse-glow{0%,to{box-shadow:0 0 #4a2c2a33}50%{box-shadow:0 0 20px 4px #4a2c2a26}}header h1{font-size:1.6rem;font-weight:800;color:var(--brown-700);letter-spacing:-.03em;line-height:1.1}.subtitle{color:var(--brown-400);font-size:.85rem;font-weight:500;margin-top:.1rem}.admin-toggle{display:flex;align-items:center;gap:.4rem;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--brown-700);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);white-space:nowrap}.admin-toggle:hover{background:var(--brown-700);color:#fff;border-color:var(--brown-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}main{position:relative;z-index:5}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;color:var(--brown-700)}.section-header h2 svg{color:var(--brown-400)}.selected-indicator{background:var(--brown-700);color:#fff;font-size:.75rem;font-weight:600;padding:.3rem .8rem;border-radius:20px;animation:pop-in .3s cubic-bezier(.34,1.56,.64,1)}.order-count{background:var(--brown-300);color:var(--brown-900);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:20px}@keyframes pop-in{0%{transform:scale(0)}to{transform:scale(1)}}.tables-section{margin-bottom:2rem}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.7rem}.table-card{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);padding:.9rem .5rem;text-align:center;cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:.15rem}.table-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--brown-300)}.table-card.selected{background:var(--brown-700);border-color:var(--brown-700);color:#fff;transform:translateY(-3px) scale(1.03);box-shadow:0 8px 30px #4a2c2a4d}.table-num{font-size:1.3rem;font-weight:800;line-height:1}.table-label{font-size:.65rem;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.menu-section{margin-bottom:2rem}.coffee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.coffee-card{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.3rem;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.coffee-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(201,164,122,.08));opacity:0;transition:opacity .4s}.coffee-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:var(--brown-300)}.coffee-card:hover:before{opacity:1}.coffee-card.selected{background:linear-gradient(135deg,var(--brown-700),var(--brown-600));border-color:var(--brown-600);color:#fff;transform:translateY(-5px) scale(1.02);box-shadow:0 12px 40px #4a2c2a4d}.coffee-card.selected p{color:var(--brown-200)}.coffee-card.selected .price{color:var(--brown-100)}.coffee-icon{font-size:2rem;margin-bottom:.6rem;transition:transform .3s}.coffee-card:hover .coffee-icon{transform:scale(1.15) rotate(-5deg)}.coffee-card h3{font-size:1rem;font-weight:700;margin-bottom:.25rem}.coffee-card p{font-size:.8rem;color:var(--brown-400);margin-bottom:.7rem;line-height:1.4}.coffee-footer{display:flex;align-items:center;justify-content:space-between}.price{font-weight:700;font-size:1.05rem;color:var(--brown-700)}.check-mark{color:#fff;background:#fff3;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;animation:pop-in .3s cubic-bezier(.34,1.56,.64,1)}.order-section{margin-bottom:2rem}.order-card-form{background:linear-gradient(135deg,var(--brown-700),var(--brown-600));border-radius:var(--radius-xl);padding:1.5rem;color:#fff;box-shadow:0 12px 40px #4a2c2a40}.order-summary{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.order-coffee-name{font-size:1.2rem;font-weight:700}.order-table-tag{background:#ffffff26;padding:.2rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600}.order-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.qty-control{display:flex;align-items:center;background:#ffffff1a;border-radius:var(--radius-sm);overflow:hidden}.qty-btn{background:none;border:none;color:#fff;width:38px;height:38px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}.qty-btn:hover{background:#ffffff26}.qty-value{width:40px;text-align:center;font-size:1.1rem;font-weight:700}.order-total{font-size:1.4rem;font-weight:800;flex:1;text-align:center}.order-btn{background:#fff;color:var(--brown-700);border:none;padding:.7rem 2rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);min-width:140px;display:flex;align-items:center;justify-content:center}.order-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.order-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{width:20px;height:20px;border:2.5px solid var(--brown-200);border-top-color:var(--brown-700);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.orders-section{margin-top:2rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--brown-400);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:.8rem}.orders-list{display:flex;flex-direction:column;gap:.5rem}.order-item{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1)}.order-item:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.order-left{display:flex;align-items:center;gap:.7rem}.order-emoji{font-size:1.5rem}.order-left strong{font-weight:700;font-size:.9rem}.order-qty{color:var(--brown-400);font-size:.8rem;margin-left:.3rem}.order-right{display:flex;align-items:center;gap:.8rem}.table-badge{background:var(--brown-700);color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;letter-spacing:.03em}.order-price{font-weight:700;color:var(--brown-700);font-size:.9rem}.order-date{font-size:.7rem;color:var(--brown-400);white-space:nowrap}.admin-login{display:flex;justify-content:center;padding-top:4rem}.login-card{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2.5rem 2rem;text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-xl)}.lock-icon{color:var(--brown-400);margin-bottom:1rem}.login-card h2{font-size:1.4rem;font-weight:800;color:var(--brown-700);margin-bottom:.3rem}.login-hint{color:var(--brown-400);font-size:.85rem;margin-bottom:1.5rem}.login-field{display:flex;gap:.5rem}.login-field input{flex:1;padding:.8rem 1rem;border:1.5px solid var(--brown-200);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;background:#fff9;transition:all .3s;outline:none}.login-field input:focus{border-color:var(--brown-700);box-shadow:0 0 0 3px #4a2c2a1a}.login-field input.shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-btn{background:var(--brown-700);color:#fff;border:none;width:48px;height:48px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0}.login-btn:hover{background:var(--brown-600);transform:translate(2px)}.error-msg{color:#c0392b;font-size:.85rem;margin-top:1rem;font-weight:500}.admin-panel{display:flex;flex-direction:column;gap:2rem}.admin-block{animation:fade-up .5s cubic-bezier(.16,1,.3,1) both}.admin-block:nth-child(2){animation-delay:.1s}.admin-form.glass{display:flex;gap:.6rem;margin-bottom:1rem;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.8rem;flex-wrap:wrap}.admin-form input{flex:1;min-width:100px;padding:.6rem .9rem;border:1.5px solid var(--brown-200);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;background:#fff9;transition:all .3s;outline:none}.admin-form input:focus{border-color:var(--brown-700);box-shadow:0 0 0 3px #4a2c2a14}.btn-add{background:var(--brown-700);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-add:hover{background:var(--brown-600);transform:translateY(-1px)}.admin-list{display:flex;flex-direction:column;gap:.5rem}.admin-item.glass{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;transition:all .3s cubic-bezier(.16,1,.3,1)}.admin-item.glass:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.admin-item input{flex:1;min-width:80px;padding:.5rem .7rem;border:1.5px solid var(--brown-200);border-radius:8px;font-size:.85rem;font-family:inherit;background:#fff9;outline:none;transition:all .3s}.admin-item input:focus{border-color:var(--brown-700)}.item-emoji{font-size:1.3rem}.item-name{font-weight:700;font-size:.9rem;min-width:80px}.item-price{color:var(--brown-700);font-weight:700;font-size:.9rem}.item-desc{color:var(--brown-400);font-size:.8rem;flex:1}.admin-actions{display:flex;gap:.4rem;margin-left:auto}.btn-edit,.btn-save,.btn-cancel,.btn-delete{border:none;padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:600;font-family:inherit;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-edit{background:var(--brown-300);color:var(--brown-900)}.btn-save{background:#27ae60;color:#fff}.btn-cancel{background:var(--brown-200);color:var(--brown-700)}.btn-delete{background:#fee;color:#c0392b}.btn-edit:hover{background:var(--brown-400);color:#fff;transform:translateY(-1px)}.btn-save:hover{background:#219a52;transform:translateY(-1px)}.btn-cancel:hover{background:var(--brown-300);transform:translateY(-1px)}.btn-delete:hover{background:#c0392b;color:#fff;transform:translateY(-1px)}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--brown-700);color:#fff;padding:.8rem 1.8rem;border-radius:var(--radius-xl);font-size:.9rem;font-weight:600;box-shadow:var(--shadow-xl);z-index:1000;white-space:nowrap}.toast.error{background:#c0392b}.skeleton-wrap{display:flex;flex-direction:column;gap:2rem}.skeleton-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.skeleton-card{background:linear-gradient(90deg,var(--brown-100) 25%,var(--brown-50) 50%,var(--brown-100) 75%);background-size:200% 100%;border-radius:var(--radius-md);height:70px;animation:shimmer 1.5s infinite}.skeleton-card.large{height:140px;border-radius:var(--radius-lg)}.skeleton-row:last-child{grid-template-columns:repeat(4,1fr)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-enter-active,.page-leave-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.page-enter-from{opacity:0;transform:translateY(30px) scale(.98)}.page-leave-to{opacity:0;transform:translateY(-20px) scale(.98)}.fade-up-enter-active,.fade-up-leave-active{transition:all .5s cubic-bezier(.16,1,.3,1)}.fade-up-enter-from{opacity:0;transform:translateY(20px)}.fade-up-leave-to{opacity:0;transform:translateY(-10px)}.slide-fade-enter-active{transition:all .5s cubic-bezier(.16,1,.3,1)}.slide-fade-leave-active{transition:all .3s ease}.slide-fade-enter-from{opacity:0;transform:translateY(25px)}.slide-fade-leave-to{opacity:0;transform:translateY(-15px)}.grow-enter-active{transition:all .45s cubic-bezier(.34,1.56,.64,1)}.grow-leave-active{transition:all .3s ease}.grow-enter-from{opacity:0;transform:scale(.9) translateY(20px)}.grow-leave-to{opacity:0;transform:scale(.95) translateY(-10px)}.stagger-enter-active{transition:all .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i, 0) * .04s)}.stagger-leave-active{transition:all .3s ease}.stagger-enter-from{opacity:0;transform:translateY(20px) scale(.95)}.stagger-leave-to{opacity:0;transform:scale(.95)}.list-enter-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.list-leave-active{transition:all .3s ease}.list-enter-from{opacity:0;transform:translate(-20px)}.list-leave-to{opacity:0;transform:translate(20px)}.list-move{transition:transform .4s cubic-bezier(.16,1,.3,1)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.toast-enter-active{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active{transition:all .3s ease}.toast-enter-from{opacity:0;transform:translate(-50%) translateY(30px) scale(.9)}.toast-leave-to{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.app{padding:1rem .8rem 3rem}header h1{font-size:1.3rem}.table-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.coffee-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.order-controls{flex-direction:column;align-items:stretch}.order-total{text-align:left}.order-item{flex-direction:column;align-items:flex-start;gap:.5rem}.order-right{width:100%;justify-content:space-between}.skeleton-row{grid-template-columns:repeat(3,1fr)}.skeleton-row:last-child{grid-template-columns:repeat(2,1fr)}}
