:root{--pwa-safe-top:env(safe-area-inset-top,0px);--pwa-safe-right:env(safe-area-inset-right,0px);--pwa-safe-bottom:env(safe-area-inset-bottom,0px);--pwa-safe-left:env(safe-area-inset-left,0px)}
.pwa-install{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(183,134,53,.35);border-radius:11px;padding:10px 14px;background:#fff;color:#171511;font:700 12px/1 inherit;cursor:pointer;box-shadow:0 8px 24px rgba(23,21,17,.08);transition:.2s ease}.pwa-install:hover{transform:translateY(-1px);border-color:#b78635}.pwa-install[hidden]{display:none!important}.pwa-install svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.pwa-floating-install{position:fixed;z-index:9998;right:calc(20px + var(--pwa-safe-right));bottom:calc(20px + var(--pwa-safe-bottom));background:#0a0a0a;color:#fff;border-color:rgba(214,170,85,.45)}
.pwa-toast{position:fixed;z-index:9999;left:50%;bottom:calc(22px + var(--pwa-safe-bottom));display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px 12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#111;color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.28);font:600 13px/1.35 Inter,ui-sans-serif,system-ui,sans-serif;opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:.25s ease}.pwa-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.pwa-toast button{border:0;border-radius:9px;padding:8px 10px;background:#c69543;color:#fff;font:700 12px inherit;cursor:pointer}.pwa-toast.is-offline::before{content:"";width:8px;height:8px;border-radius:50%;background:#e38268}.pwa-toast.is-online::before{content:"";width:8px;height:8px;border-radius:50%;background:#5bbf8a}
.pwa-update-modal{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.pwa-update-modal.show{opacity:1;pointer-events:auto}.pwa-update-backdrop{position:absolute;inset:0;background:rgba(10,9,10,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pwa-update-modal>section{position:relative;width:min(460px,100%);display:grid;grid-template-columns:58px minmax(0,1fr);gap:17px;padding:24px;border:1px solid rgba(198,149,67,.34);border-radius:22px;background:#fff;color:#1b1919;box-shadow:0 28px 80px rgba(0,0,0,.35);transform:translateY(16px) scale(.98);transition:transform .22s ease}.pwa-update-modal.show>section{transform:none}.pwa-update-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#191719;color:#e6b861;font:700 34px/1 system-ui}.pwa-update-modal small{color:#9a6b27;font:800 10px/1.2 system-ui;letter-spacing:.14em}.pwa-update-modal h2{margin:7px 0 8px;font:800 23px/1.08 system-ui}.pwa-update-modal p{margin:0;color:#706a64;font:500 13px/1.55 system-ui}.pwa-update-modal footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.pwa-update-modal button{min-height:42px;border:0;border-radius:11px;padding:0 15px;background:#ece7e0;color:#342f2c;font:800 12px system-ui;cursor:pointer}.pwa-update-modal button:last-child{background:#191719;color:#fff}.pwa-update-modal button:disabled{opacity:.65}
.pwa-update-progress{height:7px;margin-top:15px;overflow:hidden;border-radius:999px;background:#ebe6df}.pwa-update-progress i{display:block;width:var(--pwa-update-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#b78232,#e1b35d);transition:width .35s ease}.pwa-update-status{margin-top:8px!important;font-size:12px!important;font-weight:700!important;color:#7b5a26!important}.pwa-update-status.is-error{color:#a43e36!important}.pwa-update-status.is-error+.pwa-update-progress i{background:#c95b50}
@media(display-mode:standalone){html{background:#0a0a0a}body{padding-top:var(--pwa-safe-top);padding-right:var(--pwa-safe-right);padding-bottom:var(--pwa-safe-bottom);padding-left:var(--pwa-safe-left)}.pwa-install{display:none!important}.dashboard-topbar{padding-top:max(0px,var(--pwa-safe-top))}.booking-topbar{top:var(--pwa-safe-top)}}
@media(max-width:720px){.pwa-floating-install{right:calc(14px + var(--pwa-safe-right));bottom:calc(14px + var(--pwa-safe-bottom))}.pwa-toast{bottom:calc(14px + var(--pwa-safe-bottom))}.pwa-update-modal>section{grid-template-columns:46px minmax(0,1fr);padding:20px}.pwa-update-icon{width:46px;height:46px;border-radius:14px;font-size:28px}.pwa-update-modal footer{display:grid;grid-template-columns:1fr 1.2fr}.pwa-update-modal button{padding:0 9px}}
