.pjm-pwa-install { display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #cfddd7;border-radius:6px;background:#fff;color:#1b5e4b;font:inherit;text-align:left;cursor:pointer; }
.pjm-ca__user-dd > .pjm-pwa-install,.pjm-ca__mobile-more-list > .pjm-pwa-install { width:100%;border:0; }
.pjm-pwa-install[hidden],.pjm-pwa-confirm[hidden],.pjm-pwa-connection[hidden],.pjm-pwa-update[hidden] { display:none!important; }
.pjm-pwa-dialog { width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #cbdcd4;border-radius:8px;background:#fff;color:#20352c;box-sizing:border-box;font:16px/1.5 system-ui,sans-serif;overflow:auto; }
.pjm-pwa-dialog::backdrop { background:rgb(15 35 26 / 48%); }
.pjm-pwa-dialog header { display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #e1e8e4; }
.pjm-pwa-dialog h2 { flex:1;margin:0;font-size:20px;line-height:1.3;overflow-wrap:anywhere; }
.pjm-pwa-dialog img { flex:none; }
.pjm-pwa-close { flex:none;width:40px;height:40px;border:0;background:transparent;color:#52665c;font-size:28px;cursor:pointer; }
.pjm-pwa-dialog__body { padding:0 20px 20px; }
.pjm-pwa-confirm,.pjm-pwa-update button { min-height:44px;padding:10px 16px;border:0;border-radius:6px;background:#1b5e4b;color:white;font:inherit;cursor:pointer; }
.pjm-pwa-connection,.pjm-pwa-update { position:fixed;z-index:10000;right:12px;left:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:540px;margin:auto;padding:12px 16px;border:1px solid #dac273;border-radius:6px;background:#fff7db;color:#513f06;box-shadow:0 4px 18px rgb(0 0 0 / 12%);font:14px/1.4 system-ui,sans-serif; }
.pjm-pwa-update { display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border-color:#cfddd7;color:#20352c;bottom:calc(150px + env(safe-area-inset-bottom)); }
@media(display-mode:standalone) { .pjm-pwa-install { display:none!important; } }
.pjm-campus-widget-code-wrap[hidden] { display:none!important; }
.pjm-campus-widget-code-wrap { display:grid;gap:8px;margin-top:16px; }
.pjm-campus-widget-code { box-sizing:border-box;width:100%;max-width:100%;font-size:13px;overflow-wrap:anywhere;resize:vertical; }
