:root{--ink:#183c31;--muted:#596b62;--paper:#f4f2ec;--line:#d8dfd7;--accent:#a9522c;--white:#fff;--wash:#e9efe8;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a9522c;outline-offset:3px}input,textarea,select{border:1px solid #8b9d91;border-radius:8px;background:#fff;color:var(--ink);padding:.8rem .95rem;min-width:0;width:100%;min-height:46px}input[type=checkbox],input[type=radio]{width:19px;height:19px;min-height:0;accent-color:var(--ink);flex-shrink:0}input[type=file]{padding:.5rem;max-width:100%}textarea{resize:vertical}label{display:block}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(2.5rem,4vw,4rem);line-height:1.1;margin-bottom:1rem}h2{font-size:1.3rem;letter-spacing:-.025em;margin-bottom:.2rem}h3{font-size:1.1rem;margin:0}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;color:var(--accent);margin-bottom:1rem}.topbar{height:90px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 3vw;background:#fff}.brand{font:2.3rem Georgia,serif;letter-spacing:-.04em;text-decoration:none;display:flex;gap:1.2rem;align-items:center}.brand span{font:600 .65rem Inter,sans-serif;letter-spacing:.17em;border-left:1px solid var(--line);padding-left:1.2rem;max-width:6rem;line-height:1.7}.top-actions{display:flex;align-items:center;gap:1.5rem}.demo-tag{font-size:.75rem;letter-spacing:.05em}.demo-tag b{display:inline-block;min-width:3rem;font-variant-numeric:tabular-nums;margin-left:.5rem}.catalog-link{font-size:.875rem;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1rem;min-height:46px;border-radius:8px;border:1px solid var(--ink);text-decoration:none;font-size:1rem;font-weight:600;background:none;white-space:normal}.primary{background:var(--ink);color:white}.primary:hover{background:#285c49}.secondary{background:#fff;color:var(--ink);border-color:#8b9d91}.secondary:hover{background:var(--wash)}main{max-width:1540px;margin:auto;padding:3.5rem 3vw 4rem}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.3rem}.page-heading>div{max-width:48rem}.page-heading p:not(.eyebrow){color:var(--muted);margin:0}.page-heading #save-state{font-size:.875rem;white-space:nowrap;display:flex;gap:.5rem;align-items:center;padding-bottom:.3rem}#save-state:before{content:'';width:7px;height:7px;background:#3c7354;border-radius:50%}#save-state[data-state=error]{color:#a12d2d}#save-state[data-state=error]:before{background:#a12d2d}.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}.editor-column{min-width:0}.panel{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:1.25rem;overflow:hidden}.panel summary{display:flex;align-items:center;gap:1rem;padding:1.5rem;cursor:pointer;list-style:none}.panel summary::-webkit-details-marker{display:none}.panel summary strong{font-size:1.125rem}.panel summary small{display:block;color:var(--muted);font-size:.875rem;margin-top:.2rem}.section-number{font-size:.8rem;letter-spacing:.08em;color:var(--accent);width:1.4rem;flex-shrink:0}.chevron{margin-left:auto;font-size:1.5rem}.settings-body{border-top:1px solid var(--line);padding:1.6rem}.settings-group{border-bottom:1px solid var(--line);padding-bottom:1.6rem;margin-bottom:1.6rem}.settings-group:last-child{border:0}.settings-group h3{margin-bottom:1rem}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{margin-bottom:1.2rem;min-width:0}.field>label,.field>.label-action{font-weight:600;margin-bottom:.45rem}.helper,.form-footer p,.reset-note{font-size:.875rem;color:var(--muted);line-height:1.6}.helper{margin:.4rem 0}.radio-options{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0}.radio-options label,.device-options label,.dish-options label{display:flex;gap:.55rem;align-items:center}.hours-row{display:grid;grid-template-columns:6rem 1fr auto;gap:.75rem;align-items:start;padding:.6rem 0}.hours-row>span{padding-top:.7rem}.hours-slot{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.hours-slot input{font-size:.875rem;padding:.55rem;min-height:42px}.hours-empty{font-size:.875rem;color:var(--muted);padding:.7rem 0}.icon-button{border:1px solid #8b9d91;color:var(--ink);background:white;border-radius:7px;min-width:40px;min-height:40px;font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--wash)}.form-footer{display:flex;align-items:center;gap:1rem;justify-content:space-between}.form-footer p{margin:0;max-width:20rem}.section-heading{display:flex;align-items:center;gap:1rem;padding:1.5rem}.section-heading>div{flex:1}.section-heading p{color:var(--muted);font-size:.875rem;margin:.3rem 0 0}.reorder-help{font-size:.875rem;color:var(--muted);padding:0 1.5rem 1rem;border-bottom:1px solid var(--line)}.category{border-bottom:1px solid var(--line)}.category-top{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#fbfcfa}.category-open{flex:1;text-align:left;font-weight:650;font-size:1.1rem;border:0;background:none;min-height:44px;overflow-wrap:anywhere;color:var(--ink)}.category-open small{margin-left:.5rem;color:var(--muted);font-size:.875rem;font-weight:400}.drag-handle{cursor:grab;border:0;background:none;color:#66796e;min-height:44px;min-width:25px;font-size:1.3rem}.move-controls{display:flex;gap:.25rem}.move-controls button{border:0;background:none;color:#496555;min-width:32px;min-height:40px;font-size:1rem}.text-button{border:0;background:none;min-height:40px;padding:.4rem;color:var(--ink);font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.danger{color:#a12d2d}.category-actions{display:flex;gap:.3rem}.category-items{padding:.1rem 1.4rem 1rem}.dish-row{border-bottom:1px solid var(--line);padding:.8rem 0}.dish-top{display:flex;gap:.6rem;align-items:center}.dish-open{display:flex;gap:.8rem;align-items:center;flex:1;min-width:0;text-align:left;background:none;border:0;color:var(--ink);padding:.35rem 0;min-height:54px}.dish-thumb{width:46px;height:46px;border-radius:8px;object-fit:cover;background:var(--wash);flex-shrink:0}.dish-name{flex:1;overflow-wrap:anywhere}.dish-price{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.dish-expanded{padding:.75rem 0 .5rem 2rem}.dish-expanded p{font-size:.875rem;margin-bottom:.65rem;color:var(--muted);overflow-wrap:anywhere}.dish-expanded strong{color:var(--ink)}.dish-edit-actions{display:flex;gap:1rem;align-items:center}.add-item,.add-category-bottom{border:0;background:transparent;color:var(--ink);font-weight:600;font-size:1rem;padding:1rem;min-height:50px;width:100%;text-align:left}.add-item{margin-top:.7rem;border:1px dashed #8b9d91;border-radius:8px}.add-item:hover,.add-category-bottom:hover{background:var(--wash)}.add-category-bottom{padding:1.25rem 1.5rem}.empty-menu{padding:2rem;text-align:center;color:var(--muted)}.preview-column{position:sticky;top:1.5rem}.preview-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.875rem}.preview-heading>span{font-size:.65rem;letter-spacing:.09em;color:var(--muted)}.live-dot{display:inline-block;width:7px;height:7px;background:#52896a;border-radius:50%;margin-right:.5rem}.preview-hint,.preview-caption{font-size:.875rem;color:var(--muted);line-height:1.6}.preview-hint{margin:.65rem 0 1rem}.phone-shell{width:324px;height:670px;border:8px solid #222c27;border-radius:47px;box-shadow:0 22px 50px #1c392221,0 0 0 2px #abb6aa;position:relative;overflow:hidden;background:#f9f6ef;margin:0 auto}.phone-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:#202824;width:93px;height:24px;border-radius:20px;z-index:2;pointer-events:none}.phone-shell iframe{display:block;border:0;width:100%;height:100%;border-radius:35px}.preview-caption{text-align:center;margin-top:1rem}.reset-note{margin:1.5rem .25rem}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:.8rem 1.3rem;border-radius:10px;box-shadow:0 5px 25px #0002;z-index:40;max-width:90vw;font-size:.875rem}.skip{position:fixed;top:-100px;left:1rem;background:white;z-index:100;padding:1rem}.skip:focus{top:1rem}[hidden]{display:none!important}dialog{border:0;border-radius:18px;padding:0;width:min(760px,94vw);max-height:92vh;color:var(--ink);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#132c2380;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--line);background:#f8faf7}.dialog-heading .eyebrow{margin-bottom:.4rem}.dialog-heading h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.dialog-body{padding:1.7rem 2rem;max-height:65vh;overflow:auto}.dialog-footer{border-top:1px solid var(--line);padding:1rem 2rem;display:flex;gap:.7rem;justify-content:end;background:white}.dish-options{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;padding:1rem;background:var(--wash);border-radius:8px;margin-bottom:1rem;font-size:.875rem}.price-field{max-width:18rem}.label-action{display:flex;justify-content:space-between;align-items:center;gap:1rem}.ai-button{border:1px solid #bacbbd;background:#f0f5ed;color:#355237;border-radius:7px;font-size:.875rem;min-height:36px;padding:.4rem .7rem}.subheading{display:flex;align-items:center;justify-content:space-between}.variant{padding:1rem;margin:1rem 0;background:#f8faf6;border:1px solid var(--line);border-radius:10px}.variant-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.allergen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem .6rem}.allergen-grid label{display:flex;align-items:center;gap:.35rem;font-size:.875rem;min-height:36px}.allergen-grid input{width:17px;height:17px}fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}legend{font-weight:600;padding:0;margin-bottom:.6rem}.allergen-field{margin:1.5rem 0}.image-editor{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px dashed #8b9d91;border-radius:10px;min-width:0}.image-editor>div{min-width:0}.image-editor img{width:100px;height:100px;object-fit:cover;border-radius:8px}.device-options{display:flex;gap:1.3rem;flex-wrap:wrap}.image-settings-preview{width:100%;max-height:120px;object-fit:cover;border-radius:8px;margin:.5rem 0}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.social-grid label{font-size:.875rem;font-weight:600}.social-grid input{margin-top:.4rem}#item-error,#load-error{background:#fff0eb;color:#8d301b;border:1px solid #bc6447;border-radius:8px;padding:1rem;margin-bottom:1rem}.drag-over{outline:2px solid var(--accent);outline-offset:-2px}.swal2-popup{font-family:inherit!important;color:var(--ink)!important}.swal2-confirm{background:var(--ink)!important}.swal2-input{width:calc(100% - 4rem)!important}
@media(min-width:1600px){.studio-grid{grid-template-columns:minmax(0,1fr) 380px;gap:5rem}.phone-shell{width:352px;height:730px}}@media(max-width:1100px){.studio-grid{gap:1.5rem;grid-template-columns:minmax(0,1fr) 320px}.phone-shell{width:306px;height:634px}.section-heading{flex-wrap:wrap}.section-heading .button{margin-left:2.4rem}.category-top{padding:1rem}.category-actions{flex-wrap:wrap}.preview-heading{display:block}.preview-heading>span{display:block;margin-top:.3rem}}@media(max-width:850px){.studio-grid{grid-template-columns:minmax(0,1fr)}.preview-column{position:static;max-width:360px;margin:1.5rem auto;width:100%}.phone-shell{width:min(324px,100%);height:670px}.page-heading{align-items:start;flex-direction:column;gap:1rem}.topbar{height:auto;min-height:80px;padding:1rem;gap:1rem;flex-wrap:wrap}.top-actions{gap:.7rem;flex-wrap:wrap}.catalog-link{display:none}main{padding:2rem 1rem}.brand{font-size:2rem}.brand span{font-size:.6rem}.category-actions{gap:0}.fields-2{grid-template-columns:1fr 1fr}}@media(max-width:500px){.top-actions .button{font-size:.875rem;min-height:40px}.brand span{display:none}.top-actions{margin-left:auto}.demo-tag{font-size:.65rem}.page-heading h1{font-size:2.65rem}.settings-body,.section-heading{padding:1.2rem}.fields-2,.social-grid{grid-template-columns:1fr}.category-top{flex-wrap:wrap;gap:.2rem}.category-open{font-size:1rem}.category-actions{margin-left:auto}.category-items{padding:0 .8rem .8rem}.dish-thumb{display:none}.dish-expanded{padding-left:.5rem}.dish-price{font-size:.875rem}.form-footer{flex-direction:column;align-items:start}.hours-row{grid-template-columns:4.7rem 1fr auto;gap:.3rem}.hours-slot{flex-wrap:wrap}.hours-slot input{width:100%}.dialog-heading,.dialog-body{padding:1.2rem}.dialog-body{max-height:65vh}.dialog-footer{padding:1rem}.allergen-grid{grid-template-columns:repeat(2,1fr)}.label-action{align-items:start;gap:.5rem;flex-wrap:wrap}.image-editor{flex-direction:column;align-items:start}.section-heading .button{margin-left:0}.preview-column{max-width:100%}.phone-shell{height:620px}.eyebrow{font-size:.75rem}.reorder-help{padding:0 1.2rem 1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(min-width:851px){.preview-column{margin-top:-165px}}

.eyebrow,.section-number,.preview-heading>span,.demo-tag,.brand span{font-size:.875rem}.brand span{max-width:7.5rem}.preview-heading{flex-wrap:wrap}
/* Keep the save status with the editor heading, clear of the raised phone preview. */
.page-heading{flex-direction:column;align-items:flex-start;gap:.85rem}
.page-heading>div{max-width:100%;min-width:0}
.page-heading #save-state{white-space:normal;max-width:100%;padding-bottom:0;overflow-wrap:anywhere}
@media(min-width:851px){.page-heading{width:calc(100% - 388px)}.preview-column{margin-top:-205px}}
@media(min-width:851px) and (max-width:1100px){.page-heading{width:calc(100% - 344px)}}
@media(min-width:1600px){.page-heading{width:calc(100% - 460px)}}

/* Categories share one level; their contents form a visibly nested group. */
.category-items{margin-inline:2rem 1.4rem;padding:.1rem 0 1rem 1rem;border-inline-start:1px solid #b9c9bb}
@media(max-width:500px){
  .category-items{margin-inline:1.25rem .8rem;padding:0 0 .8rem .75rem}
  .dish-top{flex-wrap:wrap}
  .dish-open{flex-basis:calc(100% - 2.25rem)}
  .dish-price{margin-inline-start:calc(25px + .6rem)}
}

/* The studio and its live menu share Osteria del Ponte's typography and paper. */
:root{--ink:#241c14;--muted:#65594d;--paper:#f6f2ea;--line:#d2c6b7;--accent:#9d4d2d;--wash:#eee7db;font-family:'Barlow',sans-serif}
h1,.brand,.dialog-heading h2{font-family:'EB Garamond',Georgia,serif}.brand{font-size:1.8rem;line-height:1.05;letter-spacing:-.035em}.brand span{font-family:'Barlow',sans-serif;font-size:.875rem;letter-spacing:.08em;max-width:7rem}.topbar{gap:1.5rem}.eyebrow,.section-number,.demo-tag,.preview-heading>span{font-size:.875rem}.primary:hover{background:#503a28}.secondary,.icon-button,.add-item,input,textarea,select{border-color:#9b8875}.category-top,.dialog-heading,.variant{background:#faf7f0}.category-items{border-inline-start-color:#cbbbab}.drag-handle,.move-controls button{color:#65594d}.ai-button{color:#513824;background:#f5eee2;border-color:#bca992}.phone-shell{border-color:#29231d;box-shadow:0 22px 50px #39271921,0 0 0 2px #b6aa9c}.phone-island{background:#29231d}.dialog-heading{background:#f6f2ea}dialog::backdrop{background:#241c1480}.hours-slot input,.text-button{font-size:1rem}
@media(max-width:850px){.topbar{height:auto;min-height:90px;padding-block:1rem;flex-wrap:wrap}.top-actions{flex-wrap:wrap;gap:.65rem 1rem}.brand{font-size:1.65rem}}
@media(max-width:500px){.brand{flex-wrap:wrap;gap:.5rem}.brand span{border:0;padding-left:0;max-width:none}.top-actions{width:100%;justify-content:space-between}.preview-heading{flex-wrap:wrap}.page-heading #save-state{white-space:normal}}

/* Osteria del Ponte menu studio: the same dark rail and paper workspace as the public site. */
:root{--ink:#241c14;--muted:#716456;--paper:#f6f2ea;--line:#cbbdab;--accent:#a25232;--wash:#eee5d9;--rail:#241c14;--rail-line:#5a4b3d;font-family:'Barlow',Arial,sans-serif}
body{min-height:100vh;background:var(--paper);color:var(--ink)}
.topbar{position:fixed;inset:0 auto 0 0;z-index:20;width:276px;height:100vh;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:2rem 1.75rem 1.5rem;background:var(--rail);border:0;border-right:1px solid var(--rail-line);color:#f6f2ea}
.rail-intro{display:grid;gap:1.4rem}.brand{display:block;font:400 clamp(2rem,2.3vw,2.65rem)/.96 'EB Garamond',Georgia,serif;color:#fff6eb;letter-spacing:-.045em}.brand span{display:block;border:0;padding:1rem 0 0;font:500 .875rem/1.4 'Barlow',Arial,sans-serif;letter-spacing:.15em;color:#d2b29a;max-width:none}.rail-label{margin:0;padding-top:1.35rem;border-top:1px solid var(--rail-line);font:500 .875rem/1.4 'Barlow',Arial,sans-serif;letter-spacing:.16em;color:#e3a783}.rail-note{margin:0;color:#d1c1b1;font:400 1rem/1.55 'Barlow',Arial,sans-serif;max-width:12rem}.top-actions{margin-top:auto;display:grid;gap:.8rem;align-items:stretch}.demo-tag{order:-1;display:block;padding:.85rem 0;border-top:1px solid var(--rail-line);color:#d7c5b2;font:500 .875rem/1.4 'Barlow',Arial,sans-serif;letter-spacing:.1em}.demo-tag b{color:#fff6eb;margin-left:.45rem}.catalog-link{font:400 1rem/1.45 'Barlow',Arial,sans-serif;color:#efe4d7;text-decoration:none}.catalog-link:hover{text-decoration:underline;text-underline-offset:4px}.topbar .button{width:100%;border-radius:0;border-color:#c9af97;color:#fff6eb;background:transparent;font-weight:500}.topbar .button:hover{border-color:#e1ad8a;background:#a25232;color:#fff}.rail-reset{margin:1.35rem 0 0;padding-top:1.1rem;border-top:1px solid var(--rail-line);color:#a99988;font:400 .875rem/1.45 'Barlow',Arial,sans-serif}
main{max-width:none;margin-left:276px;padding:clamp(2rem,5vw,5.75rem) clamp(1.25rem,5vw,6rem) 5rem}.page-heading{width:auto!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,23rem);align-items:end;gap:2rem;margin:0 0 3.5rem}.page-heading>div{max-width:50rem}.page-heading h1{margin:.55rem 0 0;font:400 clamp(3.25rem,5vw,5.8rem)/.95 'EB Garamond',Georgia,serif;letter-spacing:-.055em}.page-heading .eyebrow{margin:0;color:var(--accent);font-size:.875rem;letter-spacing:.17em}.page-heading p:not(.eyebrow){margin:1.35rem 0 0;max-width:34rem;color:var(--muted);font-size:1.125rem;line-height:1.6}.page-heading #save-state{align-self:end;justify-self:end;max-width:23rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1rem;color:#594a3b}.page-heading #save-state:before{width:9px;height:9px;background:#748c63}
.studio-grid{grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:clamp(2rem,4vw,5.5rem);align-items:start}.editor-column{border-top:1px solid var(--ink)}.panel{margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;overflow:visible}.panel summary{padding:1.75rem 0;gap:1rem}.panel summary strong{font:400 2rem/1.05 'EB Garamond',Georgia,serif}.panel summary small{font:400 .875rem/1.5 'Barlow',Arial,sans-serif;color:var(--muted);margin-top:.45rem}.section-number{width:auto;color:var(--accent);font:500 .875rem/1.4 'Barlow',Arial,sans-serif;letter-spacing:.14em}.chevron{font-size:1.5rem;color:#725e4b}.settings-body{padding:0 0 2.4rem;border-top:0}.settings-group{padding:1.7rem 0;border-bottom:1px solid #dcd1c2;margin:0}.settings-group h3{font:400 1.65rem/1.1 'EB Garamond',Georgia,serif;margin-bottom:1.15rem}.field>label,.field>.label-action,legend{font:500 1rem/1.4 'Barlow',Arial,sans-serif}.helper,.form-footer p,.reset-note{font-size:.875rem;color:var(--muted)}input,textarea,select{border:0;border-bottom:1px solid #9d8975;border-radius:0;background:#fffdf9;padding:.85rem 0;color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:0;box-shadow:0 2px 0 var(--accent)}.button{border-radius:0;border-color:#5c4936;font-weight:500}.primary{background:var(--ink);color:#fff6eb}.primary:hover{background:#503a28}.secondary{background:transparent;color:var(--ink);border-color:#9d8975}.secondary:hover{background:#ece2d5}.form-footer{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid #dcd1c2}.form-footer p{max-width:23rem}.section-heading{padding:1.75rem 0;gap:1rem}.section-heading h2{font:400 2rem/1.05 'EB Garamond',Georgia,serif}.section-heading p{font-size:.875rem;color:var(--muted)}.section-heading .button{margin-left:auto}.reorder-help{padding:0 0 1.2rem;border:0;color:var(--muted)}.category{border-top:1px solid #d9cebf}.category-top{padding:1rem 0;background:transparent}.category-open{font:400 1.45rem/1.2 'EB Garamond',Georgia,serif}.category-open small{font-family:'Barlow',Arial,sans-serif;color:var(--muted)}.drag-handle,.move-controls button{color:#796754}.text-button{font-size:.875rem;color:#594735}.category-items{margin:0 0 0 1.35rem;padding:0 0 1.4rem 1.2rem;border-inline-start:1px solid #cdbdac}.dish-row{border-bottom:1px solid #dfd3c4}.dish-open{font-size:1rem}.dish-thumb{border-radius:0;background:#e5dbce}.dish-price{font-family:'EB Garamond',Georgia,serif;font-size:1.2rem;font-weight:400}.dish-expanded{padding-left:0}.add-item,.add-category-bottom{color:#8b4126;font-weight:500}.add-item{border-color:#b69b82;border-radius:0}.add-item:hover,.add-category-bottom:hover{background:#ece2d5}.preview-column{position:sticky;top:2.25rem;margin:0!important;padding:1.4rem;background:#2a2119;color:#f4eadf;border:1px solid #4f4033}.preview-heading{color:#f8ecdf}.preview-heading>span{font-size:.875rem;color:#d0bca8;letter-spacing:.12em}.live-dot{background:#94b37e}.preview-hint,.preview-caption{color:#d5c3b2;font-size:.875rem}.phone-shell{width:min(100%,324px);height:670px;border:8px solid #17120e;border-radius:42px;box-shadow:0 18px 42px #0008,0 0 0 1px #917862;background:var(--paper)}.phone-island{background:#17120e}.reset-note{padding-top:1.4rem;border-top:1px solid var(--line)}
dialog{border-radius:0;box-shadow:0 30px 100px #241c1470;background:#f6f2ea}dialog::backdrop{background:#241c1490}.dialog-heading{background:#2a2119;color:#f6f2ea;padding:1.8rem 2rem;border:0}.dialog-heading h2{font-family:'EB Garamond',Georgia,serif}.dialog-heading .eyebrow{color:#e2a681}.dialog-body{background:#f6f2ea}.dialog-footer{background:#f6f2ea;border-color:var(--line)}.icon-button{border-radius:0;border-color:#aa927d;background:transparent;color:inherit}.dish-options,.variant{border-radius:0;background:#eee4d7}.ai-button{border-radius:0;background:#f1e6d7;border-color:#bda38c;color:#693c27}.image-editor{border-radius:0;border-color:#bda38c}.toast{border-radius:0;background:#2a2119;color:#f8ecdf}
@media(max-width:1200px){.topbar{width:238px;padding:1.6rem 1.3rem}.rail-note{font-size:.9375rem}main{margin-left:238px;padding-inline:clamp(1.5rem,4vw,3.5rem)}.studio-grid{grid-template-columns:minmax(0,1fr) 300px;gap:2rem}.phone-shell{height:620px;width:300px}.page-heading{grid-template-columns:1fr}}
@media(max-width:850px){.topbar{position:relative;width:100%;height:auto;min-height:0;padding:1.1rem 1.25rem;display:flex;flex-direction:row;align-items:center;gap:1rem;border-right:0;border-bottom:1px solid var(--rail-line)}.rail-intro{display:block;min-width:0}.brand{font-size:1.8rem}.brand span,.rail-label,.rail-note,.rail-reset,.catalog-link{display:none}.top-actions{margin:0 0 0 auto;display:flex;align-items:center;gap:.6rem}.demo-tag{order:0;border:0;padding:0;font-size:.75rem}.topbar .button{width:auto;min-height:42px;padding:.65rem .85rem;font-size:.875rem}main{margin-left:0;padding:2.5rem 1.25rem 3rem}.page-heading{display:block;margin-bottom:2.5rem}.page-heading h1{font-size:clamp(3rem,10vw,4.4rem)}.page-heading #save-state{display:flex;justify-self:auto;max-width:none;margin-top:1.5rem}.studio-grid{grid-template-columns:1fr}.preview-column{position:static;max-width:390px;margin:2rem auto!important}.phone-shell{width:324px;height:670px}.editor-column{order:0}}
@media(max-width:500px){.topbar{padding:.9rem 1rem}.brand{font-size:1.5rem}.demo-tag{display:none}.topbar .button{font-size:.8125rem}.page-heading h1{font-size:3rem}.page-heading p:not(.eyebrow){font-size:1rem}.section-heading{flex-wrap:wrap}.section-heading .button{margin-left:0}.fields-2,.social-grid{grid-template-columns:1fr}.category-top{flex-wrap:wrap}.category-actions{margin-left:auto}.phone-shell{width:min(324px,100%);height:620px}.dialog-heading,.dialog-body{padding:1.25rem}.dialog-footer{padding:1rem;flex-wrap:wrap}.allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel summary{align-items:flex-start;flex-wrap:wrap}.panel summary>span:nth-child(2){min-width:0;flex:1 1 10rem}.panel summary strong,.panel summary small{overflow-wrap:anywhere}.panel summary .chevron{margin-left:auto}.hours-row{grid-template-columns:minmax(0,1fr)}.hours-row>span{padding-top:0}.hours-row>.icon-button{justify-self:start}.hours-slot{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.hours-slot .text-button{grid-column:1/-1;justify-self:start}.hours-slot input{min-width:0}.dish-open{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;min-width:0;flex:1 1 100%}.dish-name{min-width:0;overflow-wrap:anywhere}.dish-price{margin:0;justify-self:start;white-space:normal}}

/* Sala e tavoli — lo stesso linguaggio materico del Menu Studio. */
.service-panel{margin-top:1.6rem}.service-intro{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;padding:0 0 25px;border-bottom:1px solid var(--line)}.service-intro h3,.floorplan-head h3,.table-management h3{font:400 1.65rem/1.1 'EB Garamond',Georgia,serif;margin:4px 0 7px}.service-intro p:not(.eyebrow),.floorplan-head p{color:var(--muted);line-height:1.55;margin:0}.service-qr-card{border:1px solid var(--line);padding:13px;display:grid;grid-template-columns:1fr 96px;gap:10px;background:#fbf8ef}.service-qr-card p{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;color:var(--accent)}.service-qr-card code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--muted)}.service-qr-card img{width:96px;height:96px;background:#fff}.service-qr-card>p{grid-column:1/-1;text-transform:none;letter-spacing:0;color:var(--muted);font-size:.82rem;line-height:1.4}.service-qr-actions{grid-column:1/-1;display:flex;gap:8px}.service-qr-actions .button{font-size:.75rem;padding:8px 10px;min-height:38px}.service-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:23px 0 14px}.service-room-tabs{display:flex;gap:6px;flex-wrap:wrap}.service-room-tabs button{border:0;background:transparent;padding:8px 10px;color:var(--muted);font:inherit;font-size:.9rem;border-bottom:2px solid transparent;cursor:pointer}.service-room-tabs button.active{color:var(--ink);border-color:var(--accent);font-weight:700}.service-room-tabs small{font-size:.7rem;color:inherit}.service-toolbar>div:last-child{display:flex;gap:8px}.floorplan-wrap{border:1px solid var(--line);background:#eee4d7;padding:18px}.floorplan-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:16px}.floorplan-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.floorplan{height:350px;position:relative;overflow:hidden;border:1px solid #b9a990;background-color:#e7decb;background-image:linear-gradient(rgba(98,76,48,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(98,76,48,.09) 1px,transparent 1px);background-size:30px 30px}.floor-empty{margin:145px auto;text-align:center;color:var(--muted)}.floor-table{position:absolute;transform:translate(-50%,-50%);min-width:72px;min-height:62px;padding:7px 10px;border:1px solid #5d4d39;background:#fffaf0;color:var(--ink);display:grid;place-items:center;cursor:grab;touch-action:none;box-shadow:0 3px 10px rgba(51,38,18,.12)}.floor-table strong{font-size:1.1rem}.floor-table small{font-size:.65rem;color:var(--muted)}.floor-table.shape-round{border-radius:50%;width:74px;height:74px}.floor-table.shape-square{width:76px;height:70px}.floor-table.shape-rect{width:108px;height:60px}.floor-table.selected{outline:3px solid var(--accent);outline-offset:3px}.floor-table.child{opacity:.55;border-style:dashed}.table-management{margin-top:24px}.table-management>div:first-child{margin-bottom:9px}.table-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:15px 0}.table-row>div:first-child{display:grid;gap:3px}.table-row span{font-size:.86rem;color:var(--muted)}.table-row.is-child{padding-left:22px}.table-row-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.table-row-actions .text-button{font-size:.85rem}.swal2-popup .service-qr-card{text-align:left;margin:0}.swal2-popup .service-qr-card img{margin:0}@media(max-width:900px){.service-intro{grid-template-columns:1fr}.floorplan-head,.service-toolbar{align-items:flex-start;flex-direction:column}.floorplan-head>div:last-child{justify-content:flex-start}.floorplan{height:300px}.table-row{align-items:flex-start;flex-direction:column}.table-row-actions{justify-content:flex-start}.service-qr-card{max-width:380px}}
