*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{overflow:hidden}body:has(.landing){overflow:auto}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;color:#1a1a1a;background:#e8e0d4;-webkit-font-smoothing:antialiased}a{color:#bf5b3a;text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:inherit;font-size:inherit}button{font-family:inherit;cursor:pointer}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;background:#2b2017;color:#faf6f0;padding:8px 20px;flex-shrink:0;z-index:100}.header-brand{display:flex;align-items:baseline;gap:12px}.header-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;margin:0;line-height:1.2}.header-sub{font-size:12px;color:#a89a88}.header-sub a{color:#d4a574}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:320px;flex-shrink:0;background:#faf6f0;border-right:1px solid #d6c7ad;display:flex;flex-direction:column;overflow:hidden}.sidebar-scroll{flex:1;overflow-y:auto;padding:16px}.sidebar-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e8dcc8}.sidebar-group--bottom{border-bottom:none;margin-bottom:0}.sidebar-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sidebar-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b5e4e;margin-bottom:4px}.sidebar-label--row{display:flex;align-items:center;gap:6px;cursor:pointer}.sidebar-input,.sidebar-select{width:100%;padding:6px 10px;border:1px solid #d6c7ad;border-radius:4px;background:#fff;font-size:13px;margin-bottom:8px;outline:none;transition:border-color .15s}.sidebar-input:focus,.sidebar-select:focus{border-color:#bf5b3a}.sidebar-section-list{display:flex;flex-direction:column;gap:4px}.sidebar-section-btn{display:block;width:100%;padding:6px 10px;background:#fff;border:1px solid #d6c7ad;border-radius:4px;text-align:left;font-size:13px;color:#2b2017;transition:all .15s}.sidebar-section-btn:hover{background:#f0e8dc}.sidebar-section-btn--active{background:#bf5b3a;color:#fff;border-color:#bf5b3a}.sidebar-hint{color:#8a7e6e;font-size:12px;font-style:italic;padding:8px 0}.sidebar-section-editor{margin-top:8px}.editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.editor-header h3{font-size:14px;font-weight:600;color:#2b2017}.editor-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b5e4e;margin-bottom:4px}.editor-input{width:100%;padding:5px 8px;border:1px solid #d6c7ad;border-radius:3px;background:#fff;font-size:13px;margin-bottom:6px;outline:none}.editor-input:focus{border-color:#bf5b3a}.editor-input--price{width:70px;flex-shrink:0}.editor-input--name{flex:1}.editor-input--desc{font-size:12px;color:#666}.editor-items-header{display:flex;align-items:center;justify-content:space-between;margin-top:12px;margin-bottom:6px}.editor-items-list{display:flex;flex-direction:column;gap:8px}.editor-item-card{background:#fff;border:1px solid #e8dcc8;border-radius:4px;padding:8px}.editor-item-row{display:flex;gap:6px;margin-bottom:4px}.editor-item-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:500;transition:all .15s;background:#2b2017;color:#faf6f0}.btn:hover{opacity:.9}.btn-display{background:#2e7d6e;color:#fff;padding:6px 14px}.btn-print{background:#bf5b3a;color:#fff;padding:6px 16px}.btn-sm{padding:3px 8px;font-size:12px;background:#bf5b3a;color:#fff}.btn-icon{padding:4px;background:transparent;border:1px solid #d6c7ad;color:#6b5e4e;border-radius:3px}.btn-icon:hover{background:#f0e8dc}.btn-icon:disabled{opacity:.3;cursor:default}.btn-danger{color:#c0392b;border-color:#e8c8c8}.btn-danger:hover{background:#fde8e8}.btn-reset{width:100%;background:transparent;border:1px solid #d6c7ad;color:#6b5e4e;justify-content:center}.btn-reset:hover{background:#f0e8dc}.canvas{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 20px 40px;background:#d5cdc0;overflow:auto}.page-tabs{display:flex;align-items:center;gap:4px;margin-bottom:16px;flex-shrink:0}.page-tab{padding:6px 16px;border:1px solid #b8a990;border-radius:6px 6px 0 0;background:#e8dfd2;color:#6b5e4e;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.page-tab:hover{background:#f0e8dc}.page-tab--active{background:#fff;color:#2b2017;font-weight:600;border-bottom-color:#fff}.page-tab--add{padding:6px 10px;color:#bf5b3a;border-style:dashed}.page-tab--add:hover{background:#fff}.page-tab--delete{padding:6px 10px;color:#c0392b;border-style:dashed;border-color:#d4a0a0;background:transparent}.page-tab--delete:hover{background:#fde8e8}.page-tabs-hint{font-size:11px;color:#8a7e6e;margin-left:8px}.print-all-pages{display:none}.canvas-page-wrapper{flex-shrink:0}.mg-banner{display:flex;align-items:center;justify-content:center;gap:12px;background:#2b2017;color:#d4a574;padding:8px 20px;font-size:13px;flex-shrink:0}.mg-banner-link{color:#fff;font-weight:600}.mg-banner-link:hover{color:#bf5b3a}.emoji-picker{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.emoji-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #d6c7ad;border-radius:4px;background:#fff;font-size:16px;cursor:pointer;padding:0;transition:all .15s}.emoji-btn:first-child{width:auto;padding:0 8px;font-size:11px;color:#6b5e4e;font-weight:500}.emoji-btn:hover{background:#f0e8dc}.emoji-btn--active{border-color:#bf5b3a;background:#fde8e0;box-shadow:0 0 0 1px #bf5b3a}.image-fit-row{display:flex;gap:6px;margin-bottom:4px}.btn-fit-inactive{background:transparent;border:1px solid #d6c7ad;color:#6b5e4e}.btn-fit-inactive:hover{background:#f0e8dc}.image-preview-thumb{margin-top:10px;padding:8px;background:#f5f0e8;border-radius:4px;text-align:center}.header-actions{display:flex;align-items:center;gap:8px}.btn-sidebar-toggle{background:transparent;border:1px solid rgba(255,255,255,.25);color:#d4a574;padding:6px 8px}.btn-sidebar-toggle:hover{background:#ffffff1a;color:#fff}.btn-help{background:transparent;border:1px solid rgba(255,255,255,.25);color:#d4a574;padding:6px 12px}.btn-help:hover{background:#ffffff1a;color:#fff}.landing{min-height:100vh;background:#faf6f0;overflow-y:auto}.landing-inner{max-width:780px;margin:0 auto;padding:48px 24px 64px}.landing-hero{text-align:center;margin-bottom:48px}.landing-title{font-family:Playfair Display,serif;font-size:48px;font-weight:700;color:#2b2017;margin-bottom:12px;line-height:1.1}.landing-subtitle{font-size:18px;color:#6b5e4e;line-height:1.6;margin-bottom:28px}.landing-cta{display:inline-block;padding:14px 36px;background:#bf5b3a;color:#fff;border:none;border-radius:6px;font-size:17px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.landing-cta:hover{background:#a34e32}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}.landing-feature{background:#fff;border:1px solid #e8dcc8;border-radius:8px;padding:24px;text-align:center;color:#2b2017}.landing-feature svg{color:#bf5b3a;margin-bottom:10px}.landing-feature h3{font-size:16px;font-weight:600;margin-bottom:6px}.landing-feature p{font-size:13px;color:#6b5e4e;line-height:1.5}.landing-device-notice{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#eee8db;border-radius:6px;font-size:14px;color:#6b5e4e;margin-bottom:40px}.landing-device-notice svg{flex-shrink:0;color:#8a7e6e}.landing-mg{background:#2b2017;border-radius:10px;padding:32px;margin-bottom:40px}.landing-mg-content{display:flex;align-items:center;gap:28px}.landing-mg-logo{width:120px;height:auto;flex-shrink:0;border-radius:8px}.landing-mg-text{color:#faf6f0}.landing-mg-text h2{font-family:Playfair Display,serif;font-size:22px;margin-bottom:8px;color:#fff}.landing-mg-text p{font-size:14px;color:#c8bca8;line-height:1.6;margin-bottom:12px}.landing-mg-price{font-size:15px;color:#d4a574;margin-bottom:12px}.landing-mg-price strong{color:#fff;font-size:18px}.landing-mg-link{display:inline-block;padding:10px 24px;background:#bf5b3a;color:#fff;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none;transition:background .15s}.landing-mg-link:hover{background:#a34e32;text-decoration:none}.landing-bottom{text-align:center}.landing-fine{margin-top:12px;font-size:13px;color:#8a7e6e}@media(max-width:1024px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 16px #00000026}.sidebar.sidebar--open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000059;z-index:199}.sidebar-overlay--visible{display:block}.btn-sidebar-toggle{display:inline-flex}}@media(min-width:1025px){.btn-sidebar-toggle,.sidebar-overlay{display:none}}@media(max-width:768px){.app-header{padding:6px 10px}.header-brand{gap:6px;min-width:0}.header-title{font-size:16px}.header-sub{display:none}.header-actions{gap:4px;flex-shrink:0}.btn-help,.btn-display,.btn-print{padding:5px 8px;font-size:12px}.btn-sidebar-toggle{padding:5px 6px}.page-tabs{flex-wrap:wrap;justify-content:center}.page-tab{padding:4px 10px;font-size:12px}}.landing-legal-links{margin-top:8px}.landing-legal-toggle{background:none;border:none;color:#a89a88;font-size:12px;cursor:pointer;font-family:inherit;padding:2px 4px;transition:color .15s}.landing-legal-toggle:hover{color:#6b5e4e;text-decoration:underline}.landing-legal{margin-top:40px;padding:32px;background:#fff;border:1px solid #e8dcc8;border-radius:8px;color:#2b2017;line-height:1.7;font-size:14px}.landing-legal h2{font-family:Playfair Display,serif;font-size:22px;font-weight:700;margin-bottom:4px;color:#2b2017}.landing-legal h3{font-size:15px;font-weight:600;margin-top:20px;margin-bottom:4px;color:#2b2017}.landing-legal p{margin-bottom:12px;color:#4a3f33}.landing-legal a{color:#bf5b3a;text-decoration:none}.landing-legal a:hover{text-decoration:underline}.landing-legal-updated{font-size:12px;color:#8a7e6e;margin-bottom:16px}.landing-legal-divider{border:none;border-top:1px solid #e8dcc8;margin:28px 0}.landing-legal-entity{margin-top:20px;font-size:12px;color:#8a7e6e;text-align:center}@media(max-width:600px){.landing-title{font-size:32px}.landing-subtitle{font-size:15px}.landing-features{grid-template-columns:1fr}.landing-mg-content{flex-direction:column;text-align:center}.landing-mg-logo{width:80px}.landing-inner{padding:32px 16px 48px}}.menu-page{display:flex;flex-direction:column;box-shadow:0 4px 24px #0000002e;overflow:hidden}.menu-header-zone{padding:24px 32px 16px;text-align:center;flex-shrink:0}.menu-title{font-size:28px;font-weight:700;margin:0;letter-spacing:2px}.menu-subtitle{font-size:13px;margin:4px 0 0;letter-spacing:1px;opacity:.85}.menu-body{flex:1;overflow:hidden;padding:0}.menu-footer-zone{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;flex-shrink:0;gap:12px}.menu-footer-text{font-size:11px;flex:1;text-align:center}.menu-footer-qr{flex-shrink:0}.section-box{border:1px solid transparent;padding:10px 14px;cursor:grab;transition:border-color .15s,box-shadow .15s}.resize-handle{position:absolute;width:16px;height:16px;bottom:0;right:0;cursor:nwse-resize;opacity:0;transition:opacity .15s;pointer-events:none}.resize-handle:after{content:"";position:absolute;bottom:2px;right:2px;width:0;height:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent transparent rgba(0,0,0,.3) transparent}.section-box:hover .resize-handle,.section-box--selected .resize-handle,.image-box:hover .resize-handle,.image-box--selected .resize-handle{opacity:1}@media(pointer:coarse){.section-box--selected .resize-handle,.image-box--selected .resize-handle{width:28px;height:28px;opacity:1}.section-box--selected .resize-handle:after,.image-box--selected .resize-handle:after{border-width:0 0 18px 18px;bottom:2px;right:2px}.menu-body{touch-action:none}}.section-box:hover{border-color:#00000026}.section-box--selected{border:2px dashed #2196f3!important;box-shadow:0 0 0 2px #2196f326}.section-box--overflow{border-color:#e74c3c!important}.section-content{height:100%;overflow:hidden}.section-title{font-size:16px;font-weight:700;margin:0 0 8px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid currentColor;padding-bottom:4px}.section-items{display:flex;flex-direction:column;gap:4px}.section-empty{font-size:12px;font-style:italic;margin:8px 0}.image-box{border:1px solid transparent;cursor:grab;transition:border-color .15s,box-shadow .15s}.image-box:hover{border-color:#00000026}.image-box--selected{border:2px dashed #2196f3!important;box-shadow:0 0 0 2px #2196f326}.item-row{display:flex;align-items:baseline;gap:4px;line-height:1.4}.item-info{display:flex;flex-direction:column;flex-shrink:0;max-width:70%}.item-name{font-size:13px;font-weight:600}.item-desc{font-size:11px;line-height:1.3}.item-dots{flex:1;border-bottom:1px dotted currentColor;opacity:.3;min-width:20px;margin-bottom:3px}.item-price{font-size:13px;font-weight:600;flex-shrink:0;white-space:nowrap}.snap-guides-container{position:absolute;inset:0;pointer-events:none;z-index:100}.snap-guide{position:absolute;display:none}.snap-guide--v{width:1px;top:0;bottom:0;background:#e84393;box-shadow:0 0 4px #e84393}.snap-guide--h{height:1px;left:0;right:0;background:#e84393;box-shadow:0 0 4px #e84393}@media print{.app-header,.sidebar,.sidebar-overlay,.mg-banner,.landing,.page-tabs{display:none!important}.canvas{display:block!important;padding:0!important;background:none!important;overflow:visible!important;height:auto!important}html,body,#root{height:auto;overflow:visible;background:#fff}.app-shell{display:block;height:auto}.app-body{display:block}.canvas-page-wrapper{display:none!important}.print-all-pages{display:block!important}.menu-page{box-shadow:none!important;margin:0!important;position:static!important;page-break-after:always}.menu-page:last-child{page-break-after:auto}.section-box{border:none!important;box-shadow:none!important;cursor:default!important}.react-resizable-handle,[class*=react-rnd]>div:last-child{display:none!important}.section-box--selected,.image-box--selected{border:none!important;box-shadow:none!important}.image-box{border:none!important;box-shadow:none!important;cursor:default!important}.image-box .resize-handle,.section-box .resize-handle,.snap-guides-container{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.display-view{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.display-page-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.display-page-container .menu-page{box-shadow:none!important;transform-origin:center center}.display-page-container .menu-page{animation:display-fade-in .5s ease}@keyframes display-fade-in{0%{opacity:0}to{opacity:1}}.display-burn-shift{animation:burn-shift 2s ease-in-out}@keyframes burn-shift{0%{opacity:1;transform:translate(0)}30%{opacity:.6;transform:translate(1px,1px)}60%{opacity:.6;transform:translate(-1px,-1px)}to{opacity:1;transform:translate(0)}}.display-controls{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:8px 14px;border-radius:12px;z-index:10000;opacity:1;transition:opacity .4s ease}.display-controls.hidden{opacity:0;pointer-events:none}.display-controls button{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.display-controls button:hover{background:#ffffff26;border-color:#fff6}.display-controls button.active{background:#fff3;border-color:#ffffff80}.display-controls-sep{width:1px;height:20px;background:#fff3;flex-shrink:0}.display-page-indicator{color:#fff9;font-size:11px;padding:0 4px;white-space:nowrap}.display-speed-select{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:5px 6px;border-radius:6px;font-size:12px;cursor:pointer;outline:none}.display-speed-select option{background:#222;color:#fff}.display-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;z-index:10001;animation:toast-in .3s ease,toast-out .3s ease 1.7s forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.display-help-banner{position:fixed;top:0;left:0;right:0;z-index:10002;display:flex;justify-content:center;padding:16px;animation:toast-in .4s ease}.display-help-inner{display:flex;align-items:flex-start;gap:12px;background:#000000e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:16px 20px;border-radius:12px;max-width:520px;font-size:13px;line-height:1.5}.display-help-inner svg{flex-shrink:0;margin-top:2px;opacity:.7}.display-help-inner strong{font-size:14px}.display-help-inner p{margin:6px 0 0;color:#fffc}.display-help-keys{font-size:11px;color:#ffffff80!important;margin-top:4px!important}.display-help-dismiss{flex-shrink:0;align-self:center;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.display-help-dismiss:hover{background:#ffffff40}@media print{.display-view,.display-controls{display:none!important}}
