/* PlanTactico 3.8: install/update controls. Separate styles from existing editors. */
.pt-pwa-hidden,[hidden].pt-pwa-banner,[hidden].pt-pwa-dialog,[hidden].pt-pwa-toast{display:none!important}
.pt-pwa-banner,.pt-pwa-dialog,.pt-pwa-toast{font-family:Arial,Helvetica,sans-serif;color:#eef8ee;box-sizing:border-box}
.pt-pwa-banner *,.pt-pwa-dialog *,.pt-pwa-toast *{box-sizing:border-box}
.pt-pwa-banner{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(17px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 28px));z-index:90000;background:#152c2b;border:1px solid #58785d;border-radius:15px;box-shadow:0 18px 60px #000b;padding:15px 16px;line-height:1.45;text-align:left;max-height:calc(100dvh - 32px);overflow:auto}
.pt-pwa-banner.pt-pwa-update{border-color:#a5d170;background:#172b26}
.pt-pwa-banner header{display:flex;align-items:flex-start;gap:10px;margin:0 24px 6px 0}
.pt-pwa-banner .pt-pwa-symbol{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#274d40;color:#b9e886;font-size:21px;font-weight:bold}
.pt-pwa-banner h2{font-size:15px;line-height:1.3;margin:0;font-weight:800;color:#f5ffec}
.pt-pwa-banner p{font-size:12px;line-height:1.5;color:#d2e0d9;margin:6px 0 12px}
.pt-pwa-banner .pt-pwa-close{position:absolute;top:9px;right:9px;width:30px;height:30px;border:0;background:transparent;color:#d7e6e0;border-radius:8px;font-size:22px;line-height:1;cursor:pointer}
.pt-pwa-banner .pt-pwa-close:hover{background:#ffffff16}
.pt-pwa-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pt-pwa-btn{min-height:38px;padding:8px 14px;font-size:13px;font-weight:800;border-radius:9px;cursor:pointer;border:1px solid #608c74;background:#203d37;color:#e9f7ed}
.pt-pwa-btn.pt-pwa-primary{background:#b9e778;color:#142516;border-color:#b9e778}
.pt-pwa-btn:hover{filter:brightness(1.08)}
.pt-pwa-btn:focus-visible,.pt-pwa-close:focus-visible,[data-pt-install]:focus-visible,[data-pt-checkupdates]:focus-visible{outline:3px solid #c6eb74;outline-offset:2px}
.pt-pwa-overlay{position:fixed;inset:0;z-index:91000;background:#0009;display:grid;place-items:center;padding:16px;box-sizing:border-box}
.pt-pwa-overlay[hidden]{display:none!important}
.pt-pwa-dialog{position:relative;max-width:430px;width:100%;background:#142b2b;border:1px solid #648d74;border-radius:18px;box-shadow:0 16px 65px #000d;padding:23px 22px;max-height:90dvh;overflow:auto}
.pt-pwa-dialog h2{font-size:20px;margin:0 34px 10px 0;line-height:1.25;color:#f3ffeb}
.pt-pwa-dialog p,.pt-pwa-dialog li{color:#d1e3da;font-size:14px;line-height:1.55}
.pt-pwa-dialog ol{padding-left:22px;margin:10px 0 16px}
.pt-pwa-dialog li{padding:3px 0}
.pt-pwa-dialog strong{color:#effbd7}
.pt-pwa-dialog .pt-pwa-note{background:#233c36;border:1px solid #426453;border-radius:10px;padding:10px 12px;margin:12px 0 18px;font-size:12px;line-height:1.5;color:#e2efdd}
.pt-pwa-dialog .pt-pwa-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:9px;border:1px solid #526b64;background:#263e3b;color:#eff7ec;cursor:pointer;font-size:20px}
.pt-pwa-toast{position:fixed;z-index:93000;top:max(15px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(400px,calc(100vw - 32px));padding:12px 15px;background:#203c30;border:1px solid #81ac7c;border-radius:12px;box-shadow:0 10px 35px #0009;font-size:13px;text-align:center;line-height:1.5}
/* Sidebar buttons inherit each editor's navigation pattern. */
.pt-installed [data-pt-install]{display:none!important}
.side-link.pt-pwa-menu-item .side-icon,.nav-link.pt-pwa-menu-item .nav-icon{color:#b7e77a}
.pt-pwa-menu-item .side-label{white-space:nowrap}
@media(max-width:600px){.pt-pwa-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;padding:14px}.pt-pwa-banner p{margin-bottom:9px}.pt-pwa-dialog{padding:21px 18px}}
@media(prefers-reduced-motion:reduce){.pt-pwa-banner,.pt-pwa-dialog{scroll-behavior:auto!important}}
