.pwa-install-bar{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));right:12px;z-index:9000;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 24px);padding:8px 12px;border:1px solid #cad8e9;border-radius:12px;background:#fff;color:#173f80;box-shadow:0 4px 15px #173f8020;font:13px Arial,sans-serif}.pwa-install-bar button{min-height:44px}.pwa-photo-controls{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.pwa-photo-controls button{min-height:44px}#powerhubInstallDialog{max-width:460px;width:calc(100% - 48px);border:1px solid #cad8e9;border-radius:16px;padding:24px;color:#173f80;font:16px/1.5 Arial,sans-serif}#powerhubInstallDialog::backdrop{background:#0f234c90}.pwa-offline .pwa-install-bar{background:#fff3cd;color:#664d03}@media(display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom)}.pwa-offline body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}}@media(max-width:600px){.pwa-install-bar{font-size:12px;left:12px;right:12px;justify-content:space-between}}
.pwa-install-bar[hidden]{display:none}
#powerhubPhotoOptions{box-sizing:border-box;width:calc(100% - 32px);max-width:500px;padding:20px;border:1px solid #cad8e9;border-radius:16px;color:#173f80;background:#fff}#powerhubPhotoOptions::backdrop{background:#0f234c90}#powerhubPhotoOptions h2{margin-top:0}
@media(max-width:767px),(max-width:1100px) and (pointer:coarse){
  .fo-photo-viewer{padding:12px;box-sizing:border-box}
  .fo-photo-viewer .fo-photo-viewer-box{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:100%;height:90dvh;max-height:90dvh;min-width:0;box-sizing:border-box;overflow:hidden}
  .fo-photo-viewer .fo-photo-viewer-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;flex:0 0 auto;width:100%;padding:12px;box-sizing:border-box}
  .fo-photo-viewer .fo-photo-viewer-actions button{position:static;min-height:44px;flex:0 0 auto;margin:0}
  .fo-photo-viewer .fo-photo-viewer-image-wrap{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;min-height:0;width:100%;padding:0 10px 10px;box-sizing:border-box;overflow:hidden}
  .fo-photo-viewer .fo-photo-viewer-image-wrap img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0}
}
.pwa-photo-controls .pwa-camera-button{display:inline-flex;align-items:center;justify-content:center;width:52px;min-width:52px;padding:8px;color:#fff;background:#ff8500;border-color:#ff8500}.pwa-photo-controls .pwa-library-button{background:#ff8500;border-color:#ff8500;color:#fff}
#powerhubCameraDialog{box-sizing:border-box;width:calc(100% - 24px);max-width:640px;max-height:90dvh;overflow:auto;padding:18px;border:1px solid #cad8e9;border-radius:16px;color:#173f80;background:#fff}#powerhubCameraDialog::backdrop{background:#0f234ccc}#powerhubCameraDialog h2{margin:0 0 10px}#powerhubCameraDialog video{display:block;width:100%;max-height:40dvh;object-fit:contain;background:#101b2c;border-radius:10px}#powerhubCameraDialog [hidden]{display:none}.pwa-camera-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.pwa-camera-photos img{width:100%;height:110px;object-fit:contain;background:#edf2fa;border-radius:8px}.pwa-camera-photos button{width:100%;min-height:44px;padding:8px;font-size:12px}#powerhubCameraDialog button{min-height:44px}#powerhubCameraDialog [data-status]{overflow-wrap:anywhere}

.pwa-pending-button{position:fixed;bottom:80px;right:12px;z-index:9001;min-height:44px;background:#fff3cd;color:#664d03;border:1px solid #ffca2c}.pwa-pending-button[hidden]{display:none}#powerhubPendingDialog{max-width:600px;width:calc(100% - 48px);max-height:80vh;overflow:auto;padding:24px;border:1px solid #cad8e9;border-radius:16px;color:#173f80}#powerhubPendingDialog::backdrop{background:#0f234c90}.pwa-pending-row{border-bottom:1px solid #cad8e9;padding:14px 0;overflow-wrap:anywhere}.pwa-pending-row button{min-height:44px}
#powerhubCameraDialog{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:0;border:0;border-radius:0;overflow:hidden;background:#000;color:#fff;display:flex;flex-direction:column}#powerhubCameraDialog:not([open]){display:none}#powerhubCameraDialog .pwa-native-camera-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:max(6px,env(safe-area-inset-top)) 12px 6px;box-sizing:border-box}#powerhubCameraDialog .pwa-native-camera-head button{background:transparent;color:#fff;border:0;box-shadow:none;border-radius:50%;width:44px;height:44px;font-size:32px;line-height:1;padding:0}#powerhubCameraDialog video{flex:1 1 0;min-height:0;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;background:#000}#powerhubCameraDialog .pwa-native-camera-footer{position:relative;display:flex;justify-content:center;align-items:center;flex:0 0 auto;padding:14px 12px max(16px,env(safe-area-inset-bottom));background:#000}#powerhubCameraDialog [data-capture]{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:78px;height:78px;min-height:78px;padding:4px;border:3px solid #fff;border-radius:50%;background:#000;box-shadow:none;cursor:pointer}#powerhubCameraDialog [data-capture] span{display:block;width:100%;height:100%;border-radius:50%;background:#fff;transition:transform .12s}#powerhubCameraDialog [data-capture]:active span{transform:scale(.9)}#powerhubCameraDialog [data-capture]:disabled{opacity:.45}#powerhubCameraDialog [data-confirm],#powerhubCameraDialog [data-native]{position:absolute;bottom:30px;width:44px;height:44px;border:0;border-radius:50%;background:#222;color:#fff;font-size:24px;padding:0}#powerhubCameraDialog [data-confirm]{left:20px}#powerhubCameraDialog [data-native]{right:20px}#powerhubCameraDialog .pwa-camera-status{margin:0;position:absolute;left:12px;right:12px;bottom:120px;padding:10px;border-radius:8px;background:#202020dc;color:#fff;font-size:14px;text-align:center}#powerhubCameraDialog .pwa-camera-status:empty{display:none}#powerhubCameraDialog [hidden]{display:none!important}

#powerhubCameraDialog .pwa-camera-flash{position:absolute;inset:0;z-index:5;pointer-events:none;background:#fff;opacity:0}#powerhubCameraDialog .pwa-camera-flash.flash{animation:powerhub-shutter-flash .18s ease-out}@keyframes powerhub-shutter-flash{from{opacity:.35}to{opacity:0}}@media(prefers-reduced-motion:reduce){#powerhubCameraDialog .pwa-camera-flash.flash{animation-duration:.08s}}
