*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;min-height:100vh;color:#000}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:80px;transition:margin-left .3s ease}.sidebar{position:fixed;left:0;top:0;height:100vh;background:linear-gradient(180deg,#1a1a2e,#16213e);box-shadow:2px 0 10px #0000001a;z-index:1000;transition:width .3s ease;display:flex;flex-direction:column}.sidebar.collapsed{width:80px}.sidebar.expanded{width:250px}.sidebar-toggle{position:fixed;left:235px;top:20px;width:30px;height:30px;background:linear-gradient(135deg,#87ceeb,#20b2aa);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 2px 8px #0003;transition:left .3s ease,background .3s ease;z-index:1100}.sidebar-toggle:not(.sidebar-open){left:65px}.sidebar-toggle:hover{transform:scale(1.1);box-shadow:0 4px 12px #87ceeb66}.sidebar-content{display:flex;flex-direction:column;height:100%;padding-top:60px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 10px}.sidebar-footer{padding:20px 10px;border-top:1px solid rgba(135,206,235,.2)}.sidebar-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;color:#87ceeb;font-size:1rem;cursor:pointer;border-radius:10px;transition:all .3s ease;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-btn{justify-content:center;padding:12px}.sidebar-btn:hover{background:#87ceeb26;transform:translate(5px)}.sidebar.collapsed .sidebar-btn:hover{transform:translate(0)}.sidebar-btn.sidebar-active{background:linear-gradient(135deg,#87ceeb,#20b2aa);color:#fff;font-weight:600;box-shadow:0 2px 8px #87ceeb4d}.sidebar-icon{font-size:1.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-label{font-weight:500;transition:opacity .3s ease}.sidebar.collapsed .sidebar-label{display:none}.sidebar-logout{color:#ff6b6b}.sidebar-logout:hover{background:#ff6b6b26;color:#ff5252}.sidebar-overlay{display:none}@media (max-width: 768px){.main-content{margin-left:0}.sidebar{width:280px;transition:transform .3s ease}.sidebar.collapsed{transform:translate(-100%);width:280px}.sidebar.expanded{transform:translate(0)}.sidebar-toggle{width:44px;height:44px;font-size:1.3rem;border-radius:12px;left:12px;top:12px}.sidebar-toggle:not(.sidebar-open){left:12px;background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 2px 12px #0006}.sidebar-toggle.sidebar-open{left:232px}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}.sidebar-btn{padding:14px 18px}}.global-navbar,.navbar-container{display:none}.chat-container{max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column;padding:16px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-radius:16px 16px 0 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(135,206,235,.5)}.chat-header h1{color:#000;font-size:1.6rem;font-weight:700;letter-spacing:-.5px}.clear-btn{background:#c0eef8;border:1px solid rgba(135,206,235,.4);color:#000;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.clear-btn:hover{background:#b0e8f5;border-color:#87ceeb99;transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb4d}.messages-container{flex:1;overflow-y:auto;padding:20px;background:#fff;display:flex;flex-direction:column;gap:16px}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#00000080;font-size:1.1rem}.message{max-width:80%;padding:14px 18px;border-radius:16px;animation:fadeIn .3s ease;box-shadow:0 4px 12px #00000026}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:linear-gradient(135deg,#87ceeb,#b0dcdc);color:#000;box-shadow:0 6px 20px #87ceeb4d}.message.assistant{align-self:flex-start;background:linear-gradient(135deg,#ffffffe6,#f5faffd9);color:#000;border:1px solid rgba(135,206,235,.4)}.message-role{font-size:.75rem;opacity:.7;margin-bottom:4px;font-weight:500}.message-content{font-size:1rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message-content.loading{display:flex;gap:4px;padding:4px 0}.dot{width:8px;height:8px;background:#87ceebcc;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-form{display:flex;gap:12px;padding:18px 20px;background:#fff;border-radius:0 0 16px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(135,206,235,.4)}.input-form input{flex:1;padding:14px 18px;border:1px solid rgba(135,206,235,.4);border-radius:12px;background:#fff;color:#000;font-size:1rem;outline:none;transition:all .3s ease}.input-form input::placeholder{color:#0006}.input-form input:focus{background:#fff;border-color:#87ceeb99;box-shadow:0 0 0 3px #87ceeb26}.input-form button{padding:14px 28px;border:none;border-radius:12px;background:#c0eef8;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #87ceeb66}.input-form button:disabled{opacity:.5;cursor:not-allowed}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#87ceeb66;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#87ceeb99}.app-container{min-height:100vh;display:flex;flex-direction:column;padding:20px;background:#fff}.home-page{background:url(/images/bg.png);background-size:cover;background-attachment:fixed;background-position:center}.boardgames-page{background:url(/images/boardgames_bg.png);background-size:cover;background-attachment:fixed;background-position:center}.main-header{text-align:center;padding:20px}.main-header h1{color:#000;font-size:3.2rem;font-weight:800;margin-bottom:12px;letter-spacing:-1.5px;background:linear-gradient(135deg,#87ceeb,#20b2aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.tagline{color:#000;font-size:1.2rem;font-weight:700}.games-section{flex:1;max-width:900px;margin:0 auto;width:100%;padding:0}.tab-controls{display:flex;justify-content:center;gap:12px;margin:10px 0 18px}.tab-btn{padding:10px 18px;border-radius:12px;border:1px solid rgba(135,206,235,.4);background:#ffffffe6;color:#000;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #0000000f}.tab-btn:hover{background:#e9f8fb;border-color:#87ceeb99;transform:translateY(-2px)}.tab-btn.active{background:#c0eef8;border-color:#87ceeb;box-shadow:0 8px 22px #87ceeb59}.games-section h2{color:#000;font-size:1.5rem;margin-bottom:24px;text-align:center}.search-bar-container{margin-bottom:24px;display:flex;justify-content:center;align-items:center;width:100%;position:sticky;top:0;z-index:40;background-color:#f8f9fa;padding:5px 0;box-shadow:0 2px 8px #0000001a;gap:8px}.search-icon{font-size:1.2rem;color:#87ceebb3;flex-shrink:0}.search-bar{width:100%;max-width:400px;padding:12px 16px;font-size:1rem;border:2px solid rgba(135,206,235,.4);border-radius:10px;background-color:#fff;color:#000;transition:border-color .3s ease,box-shadow .3s ease;font-family:inherit}.search-bar:focus{outline:none;border-color:#87ceebcc;box-shadow:0 0 8px #87ceeb4d}.search-bar::placeholder{color:#00000080}.games-grid{display:flex;flex-direction:column;gap:20px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.home-games-grid{display:grid;grid-template-columns:repeat(2,1fr);flex-direction:unset}.home-game-card{background:url(/images/bg.png);background-size:cover;background-position:center;border:1px solid rgba(135,206,235,.4);border-radius:20px;padding:30px 24px;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.home-game-card:hover{background:#f5f5f5;border-color:#87ceeb99;transform:translateY(-4px);box-shadow:0 8px 24px #87ceeb33}.home-game-card h3{color:#000;font-size:1.2rem;font-weight:600;margin:0}.home-game-card p{color:#000000b3;font-size:.85rem;line-height:1.4;margin:0}.explore-btn{background:#87ceeb;color:#000;border:none;padding:10px 24px;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:8px}.explore-btn:hover{background:#6bc4e0;transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb66}.game-card{background:#c0eef8;border:1px solid rgba(135,206,235,.4);border-radius:20px;padding:18px;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:row;align-items:center;gap:16px}.pricing-card{cursor:default;align-items:flex-start;background:linear-gradient(135deg,#e6f8fd,#c0eef8)}.game-card:hover{background:#b0e8f5;border-color:#87ceeb99;transform:translate(8px);box-shadow:0 8px 24px #87ceeb4d}.game-image-wrapper{width:100px;height:100px;border-radius:12px;overflow:hidden;margin-bottom:0;flex-shrink:0}.game-image{width:100%;height:100%;object-fit:cover;object-position:center}.game-content{display:flex;flex-direction:column;gap:8px;flex:1;text-align:left}.pricing-subtitle{color:#000000a6;font-size:.95rem;margin-top:4px;margin-bottom:12px}.pricing-rows{display:flex;flex-direction:column;gap:10px}.pricing-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 12px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(135,206,235,.25);box-shadow:inset 0 1px #fff6}.pricing-label{font-weight:700;color:#000}.pricing-value{font-weight:800;color:#0a5d73}.pricing-note{grid-column:1 / -1;font-size:.85rem;color:#0009;margin-top:4px}.game-card h3{color:#000;font-size:1.2rem;font-weight:600;margin:0}.game-card p{color:#000000b3;font-size:.85rem;line-height:1.4;margin:0}.main-footer{text-align:center;padding:30px 20px;color:#00000080;font-size:.95rem}@media (max-width: 768px){.game-card{flex-direction:column;align-items:center;gap:16px;text-align:center}.game-content{text-align:center}.game-image-wrapper{width:90px;height:90px}.game-card:hover{transform:translateY(-4px)}.home-games-grid{grid-template-columns:1fr}}.back-btn{background:#c0eef8;border:1px solid rgba(135,206,235,.4);color:#000;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.back-btn:hover{background:#b0e8f5;border-color:#87ceeb99;transform:translate(-2px);box-shadow:0 4px 12px #87ceeb4d}.empty-state{flex-direction:column;gap:8px;text-align:center}.empty-state .hint{font-size:.9rem;color:#0006}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:400px;text-align:center}.auth-card h1{color:#000;font-size:2rem;margin-bottom:8px}.auth-tagline{color:#0009;margin-bottom:30px}.auth-tabs{display:flex;gap:0;margin-bottom:24px;background:#f5f5f5;border-radius:12px;padding:4px}.auth-tab{flex:1;padding:12px 20px;border:none;background:transparent;color:#0009;font-size:1rem;cursor:pointer;border-radius:10px;transition:all .2s}.auth-tab.active{background:#c0eef8;color:#000}.auth-tab:hover:not(.active){color:#000}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form input{padding:14px 18px;border:1px solid rgba(135,206,235,.4);border-radius:12px;background:#fff;color:#000;font-size:1rem;outline:none;transition:all .3s ease}.auth-form input::placeholder{color:#0006}.auth-form input:focus{background:#fff;border-color:#87ceeb99;box-shadow:0 0 0 3px #87ceeb26}.auth-error{color:#ff6b6b;font-size:.9rem;margin:0}.forgot-password-link{display:flex;justify-content:flex-end;margin:-8px 0}.forgot-password-btn{background:none;border:none;color:#87ceeb;font-size:.9rem;cursor:pointer;padding:4px 8px;text-decoration:underline;transition:all .2s ease}.forgot-password-btn:hover{color:#5fa9c7;text-decoration:none}.password-field{position:relative;display:flex;align-items:center}.password-field input{flex:1;padding-right:45px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px 8px;opacity:.6;transition:opacity .2s ease}.password-toggle:hover{opacity:1}.auth-submit{padding:14px 28px;border:none;border-radius:12px;background:#c0eef8;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:8px}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #87ceeb66}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.guest-login-divider{display:flex;align-items:center;gap:12px;margin:8px 0;color:#00000080;font-size:.9rem}.guest-login-divider:before,.guest-login-divider:after{content:"";flex:1;height:1px;background:#87ceeb4d}.guest-login-btn{padding:14px 28px;border:1px solid rgba(135,206,235,.4);border-radius:12px;background:#c0eef8;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.guest-login-btn:hover:not(:disabled){background:#b0e8f5;border-color:#87ceeb99;transform:translateY(-2px);box-shadow:0 8px 24px #87ceeb4d}.guest-login-btn:disabled{opacity:.5;cursor:not-allowed}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.welcome-text{color:#000000b3;font-size:.9rem}.logout-btn{position:fixed;bottom:20px;right:20px;background:#c0eef8;border:1px solid rgba(135,206,235,.4);color:#000;padding:10px 18px;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .3s ease,transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:50;opacity:0;transform:translateY(20px);pointer-events:none}.logout-btn--visible{opacity:1;transform:translateY(0);pointer-events:auto}.logout-btn:hover{background:#b0e8f5;border-color:#87ceeb99;transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb4d}.logout-btn--visible:hover{transform:translateY(-2px)}@media (max-width: 768px){.navbar-container{height:auto;min-height:70px;gap:15px;padding:8px 10px}.logo-img{height:70px}.navbar-buttons{gap:10px}.navbar-btn{padding:8px 14px;font-size:.85rem}}.email-verification-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e4e9f2)}.email-verification-card{background:#fff;border-radius:24px;padding:40px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000014;text-align:center}.verification-header{margin-bottom:32px}.verification-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#c0eef8,#87ceeb);border-radius:50%;margin-bottom:24px;color:#fff}.verification-icon svg{width:40px;height:40px}.email-verification-card h2{color:#000;font-size:1.75rem;margin-bottom:12px;font-weight:700}.verification-subtitle{color:#0009;font-size:.95rem;line-height:1.5}.verification-subtitle strong{color:#000}.otp-form{margin-bottom:24px}.otp-form .form-group{margin-bottom:16px}.otp-form input[type=email],.otp-form input[type=password],.otp-form input[type=text]:not(.otp-input){width:100%;padding:14px 18px;border:1px solid rgba(135,206,235,.4);border-radius:12px;background:#fff;color:#000;font-size:1rem;outline:none;transition:all .3s ease;box-sizing:border-box}.otp-form input[type=email]::placeholder,.otp-form input[type=password]::placeholder,.otp-form input[type=text]:not(.otp-input)::placeholder{color:#0006}.otp-form input[type=email]:focus,.otp-form input[type=password]:focus,.otp-form input[type=text]:not(.otp-input):focus{background:#fff;border-color:#87ceeb99;box-shadow:0 0 0 3px #87ceeb26}.otp-inputs{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.otp-input{width:52px;height:60px;text-align:center;font-size:1.5rem;font-weight:700;border:2px solid rgba(135,206,235,.4);border-radius:12px;background:#fff;color:#000;outline:none;transition:all .2s ease;caret-color:#87ceeb}.otp-input:focus{border-color:#87ceeb;box-shadow:0 0 0 4px #87ceeb33}.otp-input.error{border-color:#ff6b6b;animation:shake .4s ease}.otp-input.success{border-color:#4caf50;background:#4caf500d}.otp-input:disabled{background:#f5f5f5;opacity:.6;cursor:not-allowed}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.countdown-timer{font-size:.95rem;color:#0009;margin-bottom:16px;padding:10px 16px;background:#87ceeb1a;border-radius:8px;display:inline-block}.countdown-timer.expired{color:#ff6b6b;background:#ff6b6b1a}.verification-error{color:#ff6b6b;font-size:.9rem;margin-bottom:16px;padding:10px 16px;background:#ff6b6b1a;border-radius:8px}.verification-success{color:#4caf50;font-size:.9rem;margin-bottom:16px;padding:10px 16px;background:#4caf501a;border-radius:8px}.verify-btn{width:100%;padding:16px 28px;border:none;border-radius:12px;background:linear-gradient(135deg,#c0eef8,#87ceeb);color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.verify-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #87ceeb66}.verify-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.resend-section{margin-top:24px;padding-top:24px;border-top:1px solid rgba(135,206,235,.2)}.resend-section p{color:#00000080;font-size:.9rem;margin-bottom:12px}.resend-btn{padding:12px 24px;border:1px solid rgba(135,206,235,.4);border-radius:10px;background:transparent;color:#000;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.resend-btn:hover:not(:disabled){background:#87ceeb1a;border-color:#87ceeb99}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.back-btn{margin-top:20px;padding:10px 20px;border:none;background:transparent;color:#00000080;font-size:.9rem;cursor:pointer;transition:color .2s ease}.back-btn:hover{color:#000}@media (max-width: 480px){.email-verification-card{padding:30px 24px;border-radius:20px}.otp-inputs{gap:6px}.otp-input{width:44px;height:52px;font-size:1.25rem}.verification-icon{width:64px;height:64px}.verification-icon svg{width:32px;height:32px}.email-verification-card h2{font-size:1.5rem}}.chat-expired-banner{background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin:12px;color:#856404;text-align:center}.chat-error-banner{background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:8px;padding:12px 16px;margin:12px;color:#842029;text-align:center}.guest-info-banner{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;padding:12px 16px;margin:12px;color:#0c5460;text-align:center}.guest-info-banner a{color:#0c5460;font-weight:600;text-decoration:underline}.guest-info-banner a:hover{color:#062c33}.chat-expired-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin:16px;text-align:center}.chat-expired-banner p{margin:0;color:#856404;font-weight:500}.chat-error-banner{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:12px 16px;margin:16px;text-align:center}.chat-error-banner p{margin:0;color:#721c24;font-weight:500}.admin-food-page{min-height:100vh;background:#f8f9fa;padding-bottom:40px}.admin-header{max-width:1400px;margin:0 auto;padding:30px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.admin-header h1{font-size:2rem;color:#000;margin:0}.add-food-btn{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #28a74533}.add-food-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.error-banner{max-width:1400px;margin:0 auto 20px;padding:0 20px}.error-banner>div{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;color:#721c24}.error-banner button{background:none;border:none;color:#721c24;font-size:1.2rem;cursor:pointer;padding:0 8px}.add-form-container{max-width:1400px;margin:0 auto 30px;padding:0 20px}.add-form-container h2{font-size:1.5rem;margin-bottom:20px;color:#000}.food-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-weight:600;color:#333;font-size:.9rem}.form-field input[type=text],.form-field input[type=number],.form-field textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-field input[type=text]:focus,.form-field input[type=number]:focus,.form-field textarea:focus{outline:none;border-color:#87ceeb}.form-field textarea{resize:vertical;font-family:inherit}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-field input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.cancel-btn,.submit-btn{padding:10px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268}.submit-btn{background:#28a745;color:#fff}.submit-btn:hover{background:#218838}.menu-list-container{max-width:1400px;margin:0 auto;padding:0 20px}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}.menu-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.menu-table-header{display:grid;grid-template-columns:120px 2fr 120px 150px 100px 120px;gap:12px;padding:16px 20px;background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;color:#333;font-size:.9rem}.menu-table-row{display:grid;grid-template-columns:120px 2fr 120px 150px 100px 120px;gap:12px;padding:20px;border-bottom:1px solid #eee;align-items:start;transition:background .2s ease}.menu-table-row:hover{background:#f8f9fa}.menu-table-row:last-child{border-bottom:none}.col-id{font-family:Courier New,monospace;color:#666;font-size:.85rem;word-break:break-all}.col-name{display:flex;flex-direction:column;gap:6px}.col-name strong{font-size:1rem;color:#000}.item-description{color:#666;font-size:.9rem;line-height:1.4}.item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag{background:#e3f2fd;color:#1976d2;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.col-price{font-weight:600;color:#28a745;font-size:1rem}.col-category{color:#666;font-size:.9rem}.veg-badge,.non-veg-badge{font-size:.85rem;font-weight:500}.veg-badge{color:#28a745}.non-veg-badge{color:#dc3545}.col-actions{display:flex;gap:8px;align-items:center}.edit-btn,.delete-btn,.save-btn,.cancel-edit-btn{background:none;border:1px solid #ddd;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .2s ease}.edit-btn:hover{background:#e3f2fd;border-color:#1976d2}.delete-btn:hover{background:#ffebee;border-color:#dc3545}.save-btn{color:#28a745;border-color:#28a745;font-weight:600}.save-btn:hover{background:#d4edda}.cancel-edit-btn{color:#dc3545;border-color:#dc3545;font-weight:600}.cancel-edit-btn:hover{background:#ffebee}.edit-input{padding:6px 8px;border:1px solid #87ceeb;border-radius:4px;font-size:.9rem;width:100%}.edit-input:focus{outline:none;border-color:#4ca8d4}@media (max-width: 1200px){.menu-table-header,.menu-table-row{grid-template-columns:100px 1.5fr 100px 120px 80px 100px}}@media (max-width: 900px){.menu-table-header,.menu-table-row{grid-template-columns:1fr;gap:8px}.menu-table-header{display:none}.menu-table-row{display:flex;flex-direction:column;padding:16px}.menu-table-row>div{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.menu-table-row>div:before{content:attr(data-label);font-weight:600;color:#666;font-size:.85rem}.col-name{flex-direction:row}.col-actions{justify-content:flex-end}.form-row{grid-template-columns:1fr}}@media (max-width: 600px){.admin-header{flex-direction:column;align-items:stretch}.admin-header h1{font-size:1.5rem}.add-food-btn{width:100%}.food-form{padding:20px}}.food-menu-page{min-height:100vh;background:#fff}.food-menu-header{text-align:center;padding:24px 20px 16px;color:#2c3e50;background:#fff;margin-bottom:16px}.food-menu-header h1{font-size:2rem;margin-bottom:6px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.menu-subtitle{font-size:.95rem;opacity:.95;margin:0;color:#2c3e50}.menu-filters{max-width:1400px;margin:0 auto 16px;padding:0 16px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}.filter-group{display:flex;align-items:center;gap:10px;color:#2c3e50;font-weight:500}.filter-select{padding:8px 16px;border-radius:8px;border:2px solid #87ceeb;background:#fff;font-size:1rem;cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:#20b2aa;background:#f0f8ff}.filter-select:focus{outline:none;border-color:#20b2aa}.checkbox-group{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:8px 14px;border-radius:8px;border:1px solid rgba(135,206,235,.3);background:linear-gradient(to bottom,#fff,#f8fbff);transition:all .3s ease;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #87ceeb1a}.checkbox-label:hover{border-color:#87ceeb80;background:linear-gradient(to bottom,#f8fbff,#e8f4fd);box-shadow:0 4px 12px #87ceeb33}.filter-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#20b2aa}.checkbox-text{font-size:.85rem;font-weight:500;color:#2c3e50}.menu-items-container{max-width:1400px;margin:0 auto;padding:0 16px 40px}.category-sections{display:flex;flex-direction:column;gap:16px}.category-section{background:linear-gradient(to bottom,#fff,#f8fbff);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #87ceeb26;margin-bottom:0}.category-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:linear-gradient(135deg,#e8f4fd,#d4ebf7,#c9e6f5);cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.category-header:hover{background:linear-gradient(135deg,#d4ebf7,#c0e3f3,#b3ddf0);box-shadow:0 2px 10px #87ceeb33}.category-title{font-size:1.25rem;background:linear-gradient(135deg,#20b2aa,#4a9fbd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-weight:700;text-transform:capitalize}.category-toggle{font-size:1rem;color:#20b2aa;font-weight:700;transition:transform .3s ease;opacity:.8}.category-section .menu-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.menu-card{background:linear-gradient(to bottom,#fff,#fafcff);border-radius:10px;padding:16px;box-shadow:0 2px 12px #87ceeb1f;transition:all .3s ease;display:flex;flex-direction:column;gap:8px}.menu-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #87ceeb40}.menu-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.menu-item-name{font-size:1.1rem;color:#2c3e50;margin:0;flex:1;line-height:1.3}.menu-item-badge{flex-shrink:0}.veg-indicator,.non-veg-indicator{font-size:.75rem;font-weight:600;white-space:nowrap}.veg-indicator{color:#28a745}.non-veg-indicator{color:#dc3545}.menu-item-description{color:#6c757d;font-size:.85rem;line-height:1.4;margin:0}.menu-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid rgba(135,206,235,.3)}.menu-item-price{font-size:1.2rem;font-weight:700;color:#28a745}.menu-item-category{background:#e9ecef;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;color:#495057;text-transform:capitalize}.menu-item-tags{display:flex;flex-wrap:wrap;gap:4px}.menu-tag{background:linear-gradient(135deg,#87ceeb,#20b2aa);color:#fff;padding:3px 8px;border-radius:10px;font-size:.7rem;font-weight:500;text-transform:lowercase}.error-message{max-width:1400px;margin:0 auto 20px;padding:12px 20px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;text-align:center}@media (max-width: 768px){.food-menu-header h1{font-size:2rem}.menu-grid{grid-template-columns:1fr;gap:16px}.menu-filters{flex-direction:column;gap:12px}.filter-group{width:100%;justify-content:space-between}.filter-select{flex:1}}.cart-controls{display:flex;align-items:center}.btn-add-to-cart{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #28a7454d}.btn-add-to-cart:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.btn-add-to-cart:active{transform:translateY(0)}.quantity-controls{display:flex;align-items:center;gap:10px;background:#f8f9fa;border-radius:8px;padding:4px 8px;box-shadow:0 2px 8px #0000001a}.btn-quantity{width:28px;height:28px;border:none;border-radius:6px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff}.btn-minus{background:linear-gradient(135deg,#dc3545,#c82333)}.btn-minus:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:scale(1.1)}.btn-plus{background:linear-gradient(135deg,#28a745,#20c997)}.btn-plus:hover{background:linear-gradient(135deg,#218838,#1aa97d);transform:scale(1.1)}.quantity-display{min-width:30px;text-align:center;font-weight:700;font-size:1rem;color:#495057}.order-summary-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 -4px 20px #0000004d;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.order-summary-content{max-width:1400px;margin:0 auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.order-summary-info{display:flex;gap:30px;align-items:center;flex:1}.order-summary-items{color:#87ceeb;font-weight:600;font-size:1.1rem}.order-summary-total{color:#28a745;font-weight:700;font-size:1.3rem}.btn-place-order{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 32px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #28a74566;text-transform:uppercase;letter-spacing:.5px}.btn-place-order:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #28a74580}.btn-place-order:active:not(:disabled){transform:translateY(0)}.btn-place-order:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;padding:30px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-title{margin:0 0 20px;color:#1a1a2e;font-size:1.5rem;text-align:center}.order-items-list{background:#f8f9fa;border-radius:12px;padding:16px;margin-bottom:20px}.order-item-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.order-item-row:last-of-type{border-bottom:2px solid rgba(0,0,0,.2);margin-bottom:10px;padding-bottom:10px}.order-item-info{display:flex;gap:12px;align-items:center;flex:1}.order-item-name{font-weight:600;color:#495057}.order-item-quantity{color:#6c757d;font-size:.9rem}.order-item-price{font-weight:700;color:#28a745}.order-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.order-total-label{font-weight:700;color:#1a1a2e;font-size:1.1rem}.order-total-amount{font-weight:700;color:#28a745;font-size:1.3rem}.modal-message{text-align:center;color:#495057;margin:20px 0;font-size:1rem}.modal-error{margin:16px 0;text-align:center}.modal-buttons{display:flex;gap:12px;justify-content:center}.btn-modal{padding:12px 28px;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;min-width:120px}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-2px)}.btn-confirm{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 4px 12px #28a7454d}.btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #28a74566}.btn-modal:disabled{opacity:.6;cursor:not-allowed}.success-toast{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 6px 20px #28a74566;z-index:3000;font-weight:600;font-size:1rem;animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.order-summary-content{flex-direction:column;gap:12px;padding:12px 16px}.order-summary-info{width:100%;justify-content:space-between}.btn-place-order{width:100%}.modal-content{padding:20px}.modal-buttons{flex-direction:column;width:100%}.btn-modal{width:100%}.success-toast{top:10px;right:10px;left:10px;text-align:center}.quantity-controls{gap:8px;padding:3px 6px}.btn-quantity{width:26px;height:26px;font-size:1rem}.quantity-display{min-width:25px;font-size:.9rem}}.food-menu-page main{padding-bottom:100px}
