/* Loaded on every page: branding, PWA install UI, activity pop-up, messages */
.brand-img{height:36px;width:auto;max-width:190px;display:block;object-fit:contain}
.logo .brand-img{height:34px}
.foot .brand-img{height:32px}
[hidden]{display:none!important}
.inst-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 14px;font-weight:700;font-size:13.5px;cursor:pointer;margin-top:12px;font-family:inherit}
.inst-modal{position:fixed;inset:0;background:rgba(10,24,46,.55);display:none;align-items:center;justify-content:center;z-index:3000;padding:20px}
.inst-modal.on{display:flex}
.inst-box{background:#fff;border-radius:18px;max-width:380px;width:100%;padding:26px;position:relative;color:#14233b;line-height:1.6;font-size:14.5px;font-family:'Figtree',system-ui,sans-serif}
.inst-box h3{margin:0 0 8px;font-size:20px;color:#0f2747}.inst-box ol{padding-left:20px;margin:0 0 10px}
.inst-x{position:absolute;top:10px;right:14px;border:0;background:none;font-size:26px;cursor:pointer;color:#62758f}
.inst-bar{display:none;align-items:center;gap:12px;background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:11px 12px;margin:0 0 14px;box-shadow:0 4px 14px rgba(15,39,71,.06)}
.inst-bar img{width:42px;height:42px;border-radius:10px;flex:none}
.inst-bar .tx2{flex:1;min-width:0;font-size:13px;line-height:1.35;color:#62758f}.inst-bar .tx2 b{display:block;color:#0f2747;font-size:14.5px}
.inst-bar button.go{background:#1d4a85;color:#fff;border:0;border-radius:10px;padding:9px 16px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.inst-bar button.no{background:none;border:0;color:#8aa0bd;font-size:22px;cursor:pointer;line-height:1;padding:0 2px}
@media(max-width:991px){.inst-bar.on{display:flex}}

/* Live activity pop-up */
.act-pop{position:fixed;left:20px;bottom:20px;z-index:2500;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #e2eaf5;border-radius:14px;box-shadow:0 12px 32px rgba(15,39,71,.16);display:flex;gap:12px;align-items:center;padding:12px 34px 14px 12px;font-family:'Figtree',system-ui,sans-serif;overflow:hidden;
  transform:translateX(-24px);opacity:0;visibility:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s ease,visibility 0s linear .5s}
.act-pop.on{transform:none;opacity:1;visibility:visible;transition-delay:0s}
.act-pop .ph{position:relative;flex:none;width:44px;height:44px}
.act-pop .ph img.p{display:block;width:44px;height:44px;border-radius:50%;object-fit:cover;background:#dfe9f6}
.act-pop .ph img.f{position:absolute;right:-6px;bottom:-2px;width:20px;height:14px;border-radius:3px;object-fit:cover;border:2px solid #fff;box-sizing:content-box;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.act-pop .t{font-size:13px;line-height:1.4;color:#3a4d68;min-width:0}
.act-pop .t b{color:#0f2747;font-weight:700}
.act-pop .t small{display:block;color:#8aa0bd;font-size:11.5px;margin-top:3px}
.act-pop .x{position:absolute;top:6px;right:8px;border:0;background:none;color:#a6b6cc;font-size:18px;cursor:pointer;line-height:1;padding:2px 4px}
.act-pop .x:hover{color:#0f2747}
.act-pop .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#1d4a85;opacity:.85;transform-origin:left}
.act-pop.on .bar{animation:actbar var(--dur,6s) linear forwards}
@keyframes actbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:991px){.act-pop{left:12px;bottom:12px;width:300px;padding:10px 30px 13px 10px}.has-bottom-nav .act-pop{bottom:88px}}
@media(max-width:480px){.act-pop{width:calc(100vw - 24px)}}
@media print{.act-pop,.inst-modal,.inst-bar{display:none!important}}

/* Messages */
.msg-kind{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;background:#eaf1fb;color:#1d4a85}
.msg-kind.bonus{background:#e3f6ec;color:#0d7a4e}.msg-kind.alert{background:#fdf0dc;color:#9a5b00}.msg-kind.notice{background:#eef1f6;color:#4a5c75}
.msg-item{display:flex;gap:14px;padding:16px;border:1px solid #e2eaf5;border-radius:14px;background:#fff;margin-bottom:12px;text-decoration:none;color:inherit}
.msg-item.unread{border-color:#9db9e0;background:#f5f9ff;box-shadow:inset 3px 0 0 #1d4a85}
.msg-ic{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:#eaf1fb;color:#1d4a85}
.msg-ic.bonus{background:#e3f6ec;color:#0d7a4e}.msg-ic.alert{background:#fdf0dc;color:#9a5b00}.msg-ic.notice{background:#eef1f6;color:#4a5c75}
.msg-item h4{margin:0 0 2px;font-size:15.5px;color:#0f2747}
.msg-item .body{font-size:14px;line-height:1.6;color:#3a4d68;white-space:pre-line;margin-top:6px}
.msg-item time{font-size:12px;color:#8aa0bd}
.msg-amt{display:inline-block;margin-top:8px;font-weight:800;color:#0d7a4e;background:#e3f6ec;padding:4px 12px;border-radius:99px;font-size:13.5px}
.msg-banner{display:flex;gap:12px;align-items:center;background:#0f2747;color:#fff;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.msg-banner i{font-size:22px;color:#8fb4e6}.msg-banner div{flex:1;min-width:0;font-size:14px}.msg-banner b{display:block}
.msg-banner a{color:#fff;font-weight:700;white-space:nowrap;border:1px solid rgba(255,255,255,.35);padding:7px 14px;border-radius:10px;text-decoration:none;font-size:13px}
.bell{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #dbe4f0;color:#0f2747;text-decoration:none;font-size:18px}
.bell b{position:absolute;top:-4px;right:-4px;background:#d93a3a;color:#fff;border-radius:99px;font-size:10.5px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border:2px solid #f4f8fd}

/* Support chat */
.chat{max-height:420px;overflow-y:auto;padding:14px;background:#f4f8fd;border:1px solid #e2eaf5;border-radius:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}
.bub{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;background:#fff;border:1px solid #e2eaf5;color:#14233b;word-break:break-word}
.bub.me{align-self:flex-end;background:#1d4a85;color:#fff;border-color:#1d4a85}
.bub .who{font-size:11px;opacity:.7;margin-bottom:3px}
/* Account standing */
.standing{border-radius:18px;padding:26px;color:#fff;margin-bottom:16px;display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.standing.suspended{background:linear-gradient(135deg,#7a1f1f,#b3261e)}.standing.investigation{background:linear-gradient(135deg,#7a4a00,#c47a00)}
.standing i.big{font-size:42px;line-height:1}.standing h2{margin:0 0 4px;font-size:24px;font-family:'Fraunces',Georgia,serif}.standing p{margin:0;opacity:.92;line-height:1.6}
.restrict-bar{background:#fdf0dc;color:#7a4a00;border-bottom:1px solid #f0d9ad;padding:10px 16px;font-size:13.5px;font-weight:600;text-align:center}
.restrict-bar.suspended{background:#fde7e5;color:#8a1b14;border-color:#f3c3be}
.restrict-bar a{color:inherit;text-decoration:underline}
.rlist{list-style:none;padding:0;margin:0}.rlist li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f8;font-size:14px}
.rlist i{flex:none;margin-top:2px}.rlist .no{color:#b3261e}.rlist .yes{color:#0d7a4e}
.msg-banner.support{background:#1d4a85}
#fvBanner:empty{display:none}
@keyframes bannerIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
#fvBanner .msg-banner{animation:bannerIn .4s ease}

/* Chat presence + floating chat button */
.chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.presence{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#62758f}
.presence i{width:9px;height:9px;border-radius:50%;background:#b8c4d6;display:inline-block}
.presence.on{color:#0d7a4e}.presence.on i{background:#1fb26b;box-shadow:0 0 0 4px rgba(31,178,107,.18)}
.presence em{font-style:normal}
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:2400;display:inline-flex;align-items:center;gap:8px;background:#1d4a85;color:#fff;border-radius:99px;padding:12px 18px;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 10px 26px rgba(15,39,71,.28);font-family:'Figtree',system-ui,sans-serif}
.chat-fab:hover{background:#163a6a;color:#fff}.chat-fab i{font-size:18px}
.chat-fab b{position:absolute;top:-6px;right:-4px;background:#d93a3a;color:#fff;border-radius:99px;min-width:20px;height:20px;display:grid;place-items:center;font-size:11.5px;padding:0 5px;border:2px solid #fff}
@media(max-width:991px){.chat-fab{right:14px;bottom:84px;padding:12px 14px}.chat-fab span{display:none}}
@media print{.chat-fab{display:none!important}}
