.customer-offline-status{position:relative;background:#fff8df;color:#493b11;border:1px solid #dcc47b;border-radius:16px;padding:12px 16px;margin:16px;overflow-wrap:anywhere;font:15px/1.5 system-ui,sans-serif;max-height:45dvh;overflow:auto;z-index:1}
.customer-offline-status[hidden]{display:none!important}
.customer-offline-status p{margin:0 0 8px}.customer-offline-status strong{display:block}.customer-offline-status summary{cursor:pointer;padding:8px 0}
.customer-offline-status button{font:inherit;cursor:pointer;border:1px solid #5966d8;border-radius:12px;background:#5966d8;color:white;padding:10px 14px;margin:4px;min-height:44px}
.offline-customer{color-scheme:light;background:#f7f8fc;color:#202438;font:16px/1.5 system-ui,sans-serif;scroll-padding-top:90px}
.offline-customer *{box-sizing:border-box}.offline-customer body{margin:0;padding-bottom:env(safe-area-inset-bottom)}
.offline-customer a{color:#4d59c6;text-decoration:none}.offline-customer a:focus-visible,.offline-customer button:focus-visible,.offline-customer input:focus-visible{outline:3px solid #8791ed;outline-offset:3px}
.offline-header{padding:calc(16px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));background:white;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid #e5e7f0}
.offline-header a{font-weight:800;letter-spacing:.03em}.offline-header span{font-size:14px;color:#686e80}
.offline-customer main{max-width:840px;margin:auto;padding:20px max(16px,env(safe-area-inset-left)) 32px}
.offline-customer h1{font-size:26px;line-height:1.25}.offline-customer h2{font-size:22px}.offline-customer h3{font-size:18px;margin:0 0 8px;overflow-wrap:anywhere}
.offline-note{color:#62677b}.offline-customer nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.offline-customer nav a{padding:10px 16px;border-radius:24px;background:#eeeffb;min-height:44px}
.offline-customer section{margin-top:28px}.offline-customer input,.offline-customer button{font:inherit;min-height:44px;border-radius:12px;padding:10px 12px}
.offline-customer summary{min-height:44px;padding:12px 0;cursor:pointer;color:#4d59c6}
.offline-customer input{border:1px solid #d1d5e3;background:#fff;color:#202438;max-width:100%}
#offline-search{display:block;width:100%;margin:8px 0 16px}.offline-customer button{border:0;background:#5966d8;color:white;cursor:pointer}
.offline-customer button:disabled{opacity:.5;cursor:default}.offline-card{border:1px solid #e3e5ee;border-radius:20px;background:#fff;padding:18px;margin:12px 0;overflow-wrap:anywhere}
.offline-sku{padding-top:12px;margin-top:12px;border-top:1px solid #edf0f6}.offline-sku p{margin:4px 0 10px}.offline-muted{color:#6b7183;font-size:14px}
.offline-quantity{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.offline-quantity input{width:100px}.offline-quantity button{background:#f0f1fc;color:#4d59c6}
#offline-error{background:#fff0f0;border:1px solid #dfaaaa;padding:12px;border-radius:12px;color:#982c2c}
.offline-customer .customer-offline-status{margin:16px 0}.offline-customer small{display:block}
@media(prefers-reduced-motion:reduce){.offline-customer *{scroll-behavior:auto!important}}

/* Background connectivity and preparation must never insert rows into a page. */
#customer-offline-status:not(:has(button, details)),
#customer-full-offline-status:not(:has(button, details)) { display: none !important; }
/* Preserve explicit conflict-resolution controls without moving page content. */
#customer-offline-status, #customer-full-offline-status {
 position: fixed; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right));
 bottom: calc(var(--mobile-nav-height, 64px) + env(safe-area-inset-bottom) + 12px);
 margin: 0; background: #fff; color: #202438; border-color: #e3e5ee; z-index: 85;
 max-width: 560px; max-height: 40dvh; box-shadow: 0 4px 20px #20243818;
}
a[data-checkout-offline] { opacity: .5; cursor: not-allowed; }

/* Customer connection-only notices must stay silent, including before offline storage initializes. */
#rublcom-safety:not(:has(button)) { display: none !important; }
