@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#2f3e46;--accent:#c9a96a;--bg:#f7f6f4;--card:#fff;--text:#2b2b2b;--muted:#555}*{box-sizing:border-box}body{background:#f7f6f4;color:#2b2b2b;color:var(--text);font-family:Inter,sans-serif;margin:0}.app{margin:auto;max-width:1100px;padding:32px 24px 48px}.header{margin-bottom:48px}.header h1{font-family:Playfair Display,serif;font-size:38px;font-weight:600;letter-spacing:1px;margin:0}.header p{color:#555;color:var(--muted);font-size:14px;margin-top:10px}.header:after{background:#c9a96a;background:var(--accent);content:"";display:block;height:1px;margin:20px auto 0;width:80px}button{background:#2f3e46;background:var(--primary);border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.3px;padding:12px 28px;transition:all .3s ease}button:hover{box-shadow:0 8px 22px #0000002e;transform:translateY(-2px)}.back-btn{background:#0000;border:1px solid #2f3e4640;box-shadow:none;color:#2f3e46;color:var(--primary);opacity:.85}.back-btn:hover{background:#2f3e460f;opacity:1}.menu-btn{background:linear-gradient(135deg,#e6d2a3,#c9a96a);border:none;border-radius:999px;box-shadow:0 12px 30px #c9a96a73,inset 0 1px 0 #ffffffa6;color:#2b2b2b;font-size:15px;font-weight:600;letter-spacing:.5px;padding:14px 40px;transition:all .3s ease}.menu-btn:hover{background:#bfa05f}.panel{background:var(--card);border-radius:22px;box-shadow:0 18px 42px #0000001a;padding:36px}input,select{border:1px solid #ddd;border-radius:14px;font-family:Inter,sans-serif;font-size:14px;margin-bottom:16px;padding:14px 18px;width:100%}.grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:#fff;background:var(--card);border-radius:18px;box-shadow:0 10px 28px #0000001a;cursor:pointer;padding:28px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 20px 44px #00000024;transform:translateY(-4px)}.card.selected{border:1px solid #c9a96a;border:1px solid var(--accent);box-shadow:0 0 0 2px #c9a96a40,0 22px 46px #00000024}.card h3{font-family:Playfair Display,serif;font-size:20px;margin-bottom:12px}.card p{color:#555;color:var(--muted);font-family:Inter,sans-serif;font-size:14px;line-height:1.7}.select-btn{background:#0000;border:1px solid #2f3e46;border:1px solid var(--primary);border-radius:24px;color:#2f3e46;color:var(--primary);display:block;margin:22px auto 0;padding:10px 30px}.select-btn.selected{background:#2f3e46;background:var(--primary);color:#fff}.card.elegant-row{padding:48px 200px;position:relative}.card.elegant-row:before{background:#c9a96a;background:var(--accent);content:"";height:1px;left:50%;opacity:.6;position:absolute;top:28px;transform:translateX(-50%);width:60px}.elegant-content{margin:0 auto;max-width:560px}.elegant-content,.elegant-content *,.menu-card{text-align:center}.menu-card{background:#fff;background:var(--card);border-radius:28px;box-shadow:0 24px 60px #00000024;display:flex;flex-direction:column;font-family:Inter,sans-serif;margin:0 auto;max-width:860px;min-height:70vh;padding:80px 56px}.menu-title{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#e6d2a3,#c9a96a);-webkit-background-clip:text;display:inline-block;font-family:Playfair Display,serif;font-size:40px;font-weight:600;letter-spacing:1px;margin-bottom:10px;padding-bottom:12px;position:relative}.menu-title:after{background:linear-gradient(90deg,#0000,#c9a96a,#0000);background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";display:block;height:1.5px;margin:14px auto 0;width:70px}.menu-card h2{font-family:Playfair Display,serif;font-size:26px;font-weight:500;letter-spacing:.8px;margin:56px 0 28px}.menu-card h2:after{background:#c9a96a;background:var(--accent);content:"";display:block;height:1px;margin:16px auto 0;opacity:.6;width:70px}.menu-final-title{color:#c9a96a;color:var(--accent);font-family:Playfair Display,serif;font-size:18px;font-weight:600;letter-spacing:.6px;margin:32px 0 12px}.menu-card p,.menu-final-text{color:#555;color:var(--muted);font-family:Inter,sans-serif;font-size:15px;letter-spacing:.2px;line-height:1.85;margin:8px auto}.menu-section{background:#faf9f7;border-radius:20px;margin:32px auto;padding:32px 64px}.menu-card>.menu-section{max-width:none}.menu-section[data-page=new]{page-break-before:always}.menu-section:first-of-type{margin-top:32px}.menu-card ul{list-style:none;margin:16px 0;padding:0}.menu-card li{color:#555;color:var(--muted);font-family:Inter,sans-serif;font-size:15px;line-height:1.7;margin:6px 0}.menu-card li:before{color:#c9a96a;color:var(--accent);content:"• ";font-weight:700}@media (max-width:900px){.card.elegant-row{padding:40px}.elegant-thumb{display:block;margin:28px auto 0;max-height:260px;position:relative;right:auto;top:auto;transform:none;width:140px}.menu-card{padding:64px 28px}}.menu-footer{border-top:1px solid #e5e5e5;color:#555;color:var(--muted);display:flex;font-size:13px;gap:32px;justify-content:center;margin-top:auto;padding-top:32px}.menu-footer a,.menu-footer button{background:none;border:none;color:#555;color:var(--muted);cursor:pointer;font-family:inherit;font-size:13px;padding:0;text-decoration:none}.menu-footer a:hover,.menu-footer button:hover{color:#2b2b2b;color:var(--text);text-decoration:underline}.menu-card p,.menu-card ul,.menu-item,.menu-item h3,.menu-section,.menu-section h2{break-inside:avoid;page-break-inside:avoid}.menu-section:first-of-type{page-break-before:auto}.tabs{display:flex;gap:24px;margin-bottom:36px}.tab{background:#fff;border:1px solid #c9a96a59;border-radius:18px;box-shadow:0 10px 26px #0000001f;color:#2f3e46;color:var(--primary);cursor:pointer;font-family:Inter,sans-serif;font-size:15px;font-weight:600;letter-spacing:.3px;min-width:180px;padding:18px 36px;transition:all .25s ease}.tab:hover{transform:translateY(-2px)}.tab.active{background:linear-gradient(135deg,#e6d2a3,#c9a96a);border-color:#0000;box-shadow:0 0 0 2px #c9a96a59,0 18px 36px #0000002e;color:#2b2b2b}.panel{margin-top:12px}@media (max-width:768px){.card.elegant-row{padding:32px 24px}.elegant-thumb{display:block;height:auto;margin:24px auto 0;object-fit:contain;position:relative;right:auto;top:auto;transform:none;width:140px}}.panel-evento{margin:0 auto;max-width:720px;padding:48px 56px}.panel-evento input,.panel-evento select{border-radius:16px;padding:16px 18px}.panel-evento input:focus,.panel-evento select:focus{border-color:#c9a96a;border-color:var(--accent);box-shadow:0 0 0 4px #c9a96a26;outline:none}.panel-evento button{background:linear-gradient(135deg,#e6d2a3,#c9a96a);border:none;border-radius:32px;box-shadow:0 10px 22px #c9a96a59,inset 0 1px 0 #fff9;color:#2b2b2b;font-size:15px;font-weight:500;letter-spacing:.4px;margin-top:32px;padding:14px 36px;padding:14px 40px;transition:all .3s ease}.panel-evento button:hover{box-shadow:0 16px 34px #c9a96a73,inset 0 1px 0 #ffffffb3;transform:translateY(-2px)}.panel-evento button:active{box-shadow:0 6px 14px #c9a96a59,inset 0 2px 4px #0000001f;transform:translateY(0)}.header{text-align:center}.menu-logo{display:none}.header-actions{display:flex;gap:24px;justify-content:center;margin-top:20px}.back-btn{background:linear-gradient(135deg,#2b2b2b;,#2b2b2b;);border:1px solid #c9a96a73;border-radius:999px;box-shadow:0 6px 16px #c9a96a40,inset 0 1px 0 #ffffffb3;color:#2b2b2b;font-size:13px;font-weight:500;letter-spacing:.3px;opacity:.9;padding:10px 22px;transition:all .25s ease}.menu-subtitle{font-size:14px;margin-top:8px}.menu-names{font-weight:500;letter-spacing:.4px}.menu-date{color:#555;color:var(--muted)}.menu-names{color:#c9a96a;color:var(--accent);font-weight:600;letter-spacing:.5px}.pdf-mode .menu-title{-webkit-text-fill-color:#c9a96a!important;-webkit-text-fill-color:var(--accent)!important;background:none!important;-webkit-background-clip:initial!important;color:#c9a96a!important;color:var(--accent)!important}.pdf-mode .menu-title:after{display:none!important}.brand-logo{display:block;height:auto;margin:0 auto 16px;max-width:160px;opacity:.95}.pdf-mode .brand-logo{display:block!important;margin:0 auto 20px;max-width:120px;opacity:1}.pdf-mode .menu-logo{margin-bottom:18px;max-width:200px!important}.panel-admin{padding:16px}.admin-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.admin-actions{gap:8px}.import-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:10px;display:inline-flex;gap:6px}.danger-btn,.import-btn{cursor:pointer;padding:10px 12px}.danger-btn{background:#fff5f5;border-radius:10px}.admin-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}}.admin-col{background:#fff;border:1px solid #eee;border-radius:14px;padding:14px}.admin-title{margin:0 0 10px}.admin-form{grid-gap:10px;display:grid;gap:10px}.admin-form textarea{resize:vertical}.admin-form-actions{display:flex;gap:8px}.admin-list{grid-gap:10px;display:grid;gap:10px}.admin-row{align-items:center;border:1px solid #eee;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:10px}.admin-row-actions{display:flex;gap:8px}.admin-muted{font-size:.9rem;opacity:.7}.admin-preview{margin-top:12px}.radio-item{align-items:center;cursor:pointer;display:flex;font-size:.95rem;gap:8px;width:100%}.radio-item input[type=radio]{flex-shrink:0;margin:0}.admin-form .radio-group{background:#faf9f7;border:1px solid #eee;border-radius:14px;padding:12px 16px}.admin-form .radio-item{color:#2b2b2b;color:var(--text);font-size:14px}.admin-form-row{align-items:flex-start}.admin-form-row .radio-item{align-items:center;display:flex;gap:10px}.admin-form-row{background:#faf9f7;border:1px solid #eee;border-radius:14px;display:flex;flex-direction:column;gap:12px;gap:10px;grid-column:1/-1;padding:16px 18px;padding:14px 16px}.radio-option{grid-column-gap:12px;align-items:center;color:#2b2b2b;color:var(--text);column-gap:12px;cursor:pointer;display:grid;font-size:14px;grid-template-columns:18px auto}.radio-option input[type=radio]{margin:0}.radio-option span{white-space:nowrap}.admin-actions{align-items:center;display:flex;gap:12px}.admin-actions .import-btn,.admin-actions button{align-items:center;border-radius:12px;display:inline-flex;font-size:14px;gap:8px;height:42px;padding:0 18px}.danger-btn{background:#fff;border:1px solid #f1b2b2;color:#b44}.danger-btn:hover{background:#fff5f5}.elegant-content{max-width:520px}.menu-section-title{font-size:18px;margin:16px 0 6px;text-align:center}.menu-text{font-size:14px;line-height:1.5;margin:4px 0}.elegant-thumb{background:#0000;border-radius:18px;box-shadow:0 12px 30px #00000029;height:120px;object-fit:cover;object-position:center;outline:1px solid #c9a96a66;outline-offset:4px;overflow:hidden;padding:0;position:absolute;right:44px;top:50%;transform:translateY(-50%);width:120px}@media (max-width:768px){.card.elegant-row{padding:32px 24px}.elegant-thumb{display:block;height:150px;margin:20px auto 0;object-fit:cover;object-position:center;position:static!important;transform:none!important;width:150px}}@media (max-width:1024px){.tabs{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:14px;justify-content:center;overflow-x:auto;padding:12px 16px 18px}.tabs::-webkit-scrollbar{display:none}.tab{border-radius:999px;flex-shrink:0;font-size:14px;min-width:-webkit-max-content;min-width:max-content;padding:14px 22px}}.tabs{justify-content:center}.tabs:has(.tab:nth-child(4)){justify-content:flex-start}.menu-item{grid-column-gap:32px;align-items:center;column-gap:32px;display:grid;grid-template-columns:minmax(0,1fr) 100px;margin:0 auto;max-width:900px}.menu-item-text{text-align:left}.menu-thumb{border-radius:14px;box-shadow:0 6px 18px #00000024;height:96px;object-fit:cover;width:96px}.menu-item-text h3{margin:0 0 4px}.menu-section .menu-item{text-align:left}.menu-section .menu-item h3,.menu-section .menu-item p{margin-left:0;margin-right:0}.menu-item:not(:has(.menu-thumb)){grid-template-columns:1fr;text-align:center}.menu-item:not(:has(.menu-thumb)) .menu-item-text{margin:0 auto;text-align:center}.menu-item:not(:has(.menu-thumb)) p{margin-left:auto;margin-right:auto}.menu-section .menu-item{margin-bottom:28px;padding-bottom:28px;position:relative}.menu-section .menu-item:after{background:linear-gradient(90deg,#0000,#c9a96a,#0000);background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";display:block;height:1px;margin:28px auto 0;opacity:.5;width:60%}.menu-section .menu-item:last-child:after{display:none}.pdf-mode .menu-logo{display:block;margin:0 auto 40px;max-width:180px}.pdf-mode .menu-card{padding-top:20px}.pdf-mode h1,.pdf-mode h2{margin-top:20px}.pdf-mode .menu-section{break-inside:avoid;page-break-inside:avoid}.pdf-mode .menu-section:not(:first-of-type){page-break-before:always}@media (max-width:768px){.menu-item{display:block}.menu-item,.menu-item-text{text-align:center}.menu-thumb{display:block;margin:16px auto 0}.panel-evento{padding:32px 20px}.panel-evento input,.panel-evento select{display:block;margin-bottom:14px;min-height:52px;width:100%}.panel-evento input[type=date],.panel-evento input[type=time]{appearance:auto;-webkit-appearance:auto}}@media print{@page{size:A4;margin:20mm}*{box-shadow:none!important;text-shadow:none!important}body{background:#fff!important;margin:0!important}.menu-card,.menu-section{background:#0000!important;border-radius:0!important;box-shadow:none!important;margin:0 0 32px!important;padding:0!important}.menu-card h2,.menu-section-title,.menu-title{text-align:center!important}.menu-item:has(.menu-thumb){grid-column-gap:28px;align-items:start;break-inside:avoid!important;column-gap:28px;display:grid!important;grid-template-columns:1fr 120px;margin-bottom:28px;page-break-inside:avoid!important;text-align:left!important}.menu-item:has(.menu-thumb) .menu-item-text{text-align:left!important}.menu-item:has(.menu-thumb) .menu-thumb{border-radius:12px;break-inside:avoid!important;height:110px!important;justify-self:end;margin:0!important;object-fit:cover;page-break-inside:avoid!important;width:110px!important}.menu-item:not(:has(.menu-thumb)){break-inside:avoid!important;display:block!important;margin-bottom:32px;page-break-inside:avoid!important;text-align:center!important}.menu-item:not(:has(.menu-thumb)) h3,.menu-item:not(:has(.menu-thumb)) p{margin-left:auto;margin-right:auto;text-align:center!important}.menu-card h2,.menu-section-title{break-after:avoid!important;page-break-after:avoid!important}.menu-section,img{break-inside:avoid!important;page-break-inside:avoid!important}img{display:block;height:auto;max-width:100%}.back-btn,.header-actions,.menu-footer,.tabs,button{display:none!important}}@media (max-width:1024px){.card.elegant-row{padding:32px 24px}.elegant-thumb{display:block;height:150px;margin:24px auto 0;object-fit:cover;position:static!important;transform:none!important;width:150px}.elegant-content{margin:0 auto;max-width:520px;text-align:center}}.agenda-card{cursor:default}.agenda-card button{pointer-events:auto}.agenda-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.agenda-actions .menu-btn{box-shadow:none}.agenda-actions .danger-btn,.agenda-actions .menu-btn{font-size:12px;padding:6px 14px}input,select,textarea{-webkit-text-fill-color:#111827!important;background-color:#fff!important;color:#111827!important;opacity:1!important}input[type=date],input[type=time]{appearance:none;-webkit-appearance:none;border:1px solid #ddd;border-radius:12px;font-size:16px;min-height:44px;padding:12px}.agenda-filters{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.agenda-filter-group{gap:10px;justify-content:center}.pill{align-items:center;background:#fff;border:1px solid #2f3e4640;border-radius:999px;color:#2b2b2b;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;min-height:36px;padding:8px 18px;transition:all .25s ease;white-space:nowrap}.pill:hover{background:#2f3e460f}.pill.active{background:#2f3e46;background:var(--primary);border-color:#2f3e46;border-color:var(--primary);box-shadow:0 6px 14px #0000002e;color:#fff}.pill.green,.pill.green.active{border-color:#2ecc71}.pill.green.active{background:#2ecc71}.pill.yellow{border-color:#f1c40f}.pill.yellow.active{background:#f1c40f;color:#2b2b2b}.pill.red{border-color:#e74c3c}.pill.red.active{background:#e74c3c}.agenda-filter-group select{max-width:200px;min-width:160px}@media (max-width:640px){.agenda-filter-group{justify-content:center}}.agenda-calendar{margin:30px 0}.calendar-toolbar{align-items:center;display:grid;grid-template-columns:60px 1fr 60px;margin-bottom:25px}.calendar-title{font-size:26px;font-weight:700;letter-spacing:.4px;text-align:center}.calendar-nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:14px;cursor:pointer;display:flex;font-size:26px;font-weight:700;height:46px;justify-content:center;transition:all .2s ease;width:46px}.calendar-nav-btn:hover{background:#e5e7eb;transform:scale(1.1);transform:scale(1.08)}.calendar-weekdays{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.calendar-weekday{color:#7a7a7a;font-size:14px;font-weight:600;text-align:center}.calendar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{background:#fff;border:1px solid #f0f0f0;border-radius:16px;cursor:pointer;min-height:90px;padding:12px;position:relative;transition:all .25s ease}.calendar-day:hover{box-shadow:0 12px 24px #00000014;transform:translateY(-4px)}.calendar-day-number{color:#444;font-size:13px;font-weight:700;position:absolute;right:10px;top:8px}.calendar-event-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:12px;font-weight:600;line-height:1.2;margin-top:24px;overflow:hidden}.calendar-day.empty{background:#0000;border:none;pointer-events:none}.calendar-day.confermato{background:#e8f7ec;border:1px solid #d4edda}.calendar-day.opzione{background:#fff4e5;border:1px solid #ffe1b3}.calendar-day.scaduto{background:#fdecea;border:1px solid #f5c6cb}.calendar-day.confermato:before,.calendar-day.opzione:before,.calendar-day.scaduto:before{border-radius:50%;bottom:10px;content:"";height:10px;left:10px;position:absolute;width:10px}.calendar-day.confermato:before{background:#4caf50}.calendar-day.opzione:before{background:#ffc107}.calendar-day.scaduto:before{background:#f44336}@media (max-width:768px){.calendar-grid{gap:6px;grid-template-columns:repeat(7,minmax(40px,1fr))}.calendar-day{min-height:70px;padding:8px}.calendar-event-name{font-size:11px}.calendar-title{font-size:20px}}:root{--mailo-ink:#25372f;--mailo-gold:#a37d42;--mailo-paper:#f6f4ef}body{background:#f6f4ef;background:var(--mailo-paper)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a37d42;outline-offset:3px}button:disabled{cursor:wait;opacity:.55}.header-actions{flex-wrap:wrap;gap:12px}.app-notice{align-items:center;background:#fff5f1;border:1px solid #c98d80;border-radius:14px;box-shadow:0 12px 40px #142b2020;box-sizing:border-box;color:#67271f;display:flex;font:15px/1.5 system-ui,sans-serif;gap:16px;left:50%;padding:16px 18px;position:fixed;text-align:left;top:18px;transform:translateX(-50%);width:min(620px,calc(100% - 32px));z-index:20000}.app-notice.success{background:#edf7ee;border-color:#88af8b;color:#214a2d}.app-notice.warning{background:#fff9e8;border-color:#c8ae67;color:#624b19}.app-notice button{background:#0000;border:0;color:inherit;cursor:pointer;font-size:24px;margin-left:auto;padding:2px 8px}.login-page{background:radial-gradient(ellipse at top left,#e4e9de,#0000 65%),#f5f3ed;box-sizing:border-box;display:grid;min-height:100dvh;padding:24px;place-items:center}.login-card{background:#fffefa;border:1px solid #ddd7c9;border-radius:24px;box-shadow:0 24px 70px #25372f12;box-sizing:border-box;color:#25372f;padding:42px;text-align:left;width:min(440px,100%)}.login-monogram{border:1px solid #a37d42;border-radius:50%;color:#806333;display:grid;font:32px Georgia,serif;height:52px;margin-bottom:24px;place-items:center;width:52px}.login-card .eyebrow{color:#806333;font:10px system-ui,sans-serif;letter-spacing:.22em}.login-card h1{font:38px/1.15 Georgia,serif;margin:12px 0}.login-card p{color:#626b63;font:15px/1.6 system-ui,sans-serif}.login-card label{display:block;font:13px system-ui,sans-serif;margin:26px 0 8px}.login-card input{border:1px solid #c7cdbf;border-radius:8px;box-sizing:border-box;font-size:16px;padding:13px;width:100%}.login-card button{background:#25372f;border:0;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;font:600 14px system-ui,sans-serif;margin-top:18px;padding:14px 20px;width:100%}.pdf-export-shell{background:#fff;left:-10000px;position:absolute;top:0;width:794px}.pdf-export-shell .menu-card{box-shadow:none;box-sizing:border-box;margin:0;max-width:none;padding:24px;width:100%}.pdf-mode .menu-footer,.pdf-mode .screen-only,.pdf-mode button{display:none!important}.pdf-mode .menu-section{break-inside:auto;page-break-inside:auto}.pdf-mode .menu-section:not(:first-of-type){page-break-before:auto}.pdf-mode .menu-item{break-inside:avoid;page-break-inside:avoid}.pdf-mode h2{break-after:avoid;page-break-after:avoid}@media (max-width:600px){.login-card{padding:30px 24px}.header-actions>div{flex-wrap:wrap;justify-content:center}.agenda-actions button{min-height:40px}}@media print{.app-notice,.pdf-export-shell{display:none!important}}:root{--primary:#805a23;--accent:#d4b16a;--text:#3d301b;--muted:#8b7f6a;--bg:#faf7f0}body{background:#faf7f0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:1240px;padding:0 40px 70px}.app>.header{display:none}.workspace-header{border-bottom:1px solid #e8e3d9;gap:28px;height:96px}.wordmark,.workspace-header{align-items:center;display:flex}.wordmark{background:none;border-radius:0;color:#44341a;font-size:26px;font-weight:700;gap:12px;letter-spacing:-.8px;padding:0;text-align:left}.wordmark:hover{background:none;box-shadow:none;transform:none}.wordmark small{color:#8e816b;display:block;font-size:8px;font-weight:600;letter-spacing:2px;margin-top:2px}.brand-mark{background:#805a23;border-radius:14px;color:#f8e9bd;display:grid;font:italic 31px Georgia,serif;height:42px;padding-bottom:4px;place-items:center;width:42px}.workspace-nav{background:#efeae3;border-radius:16px;display:flex;gap:4px;margin:auto;padding:5px}.workspace-nav button{align-items:center;background:none;border-radius:12px;box-shadow:none;color:#81755f;display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:0;padding:10px 16px}.workspace-nav button.active{background:#fff;box-shadow:0 2px 5px #3f331e08;color:#805a23}.workspace-nav button:hover{color:#805a23;transform:none}.logout-icon{background:#fff;border:1px solid #e8e3d9;border-radius:13px;color:#7c6e57;display:grid;padding:10px;place-items:center}.workspace-heading{align-items:center;display:flex;gap:24px;justify-content:space-between;margin:38px 0 26px}.section-kicker{color:#8b7d66;font-size:10px;font-weight:700;letter-spacing:1.7px;margin:0 0 10px}.workspace-heading h1{font-size:clamp(26px,3vw,36px);font-weight:650;letter-spacing:-1.25px;line-height:1.2;margin:0}.workspace-heading p:last-child{color:#8b7f6b;font-size:14px;line-height:1.5;margin:12px 0 0}.continue-action,.create-action{align-items:center;background:#805a23;border-radius:12px;box-shadow:none;color:#fff;display:flex;font-size:13px;font-weight:600;gap:9px;justify-content:center;padding:14px 20px;white-space:nowrap}.overview-strip{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:0 0 28px}.overview-strip button{align-items:center;background:#fff;border:1px solid #eae5db;border-radius:16px;box-shadow:none;color:#433620;display:flex;gap:14px;padding:20px;text-align:left}.overview-strip button>svg{color:#aa9c84;margin-left:auto}.overview-strip strong{display:block;font-size:25px;font-weight:650;line-height:1.2}.overview-strip small{color:#8b7f6a;display:block;font-size:11px;letter-spacing:0;margin-top:5px}.metric-icon{background:#f7f0e3;border-radius:13px;color:#8e7344;display:grid;height:42px;place-items:center;width:42px}.metric-icon.amber{background:#fff5e2;color:#a77e39}.metric-icon.mauve{background:#f0ecf8;color:#85739c}.builder-progress{align-items:center;border-bottom:1px solid #e9e3d9;display:flex;gap:12px;margin:0 0 22px;padding-bottom:18px}.builder-progress button{align-items:center;background:none;border-radius:0;box-shadow:none;color:#938772;display:flex;font-size:12px;gap:9px;padding:4px 12px 4px 0}.builder-progress button>span{background:#ede7de;border-radius:50%;display:grid;font-size:11px;height:24px;place-items:center;width:24px}.builder-progress button.current{color:#805a23;font-weight:700}.builder-progress button.current>span{background:#805a23;color:#fff}.builder-progress small{color:#938772;font-size:11px;margin-left:auto}.panel{background:#fff;border:1px solid #eae4d9;border-radius:20px;box-shadow:none;padding:28px}.event-layout{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:1.55fr 1fr}.form-section-title{align-items:center;display:flex;gap:14px;margin-bottom:26px}.section-number{background:#f6f2eb;border-radius:12px;color:#9e855b;font-size:12px;padding:12px}.contact-panel h2,.form-section-title h2{font-size:18px;font-weight:650;letter-spacing:-.45px;margin:0}.form-section-title p{color:#9b8d75;font-size:12px;margin:6px 0 0}.form-grid{grid-gap:17px;display:grid;gap:17px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full-width{grid-column:1/-1}.event-layout label{color:#7b6d55;display:block;font-size:11px;font-weight:600;text-align:left}.event-layout input,.event-layout select{background:#fcfaf7;border:1px solid #eae2d5;border-radius:10px;color:#4d402a;font-family:inherit;font-size:14px;margin:8px 0 0;min-height:46px;min-width:0;padding:13px 14px;width:100%}.event-layout input::placeholder{color:#b5aa98;font-weight:400}.event-details{border-top:1px solid #efe9e0;margin-top:26px;padding-top:20px}.event-details summary{color:#7f6f54;cursor:pointer;display:flex;font-size:12px;gap:10px;justify-content:space-between;list-style:none;padding:5px 0}.event-details summary::-webkit-details-marker{display:none}.event-details[open] .form-grid{margin-top:20px}.contact-panel{background:#f3ece1;border-color:#ebe3d4}.contact-icon{background:#ebdfca;border-radius:13px;color:#806537;display:grid;height:44px;margin-bottom:20px;place-items:center;width:44px}.contact-panel p{color:#8f7e60;font-size:12px;line-height:1.7;margin:10px 0 20px}.contact-panel label{margin-top:14px}.contact-panel input{background:#fbf8f4}.contact-panel small{color:#928062;display:block;font-size:10px;line-height:1.6;margin-top:17px}.continue-action{justify-content:space-between;margin-top:16px;padding:17px 20px;width:100%}.search-field{align-items:center;background:#fff;border:1px solid #e9e2d6;border-radius:13px;color:#958465;display:flex;gap:12px;margin-bottom:20px;padding:0 16px}.search-field input{background:#0000;border:0;font-family:inherit;font-size:14px;margin:0;padding:14px 0}.search-field button{background:none;color:#8f7d5f;padding:8px}.app .menu-btn,.app .select-btn{background:#805a23;box-shadow:none;color:#fff;letter-spacing:0;padding:12px 18px}.app .back-btn,.app .menu-btn,.app .select-btn{border-radius:10px;font-size:13px;min-height:44px}.app .back-btn{opacity:1}.app .danger-btn{border-radius:10px;font-size:12px;min-height:44px;padding:10px 14px}.app .select-btn.selected{background:#eedab9;color:#5e4720}.app .card{border:1px solid #eae4d9;border-radius:16px;box-shadow:none;margin-bottom:12px;padding:22px;text-align:left}.app .card:hover{box-shadow:0 6px 18px #4f402708;transform:none}.app .category-card{cursor:pointer;display:flex;flex-direction:column;gap:14px}.category-symbol{color:#987740}.category-card strong{font-size:17px}.category-card small{color:#a29276}.category-card>svg{align-self:flex-end}.app .elegant-row{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 100px;position:relative}.app .elegant-content{margin:0;max-width:none;text-align:left}.app .elegant-title{font:600 18px/1.3 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.2px}.app .elegant-desc{color:#938367;font-size:13px;line-height:1.6}.app .elegant-thumb{border-radius:14px;height:100px;margin:0;object-fit:cover;position:static!important;transform:none!important;width:100px}.app .admin-row{flex-wrap:wrap;gap:14px}.app .admin-row-actions{flex-wrap:wrap;gap:6px}.app .admin-grid{gap:24px}.app .admin-title{font:600 20px/1.2 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app .agenda-card{line-height:1.8}.app .agenda-card>strong{display:block;font-size:20px;margin:8px 0}.app .agenda-card .admin-muted{font-size:13px}.agenda-actions{gap:8px;justify-content:flex-start;margin-top:16px}.agenda-filter-group{display:flex;flex-wrap:wrap;gap:8px}.agenda-filter-group .pill{font-size:12px;min-height:40px;padding:10px 14px}.calendar-day{min-width:0}.app .menu-card{margin-bottom:24px}.app .menu-footer{grid-gap:10px;border-top:1px solid #eae4d9;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px;padding-top:22px}.app .menu-footer button{border-radius:12px;box-shadow:none;font-size:13px;min-height:48px;padding:12px}.app .menu-footer button:last-child{background:#805a23;color:#fff;grid-column:1/-1}.day-event-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.day-event-tabs button{background:#f6efe2;color:#755c32;font-size:12px;padding:10px}.day-event-tabs button.active{background:#805a23;color:#fff}.modal-overlay{overflow-y:auto;overscroll-behavior:contain;padding:24px}.modal-sheet{box-sizing:border-box;max-height:calc(100dvh - 48px);overflow-y:auto;width:min(650px,100%)!important}.modal-sheet input,.modal-sheet select,.modal-sheet textarea{font-size:16px}@media (max-width:850px){.app{padding:0 22px 110px}.workspace-header{height:78px}.workspace-nav{margin-right:0}.workspace-nav button{padding:9px 12px}.workspace-nav button svg{display:none}.workspace-heading{margin-top:28px}.event-layout{gap:16px;grid-template-columns:1fr .85fr}.panel{padding:22px}.overview-strip button{gap:10px;padding:16px}.overview-strip button>svg{display:none}.overview-strip .metric-icon{height:34px;width:34px}.overview-strip strong{font-size:22px}}@media (max-width:600px){.app{padding:0 18px calc(100px + env(safe-area-inset-bottom))}.workspace-header{gap:16px;height:76px}.wordmark{font-size:24px}.brand-mark{border-radius:12px;height:38px;width:38px}.logout-icon{margin-left:auto}.workspace-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-radius:0;border-top:1px solid #eae2d5;bottom:0;gap:0;justify-content:space-around;left:0;margin:0;padding:10px 8px calc(10px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:500}.workspace-nav button{border-radius:12px;display:flex;flex-direction:column;font-size:10px;gap:5px;min-width:65px;padding:8px 17px}.workspace-nav button svg{display:block;height:21px;width:21px}.workspace-nav button.active{background:#f4ecdf;box-shadow:none;color:#805a23}.workspace-heading{align-items:flex-start;gap:10px;margin:27px 0 22px}.workspace-heading h1{font-size:29px;letter-spacing:-1.1px;max-width:270px}.workspace-heading p:last-child{font-size:12px;margin-top:10px}.section-kicker{font-size:8px;margin-bottom:9px}.create-action{border-radius:12px;flex-shrink:0;height:40px;padding:10px;width:40px}.create-action span{display:none}.overview-strip{gap:8px;margin-bottom:24px}.overview-strip button{border-radius:14px;display:block;padding:13px 11px}.overview-strip .metric-icon{display:none}.overview-strip strong{font-size:24px}.overview-strip small{font-size:9px;line-height:1.4;margin-top:7px}.builder-progress{gap:11px;margin-bottom:20px;padding-bottom:16px}.builder-progress button{font-size:11px;gap:6px;padding-right:0}.builder-progress button>span{font-size:10px;height:21px;width:21px}.builder-progress small{font-size:9px;line-height:1.4;max-width:45px;text-align:right}.event-layout{gap:16px;grid-template-columns:1fr}.panel{border-radius:18px;padding:21px 18px}.form-section-title{gap:12px;margin-bottom:22px}.form-section-title h2{font-size:17px}.form-section-title p{font-size:11px;line-height:1.5}.section-number{font-size:11px;padding:10px}.form-grid{gap:16px 12px}.event-layout input,.event-layout select{font-size:16px;min-height:47px;padding:12px}.event-details summary,.event-layout label{font-size:11px}.contact-panel h2{font-size:19px}.contact-panel p{font-size:12px}.contact-panel small{font-size:10px}.continue-action{min-height:52px}.app .grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.app .category-card{gap:10px;margin:0;padding:16px 13px}.category-card strong{font-size:14px;overflow-wrap:anywhere}.category-card small{font-size:10px}.app .elegant-row{gap:12px;grid-template-columns:minmax(0,1fr) 76px;padding:18px 14px}.app .elegant-thumb{border-radius:12px;height:76px;width:76px}.app .elegant-title{font-size:16px}.app .elegant-desc{font-size:12px}.app .select-btn{font-size:12px;padding:10px 15px}.app .admin-grid{display:block}.app .admin-col{margin-top:20px;min-width:0}.admin-actions{flex-wrap:wrap;gap:8px}.app .admin-row{padding:14px 10px}.app .admin-row-actions button{font-size:12px;padding:10px 12px}.app input,.app select,.app textarea{font-size:16px}.app .agenda-calendar{padding:0}.calendar-grid{gap:4px!important}.calendar-day{border-radius:8px!important;min-height:62px!important;overflow:hidden;padding:5px 2px!important}.calendar-event-name{font-size:8px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-number{font-size:12px!important}.calendar-weekdays{font-size:10px;gap:4px}.calendar-title{font-size:17px!important}.calendar-nav-btn{min-height:40px;min-width:40px}.agenda-filter-group{gap:5px}.agenda-filter-group .pill{font-size:10px;padding:9px 10px}.agenda-filter-group select{width:calc(50% - 4px)}.app .agenda-card{padding:18px 14px}.app .agenda-card>strong{font-size:18px}.app .menu-card{box-sizing:border-box;padding:25px 16px;width:100%}.app .menu-item{gap:12px}.app .menu-thumb{max-height:82px;max-width:82px}.app .menu-footer{gap:8px}.app .menu-footer button{font-size:11px;min-height:46px;padding:11px 8px}.modal-overlay{align-items:flex-end!important;padding:12px!important}.modal-sheet{border-radius:22px 22px 12px 12px!important;max-height:calc(100dvh - 30px);max-width:100%!important;padding:24px 20px!important}.modal-sheet h2{font-size:22px}.app-notice{border-radius:12px;font-size:13px;padding:14px;top:12px;width:calc(100% - 24px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}@media print{.builder-progress,.overview-strip,.search-field,.workspace-header,.workspace-heading{display:none!important}.app{padding:0}}.app .image-placeholder{background:#f4efe6;border:1px dashed #e0d4bf;color:#bcaa8c;display:grid;flex-shrink:0;place-items:center}@media print{.image-placeholder{display:none!important}}.app .continue-action,.app .create-action,.app .menu-btn,.app .menu-footer button:last-child{background:linear-gradient(135deg,#f0dcab,#d2ad63);border:1px solid #cba55d;box-shadow:0 4px 12px #9a732314;color:#493415}.app .continue-action:hover,.app .create-action:hover,.app .menu-btn:hover{background:linear-gradient(135deg,#ead39d,#caa157)}.login-page{background:radial-gradient(ellipse at top left,#eee0c5,#0000 65%),#faf7f0}.login-card{border-color:#e6d9bf;box-shadow:0 24px 70px #96703812;color:#513d21}.login-card p{color:#8a785c}.login-card input{background:#fffcf6;border-color:#deceb0}.login-card button{background:linear-gradient(135deg,#eed9a6,#ceaa62);color:#493415}.agenda-empty{grid-gap:10px;background:#fcf8ef;border:1px dashed #dfcda9;border-radius:16px;color:#a08043;display:grid;gap:10px;justify-items:center;padding:32px 18px;text-align:center}.agenda-empty h3{color:#69512c;font-size:18px;margin:0}.agenda-empty p{color:#95815f;font-size:13px;line-height:1.6;margin:0;max-width:360px}.recovery-note{background:#fff8e9;border:1px solid #dfc58d;border-radius:12px;color:#75551f;font:13px/1.6 system-ui,sans-serif;margin-bottom:16px;padding:16px}@media print{.recovery-note{display:none!important}}
/*# sourceMappingURL=main.fc682c1f.css.map*/
/* =========================================================
   PDF EXPORT — impaginazione stabile
   Queste regole sono intenzionalmente in fondo al file per
   prevalere sui vecchi tentativi di page-break presenti sopra.
========================================================= */
.pdf-export-shell {
  width: 794px;
}

