.offline-sync{position:fixed;right:18px;bottom:18px;z-index:9500;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172230}
.offline-pin-gate{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:20px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172230}
.offline-pin-card{display:grid;gap:12px;width:min(420px,100%);padding:32px;border:1px solid #e1e5ea;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.14)}
.offline-pin-mark{font-size:34px;font-weight:900;letter-spacing:-2px;color:#ec5b16}.offline-pin-card>small{color:#b54708;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.offline-pin-card h1{margin:4px 0 0;font-size:25px}.offline-pin-card p{margin:0;color:#667085;line-height:1.5}
.offline-pin-card form{display:grid;gap:9px;margin-top:8px}.offline-pin-card label{font-size:13px;font-weight:750}.offline-pin-card input{width:100%;height:48px;padding:0 14px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;font-size:22px;letter-spacing:.25em;text-align:center;box-sizing:border-box}.offline-pin-card input:focus{outline:3px solid rgba(236,91,22,.16);border-color:#ec5b16}.offline-pin-card button{height:44px;border:0;border-radius:8px;background:#e65312;color:#fff;font-weight:800;cursor:pointer}.offline-pin-card button:disabled{opacity:.55;cursor:wait}.offline-pin-card strong{min-height:18px;color:#b42318;font-size:12px}
body.tsigns-offline-mode #appScreen .menu-item:not(#newOrderMenu):not(#reservationsMenu),
body.tsigns-offline-mode #appScreen .sidebar-group:not(:has(#newOrderMenu,#reservationsMenu)),
body.tsigns-offline-mode #appScreen .section:not(#newOrderSection):not(#reservationsSection),
body.tsigns-offline-mode #reservationsSection .reservations-tab:not([data-reservation-tab="new"]),
body.tsigns-offline-mode #mobileBottomNav,
body.tsigns-offline-mode #mobileSignFab{display:none!important}
body.tsigns-offline-mode #appScreen .sidebar-group:has(#newOrderMenu,#reservationsMenu) .sidebar-group-label::after{content:" · sin conexión";color:#b54708;font-size:10px;font-weight:700}
.offline-network-notice{position:fixed;top:18px;left:50%;z-index:9600;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(680px,calc(100vw - 28px));padding:14px 16px;transform:translateX(-50%);border:1px solid #f4c7c3;border-radius:10px;background:#fff7f6;box-shadow:0 16px 45px rgba(16,24,40,.18);color:#7a271a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.offline-network-notice[hidden]{display:none!important}.offline-network-notice div{display:grid;gap:3px}.offline-network-notice p{margin:0;color:#912018;font-size:13px;line-height:1.35}.offline-network-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fee4e2;font-weight:900}.offline-network-notice button{min-height:36px;padding:0 12px;border:1px solid #d92d20;border-radius:7px;background:#fff;color:#b42318;font-weight:700;cursor:pointer}
.offline-network-notice.is-online{border-color:#fedf89;background:#fffaeb;color:#93370d}.offline-network-notice.is-online p{color:#b54708}.offline-network-notice.is-online .offline-network-icon{background:#fef0c7}.offline-network-notice.is-online button{border-color:#f79009;color:#b54708}
.offline-network-notice.is-success{border-color:#abefc6;background:#ecfdf3;color:#05603a}.offline-network-notice.is-success p{color:#067647}.offline-network-notice.is-success .offline-network-icon{background:#d1fadf}.offline-network-notice.is-success button{border-color:#17b26a;color:#067647}
.offline-network-notice.is-warning{border-color:#fedf89;background:#fffaeb;color:#93370d}.offline-network-notice.is-warning p{color:#b54708}.offline-network-notice.is-warning .offline-network-icon{background:#fef0c7}.offline-network-notice.is-warning button{border-color:#f79009;color:#b54708}
.offline-sync-pill{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #dce2e8;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(16,24,40,.16);color:#344054;cursor:pointer}
.offline-sync-dot{width:9px;height:9px;border-radius:50%;background:#229b61;box-shadow:0 0 0 3px rgba(34,155,97,.12)}
.offline-sync-count,.offline-sync-pill span:last-child:not(:empty){display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#fff0e8;color:#b54708;font-size:11px;font-weight:800}
.offline-sync.is-offline .offline-sync-dot{background:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12)}
.offline-sync.has-pending:not(.is-offline) .offline-sync-dot{background:#f79009;box-shadow:0 0 0 3px rgba(247,144,9,.14)}
.offline-sync-panel{position:absolute;right:0;bottom:52px;width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid #dce2e8;border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.2)}
.offline-sync-panel[hidden]{display:none!important}
.offline-sync-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #e7eaee}
.offline-sync-panel header div{display:grid;gap:3px}.offline-sync-panel header small{color:#667085}.offline-sync-panel header button{width:32px;height:32px;border:0;border-radius:6px;background:#f2f4f7;font-size:22px;cursor:pointer}
#offlineSyncItems{display:grid;max-height:300px;overflow:auto}
#offlineSyncItems>p{margin:0;padding:20px;color:#667085;text-align:center}
#offlineSyncItems article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #eef0f3}
#offlineSyncItems article span{display:grid;gap:2px;min-width:0}#offlineSyncItems article small{color:#667085}#offlineSyncItems article em{color:#b42318;font-size:11px;font-style:normal}
#offlineSyncItems article button{border:1px solid #d0d5dd;border-radius:6px;background:#fff;padding:6px 8px;color:#b42318;cursor:pointer}#offlineSyncItems article>b{color:#067647;font-size:12px}
#offlineSyncNow{width:calc(100% - 32px);margin:14px 16px;min-height:40px}
@media(max-width:760px){.offline-network-notice{top:10px;grid-template-columns:32px minmax(0,1fr);align-items:start;padding:12px}.offline-network-notice button{grid-column:2;justify-self:start}.offline-sync{right:12px;bottom:82px}.offline-sync-pill{min-height:46px}.offline-sync-panel{position:fixed;right:12px;bottom:136px;left:12px;width:auto}}
