/* ============================================================
   BB2G SURFACE — bb2g-surface.css  (Cluster 10 shared chrome)
   Companion to bb2g-core.css. Top bar, tabs, boundary footer,
   desk-assistant panel. Uses the CORE tokens.
   ============================================================ */
.bbs-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;}
.bbs-beacon{width:18px;height:18px;position:relative;flex:0 0 auto;}
.bbs-beacon i{position:absolute;inset:0;border-radius:50%;background:var(--bb-red);animation:bbsp 2.4s ease-out infinite;}
.bbs-beacon i:nth-child(2){animation-delay:.8s;}
@keyframes bbsp{0%{transform:scale(.4);opacity:.9;}100%{transform:scale(1.6);opacity:0;}}
.bbs-beacon b{position:absolute;inset:5px;border-radius:50%;background:#fff;}
.bbs-bt{font-family:var(--bb-font-head);font-weight:800;font-size:15px;letter-spacing:.02em;}
.bbs-bs{font-family:var(--bb-font-mono);font-size:9.5px;color:#9FB6D4;letter-spacing:.11em;display:block;margin-top:1px;}
.bbs-tabs{display:flex;gap:4px;align-items:center;}
.bbs-tab,.bbs-back{font-weight:600;font-size:12.5px;text-decoration:none;color:#D6E1F0;padding:7px 11px;border-radius:3px;}
.bbs-tab:hover,.bbs-back:hover{color:#fff;background:rgba(255,255,255,.08);}
.bbs-tab.on{background:var(--bb-red);color:#fff;}
.bbs-back{color:#9FB6D4;font-family:var(--bb-font-mono);font-size:11px;}
@media(max-width:640px){.bbs-tab{padding:7px 8px;font-size:11.5px;}}

/* posture / stat tiles reused by desks */
.bbs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.bbs-stat{background:#fff;border:1px solid var(--bb-line);border-radius:10px;padding:15px 17px;box-shadow:var(--bb-shadow);}
.bbs-stat .k{font-family:var(--bb-font-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--bb-muted);}
.bbs-stat .v{font-family:var(--bb-font-head);font-weight:900;font-size:28px;line-height:1.1;margin-top:6px;color:var(--bb-navy);}
.bbs-stat .d{font-size:12px;color:var(--bb-muted);margin-top:4px;}
.bbs-stat.hl{background:var(--bb-navy);color:#fff;}.bbs-stat.hl .k{color:#9FB6D4;}.bbs-stat.hl .v{color:#fff;}.bbs-stat.hl .d{color:#B9C8DD;}
@media(max-width:820px){.bbs-stats{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.bbs-stats{grid-template-columns:1fr;}}

.bbs-phead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--bb-line);}
.bbs-phead h2{font-size:14px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--bb-navy);}
.bbs-phead .sub{font-family:var(--bb-font-mono);font-size:10.5px;color:var(--bb-muted);letter-spacing:.06em;}

/* footer */
.bbs-foot{background:var(--bb-navy-2);color:#9FB2CC;padding:26px 0;font-size:12.5px;margin-top:40px;}
.bbs-foot b{color:#fff;font-family:var(--bb-font-head);}
.bbs-foot .bb-mono{color:#7E93B2;display:block;margin-top:8px;font-size:11.5px;}

/* desk assistant */
.bbs-abtn{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;align-items:center;gap:9px;background:var(--bb-red);color:#fff;border:0;cursor:pointer;font-family:var(--bb-font-head);font-weight:800;font-size:13.5px;padding:12px 17px;border-radius:40px;box-shadow:0 10px 34px -8px rgba(10,49,97,.55);}
.bbs-abtn:hover{transform:translateY(-2px);}
.bbs-adot{width:9px;height:9px;border-radius:50%;background:#fff;animation:bbsad 2.6s infinite;}
@keyframes bbsad{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.bbs-apanel{position:fixed;right:20px;bottom:20px;z-index:201;width:min(410px,calc(100vw - 32px));height:min(600px,calc(100vh - 40px));background:#fff;border:1px solid var(--bb-line);border-radius:16px;box-shadow:0 30px 70px -20px rgba(10,49,97,.55);display:none;flex-direction:column;overflow:hidden;}
.bbs-apanel.open{display:flex;}
.bbs-ahead{background:var(--bb-navy);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:11px;}
.bbs-ak{font-family:var(--bb-font-head);font-weight:900;font-size:14.5px;}
.bbs-as{font-family:var(--bb-font-mono);font-size:10px;color:#9FB6D4;letter-spacing:.06em;margin-top:2px;}
.bbs-ax{margin-left:auto;background:transparent;border:0;color:#9FB6D4;font-size:22px;cursor:pointer;line-height:1;}
.bbs-ax:hover{color:#fff;}
.bbs-alog{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:11px;background:var(--bb-paper);}
.bbs-amsg{max-width:88%;padding:10px 13px;border-radius:13px;font-size:14px;line-height:1.5;}
.bbs-amsg.u{align-self:flex-end;background:var(--bb-red);color:#fff;border-bottom-right-radius:4px;}
.bbs-amsg.a{align-self:flex-start;background:#fff;color:var(--bb-ink);border:1px solid var(--bb-line);border-bottom-left-radius:4px;}
.bbs-amsg.a b{color:var(--bb-navy);}.bbs-amsg.a p{margin:0 0 7px;}.bbs-amsg.a p:last-child{margin:0;}
.bbs-aquick{display:flex;gap:7px;flex-wrap:wrap;padding:0 15px 8px;background:var(--bb-paper);}
.bbs-aquick button{font-family:var(--bb-font-body);font-size:12px;background:#fff;border:1px solid var(--bb-line);color:var(--bb-navy);padding:6px 10px;border-radius:20px;cursor:pointer;}
.bbs-aquick button:hover{border-color:var(--bb-red);color:var(--bb-red);}
.bbs-ain{display:flex;gap:8px;padding:11px;border-top:1px solid var(--bb-line);background:#fff;}
.bbs-ain textarea{flex:1;resize:none;border:1px solid var(--bb-line);border-radius:10px;padding:9px 11px;font-family:var(--bb-font-body);font-size:14px;height:42px;max-height:120px;color:var(--bb-ink);}
.bbs-ain textarea:focus{outline:2px solid var(--bb-red);border-color:var(--bb-red);}
.bbs-ain button{background:var(--bb-red);color:#fff;border:0;border-radius:10px;padding:0 15px;font-weight:800;font-family:var(--bb-font-head);cursor:pointer;font-size:14px;}
.bbs-ain button:disabled{opacity:.5;}
.bbs-dots span{display:inline-block;width:6px;height:6px;margin:0 1px;border-radius:50%;background:var(--bb-muted);animation:bbsb 1.2s infinite;}
.bbs-dots span:nth-child(2){animation-delay:.2s}.bbs-dots span:nth-child(3){animation-delay:.4s}
@keyframes bbsb{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.bbs-beacon i,.bbs-adot{animation:none;}}
