/* CPUB-208 Common themed popup (header with icon/title/chips + action buttons + iframe/body), added by Neha on 29-10-2026
   Colour comes from SiteURL.ActiveTheme : _Layout adds body class pp-theme-<ActiveTheme> (blue / red / black),
   Default theme uses New UI sidebar colour (--sb-bg) or #222 in Old UI.
   Usage :
   <div class="pp-popup" id="..."><div class="pp-popup-box">
     <div class="pp-popup-head">
       <div class="pp-popup-title"><span class="pp-popup-ico"><i class="fa fa-..."></i></span>
         <div><h4>Title</h4><div class="pp-popup-sub"><span class="pp-popup-chip">...</span></div></div></div>
       <div class="pp-popup-actions"><button class="pp-popup-btn primary">..</button><button class="pp-popup-btn">..</button></div>
     </div>
     <div class="pp-popup-body"> iframe / content <div class="pp-popup-loader"><i class="fa fa-spinner fa-spin"></i>Loading...</div></div>
   </div></div>
   open / close : add / remove class "open" on .pp-popup */

.pp-popup {
    --pp-theme: #222222;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(3px);
    z-index: 20000;
    transition: opacity .2s ease, visibility .2s ease;
}

/* theme colour : New UI default, then SiteURL.ActiveTheme overrides (keep these after) */
body.pubplus-v3 .pp-popup { --pp-theme: var(--sb-bg, #1e2d5a); }
body.pp-theme-blue .pp-popup { --pp-theme: #337AB7; }
body.pp-theme-red .pp-popup { --pp-theme: #AD132A; }
body.pp-theme-black .pp-popup { --pp-theme: #222222; }

.pp-popup.open {
    visibility: visible;
    opacity: 1;
}

.pp-popup-box {
    position: absolute; /* popup size reduced (3% -> 7% gap), added by Neha on 04-11-2026 */
    top: 7%;
    left: 7%;
    right: 7%;
    bottom: 7%;
    background: #fff;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.35);
    transform: translateY(18px) scale(.98);
    transition: transform .25s ease;
}

.pp-popup.open .pp-popup-box { transform: none; }
.pp-popup-head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    color: #fff;
    background: var(--pp-theme);
    background: linear-gradient(120deg, var(--pp-theme) 0%, color-mix(in srgb, var(--pp-theme) 72%, #fff) 100%);
}

.pp-popup-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.pp-popup-ico {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}

.pp-popup-title h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .2px;
}

.pp-popup-sub {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pp-popup-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 12px;
    white-space: pre;
}

.pp-popup-actions {
    display: flex;
    gap: 8px;
}

.pp-popup-btn {
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform .15s ease, filter .15s ease;
}

.pp-popup-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.pp-popup-btn.primary {
    border-color: #fff;
    background: #fff;
    color: var(--pp-theme);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.pp-popup-btn .fa-file-excel-o { color: #16a34a; }

.pp-popup-body {
    flex: 1;
    position: relative;
    padding: 8px;
    background: #f8fafc;
    background: color-mix(in srgb, var(--pp-theme) 6%, #fff);
}

.pp-popup-body iframe {
    width: 100%;
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}

.pp-popup-loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 13px;
}

.pp-popup-loader i {
    font-size: 30px;
    color: var(--pp-theme);
}
