@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{color-scheme:dark;--bg:#141c1a;--panel:#202c29;--panel2:#2b3935;--ink:#f9f4e9;--muted:#c3c1b4;--accent:#d4ae79;--line:#46534c;font-family:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif}a{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem;font-weight:700;text-decoration:none;background:var(--panel2);color:var(--ink)}.button.primary{background:var(--accent);border-color:var(--accent);color:#19221e}.button.outline{background:transparent}.button.small{font-size:.85rem;padding:.45rem .65rem}.button.danger{color:#ffbba8}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.eyebrow{font-size:.73rem;letter-spacing:.24em;font-weight:700;color:var(--accent)}.hint,.muted{color:var(--muted);font-size:.87rem}.manager .toolbar{padding:1.7rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.toolbar h1{font-size:2.15rem;margin:.3rem 0}.toolbar p{margin:0;color:var(--muted)}.toolbar-actions{display:flex;gap:.6rem}.manager main{max-width:1480px;padding:1.75rem clamp(1rem,4vw,4rem);margin:auto}#auth{max-width:480px;margin:4vh auto;padding:2rem;background:var(--panel);border:1px solid var(--line);border-radius:18px}.form-stack{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}input,textarea,select{width:100%;background:#101a17;border:1px solid #536058;color:var(--ink);border-radius:8px;padding:.72rem}textarea{min-height:75px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent)}.work-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:1.3rem}.sidebar,.editor-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:1.2rem;min-height:330px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.section-head h2{margin:0;font-size:1.4rem}.menu-select{width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;text-align:left;padding:.8rem;margin-bottom:.6rem}.menu-select.active{border-color:var(--accent);background:#324139}.menu-select strong,.menu-select small{display:block}.menu-select small{color:var(--muted);margin-top:.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-bottom:1rem}.full{grid-column:1/-1}.editor-actions{padding-bottom:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.item-row{border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:.8rem}.item-fields{display:grid;grid-template-columns:minmax(120px,1fr) 100px;gap:.7rem}.item-fields .wide{grid-column:1/-1}.item-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.item-head h3{margin:.1rem 0 .8rem}#status:not(:empty){margin:1rem 0;padding:.85rem;border-radius:10px;background:#31443a}.display{min-height:100vh;overflow:hidden}.display #screen{width:100%;min-height:100vh}.placeholder{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:3rem}.placeholder .brand-mark{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,5vw,5rem);font-weight:700;letter-spacing:.08em}.placeholder p{color:var(--muted);font-size:1.4rem}.tv{min-height:100vh;position:relative;display:flex;flex-direction:column;padding:clamp(2rem,4vw,5rem) clamp(2rem,5vw,7rem);background:radial-gradient(circle at 100% 0%,#293c32 0,transparent 50%),#151e1a}.tv:before{content:'';height:7px;background:var(--accent);position:absolute;top:0;left:0;right:0}.tv-head{text-align:center;margin-bottom:clamp(2rem,5vh,4rem)}.tv-brand{font-size:clamp(1.4rem,2.7vw,2.5rem);letter-spacing:.2em;font-weight:700;color:var(--accent)}.tv-title{font-size:clamp(3.5rem,7vw,8rem);line-height:1.05;margin:.8rem 0 .5rem}.tv-subtitle{color:var(--muted);font-size:clamp(1.1rem,2vw,2rem)}.tv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:clamp(1.5rem,3vw,4rem);align-content:start;flex:1}.tv-category h2{font-size:clamp(1.65rem,2.6vw,3rem);color:var(--accent);border-bottom:1px solid #657264;padding-bottom:.5em;margin-bottom:.6em}.tv-product{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;margin:0 0 clamp(1.2rem,2.4vh,2rem)}.tv-product-name{font-size:clamp(1.2rem,1.65vw,2.1rem);font-weight:700}.tv-price{font-size:clamp(1.2rem,1.65vw,2.1rem);font-weight:700;color:var(--accent);white-space:nowrap}.tv-desc{grid-column:1/-1;color:#c8cfc5;font-size:clamp(.95rem,1.2vw,1.45rem)}.tv-note{text-align:center;color:var(--muted);font-size:clamp(.95rem,1.35vw,1.4rem);padding-top:2rem}.tv-image{display:block;width:100vw;height:100vh;object-fit:contain;background:#151e1a}@media(max-width:720px){.work-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.tv{padding:1.5rem}.tv-title{font-size:3rem}.tv-grid{grid-template-columns:1fr}}
/* The same 5px nine-position movement as the Kitchen Board.
   The inset keeps the moving content away from the display edges. */
.display #screen{position:absolute;inset:14px;width:auto;height:auto;min-height:0;overflow:hidden;transform:translate3d(0,0,0);transition:transform 18s cubic-bezier(.45,0,.55,1);will-change:transform}
.display .tv{min-height:100%;height:100%}
.display .tv-image{width:100%;height:100%}
.display .placeholder{min-height:100%;height:100%}
/* Independent overlay; changing menus never restarts the wave. */
#wave-overlay{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden;isolation:isolate}
#wave-overlay[hidden]{display:none}
#wave-overlay:before{content:"";position:absolute;left:0;top:0;width:55%;height:55%;background:radial-gradient(ellipse at center,var(--wave-color,#a8d4b3) 0%,transparent 72%);opacity:var(--wave-opacity,.07);transform:translate3d(230%,230%,0);animation:menu-board-wave var(--wave-duration,40s) linear infinite;will-change:transform;backface-visibility:hidden;contain:paint}
@keyframes menu-board-wave{0%{transform:translate3d(230%,230%,0)}100%{transform:translate3d(-130%,-130%,0)}}
@media(prefers-reduced-motion:reduce){#wave-overlay:before{animation:none;opacity:0}}
#motionSettings{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:1.25rem;margin-bottom:1.5rem}
#motionSettings h2{margin-bottom:.4rem}
.motion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1rem;margin:1rem 0}
.motion-grid .toggle{display:flex;align-items:center;gap:.65rem}
.motion-grid .toggle input{width:auto}
.motion-grid input[type=color]{min-height:43px;padding:.2rem}
