.tb-pwa-install-btn{display:none;align-items:center;gap:8px;justify-content:center;white-space:nowrap}
.tb-pwa-install-btn .dashicons{font-size:18px;width:18px;height:18px}
.tb-pwa-install-btn-sidebar{width:100%;margin-top:10px;background:#ecfdf5;border-color:#86efac;color:#166534}
.tb-pwa-install-btn-client{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.tb-pwa-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:99998;display:flex;align-items:center;justify-content:center;padding:18px}
.tb-pwa-modal{width:min(480px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(15,23,42,.24);padding:18px;color:#0f172a}
.tb-pwa-modal-media{margin:-2px -2px 12px -2px;border-radius:16px;overflow:hidden;background:#f8fafc}
.tb-pwa-modal-media img{display:block;width:100%;max-height:min(30vh,220px);object-fit:contain;object-position:center;background:#f8fafc}
.tb-pwa-modal h3{margin:0 0 8px 0;font-size:20px;line-height:1.15}
.tb-pwa-modal p{margin:0 0 12px 0;line-height:1.45;font-size:15px}
.tb-pwa-steps{margin:0 0 12px 0;padding-left:18px;font-size:15px;line-height:1.4}
.tb-pwa-steps li{margin:0 0 6px 0}
.tb-pwa-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.tb-pwa-modal-actions .tb-btn{min-width:120px;justify-content:center}
.tb-pwa-ios-banner{position:fixed;left:14px;right:14px;bottom:14px;z-index:99990;background:#fff;border:1px solid #dbeafe;border-radius:20px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:12px;display:flex;align-items:center;gap:12px}
.tb-pwa-ios-banner-media{width:74px;height:74px;flex:0 0 74px;border-radius:16px;overflow:hidden;background:#eff6ff}
.tb-pwa-ios-banner-media img{display:block;width:100%;height:100%;object-fit:cover}
.tb-pwa-ios-banner-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.tb-pwa-ios-banner-content strong{font-size:15px;line-height:1.25;color:#0f172a}
.tb-pwa-ios-banner-content span{font-size:13px;line-height:1.5;color:#475569}
.tb-pwa-ios-banner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tb-pwa-ios-banner-open,.tb-pwa-ios-banner-done{justify-content:center;white-space:nowrap}
.tb-pwa-ios-banner-close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#475569;padding:0 4px}
.tb-pwa-splash{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.98);display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .3s ease,visibility .3s ease}
.tb-pwa-splash.is-leaving{opacity:0;visibility:hidden}
.tb-pwa-splash-card{width:min(320px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:28px;box-shadow:0 24px 60px rgba(15,23,42,.14);padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.tb-pwa-splash-icon{width:88px;height:88px;border-radius:24px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #e2e8f0}
.tb-pwa-splash-icon img{display:block;width:100%;height:100%;object-fit:cover}
.tb-pwa-splash-card strong{font-size:22px;line-height:1.2;color:#0f172a}
.tb-pwa-splash-card span{font-size:14px;line-height:1.6;color:#475569}
@media (max-width: 900px){
  .tb-pwa-install-btn{display:inline-flex}
  .tb-sidebar .tb-pwa-install-btn-sidebar{display:flex}
}
@media (max-width: 640px){
  .tb-pwa-ios-banner{padding:12px;align-items:flex-start;flex-wrap:wrap}
  .tb-pwa-ios-banner-media{width:58px;height:58px;flex-basis:58px}
  .tb-pwa-ios-banner-actions{width:100%;justify-content:space-between}
  .tb-pwa-ios-banner-open,.tb-pwa-ios-banner-done{flex:1}
}

@media (max-width: 640px){
  .tb-pwa-modal-backdrop{padding:12px}
  .tb-pwa-modal{width:min(420px,100%);max-height:calc(100vh - 24px);padding:14px;border-radius:18px}
  .tb-pwa-modal-media{margin:0 0 10px 0;border-radius:14px}
  .tb-pwa-modal-media img{max-height:min(24vh,150px)}
  .tb-pwa-modal h3{font-size:17px;margin-bottom:6px}
  .tb-pwa-modal p{font-size:14px;line-height:1.35;margin-bottom:10px}
  .tb-pwa-steps{font-size:14px;line-height:1.3;padding-left:17px;margin-bottom:10px}
  .tb-pwa-steps li{margin-bottom:5px}
  .tb-pwa-modal-actions{gap:8px;margin-top:10px}
  .tb-pwa-modal-actions .tb-btn{min-width:108px;padding:10px 12px;font-size:14px}
}