.pdf-export-shell .pdf-mode {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}

.pdf-export-shell .pdf-mode .menu-section {
  /* Una sezione può attraversare più pagine; il singolo piatto no. */
  break-inside: auto !important;
  page-break-inside: auto !important;
  page-break-before: auto !important;
  break-before: auto !important;
}

.pdf-export-shell .pdf-mode .menu-item {
  break-inside: avoid-page !important;
  page-break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
}

.pdf-export-shell .pdf-mode .menu-item-text,
.pdf-export-shell .pdf-mode .menu-item-heading,
.pdf-export-shell .pdf-mode .menu-item-text > div:first-child {
  break-inside: avoid-page !important;
  page-break-inside: avoid !important;
}

/* Il bottone matita viene rimosso nel clone PDF: non lasciamo il
   titolo dentro un flex "space-between" rimasto con un solo figlio. */
.pdf-export-shell .pdf-mode .menu-item-heading,
.pdf-export-shell .pdf-mode .menu-item-text > div:first-child {
  display: block !important;
  width: 100% !important;
  text-align: inherit !important;
}

.pdf-export-shell .pdf-mode .menu-item-heading h3,
.pdf-export-shell .pdf-mode .menu-item-text > div:first-child h3 {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Senza foto: titolo e descrizione davvero centrati. */
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)),
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-text,
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-heading,
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-text > div:first-child,
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) h3,
.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) p {
  text-align: center !important;
}

