.menu-editor{max-width:900px}.menu-editor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--base)}.menu-editor__header h1{margin:0;font-size:1.5rem;font-weight:600}.menu-editor__toolbar{display:flex;justify-content:flex-end;gap:calc(var(--base)*.5);margin-bottom:var(--base)}.menu-editor__add-category-btn{display:flex;align-items:center;gap:calc(var(--base)*.5);padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-800);border:none;border-radius:var(--style-radius-s);font-size:.875rem;font-weight:500;color:var(--theme-elevation-0);cursor:pointer;transition:background-color .15s ease}.menu-editor__add-category-btn:hover{background:var(--theme-elevation-900)}.menu-editor__details-btn,.menu-editor__live-menu-btn{display:flex;align-items:center;gap:calc(var(--base)*.5);padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-200);border:1px solid var(--theme-elevation-300);border-radius:var(--style-radius-s);font-size:.875rem;font-weight:500;color:var(--theme-elevation-800);cursor:pointer;transition:all .15s ease;text-decoration:none}.menu-editor__details-btn:hover,.menu-editor__live-menu-btn:hover{background:var(--theme-elevation-300);border-color:var(--theme-elevation-400)}.menu-editor__content{display:flex;flex-direction:column;gap:var(--base)}.menu-editor__controls{display:flex;justify-content:flex-end;margin-bottom:calc(var(--base)*.5)}.menu-editor__add-btn{display:flex;align-items:center;gap:calc(var(--base)*.5);padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-800);color:var(--theme-elevation-0);border:none;border-radius:var(--style-radius-s);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.menu-editor__add-btn:hover{background:var(--theme-elevation-900)}.menu-editor__add-btn svg{opacity:.8}.menu-editor__empty{color:var(--theme-elevation-500);text-align:center;padding:calc(var(--base)*4) calc(var(--base)*2);background:var(--theme-elevation-50);border-radius:var(--style-radius-m);border:2px dashed var(--theme-elevation-200)}.category-section{background:var(--theme-elevation-50);border-radius:var(--style-radius-m);border:1px solid var(--theme-elevation-150);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;position:relative}.category-section--dragging{opacity:.4;z-index:0}.category-section--unavailable{opacity:.7;background:var(--theme-elevation-100)}.category-section--unavailable .category-section__name{color:var(--theme-elevation-400)}.category-section--hidden{opacity:.5;background:var(--theme-elevation-100);border-style:dashed}.category-section--hidden .category-section__name{color:var(--theme-elevation-400)}.category-section--overlay{box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:1000;cursor:-webkit-grabbing;cursor:grabbing;background:var(--theme-elevation-100);border-color:var(--theme-elevation-300)}.category-section--collapsed .category-section__items{display:none}.category-section--collapsed .category-section__header{border-bottom:none;border-radius:var(--style-radius-m)}.category-section__item-count{font-size:.75rem;font-weight:500;color:var(--theme-elevation-500);background:var(--theme-elevation-150);border-radius:999px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.category-section__header{display:flex;align-items:center;gap:var(--base);padding:var(--base);border-bottom:1px solid var(--theme-elevation-150);background:var(--theme-elevation-100);border-radius:var(--style-radius-m) var(--style-radius-m) 0 0}.category-section__name{font-weight:600;font-size:1.1rem;flex:1 1;color:var(--theme-elevation-800);display:flex;align-items:center;gap:8px;cursor:pointer}.category-section__rename-btn{opacity:1;background:rgba(0,0,0,0);border:none;padding:4px;color:var(--theme-elevation-400);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.category-section__rename-btn:hover{color:var(--theme-elevation-800)}.category-section__edit-form{flex:1 1}.category-section__edit-form input{width:100%;padding:4px 8px;font-size:1.1rem;font-weight:600;border:1px solid var(--theme-elevation-300);border-radius:var(--style-radius-s);background:var(--theme-elevation-0);color:var(--theme-elevation-800);outline:none}.category-section__edit-form input:focus{border-color:var(--theme-elevation-500)}.category-section__actions{display:flex;align-items:center;gap:var(--base)}.category-section__items{padding:var(--base);display:flex;flex-direction:column;gap:calc(var(--base)*.75);min-height:80px}.category-section__add-item-btn{display:flex;align-items:center;gap:calc(var(--base)*.25);padding:calc(var(--base)*.375) calc(var(--base)*.75);background:var(--theme-elevation-200);border:1px solid var(--theme-elevation-300);border-radius:var(--style-radius-s);font-size:.8125rem;font-weight:600;color:var(--theme-elevation-800);cursor:pointer;transition:all .15s ease}.category-section__add-item-btn:hover{background:var(--theme-elevation-300);border-color:var(--theme-elevation-400)}.category-section__details-btn{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.375);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:var(--style-radius-s);color:var(--theme-elevation-400);cursor:pointer;transition:all .15s ease;text-decoration:none}.category-section__details-btn:hover{background:var(--theme-elevation-200);border-color:var(--theme-elevation-300);color:var(--theme-elevation-700)}.category-section__delete-btn{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.375);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:var(--style-radius-s);color:var(--theme-elevation-400);cursor:pointer;transition:all .15s ease}.category-section__delete-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.category-section__empty{color:var(--theme-elevation-400);font-size:.875rem;text-align:center;padding:calc(var(--base)*1.5);margin:0;border:1px dashed var(--theme-elevation-200);border-radius:var(--style-radius-s)}.item-card{display:flex;align-items:center;gap:calc(var(--base)*.75);padding:calc(var(--base)*.75);background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-150);border-radius:var(--style-radius-s);transition:all .2s ease;position:relative}.item-card:hover{border-color:var(--theme-elevation-300);box-shadow:0 2px 5px rgba(0,0,0,.05)}.item-card--dragging{opacity:.4;z-index:0}.item-card--overlay{box-shadow:0 5px 15px rgba(0,0,0,.15);z-index:1000;cursor:-webkit-grabbing;cursor:grabbing;background:var(--theme-elevation-50);border-color:var(--theme-elevation-400)}.item-card--unavailable{opacity:.7;background:var(--theme-elevation-50)}.item-card--unavailable .item-card__name{color:var(--theme-elevation-400)}.item-card--hidden{opacity:.5;background:var(--theme-elevation-50);border-style:dashed}.item-card--hidden .item-card__name{color:var(--theme-elevation-400)}.item-card__content{flex:1 1;display:flex;align-items:center;gap:var(--base);min-width:0}.item-card__image{width:40px;height:40px;object-fit:cover;border-radius:var(--style-radius-s);background:var(--theme-elevation-100)}.item-card__info{flex:1 1;display:flex;flex-direction:column;gap:4px;min-width:0}.item-card__name{font-weight:600;font-size:.95rem;color:var(--theme-elevation-800)}.item-card__description,.item-card__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card__description{font-size:.8rem;color:var(--theme-elevation-500);line-height:1.2}.item-card__price{font-weight:700;font-size:1rem;white-space:nowrap;color:var(--theme-elevation-900);padding:0 var(--base)}.item-card__actions{display:flex;align-items:center;gap:calc(var(--base)*1)}.item-card__edit-btn{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.5);background:var(--theme-elevation-100);border:none;border-radius:var(--style-radius-s);color:var(--theme-elevation-600);cursor:pointer;transition:all .15s ease}.item-card__edit-btn:hover{background:var(--theme-elevation-200);color:var(--theme-elevation-800)}.item-card__details-btn{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.5);background:var(--theme-elevation-100);border:none;border-radius:var(--style-radius-s);color:var(--theme-elevation-600);cursor:pointer;transition:all .15s ease;text-decoration:none}.item-card__details-btn:hover{background:var(--theme-elevation-200);color:var(--theme-elevation-800)}.item-card__delete-btn{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.5);background:rgba(0,0,0,0);border:none;border-radius:var(--style-radius-s);color:var(--theme-elevation-400);cursor:pointer;transition:all .15s ease}.item-card__delete-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.drag-handle{display:flex;align-items:center;justify-content:center;padding:calc(var(--base)*.25);background:rgba(0,0,0,0);border:none;border-radius:var(--style-radius-s);color:var(--theme-elevation-400);cursor:-webkit-grab;cursor:grab;transition:color .15s ease}.drag-handle:hover{color:var(--theme-elevation-600)}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.toggle{display:flex;align-items:center;gap:calc(var(--base)*.5);cursor:pointer}.toggle input[type=checkbox]{width:36px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--theme-elevation-200);border-radius:10px;position:relative;cursor:pointer;transition:background-color .2s ease}.toggle input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle input[type=checkbox]:checked{background:var(--theme-success-500,#22c55e)}.toggle input[type=checkbox]:checked:before{transform:translateX(16px)}.toggle__label{font-size:.8125rem;color:var(--theme-elevation-600)}.toggle--small input[type=checkbox]{width:28px;height:16px}.toggle--small input[type=checkbox]:before{width:12px;height:12px}.toggle--small input[type=checkbox]:checked:before{transform:translateX(12px)}.status-dropdown{display:flex;align-items:center;position:relative}.status-dropdown__select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.status-dropdown__label{display:flex;align-items:center;gap:calc(var(--base)*.25);padding:calc(var(--base)*.375) calc(var(--base)*.75);background:var(--theme-elevation-200);border:1px solid var(--theme-elevation-300);border-radius:var(--style-radius-s);font-size:.8125rem;font-weight:600;color:var(--theme-elevation-800);transition:all .15s ease;white-space:nowrap;position:relative;z-index:1}.status-dropdown:hover .status-dropdown__label{background:var(--theme-elevation-250);border-color:var(--theme-elevation-400);color:var(--theme-elevation-900)}.status-dropdown__chevron{opacity:.6;transition:transform .2s ease}.status-dropdown__select:focus+.status-dropdown__label{box-shadow:0 0 0 2px var(--theme-elevation-150);border-color:var(--theme-elevation-500)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:calc(var(--base)*4) var(--base);overflow-y:auto}.modal{background:var(--theme-elevation-0);border-radius:var(--style-radius-m);box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:550px;width:100%;position:relative;margin-bottom:calc(var(--base)*4)}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--base);border-bottom:1px solid var(--theme-elevation-100)}.modal__header h2{margin:0;font-size:1.125rem;font-weight:600}.modal__close{background:rgba(0,0,0,0);border:none;font-size:1.5rem;color:var(--theme-elevation-500);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--style-radius-s);transition:background-color .15s ease}.modal__close:hover{background:var(--theme-elevation-100)}.modal__form{padding:var(--base)}.modal__field{margin-bottom:var(--base)}.modal__field label{display:block;margin-bottom:calc(var(--base)*.25);font-size:.875rem;font-weight:500;color:var(--theme-elevation-700)}.modal__field input,.modal__field textarea{width:100%;padding:calc(var(--base)*.5);border:1px solid var(--theme-elevation-200);border-radius:var(--style-radius-s);font-size:.875rem;font-family:inherit;background:var(--theme-elevation-0);transition:border-color .15s ease}.modal__field input:focus,.modal__field textarea:focus{outline:none;border-color:var(--theme-elevation-400)}.modal__field textarea{resize:vertical;min-height:60px}.modal__actions{display:flex;gap:calc(var(--base)*.5);justify-content:flex-end;padding-top:calc(var(--base)*.5)}.modal__btn{padding:calc(var(--base)*.5) var(--base);border:none;border-radius:var(--style-radius-s);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.modal__btn:disabled{opacity:.6;cursor:not-allowed}.modal__btn--cancel{background:var(--theme-elevation-100);color:var(--theme-elevation-700)}.modal__btn--cancel:hover:not(:disabled){background:var(--theme-elevation-200)}.modal__btn--primary{background:var(--theme-elevation-800);color:var(--theme-elevation-0)}.modal__btn--primary:hover:not(:disabled){background:var(--theme-elevation-900)}.modal--picker{max-width:800px;margin-top:0}.modal__image-selection{display:flex;flex-direction:column;gap:calc(var(--base)*.5);margin-top:8px}.modal__selected-image{display:flex;align-items:center;gap:var(--base);padding:calc(var(--base)*.5);background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-200);border-radius:var(--style-radius-s)}.modal__selected-image img{width:60px;height:60px;object-fit:cover;border-radius:var(--style-radius-s)}.modal__selected-image-info{flex:1 1;display:flex;flex-direction:column;gap:4px}.modal__selected-image-info span{font-size:.8125rem;font-weight:500;color:var(--theme-elevation-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.modal__remove-image{background:rgba(0,0,0,0);border:none;padding:0;font-size:.75rem;color:#ef4444;cursor:pointer;text-align:left;width:-moz-fit-content;width:fit-content}.modal__remove-image:hover{text-decoration:underline}.modal__btn--secondary{background:var(--theme-elevation-150);color:var(--theme-elevation-800);border:1px solid var(--theme-elevation-300)}.modal__btn--secondary:hover:not(:disabled){background:var(--theme-elevation-200)}.item-edit-form{display:flex;flex-direction:column;gap:calc(var(--base)*.5);flex:1 1}.item-edit-form__field{display:flex;flex-direction:column}.item-edit-form__label{font-size:.75rem;font-weight:500;color:var(--theme-elevation-500);margin-bottom:4px}.item-edit-form__input,.item-edit-form__textarea{padding:calc(var(--base)*.5);border:1px solid var(--theme-elevation-200);border-radius:var(--style-radius-s);font-size:.875rem;font-family:inherit;background:var(--theme-elevation-0);transition:border-color .15s ease}.item-edit-form__input:focus,.item-edit-form__textarea:focus{outline:none;border-color:var(--theme-elevation-400)}.item-edit-form__input--price{max-width:120px}.item-edit-form__textarea{resize:vertical;min-height:40px}.item-edit-form__image-selection{display:flex;align-items:center;gap:var(--base);padding:4px}.item-edit-form__image-selection img{width:40px;height:40px;object-fit:cover;border-radius:var(--style-radius-s);border:1px solid var(--theme-elevation-200)}.item-edit-form__image-btn{font-size:.75rem;font-weight:500;color:var(--theme-elevation-600);background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-200);padding:2px 8px;border-radius:var(--style-radius-s);cursor:pointer}.item-edit-form__image-btn:hover{background:var(--theme-elevation-200)}.item-edit-form__actions{display:flex;gap:calc(var(--base)*.5);justify-content:flex-end;margin-top:calc(var(--base)*.25)}.item-edit-form__btn{padding:calc(var(--base)*.375) calc(var(--base)*.75);border:none;border-radius:var(--style-radius-s);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.item-edit-form__btn--cancel{background:var(--theme-elevation-100);color:var(--theme-elevation-700)}.item-edit-form__btn--cancel:hover{background:var(--theme-elevation-200)}.item-edit-form__btn--save{background:var(--theme-elevation-800);color:var(--theme-elevation-0)}.item-edit-form__btn--save:hover{background:var(--theme-elevation-900)}.media-picker{display:flex;flex-direction:column;gap:var(--base);padding:var(--base);max-height:70vh}.media-picker__header{display:flex;justify-content:space-between;align-items:center}.media-picker__header h3{margin:0;font-size:1.125rem;font-weight:600}.media-picker__create-btn{display:flex;align-items:center;gap:8px;padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-800);color:var(--theme-elevation-0);border:none;border-radius:var(--style-radius-s);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.media-picker__create-btn:hover{background:var(--theme-elevation-900)}.media-picker__search{display:flex;gap:calc(var(--base)*.5)}.media-picker__search input{flex:1 1;padding:calc(var(--base)*.5);border:1px solid var(--theme-elevation-200);border-radius:var(--style-radius-s);font-size:.875rem}.media-picker__search button{padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-200);border:1px solid var(--theme-elevation-300);border-radius:var(--style-radius-s);font-size:.875rem;cursor:pointer}.media-picker__search button:hover{background:var(--theme-elevation-300)}.media-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--base);gap:var(--base);overflow-y:auto;padding-bottom:var(--base);min-height:200px}.media-picker__item{display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .15s ease;padding:8px;border-radius:var(--style-radius-s);border:1px solid rgba(0,0,0,0)}.media-picker__item:hover{transform:translateY(-2px);background:var(--theme-elevation-50);border-color:var(--theme-elevation-200)}.media-picker__item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--style-radius-s);background:var(--theme-elevation-100)}.media-picker__item-name{font-size:.75rem;color:var(--theme-elevation-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.media-picker__footer{display:flex;justify-content:flex-end;border-top:1px solid var(--theme-elevation-100);padding-top:var(--base)}.media-picker__cancel-btn{padding:calc(var(--base)*.5) var(--base);background:var(--theme-elevation-100);border:none;border-radius:var(--style-radius-s);font-size:.875rem;cursor:pointer}.media-picker__cancel-btn:hover{background:var(--theme-elevation-200)}.modal-overlay--picker{background:rgba(0,0,0,.8);align-items:center;padding:var(--base)}.restaurant-selector{margin-bottom:calc(var(--base)*2)}.restaurant-selector__header{margin-bottom:var(--base);display:flex;justify-content:space-between;align-items:flex-start}.restaurant-selector__header h2{margin:0;font-size:1.5rem;font-weight:600}.restaurant-selector__header p{color:var(--theme-elevation-500);margin:4px 0 0}.restaurant-selector__header .btn{padding:10px 16px;border-radius:var(--style-radius-s);font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .15s ease;white-space:nowrap}.restaurant-selector__header .btn--primary{background:var(--theme-elevation-800);color:var(--theme-elevation-0)}.restaurant-selector__header .btn--primary:hover:not(:disabled){background:var(--theme-elevation-900)}.restaurant-selector__scroll-container{position:relative;width:100%}.restaurant-selector__scroll-container:before{left:0;background:linear-gradient(to right,var(--theme-elevation-0),transparent)}.restaurant-selector__scroll-container:after,.restaurant-selector__scroll-container:before{content:"";position:absolute;top:0;bottom:var(--base);width:40px;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10}.restaurant-selector__scroll-container:after{right:0;background:linear-gradient(to left,var(--theme-elevation-0),transparent)}.restaurant-selector__scroll-container.can-scroll-left:before,.restaurant-selector__scroll-container.can-scroll-right:after{opacity:1}.restaurant-selector__grid{display:flex;overflow-x:auto;gap:var(--base);padding-bottom:var(--base);scrollbar-width:none}.restaurant-selector__grid::-webkit-scrollbar{display:none}.restaurant-selector__empty{color:var(--theme-elevation-500);padding:var(--base);background:var(--theme-elevation-50);border-radius:var(--style-radius-m);text-align:center}.restaurant-selector .restaurant-card{min-width:300px;background:var(--theme-elevation-50);border:1px solid var(--theme-elevation-150);border-radius:var(--style-radius-m);padding:calc(var(--base)*.75) var(--base);display:flex;flex-direction:column;justify-content:space-between;transition:all .2s ease}.restaurant-selector .restaurant-card--active{border-color:var(--theme-elevation-400);background:var(--theme-elevation-100);box-shadow:0 4px 12px rgba(0,0,0,.05)}.restaurant-selector .restaurant-card:hover:not(.restaurant-selector .restaurant-card--active){border-color:var(--theme-elevation-300);transform:translateY(-2px)}.restaurant-selector .restaurant-card__info{margin-bottom:var(--base)}.restaurant-selector .restaurant-card__info h3{margin:0 0 4px;font-size:1.125rem;font-weight:600}.restaurant-selector .restaurant-card__info p{margin:0;font-size:.875rem;color:var(--theme-elevation-500);line-height:1.4}.restaurant-selector .restaurant-card__actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:calc(var(--base)*.5)}.restaurant-selector .restaurant-card__actions .btn{flex:1 1;padding:6px 10px;border-radius:var(--style-radius-s);font-size:.875rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;border:none;transition:all .15s ease}.restaurant-selector .restaurant-card__actions .btn--primary{background:var(--theme-elevation-800);color:var(--theme-elevation-0)}.restaurant-selector .restaurant-card__actions .btn--primary:hover:not(:disabled){background:var(--theme-elevation-900)}.restaurant-selector .restaurant-card__actions .btn--primary:disabled{background:var(--theme-elevation-200);color:var(--theme-elevation-400);cursor:default}.restaurant-selector .restaurant-card__actions .btn--secondary{background:var(--theme-elevation-150);color:var(--theme-elevation-800)}.restaurant-selector .restaurant-card__actions .btn--secondary:hover{background:var(--theme-elevation-200)}