.selection-panel{width:410px;min-width:410px;height:100vh;overflow-y:auto;background:#fafaf8;border-right:1px solid #e0d8cc;padding:24px 20px;box-sizing:border-box;font-family:Lato,sans-serif}.panel-sticky-header{position:sticky;top:0;z-index:10;background:#fafaf8;margin-bottom:8px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.search-bar{position:relative;padding-bottom:12px}.search-input{font-family:Lato,sans-serif;font-size:.9rem;padding:8px 32px 8px 10px;border:1px solid #c9bfb0;border-radius:6px;background:#fff;color:#2d2218;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.search-input:focus{border-color:#7a5c3a}.search-input::placeholder{color:#9e8b77}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:#9e8b77;cursor:pointer;padding:0 4px;line-height:1}.search-clear-btn:hover{color:#7a5c3a}.panel-title{font-size:1.1rem;font-weight:700;color:#3a2e22;margin:0;text-transform:uppercase;letter-spacing:.08em}.layout-toggle{display:flex;gap:4px}.layout-toggle-btn{font-family:Lato,sans-serif;font-size:1.1rem;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #c9bfb0;border-radius:5px;color:#7a5c3a;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.layout-toggle-btn:hover{background:#f0ebe3;border-color:#7a5c3a}.layout-toggle-btn.active{background:#7a5c3a;border-color:#7a5c3a;color:#fff}.category-group{margin-bottom:24px}.category-toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:4px 0}.category-heading{font-size:.75rem;font-weight:700;color:#7a5c3a;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;padding-bottom:4px;border-bottom:1px solid #e0d8cc}.category-chevron{font-size:1rem;color:#7a5c3a;transition:transform .2s ease;margin-bottom:6px}.category-chevron.open{transform:rotate(180deg)}.dish-list{display:flex;flex-direction:column;gap:6px}.dish-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background .15s}.dish-checkbox:hover{background:#f0ebe3}.dish-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#7a5c3a;cursor:pointer;flex-shrink:0}.dish-name{flex:1;font-size:.92rem;color:#2d2218}.dish-price{font-size:.8rem;color:#9e8b77;font-weight:400}.badge-temporal{font-size:.68rem;font-weight:700;background:#e8824a;color:#fff;border-radius:20px;padding:2px 8px;text-transform:lowercase;letter-spacing:.03em}.add-dish-form{margin-top:28px;padding:16px;background:#f0ebe3;border-radius:8px;border:1px solid #e0d8cc}.add-dish-heading{font-size:.78rem;font-weight:700;color:#7a5c3a;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-field label{font-size:.78rem;color:#7a5c3a;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.form-field input,.form-field select{font-family:Lato,sans-serif;font-size:.9rem;padding:7px 10px;border:1px solid #c9bfb0;border-radius:5px;background:#fff;color:#2d2218;outline:none;transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:#7a5c3a}.form-field input:disabled{background:#e8e0d6;color:#b0a090;cursor:not-allowed;border-color:#d5ccc0}.add-dish-btn{font-family:Lato,sans-serif;font-size:.88rem;font-weight:700;color:#fff;background:#7a5c3a;border:none;border-radius:6px;padding:9px 16px;cursor:pointer;width:100%;transition:background .15s;letter-spacing:.03em}.add-dish-btn:hover{background:#5e4429}@media (max-width: 767px){.category-toggle-btn{padding:10px 0;min-height:44px}}@media screen and (max-width: 767px),screen and (orientation: landscape) and (max-height: 500px){.selection-panel{width:100%;min-width:unset;height:auto;position:static;padding:20px 16px;border-right:none;overflow-y:visible}.panel-sticky-header{top:47px}.form-field input,.form-field select,.search-input{font-size:16px}}@media screen and (orientation: landscape) and (max-height: 500px){.panel-sticky-header{top:38px}}@media screen and (min-width: 768px){.panel-title{font-size:1.31rem}.category-heading{font-size:.89rem}.dish-name{font-size:1.1rem}.dish-price{font-size:.95rem}.add-dish-heading,.form-field label{font-size:.92rem}.form-field input,.form-field select,.add-dish-btn{font-size:1.05rem}.badge-temporal{font-size:.8rem}.search-input{font-size:1.05rem}}.menu-preview-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 24px;background:#f2ede4;min-height:100vh;box-sizing:border-box;overflow-y:auto}.menu-preview-container{background:#fffdf7;border:2px solid #c9a96e;box-shadow:0 4px 24px #64461e1f;border-radius:4px;padding:40px 48px;width:100%;max-width:560px;font-family:Playfair Display,serif;box-sizing:border-box}.menu-header{text-align:center;margin-bottom:8px}.restaurant-name{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#b8860b;margin:0 0 12px;letter-spacing:.02em}.menu-divider{border:none;border-top:1px solid #c9a96e;margin:10px 0}.restaurant-address{font-family:Lato,sans-serif;font-size:.82rem;color:#7a6040;margin:6px 0 2px;text-transform:uppercase;letter-spacing:.08em}.restaurant-hours{font-family:Lato,sans-serif;font-size:.8rem;color:#9e8060;margin:2px 0 6px;font-style:italic}.menu-paired-block{margin-top:20px}.menu-paired-title{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:#b8860b;text-align:center;text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}.menu-columns-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.menu-columns-row .menu-section{margin-top:0}.menu-section{margin-top:20px}.menu-section-title{font-family:Playfair Display,serif;font-size:1rem;font-weight:600;color:#7a5c3a;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;text-align:center}.menu-items{display:flex;flex-direction:column;gap:6px}.menu-items--centered{align-items:center}.menu-item{display:flex;align-items:baseline;gap:0}.menu-item-name{font-family:Playfair Display,serif;font-size:.95rem;color:#2d2218}.menu-item-dots{flex:1;border-bottom:1px dotted #c9a96e;margin:0 6px;position:relative;top:-3px}.menu-item-price{font-family:Lato,sans-serif;font-size:.88rem;color:#5a4020;font-weight:700;white-space:nowrap}.menu-fixed-price-row{display:flex;justify-content:center;margin-top:8px}.menu-fixed-price{font-family:Lato,sans-serif;font-size:1rem;font-weight:700;color:#b8860b;border-top:1px solid #c9a96e;padding-top:4px}.menu-empty{font-family:Lato,sans-serif;font-size:.9rem;color:#b0a090;text-align:center;padding:32px 0;font-style:italic}.export-buttons{display:flex;gap:12px;margin-top:20px}.btn-export{font-family:Lato,sans-serif;font-size:.88rem;font-weight:700;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;letter-spacing:.04em;transition:opacity .15s}.btn-export:hover{opacity:.85}.btn-print{background:#7a5c3a;color:#fff}.btn-png{background:#b8860b;color:#fff}@media screen and (max-width: 767px),screen and (orientation: landscape) and (max-height: 500px){.menu-preview-wrapper{padding:20px 12px;min-height:auto}.menu-preview-container{padding:24px 20px}.menu-columns-row{grid-template-columns:1fr;gap:12px}.export-buttons{flex-direction:column;width:100%}.btn-export{width:100%;text-align:center}}@media print{body *{visibility:hidden}#menu-preview-container,#menu-preview-container *{visibility:visible}#menu-preview-container{position:absolute;left:0;top:0;border:none;box-shadow:none;max-width:100%}.export-buttons{display:none}}body.dark-mode{background:#1a1510}body.dark-mode .selection-panel{background:#221c15;border-right-color:#3a2e22}body.dark-mode .panel-title{color:#d4c4a8}body.dark-mode .panel-title-row,body.dark-mode .panel-sticky-header{background:#221c15}body.dark-mode .search-input{background:#2a2218;color:#e0d8cc;border-color:#4a3c2c}body.dark-mode .search-input:focus{border-color:#c9a96e}body.dark-mode .search-input::placeholder{color:#8a7a68}body.dark-mode .search-clear-btn{color:#8a7a68}body.dark-mode .search-clear-btn:hover{color:#c9a96e}body.dark-mode .category-heading{color:#c9a96e;border-bottom-color:#3a2e22}body.dark-mode .category-chevron{color:#c9a96e}body.dark-mode .dish-name{color:#e0d8cc}body.dark-mode .dish-price{color:#8a7a68}body.dark-mode .dish-checkbox:hover{background:#2e2518}body.dark-mode .add-dish-form{background:#1e1812;border-color:#3a2e22}body.dark-mode .add-dish-heading,body.dark-mode .form-field label{color:#c9a96e}body.dark-mode .form-field input,body.dark-mode .form-field select{background:#2a2218;color:#e0d8cc;border-color:#4a3c2c}body.dark-mode .form-field input:focus,body.dark-mode .form-field select:focus{border-color:#c9a96e}body.dark-mode .form-field input:disabled{background:#1a1510;color:#5a4e3e;border-color:#2e2418}body.dark-mode .layout-toggle-btn{border-color:#4a3c2c;color:#c9a96e}body.dark-mode .layout-toggle-btn:hover{background:#2e2518;border-color:#c9a96e}body.dark-mode .layout-toggle-btn.active{background:#7a5c3a;border-color:#7a5c3a;color:#fff}body.dark-mode .menu-preview-wrapper{background:#151210}body.dark-mode .mobile-tabs{background:#1a1510}body.dark-mode .mobile-tab{background:#221c15;color:#c9bfb0}body.dark-mode .mobile-tab--active{background:#7a5c3a;color:#ffe8c8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Lato,sans-serif;background:#f2ede4}.app-layout{display:flex;min-height:100vh}.mobile-tabs{display:none}@media screen and (max-width: 767px),screen and (orientation: landscape) and (max-height: 500px){.app-layout{flex-direction:column}.mobile-tabs{display:flex;position:sticky;top:0;z-index:100}.mobile-tab{flex:1;padding:14px 0;font-family:Lato,sans-serif;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:none;cursor:pointer;background:#3a2e22;color:#e0d8cc}.mobile-tab--active{background:#c9a96e;color:#2d2218}.app-layout[data-active-tab=preview] .selection-panel,.app-layout[data-active-tab=selection] .menu-preview-wrapper{display:none}}@media screen and (orientation: landscape) and (max-height: 500px){.mobile-tab{padding:10px 0}}