/* Con foto: testo a sinistra, immagine a destra. */
.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-item-text,
.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-item-heading,
.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-item-text > div:first-child,
.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) h3,
.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) p {
  text-align: left !important;
}

/* Titolo di categoria legato al primo piatto che lo segue. */
.pdf-export-shell .pdf-mode .menu-section > h2 {
  break-after: avoid-page !important;
  page-break-after: avoid !important;
  text-align: center !important;
}


/* PDF EXPORT = STESSA IMPAGINAZIONE DELLA STAMPA */
.pdf-export-shell{position:absolute!important;top:0!important;left:-10000px!important;width:170mm!important;background:#fff!important;overflow:visible!important}.pdf-export-shell .pdf-mode,.pdf-export-shell .pdf-mode.menu-card{width:100%!important;max-width:none!important;box-sizing:border-box!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;text-align:center!important;min-height:0!important;height:auto!important}.pdf-export-shell .pdf-mode *,.pdf-export-shell .pdf-mode *:before,.pdf-export-shell .pdf-mode *:after{box-shadow:none!important;text-shadow:none!important}.pdf-export-shell .pdf-mode .menu-section{background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0 0 32px!important;break-inside:auto!important;page-break-inside:auto!important;break-before:auto!important;page-break-before:auto!important}.pdf-export-shell .pdf-mode .menu-title,.pdf-export-shell .pdf-mode .menu-card h2,.pdf-export-shell .pdf-mode .menu-section>h2,.pdf-export-shell .pdf-mode .menu-section-title{text-align:center!important}.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb){display:grid!important;grid-template-columns:minmax(0,1fr) 120px!important;column-gap:28px!important;align-items:start!important;margin:0 0 28px!important;text-align:left!important}.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-item-text,.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-item-heading,.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) h3,.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) p{text-align:left!important}.pdf-export-shell .pdf-mode .menu-item:has(.menu-thumb) .menu-thumb{width:110px!important;height:110px!important;object-fit:cover!important;border-radius:12px!important;margin:0!important;justify-self:end!important}.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)){display:block!important;width:100%!important;text-align:center!important;margin:0 0 32px!important}.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-text,.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-heading,.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) .menu-item-text>div:first-child,.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) h3,.pdf-export-shell .pdf-mode .menu-item:not(:has(.menu-thumb)) p{display:block!important;width:100%!important;box-sizing:border-box!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}.pdf-export-shell .pdf-mode .menu-item-heading,.pdf-export-shell .pdf-mode .menu-item-text>div:first-child{display:block!important}.pdf-export-shell .pdf-mode .menu-item{position:relative!important;break-inside:avoid!important;page-break-inside:avoid!important}.pdf-export-shell .pdf-mode .menu-section>h2{break-after:avoid!important;page-break-after:avoid!important}.pdf-export-shell .pdf-mode img{max-width:100%!important;break-inside:avoid!important;page-break-inside:avoid!important}.pdf-export-shell .pdf-mode button,.pdf-export-shell .pdf-mode .tabs,.pdf-export-shell .pdf-mode .header-actions,.pdf-export-shell .pdf-mode .back-btn,.pdf-export-shell .pdf-mode .menu-footer,.pdf-export-shell .pdf-mode .screen-only{display:none!important}.pdf-export-shell .pdf-page-spacer{display:block!important;width:100%!important;padding:0!important;margin:0!important;border:0!important}

/* ===== Mailo Pro: menu salvati compatti e preset demo ===== */
.category-selection-panel { display: grid; gap: 22px; }
.category-selection-panel .category-grid { margin: 0; }
.demo-menu-card {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 24px 26px; border: 1px solid rgba(201,169,106,.38); border-radius: 18px;
  background: linear-gradient(135deg, #fffaf0 0%, #f8f1e4 100%);
}
.demo-menu-copy { min-width: 0; }
.demo-menu-kicker { display: block; margin-bottom: 7px; color: #94713a; font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.demo-menu-card h3 { margin: 0 0 7px; font: 600 22px/1.15 "Playfair Display", serif; color: #4c3b23; }
.demo-menu-card p { margin: 0; max-width: 680px; color: #7c6c55; font-size: 13px; line-height: 1.55; }
.demo-menu-action { flex: 0 0 auto; min-height: 44px; padding: 11px 18px; border-radius: 13px; }

.saved-menus-panel { padding: 24px; }
.saved-menu-list { gap: 10px; }
.saved-menu-card {
  grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 16px 18px;
  border-radius: 16px; box-shadow: 0 5px 16px rgba(26,32,44,.045);
}
.saved-menu-top { justify-content: flex-start; margin-bottom: 6px; }
.saved-menu-top strong { font: 650 20px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing: -.25px; }
.saved-menu-badge { margin-left: auto; }
.saved-menu-meta, .saved-menu-extra { gap: 7px 12px; font-size: 12px; }
.saved-menu-extra { margin-top: 5px; }
.saved-menu-actions { flex-wrap: nowrap; }
.saved-menu-actions .menu-btn, .saved-menu-actions .danger-btn { min-height: 40px; padding: 9px 13px; border-radius: 11px; font-size: 12px; }

@media (max-width: 640px) {
  .saved-menus-panel { padding: 16px 12px; margin-left: -6px; margin-right: -6px; }
  .saved-menus-panel .panel-heading { gap: 10px; margin-bottom: 14px; }
  .saved-counter { align-self: flex-start; min-width: 0; padding: 7px 10px; font-size: 11px; }
  .saved-menu-list { gap: 9px; }
  .saved-menu-card { display: block; padding: 14px; border-radius: 14px; }
  .saved-menu-top { flex-direction: row; align-items: flex-start; gap: 8px; margin-bottom: 7px; }
  .saved-menu-top strong { min-width: 0; font-size: 17px; overflow-wrap: anywhere; }
  .saved-menu-badge { flex-shrink: 0; padding: 5px 7px; font-size: 9px; }
  .saved-menu-meta, .saved-menu-extra { gap: 6px 9px; font-size: 11px; }
  .saved-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
  .saved-menu-actions .menu-btn, .saved-menu-actions .danger-btn { width: auto; min-height: 40px; padding: 9px 8px; font-size: 11px; }
  .demo-menu-card { display: block; padding: 18px 16px; }
  .demo-menu-card h3 { font-size: 19px; }
  .demo-menu-card p { font-size: 12px; }
  .demo-menu-action { width: 100%; margin-top: 15px; }
}

/* ===== Mailo Pro: menu salvati compatti e preset demo ===== */
.category-selection-panel { display: grid; gap: 22px; }
.category-selection-panel .category-grid { margin: 0; }
.demo-menu-card { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 26px; border:1px solid rgba(201,169,106,.38); border-radius:18px; background:linear-gradient(135deg,#fffaf0 0%,#f8f1e4 100%); }
.demo-menu-copy { min-width:0; }
.demo-menu-kicker { display:block; margin-bottom:7px; color:#94713a; font-size:10px; font-weight:800; letter-spacing:.11em; }
.demo-menu-card h3 { margin:0 0 7px; font:600 22px/1.15 "Playfair Display",serif; color:#4c3b23; }
.demo-menu-card p { margin:0; max-width:680px; color:#7c6c55; font-size:13px; line-height:1.55; }
.demo-menu-action { flex:0 0 auto; min-height:44px; padding:11px 18px; border-radius:13px; }
.saved-menus-panel { padding:24px; }
.saved-menu-list { gap:10px; }
.saved-menu-card { grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:16px 18px; border-radius:16px; box-shadow:0 5px 16px rgba(26,32,44,.045); }
.saved-menu-top { justify-content:flex-start; margin-bottom:6px; }
.saved-menu-top strong { font:650 20px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.25px; }
.saved-menu-badge { margin-left:auto; }
.saved-menu-meta,.saved-menu-extra { gap:7px 12px; font-size:12px; }
.saved-menu-extra { margin-top:5px; }
.saved-menu-actions { flex-wrap:nowrap; }
.saved-menu-actions .menu-btn,.saved-menu-actions .danger-btn { min-height:40px; padding:9px 13px; border-radius:11px; font-size:12px; }
@media (max-width:640px) {
  .saved-menus-panel { padding:16px 12px; margin-left:-6px; margin-right:-6px; }
  .saved-menus-panel .panel-heading { gap:10px; margin-bottom:14px; }
  .saved-counter { align-self:flex-start; min-width:0; padding:7px 10px; font-size:11px; }
  .saved-menu-list { gap:9px; }
  .saved-menu-card { display:block; padding:14px; border-radius:14px; }
  .saved-menu-top { flex-direction:row; align-items:flex-start; gap:8px; margin-bottom:7px; }
  .saved-menu-top strong { min-width:0; font-size:17px; overflow-wrap:anywhere; }
  .saved-menu-badge { flex-shrink:0; padding:5px 7px; font-size:9px; }
  .saved-menu-meta,.saved-menu-extra { gap:6px 9px; font-size:11px; }
  .saved-menu-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:12px; }
  .saved-menu-actions .menu-btn,.saved-menu-actions .danger-btn { width:auto; min-height:40px; padding:9px 8px; font-size:11px; }
  .demo-menu-card { display:block; padding:18px 16px; }
  .demo-menu-card h3 { font-size:19px; }
  .demo-menu-card p { font-size:12px; }
  .demo-menu-action { width:100%; margin-top:15px; }
}

.preset-save-btn{border-color:rgba(148,113,58,.45)!important;background:#fffaf0!important;color:#6f5328!important}.preset-save-btn:hover:not(:disabled){background:#f7edd8!important}@media(max-width:700px){.menu-footer .preset-save-btn{width:100%}}


/* ===== Mailo Pro: responsive polish for saved menus + admin dish list ===== */
.saved-menu-main {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.saved-menus-panel {
  padding: 20px !important;
}

.saved-menu-list {
  display: grid;
  gap: 14px;
}

.saved-menu-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 16px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  min-height: 0 !important;
}

.saved-menu-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 0 !important;
}

.saved-menu-top strong {
  min-width: 0;
  font-size: 20px !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

.saved-menu-badge {
  margin-left: 10px !important;
  white-space: nowrap;
  flex-shrink: 0;
}

.saved-menu-meta,
.saved-menu-extra {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  font-size: 12px !important;
}

.saved-menu-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(110px, max-content)) !important;
  gap: 8px !important;
  align-content: start !important;
  justify-content: end !important;
  flex-wrap: nowrap !important;
}

.saved-menu-actions .menu-btn,
.saved-menu-actions .danger-btn {
  width: 100% !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  justify-content: center;
}

.admin-dish-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 184px !important;
  align-items: start !important;
  gap: 16px !important;
  padding: 14px 16px !important;
}

.admin-dish-main {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

.admin-dish-thumb {
  width: 64px !important;
  height: 64px !important;
  border-radius: 14px !important;
}

.admin-dish-title-row strong {
  font-size: 17px !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere;
}

.admin-dish-description {
  margin-top: 6px !important;
}

.admin-dish-actions {
  display: grid !important;
  grid-template-columns: repeat(4, 40px) !important;
  grid-auto-rows: 40px !important;
  gap: 8px !important;
  justify-content: end !important;
  align-content: start !important;
  flex-wrap: nowrap !important;
}

.icon-btn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 12px !important;
}

@media (max-width: 1100px) {
  .saved-menu-card,
  .admin-dish-row {
    grid-template-columns: 1fr !important;
  }

  .saved-menu-actions {
    justify-content: stretch !important;
  }

  .admin-dish-actions {
    justify-content: start !important;
  }
}

@media (max-width: 768px) {
  .saved-menus-panel {
    padding: 16px 14px !important;
  }

  .saved-menu-top {
    flex-wrap: wrap;
  }

  .saved-menu-top strong {
    font-size: 18px !important;
  }

  .saved-menu-actions {
    grid-template-columns: 1fr 1fr !important;
  }

  .admin-dish-main {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .admin-dish-thumb {
    width: 56px !important;
    height: 56px !important;
  }
}

@media (max-width: 520px) {
  .saved-menu-card {
    padding: 14px !important;
    border-radius: 14px !important;
  }

  .saved-menu-actions {
    grid-template-columns: 1fr !important;
  }

  .saved-menu-actions .menu-btn,
  .saved-menu-actions .danger-btn {
    min-height: 40px !important;
    font-size: 12px !important;
  }

  .admin-dish-row {
    padding: 12px !important;
    gap: 12px !important;
  }

  .admin-dish-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
