/* NetRakam 2.0 — Module 23: PWA & app-like experience */
.nr-offline-bar{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:160;display:flex;align-items:center;gap:12px;width:min(620px,calc(100% - 28px));transform:translateX(-50%);padding:12px 14px;border:1px solid rgba(251,191,36,.24);border-radius:16px;background:rgba(65,36,8,.96);color:#fff6dc;box-shadow:0 18px 55px rgba(0,0,0,.28);backdrop-filter:blur(16px);font-size:12px;font-weight:700;text-align:left}.nr-offline-bar[hidden]{display:none!important}.nr-offline-bar__dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#fbbf24;box-shadow:0 0 0 5px rgba(251,191,36,.11)}.nr-offline-bar__text{min-width:0;flex:1}.nr-offline-bar button{flex:0 0 auto;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.08);color:inherit;padding:7px 10px;font:inherit;font-weight:800;cursor:pointer}.nr-online-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:161;transform:translate(-50%,18px);opacity:0;pointer-events:none;padding:10px 14px;border:1px solid rgba(72,231,185,.2);border-radius:999px;background:#08261f;color:#caffee;font-size:12px;font-weight:800;box-shadow:0 16px 40px rgba(0,0,0,.25);transition:opacity .2s ease,transform .2s ease}.nr-online-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.nr-pwa-modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px;background:rgba(1,10,16,.7);backdrop-filter:blur(12px)}.nr-pwa-modal[hidden]{display:none!important}.nr-pwa-panel{width:min(520px,100%);max-height:min(720px,calc(100svh - 40px));overflow:auto;border:1px solid rgba(100,255,210,.18);border-radius:26px;background:linear-gradient(180deg,#08212d,#061923);color:#eefcf8;box-shadow:0 30px 90px rgba(0,0,0,.45);padding:26px;outline:none}.nr-pwa-head{display:flex;align-items:flex-start;gap:14px}.nr-pwa-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border:1px solid rgba(72,231,185,.2);border-radius:15px;background:rgba(72,231,185,.1);color:#48e7b9}.nr-pwa-icon svg{width:25px;height:25px}.nr-pwa-title{margin:2px 0 5px;font-size:22px;line-height:1.15;letter-spacing:-.035em}.nr-pwa-subtitle{margin:0;color:#9bbab6;font-size:13px;line-height:1.55}.nr-pwa-close{margin-left:auto;width:38px;height:38px;flex:0 0 auto;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.04);color:#cbe4df;font-size:20px;cursor:pointer}.nr-pwa-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.nr-pwa-benefit{padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.025)}.nr-pwa-benefit b{display:block;margin-bottom:4px;color:#dffbf2;font-size:12px}.nr-pwa-benefit span{display:block;color:#779c97;font-size:11px;line-height:1.45}.nr-pwa-ios{margin:18px 0 0;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}.nr-pwa-ios ol{margin:10px 0 0;padding-left:20px;color:#abc8c3;font-size:13px;line-height:1.7}.nr-pwa-actions{display:flex;gap:10px;margin-top:22px}.nr-pwa-actions button{min-height:46px;border-radius:13px;padding:0 16px;font:inherit;font-weight:800;cursor:pointer}.nr-pwa-primary{flex:1;border:0;background:#48e7b9;color:#06231c}.nr-pwa-secondary{border:1px solid rgba(255,255,255,.09);background:#0b2a36;color:#dff8f1}.nr-pwa-hint{margin:14px 0 0;color:#708f8b;font-size:11px;line-height:1.55}
[data-display-mode="standalone"] .nr2-header{padding-top:env(safe-area-inset-top)}[data-display-mode="standalone"] body{overscroll-behavior-y:contain}[data-display-mode="standalone"] [data-pwa-install]{display:none!important}
@media(max-width:767px){.nr-offline-bar{bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100% - 24px)}.nr-online-toast{bottom:calc(82px + env(safe-area-inset-bottom))}.nr-pwa-modal{align-items:end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.nr-pwa-panel{width:100%;max-height:82svh;border-radius:24px 24px 18px 18px;padding:22px}.nr-pwa-benefits{grid-template-columns:1fr}.nr-pwa-actions{flex-direction:column}.nr-pwa-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.nr-online-toast{transition:none}}
@media print{.nr-offline-bar,.nr-online-toast,.nr-pwa-modal{display:none!important}}
