/* Shared account UI; friends never become a public profile section. */
.friends-page{max-width:1200px;margin-inline:auto;min-width:0}
.friends-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.friends-heading h1{margin:4px 0 12px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}
.friends-heading p:not(.eyebrow){margin:0;color:#aebcd0;line-height:1.55;max-width:65ch}
.friends-heading>.button{flex:none;white-space:nowrap}.friends-heading .eyebrow{margin:0;color:var(--world-accent,#248cff);font-size:.7rem}
.friends-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;margin:20px 0 4px;scrollbar-width:thin}
.friends-tabs>a{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 13px;border-radius:10px;border:1px solid #ffffff18;text-decoration:none;white-space:nowrap;font-size:.88rem;color:#b4c1d3}
.friends-tabs>a[aria-current]{background:#ffffff09;border-color:var(--world-accent,#248cff);color:#fff}
.friends-tabs span{font-size:.75rem;background:#ffffff0b;border-radius:6px;min-width:22px;text-align:center;padding:2px 5px;font-variant-numeric:tabular-nums}
.friends-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;margin:0;list-style:none}
.friends-list .friend-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:20px;border-radius:14px;min-width:0}
.friend-identity{display:flex;align-items:center;gap:14px;min-width:0}.friend-identity>div{min-width:0}.friend-identity strong{display:block;font-size:1rem;color:#f5f7fa;overflow-wrap:anywhere;line-height:1.4}
.friend-identity a{text-decoration:none}.friend-identity a:hover{text-decoration:underline}.friend-identity>div>span,.friend-identity small{display:block;color:#9cacbf;font-size:.82rem;overflow-wrap:anywhere;margin-top:3px}
.friend-identity .identity-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:14px;font-size:1rem}
.friend-controls{min-width:0;max-width:100%}.friend-controls form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;min-width:0}
.friend-controls .button{min-height:42px;padding:9px 13px;font-size:.82rem;line-height:1.3;white-space:normal}
.friend-controls .button:disabled{opacity:.6;cursor:wait}.friend-status{display:block;font-size:.78rem;line-height:1.4;color:#a9bdd3;margin-bottom:8px}
.friend-more{position:relative;margin-left:auto;max-width:100%}.friend-more summary{font-size:.73rem;padding:10px 4px;cursor:pointer;color:#aab9cd}
.friend-more[open]>.button{display:block;margin-top:5px;color:#ffabb0}
.friend-action-status{font-size:.82rem;line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}.friend-controls>[data-friend-reload]{display:inline-flex;margin-top:10px;font-size:.84rem}
.friend-controls [hidden]{display:none!important}
.friends-empty,.friends-setup{padding:28px!important;min-width:0}.friends-empty h2,.friends-setup h2{font-size:1.2rem;margin:0 0 12px}.friends-empty p,.friends-setup p{color:#aebcd0;line-height:1.6;max-width:60ch;margin:0 0 20px}
.friends-notice{padding:12px 16px;border:1px solid #4bb99b44;border-radius:10px;background:#4bb99b0a;color:#b4eedc;font-size:.88rem}
.friends-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:.84rem}
.identity-public-actions>.friend-controls{flex-basis:100%}.identity-public-actions .friend-controls .friend-more{margin-left:0}
@media(max-width:640px){.friends-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}.friends-list{grid-template-columns:minmax(0,1fr)}.friends-list .friend-card{padding:16px}.friends-tabs>a{padding-inline:10px;font-size:.8rem}.friends-page .identity-nav{max-width:100%;overflow-x:auto}.friends-empty,.friends-setup{padding:20px!important}}

/* In-site friend request inbox, shared by FUT and Career. */
.friend-notifications{position:relative;flex:none;line-height:1.4}
.friend-notifications summary{list-style:none;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center}
.friend-notifications summary::-webkit-details-marker{display:none}
.friend-notifications-toggle:focus-visible,.friend-notifications-panel a:focus-visible,.friend-notifications-panel button:focus-visible,.friend-toast a:focus-visible,.friend-toast button:focus-visible{outline:2px solid var(--world-accent,#248cff);outline-offset:3px}
.friend-notification-badge{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 4px;border-radius:99px;display:grid;place-items:center;background:var(--world-accent,#248cff);color:#07111c;font-size:10px;font-weight:800;border:2px solid #0b1522;font-variant-numeric:tabular-nums}
.friend-notifications-panel{position:absolute;z-index:1400;right:0;top:calc(100% + 14px);width:370px;max-width:calc(100vw - 24px);max-height:min(76vh,640px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid #ffffff20;border-radius:16px;background:#0e1928;box-shadow:0 18px 56px #0007;color:#f6f8fb;text-align:left}
.friend-notifications-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #ffffff12}
.friend-notifications-panel h2{font-size:1rem;line-height:1.4;margin:0;font-weight:750;overflow-wrap:anywhere}
.friend-notifications-close{display:grid;place-items:center;background:none;border:0;color:#bdcada;font-size:24px;min-width:32px;min-height:32px;padding:0;cursor:pointer}
.friend-notification-list{list-style:none;margin:0;padding:0}
.friend-notification-item{padding:16px 18px;border-bottom:1px solid #ffffff0e;min-width:0}
.friend-notification-item .friend-identity{align-items:flex-start;margin-bottom:12px}
.friend-notification-item .identity-avatar{position:relative;display:grid;place-items:center;overflow:hidden;width:42px;height:42px;flex-basis:42px;font-size:.85rem;border-radius:12px;background:#1c3451}
.friend-notification-item .identity-avatar img,.friend-notification-item .brand-mark{max-width:100%;max-height:100%;object-fit:contain}
.friend-notification-item .identity-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.friend-notification-item .friend-controls .button{min-height:38px;font-size:.78rem;padding:8px 12px}
.friend-notification-item .friend-more{margin-left:auto}
.friend-notifications-panel .friend-identity strong{font-size:.93rem}
.friend-notifications-panel footer{padding:14px 18px;border-top:1px solid #ffffff12}
.friend-notifications-panel footer a{color:var(--world-accent,#248cff);font-size:.85rem;font-weight:650;text-decoration:none}
.friend-notifications-empty,.friend-notification-error{margin:0;padding:18px;color:#afbdd0;font-size:.86rem;line-height:1.6;overflow-wrap:anywhere}
.friend-notification-error{padding-block:12px;color:#ebcaa1}
.friend-toast{position:fixed;z-index:1450;right:24px;bottom:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;width:340px;max-width:calc(100vw - 32px);padding:16px 18px;border:1px solid #ffffff24;border-left:3px solid var(--world-accent,#248cff);border-radius:14px;background:#111e2f;box-shadow:0 12px 45px #0007}
.friend-toast p{grid-column:1;margin:0;font-size:.88rem;color:#edf4fc;overflow-wrap:anywhere;line-height:1.5}
.friend-toast a{grid-column:1;font-size:.85rem;color:var(--world-accent,#248cff);text-decoration:none;font-weight:700}
.friend-toast>button{grid-column:2;grid-row:1/3;align-self:start;background:none;border:0;color:#b8c7d9;cursor:pointer;font-size:22px;min-width:32px;min-height:32px}
.friend-notifications [hidden],.friend-toast[hidden]{display:none!important}
.identity-public-actions [data-friend-surface="profile"]{width:100%;max-width:390px}
@media(max-width:640px){
  .friend-notifications{position:static}
  .friend-notifications-panel{position:fixed;top:74px;top:calc(74px + env(safe-area-inset-top,0px));right:12px;left:12px;width:auto;max-width:none;max-height:calc(100dvh - 108px);border-radius:14px}
  .friend-notifications-toggle{min-width:36px;min-height:40px}
  .friend-toast{right:16px;bottom:88px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:calc(100vw - 32px)}
  .platform-header__actions{gap:6px}
}

/* Compact disclosures: no native triangles or layout shift when opening. */
.friend-more>summary{display:grid;place-items:center;list-style:none;width:42px;height:42px;min-width:42px;padding:0;border:1px solid #ffffff20;border-radius:11px;color:#acbbcf;background:#ffffff04;transition:background .16s,border-color .16s,color .16s}
.friend-more>summary::-webkit-details-marker{display:none}
.friend-more>summary:hover,.friend-more[open]>summary{color:var(--world-accent,#248cff);border-color:var(--world-accent,#248cff);background:#ffffff08}
.friend-more>summary:focus-visible{outline:2px solid var(--world-accent,#248cff);outline-offset:3px}
.friend-more__panel{position:absolute;z-index:110;right:0;top:calc(100% + 9px);width:min(292px,calc(100vw - 32px));padding:7px;border:1px solid #ffffff20;border-radius:14px;background:#101c2c;box-shadow:0 18px 44px #0008;transform:translateX(var(--friend-menu-offset,0px));transform-origin:top right}
.friend-more__heading{display:block;padding:8px 9px 10px;color:#9aacc2;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.friend-controls .friend-more__action{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 9px;margin:0;border:0;border-radius:9px;background:none;text-align:left;color:#ffd1d7;box-shadow:none;min-height:64px}
.friend-controls .friend-more__action:hover{background:#ff778711}
.friend-more__icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#ff778710;border:1px solid #ff778719;border-radius:9px;color:#ffa4b1}
.friend-more__action>span:last-child{min-width:0;display:grid;gap:4px}
.friend-more__action strong{font-size:.83rem;font-weight:650;color:#ffd4da;line-height:1.4}
.friend-more__action small{font-size:.74rem;color:#a9b7c9;line-height:1.45;font-weight:400;white-space:normal;overflow-wrap:anywhere}
.identity-public-hero:has(.friend-more[open]){overflow:visible;z-index:3}
.friend-notifications>.friend-notifications-toggle{width:42px;height:42px;min-width:42px;min-height:42px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff04;color:#becbdc;transition:background .18s,color .18s,border-color .18s}
.friend-notifications>.friend-notifications-toggle::after{display:none}
.friend-notifications>.friend-notifications-toggle:hover,.friend-notifications[open]>.friend-notifications-toggle{color:var(--world-accent,#248cff);border-color:var(--world-accent,#248cff);background:#ffffff08}
.friend-bell{display:block;flex:none;transform-origin:50% 18%}
.friend-notification-badge{top:-4px;right:-4px;box-shadow:0 0 0 2px #0d1724;font-weight:750}
.friend-notifications-panel{transform-origin:top right;max-height:min(76dvh,640px)}
.friend-notifications[open]>.friend-notifications-panel{animation:friend-panel-in .22s cubic-bezier(.2,.8,.2,1) both}
.friend-notifications[open] .friend-bell{animation:friend-bell-in .35s ease-out}
.friend-more[open]>.friend-more__panel{animation:friend-menu-in .18s cubic-bezier(.2,.8,.2,1) both}
.friend-toast:not([hidden]){animation:friend-toast-in .24s ease-out both}
@keyframes friend-panel-in{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes friend-menu-in{from{opacity:0;transform:translate(var(--friend-menu-offset,0px),-6px) scale(.98)}to{opacity:1;transform:translate(var(--friend-menu-offset,0px),0) scale(1)}}
@keyframes friend-bell-in{0%,100%{transform:rotate(0)}35%{transform:rotate(-10deg)}70%{transform:rotate(7deg)}}
@keyframes friend-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.friend-notifications>.friend-notifications-toggle{width:38px;height:40px;min-width:38px;min-height:40px;border-radius:11px}.friend-more__panel{width:min(272px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.friend-notifications-panel,.friend-bell,.friend-more__panel,.friend-toast{animation:none!important}.friend-more>summary,.friend-notifications>.friend-notifications-toggle{transition:none}}
