*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #2B5797;--light-blue: #4A7BC8;--dark-blue: #1e3f6f;--cream: #f8f6f0;--warm-white: #fefefe;--text-dark: #2c3e50;--text-muted: #7f8c8d;--border-light: #e1e8ed;--shadow: 0 2px 10px rgba(0, 0, 0, 0.1);--shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.15);--menu-font-color: #f8fafc;--menu-accent-color: #facc15;--menu-background-color: #0f172a;--menu-grid-font-size: 1.05rem;--menu-grid-heading-font-size: 1.1rem;--menu-grid-price-font-size: 1rem;--menu-grid-body-font-size: 0.95rem}body{font-family:'Source Sans Pro', sans-serif;line-height:1.6;color:var(--text-dark);background:linear-gradient(135deg, #f5f7fa 0%, #e8f4fd 50%, #f0f8ff 100%);min-height:100vh;margin:0;padding:0}body.public-menu{color:#0f172a}body.public-menu .restaurant-nav{color:#f8fafc;padding:1.25rem 0;position:sticky;top:0;z-index:30;background:rgba(15,23,42,0.45);backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(15,23,42,0.35);border-bottom:1px solid rgba(248,250,252,0.12)}body.public-menu .restaurant-nav .nav-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}body.public-menu .restaurant-nav h1{font-size:clamp(1.5rem, 4vw, 2.4rem);font-weight:700;color:#f8fafc;margin:0}body.public-menu .restaurant-nav .nav-actions{display:flex;gap:0.75rem;align-items:center}body.public-menu .restaurant-nav .admin-link{background:rgba(248,250,252,0.12);color:#f8fafc;padding:0.55rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:0.92rem;transition:transform 0.2s ease, box-shadow 0.2s ease}body.public-menu .restaurant-nav .admin-link:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,0.35)}body.public-menu .restaurant-container{width:100%;max-width:none;margin:0;padding:0;position:relative;background:transparent;border:none;box-shadow:none;border-radius:0}body.public-menu .restaurant-container>main{width:100%;margin:0;padding:0}body.public-menu .restaurant-header{display:none}.public-menu--classic .restaurant-container{max-width:1380px;margin:2.5rem auto 3.5rem;padding:0 2.5rem}.public-menu--classic .restaurant-container>main{padding:0}.logo-container{display:flex;justify-content:center;align-items:center}.logo-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem}.restaurant-logo{max-width:100%;height:auto;filter:drop-shadow(2px 2px 4px rgba(0,0,0,0.1));margin-bottom:0.5rem}.tagline{font-size:1.5rem;color:var(--text-muted);font-style:italic;margin-bottom:1rem;font-family:'Source Sans Pro', sans-serif}.logo-placeholder h1{font-family:'Playfair Display', serif;font-size:4.5rem;color:var(--primary-blue);margin-bottom:0.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,0.1)}.logo-placeholder .tagline{font-size:1.5rem;color:var(--text-muted);font-style:italic;margin-bottom:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.public-menu--showcase .showcase-layout{display:grid;grid-template-columns:minmax(280px, 320px) 1fr;background:linear-gradient(90deg, rgba(102,122,59,0.95) 0%, rgba(24,28,36,0.98) 45%, rgba(12,15,22,0.98) 100%);border-radius:36px;overflow:hidden;border:1px solid rgba(255,255,255,0.08);box-shadow:0 45px 80px rgba(10,15,25,0.45);position:relative}.public-menu--showcase .showcase-layout::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 55%),radial-gradient(circle at 80% 10%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23ffffff' stop-opacity='0.15'/%3E%3Cstop offset='100%25' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 300 C120 280 160 320 280 300 C360 290 380 310 400 300 L400 400 L0 400 Z' fill='url(/%23g)'/%3E%3C/svg%3E") repeat;opacity:0.25}.public-menu--showcase .showcase-layout__branding{position:relative;z-index:1;background:linear-gradient(180deg, #8ba046 0%, #627433 100%);padding:2.6rem 2.2rem 2.4rem;color:#fff;display:flex;flex-direction:column;gap:2rem;justify-content:flex-start;align-items:flex-start}.public-menu--showcase .showcase-brand-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.public-menu--showcase .showcase-brand-card__logo{width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,0.25);display:grid;place-items:center;overflow:hidden;box-shadow:0 18px 32px rgba(0,0,0,0.28);border:3px solid rgba(255,255,255,0.25)}.public-menu--showcase .showcase-brand-card__logo-image{width:100%;height:100%;object-fit:cover}.public-menu--showcase .showcase-brand-card__logo--placeholder span{font-family:'Playfair Display', serif;font-size:3rem;letter-spacing:0.1em}.public-menu--showcase .showcase-brand-card__heading{display:flex;flex-direction:column;gap:0.35rem}.public-menu--showcase .showcase-brand-card__eyebrow{text-transform:uppercase;letter-spacing:0.35em;font-size:0.75rem;opacity:0.8;margin:0}.public-menu--showcase .showcase-brand-card__title{font-family:'Playfair Display', serif;font-size:clamp(2rem, 3.1vw, 2.8rem);margin:0;text-transform:uppercase;letter-spacing:0.12em}.public-menu--showcase .showcase-brand-card__subtitle{font-size:1.15rem;font-weight:600;text-transform:uppercase;letter-spacing:0.35em;margin:0}.public-menu--showcase .showcase-brand-card__message{font-size:0.9rem;line-height:1.5;color:rgba(255,255,255,0.88);max-width:220px}.public-menu--showcase .showcase-brand-card__message p{margin:0}.public-menu--showcase .showcase-brand-card__message--placeholder{font-style:italic}.public-menu--showcase .showcase-layout__content{position:relative;z-index:1;background:rgba(12,15,22,0.75);backdrop-filter:blur(12px);padding:2.4rem 2.6rem 2.6rem;color:#f8fafc;display:flex;flex-direction:column;gap:1.8rem;justify-content:flex-start}.public-menu--showcase .showcase-layout__grid{--showcase-columns: 3;display:grid;grid-template-columns:repeat(var(--showcase-columns), minmax(0, 1fr));gap:1.8rem 1.4rem;width:100%;margin:0 auto;padding:0}.public-menu--showcase .showcase-layout__grid.updating{opacity:0.55;transition:opacity 0.35s ease}.public-menu--classic .menu-section--classic{background:transparent;border-radius:0;box-shadow:none;padding:0;margin:0 auto 3rem;position:relative;border:none;color:#0f172a;width:100%}.public-menu--classic .menu-title{font-family:'Playfair Display', serif;font-size:clamp(1.8rem, 3.8vw, 2.4rem);text-align:center;color:#f8fafc;margin-bottom:1rem;font-weight:700;letter-spacing:0.02em;position:relative}.public-menu--classic .menu-title::after{content:'';display:block;width:64px;height:3px;background:linear-gradient(135deg, var(--primary-color, #facc15), var(--secondary-color, #f97316));margin:0.75rem auto 0 auto;border-radius:999px}.public-menu--classic .menu-grid--classic{column-count:2;column-gap:2.5rem;max-width:100%;margin:1.5rem auto 0;padding:0;width:100%}.public-menu--classic .menu-grid--classic.updating{opacity:0.55;transition:opacity 0.35s ease}.public-menu--classic .menu-message{width:100%;margin:0 auto 1.5rem;padding:0.5rem 0;background:transparent;border:none;text-align:center;color:rgba(248,250,252,0.85);font-weight:600}.public-menu--classic .menu-message-body p{margin:0;font-size:1rem;line-height:1.5;color:inherit}@media (max-width: 1400px){.public-menu--showcase .showcase-layout__grid{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr))}}@media (max-width: 1200px){.public-menu--showcase .showcase-layout{grid-template-columns:minmax(240px, 280px) 1fr}.public-menu--showcase .showcase-layout__content{padding:2.2rem 2.2rem 2.6rem}}@media (max-width: 960px){.public-menu--showcase .showcase-layout{grid-template-columns:1fr}.public-menu--showcase .showcase-layout__branding{padding:2.2rem 1.8rem 1.8rem;align-items:center}.public-menu--showcase .showcase-layout__content{padding:2rem 1.8rem 2.6rem}.public-menu--showcase .showcase-layout__grid{gap:1.6rem}}@media (min-width: 1600px){.public-menu--classic .menu-grid--classic{column-count:3}}@media (max-width: 1100px){.public-menu--classic .menu-grid--classic{column-count:2;column-gap:2rem}}@media (max-width: 900px){.public-menu--classic .menu-grid--classic{column-count:1;column-gap:0}.public-menu--classic .menu-item--list{padding-right:0}}@media (max-width: 640px){.public-menu--classic .menu-grid--classic{padding:0}.public-menu--classic .menu-title{letter-spacing:0.12em;font-size:2.2rem}}@media (max-width: 640px){.public-menu--showcase .showcase-layout__grid{grid-template-columns:1fr}.public-menu--showcase .showcase-brand-card__logo{width:130px;height:130px}}.public-menu .subscription-cta{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(150deg, rgba(248,250,252,0.28), rgba(255,255,255,0.12));border-radius:24px;box-shadow:0 28px 55px rgba(15,23,42,0.25);padding:1.8rem 2.2rem;margin:2rem auto;gap:1.6rem;max-width:900px;border:1px solid rgba(248,250,252,0.22)}.public-menu .subscription-cta .subscription-cta__copy{flex:1}.public-menu .subscription-cta .subscription-cta__copy h2{font-family:'Playfair Display', serif;color:#f8fafc;font-size:1.6rem;margin-bottom:0.4rem}.public-menu .subscription-cta .subscription-cta__copy p{color:rgba(248,250,252,0.85);margin:0}.public-menu .subscription-cta .subscription-cta__button{background:linear-gradient(135deg, #facc15, #fb923c);color:#1f2937;border:none;border-radius:999px;padding:0.95rem 2.3rem;font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform 0.25s ease, box-shadow 0.25s ease;box-shadow:0 22px 40px rgba(249,115,22,0.35)}.public-menu .subscription-cta .subscription-cta__button.is-loading{opacity:0.7;cursor:wait}.public-menu .subscription-cta .subscription-cta__button:hover:not(.is-loading){transform:translateY(-3px);box-shadow:0 28px 55px rgba(249,115,22,0.45)}.public-menu .subscription-cta .subscription-cta__error{color:#fee2e2;font-weight:600}@media (max-width: 768px){.public-menu .subscription-cta{flex-direction:column;text-align:center}.public-menu .subscription-cta .subscription-cta__button{width:100%}}.public-menu .subscription-pricing-table{max-width:920px;margin:2.5rem auto;padding:1.2rem;background:linear-gradient(150deg, rgba(248,250,252,0.28), rgba(255,255,255,0.12));border-radius:26px;box-shadow:0 30px 60px rgba(15,23,42,0.28);border:1px solid rgba(248,250,252,0.2)}.public-menu .subscription-pricing-table stripe-pricing-table{width:100%}.subscription-result{max-width:600px;margin:3rem auto;background:white;padding:2rem;border-radius:12px;box-shadow:var(--shadow);text-align:center}.subscription-result h1{font-family:'Playfair Display', serif;color:var(--primary-blue);margin-bottom:1rem}.subscription-result p{color:var(--text-muted);margin-bottom:1rem}.subscription-result__back-link{display:inline-block;margin-top:1.5rem;text-decoration:none;color:var(--primary-blue);font-weight:600}.subscription-result--cancelled h1{color:#c0392b}.menu-grid[data-columns="1"]{--menu-columns: 1}.menu-grid[data-columns="2"]{--menu-columns: 2}.menu-grid[data-columns="3"]{--menu-columns: 3}.menu-grid[data-columns="4"]{--menu-columns: 4}.menu-grid[data-columns="5"]{--menu-columns: 5}.menu-grid[data-columns="6"]{--menu-columns: 6}.signup-wrapper{max-width:720px;margin:4rem auto;padding:0 1.5rem 4rem}.signup-hero{text-align:center;margin-bottom:2rem}.signup-hero h1{font-family:'Playfair Display', serif;font-size:clamp(2rem, 4vw, 2.8rem);color:var(--primary-blue);margin-bottom:0.5rem}.signup-hero p{color:var(--text-muted);font-size:1.05rem}.signup-alert,.signup-errors{background:rgba(192,57,43,0.12);border-left:4px solid #c0392b;padding:1rem 1.25rem;border-radius:10px;color:#c0392b;margin-bottom:1.5rem}.signup-alert h2,.signup-errors h2{font-size:1.1rem;margin-bottom:0.5rem}.signup-alert ul,.signup-errors ul{padding-left:1.1rem;margin:0;list-style:disc}.signup-form{background:white;padding:2.5rem;border-radius:20px;box-shadow:var(--shadow);display:grid;gap:1.4rem}.signup-form label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:0.4rem}.signup-form input,.signup-form select{width:100%;border-radius:10px;border:1px solid var(--border-light);padding:0.75rem 0.9rem;font-size:1rem;font-family:inherit}.signup-divider{border-top:1px dashed var(--border-light);margin:0.5rem 0 1rem}.signup-terms{background:#f8fafc;border-radius:12px;padding:1rem;color:var(--text-muted);font-size:0.95rem;line-height:1.5}.signup-submit{background:linear-gradient(135deg, var(--primary-blue), var(--light-blue));color:white;border:none;border-radius:999px;padding:0.95rem 1.6rem;font-size:1.05rem;font-weight:600;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.signup-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.setup-wrapper{max-width:720px;margin:5rem auto;padding:0 1.5rem 4rem}.setup-card{background:white;border-radius:20px;box-shadow:var(--shadow);padding:3rem 2.5rem;text-align:center}.setup-card h1{font-family:'Playfair Display', serif;font-size:2.4rem;color:var(--primary-blue);margin-bottom:1rem}.setup-card p{color:var(--text-muted);font-size:1.05rem;margin-bottom:1.5rem;line-height:1.6}.setup-alert{background:rgba(241,196,15,0.18);border-left:4px solid #f39c12;padding:1rem 1.25rem;border-radius:10px;color:#ad6800;margin-bottom:1.5rem}.setup-actions{display:flex;flex-direction:column;gap:0.75rem;align-items:center}.setup-button{background:linear-gradient(135deg, var(--primary-blue), var(--light-blue));color:white;text-decoration:none;padding:0.9rem 1.8rem;border-radius:999px;font-weight:600;box-shadow:var(--shadow);transition:transform 0.2s ease, box-shadow 0.2s ease}.setup-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.setup-link{color:var(--primary-blue);text-decoration:none;font-weight:600}@media (max-width: 640px){.signup-form{padding:1.8rem}.setup-card{padding:2.4rem 1.8rem}}.public-menu--showcase .showcase-menu-item{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.85rem;color:#f8fafc;padding:0.6rem 0}.public-menu--showcase .showcase-menu-item__media{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden;box-shadow:0 20px 38px rgba(0,0,0,0.42);border:3px solid rgba(250,204,21,0.45);background:radial-gradient(circle at 50% 30%, rgba(255,255,255,0.22), rgba(30,30,30,0.9));display:grid;place-items:center}.public-menu--showcase .showcase-menu-item__image{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.public-menu--showcase .showcase-menu-item__media:hover .showcase-menu-item__image{transform:scale(1.05)}.public-menu--showcase .showcase-menu-item__placeholder{font-size:2.5rem}.public-menu--showcase .showcase-menu-item__price{position:absolute;inset:auto 10px 10px auto;background:linear-gradient(135deg, #94d44b, #5aae2a);color:#0f172a;font-weight:700;font-size:var(--menu-grid-price-font-size);padding:0.4rem 0.95rem;border-radius:999px;box-shadow:0 12px 22px rgba(58,158,36,0.45);border:2px solid rgba(255,255,255,0.3)}.public-menu--showcase .showcase-menu-item__copy{display:flex;flex-direction:column;gap:0.55rem}.public-menu--showcase .showcase-menu-item__name{font-family:'Playfair Display', serif;text-transform:uppercase;letter-spacing:0.08em;font-size:var(--menu-grid-heading-font-size);margin:0;color:#fdfdfb;text-shadow:0 6px 18px rgba(0,0,0,0.45)}.public-menu--showcase .showcase-menu-item__description,.public-menu--showcase .showcase-menu-item__comment{font-size:var(--menu-grid-body-font-size);line-height:1.45;color:rgba(248,250,252,0.78);margin:0}.public-menu--showcase .showcase-menu-item__comment{font-style:italic;color:rgba(248,250,252,0.68)}.public-menu--showcase .showcase-menu-item__description p,.public-menu--showcase .showcase-menu-item__comment p{margin:0}.public-menu--showcase .menu-message{display:none}.public-menu--classic .menu-item{break-inside:avoid;display:flex;align-items:flex-start;gap:0.9rem;padding:0.45rem 0;margin:0;background:transparent;border:none;border-radius:0;box-shadow:none;min-height:0;width:100%}.public-menu--classic .menu-item--list{border-bottom:1px solid rgba(248,250,252,0.18);padding-right:1.5rem;margin-bottom:0.25rem}.public-menu--classic .menu-item--list:last-of-type{border-bottom:none}.public-menu--classic .menu-item-thumb{flex-shrink:0;width:48px;height:48px;border-radius:12px;overflow:hidden;background:rgba(15,23,42,0.35);display:flex;align-items:center;justify-content:center}.public-menu--classic .menu-item-thumb-image{width:100%;height:100%;object-fit:cover}.public-menu--classic .menu-item-content{flex:1;display:flex;flex-direction:column;gap:0.3rem}.public-menu--classic .menu-item-header{display:flex;align-items:baseline;gap:0.75rem;width:100%;flex-wrap:wrap}.public-menu--classic .menu-item-name{font-family:'Source Sans Pro', sans-serif;font-size:var(--menu-grid-heading-font-size);color:#f8fafc;font-weight:700;flex:1;line-height:1.2;margin:0}.public-menu--classic .menu-item-price{font-weight:700;font-size:var(--menu-grid-price-font-size);color:#facc15;white-space:nowrap;margin-left:auto}.public-menu--classic .menu-item-description,.public-menu--classic .menu-item-comment{font-size:var(--menu-grid-body-font-size);line-height:1.45;color:rgba(248,250,252,0.8);margin:0}.public-menu--classic .menu-item-description p,.public-menu--classic .menu-item-comment p{margin:0}.public-menu--classic .menu-item-comment{font-style:italic;color:rgba(248,250,252,0.68)}.public-menu--showcase .empty-menu{text-align:center;padding:2.5rem;color:#f8fafc;font-size:1.05rem;background:rgba(15,23,42,0.6);border-radius:20px;border:1px solid rgba(255,255,255,0.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05)}.public-menu--classic .empty-menu{text-align:center;padding:3rem;color:#1e293b;font-size:1.1rem;background:#ffffff;border-radius:24px;border:1px solid rgba(15,23,42,0.08);box-shadow:0 20px 45px rgba(15,23,42,0.15)}.public-menu .restaurant-footer{text-align:center;padding:2.4rem;color:#f8fafc;background:#1d4ed8;border-radius:28px;box-shadow:0 25px 60px rgba(29,78,216,0.35);margin:3rem auto 0;max-width:720px;font-weight:500;border:1px solid rgba(248,250,252,0.18)}.public-menu .restaurant-footer p{line-height:1.5}@media (max-width: 1200px){.public-menu--showcase .restaurant-container{padding:0}}@media (max-width: 768px){.public-menu--showcase .restaurant-container{padding:0}.public-menu--classic .restaurant-container{padding:0 1.25rem;margin:2rem auto}}.admin-body{background:#f5f7fa;font-family:'Source Sans Pro', sans-serif}.admin-nav{background:var(--primary-blue);color:white;padding:1rem 0;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.admin-nav .nav-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.admin-nav h1{font-size:1.5rem;font-weight:600}.admin-nav .nav-actions{display:flex;gap:1rem}.admin-nav .btn.btn-outline{color:white;border-color:rgba(255,255,255,0.85)}.admin-nav .btn.btn-outline:hover{background:rgba(255,255,255,0.2);color:white}.admin-tabs{display:flex;align-items:flex-end;gap:0.75rem;max-width:1200px;margin:1.5rem auto 0;padding:0 2rem;margin-bottom:-1px}.admin-tab{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.5rem;border-radius:10px 10px 0 0;background:#f0f3ff;color:var(--text-muted);text-decoration:none;font-weight:600;transition:all 0.2s ease;border:1px solid transparent;border-bottom:none}.admin-tab:hover{color:var(--primary-blue)}.admin-tab.active{background:white;color:var(--primary-blue);border-color:var(--border-light);box-shadow:var(--shadow)}.admin-main{max-width:1200px;margin:2rem auto;padding:0 2rem}.admin-content{background:white;border-radius:8px;padding:2rem;box-shadow:var(--shadow)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.admin-header h2{color:var(--primary-blue);font-size:1.8rem}.admin-header-actions{display:flex;gap:1rem;flex-wrap:wrap}.form-container,.login-container{max-width:800px;margin:0 auto}.login-card{background:white;border-radius:12px;padding:2.5rem;box-shadow:var(--shadow-hover);text-align:center}.login-card h2{color:var(--primary-blue);margin-bottom:2rem;font-size:1.8rem}.admin-form .form-grid,.login-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.admin-form .form-grid .full-width,.login-form .form-grid .full-width{grid-column:1 / -1}.form-group{margin-bottom:1.5rem}.radio-group{display:flex;flex-direction:column;gap:0.75rem}.radio-group.stacked .radio-option{display:flex;gap:0.75rem;align-items:flex-start;padding:0.6rem 0;border-radius:10px;border:1px solid transparent;transition:border-color 0.2s ease, background 0.2s ease}.radio-group.stacked .radio-option:hover{border-color:var(--border-light);background:rgba(59,130,246,0.05)}.radio-group.stacked .radio-option input[type="radio"]{margin-top:0.35rem}.radio-group.stacked .radio-option p{margin:0.25rem 0 0;color:var(--text-muted);font-size:0.9rem}.form-label{display:block;margin-bottom:0.5rem;font-weight:600;color:var(--text-dark)}.form-label.checkbox-label{display:inline-block;margin-left:0.5rem;margin-bottom:0}.form-input,.form-textarea{width:100%;padding:0.75rem;border:2px solid var(--border-light);border-radius:6px;font-size:1rem;transition:border-color 0.3s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-blue)}.form-textarea{resize:vertical;font-family:inherit}.form-checkbox{margin-right:0.5rem}.checkbox-group{display:flex;align-items:center;padding:0.75rem 0}.form-help{display:block;margin-top:0.25rem;font-size:0.875rem;color:var(--text-muted)}.current-image{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:6px;text-align:center}.current-image .menu-item-thumb{max-width:150px;height:auto;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.form-actions{display:flex;gap:1rem;justify-content:flex-start;padding-top:1rem}.btn{display:inline-block;padding:0.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s;text-align:center}.btn.btn-primary{background:var(--primary-blue);color:white}.btn.btn-primary:hover{background:var(--dark-blue)}.btn.btn-outline{background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue)}.btn.btn-outline:hover{background:var(--primary-blue);color:white}.btn.btn-success{background:#27ae60;color:white}.btn.btn-success:hover{background:#219a52}.btn.btn-warning{background:#f39c12;color:white}.btn.btn-warning:hover{background:#d68910}.btn.btn-danger{background:#e74c3c;color:white}.btn.btn-danger:hover{background:#c0392b}.btn.btn-sm{padding:0.5rem 1rem;font-size:0.875rem}.btn.btn-full{width:100%}.table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-light)}.admin-table th{background:#f8f9fa;font-weight:600;color:var(--primary-blue)}.admin-table tr{transition:background-color 0.2s}.admin-table tr:hover{background:#f8f9fa}.admin-table tr.unavailable{opacity:0.6}.actions-cell{white-space:nowrap}.actions-cell .btn{margin-right:0.5rem}.text-muted{color:var(--text-muted)}.availability-form{display:inline}.alert{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:6px}.alert.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.login-footer{margin-top:2rem}.login-footer .link-secondary{color:var(--text-muted);text-decoration:none}.login-footer .link-secondary:hover{color:var(--primary-blue)}@media (max-width: 768px){.restaurant-header .logo-placeholder h1{font-size:2.5rem}.menu-grid{grid-template-columns:1fr;gap:1rem}.menu-item{padding:1.5rem}.menu-item-header{flex-direction:column;gap:0.5rem;align-items:flex-start}.admin-nav .nav-content{flex-direction:column;gap:1rem;text-align:center}.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-form .form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.admin-table{font-size:0.875rem}.actions-cell .btn{padding:0.4rem 0.8rem;font-size:0.8rem}}@media (max-width: 1200px){.menu-grid{grid-template-columns:repeat(2, 1fr);gap:1.5rem 2rem}.restaurant-container{padding:1.5rem}.restaurant-nav .nav-content{padding:0 1.5rem}}@media (max-width: 768px){.menu-grid{grid-template-columns:1fr;gap:1.5rem}.restaurant-nav .nav-content{flex-direction:column;gap:1rem;text-align:center;padding:0 1rem}.restaurant-nav h1{font-size:1.5rem}.restaurant-nav .nav-actions{width:100%}.restaurant-nav .admin-link{width:100%;text-align:center;padding:0.75rem}.restaurant-container{padding:1rem}.restaurant-header{margin:1rem auto;padding:1.5rem 1rem}.menu-title{font-size:1.8rem;margin:1.5rem auto}.menu-item{padding:1rem;min-height:240px}.menu-item-image .menu-item-photo{height:120px;max-width:200px}.menu-item-image-placeholder{height:120px}.menu-item-image-placeholder .placeholder-icon{font-size:2rem}.public-menu .menu-item-name{font-size:calc(var(--menu-grid-heading-font-size) * 0.95)}.public-menu .menu-item-price{font-size:calc(var(--menu-grid-price-font-size) * 0.95);padding:0.3rem 0.8rem}.restaurant-footer{margin:2rem auto;padding:1.5rem}.menu-section{padding:1.5rem}}@media (min-width: 1400px){.menu-grid{max-width:1800px}.public-menu .menu-item-name{font-size:calc(var(--menu-grid-heading-font-size) * 1.25)}.public-menu .menu-item-price{font-size:calc(var(--menu-grid-price-font-size) * 1.2)}.public-menu .menu-item-description{font-size:calc(var(--menu-grid-body-font-size) * 1.15)}.public-menu .menu-item-comment{font-size:calc(var(--menu-grid-body-font-size) * 1.05)}}
