.restaurant-sync{grid-column:1/-1;order:-2;width:100%;min-width:0;border:1px solid var(--stroke,#bfcbd8);border-inline-start:4px solid #287149;border-radius:12px;padding:10px 14px;background:var(--surface,#fff);color:var(--text,#203047);font-size:13px;line-height:1.7}.sync-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px}.sync-title{font-size:14px}.sync-time{font-size:12px;color:var(--secondary,#53657c)}.sync-description{margin:8px 0 0}.restaurant-sync:not(.sync-emergency) .sync-description{display:none}.sync-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.sync-tools button{font:inherit;border:1px solid var(--stroke,#bfcbd8);border-radius:7px;padding:7px 10px;min-height:40px;color:var(--text,#203047);background:var(--surface-alt,#eef2f6);cursor:pointer}.sync-tools button[hidden]{display:none}.sync-tools button:disabled{opacity:.55}.sync-emergency{border-inline-start-color:#b9650a}.sync-emergency .sync-title{color:#874400}:root[data-theme=dark] .sync-emergency .sync-title{color:#ffd39e}.sync-form-stale{font-size:13px;line-height:1.8;border:1px solid var(--stroke,#bdc8d4);border-inline-start:4px solid #b9650a;padding:12px;border-radius:8px;background:var(--surface-alt,#edf2f8);color:var(--text,#203047)}.sync-readonly .ops-actions>.btn.pri,.sync-readonly .chat-send{opacity:.6}.sync-view-update{grid-column:2;display:flex;gap:10px;flex-wrap:wrap;align-items:center;border:1px solid var(--stroke);background:var(--surface);color:var(--text);padding:12px;border-radius:10px;line-height:1.7;min-width:0}.sync-view-update.hidden{display:none}.store-sync{max-width:1160px;margin:12px auto;padding-inline:16px}.store-sync[hidden]{display:none}.store-sync button{min-height:44px}@media(max-width:700px){.restaurant-sync{padding:10px 12px}.sync-tools button{min-height:44px;font-size:12px}.sync-heading{flex-direction:column;align-items:flex-start}.sync-view-update{width:100%}}@media print{.restaurant-sync,.sync-view-update,.sync-form-stale{display:none!important}}

/* Compact admin status: never reserves a row in the workspace, even during an outage. */
.adm .sync-brand-row{display:flex;align-items:center;gap:5px;min-width:0}.adm .sync-brand-row>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm .sync-indicator{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.adm .sync-indicator:hover{background:#ffffff17}.adm .sync-indicator:focus-visible{outline:2px solid #fff;outline-offset:2px}.adm .sync-indicator .sync-dot{width:10px;height:10px;display:block;border-radius:50%;background:#ff7070;box-shadow:0 0 0 3px #ff707022}.adm .sync-indicator[data-health=green] .sync-dot{background:#65df96;box-shadow:0 0 0 3px #65df9622}
:is(.adm,.store) .sync-popover{position:fixed;z-index:120;top:76px;inset-inline:12px;margin-inline:auto;width:calc(100% - 24px);max-width:360px;max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:0 12px 40px #0004;padding:16px;order:initial;grid-column:auto}:is(.adm,.store) .sync-popover[hidden]{display:none!important}:is(.adm,.store) .sync-popover .sync-heading{display:block;padding-inline-end:28px}:is(.adm,.store) .sync-popover .sync-time{display:block;margin-top:7px}:is(.adm,.store) .sync-popover .sync-description{display:block}:is(.adm,.store) .sync-popover .sync-close{position:absolute;inset-inline-end:8px;top:8px;border:0;border-radius:7px;background:var(--surface-alt);color:var(--text);width:32px;height:32px;font:24px/1 sans-serif;cursor:pointer}
.sync-notification{position:fixed;z-index:125;top:12px;inset-inline:12px;margin-inline:auto;max-width:340px;width:max-content;padding:10px 16px;border:1px solid transparent;border-radius:10px;box-shadow:0 6px 24px #0003;font:600 14px/1.6 Tajawal,sans-serif;text-align:center;cursor:pointer}.sync-notification.is-green{background:#e6f7ec;color:#14532d;border-color:#86cba0}.sync-notification.is-red{background:#fff0f0;color:#8d2020;border-color:#e7aaaa}@media print{.sync-indicator,.sync-notification,.sync-popover{display:none!important}}

/* An outage notice stays visible until a verified recovery; it cannot be dismissed. */
.sync-notification.sync-sticky-notice{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:400px;cursor:default;padding:10px 12px;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-align:start}.sync-sticky-notice>span{flex:1 1 180px}.sync-notice-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-notice-tools button{font:600 13px/1.4 Tajawal,sans-serif;min-height:44px;padding:8px 12px;border:1px solid #bd7272;border-radius:7px;background:#fff;color:#8d2020;cursor:pointer}.sync-notice-tools button:disabled{opacity:.6;cursor:wait}.sync-has-persistent .sync-popover{max-height:calc(100dvh - 240px)}

/* Customer outage notices share the staff behavior, without hiding basket controls. */
.store .store-sync{margin-block:0;min-width:0}.store .store-sync[hidden],.store .store-sync [hidden]{display:none!important}.store .store-sync-details .sync-title{display:block;padding-inline-end:28px}.store .store-sync-details .sync-description{display:block}.store.sync-has-persistent{padding-bottom:calc(var(--store-sync-height,120px) + 24px)}.store.sync-has-persistent #cartbar{bottom:calc(var(--store-sync-height,120px) + 24px + env(safe-area-inset-bottom))}.store.sync-has-persistent #sheet{padding-bottom:calc(var(--store-sync-height,120px) + 36px + env(safe-area-inset-bottom))}.store .store-sync.is-green{cursor:default}
