@font-face{font-family:Plex;font-display:swap;src:url('/assets/fonts/ibm-plex-arabic-400.woff2')}@font-face{font-family:Plex;font-display:swap;src:url('/assets/fonts/ibm-plex-arabic-500.woff2');font-weight:500}@font-face{font-family:Plex;font-display:swap;src:url('/assets/fonts/ibm-plex-arabic-600.woff2');font-weight:600}
:root{--paper:#f4f0e8;--ink:#24271f;--green:#56654b;--line:#d6d1c5;--muted:#6b6d63}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Plex,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a87347;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:2.6rem;font-weight:500}h2{font-weight:500;font-size:1.9rem}h3{font-size:1.25rem;font-weight:500}.muted{color:var(--muted)}.overline{font-size:.75rem;color:var(--muted);margin-bottom:10px}.admin-header{height:88px;display:flex;align-items:center;gap:25px;padding:0 4vw;border-bottom:1px solid var(--line)}.admin-header img{width:180px;height:auto;display:block}.admin-header>a:last-child{margin-inline-start:auto;font-size:.875rem}.private-label{font-size:.8rem;border-inline-start:1px solid var(--line);padding-inline-start:25px;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{border-inline-end:1px solid var(--line);padding:45px 26px;position:sticky;top:0;align-self:start}.sidebar nav{margin:42px -12px 55px;display:grid;gap:8px}.nav-tab{border:0;background:none;display:flex;justify-content:space-between;text-align:start;gap:12px;padding:14px 12px;font-size:.9rem;color:var(--muted)}.nav-tab.active{background:#e3e6dc;color:#37442f}.nav-tab span{font-size:.7rem;direction:ltr}.sidebar-note{font-size:.85rem;border-top:1px solid var(--line);padding-top:22px}.sidebar-note p{color:var(--muted);margin-top:8px}.signout{display:block;margin-top:36px;font-size:.85rem;text-decoration:underline;text-underline-offset:5px}.workspace{padding:45px 4vw 60px;min-width:0;max-width:1500px;width:100%;margin:auto}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.save-status{font-size:.8rem;display:flex;align-items:center;gap:8px;color:var(--muted)}#status-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}body.dirty #status-dot{background:#b27639}.toolbar{display:flex;flex-wrap:wrap;gap:10px;position:sticky;top:0;background:var(--paper);padding:22px 0;border-bottom:1px solid var(--line);z-index:3}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:1px solid var(--green);font-weight:500;font-size:.9rem}.primary{color:white;background:var(--green)}.secondary{color:var(--ink);background:transparent;border-color:#b8bbaF}.text-button{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:.85rem}.toolbar .text-button{margin-inline-start:auto}#notice{font-size:.9rem;margin-top:15px;min-height:25px}#notice.error{color:#a02e25}#notice.success{color:#3e5b35}.filters{display:flex;align-items:end;gap:20px;margin:20px 0 28px}.filters label{min-width:180px}.search-label{flex:1;max-width:420px}label{display:block;font-size:.85rem;color:#5f6257}input,textarea,select{width:100%;border:1px solid var(--line);background:#fffdf9;color:var(--ink);padding:10px 12px;border-radius:3px;margin-top:6px;min-height:46px}textarea{resize:vertical;min-height:95px;line-height:1.8}input[dir=ltr],textarea[dir=ltr]{text-align:left;font-family:Plex,Arial,sans-serif}input[type=checkbox]{width:18px;min-height:18px;margin:0;accent-color:var(--green)}.dish-grid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.dish-card{border:1px solid var(--line);background:#faf8f3;min-width:0}.dish-card.is-hidden{border-style:dashed}.dish-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}.dish-head p{color:var(--muted);font-size:.75rem}.toggle-label{display:flex;align-items:center;gap:7px;white-space:nowrap}.dish-photo-box{position:relative;aspect-ratio:3/2;background:#e8e5dc;margin:20px 22px 10px;display:grid;place-items:center;overflow:hidden}.dish-photo-box img{width:100%;height:100%;object-fit:cover;position:absolute}.dish-photo-box span{color:var(--muted);font-size:.9rem}.image-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 22px 20px}.upload-label{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid var(--line);cursor:pointer;color:var(--ink);position:relative}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.sample-note{display:block;width:100%;font-size:.75rem;color:#866443}.dish-fields{padding:0 22px 22px;display:grid;gap:15px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dish-fields details{border-top:1px solid var(--line);padding-top:12px}.dish-fields summary{cursor:pointer;font-size:.85rem;color:var(--muted);padding:8px 0}.dish-fields details label{margin-top:10px}.copy-field{padding:23px 0;border-bottom:1px solid var(--line)}.copy-field textarea{margin-top:10px}.workspace-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 35px;font-size:.75rem;color:var(--muted)}[hidden]{display:none!important}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:32px;max-width:520px;width:calc(100% - 32px);font:inherit}dialog::backdrop{background:#15191080}dialog p{margin:18px 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.login-card{max-width:520px;margin:12vh auto;padding:42px 32px;border:1px solid var(--line)}.login-card img{width:190px;margin-bottom:35px}.login-card h1{font-size:2rem}.login-card p{margin:20px 0 30px;color:var(--muted)}.login-card .back{display:block;margin-top:24px;font-size:.9rem}.empty{padding:45px;border:1px dashed var(--line)}
@media(max-width:1100px){.admin-layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:30px 18px}.dish-grid{grid-template-columns:1fr}.workspace{padding:30px}.workspace-head{display:block}.save-status{margin-top:12px}}
@media(max-width:700px){.admin-header{height:76px;padding:0 20px;gap:14px}.admin-header img{width:140px}.private-label{display:none}.admin-layout{display:block}.sidebar{position:static;padding:20px;border-inline-end:0;border-bottom:1px solid var(--line)}.sidebar>h1,.sidebar>.overline,.sidebar>.muted,.sidebar-note{display:none}.sidebar nav{display:flex;margin:0;gap:8px}.nav-tab{flex:1;justify-content:center;padding:12px 8px;font-size:.82rem}.nav-tab span{display:none}.signout{margin:16px 0 0;font-size:.75rem}.workspace{padding:24px 18px 45px}.workspace h2{font-size:1.6rem}.toolbar{gap:8px;padding:15px 0}.primary,.secondary{padding:10px 12px;font-size:.82rem}.toolbar .text-button{margin:0;font-size:.75rem}.filters{flex-wrap:wrap;gap:12px}.filters label{min-width:120px;flex:1}.search-label{flex-basis:100%!important;max-width:none}#dish-count{font-size:.8rem}.dish-head{padding:18px}.dish-photo-box{margin:18px 18px 10px}.dish-fields{padding:0 18px 18px}.image-tools{padding-inline:18px}.field-row{gap:10px}.login-card{margin:8vh 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* The same image frame rules are shared by editor cards and the public menu. */
.dish-photo-box{display:block;aspect-ratio:auto;min-height:110px}.dish-photo-box>span{display:grid;place-items:center;min-height:180px}.image-tools .secondary{min-height:44px;font-size:.85rem;padding:8px 14px}
#crop-dialog{max-width:1000px;max-height:calc(100dvh - 28px);overflow:auto;padding:26px}body:has(#crop-dialog[open]){overflow:hidden}.crop-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.crop-heading .overline{display:block;font-size:.875rem}.crop-heading h2{font-size:1.65rem}#crop-help{font-size:1rem;color:var(--muted);margin:14px 0 24px}.crop-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}.crop-preview-column{min-width:0}#crop-stage{width:100%;max-width:480px;margin:auto;border:1px solid var(--line);touch-action:none;user-select:none}#crop-stage.is-draggable{cursor:grab}#crop-stage.is-draggable:active{cursor:grabbing}#crop-stage:focus-visible{outline:3px solid #a87347;outline-offset:3px}#crop-stage.is-draggable::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.1%,#ffffff55 33.1%,#ffffff55 33.4%,transparent 33.4%,transparent 66.4%,#ffffff55 66.4%,#ffffff55 66.7%,transparent 66.7%),linear-gradient(to bottom,transparent 33.1%,#ffffff55 33.1%,#ffffff55 33.4%,transparent 33.4%,transparent 66.4%,#ffffff55 66.4%,#ffffff55 66.7%,transparent 66.7%);opacity:0}#crop-stage.is-draggable:active::after,#crop-stage.is-draggable:focus-visible::after{opacity:1}.crop-controls{display:grid;gap:15px}.crop-controls label{font-size:.9rem}.crop-controls output{float:left;direction:ltr;color:var(--ink)}.crop-controls input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--green);min-height:36px;cursor:pointer}.crop-controls input:disabled{opacity:.4;cursor:default}.crop-controls .text-button{text-align:start;min-height:44px}.crop-note{font-size:.875rem;color:var(--muted);margin:0!important}#crop-message{min-height:24px;font-size:.875rem;color:#a02e25;margin:12px 0}.crop-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;align-items:center}.crop-actions span{font-size:.875rem;color:var(--muted)}
@media(max-width:700px){#crop-dialog{padding:18px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.crop-layout{grid-template-columns:1fr;gap:15px}#crop-stage{max-width:300px}.crop-heading h2{font-size:1.4rem}.crop-controls{gap:10px}.crop-controls label{font-size:1rem}.crop-actions{position:sticky;bottom:-18px;background:var(--paper);padding-bottom:18px;z-index:2}.crop-actions span{width:100%}}
.category-editor{max-width:850px;border:1px solid var(--line);background:#faf8f3;padding:26px;display:grid;gap:20px}.category-editor>.muted{font-size:1rem}.category-editor label{font-size:.9rem}.category-editor textarea{min-height:130px}@media(max-width:700px){.category-editor{padding:18px}.category-editor .field-row{grid-template-columns:1fr}.category-editor label{font-size:1rem}.sidebar .nav-tab{font-size:.875rem;min-width:0}}

.filters{flex-wrap:wrap}.menu-create-dialog{width:680px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto}.menu-create-dialog form{display:grid;gap:16px;margin-top:22px}.menu-create-dialog [role=alert]{color:#a02e25}.menu-create-dialog .dialog-actions{margin-top:0}body:has(.menu-create-dialog[open]){overflow:hidden}.dish-card{scroll-margin-top:110px}@media(max-width:700px){.menu-create-dialog{padding:20px}.menu-create-dialog .field-row{grid-template-columns:1fr}.filters>button{width:100%}}

.host-admin-mode .workspace{margin:0 auto}.host-admin-mode .workspace-head{margin-bottom:30px}.host-admin-mode .workspace-head .signout{margin-top:0}.host-admin-mode .reservation-settings,.host-admin-mode #edit-floor,.host-admin-mode #floor-editor{display:none!important}.host-admin-mode .workspace-head h1{font-size:1.9rem}

.host-language{border:1px solid var(--line);padding:7px 14px;font-size:1rem;white-space:nowrap}.host-admin-mode .admin-header{height:auto;min-height:88px;flex-wrap:wrap;padding-block:14px}.host-admin-mode .admin-header .host-language{margin-inline-start:auto}.host-admin-mode[dir=ltr],html[lang=en] .host-admin-mode{font-family:Arial,Plex,sans-serif}html[lang=en] .host-admin-mode .floor-table-copy{direction:ltr}html[lang=en] .host-admin-mode .floor-summary{direction:ltr}@media(max-width:700px){.host-admin-mode .admin-header{gap:12px}.host-admin-mode .admin-header img{width:135px}.host-admin-mode .admin-header .host-language{padding:6px 10px}.host-admin-mode .admin-header>a{font-size:.85rem}}

#reservation-sync{font-size:.875rem;color:#42633a;margin:8px 0}#reservation-sync.is-stale{color:#a02e25;font-weight:600}.booking-admin-mode .workspace-head{margin-bottom:12px}.booking-admin-mode .workspace{padding-top:20px}.booking-admin-mode .workspace-head .overline{display:none}.booking-admin-mode .floor-section{margin-top:12px}.host-admin-mode .workspace-head{margin-bottom:12px}
@media(max-width:1100px){.booking-admin-mode .admin-layout{display:block}.booking-admin-mode .sidebar{position:static;padding:10px 24px;border-inline-end:0;border-bottom:1px solid var(--line)}.booking-admin-mode .sidebar>h1,.booking-admin-mode .sidebar>.overline,.booking-admin-mode .sidebar>.muted,.booking-admin-mode .sidebar>.signout{display:none}.booking-admin-mode .sidebar nav{display:flex;margin:0;gap:8px}.booking-admin-mode .workspace{padding:18px}.booking-admin-mode .sidebar .nav-tab{padding:10px}}
