
:root{
  --bg:#f6f8fb;--card:#fff;--text:#16202a;--muted:#667085;--line:#e6eaf0;
  --brand:#163c64;--brand2:#0f6f66;--soft:#edf4f8;--shadow:0 10px 30px rgba(18,38,63,.07);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:transform .24s ease,box-shadow .2s ease}.topbar.is-hidden{transform:translateY(-105%)}.topbar.is-menu-open{box-shadow:0 12px 30px rgba(18,38,63,.10)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;overflow:hidden}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.brand small{display:block;font-size:10px;color:var(--muted);font-weight:650;letter-spacing:.08em}
.links{display:flex;align-items:center;gap:22px;font-size:14px;color:#344054}
.links a:hover{color:var(--brand)}
.desktop-nav-dropdown{position:relative}
.desktop-nav-dropdown summary{display:flex;align-items:center;gap:5px;list-style:none;cursor:pointer;color:#344054;user-select:none}
.desktop-nav-dropdown summary::-webkit-details-marker{display:none}
.desktop-nav-dropdown summary:hover,.desktop-nav-dropdown[open] summary{color:var(--brand)}
.desktop-nav-dropdown summary span{font-size:10px;transition:transform .16s ease}
.desktop-nav-dropdown[open] summary span{transform:rotate(180deg)}
.desktop-nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);z-index:50;min-width:150px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px rgba(18,38,63,.14)}
.desktop-nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.desktop-nav-dropdown-menu a{display:flex;align-items:center;min-height:38px;padding:0 11px;border-radius:8px;white-space:nowrap;font-size:12px;font-weight:750}
.desktop-nav-dropdown-menu a:hover{background:#f4f7fa;color:var(--brand)}
.actions{display:flex;align-items:center;gap:9px}
.btn,.select{height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:750;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 15px}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.ghost{background:#fff}
.lang-wrap{position:relative}
.select{padding:0 34px 0 12px;appearance:none}
.lang-wrap:after{content:"▾";position:absolute;right:11px;top:10px;color:var(--muted);pointer-events:none}
.hero{padding:72px 0 46px;background:radial-gradient(circle at 82% 10%,rgba(15,111,102,.12),transparent 29%),radial-gradient(circle at 8% 0%,rgba(22,60,100,.10),transparent 28%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}
.eyebrow{font-size:13px;font-weight:850;letter-spacing:.13em;color:var(--brand2);text-transform:uppercase}
h1{font-size:50px;line-height:1.04;margin:14px 0 18px;letter-spacing:-.035em}
.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:760px}
.search{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;display:flex;gap:8px;box-shadow:var(--shadow)}
.search input{flex:1;border:0;outline:0;padding:0 16px;font-size:16px;background:transparent;min-width:0}
.search button{border:0;background:var(--brand);color:#fff;border-radius:13px;padding:0 24px;height:50px;font-weight:800}
.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.chip{font-size:13px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#475467}
.hero-card{background:#102c46;color:#fff;border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.hero-card .mini{font-size:12px;color:#c8d7e5;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.hero-card h3{font-size:23px;margin:10px 0}
.hero-card p{color:#dbe6ef;line-height:1.65}
main{padding:30px 0 60px}
.layout{display:grid;grid-template-columns:1.7fr .9fr;gap:24px}
.section{margin-bottom:24px}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}
.section-head h2{margin:0;font-size:22px}
.section-head a{font-size:13px;color:var(--brand);font-weight:800}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.feed-item{padding:20px;border-bottom:1px solid var(--line)}
.feed-item:last-child{border-bottom:0}
.meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin-bottom:8px;flex-wrap:wrap}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:800;border:1px solid #dce6ef}
.feed-item h3{font-size:17px;line-height:1.4;margin:6px 0 8px}
.feed-item p{margin:0;color:#5c6674;line-height:1.6;font-size:14px}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.tag{font-size:11px;background:#f2f4f7;color:#475467;padding:5px 8px;border-radius:999px}
.badge{display:inline-flex;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#ecfdf3;color:#067647}
.side-stack{display:grid;gap:18px;align-content:start}
.panel{padding:18px}
.panel h3{margin:0 0 14px;font-size:16px}
.person{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.person:last-child{border-bottom:0}
.person .avatar{width:42px;height:42px}.person .info{flex:1}.person strong{display:block;font-size:14px}.person small{display:block;color:var(--muted);margin-top:3px}
.follow{font-size:12px;font-weight:800;color:var(--brand)}
.verified{color:#087f5b;font-weight:800}
.sponsored{background:linear-gradient(135deg,#fdfdfd,#f2f7f6);border:1px solid #dce9e6;padding:18px;border-radius:var(--radius)}
.sponsored .label{font-size:10px;font-weight:900;letter-spacing:.12em;color:#667085;text-transform:uppercase}
.sponsored h3{margin:8px 0}.sponsored p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.disclaimer{margin-top:18px;padding:14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px;line-height:1.6}
.page-shell{min-height:70vh;padding:62px 0}
.page-card{max-width:760px;margin:0 auto;padding:30px}
.page-card h1{font-size:34px;margin:0 0 12px}
.page-card p{color:var(--muted);line-height:1.7}
.form-grid{display:grid;gap:14px;margin-top:22px}
.input{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-size:15px}
.form-grid .btn{height:48px}
.foot{border-top:1px solid var(--line);padding:30px 0 42px;color:var(--muted);font-size:12px}
.foot-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.links{display:none}.hero-grid,.layout{grid-template-columns:1fr}h1{font-size:39px}}
@media(max-width:650px){.wrap{padding:0 14px}.brand>span:last-child{display:none}.select{max-width:130px}.search{flex-direction:column}.search button{width:100%}h1{font-size:32px}.hero{padding-top:46px}}


/* Sponsored company card */
.sponsored-company{
  overflow:hidden;
  padding:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.sponsored-company-media{
  position:relative;
  aspect-ratio:16/7;
  min-height:150px;
  overflow:hidden;
  background:#e9eef3;
}
.sponsored-company-media>img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sponsored-company-label{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(15,23,42,.88);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.sponsored-company-body{
  position:relative;
  padding:20px 18px 18px;
}
.sponsored-company-brand{
  display:flex;
  align-items:flex-start;
  gap:13px;
}
.sponsored-company-logo{
  width:58px;
  height:58px;
  margin-top:-43px;
  flex:0 0 58px;
  padding:7px;
  border-radius:15px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 7px 20px rgba(18,38,63,.12);
  object-fit:contain;
}
.sponsored-company-name{
  margin:0;
  font-size:16px;
  line-height:1.35;
  font-weight:850;
  color:var(--text);
}
.sponsored-company-type{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.sponsored-company-products{
  margin:15px 0 0;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.sponsored-company-products strong{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  color:#344054;
}
.sponsored-company-products p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.sponsored-company-contact{
  display:grid;
  gap:8px;
  margin-top:15px;
}
.sponsored-company-contact a{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--brand);
  font-size:12px;
  font-weight:750;
}
.sponsored-company-contact a span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sponsored-company-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:16px;
}
.sponsored-company-actions .btn{
  height:40px;
  font-size:12px;
}
.sponsored-company-note{
  margin-top:12px;
  font-size:10px;
  line-height:1.45;
  color:#98a2b3;
}

@media(max-width:900px){
  .sponsored-company-media{min-height:200px}
}

/* Sponsored card placement in hero */
.hero-grid>.sponsored-company{
  width:100%;
  align-self:center;
}
.hero-grid>.sponsored-company .sponsored-company-media{
  min-height:180px;
}



/* Approved Sponsored Company card in the Hero: visual structure is fixed. */
.hero-grid>.hero-ad-card{
  width:100%;
  align-self:center;
}
.hero-grid>.hero-ad-card .sponsored-company-media{
  min-height:0;
  height:190px;
  aspect-ratio:auto;
}
.hero-grid>.hero-ad-card .sponsored-company-body{
  padding-bottom:21px;
}
.hero-ad-logo-text{
  width:58px;
  height:58px;
  margin-top:-43px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:15px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 7px 20px rgba(18,38,63,.12);
  color:#163c64;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
}
.hero-ad-dots{
  position:absolute;
  right:13px;
  bottom:12px;
  z-index:3;
  display:flex;
  gap:6px;
}
.hero-ad-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  cursor:pointer;
  box-shadow:0 1px 5px rgba(0,0,0,.14);
}
.hero-ad-dot.active{
  background:#fff;
  transform:scale(1.25);
}
.hero-ad-progress{
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:0;
  background:var(--brand2);
}
.hero-ad-card{
  position:relative;
}
@media(max-width:900px){
  .hero-grid>.hero-ad-card .sponsored-company-media{
    height:260px;
  }
}
@media(max-width:600px){
  .hero-grid>.hero-ad-card .sponsored-company-media{
    height:210px;
  }
}

.sponsored-company-title-row{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.sponsored-company-title-row .sponsored-company-name{
  margin:0;
}
.sponsored-company-follow{
  height:28px;
  padding:0 10px;
  border:1px solid #cfd8e3;
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.sponsored-company-follow:hover{
  border-color:var(--brand);
  background:#f6f9fc;
}
.sponsored-company-follow.is-following{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}

.global-scope-notice{
  width:100%;
  background:#fff7f7;
  border-bottom:1px solid #f1caca;
}
.global-scope-notice-inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding-top:8px;
  padding-bottom:8px;
  color:#c62828;
  font-size:12px;
  line-height:1.5;
  text-align:center;
}
.global-scope-notice-inner strong{
  color:#b71c1c;
  font-weight:850;
}
@media(max-width:650px){
  .global-scope-notice-inner{
    display:block;
    text-align:left;
    font-size:11px;
  }
  .global-scope-notice-inner strong{
    display:inline;
  }
}

.header-post-btn{
  background:#0f6f66;
  border-color:#0f6f66;
  color:#fff;
}
.header-post-btn:hover{
  background:#0c5c55;
}

.header-post-icon{
  display:none;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
}
.header-post-icon svg,
.mobile-signin-btn svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.community-page{
  max-width:980px;
}
.community-composer{
  padding:22px;
  margin-bottom:24px;
}
.composer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.composer-head h1{
  margin:0 0 5px;
  font-size:24px;
  letter-spacing:-.02em;
}
.composer-head p{
  margin:0;
  color:#c62828;
  font-size:12px;
  line-height:1.6;
}
.composer-form{
  display:grid;
  gap:12px;
}
.composer-type-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.composer-type-row label{
  flex:0 0 auto;
  font-size:12px;
  font-weight:800;
  color:#475467;
}
.composer-type{
  width:auto;
  min-width:160px;
  height:40px;
}
.composer-textarea{
  width:100%;
  min-height:150px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 15px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:15px;
  line-height:1.65;
  outline:none;
}
.composer-textarea:focus{
  border-color:#9eb6cc;
  box-shadow:0 0 0 3px rgba(22,60,100,.06);
}
.composer-media-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.composer-media-btn{
  height:38px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:#475467;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.composer-media-btn:hover{
  border-color:#bac8d6;
  background:#f8fafc;
}
.composer-media-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#edf4f8;
  color:var(--brand);
  font-size:11px;
  font-weight:900;
}
.composer-publish{
  margin-left:auto;
  min-width:92px;
}
.composer-attachments{
  display:grid;
  gap:8px;
}
.composer-attachment{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#f8fafc;
  color:#475467;
  font-size:12px;
}
.community-feed-preview{
  margin-top:8px;
}
@media(max-width:650px){
  .composer-type-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .composer-type{
    width:100%;
  }
  .composer-publish{
    width:100%;
    margin-left:0;
    order:10;
  }
  .composer-media-btn{
    flex:1 1 calc(50% - 4px);
    justify-content:center;
  }
}


/* Community composer refinement — spacious desktop layout */
.community-composer{
  padding:30px 32px 28px;
  border-radius:20px;
}
.composer-head{
  margin-bottom:24px;
}
.composer-head h1{
  font-size:28px;
  line-height:1.2;
  margin:0 0 8px;
  letter-spacing:-.025em;
}
.composer-head p{
  max-width:900px;
  font-size:13px;
  line-height:1.7;
}
.composer-form{
  gap:20px;
}
.composer-type-group{
  margin:0;
  padding:0;
  border:0;
}
.composer-type-group legend{
  margin-bottom:10px;
  color:#475467;
  font-size:12px;
  font-weight:800;
}
.composer-type-options{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.composer-type-option{
  position:relative;
  min-width:124px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 16px;
  border:1px solid #d8e0e8;
  border-radius:12px;
  background:#fff;
  color:#344054;
  font-size:14px;
  font-weight:750;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.composer-type-option:hover{
  border-color:#9eb2c5;
  background:#fafcfe;
}
.composer-type-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.composer-type-check{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1.5px solid #c6d1dc;
  border-radius:6px;
  color:transparent;
  background:#fff;
  font-size:12px;
  font-weight:900;
  transition:.18s ease;
}
.composer-type-option:has(input:checked){
  border-color:#163c64;
  background:#f5f8fb;
  box-shadow:0 0 0 3px rgba(22,60,100,.06);
}
.composer-type-option:has(input:checked) .composer-type-check{
  border-color:#163c64;
  background:#163c64;
  color:#fff;
}
.composer-textarea{
  min-height:240px;
  padding:18px 20px;
  border-radius:16px;
  font-size:16px;
  line-height:1.75;
  background:#fff;
}
.composer-media-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:2px;
}
.composer-upload-tools{
  display:flex;
  align-items:center;
  gap:10px;
}
.composer-media-btn{
  width:46px;
  height:46px;
  padding:0;
  justify-content:center;
  border-radius:12px;
  background:#fff;
}
.composer-media-icon{
  width:24px;
  height:24px;
  background:transparent;
  font-size:15px;
}
.composer-publish{
  min-width:112px;
  height:46px;
  margin-left:auto;
  border-radius:12px;
}
.composer-attachments{
  margin-top:2px;
}
.composer-attachment{
  padding:12px 14px;
  border-radius:12px;
}

/* Mobile: keep the same single-choice model, stack naturally */
@media(max-width:650px){
  .community-composer{
    padding:22px 18px;
  }
  .composer-head h1{
    font-size:24px;
  }
  .composer-type-options{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .composer-type-option{
    width:100%;
    min-height:46px;
  }
  .composer-textarea{
    min-height:190px;
    padding:15px 16px;
    font-size:15px;
  }
  .composer-media-row{
    align-items:stretch;
    gap:12px;
  }
  .composer-upload-tools{
    flex:0 0 auto;
  }
  .composer-media-btn{
    flex:0 0 44px;
    width:44px;
    height:44px;
  }
  .composer-publish{
    width:auto;
    flex:1;
    order:0;
    margin-left:0;
  }
}

/* Recommendation avatars: bind to real user avatars / company logos when account data is connected. */
.profile-avatar,
.company-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#edf4f8;
  border:1px solid #dce6ef;
}
.profile-avatar img,
.company-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.company-avatar img{
  object-fit:contain;
  padding:5px;
  background:#fff;
}
.profile-avatar-fallback{
  color:#163c64;
  font-size:14px;
  font-weight:800;
}

.feed-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
}


/* Hard thumbnail constraints for all recommendation/profile avatars.
   Large source images must never expand their layout box. */
.avatar-thumb,
.profile-avatar,
.company-avatar{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  flex:0 0 42px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:50% !important;
  border:1px solid #dce6ef !important;
  background:#fff !important;
}
.avatar-thumb img,
.profile-avatar img,
.company-avatar img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.company-avatar img{
  object-fit:contain !important;
  padding:5px !important;
}
.feed-avatar{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  flex-basis:34px !important;
}


/* Hero sponsored ad media: always use a fixed display box to avoid layout shifts
   when advertisers upload images with different original sizes. */
.hero-grid > .hero-ad-card .sponsored-company-media{
  position:relative;
  width:100%;
  height:190px;
  min-height:190px;
  max-height:190px;
  overflow:hidden;
  background:#e9eef3;
  flex:0 0 190px;
}

.hero-grid > .hero-ad-card .sponsored-company-media > img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  display:block;
  transition:opacity .18s ease;
  will-change:opacity;
}

.hero-grid > .hero-ad-card .sponsored-company-media > img.is-switching{
  opacity:.35;
}

@media(max-width:900px){
  .hero-grid > .hero-ad-card .sponsored-company-media{
    height:260px;
    min-height:260px;
    max-height:260px;
    flex-basis:260px;
  }
}

@media(max-width:600px){
  .hero-grid > .hero-ad-card .sponsored-company-media{
    height:210px;
    min-height:210px;
    max-height:210px;
    flex-basis:210px;
  }
}


/* Account system foundation */
.header-account-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.header-account-avatar{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eaf1f6;
  color:#163c64;
  font-size:10px;
  font-weight:900;
}
.header-account-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.account-page{
  min-height:calc(100vh - 220px);
  padding-top:52px;
  padding-bottom:70px;
}

.account-auth-card,
.account-status-card,
.account-dashboard{
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  box-shadow:0 16px 45px rgba(18,38,63,.08);
}

.account-auth-card{
  width:min(100%,560px);
  margin:0 auto;
  padding:30px;
}
.account-auth-card-wide{width:min(100%,700px)}

.account-auth-intro{margin-bottom:22px}
.account-eyebrow{
  display:inline-block;
  margin-bottom:7px;
  color:var(--brand2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.account-auth-intro h1,
.account-profile-head h1,
.account-status-card h1{
  margin:0 0 8px;
  font-size:29px;
  line-height:1.2;
  letter-spacing:-.03em;
}
.account-auth-intro p,
.account-profile-head p,
.account-status-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}

.account-form{
  display:grid;
  gap:16px;
}
.account-form label:not(.account-check){
  display:grid;
  gap:7px;
}
.account-form label>span{
  color:#344054;
  font-size:12px;
  font-weight:800;
}
.account-form .input{
  width:100%;
  height:49px;
  padding:0 13px;
  border:1px solid #d0d5dd;
  border-radius:11px;
  background:#fff;
  outline:none;
  font-size:14px;
}
.account-form .input:focus{
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.07);
}
.account-form-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.field-help{
  color:#98a2b3;
  font-size:10px;
  line-height:1.5;
  font-weight:500;
}
.account-check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  cursor:pointer;
}
.account-check input{
  width:17px;
  height:17px;
  margin-top:1px;
  accent-color:#163c64;
}
.account-check span{
  font-size:12px!important;
  line-height:1.55;
}
.account-terms{
  margin:-4px 0 0;
  color:#98a2b3;
  font-size:10px;
  line-height:1.65;
}
.account-submit{
  width:100%;
  min-height:48px;
}
.account-submit:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.account-form-row{
  display:flex;
  justify-content:flex-end;
  margin-top:-5px;
  font-size:11px;
  font-weight:700;
}
.account-form-row a,
.account-auth-footer a,
.account-inline-form a{
  color:#163c64;
}
.account-auth-footer{
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid var(--line);
  color:#667085;
  text-align:center;
  font-size:11px;
}

.account-alert{
  display:grid;
  gap:3px;
  margin:0 0 17px;
  padding:12px 13px;
  border-radius:11px;
  font-size:11px;
  line-height:1.6;
}
.account-alert strong{font-size:11px}
.account-alert.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.account-alert.error{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.account-alert.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647}

.account-status-card{
  width:min(100%,600px);
  margin:0 auto;
  padding:36px;
  text-align:center;
}
.account-status-icon{
  width:58px;
  height:58px;
  margin:0 auto 18px;
  border-radius:18px;
  background:#eaf4f2;
  color:#0f6f66;
  display:grid;
  place-items:center;
  font-size:24px;
  font-weight:900;
}
.account-status-card .btn{
  margin-top:14px;
  min-width:180px;
}
.account-email-chip{
  display:inline-flex;
  margin:18px auto 5px;
  padding:8px 12px;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  font-size:11px;
  font-weight:800;
}
.account-inline-form{margin-top:6px}

.account-dashboard{
  padding:28px;
}
.account-profile-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.account-avatar{
  width:66px;
  height:66px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eaf1f6;
  color:#163c64;
  font-size:22px;
  font-weight:900;
}
.account-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.account-profile-head h1{font-size:25px}
.account-info-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  margin-top:20px;
}
.account-info-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fbfcfd;
}
.account-info-card>span{
  display:block;
  margin-bottom:7px;
  color:#667085;
  font-size:10px;
  font-weight:800;
}
.account-info-card>strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#16202a;
  font-size:13px;
}
.account-info-card>small{
  display:block;
  margin-top:7px;
  color:#98a2b3;
  font-size:9px;
  line-height:1.5;
}
.account-info-card .status-good{color:#067647}
.account-next-card{
  margin-top:18px;
  padding:20px;
  border-radius:15px;
  background:#f5f8fb;
  border:1px solid #e4eaf0;
}
.account-next-card h2{margin:0 0 7px;font-size:18px}
.account-next-card p{margin:0;color:#667085;font-size:12px;line-height:1.7}

@media(max-width:900px){
  .account-info-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .account-page{padding-top:28px;padding-bottom:45px}
  .account-auth-card,.account-status-card,.account-dashboard{border-radius:17px}
  .account-auth-card,.account-status-card,.account-dashboard{padding:20px}
  .account-form-two{grid-template-columns:1fr}
  .account-profile-head{grid-template-columns:auto minmax(0,1fr)}
  .account-logout-btn{grid-column:1/-1}
  .account-info-grid{grid-template-columns:1fr}
}


/* Password visibility controls */
.account-form-two{
  align-items:start;
}
.account-form-two > label{
  align-content:start;
}
.password-input-wrap{
  position:relative;
  width:100%;
}
.password-input-wrap .input{
  padding-right:50px;
}
.password-toggle{
  position:absolute;
  top:50%;
  right:8px;
  width:36px;
  height:36px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#667085;
  cursor:pointer;
  line-height:1;
}
.password-toggle:hover{
  background:#f2f4f7;
  color:#163c64;
}
.password-toggle:focus-visible{
  outline:2px solid #163c64;
  outline-offset:2px;
}
.password-toggle-icon{
  font-size:16px;
  line-height:1;
  filter:grayscale(1);
}


.user-email-code{
  max-width:260px;
  margin:0 auto;
  text-align:center;
  font-size:24px !important;
  font-weight:900;
  letter-spacing:.28em;
}
.verification-code-form{
  width:min(100%,360px);
  margin:22px auto 0;
}
.account-back-link{
  display:inline-block;
  margin-top:15px;
  color:#667085;
  font-size:11px;
  font-weight:700;
}


/* Password visibility control beside the field label */
.password-label-text{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
}
.password-toggle-inline{
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:15px;
  line-height:1;
  vertical-align:middle;
}
.password-toggle-inline:hover{
  transform:translateY(-1px);
}
.password-toggle-inline:focus-visible{
  outline:2px solid #163c64;
  outline-offset:2px;
  border-radius:4px;
}
.password-input-wrap .input{
  padding-right:13px;
}


.resend-code-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}
.resend-countdown-note{
  min-height:18px;
  margin-top:7px;
  color:#667085;
  font-size:10px;
  line-height:1.5;
  text-align:center;
}


/* Account-page button motion feedback */
.account-page .btn{
  transition:transform .16s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
  will-change:transform;
}
.account-page .btn:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(22,60,100,.14);
}
.account-page .btn:active:not(:disabled){
  transform:translateY(0) scale(.985);
  box-shadow:0 5px 12px rgba(22,60,100,.14);
}
.account-page .btn:focus-visible{
  box-shadow:0 0 0 3px rgba(22,60,100,.12), 0 10px 22px rgba(22,60,100,.12);
}


/* Professional Profile */
.account-profile-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.account-profile-cta-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.profile-edit-page,
.profile-public-page{
  padding-top:38px;
  padding-bottom:70px;
}
.profile-edit-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.profile-edit-head h1{
  margin:0 0 6px;
  font-size:30px;
  letter-spacing:-.035em;
}
.profile-edit-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.profile-edit-form{
  display:grid;
  gap:16px;
}
.profile-edit-card,
.profile-content-card,
.profile-hero-card,
.profile-private-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(18,38,63,.06);
}
.profile-edit-card{
  padding:22px;
}
.profile-section-title{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding-bottom:17px;
  margin-bottom:18px;
  border-bottom:1px solid var(--line);
}
.profile-section-title>div{
  display:flex;
  align-items:center;
  gap:10px;
}
.profile-section-title>div>span{
  width:30px;
  height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#edf4f5;
  color:#0f6f66;
  font-size:10px;
  font-weight:900;
}
.profile-section-title h2{
  margin:0;
  font-size:17px;
}
.profile-section-title p{
  max-width:480px;
  margin:0;
  color:#98a2b3;
  font-size:10px;
  line-height:1.6;
  text-align:right;
}
.profile-avatar-edit{
  display:flex;
  align-items:center;
  gap:17px;
  margin-bottom:20px;
}
.profile-avatar-large{
  width:80px;
  height:80px;
  flex:0 0 80px;
  font-size:26px;
}
.profile-file-field{
  display:grid;
  gap:7px;
}
.profile-file-field>span,
.profile-form-grid label>span,
.profile-block-field>span,
.profile-contact-row label>span{
  color:#344054;
  font-size:11px;
  font-weight:800;
}
.profile-file-field input{
  font-size:11px;
}
.profile-file-field small{
  color:#98a2b3;
  font-size:9px;
}
.profile-form-grid{
  display:grid;
  gap:13px;
}
.profile-form-grid.two{
  grid-template-columns:1fr 1fr;
}
.profile-form-grid label,
.profile-block-field{
  display:grid;
  gap:7px;
}
.profile-edit-page .input,
.profile-edit-page select,
.profile-edit-page textarea{
  width:100%;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#16202a;
  outline:none;
  font:inherit;
}
.profile-edit-page .input,
.profile-edit-page select{
  height:46px;
  padding:0 12px;
}
.profile-edit-page textarea{
  padding:11px 12px;
  resize:vertical;
  line-height:1.65;
}
.profile-edit-page .input:focus,
.profile-edit-page select:focus,
.profile-edit-page textarea:focus{
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.07);
}
.profile-block-field{
  margin-top:13px;
}
.profile-tag-inputs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.profile-repeat-list{
  display:grid;
  gap:9px;
}
.profile-language-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:10px;
}
.profile-work-list{
  display:grid;
  gap:12px;
}
.profile-work-row{
  padding:15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfcfd;
}
.profile-current-check{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:46px;
  padding:0 12px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
}
.profile-current-check input{
  width:17px;
  height:17px;
  accent-color:#163c64;
}
.profile-contact-grid{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.profile-contact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px;
  gap:10px;
}
.profile-contact-row label{
  display:grid;
  gap:7px;
}
.profile-save-bar{
  position:sticky;
  bottom:12px;
  z-index:8;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 16px;
  border:1px solid #d9e2ea;
  border-radius:15px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 15px 35px rgba(18,38,63,.12);
}
.profile-save-bar strong{
  display:block;
  margin-bottom:3px;
  font-size:12px;
}
.profile-save-bar span{
  color:#98a2b3;
  font-size:9px;
}
.profile-save-btn{
  min-width:120px;
}

.profile-hero-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:24px;
}
.profile-public-avatar{
  width:92px;
  height:92px;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eaf1f6;
  color:#163c64;
  font-size:28px;
  font-weight:900;
}
.profile-public-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.profile-name-row{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.profile-name-row h1{
  margin:0;
  font-size:29px;
  letter-spacing:-.035em;
}
.profile-self-badge{
  padding:5px 8px;
  border-radius:999px;
  background:#ecfdf3;
  color:#067647;
  font-size:9px;
  font-weight:900;
}
.profile-native-name{
  margin-top:3px;
  color:#667085;
  font-size:12px;
}
.profile-headline{
  margin:8px 0 0;
  color:#344054;
  font-size:14px;
  line-height:1.55;
}
.profile-meta-line{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.profile-meta-line span{
  padding:6px 9px;
  border-radius:999px;
  background:#f2f4f7;
  color:#475467;
  font-size:10px;
  font-weight:700;
}
.profile-hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.profile-public-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);
  gap:16px;
  margin-top:16px;
}
.profile-public-main,
.profile-public-side{
  display:grid;
  gap:16px;
  align-content:start;
}
.profile-content-card{
  padding:20px;
}
.profile-content-card h2{
  margin:0 0 14px;
  font-size:15px;
}
.profile-about{
  margin:0;
  color:#475467;
  font-size:12px;
  line-height:1.85;
}
.profile-expertise-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.profile-expertise-tags span{
  padding:7px 9px;
  border-radius:9px;
  background:#f2f4f7;
  color:#344054;
  font-size:10px;
  font-weight:700;
}
.profile-timeline{
  display:grid;
  gap:16px;
}
.profile-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  gap:11px;
}
.profile-timeline-dot{
  width:9px;
  height:9px;
  margin-top:5px;
  border-radius:50%;
  background:#0f6f66;
}
.profile-timeline-item strong{
  display:block;
  font-size:12px;
}
.profile-timeline-item span,
.profile-timeline-item small{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.profile-timeline-item p{
  margin:7px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.65;
}
.profile-language-list{
  display:grid;
  gap:9px;
}
.profile-language-list>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-bottom:9px;
  border-bottom:1px solid var(--line);
}
.profile-language-list>div:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.profile-language-list strong{
  font-size:11px;
}
.profile-language-list span{
  color:#98a2b3;
  font-size:9px;
}
.profile-contact-public{
  display:grid;
  gap:9px;
}
.profile-contact-public>div{
  display:grid;
  gap:2px;
}
.profile-contact-public span{
  color:#98a2b3;
  font-size:9px;
}
.profile-contact-public strong{
  font-size:10px;
  word-break:break-word;
}
.profile-contact-public>a,
.profile-social-links a{
  color:#163c64;
  font-size:10px;
  font-weight:800;
}
.profile-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 11px;
}
.profile-private-card{
  padding:34px;
  text-align:center;
}
.profile-private-card h1{
  margin:0 0 8px;
  font-size:22px;
}
.profile-private-card p{
  margin:0;
  color:#667085;
  font-size:12px;
}

@media(max-width:850px){
  .profile-public-grid{grid-template-columns:1fr}
  .profile-section-title{display:block}
  .profile-section-title p{margin-top:8px;text-align:left}
}
@media(max-width:650px){
  .account-profile-cta,
  .profile-edit-head,
  .profile-save-bar{
    align-items:stretch;
    flex-direction:column;
  }
  .profile-form-grid.two,
  .profile-tag-inputs,
  .profile-language-row,
  .profile-contact-row{
    grid-template-columns:1fr;
  }
  .profile-hero-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  .profile-hero-actions{
    grid-column:1/-1;
  }
  .profile-avatar-edit{
    align-items:flex-start;
  }
  .profile-edit-card{
    padding:17px;
  }
}


.profile-single-field{
  max-width:760px;
  margin-top:0;
}


.member-number{
  color:#98a2b3;
  font-size:.52em;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}


.country-code-display{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:8px;
  align-items:center;
}
.country-code-display .input[readonly]{
  background:#f8fafc;
  color:#475467;
  cursor:default;
}
.country-flag{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  font-size:24px;
  line-height:1;
}
.country-flag:empty::before{
  content:"—";
  color:#c4cbd3;
  font-size:14px;
}


/* Global interactive motion for all user-facing buttons */
:where(
  button,
  .btn,
  a.btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .sponsored-company-follow,
  .hero-ad-dot,
  .composer-media-btn,
  .password-toggle-inline
){
  transition:
    transform .16s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    opacity .18s ease;
  transform-origin:center;
}

@media (hover:hover) and (pointer:fine){
  :where(
    button,
    .btn,
    a.btn,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    .sponsored-company-follow,
    .composer-media-btn,
    .password-toggle-inline
  ):hover:not(:disabled):not([aria-disabled="true"]){
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(22,60,100,.13);
  }

  .hero-ad-dot:hover:not(:disabled){
    transform:scale(1.22);
  }
}

:where(
  button,
  .btn,
  a.btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .sponsored-company-follow,
  .composer-media-btn,
  .password-toggle-inline
):active:not(:disabled):not([aria-disabled="true"]){
  transform:translateY(0) scale(.97);
  box-shadow:0 4px 10px rgba(22,60,100,.12);
  transition-duration:.08s;
}

.hero-ad-dot:active:not(:disabled){
  transform:scale(.88);
}

:where(
  button,
  .btn,
  a.btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .sponsored-company-follow,
  .hero-ad-dot,
  .composer-media-btn,
  .password-toggle-inline
):focus-visible{
  outline:2px solid var(--brand);
  outline-offset:3px;
}

:where(button,.btn,input[type="submit"],input[type="button"],input[type="reset"]):disabled,
:where(.btn,[role="button"])[aria-disabled="true"]{
  transform:none!important;
  box-shadow:none!important;
  cursor:not-allowed;
}

@media (prefers-reduced-motion:reduce){
  :where(
    button,
    .btn,
    a.btn,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    .sponsored-company-follow,
    .hero-ad-dot,
    .composer-media-btn,
    .password-toggle-inline
  ){
    transition:none!important;
  }
}


/* Publication history */
.account-publication-card{
  margin-top:18px;
  padding:20px;
  border:1px solid #e4eaf0;
  border-radius:15px;
  background:#fff;
}
.account-publication-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.account-publication-head h2{
  margin:3px 0 5px;
  font-size:18px;
}
.account-publication-head p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.6;
}
.publication-history-list{
  display:grid;
}
.publication-history-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.publication-history-item:last-child{
  border-bottom:0;
}
.publication-history-item.is-deleted{
  opacity:.68;
}
.publication-history-meta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:#98a2b3;
  font-size:9px;
}
.publication-type,
.publication-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#edf4f8;
  color:#163c64;
  font-weight:850;
}
.publication-status{
  background:#ecfdf3;
  color:#067647;
}
.publication-status.deleted{
  background:#f2f4f7;
  color:#667085;
}
.publication-history-main p{
  margin:8px 0 0;
  color:#344054;
  font-size:12px;
  line-height:1.7;
}
.publication-history-main small{
  display:block;
  margin-top:6px;
  color:#98a2b3;
  font-size:9px;
}
.publication-delete-btn{
  color:#b42318;
  border-color:#f3c5c0;
}
.publication-retention-note{
  margin-top:14px;
  padding:11px 12px;
  border-radius:10px;
  background:#fffaeb;
  color:#7a5b00;
  font-size:10px;
  line-height:1.6;
}
.publication-empty{
  padding:26px 0;
  color:#98a2b3;
  font-size:11px;
  text-align:center;
}
.composer-login-required{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
}
.composer-login-required p{
  margin:0;
  color:#667085;
  font-size:12px;
}
.composer-media-btn:disabled{
  opacity:.45;
}
.publication-feed-meta{
  margin-top:9px;
  color:#98a2b3;
  font-size:9px;
}
.community-real-feed .feed-item p{
  white-space:normal;
}
@media(max-width:650px){
  .account-publication-head,
  .publication-history-item,
  .composer-login-required{
    grid-template-columns:1fr;
    display:grid;
  }
  .publication-delete-form,
  .publication-delete-btn{
    width:100%;
  }
}


.composer-media-btn{
  width:auto;
  min-width:78px;
  padding:0 13px;
  gap:7px;
}
.composer-media-label{
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:560px){
  .composer-media-btn{
    min-width:72px;
    padding:0 10px;
  }
  .composer-media-label{
    font-size:10px;
  }
}


.profile-source-language-note{
  margin-top:12px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 12px;
  border:1px solid #dce6ef;
  border-radius:10px;
  background:#f8fafc;
}
.profile-source-language-note strong{
  color:#163c64;
  font-size:10px;
}
.profile-source-language-note span{
  color:#667085;
  font-size:10px;
  line-height:1.55;
}


/* Content interaction bar */
.content-actions{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid #eef2f6;
}
.content-action-form{
  margin:0;
}
.content-action{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#667085;
  font:inherit;
  font-size:11px;
  font-weight:750;
  text-decoration:none;
  cursor:pointer;
}
.content-action:hover{
  background:#f2f4f7;
  color:#163c64;
}
.content-action.is-active{
  background:#edf6f5;
  color:#087f5b;
}
.content-action-icon{
  min-width:15px;
  font-size:15px;
  line-height:1;
  text-align:center;
}
.content-action strong{
  min-width:10px;
  color:#98a2b3;
  font-size:10px;
  font-weight:750;
}
.content-detail-page{
  max-width:900px;
}
.content-back-link{
  display:inline-flex;
  margin-bottom:12px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.content-detail-card{
  padding:24px;
}
.content-detail-card h1{
  margin:8px 0 10px;
  font-size:26px;
  line-height:1.35;
}
.content-detail-card>p{
  color:#475467;
  font-size:14px;
  line-height:1.8;
}
.comments-card{
  margin-top:18px;
  padding:22px;
}
.comments-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.comments-head h2{
  margin:3px 0 0;
  font-size:18px;
}
.comments-head h2 span{
  color:#98a2b3;
  font-size:13px;
}
.comment-form{
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.comment-form label>span{
  display:block;
  margin-bottom:7px;
  color:#344054;
  font-size:11px;
  font-weight:800;
}
.comment-form textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:12px;
  background:#fff;
  color:#1d2939;
  font:inherit;
  font-size:13px;
  line-height:1.65;
}
.comment-form textarea:focus{
  outline:none;
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.08);
}
.comment-form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:9px;
}
.comments-signin{
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.comment-list{
  display:grid;
}
.comment-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.comment-item:last-child{
  border-bottom:0;
}
.comment-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:#edf4f8;
  color:#163c64;
  font-size:11px;
  font-weight:900;
}
.comment-meta{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  color:#98a2b3;
  font-size:9px;
}
.comment-meta strong{
  color:#344054;
  font-size:11px;
}
.comment-content p{
  margin:6px 0 0;
  color:#475467;
  font-size:12px;
  line-height:1.7;
}
.comment-delete-form{
  margin-top:6px;
}
.comment-delete-form button{
  padding:0;
  border:0;
  background:transparent;
  color:#b42318;
  font-size:9px;
  cursor:pointer;
}
.comment-empty{
  padding:22px 0;
  color:#98a2b3;
  font-size:11px;
  text-align:center;
}
.saved-content-list{
  display:grid;
}
.saved-content-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.saved-content-item:last-child{
  border-bottom:0;
}
.saved-content-item h3{
  margin:6px 0 4px;
  font-size:13px;
}
.saved-content-item p{
  margin:0;
  color:#667085;
  font-size:10px;
  line-height:1.6;
}
@media(max-width:620px){
  .content-actions{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
  }
  .content-action-form{
    display:contents;
  }
  .content-action{
    width:100%;
    min-width:0;
    padding:0 3px;
    gap:3px;
    font-size:9px;
    white-space:nowrap;
  }
  .content-action-icon{
    min-width:12px;
    font-size:13px;
  }
  .content-action strong{
    display:inline;
    min-width:auto;
    font-size:9px;
    line-height:1;
  }
  .content-detail-card,
  .comments-card{
    padding:17px;
  }
  .content-detail-card h1{
    font-size:21px;
  }
  .saved-content-item{
    grid-template-columns:1fr;
  }
}


.feed-title-link,
.feed-body-link{
  color:inherit;
  text-decoration:none;
}
.feed-title-link:hover,
.feed-body-link:hover{
  color:var(--brand);
}


/* Registered author + follow system */
.post-author-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  margin-bottom:7px;
}
.post-author-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:#f8fafc;
  color:#163c64;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.post-author-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.post-author-avatar:hover{
  border-color:#9db5c9;
}
.post-author-identity{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
}
.post-author-name{
  color:#475467;
  font-size:12px;
  font-weight:750;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
a.post-author-name:hover{
  color:#163c64;
  text-decoration:underline;
  text-underline-offset:3px;
}
.post-author-member{
  color:#98a2b3;
  font-size:9px;
  white-space:nowrap;
}
.publication-author-meta{
  margin:-2px 0 8px 43px;
  color:#98a2b3;
  font-size:9px;
}
.follow-control{
  display:flex;
  align-items:center;
  gap:7px;
}
.post-follow-control{
  margin-left:auto;
  flex:0 0 auto;
}
.follow-form{
  margin:0;
}
.follow-btn{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid #bdd3df;
  border-radius:8px;
  background:#fff;
  color:#163c64;
  font:inherit;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.follow-btn:hover{
  transform:translateY(-1px);
  border-color:#163c64;
}
.follow-btn:active{
  transform:scale(.97);
}
.follow-btn.is-following{
  border-color:#cae3dd;
  background:#edf8f5;
  color:#087f5b;
}
.follower-count{
  color:#667085;
  font-size:9px;
  white-space:nowrap;
}
.follower-count strong{
  color:#344054;
  font-size:10px;
}
.profile-follow-control{
  justify-content:flex-end;
}
.profile-follow-control .follow-btn{
  min-height:38px;
  padding:0 14px;
  border-radius:10px;
  font-size:11px;
}
.profile-follow-control .follower-count{
  font-size:10px;
}
.profile-follow-summary{
  display:flex;
  align-items:center;
}
@media(max-width:680px){
  .post-author-row{
    align-items:center;
    flex-wrap:nowrap;
    gap:7px;
  }
  .post-author-identity{
    flex:1 1 auto;
    min-width:0;
  }
  .post-author-name{
    max-width:100%;
    font-size:11px;
  }
  .post-author-member{
    font-size:8px;
  }
  .post-follow-control{
    width:auto;
    margin-left:auto;
    flex:0 0 auto;
    justify-content:flex-end;
    gap:5px;
  }
  .post-follow-control .follow-btn{
    min-height:26px;
    padding:0 8px;
    font-size:9px;
  }
  .post-follow-control .follower-count{
    font-size:8px;
  }
  .post-follow-control .follower-count strong{
    font-size:9px;
  }
  .publication-author-meta{
    margin-left:41px;
  }
  .profile-follow-control{
    justify-content:flex-start;
  }
}


/* Real repost/source attribution */
.repost-feed-item{
  background:#fcfcfd;
}
.repost-by-label{
  margin:-2px 0 9px 43px;
  color:#667085;
  font-size:10px;
  font-weight:800;
}
.repost-source-card{
  margin:8px 0 0 43px;
  padding:13px 14px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#fff;
}
.repost-source-label{
  margin-bottom:7px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.repost-original-author{
  color:#667085;
  font-size:10px;
}
.repost-original-author a,
.repost-original-author strong{
  color:#344054;
  font-weight:850;
  text-decoration:none;
}
.repost-original-author a:hover{
  color:#163c64;
  text-decoration:underline;
  text-underline-offset:3px;
}
.repost-original-author small{
  color:#98a2b3;
}
.repost-source-card h4{
  margin:8px 0 5px;
  font-size:14px;
  line-height:1.45;
}
.repost-source-card h4 a{
  color:#1d2939;
  text-decoration:none;
}
.repost-source-card h4 a:hover{
  color:#163c64;
}
.repost-source-card p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.65;
}
.repost-original-link{
  display:inline-flex;
  margin-top:8px;
  color:#163c64;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}
.repost-feed-item>.content-actions{
  margin-left:43px;
}
.follow-btn[aria-busy="true"],
.content-action[aria-busy="true"]{
  opacity:.65;
}
@media(max-width:620px){
  .repost-by-label,
  .repost-source-card,
  .repost-feed-item>.content-actions{
    margin-left:0;
  }
}


.author-language-guidance{
  display:flex;
  align-items:flex-start;
  gap:8px 12px;
  flex-wrap:wrap;
  margin:12px 0 16px;
  padding:11px 13px;
  border:1px solid #cfe2dd;
  border-radius:11px;
  background:#f4fbf8;
}
.author-language-guidance strong{
  color:#087f5b;
  font-size:10px;
  font-weight:900;
}
.author-language-guidance span{
  flex:1 1 420px;
  color:#475467;
  font-size:10px;
  line-height:1.6;
}


/* Private message system */
.message-compose-page{
  max-width:880px;
}
.message-compose-card{
  padding:24px;
}
.message-compose-head h1{
  margin:4px 0 16px;
  font-size:25px;
}
.message-recipient-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #e4eaf0;
  border-radius:12px;
  background:#f8fafc;
}
.message-recipient-card>div{
  display:grid;
  gap:3px;
}
.message-recipient-card small{
  color:#98a2b3;
  font-size:9px;
  font-weight:800;
}
.message-source-card{
  margin-top:12px;
  padding:13px 14px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#fff;
}
.message-source-card>span,
.private-message-source>span{
  display:block;
  margin-bottom:5px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.message-source-card>a,
.private-message-source>a{
  color:#163c64;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
}
.message-source-card>a:hover,
.private-message-source>a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.message-source-card p,
.private-message-source p{
  margin:6px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.6;
}
.message-compose-form{
  margin-top:15px;
}
.message-compose-form label>span{
  display:block;
  margin-bottom:7px;
  color:#344054;
  font-size:11px;
  font-weight:850;
}
.message-compose-form textarea{
  width:100%;
  min-height:160px;
  resize:vertical;
  padding:13px;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#1d2939;
  font:inherit;
  font-size:13px;
  line-height:1.7;
}
.message-compose-form textarea:focus{
  outline:none;
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.08);
}
.message-compose-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:10px;
}
.private-message-list{
  display:grid;
}
.private-message-card{
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.private-message-card:last-child{
  border-bottom:0;
}
.private-message-author{
  display:flex;
  align-items:center;
  gap:9px;
}
.private-message-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:#edf4f8;
  color:#163c64;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.private-message-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.private-message-author-text{
  display:flex;
  align-items:baseline;
  gap:4px;
  flex-wrap:wrap;
}
.private-message-author-text small{
  width:100%;
  color:#98a2b3;
  font-size:9px;
}
.private-message-name{
  color:#344054;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
}
a.private-message-name:hover{
  color:#163c64;
  text-decoration:underline;
  text-underline-offset:3px;
}
.private-message-author-text>span{
  color:#98a2b3;
  font-size:9px;
}
.private-message-source{
  margin:10px 0 0 47px;
  padding:10px 12px;
  border-left:3px solid #d8e6ec;
  border-radius:0 9px 9px 0;
  background:#f8fafc;
}
.private-message-body{
  margin:11px 0 0 47px;
  color:#344054;
  font-size:12px;
  line-height:1.75;
  white-space:normal;
  word-break:break-word;
}
.private-message-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:11px 0 0 47px;
}
.private-message-actions form{
  margin:0;
}

.message-reply-btn{
  min-height:31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid #b9d1e4;
  border-radius:8px;
  background:#f3f8fc;
  color:#163c64;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
  transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease;
}
.message-reply-btn:hover{
  transform:translateY(-1px);
  border-color:#163c64;
  box-shadow:0 4px 10px rgba(22,60,100,.08);
}
.message-feedback-btn,
.message-delete-btn{
  min-height:31px;
  padding:0 10px;
  border:1px solid #d9e0e7;
  border-radius:8px;
  background:#fff;
  color:#667085;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.message-feedback-btn:hover{
  border-color:#9db5c9;
  color:#163c64;
}
.message-feedback-btn.is-active{
  border-color:#b7ddd2;
  background:#edf8f5;
  color:#087f5b;
}
.message-feedback-btn.is-active.negative{
  border-color:#f1c6c2;
  background:#fff5f4;
  color:#b42318;
}
.message-delete-btn{
  color:#b42318;
  border-color:#f0cbc7;
}
.content-message-action{
  color:#315b76;
}
@media(max-width:620px){
  .content-actions{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .private-message-source,
  .private-message-body,
  .private-message-actions{
    margin-left:0;
  }
  .message-compose-card{
    padding:17px;
  }
}


/* Private message media attachments */
.message-upload-area{
  margin-top:11px;
  padding:11px 12px;
  border:1px solid #e1e7ed;
  border-radius:11px;
  background:#f8fafc;
}
.message-upload-tools{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.message-upload-btn{
  position:relative;
  min-height:36px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0!important;
  padding:0 12px;
  border:1px solid #cfd9e3;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font-size:10px!important;
  font-weight:850!important;
  cursor:pointer;
  transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease;
}
.message-upload-btn:hover{
  transform:translateY(-1px);
  border-color:#163c64;
  box-shadow:0 5px 12px rgba(22,60,100,.08);
}
.message-upload-btn input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.message-upload-area>small{
  display:block;
  margin-top:8px;
  color:#98a2b3;
  font-size:9px;
  line-height:1.55;
}
.message-upload-selection{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:8px;
}
.message-upload-selection:empty{
  display:none;
}
.message-upload-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:#edf4f8;
  color:#475467;
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.private-message-attachments{
  margin:11px 0 0 47px;
}
.private-message-attachments-label{
  display:block;
  margin-bottom:7px;
  color:#98a2b3;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.private-message-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.private-message-image{
  display:block;
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#f8fafc;
}
.private-message-image img{
  width:100%;
  height:180px;
  display:block;
  object-fit:cover;
}
.private-message-video{
  grid-column:1/-1;
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#0b0f14;
}
.private-message-video video{
  width:100%;
  max-height:420px;
  display:block;
  background:#0b0f14;
}
@media(max-width:620px){
  .private-message-attachments{margin-left:0;}
  .private-message-media-grid{grid-template-columns:1fr;}
  .private-message-image img{height:auto;max-height:360px;}
}


/* Canonical repost association */
.repost-context-line{
  display:flex;
  align-items:center;
  gap:4px;
  margin:0 0 8px;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.repost-context-line a,
.repost-context-line strong{
  color:#344054;
  font-weight:900;
  text-decoration:none;
}
.repost-context-line a:hover{
  color:#163c64;
  text-decoration:underline;
  text-underline-offset:3px;
}
.repost-context-line span{
  color:#98a2b3;
}
.repost-linked-original{
  background:#fcfcfd;
}

/* Real sourcing requests use the same registered-author social system */
.sourcing-page-head{
  align-items:flex-end;
}
.sourcing-page-head>div>p{
  margin:4px 0 0;
  color:#667085;
  font-size:11px;
}
.sourcing-request-list .feed-item,
.sourcing-request-item{
  position:relative;
}
.sourcing-request-status-row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:3px 0 8px 43px;
  color:#667085;
  font-size:9px;
}
.sourcing-empty-state{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px;
}
.sourcing-empty-state strong{
  color:#667085;
  font-size:12px;
}
.sourcing-demo-item{
  opacity:.78;
}
@media(max-width:620px){
  .sourcing-page-head{
    align-items:flex-start;
  }
  .sourcing-request-status-row{
    margin-left:0;
  }
  .sourcing-empty-state{
    align-items:flex-start;
    flex-direction:column;
  }
}


.home-sourcing-empty>div{
  min-width:0;
}
.home-sourcing-empty>div>p{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.6;
}


/* Repost as a new authored post */
.repost-compose-page{
  max-width:880px;
}
.repost-compose-card{
  padding:24px;
}
.message-compose-head>p{
  margin:5px 0 0;
  color:#667085;
  font-size:11px;
  line-height:1.65;
}
.repost-compose-source{
  margin-top:16px;
  padding:14px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#f8fafc;
}
.repost-compose-source h3{
  margin:8px 0 5px;
  font-size:14px;
}
.repost-compose-source>p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.7;
}
.repost-compose-form{
  margin-top:15px;
}
.repost-compose-form label>span{
  display:block;
  margin-bottom:7px;
  color:#344054;
  font-size:11px;
  font-weight:850;
}
.repost-compose-form textarea{
  width:100%;
  min-height:150px;
  resize:vertical;
  padding:13px;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#1d2939;
  font:inherit;
  font-size:13px;
  line-height:1.7;
}
.repost-compose-form textarea:focus{
  outline:none;
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.08);
}
.repost-commentary{
  margin:10px 0 13px!important;
  color:#344054!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.repost-feed-item .repost-source-card{
  margin-left:43px;
}
@media(max-width:620px){
  .repost-compose-card{padding:17px;}
  .repost-feed-item .repost-source-card{margin-left:0;}
}


/* Publishing lives on /publish.php; community activity is shown on Homepage only. */
.publish-page{
  max-width:980px;
}
.publish-page .community-composer{
  margin-top:0;
}



/* Homepage community pagination */
.feed-page-summary{
  color:#98a2b3;
  font-size:10px;
  font-weight:750;
}

.community-feed-list{
  display:grid;
  gap:16px;
}
.community-feed-card{
  padding:22px;
  border:1px solid var(--line);
  border-left:4px solid #d0d5dd;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.community-feed-card.publication-type-discussion{border-left-color:#1570ef;}
.community-feed-card.publication-type-question{border-left-color:#f79009;}
.community-feed-card.publication-type-knowledge{border-left-color:#7a5af8;}
.community-feed-card.publication-type-buying-request{border-left-color:#12b76a;}
.community-feed-card.publication-type-article{border-left-color:#0f6f66;}
.community-feed-card.publication-type-product{border-left-color:#6172f3;}
.community-feed-card.feed-kind-repost{border-left-color:#d92d20;background:#fffdfd;}

.type-pill{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.02em;
  border:1px solid transparent;
}
.type-pill-discussion{background:#eff8ff;border-color:#b2ddff;color:#175cd3;}
.type-pill-question{background:#fffaeb;border-color:#fedf89;color:#b54708;}
.type-pill-knowledge{background:#f4f3ff;border-color:#d9d6fe;color:#6938ef;}
.type-pill-buying-request{background:#ecfdf3;border-color:#abefc6;color:#067647;}
.type-pill-article{background:#ecfdf3;border-color:#a6f4c5;color:#027a48;}
.type-pill-product{background:#eef4ff;border-color:#c7d7fe;color:#3538cd;}
.type-pill-repost{background:#fef3f2;border-color:#fecdca;color:#d92d20;}

.publication-author-meta{
  margin:-2px 0 10px 43px;
  color:#98a2b3;
  font-size:9px;
}
.publication-author-meta.is-repost{
  color:#d92d20;
}
@media(max-width:620px){
  .community-feed-card{padding:18px;}
}
.feed-pagination{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  margin-top:13px;
}
.feed-page-button,
.feed-page-number,
.feed-page-numbers>a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9e1e8;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
  transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease;
}
.feed-page-button{
  padding:0 12px;
}
.feed-page-number,
.feed-page-numbers>a{
  min-width:36px;
  padding:0 8px;
}
.feed-page-button:hover,
.feed-page-number:hover,
.feed-page-numbers>a:hover{
  transform:translateY(-1px);
  border-color:#163c64;
  box-shadow:0 4px 10px rgba(22,60,100,.07);
}
.feed-page-number.is-current{
  border-color:#163c64;
  background:#163c64;
  color:#fff;
}
.feed-page-button.is-disabled{
  opacity:.38;
  cursor:default;
}
.feed-page-numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
}
.feed-page-ellipsis{
  color:#98a2b3;
  font-size:11px;
  padding:0 2px;
}
@media(max-width:620px){
  .feed-pagination{
    grid-template-columns:1fr 1fr;
  }
  .feed-page-numbers{
    grid-column:1/-1;
    grid-row:1;
    overflow-x:auto;
    justify-content:flex-start;
    padding-bottom:2px;
  }
  .feed-page-prev{
    grid-column:1;
    grid-row:2;
  }
  .feed-page-next{
    grid-column:2;
    grid-row:2;
  }
  .feed-page-button{
    width:100%;
  }
}


/* Advertising application */
.hero-ad-stack{
  width:100%;
  align-self:center;
  display:grid;
  gap:10px;
}
.hero-ad-stack>.hero-ad-card{
  width:100%;
}
.hero-ad-stack>.hero-ad-card .sponsored-company-media{
  min-height:0;
  height:190px;
  aspect-ratio:auto;
}
.hero-ad-stack>.hero-ad-card .sponsored-company-body{
  padding-bottom:21px;
}
.hero-ad-apply-btn{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 15px;
  border:1px solid #cfdce3;
  border-radius:12px;
  background:#fff;
  color:#163c64;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  box-shadow:0 6px 18px rgba(22,60,100,.06);
  transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease;
}
.hero-ad-apply-btn small{
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.hero-ad-apply-btn:hover{
  transform:translateY(-1px);
  border-color:#163c64;
  box-shadow:0 9px 22px rgba(22,60,100,.10);
}
.advertise-page{
  max-width:1180px;
}
.advertise-intro-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px;
  margin-bottom:16px;
}
.advertise-intro-card h1{
  margin:5px 0 7px;
  font-size:30px;
}
.advertise-intro-card p{
  margin:0;
  max-width:720px;
  color:#667085;
  line-height:1.7;
}
.advertise-plan-box{
  min-width:190px;
  padding:16px;
  border-radius:13px;
  background:#f1f8f6;
  border:1px solid #cfe2dd;
}
.advertise-plan-box span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:850;
}
.advertise-plan-box strong{
  display:block;
  margin-top:5px;
  color:#087f5b;
  font-size:18px;
}
.advertise-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);
  gap:16px;
}
.advertise-form-card,
.advertise-payment-card,
.advertise-success-card{
  padding:20px;
}
.advertise-success-card{
  margin-bottom:16px;
}
.advertise-success-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.advertise-success-grid>div{
  padding:12px;
  border:1px solid #e3e8ee;
  border-radius:10px;
  background:#f8fafc;
}
.advertise-success-grid span{
  display:block;
  color:#98a2b3;
  font-size:9px;
}
.advertise-success-grid strong{
  display:block;
  margin-top:4px;
  color:#344054;
  font-size:11px;
}
.advertise-section-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:16px;
}
.advertise-section-head>span{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf7f4;
  color:#087f5b;
  font-size:10px;
  font-weight:900;
}
.advertise-section-head h2{
  margin:0;
  font-size:18px;
}
.advertise-section-head p{
  margin:4px 0 0;
  color:#98a2b3;
  font-size:9px;
  line-height:1.55;
}
.advertise-form{
  display:grid;
  gap:13px;
}
.advertise-form label>span,
.advertise-payment-methods legend{
  display:block;
  margin-bottom:6px;
  color:#344054;
  font-size:10px;
  font-weight:850;
}
.advertise-form input[type="text"],
.advertise-form input[type="url"],
.advertise-form input[type="email"],
.advertise-form textarea{
  width:100%;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#1d2939;
  font:inherit;
  font-size:12px;
}
.advertise-form input[type="text"],
.advertise-form input[type="url"],
.advertise-form input[type="email"]{
  height:44px;
  padding:0 12px;
}
.advertise-form textarea{
  min-height:105px;
  padding:11px 12px;
  resize:vertical;
}
.advertise-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.advertise-payment-methods{
  padding:0;
  border:0;
}
.advertise-payment-methods>label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 11px;
  margin-top:6px;
  border:1px solid #dde4ea;
  border-radius:10px;
  cursor:pointer;
}
.advertise-payment-methods>label:hover{
  border-color:#9db5c9;
}
.advertise-proof-upload{
  padding:12px;
  border:1px dashed #bccbd7;
  border-radius:10px;
  background:#f8fafc;
}
.advertise-proof-upload input{
  display:block;
  width:100%;
}
.advertise-proof-upload small{
  display:block;
  margin-top:7px;
  color:#98a2b3;
  font-size:9px;
  line-height:1.55;
}
.advertise-submit-btn{
  width:100%;
  min-height:46px;
}
.payment-account-block{
  padding:14px 0;
  border-top:1px solid #e5e9ef;
}
.payment-account-block:first-of-type{
  border-top:0;
  padding-top:0;
}
.payment-account-block h3{
  margin:0 0 10px;
  color:#163c64;
  font-size:13px;
}
.payment-account-block dl{
  margin:0;
  display:grid;
  gap:7px;
}
.payment-account-block dl>div{
  display:grid;
  grid-template-columns:135px 1fr;
  gap:10px;
}
.payment-account-block dt{
  color:#98a2b3;
  font-size:9px;
  font-weight:800;
}
.payment-account-block dd{
  margin:0;
  color:#344054;
  font-size:10px;
  font-weight:750;
  word-break:break-word;
}
.advertise-verification-note{
  margin:14px 0 0;
  padding:10px 11px;
  border-radius:9px;
  background:#fff8ed;
  color:#9a6700;
  font-size:9px;
  line-height:1.6;
}
@media(max-width:900px){
  .hero-ad-stack>.hero-ad-card .sponsored-company-media{height:260px;}
  .advertise-layout{grid-template-columns:1fr;}
  .advertise-success-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .hero-ad-stack>.hero-ad-card .sponsored-company-media{height:210px;}
  .advertise-intro-card{align-items:flex-start;flex-direction:column;}
  .advertise-plan-box{width:100%;min-width:0;}
  .advertise-two-col{grid-template-columns:1fr;}
  .advertise-success-grid{grid-template-columns:1fr;}
  .payment-account-block dl>div{grid-template-columns:1fr;}
}


.ad-application-history{
  display:grid;
}
.ad-application-history article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.ad-application-history article:last-child{
  border-bottom:0;
}
.ad-application-history article>div{
  display:grid;
  gap:3px;
}
.ad-application-history article>div:last-child{
  text-align:right;
}
.ad-application-history strong{
  color:#344054;
  font-size:11px;
}
.ad-application-history span{
  color:#98a2b3;
  font-size:9px;
}
@media(max-width:620px){
  .ad-application-history article{
    align-items:flex-start;
    flex-direction:column;
  }
  .ad-application-history article>div:last-child{
    text-align:left;
  }
}


/* Publication attachments */
.composer-media-btn{position:relative;cursor:pointer;}
.composer-media-btn input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.composer-upload-selection{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.composer-upload-selection:empty{display:none;}
.composer-upload-chip{display:inline-flex;max-width:220px;padding:5px 8px;border-radius:999px;background:#edf4f8;color:#475467;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.composer-upload-help{display:block;margin-top:7px;color:#98a2b3;font-size:9px;}
.publication-attachments{margin:12px 0;}
.publication-image-grid{display:grid;gap:7px;}
.publication-image-grid.image-count-1{grid-template-columns:1fr;}
.publication-image-grid:not(.image-count-1){grid-template-columns:repeat(2,minmax(0,1fr));}
.publication-image-grid a,.publication-image-grid .publication-image-open{overflow:hidden;border:1px solid #e1e7ed;border-radius:10px;background:#f8fafc;}
.publication-image-grid img{width:100%;height:220px;display:block;object-fit:cover;}
.publication-attachments.feed .publication-image-grid img{height:180px;}
.publication-video{margin-top:8px;overflow:hidden;border-radius:10px;background:#0b0f14;}
.publication-video video{width:100%;max-height:520px;display:block;}
.publication-file-list{display:grid;gap:6px;margin-top:8px;}
.publication-file-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid #dfe5ec;border-radius:9px;background:#f8fafc;color:#344054;text-decoration:none;}
.publication-file-link strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;}
.publication-file-link small{color:#667085;font-size:9px;}
@media(max-width:620px){
  .publication-attachments.feed .publication-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .publication-attachments.feed .publication-image-grid.image-count-1{
    grid-template-columns:1fr;
  }
  .publication-attachments.feed .publication-image-grid a,.publication-attachments.feed .publication-image-grid .publication-image-open{
    width:100%;
    aspect-ratio:16 / 9;
    max-height:180px;
    display:block;
  }
  .publication-attachments.feed .publication-image-grid img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
  }

  /* Detail page keeps the original image proportions more freely. */
  .publication-attachments.detail .publication-image-grid,
  .publication-attachments.detail .publication-image-grid:not(.image-count-1){
    grid-template-columns:1fr;
  }
  .publication-attachments.detail .publication-image-grid img{
    height:auto;
    max-height:520px;
    object-fit:contain;
  }
}


/* Clean homepage state after test-content reset */
.home-feed-empty-state{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:8px;
  padding:24px;
}
.home-feed-empty-state strong{
  color:#344054;
  font-size:14px;
}
.home-feed-empty-state p{
  margin:0;
  max-width:720px;
  color:#667085;
  font-size:11px;
  line-height:1.65;
}
.home-feed-empty-state .btn{
  margin-top:4px;
}


/* Inline collapsible post comments */
.content-actions>.js-comment-toggle{
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
}
.inline-comments-panel{
  margin-top:12px;
  padding:0 14px 14px;
  border:1px solid #e1e7ed;
  border-radius:12px;
  background:#f8fafc;
}
.inline-comments-panel[hidden]{display:none!important;}
.inline-comments-panel.is-open{
  animation:inlineCommentsOpen .16s ease-out;
}
@keyframes inlineCommentsOpen{
  from{opacity:0;transform:translateY(-4px);}
  to{opacity:1;transform:translateY(0);}
}
.inline-comments-head{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #e5e9ef;
}
.inline-comments-head strong{
  color:#344054;
  font-size:11px;
}
.inline-comments-head strong span{
  color:#98a2b3;
}
.inline-comments-head>a{
  color:#163c64;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.inline-comment-list{
  display:grid;
}
.inline-comment-item{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  padding:11px 0;
  border-bottom:1px solid #e5e9ef;
}
.inline-comment-avatar{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:#edf4f8;
  color:#163c64;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}
.inline-comment-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.inline-comment-meta{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  color:#98a2b3;
  font-size:9px;
}
.inline-comment-meta>a,
.inline-comment-meta>strong{
  color:#344054;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
}
.inline-comment-meta>a:hover{
  color:#163c64;
  text-decoration:underline;
  text-underline-offset:3px;
}
.inline-comment-main>p{
  margin:5px 0 0;
  color:#475467;
  font-size:11px;
  line-height:1.65;
  word-break:break-word;
}
.inline-comment-empty{
  padding:14px 0;
  color:#98a2b3;
  font-size:10px;
}
.inline-comment-form{
  padding-top:11px;
}
.inline-comment-form textarea{
  width:100%;
  min-height:72px;
  resize:vertical;
  padding:10px 11px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#1d2939;
  font:inherit;
  font-size:11px;
  line-height:1.6;
}
.inline-comment-form textarea:focus{
  outline:none;
  border-color:#163c64;
  box-shadow:0 0 0 3px rgba(22,60,100,.07);
}
.inline-comment-form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:7px;
}
.inline-comment-form-actions .btn{
  min-height:34px;
  padding:0 12px;
  font-size:10px;
}
.inline-comment-login{
  padding-top:11px;
}
@media(max-width:620px){
  .inline-comments-panel{padding:0 11px 11px;}
  .inline-comments-head>a{display:none;}
}


/* Homepage 3-line post summaries */
.feed-summary-text{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  max-height:5.25em;
}
.feed-summary-text .feed-body-link{
  display:inline;
}
.feed-view-details{
  display:inline-flex;
  align-items:center;
  margin:1px 0 10px;
  color:#163c64;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
}
.feed-view-details:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}


/* V0.25 mobile feed refinements
   - interaction counts stay visible
   - Follow stays on author-name row
   - feed thumbnails use fixed 16:9 crop
*/


/* Mobile header navigation + back to top */
.mobile-lang-wrap,
.mobile-signin-btn,
.mobile-menu-toggle,
.mobile-nav-menu{
  display:none;
}

.mobile-menu-toggle{
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  padding:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.mobile-menu-toggle span{
  width:16px;
  height:2px;
  display:block;
  border-radius:999px;
  background:#163c64;
  transition:transform .18s ease,opacity .18s ease;
}
.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mobile-menu-toggle.is-open span:nth-child(2){opacity:0;}
.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.mobile-lang-wrap{
  position:relative;
}
.mobile-lang-select{
  width:66px;
  height:36px;
  padding:0 4px;
  appearance:none;
  border:0;
  border-radius:9px;
  background:#c62828;
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-align:center;
  text-align-last:center;
  cursor:pointer;
  outline:none;
}
.mobile-lang-select:focus{
  box-shadow:0 0 0 3px rgba(198,40,40,.14);
}

.mobile-nav-menu{
  border-top:1px solid #d7e1ea;
  border-bottom:1px solid #d7e1ea;
  background:#f2f6f9;
  box-shadow:0 12px 26px rgba(20,48,73,.08);
}
.mobile-nav-menu[hidden]{display:none!important;}
.mobile-nav-menu-inner{
  padding-top:10px;
  padding-bottom:14px;
}
.mobile-nav-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.mobile-nav-links a,
.mobile-nav-account a{
  min-height:40px;
  display:flex;
  align-items:center;
  padding:0 12px;
  border:1px solid #dbe5ed;
  border-radius:10px;
  background:#fbfdfe;
  color:#2f4356;
  font-size:11px;
  font-weight:800;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.mobile-nav-links a:hover,
.mobile-nav-account a:hover{
  border-color:#aac0d2;
  background:#eef5f9;
  color:#123f63;
}
.mobile-nav-account{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #cfdae3;
}

.back-to-top{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:60;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(22,60,100,.16);
  border-radius:50%;
  background:#163c64;
  color:#fff;
  font-size:20px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(22,60,100,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .18s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:#0f6f66;
}

@media(max-width:900px){
  .nav{
    height:62px;
    gap:8px;
  }
  .brand{
    min-width:0;
    margin-right:auto;
  }
  .brand-mark{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .actions{
    gap:6px;
  }
  .desktop-lang-wrap,
  .desktop-auth-action{
    display:none!important;
  }
  .mobile-lang-wrap,
  .mobile-menu-toggle,
  .mobile-nav-menu{
    display:flex;
  }
  .mobile-nav-menu{
    display:block;
  }
  .mobile-signin-btn{
    width:36px;
    height:36px;
    min-width:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border-radius:50%;
  }
  .header-post-btn{
    width:36px;
    height:36px;
    min-width:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border-radius:9px;
  }
  .header-post-label{
    display:none;
  }
  .header-post-icon{
    display:inline-flex;
  }
  .header-account-btn{
    width:36px;
    height:36px;
    min-width:36px;
    padding:0;
    border-radius:50%;
  }
  .header-account-label{
    display:none;
  }
  .header-account-avatar{
    margin:0;
  }
}

@media(max-width:430px){
  .wrap{padding-left:10px;padding-right:10px;}
  .nav{gap:5px;}
  .actions{gap:4px;}
  .mobile-lang-select{width:62px;height:34px;font-size:9.5px;}
  .header-post-btn{width:34px;height:34px;min-width:34px;padding:0;}
  .mobile-signin-btn{width:34px;height:34px;min-width:34px;padding:0;}
  .mobile-menu-toggle{width:34px;height:34px;flex-basis:34px;}
  .header-account-btn{width:34px;height:34px;min-width:34px;}
  .back-to-top{right:14px;bottom:16px;width:42px;height:42px;}
}


/* V0.26 mobile compact icon header
   Mobile: language code + publish icon + user/avatar + menu.
   Desktop: full localized labels remain.
*/
@media(min-width:901px){
  .header-post-label{display:inline;}
  .header-post-icon{display:none;}
}


/* V0.27 navigation category feeds */
.category-feed-page{
  max-width:900px;
}
.category-feed-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.category-feed-head h1{
  margin:0 0 8px;
  font-size:34px;
}
.category-feed-head p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}
.category-feed-head>.btn{
  flex:0 0 auto;
}
.category-feed-summary{
  margin:0 0 10px;
  color:var(--muted);
  font-size:11px;
  text-align:right;
}
.category-feed-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px;
}
.category-feed-empty strong{
  font-size:14px;
}
@media(max-width:650px){
  .category-feed-page{padding-top:34px;}
  .category-feed-head{align-items:stretch;flex-direction:column;gap:13px;}
  .category-feed-head h1{font-size:28px;}
  .category-feed-head>.btn{width:100%;}
  .category-feed-empty{align-items:stretch;flex-direction:column;}
  .category-feed-empty .btn{width:100%;}
}


/* Recommendation discovery */
.recommendation-panel,
.knowledge-discovery-panel{
  align-self:start;
}
.recommendation-person,
.recommendation-company{
  gap:10px;
}
.recommendation-name{
  display:block;
}
.recommendation-empty{
  margin:4px 0 10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.recommendation-rule,
.knowledge-discovery-rule{
  margin:12px 0 0;
  padding-top:11px;
  border-top:1px solid var(--line);
  color:#7a8494;
  font-size:10px;
  line-height:1.55;
}
.recommend-follow-control,
.company-follow-control{
  margin-left:auto;
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:3px;
}
.recommend-follow-control .follow-btn,
.company-follow-btn{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--brand);
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.recommend-follow-control .follow-btn:hover,
.company-follow-btn:hover{
  background:#f2f6fa;
}
.recommend-follow-control .follow-btn.is-following,
.company-follow-btn.is-following{
  background:#edf8f5;
  color:#087f5b;
}
.recommend-follow-control .follower-count,
.company-follower-count{
  color:#98a2b3;
  font-size:8px;
  white-space:nowrap;
}
.recommend-follow-control .follower-count strong,
.company-follower-count strong{
  color:#667085;
  font-size:9px;
}
.company-follow-form{
  margin:0;
}
.knowledge-discovery-intro{
  margin:0 0 13px;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.knowledge-discovery-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.knowledge-topic-btn{
  min-height:38px;
  padding:7px 9px;
  border:1px solid #dbe5ee;
  border-radius:10px;
  background:#f8fafc;
  color:#26415f;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background-color .15s ease;
}
.knowledge-topic-btn:hover{
  transform:translateY(-1px);
  border-color:#9cb6ca;
  background:#fff;
}
.knowledge-topic-btn:active{
  transform:scale(.98);
}
.knowledge-modal[hidden]{
  display:none !important;
}
.knowledge-modal{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:20px;
}
.knowledge-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,28,42,.48);
  backdrop-filter:blur(3px);
}
.knowledge-modal-dialog{
  position:relative;
  width:min(620px,100%);
  max-height:min(720px,88vh);
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 80px rgba(18,38,63,.24);
}
.knowledge-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.knowledge-modal-eyebrow{
  display:block;
  margin-bottom:5px;
  color:var(--brand2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.knowledge-modal-head h3{
  margin:0;
  font-size:20px;
}
.knowledge-modal-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
}
.knowledge-modal-close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:#475467;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.knowledge-modal-group{
  padding-top:6px;
}
.knowledge-recommendation-person{
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.knowledge-recommendation-person:last-child{
  border-bottom:0;
}
.knowledge-recommendation-info{
  flex:1;
  min-width:0;
}
.knowledge-recommendation-info strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.knowledge-recommendation-info small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:10px;
}
.knowledge-activity-note{
  display:inline-flex;
  margin-top:5px;
  padding:3px 6px;
  border-radius:999px;
  background:#edf8f5;
  color:#087f5b;
  font-size:8px;
  font-weight:800;
}
.knowledge-follow-control{
  margin-left:auto;
  flex:0 0 auto;
  align-items:flex-end;
  flex-direction:column;
  gap:3px;
}
.knowledge-modal-rule{
  margin:13px 0 0;
  padding:11px 12px;
  border-radius:10px;
  background:#f8fafc;
  color:#667085;
  font-size:10px;
  line-height:1.55;
}
body.knowledge-modal-open{
  overflow:hidden;
}

@media(max-width:650px){
  .knowledge-discovery-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .knowledge-modal{
    padding:10px;
    place-items:end center;
  }
  .knowledge-modal-dialog{
    width:100%;
    max-height:82vh;
    padding:18px 16px;
    border-radius:18px 18px 12px 12px;
  }
  .knowledge-recommendation-person{
    gap:9px;
  }
  .knowledge-follow-control .follower-count{
    display:none;
  }
}


/* Admin contact and support messaging */
.admin-contact-panel{
  display:grid;
  gap:12px;
}
.admin-contact-profile{
  display:flex;
  align-items:center;
  gap:11px;
}
.admin-contact-avatar{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#163c64;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}

.platform-logo-avatar{
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e8f0;
}
.platform-logo-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.admin-contact-avatar.mini{
  width:28px;
  height:28px;
  flex-basis:28px;
  font-size:9px;
}
.admin-contact-avatar-large{
  width:54px;
  height:54px;
  flex-basis:54px;
  font-size:14px;
}
.admin-contact-profile span{
  display:block;
  margin-bottom:2px;
  color:#98a2b3;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.admin-contact-profile h3{
  margin:0;
}
.admin-contact-panel>p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.6;
}
.admin-contact-btn{
  width:100%;
  min-height:38px;
  background:#f7fafc;
  border:1px solid #cddbe7;
  color:#163c64;
  font-size:11px;
  font-weight:850;
}
.admin-contact-btn:hover{
  background:#eef5fa;
}
.admin-message-page{
  display:grid;
  gap:18px;
  max-width:860px;
}
.admin-message-compose-card,
.admin-message-thread-card{
  padding:24px;
}
.admin-message-profile{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}
.admin-message-profile h1{
  margin:2px 0 5px;
  font-size:26px;
}
.admin-message-profile p,
.admin-message-thread-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.admin-message-form{
  margin-top:10px;
}
.admin-message-thread-head{
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.admin-message-thread-head h2{
  margin:0 0 4px;
  font-size:18px;
}
.admin-support-thread{
  display:grid;
  gap:10px;
  padding-top:16px;
}
.admin-support-bubble{
  width:min(82%,640px);
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#f8fafc;
}
.admin-support-bubble.is-user{
  justify-self:end;
  background:#edf6fb;
  border-color:#cfdfeb;
}
.admin-support-bubble.is-admin{
  justify-self:start;
}
.admin-support-bubble-head{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}
.admin-support-bubble-head strong{
  font-size:10px;
}
.admin-support-bubble-head time{
  margin-left:auto;
  color:#98a2b3;
  font-size:8px;
}
.admin-support-bubble p{
  margin:0;
  color:#344054;
  font-size:12px;
  line-height:1.7;
}
@media(max-width:650px){
  .admin-message-compose-card,
  .admin-message-thread-card{padding:17px;}
  .admin-support-bubble{width:92%;}
  .admin-message-profile h1{font-size:22px;}
}

/* V0.29 company-bound product catalog */
.product-catalog-page,.company-products-page,.product-category-page,.product-detail-page{padding-top:24px;padding-bottom:48px}
.product-page-hero,.company-product-hero,.category-page-head,.product-detail-card{border:1px solid #dfe7ee;border-radius:20px;background:#fff}
.product-page-hero{padding:26px 28px;margin-bottom:20px}.product-page-hero h1,.category-page-head h1{margin:5px 0 8px;font-size:28px}.product-page-hero p,.category-page-head p{margin:0;color:#617086;max-width:820px;line-height:1.7}
.company-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.company-catalog-card{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}.company-catalog-head{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px}.company-catalog-logo,.company-product-logo{display:flex;align-items:center;justify-content:center;border:1px solid #d9e4ed;background:#fff;color:#163c64;font-weight:900}.company-catalog-logo{width:48px;height:48px;border-radius:50%}.company-catalog-logo img,.company-product-logo img{width:100%;height:100%;object-fit:contain}.company-catalog-head h2{margin:0 0 4px;font-size:15px;line-height:1.35}.company-catalog-head p{margin:0;color:#64748b;font-size:11px}.company-catalog-head .verified-company-badge{grid-column:2;justify-self:start}.verified-company-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 9px;background:#eaf7f2;color:#08735d;font-size:10px;font-weight:800}.company-main-products{display:flex;flex-direction:column;gap:4px}.company-main-products span{font-size:10px;color:#748196;font-weight:700}.company-main-products strong{font-size:13px;color:#182638}.company-main-products.large strong{font-size:16px}.company-catalog-meta{display:flex;gap:12px;color:#728097;font-size:10px}.company-catalog-card>.btn{align-self:flex-start}.product-empty-state{padding:28px;text-align:center;color:#65758a}
.company-product-hero{padding:24px 26px;display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:center}.company-product-logo{width:80px;height:80px;border-radius:18px;overflow:hidden}.company-product-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.company-product-title-row h1{margin:4px 0 10px;font-size:26px}.company-product-summary{display:flex;flex-direction:column;gap:10px}.company-category-section{margin-top:24px}.product-layout-rule{margin:0 0 14px;color:#6a778c;font-size:11px}.company-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.company-category-card{display:block;overflow:hidden;text-decoration:none;color:inherit;border-radius:17px}.company-category-cover{width:100%;aspect-ratio:1/1;background:#eef3f6;overflow:hidden}.company-category-cover img,.product-thumb-image img,.product-detail-image img{width:100%;height:100%;display:block;object-fit:cover}.category-cover-placeholder{width:100%;height:100%;min-height:130px;display:flex;align-items:center;justify-content:center;background:#eef3f6;color:#48637a;font-weight:900;font-size:24px}.company-category-body{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px}.company-category-body h3{margin:0 0 3px;font-size:14px}.company-category-body span{font-size:9px;color:#77869a}.category-arrow{font-size:24px!important;color:#163c64!important}.product-breadcrumb{margin-bottom:12px}.product-breadcrumb a{font-size:11px;text-decoration:none;color:#315a7d;font-weight:750}.category-page-head{padding:22px 24px;margin-bottom:16px}.company-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-thumb-card{display:block;overflow:hidden;text-decoration:none;color:inherit;border-radius:16px}.product-thumb-image{width:100%;aspect-ratio:1/1;background:#eef3f6;overflow:hidden}.product-thumb-body{padding:12px 13px}.product-thumb-body>span{font-size:8px;color:#7c899b}.product-thumb-body h2{font-size:13px;line-height:1.35;margin:4px 0 6px}.product-thumb-body p{font-size:10px;line-height:1.55;color:#67758a;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.product-detail-card{padding:24px;display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px}.product-detail-image{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#eef3f6}.product-detail-info h1{font-size:28px;margin:6px 0 7px}.product-detail-info>p{color:#5f6f84;line-height:1.7}.product-code{font-size:10px;color:#78869a}.product-company-box{margin-top:20px;padding:15px 16px;border:1px solid #dce6ee;border-radius:14px;display:flex;flex-direction:column;gap:5px}.product-company-box strong{font-size:13px}.product-company-box span{font-size:10px;color:#6c7a8f}.product-company-box a{font-size:10px;font-weight:800;color:#174a72;text-decoration:none}.demo-product-notice{margin-top:14px;padding:10px 12px;border-radius:11px;background:#fff7e8;color:#875b0d;font-size:9px;line-height:1.55}
.product-management-page{padding-top:24px;padding-bottom:48px}.product-management-head{padding:22px 24px;margin-bottom:16px}.product-management-head h1{margin:5px 0}.product-management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.product-manage-stats{display:flex;gap:10px;flex-wrap:wrap}.product-manage-stat{padding:10px 12px;border:1px solid #dce6ee;border-radius:12px;background:#fff}.product-manage-stat span{display:block;font-size:9px;color:#758398}.product-manage-stat strong{font-size:15px}.product-manage-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}.product-manage-panel{padding:20px}.product-manage-panel h2{margin:0 0 14px}.manage-category-list,.manage-product-list{display:flex;flex-direction:column;gap:8px}.manage-category-row,.manage-product-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e1e8ee;border-radius:11px}.manage-category-row small,.manage-product-row small{display:block;color:#7a8799;margin-top:2px}.product-status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f6;color:#53687a;font-size:8px;font-weight:800}.product-status-pill.published{background:#e8f6ef;color:#08715c}.product-status-pill.pending{background:#fff3dc;color:#8a5a00}.product-manage-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e3e9ef}.product-manage-form .full{grid-column:1/-1}.product-manage-form input,.product-manage-form select,.product-manage-form textarea{width:100%;border:1px solid #d8e1e9;border-radius:9px;padding:9px 10px;font:inherit}.product-manage-form textarea{min-height:80px;resize:vertical}
@media(max-width:900px){.company-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail-card{grid-template-columns:1fr}.product-detail-image{max-width:520px}.product-manage-grid{grid-template-columns:1fr}}
@media(max-width:620px){.product-catalog-page,.company-products-page,.product-category-page,.product-detail-page{padding-top:14px}.product-page-hero,.company-product-hero,.category-page-head,.product-detail-card{border-radius:15px}.product-page-hero{padding:18px}.company-catalog-grid{grid-template-columns:1fr}.company-catalog-card{padding:16px}.company-catalog-head{grid-template-columns:44px minmax(0,1fr);gap:10px}.company-catalog-logo{width:44px;height:44px}.company-catalog-head .verified-company-badge{grid-column:2;justify-self:start}.company-product-hero{grid-template-columns:54px minmax(0,1fr);padding:16px}.company-product-logo{width:54px;height:54px;border-radius:13px}.company-product-title-row{display:block}.company-product-title-row h1{font-size:19px}.company-product-title-row .verified-company-badge{margin-top:3px}.company-category-grid{display:flex;flex-direction:column;gap:8px}.company-category-cover{display:none}.company-category-card{border-radius:12px}.company-category-body{padding:14px 15px}.company-category-body h3{font-size:13px;margin:0}.company-category-body div>span{display:none}.product-layout-rule{font-size:9px}.company-product-grid{grid-template-columns:1fr;gap:9px}.product-thumb-card{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:88px}.product-thumb-image{width:88px;height:88px;aspect-ratio:1/1}.product-thumb-body{padding:10px 11px}.product-thumb-body h2{font-size:12px}.product-thumb-body p{font-size:9px}.product-detail-card{padding:16px;gap:16px}.product-detail-info h1{font-size:21px}.product-manage-form{grid-template-columns:1fr}.product-manage-form .full{grid-column:auto}}
@media(min-width:621px){.company-category-card .company-category-body{border-bottom:1px solid #e3e9ef}.company-category-card .company-category-cover{border-radius:0 0 16px 16px}}


/* V0.30 compact company category grid */
@media(min-width:901px){
  .company-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
  }
  .company-category-card{min-width:0;}
  .company-category-body{padding:12px 13px;}
  .company-category-body h3{font-size:14px;line-height:1.3;}
  .company-category-cover{
    width:100%;
    aspect-ratio:4 / 3;
    max-height:180px;
    overflow:hidden;
  }
  .company-category-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}
@media(min-width:621px) and (max-width:900px){
  .company-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V0.30 mobile admin contact placement */
@media(max-width:900px){
  .side-stack .admin-contact-panel{order:99;}
}


/* Product detail interactions */
.product-social-actions{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e4ebf2;
}
.product-social-actions .content-actions{margin-top:0;}
.message-source-product-thumb,
.message-inbox-product-thumb{
  display:block;
  width:92px;
  height:92px;
  margin-top:10px;
  overflow:hidden;
  border:1px solid #dbe5ee;
  border-radius:12px;
  background:#f7f9fb;
}
.message-source-product-thumb img,
.message-inbox-product-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:620px){
  .product-social-actions{margin-top:14px;padding-top:12px;}
  .message-source-product-thumb,
  .message-inbox-product-thumb{width:76px;height:76px;}
}

/* V0.31 company identity + universal product upload */
.identity-company-line,
.post-author-company,
.inline-comment-company,
.private-message-company,
.recommendation-company-line,
.repost-original-company{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 2px;
  color:#315a7d;
  font-size:10px;
  line-height:1.35;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.post-author-company{font-size:10px;margin-bottom:3px}
.inline-comment-company{font-size:9px;margin-bottom:2px}
.private-message-company{font-size:9px;margin-bottom:2px}
.recommendation-company-line{font-size:9px;margin-bottom:2px}
.profile-company-line{font-size:12px;margin-bottom:4px}
.account-company-line{font-size:11px;margin-top:3px;margin-bottom:2px}
.repost-original-company{font-size:9px;margin-bottom:3px}

.company-identity-page{padding-top:24px;padding-bottom:54px}
.company-identity-head{padding:24px 26px;margin-bottom:16px}
.company-identity-head h1{margin:5px 0 8px;font-size:30px}.company-identity-head p{margin:0;color:var(--muted);line-height:1.6}
.company-identity-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.company-identity-form-card{padding:22px}.company-identity-form-card h2{margin:5px 0 7px;font-size:20px}.company-identity-form-card>p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}
.company-join-form-card{grid-column:1/-1}
.company-identity-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.company-identity-form>label{display:flex;flex-direction:column;gap:6px}.company-identity-form>label>span{font-size:10px;font-weight:800;color:#4b5d70}
.company-identity-form input,.company-identity-form select,.company-identity-form textarea{width:100%;border:1px solid #d8e1e9;border-radius:10px;padding:10px 11px;font:inherit;background:#fff}
.company-identity-form textarea{min-height:88px;resize:vertical}.company-identity-form label:has(textarea),.company-identity-form label:has(input[type=file]){grid-column:1/-1}.company-identity-form small{font-size:9px;color:#7d8998;line-height:1.5}
.company-form-pair{display:grid;grid-template-columns:110px minmax(0,1fr);gap:9px}.company-form-pair label{display:flex;flex-direction:column;gap:6px}.company-form-pair span{font-size:10px;font-weight:800;color:#4b5d70}
.current-company-identity-card{padding:24px;margin-bottom:16px;display:grid;gap:7px;justify-items:start}.current-company-name{font-size:23px;font-weight:900;color:#172b3d;text-decoration:none}.current-company-person{font-size:14px}.current-company-person span{color:#6e7c8d}.company-identity-role{padding:5px 9px;border-radius:999px;background:#eef5fa;color:#315a7d;font-size:10px;font-weight:800}
.company-application-history,.company-join-review-card{padding:22px;margin-top:16px}.company-application-list,.company-join-request-list{display:grid;gap:9px}.company-application-list article,.company-join-request{padding:12px 13px;border:1px solid #e1e8ee;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.company-application-list article>div,.company-join-request>div:first-child{display:flex;flex-direction:column;gap:3px}.company-application-list span,.company-join-request span{font-size:10px;color:#69798c}.company-application-list small,.company-join-request small{font-size:9px;color:#8a96a5}.company-application-list p{grid-column:1/-1;margin:5px 0 0;font-size:10px;color:#6d7887}.company-join-actions{display:flex;gap:6px}

.product-upload-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.product-upload-heading h2{margin:4px 0 0}.product-upload-heading p{max-width:330px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.universal-product-form{grid-template-columns:repeat(2,minmax(0,1fr))}.product-weight-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}.product-weight-fields label{display:flex;flex-direction:column;gap:6px}.product-weight-fields span,.product-upload-field>span{font-size:10px;font-weight:800;color:#4b5d70}.product-upload-field small{font-size:9px;color:#7c8998;line-height:1.5}
.product-detail-media{min-width:0}
.product-spec-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.product-spec-list>div{padding:10px 11px;border:1px solid #e0e7ed;border-radius:10px;background:#fafcfd}.product-spec-list span{display:block;font-size:9px;color:#7a8798;margin-bottom:3px}.product-spec-list strong{font-size:11px;color:#253747;line-height:1.45}.product-description-block{margin-top:14px}.product-description-block>span{display:block;font-size:9px;color:#7a8798;font-weight:800;margin-bottom:5px}.product-description-block p{margin:0!important;color:#5f6f84;line-height:1.7}
.company-members-section{margin-top:28px}.company-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.company-member-card{padding:12px;display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.company-member-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef3f6;color:#315a7d;font-weight:900}.company-member-avatar img{width:100%;height:100%;object-fit:cover}.company-member-card strong{display:block;font-size:12px}.company-member-card span{display:block;margin-top:3px;font-size:9px;color:#748196}

.admin-product-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:8px}.admin-product-gallery a{aspect-ratio:1/1;border:1px solid #dce5ec;border-radius:8px;overflow:hidden}.admin-product-gallery img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){.company-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .company-identity-page{padding-top:14px}.company-identity-head{padding:18px}.company-identity-head h1{font-size:23px}
  .company-identity-options{grid-template-columns:1fr}.company-join-form-card{grid-column:auto}.company-identity-form{grid-template-columns:1fr}.company-identity-form label:has(textarea),.company-identity-form label:has(input[type=file]){grid-column:auto}.company-form-pair{grid-template-columns:88px minmax(0,1fr)}
  .company-application-list article,.company-join-request{align-items:flex-start;flex-direction:column}.company-join-actions{width:100%}.company-join-actions form{flex:1}.company-join-actions button{width:100%}
  .product-upload-heading{display:block}.product-upload-heading p{margin-top:7px;max-width:none}.universal-product-form{grid-template-columns:1fr}.product-weight-fields{grid-template-columns:1fr 1fr}.product-detail-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.product-spec-list{grid-template-columns:1fr}.company-member-grid{grid-template-columns:1fr}
}


/* V0.31 company-above-person identity refinements */
.company-member-identity{min-width:0;display:block}
.company-member-company,
.comment-company-line{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 2px;
  color:#315a7d;
  font-size:9px;
  line-height:1.35;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.company-member-company{font-size:8.5px;margin-bottom:3px}
.company-member-name{display:block;color:#172b3d;text-decoration:none;font-size:12px;font-weight:850}
.company-member-name:hover,.company-member-company:hover,.company-join-person:hover{text-decoration:underline}
.company-join-person{color:inherit;text-decoration:none}


/* Searchable company picker */
.company-picker{position:relative}
.company-picker .js-company-picker-input{
  padding-right:38px;
}
.company-picker.has-selection .js-company-picker-input{
  border-color:#6fae9f;
  box-shadow:0 0 0 2px rgba(21,125,103,.08);
}
.company-picker-results{
  position:absolute;
  z-index:35;
  top:calc(100% - 15px);
  left:0;
  right:0;
  max-height:310px;
  overflow:auto;
  border:1px solid #d7e2ea;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 30px rgba(29,47,66,.14);
}
.company-picker-option{
  width:100%;
  display:block;
  padding:11px 12px;
  border:0;
  border-bottom:1px solid #edf1f4;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.company-picker-option:last-child{border-bottom:0}
.company-picker-option:hover,
.company-picker-option:focus{
  background:#f5f9fb;
  outline:none;
}
.company-picker-option-name{
  display:block;
  color:#172b3d;
  font-size:12px;
  font-weight:850;
}
.company-picker-option-meta{
  display:block;
  margin-top:3px;
  color:#718096;
  font-size:9px;
  line-height:1.45;
}
.company-picker-empty{
  padding:13px;
  color:#77869a;
  font-size:10px;
}
.company-picker-help{
  display:block;
  margin-top:5px;
  color:#7a8799;
  font-size:9px;
}
@media(max-width:620px){
  .company-picker-results{
    max-height:250px;
  }
}


/* V0.32 Account collapsible messages / saved / history */
.platform-admin-name{
  color:#c62828!important;
  font-weight:900!important;
}
.admin-contact-profile .platform-admin-name{
  font-size:15px;
}

.account-unread-total{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fff1f0;
  border:1px solid #ffc9c5;
  color:#c62828;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.private-message-collapsible-list{
  gap:9px;
}
.private-message-details{
  padding:0;
  border:1px solid #e2e8ee;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.private-message-details:last-child{
  border-bottom:1px solid #e2e8ee;
}
.private-message-details.is-unread{
  border-color:#f0b7b2;
  box-shadow:inset 3px 0 0 #d8443e;
}
.private-message-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  cursor:pointer;
  user-select:none;
}
.private-message-summary::-webkit-details-marker{display:none}
.private-message-summary::marker{display:none;content:""}
.private-message-summary-main{
  min-width:0;
  flex:1;
}
.private-message-summary .private-message-author{
  min-width:0;
}
.private-message-summary .private-message-author-text{
  min-width:0;
}
.private-message-summary-text{
  margin:5px 0 0 47px;
  color:#667085;
  font-size:10px;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.private-message-summary-status{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
}
.message-read-status{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
}
.message-read-status.unread{
  background:#fff0ef;
  color:#c62828;
}
.message-read-status.read{
  background:#f1f4f7;
  color:#758398;
}
.private-message-chevron{
  color:#738195;
  font-size:17px;
  font-weight:900;
  transition:transform .18s ease;
}
.private-message-details[open] .private-message-chevron{
  transform:rotate(180deg);
}
.private-message-detail{
  padding:0 14px 14px;
  border-top:1px solid #edf1f4;
}
.private-message-detail .private-message-source,
.private-message-detail .private-message-body,
.private-message-detail .private-message-actions,
.private-message-detail .private-message-attachments{
  margin-left:0;
}
.admin-reply-quote{
  margin-top:12px;
  padding:10px 12px;
  border-left:3px solid #e6a8a3;
  border-radius:0 9px 9px 0;
  background:#fff7f6;
}
.admin-reply-quote>span{
  display:block;
  margin-bottom:5px;
  color:#b42318;
  font-size:9px;
  font-weight:900;
}
.admin-reply-quote blockquote{
  margin:0;
  color:#5d6876;
  font-size:10px;
  line-height:1.6;
}

.account-fold-section{
  padding:0!important;
  overflow:hidden;
}
.account-fold-summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  margin:0!important;
  padding:20px!important;
}
.account-fold-summary::-webkit-details-marker{display:none}
.account-fold-summary::marker{display:none;content:""}
.account-fold-summary-side{
  display:flex;
  align-items:center;
  gap:10px;
}
.account-fold-count{
  min-width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f1f5f8;
  color:#617185;
  font-size:9px;
  font-weight:900;
}
.account-fold-chevron{
  color:#65758a;
  font-size:18px;
  font-weight:900;
  transition:transform .18s ease;
}
.account-fold-section[open] .account-fold-chevron{
  transform:rotate(180deg);
}
.account-fold-content{
  padding:0 20px 20px;
  border-top:1px solid #edf1f4;
}
.account-fold-toolbar{
  display:flex;
  justify-content:flex-end;
  padding:12px 0 0;
}

@media(max-width:620px){
  .private-message-summary{
    padding:11px;
    gap:8px;
  }
  .private-message-summary-text{
    margin-left:0;
    margin-top:6px;
  }
  .private-message-summary-status{
    gap:5px;
  }
  .message-read-status{
    padding:4px 6px;
  }
  .private-message-detail{
    padding:0 11px 12px;
  }
  .account-fold-summary{
    padding:16px!important;
  }
  .account-fold-content{
    padding:0 16px 16px;
  }
}


/* V0.32 desktop sticky right sidebar */
@media(min-width:901px){
  .layout > .side-stack{
    position:sticky;
    top:18px;
    align-self:start;
    height:max-content;
    max-height:calc(100vh - 36px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
}


/* V0.32 desktop sticky right rail */
@media(min-width:901px){
  .layout > .side-stack{
    position:sticky;
    top:18px;
    align-self:start;
    max-height:calc(100vh - 36px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
}


/* Approved company identity: green */
.identity-company-line,
.account-company-line,
.profile-company-line,
.post-author-company,
.inline-comment-company,
.comment-company-line,
.recommendation-company-line,
.private-message-company,
.message-recipient-company,
.repost-original-company,
.company-member-company,
.current-company-name{
  color:#0b8f68!important;
  font-weight:850!important;
  text-decoration:none;
}
.identity-company-line:hover,
.account-company-line:hover,
.profile-company-line:hover,
.post-author-company:hover,
.inline-comment-company:hover,
.comment-company-line:hover,
.recommendation-company-line:hover,
.private-message-company:hover,
.message-recipient-company:hover,
.repost-original-company:hover,
.company-member-company:hover,
.current-company-name:hover{
  color:#08745a!important;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Company identity review notifications */
.company-system-notifications{overflow:hidden}
.company-notification-list{display:grid;gap:10px}
.company-notification-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  padding:14px;
  border:1px solid #e1e8ee;
  border-radius:12px;
  background:#fff;
}
.company-notification-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  font-size:16px;font-weight:900;
}
.company-notification-item.approved{border-color:#b9e6d7;background:#f4fbf8}
.company-notification-item.approved .company-notification-icon{background:#dff5ec;color:#08745a}
.company-notification-item.rejected{border-color:#f3c6c2;background:#fff8f7}
.company-notification-item.rejected .company-notification-icon{background:#fee7e5;color:#b42318}
.company-notification-item.needs_info{border-color:#f4d79c;background:#fffaf0}
.company-notification-item.needs_info .company-notification-icon{background:#fff0c7;color:#9a6700}
.company-notification-main strong{display:block;color:#172b3d;font-size:13px}
.company-notification-main>p{margin:4px 0 0;color:#526274;font-size:11px;line-height:1.6}
.company-notification-main>small{display:block;margin-top:9px;color:#8a96a6;font-size:9px}
.company-notification-reason{
  margin-top:10px;
  padding:10px 11px;
  border-left:3px solid #d9544d;
  border-radius:0 9px 9px 0;
  background:rgba(255,255,255,.75);
}
.company-notification-item.needs_info .company-notification-reason{border-left-color:#c78a19}
.company-notification-reason span{display:block;margin-bottom:4px;color:#b42318;font-size:9px;font-weight:900}
.company-notification-item.needs_info .company-notification-reason span{color:#9a6700}
.company-notification-reason p{margin:0;color:#4d5a69;font-size:10px;line-height:1.6}
.company-notification-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:10px}
.company-appeal-details>summary{list-style:none;cursor:pointer}
.company-appeal-details>summary::-webkit-details-marker{display:none}
.company-appeal-form{
  width:min(430px,80vw);
  margin-top:8px;padding:12px;
  border:1px solid #e2e8ee;border-radius:11px;
  background:#fff;box-shadow:0 12px 26px rgba(18,38,63,.10);
}
.company-appeal-form label{display:grid;gap:6px}
.company-appeal-form label span{font-size:10px;font-weight:850}
.company-appeal-form textarea{
  width:100%;min-height:110px;resize:vertical;
  padding:10px;border:1px solid #d7e0e8;border-radius:9px;
  font:inherit;font-size:11px;
}
.company-appeal-form .btn{margin-top:9px}
.company-reapply-banner{display:flex;gap:8px;flex-wrap:wrap}
.company-join-reject-form{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.company-join-reject-form input{
  min-width:190px;
  height:36px;
  padding:0 9px;
  border:1px solid #e1c1bd;
  border-radius:9px;
  font:inherit;
  font-size:10px;
}
@media(max-width:620px){
  .company-notification-item{grid-template-columns:32px minmax(0,1fr);padding:11px}
  .company-notification-icon{width:32px;height:32px}
  .company-join-reject-form input{width:100%;min-width:0}
}


/* Product ownership permissions */
.product-company-ownership-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:wrap;
}
.product-company-ownership-note strong,
.product-upload-account-card .account-eyebrow{
  color:#0b8f68;
}
.product-category-member-note{
  margin-top:12px;
  padding:10px 11px;
  border-radius:9px;
  background:#f5f8fa;
  color:#68788b;
  font-size:10px;
  line-height:1.55;
}


/* V0.34 company above personal name: two-line identity */
.post-author-identity{
  display:grid;
  grid-template-columns:minmax(0,auto) auto;
  align-items:center;
  column-gap:4px;
  row-gap:1px;
  min-width:0;
}
.post-author-company{
  grid-column:1 / -1;
  grid-row:1;
  margin:0 0 2px;
}
.post-author-name{
  grid-column:1;
  grid-row:2;
  min-width:0;
}
.post-author-member{
  grid-column:2;
  grid-row:2;
}
@media(max-width:680px){
  .post-author-identity{
    display:grid;
    grid-template-columns:minmax(0,auto) auto;
    align-items:center;
    column-gap:4px;
    row-gap:1px;
  }
  .post-author-company{grid-column:1 / -1;grid-row:1;}
  .post-author-name{grid-column:1;grid-row:2;}
  .post-author-member{grid-column:2;grid-row:2;}
}


.company-notification-item.cancelled{
  border-color:#d7dce3;
  background:#f7f8fa;
}
.company-notification-item.cancelled .company-notification-icon{
  background:#e9edf2;
  color:#475467;
}

/* Company directory and company profile are intentionally distinct from Product Catalog */
.company-directory-page,.company-profile-page{padding-top:24px;padding-bottom:54px}
.company-directory-hero{border-left:4px solid #0b8f68}
.company-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:18px}
.company-directory-card{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.company-directory-name{min-width:0;flex:1}.company-directory-name h2{font-size:15px;line-height:1.3;margin:0 0 4px}.company-directory-name p{margin:0;color:var(--muted);font-size:10px}
.company-directory-meta{display:flex;gap:14px;color:#718096;font-size:10px}.company-directory-card>.btn{align-self:flex-start;margin-top:auto}
.company-profile-hero{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;padding:24px;border:1px solid #dfe7ee;border-radius:20px;background:#fff}
.company-profile-logo{width:84px;height:84px;border-radius:18px;border:1px solid #dbe5ec;overflow:hidden;display:grid;place-items:center;background:#f4f7f9;color:#16466d;font-size:22px;font-weight:900}.company-profile-logo img{width:100%;height:100%;object-fit:cover}
.company-profile-summary{min-width:0}.company-profile-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.company-profile-title-row h1{margin:4px 0 4px;font-size:28px}.company-profile-title-row p{margin:0;color:var(--muted);font-size:11px}
.company-profile-description{max-width:900px;color:#5f6e80;line-height:1.7;font-size:11px}.company-profile-meta{display:flex;gap:14px;margin-top:10px;color:#758397;font-size:10px}.company-profile-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.company-contact-card{margin-top:16px;padding:20px}.company-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-contact-grid>div{padding:11px 12px;border:1px solid #e2e8ee;border-radius:11px;background:#fafcfd}.company-contact-grid span{display:block;margin-bottom:4px;color:#7a8798;font-size:9px;font-weight:850}.company-contact-grid a{color:#244d72;font-size:11px;word-break:break-all}
.company-document-section{margin-top:28px}.company-document-section .section-head>div>p{margin:4px 0 0;color:#7c8795;font-size:9px}.company-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.business-license-grid{grid-template-columns:minmax(220px,300px)}
.company-document-card{padding:12px;min-width:0}.company-document-card h3{margin:0 0 9px;font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-document-thumb{position:relative;width:100%;aspect-ratio:3/4;padding:0;border:0;border-radius:11px;overflow:hidden;background:#eef3f6;cursor:zoom-in;display:block}.company-document-thumb img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.company-document-watermark{position:absolute;left:0;right:0;bottom:0;padding:8px 7px;background:rgba(255,255,255,.86);color:#b42318;font-size:8px;line-height:1.35;font-weight:900;text-align:center;pointer-events:none}.company-document-view-label{position:absolute;right:8px;top:8px;padding:4px 7px;border-radius:999px;background:rgba(15,55,83,.86);color:#fff;font-size:8px;font-weight:850;pointer-events:none}
.company-document-modal[hidden]{display:none}.company-document-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}.company-document-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(12,23,34,.74);cursor:default}.company-document-modal-dialog{position:relative;z-index:1;width:min(900px,94vw);max-height:92vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.32)}
.company-document-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8ee}.company-document-modal-head strong{font-size:13px}.company-document-modal-head button{width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f7;font-size:23px;cursor:pointer}.company-document-modal-image{position:relative;height:min(78vh,900px);display:grid;place-items:center;overflow:auto;background:#eef2f5}.company-document-modal-image img{max-width:100%;max-height:none;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}.company-document-modal-watermark{position:sticky;left:0;right:0;bottom:0;width:100%;padding:10px 14px;background:rgba(255,255,255,.9);color:#b42318;font-size:11px;font-weight:900;text-align:center;pointer-events:none}body.company-document-modal-open{overflow:hidden}
.company-document-management-card{padding:20px;margin-top:16px}.company-document-management-card .section-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.company-document-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-document-upload-form{padding:14px;border:1px solid #e0e7ed;border-radius:12px;background:#fafcfd;display:grid;gap:9px}.company-document-upload-form>strong{font-size:13px}.company-document-upload-form label{display:grid;gap:5px}.company-document-upload-form label>span{font-size:9px;font-weight:850;color:#536577}.company-document-upload-form input{width:100%;border:1px solid #d8e1e9;border-radius:9px;padding:9px 10px;font:inherit;background:#fff}.company-document-upload-form small{font-size:8.5px;color:#7b8796;line-height:1.5}.company-document-upload-form .btn{justify-self:start}
.company-document-manage-list{display:grid;gap:8px;margin-top:14px}.company-document-manage-list article{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid #e2e8ee;border-radius:10px}.company-document-manage-thumb{width:58px;height:72px;padding:0;border:0;border-radius:7px;overflow:hidden;background:#eef2f5;cursor:zoom-in}.company-document-manage-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}.company-document-manage-list strong{display:block;font-size:11px}.company-document-manage-list span,.company-document-manage-list small{display:block;margin-top:2px;color:#718095;font-size:9px}.company-product-profile-link{margin-top:12px}
@media(max-width:1000px){.company-document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.company-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.company-directory-page,.company-profile-page{padding-top:14px}.company-directory-grid{grid-template-columns:1fr}.company-profile-hero{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:16px}.company-profile-logo{width:58px;height:58px;border-radius:14px;font-size:17px}.company-profile-title-row{display:block}.company-profile-title-row h1{font-size:21px}.company-profile-title-row .verified-company-badge{display:inline-flex;margin-top:7px}.company-contact-grid{grid-template-columns:1fr}.company-document-grid,.business-license-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-document-upload-grid{grid-template-columns:1fr}.company-document-modal{padding:10px}.company-document-modal-image{height:78vh}}


/* Company homepage management */
.current-company-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.company-homepage-management-card{padding:20px;margin-top:16px}
.company-homepage-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.company-homepage-management-head h2{margin:4px 0 3px}
.company-homepage-management-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.company-homepage-form{margin-top:14px}
.company-homepage-logo-editor{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:14px;padding:13px;border:1px solid #e0e7ed;border-radius:12px;background:#fafcfd}
.company-homepage-logo-preview{width:78px;height:78px;display:grid;place-items:center;overflow:hidden;border:1px solid #d8e2ea;border-radius:17px;background:#fff;color:#16466d;font-size:20px;font-weight:900}.company-homepage-logo-preview img{width:100%;height:100%;object-fit:cover}
.company-homepage-logo-editor label{display:grid;gap:6px}.company-homepage-logo-editor label>span{font-size:10px;font-weight:850}.company-homepage-logo-editor input{width:100%;padding:9px;border:1px solid #d8e1e9;border-radius:9px;background:#fff}.company-homepage-logo-editor small{font-size:9px;color:#778597}
.company-homepage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-homepage-fields label{display:grid;gap:5px}.company-homepage-fields label.full{grid-column:1/-1}.company-homepage-fields label>span{font-size:9px;font-weight:850;color:#536577}.company-homepage-fields input,.company-homepage-fields select,.company-homepage-fields textarea{width:100%;padding:10px 11px;border:1px solid #d8e1e9;border-radius:9px;background:#fff;font:inherit;color:#172b3d}.company-homepage-fields input:disabled{background:#f2f5f7;color:#697789}.company-homepage-fields textarea{min-height:120px;resize:vertical}.company-homepage-fields small{font-size:8.5px;color:#7c8898;line-height:1.5}
.company-homepage-form-actions{display:flex;justify-content:flex-end;margin-top:13px}
.company-homepage-documents-note{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding:11px 12px;border-radius:10px;background:#f3f8f6;color:#526476;font-size:10px;line-height:1.55}.company-homepage-documents-note strong{color:#0b8f68}
.company-homepage-member-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;margin-top:16px}.company-homepage-member-note h2{margin:4px 0}.company-homepage-member-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
@media(max-width:620px){.company-homepage-management-card{padding:16px}.company-homepage-management-head,.company-homepage-member-note{display:block}.company-homepage-management-head>.btn,.company-homepage-member-note>.btn{margin-top:10px}.company-homepage-logo-editor{grid-template-columns:58px minmax(0,1fr)}.company-homepage-logo-preview{width:58px;height:58px;border-radius:14px;font-size:16px}.company-homepage-fields{grid-template-columns:1fr}.company-homepage-fields label.full{grid-column:auto}.company-homepage-form-actions{justify-content:stretch}.company-homepage-form-actions .btn{width:100%;justify-content:center}}


/* V0.36 company profile compact grids */
.company-document-grid,
.company-document-grid-compact,
.business-license-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,180px));
  gap:12px;
  justify-content:start;
  align-items:start;
}
.company-document-card{
  width:100%;
  max-width:180px;
  padding:9px;
}
.company-document-card h3{
  margin:0 0 7px;
  font-size:10px;
  line-height:1.35;
}
.company-document-thumb{
  width:100%;
  aspect-ratio:4/3;
  border-radius:9px;
  background:#f3f6f8;
}
.company-document-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.company-document-watermark{
  padding:5px 4px;
  font-size:6.5px;
  line-height:1.2;
}
.company-document-view-label{
  right:5px;
  top:5px;
  padding:3px 5px;
  font-size:7px;
}
.company-member-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.company-country-field select{
  width:100%;
}
.company-country-field small strong{
  color:#0b8f68;
}
.company-description-limit{
  display:flex;
  align-items:center;
  gap:4px;
  justify-content:flex-end;
}
.company-description-limit strong{
  color:#0b8f68;
}
@media(max-width:760px){
  .company-document-grid,
  .company-document-grid-compact,
  .business-license-grid{
    grid-template-columns:repeat(2,minmax(0,180px));
  }
  .company-member-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:440px){
  .company-document-grid,
  .company-document-grid-compact,
  .business-license-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .company-document-card{
    max-width:none;
  }
  .company-member-grid{
    grid-template-columns:1fr;
  }
}


/* Recommended company detail links */
.recommendation-company-link{
  color:inherit;
  text-decoration:none;
}
.recommendation-company-name{
  display:inline-block;
  max-width:100%;
}
.recommendation-company-name:hover strong{
  color:#0b8f68;
}
.recommendation-company .company-avatar.recommendation-company-link:hover{
  border-color:#8bbfae;
  box-shadow:0 0 0 3px rgba(11,143,104,.08);
}


/* V0.36 platform notices and reports */
.platform-notice-list{display:grid;gap:9px}
.platform-notice-item{padding:12px;border:1px solid #e1e8ee;border-radius:11px;background:#fff}
.platform-notice-item strong{display:block;color:#172b3d;font-size:12px}
.platform-notice-item p{margin:5px 0 0;color:#536476;font-size:10px;line-height:1.65}
.platform-notice-item small{display:block;margin-top:7px;color:#8a96a6;font-size:9px}
.feed-report-link{margin-left:10px;color:#8c5b55;font-size:10px;font-weight:750;text-decoration:none}
.feed-report-link:hover{text-decoration:underline}
.report-page{max-width:850px}
.report-card{padding:24px}
.report-card h1{margin:6px 0}
.report-target-preview{margin:16px 0;padding:13px;border-radius:11px;background:#f5f8fa}
.report-target-preview p{margin:6px 0 0;color:#607085;line-height:1.6}
.report-form{display:grid;gap:12px}
.report-form label{display:grid;gap:6px;font-size:11px;font-weight:800}
.report-form select,.report-form textarea{width:100%;padding:10px;border:1px solid #d6e0e8;border-radius:9px;font:inherit}
.report-form textarea{min-height:110px;resize:vertical}

.type-pill-pinned{background:#fff6dc!important;color:#8a5a00!important;border:1px solid #f1d48b!important}


/* V0.36 platform notices collapsible/read state */
.platform-notice-head-status{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff4e6;
  color:#9a5a00;
  font-size:9px;
  font-weight:850;
}
.platform-notice-head-status strong{
  font-size:11px;
}
.platform-notice-list{
  display:grid;
  gap:8px;
}
.platform-notice-item{
  padding:0;
  overflow:hidden;
  border:1px solid #e1e8ee;
  border-radius:11px;
  background:#fff;
}
.platform-notice-item.unread{
  border-color:#f0b968;
  box-shadow:inset 3px 0 0 #d98b1f;
  background:#fffaf3;
}
.platform-notice-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  cursor:pointer;
  list-style:none;
}
.platform-notice-summary::-webkit-details-marker{display:none}
.platform-notice-summary-main{min-width:0}
.platform-notice-summary-main strong{
  display:block;
  color:#172b3d;
  font-size:11px;
  line-height:1.4;
}
.platform-notice-summary-main span{
  display:block;
  margin-top:3px;
  color:#8a96a6;
  font-size:9px;
}
.platform-notice-read-state{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.platform-notice-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
}
.platform-notice-item.unread .unread-state{
  background:#fff0d8;
  color:#a45c00;
}
.platform-notice-item.unread .read-state{display:none}
.platform-notice-item.read .unread-state{display:none}
.platform-notice-item.read .read-state{
  background:#eaf6f0;
  color:#08745a;
}
.platform-notice-chevron{
  color:#718096;
  font-size:14px;
  transition:transform .16s ease;
}
.platform-notice-item[open] .platform-notice-chevron{
  transform:rotate(180deg);
}
.platform-notice-content{
  padding:0 12px 12px;
  border-top:1px solid #edf1f4;
}
.platform-notice-content p{
  margin:10px 0 0;
  color:#536476;
  font-size:10px;
  line-height:1.65;
}
.platform-notice-content small{
  display:block;
  margin-top:7px;
  color:#8a96a6;
  font-size:9px;
}
@media(max-width:620px){
  .platform-notice-summary{
    align-items:flex-start;
  }
  .platform-notice-read-state{
    margin-top:1px;
  }
}


/* Product detail interactive gallery */
.product-detail-main-stage{
  position:relative;
  --product-zoom-x:50%;
  --product-zoom-y:50%;
}
.product-detail-main-stage>img{
  transform-origin:var(--product-zoom-x) var(--product-zoom-y);
  transition:transform .16s ease;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  .product-detail-main-stage{
    cursor:zoom-in;
  }
  .product-detail-main-stage.is-zoomed>img{
    transform:scale(2.15);
  }
}
.product-mobile-image-open{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
}
@media(hover:hover) and (pointer:fine){
  .product-mobile-image-open{display:none}
}
.product-detail-gallery{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.product-detail-thumb{
  position:relative;
  aspect-ratio:1/1;
  padding:0;
  border:1px solid #e0e7ed;
  border-radius:8px;
  overflow:hidden;
  background:#f3f6f8;
  cursor:pointer;
}
.product-detail-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-detail-thumb.active{
  border-color:#174a72;
  box-shadow:0 0 0 2px rgba(23,74,114,.13);
}
.product-image-viewer[hidden]{display:none!important}
.product-image-viewer{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
}
.product-image-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,18,28,.92);
}
.product-image-viewer-dialog{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.product-image-viewer-close{
  position:absolute;
  z-index:4;
  top:max(16px,env(safe-area-inset-top));
  right:16px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#172b3d;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 26px rgba(0,0,0,.24);
}
.product-image-viewer-canvas{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.product-image-viewer-canvas img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transform-origin:center center;
  will-change:transform;
  user-select:none;
  -webkit-user-drag:none;
}
.product-image-viewer-help{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:max(22px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#31465a;
  font-size:10px;
  white-space:nowrap;
}
html.product-viewer-open,
html.product-viewer-open body{
  overflow:hidden;
}
.product-message-source .message-product-context-label{
  display:block;
  margin:4px 0 0;
  color:#0b806b;
  font-size:10px;
  font-weight:850;
}

@media(max-width:620px){
  .product-detail-gallery{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .product-detail-thumb{
    border-radius:9px;
  }
  .product-mobile-image-open{
    display:block;
  }
}


/* Standardized profile phone and WhatsApp */
.profile-phone-input{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:stretch;
}
.profile-dial-prefix{
  min-width:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid #d7e0e8;
  border-right:0;
  border-radius:9px 0 0 9px;
  background:#f4f7f9;
  color:#183a56;
  font-weight:850;
}
.profile-phone-input .input{
  border-radius:0 9px 9px 0;
}
.profile-contact-public a{
  color:inherit;
  text-decoration:none;
}
.profile-contact-public a:hover{
  text-decoration:underline;
}


/* Publication image popup viewer */
.publication-image-open{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  appearance:none;
  cursor:zoom-in;
  text-align:inherit;
}
.publication-image-open img{
  pointer-events:none;
}
.publication-image-viewer[hidden]{
  display:none!important;
}
.publication-image-viewer{
  position:fixed;
  inset:0;
  z-index:10060;
  display:grid;
  place-items:center;
}
.publication-image-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,18,28,.92);
}
.publication-image-viewer-dialog{
  position:relative;
  z-index:1;
  width:min(94vw,1400px);
  height:min(94vh,1000px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.publication-image-viewer-canvas{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.publication-image-viewer-canvas img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.publication-image-viewer-close{
  position:fixed;
  z-index:3;
  top:max(16px,env(safe-area-inset-top));
  right:16px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#172b3d;
  font-size:31px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
html.publication-image-viewer-open,
html.publication-image-viewer-open body{
  overflow:hidden;
}


/* Standardized company country selector */
.company-country-standardized input[readonly]{
  background:#f3f6f8;
  color:#536476;
  cursor:not-allowed;
}
.company-country-standardized small{
  display:block;
  margin-top:5px;
  color:#758396;
  font-size:9px;
  line-height:1.45;
}


/* Clickable publication category pills */
a.type-pill-link{
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}
a.type-pill-link:hover{
  transform:translateY(-1px);
  filter:brightness(.97);
  box-shadow:0 2px 7px rgba(16,42,67,.10);
}
a.type-pill-link:active{
  transform:scale(.97);
}
.repost-source-category{
  margin:0 0 7px;
}
.repost-source-category .type-pill{
  margin:0;
}
a.publication-type-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
a.publication-type-link:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Company homepage country row alignment */
.company-country-homepage-row{
  grid-template-columns:110px minmax(0,1fr);
  align-items:start;
}
.company-country-homepage-row>label{
  display:grid;
  grid-template-rows:auto 42px auto;
  align-items:start;
  gap:5px;
  min-width:0;
}
.company-country-homepage-row>label>input{
  height:42px;
  min-height:42px;
  box-sizing:border-box;
}
@media(max-width:620px){
  .company-country-homepage-row{
    grid-template-columns:88px minmax(0,1fr);
  }
}


/* Advertising creative upload previews */
.advertise-creative-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:12px;
}
.advertise-creative-upload{
  display:grid;
  gap:7px;
}
.advertise-creative-preview{
  position:relative;
  overflow:hidden;
  border:1px solid #dbe4ea;
  border-radius:11px;
  background:#eef3f6;
}
.advertise-creative-preview>span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#8391a1;
  font-size:11px;
  pointer-events:none;
}
.advertise-creative-preview img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
}
.advertise-hero-preview{
  height:132px;
}
.advertise-hero-preview img{
  object-fit:cover;
  object-position:center;
}
.advertise-logo-preview{
  width:132px;
  height:132px;
  justify-self:start;
}
.advertise-logo-preview img{
  object-fit:contain;
  object-position:center;
  padding:10px;
  box-sizing:border-box;
  background:#fff;
}
@media(max-width:620px){
  .advertise-creative-grid{grid-template-columns:1fr}
  .advertise-hero-preview{height:150px}
}

/* Sponsored frontend media dimensions are fixed regardless of uploaded source size. */
.hero-grid>.hero-ad-card .sponsored-company-media{
  height:190px;
  min-height:190px;
  max-height:190px;
}
.hero-grid>.hero-ad-card .sponsored-company-media>img{
  width:100%;
  height:190px;
  min-height:190px;
  max-height:190px;
  object-fit:cover;
  object-position:center;
}
.hero-grid>.hero-ad-card .sponsored-company-logo{
  width:58px;
  min-width:58px;
  max-width:58px;
  height:58px;
  min-height:58px;
  max-height:58px;
  object-fit:contain;
  object-position:center;
}
@media(max-width:900px){
  .hero-grid>.hero-ad-card .sponsored-company-media,
  .hero-grid>.hero-ad-card .sponsored-company-media>img{
    height:260px;
    min-height:260px;
    max-height:260px;
  }
}
@media(max-width:600px){
  .hero-grid>.hero-ad-card .sponsored-company-media,
  .hero-grid>.hero-ad-card .sponsored-company-media>img{
    height:210px;
    min-height:210px;
    max-height:210px;
  }
}


/* Account dashboard grouped two-column layout */
.account-dashboard-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
  margin-top:18px;
}
.account-dashboard-column{
  min-width:0;
  display:grid;
  gap:16px;
  align-content:start;
}
.account-dashboard-group-head{
  padding:4px 4px 2px;
}
.account-dashboard-group-head h2{
  margin:3px 0 4px;
  font-size:20px;
  line-height:1.25;
  color:#15293b;
}
.account-dashboard-group-head p{
  margin:0;
  color:#708095;
  font-size:12px;
  line-height:1.55;
}
.account-dashboard-column>.account-next-card,
.account-dashboard-column>.account-publication-card,
.account-dashboard-column>details.account-publication-card{
  margin:0;
}
.account-dashboard-column .account-profile-cta{
  min-height:0;
}
.account-dashboard-column .account-publication-card{
  min-width:0;
}
@media(max-width:980px){
  .account-dashboard-columns{
    grid-template-columns:1fr;
  }
  .account-dashboard-column-activity{
    margin-top:2px;
  }
}


/* Public profile publication browser */
.profile-publications-section{
  margin-top:18px;
  padding:20px;
  border:1px solid #e0e6ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,42,67,.04);
}
.profile-publications-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.profile-publications-head h2{
  margin:4px 0 6px;
  font-size:20px;
}
.profile-publications-head p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.65;
}
.profile-publications-head>strong{
  white-space:nowrap;
  font-size:11px;
  color:#667085;
}
.profile-publication-tabs{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e7ecf1;
}
.profile-publication-tabs a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #dce4eb;
  border-radius:9px;
  background:#fff;
  color:#405166;
  text-decoration:none;
  font-size:10px;
  font-weight:750;
}
.profile-publication-tabs a strong{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#eef3f7;
  color:#637286;
  font-size:9px;
}
.profile-publication-tabs a.active{
  border-color:#0d755e;
  background:#eef8f5;
  color:#0d755e;
}
.profile-publication-tabs a.active strong{
  background:#d9f0e9;
  color:#0d755e;
}
.profile-publication-feed{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.profile-publication-card{
  margin:0;
}
.profile-publications-empty{
  padding:34px 16px;
  text-align:center;
  color:#8391a1;
  font-size:11px;
}
.profile-publication-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:18px;
}
.profile-publication-pagination span{
  color:#667085;
  font-size:10px;
}
@media(max-width:620px){
  .profile-publications-section{padding:14px}
  .profile-publications-head{display:block}
  .profile-publications-head>strong{display:block;margin-top:8px}
  .profile-publication-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-publication-tabs a{justify-content:space-between}
}


/* ==========================================================
   Quora-scale readable typography
   Approximate reading scale: body 15–16px, generous line-height.
   Keep the existing Textile Alliance font family/design language.
   ========================================================== */
:root{
  --ta-font-body:16px;
  --ta-font-card:15px;
  --ta-font-ui:14px;
  --ta-font-meta:13px;
  --ta-line-body:1.7;
  --ta-line-ui:1.5;
}

body{
  font-size:var(--ta-font-body);
  line-height:var(--ta-line-body);
}

/* Navigation / buttons / compact UI */
.links{
  font-size:15px;
}
.btn,
.select,
.chip,
button,
input[type="button"],
input[type="submit"],
input[type="reset"]{
  font-size:14px;
}
.mobile-nav-links a,
.mobile-nav-account a{
  font-size:14px;
  line-height:1.4;
}

/* Inputs: readable on desktop and prevent mobile browser auto-zoom. */
input,
select,
textarea,
.input{
  font-size:15px;
  line-height:1.45;
}

/* General reading text */
main p,
.page-card p,
.lead,
.feed-item p,
.profile-about,
.product-detail-info>p,
.company-profile-description{
  font-size:16px;
  line-height:1.7;
}

/* Feed / publication reading hierarchy */
.feed-item h3{
  font-size:18px;
  line-height:1.45;
}
.post-author-name{
  font-size:15px;
}
.post-author-company,
.inline-comment-company,
.private-message-company,
.recommendation-company-line,
.repost-original-company{
  font-size:13px;
}
.post-author-member,
.publication-author-meta,
.publication-feed-meta,
.feed-report-link{
  font-size:13px;
}
.type-pill,
.publication-type,
.publication-status,
.product-status-pill,
.verified-company-badge{
  font-size:13px;
  line-height:1.3;
}

/* Global secondary/help text should remain readable. */
small,
.field-help,
.account-form label>span,
.profile-file-field>span,
.profile-form-grid label>span,
.profile-block-field>span,
.profile-contact-row label>span,
.company-identity-form>label>span,
.company-form-pair span,
.company-identity-form small,
.company-homepage-fields label>span,
.company-homepage-fields small,
.company-homepage-logo-editor label>span,
.company-homepage-logo-editor small,
.company-document-upload-form label>span,
.company-document-upload-form small,
.company-main-products span,
.company-catalog-meta,
.company-directory-meta,
.company-contact-grid span,
.company-document-section .section-head>div>p,
.product-layout-rule,
.product-breadcrumb a,
.product-code,
.product-company-box span,
.product-company-box a,
.product-manage-stat span,
.company-notification-main>small,
.company-notification-reason span,
.platform-notice-item small{
  font-size:13px!important;
  line-height:1.5;
}

/* Common card/body descriptions */
.account-auth-intro p,
.account-profile-head p,
.account-status-card p,
.account-next-card p,
.account-publication-head p,
.profile-section-title p,
.profile-headline,
.profile-meta-line,
.profile-timeline-item span,
.profile-timeline-item small,
.profile-timeline-item p,
.profile-language-list span,
.company-identity-form-card>p,
.company-directory-name p,
.company-profile-title-row p,
.company-homepage-management-head p,
.company-homepage-documents-note,
.company-homepage-member-note p,
.company-notification-main>p,
.company-notification-reason p,
.platform-notice-item p,
.product-thumb-body p,
.demo-product-notice{
  font-size:14px!important;
  line-height:1.6;
}

/* Form labels and account/profile UI */
.account-info-card>span,
.account-info-card>small,
.profile-save-bar span,
.report-form label,
.company-appeal-form label span{
  font-size:13px!important;
}
.account-info-card>strong,
.profile-timeline-item strong,
.profile-language-list strong,
.company-main-products strong,
.product-company-box strong,
.company-document-upload-form>strong,
.company-document-manage-list strong{
  font-size:15px;
}

/* Company and product catalogue */
.company-catalog-head h2,
.company-directory-name h2{
  font-size:18px;
}
.company-category-body h3{
  font-size:16px;
}
.company-category-body span{
  font-size:13px;
}
.product-thumb-body>span{
  font-size:13px;
}
.product-thumb-body h2{
  font-size:16px;
  line-height:1.4;
}
.product-thumb-body p{
  font-size:14px!important;
}
.company-contact-grid a{
  font-size:14px;
}
.company-document-card h3{
  font-size:14px;
}
.company-document-watermark,
.company-document-view-label{
  font-size:12px;
}
.company-document-manage-list span,
.company-document-manage-list small{
  font-size:13px;
}

/* Notifications and messages */
.company-notification-main strong,
.platform-notice-item strong{
  font-size:15px;
}
.company-notification-reason p,
.platform-notice-item p{
  font-size:14px!important;
}
.private-message-list,
.private-message-thread,
.inline-comments{
  font-size:15px;
}

/* Sponsored card */
.sponsored-company-type,
.sponsored-company-products strong,
.sponsored-company-products p,
.sponsored-company-contact a,
.sponsored-company-note{
  font-size:13px;
}
.sponsored-company-name{
  font-size:17px;
}

/* Account dashboard */
.account-eyebrow{
  font-size:13px;
}
.account-publication-head h2{
  font-size:19px;
}
.publication-history-main p{
  font-size:15px;
}
.publication-history-main small{
  font-size:13px;
}

/* Mobile: keep the reading size generous rather than shrinking it. */
@media(max-width:650px){
  body{
    font-size:16px;
    line-height:1.65;
  }

  input,
  select,
  textarea,
  .input{
    font-size:16px!important;
  }

  .links,
  .mobile-nav-links a,
  .mobile-nav-account a{
    font-size:14px;
  }

  main p,
  .feed-item p,
  .profile-about,
  .product-detail-info>p,
  .company-profile-description{
    font-size:15px;
    line-height:1.65;
  }

  .feed-item h3{
    font-size:18px;
    line-height:1.4;
  }

  .post-author-name{
    font-size:15px;
  }

  .post-author-company,
  .inline-comment-company,
  .private-message-company,
  .recommendation-company-line,
  .repost-original-company,
  .post-author-member,
  .publication-author-meta,
  .publication-feed-meta,
  .type-pill,
  .publication-type,
  .publication-status,
  .product-status-pill,
  .verified-company-badge{
    font-size:13px!important;
  }

  .company-product-title-row h1,
  .company-profile-title-row h1{
    font-size:22px;
    line-height:1.25;
  }

  .company-category-body h3{
    font-size:16px!important;
  }

  .product-thumb-body h2{
    font-size:16px!important;
  }

  .product-thumb-body p{
    font-size:14px!important;
  }

  .product-layout-rule{
    font-size:13px!important;
  }
}


/* Weekly Digest subscription UI */
.account-weekly-digest-optin>span{
  display:grid;
  gap:3px;
}
.account-weekly-digest-optin small{
  display:block;
  font-weight:500;
  color:#6f7f8f;
  line-height:1.5;
}
.weekly-digest-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}
.weekly-digest-status.enabled{
  background:#e9f7f0;
  color:#08745a;
}
.weekly-digest-status.disabled{
  background:#f1f4f6;
  color:#687789;
}
.weekly-digest-preference-form{
  display:grid;
  gap:12px;
}
.weekly-digest-toggle-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid #dbe4ea;
  border-radius:10px;
  background:#fbfdfe;
}
.weekly-digest-toggle-row input{
  width:18px;
  height:18px;
  margin-top:2px;
}
.weekly-digest-toggle-row span{
  display:grid;
  gap:3px;
}
.weekly-digest-toggle-row small{
  color:#6f7f8f;
  font-size:13px;
  line-height:1.5;
}
.weekly-digest-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  color:#6f7f8f;
  font-size:13px;
}
.weekly-digest-meta strong{
  color:#34485b;
}
/* V0.43 search, conversation and owner controls */
.search-result-group{margin-top:28px}.search-result-group h2 span{font-size:.8em;color:#64748b}
.search-result-card{padding:18px;margin:10px 0}.search-result-card p{margin:.5rem 0 0;color:#475569}
.conversation-list{display:grid;gap:10px;margin:18px 0}.conversation-summary{display:block;padding:14px 16px;border:1px solid #dbe5ef;border-radius:12px;text-decoration:none;color:inherit;background:#fff}.conversation-summary p{margin:6px 0;color:#475569}.conversation-summary span,.conversation-summary small{display:block;font-size:13px;color:#64748b}
.conversation-thread{display:flex;flex-direction:column;gap:12px;margin:22px 0}.conversation-message{max-width:78%;padding:12px 14px;border-radius:14px;background:#eef4f8}.conversation-message.is-mine{align-self:flex-end;background:#dcecff}.conversation-message.is-theirs{align-self:flex-start}.conversation-message img{max-width:260px;border-radius:8px}.conversation-message small{display:block;margin-top:6px;color:#64748b}.publication-owner-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;font-size:14px}.publication-owner-actions form{margin:0}.publication-owner-actions button{border:0;background:none;color:#b42318;cursor:pointer;padding:0}.publication-owner-actions a{color:#315b7d}
[dir="rtl"] .publication-owner-actions{justify-content:flex-start}[dir="rtl"] input[type="email"],[dir="rtl"] input[type="url"],[dir="rtl"] input[type="tel"],[dir="rtl"] .product-code{direction:ltr;text-align:left}
@media(max-width:680px){.conversation-message{max-width:92%}.conversation-page input,.conversation-page textarea,.search input{font-size:16px}}

/* Homepage Sponsored card: desktop alignment only. The ad itself is normal-flow, never sticky. */
@media(min-width:901px){
  .hero-grid{
    grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);
    gap:24px;
    align-items:start;
  }
  .hero-ad-stack{
    position:static;
    top:auto;
    align-self:start;
    width:100%;
  }
}

/* Pending Account follower fold below Sponsored applications. */
.account-followers-card{overflow:hidden}.account-followers-card>.account-fold-summary{cursor:pointer;list-style:none}.account-followers-card>.account-fold-summary::-webkit-details-marker{display:none}.account-follower-list{display:grid;gap:8px}.account-follower-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid #e1e8ee;border-radius:12px;color:inherit;text-decoration:none}.account-follower-row:hover{border-color:#bdd0df;background:#f8fbfd}.account-follower-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef4f8;color:#315a7d;font-weight:900}.account-follower-avatar img{width:100%;height:100%;object-fit:cover}.account-follower-main strong,.account-follower-main small,.account-follower-date small{display:block}.account-follower-main small,.account-follower-date{font-size:12px;color:#748196}.account-follower-date{text-align:right}.account-followers-card[open] .account-fold-chevron{transform:rotate(180deg)}@media(max-width:620px){.account-follower-row{grid-template-columns:38px minmax(0,1fr)}.account-follower-avatar{width:38px;height:38px}.account-follower-date{grid-column:2;text-align:left}}

/* Account content order and embedded WhatsApp-style conversations. */
.account-dashboard-column-activity{display:flex;flex-direction:column}.account-dashboard-column-activity>.account-dashboard-group-head{order:0}.account-dashboard-column-activity>.account-chat-card{order:1}.account-dashboard-column-activity>.account-history-card{order:2}.account-dashboard-column-activity>.account-saved-card{order:3}.account-dashboard-column-activity>.account-email-subscription-card{order:4}
.account-chat-shell{display:grid;grid-template-columns:minmax(150px,34%) minmax(0,1fr);height:520px;border:1px solid #dbe5ed;border-radius:14px;overflow:hidden;background:#f3f7f9}.account-chat-contacts{overflow-y:auto;background:#fff;border-right:1px solid #dbe5ed;scrollbar-width:thin}.account-chat-contact{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 9px;border-bottom:1px solid #edf1f4;color:inherit;text-decoration:none}.account-chat-contact:hover,.account-chat-contact.is-active{background:#e9f4f1}.account-chat-contact-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e5edf3;color:#254f70;font-weight:900}.account-chat-contact-avatar img{width:100%;height:100%;object-fit:cover}.account-chat-contact-copy{min-width:0}.account-chat-contact-copy strong,.account-chat-contact-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chat-contact-copy strong{font-size:13px}.account-chat-contact-copy small{margin-top:3px;font-size:11px;color:#758397}.account-chat-contact>b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#0b8f68;color:#fff;font-size:10px}.account-chat-panel{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#efeae2}.account-chat-panel-head{display:flex;flex-direction:column;padding:11px 14px;background:#f7fafb;border-bottom:1px solid #dbe5ed}.account-chat-panel-head small{margin-top:2px;color:#748196}.account-chat-thread{overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}.account-chat-bubble-row{display:flex}.account-chat-bubble-row.is-mine{justify-content:flex-end}.account-chat-bubble{position:relative;max-width:82%;padding:8px 10px;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,35,50,.08)}.account-chat-bubble-row.is-mine .account-chat-bubble{background:#d9fdd3}.account-chat-bubble p{margin:0 0 4px;line-height:1.5;font-size:13px}.account-chat-bubble>small{display:block;text-align:right;color:#718095;font-size:9px}.account-chat-bubble form{text-align:right;margin-top:3px}.account-chat-bubble form button{border:0;background:none;padding:0;color:#9b3a32;font-size:9px;cursor:pointer}.account-chat-image{display:block;margin:5px 0}.account-chat-image img{display:block;max-width:220px;max-height:180px;border-radius:7px;object-fit:cover}.account-chat-file{display:block;margin:5px 0;color:#245b7d;font-size:11px;font-weight:750}.account-chat-compose{padding:10px;background:#f7fafb;border-top:1px solid #dbe5ed}.account-chat-compose textarea{width:100%;min-height:58px;max-height:110px;resize:vertical;border:1px solid #cedae3;border-radius:12px;padding:10px;font:inherit}.account-chat-compose-actions{display:flex;align-items:center;gap:8px;margin-top:7px}.account-chat-compose-actions label{font-size:11px;color:#315a7d;font-weight:750;cursor:pointer}.account-chat-compose-actions label input{position:absolute;opacity:0;pointer-events:none}.account-chat-compose-actions .btn{margin-left:auto;height:34px}
@media(max-width:980px){.account-dashboard-columns{display:flex;flex-direction:column}.account-dashboard-column{display:contents}.account-dashboard-column-activity>.account-dashboard-group-head{order:0}.account-chat-card{order:1}.account-history-card{order:2}.account-saved-card{order:3}.account-followers-card{order:4}.account-dashboard-column-identity>.account-dashboard-group-head{order:10}.account-dashboard-column-identity>.account-next-card:not(.product-upload-account-card){order:11}.account-dashboard-column-identity>.company-system-notifications{order:12}.account-dashboard-column-identity>.product-upload-account-card{order:13}.account-dashboard-column-identity>.account-ad-applications-card{order:14}.account-dashboard-column-activity>.account-email-subscription-card{order:20}.platform-management-notifications{order:21}}
@media(max-width:620px){.account-chat-shell{display:flex;flex-direction:column;height:600px}.account-chat-contacts{display:flex;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #dbe5ed;scroll-snap-type:x proximity}.account-chat-contact{flex:0 0 128px;grid-template-columns:34px minmax(0,1fr);scroll-snap-align:start}.account-chat-contact-avatar{width:34px;height:34px}.account-chat-contact>b{position:absolute;margin-left:26px;margin-top:-27px}.account-chat-contact-copy small{max-width:74px}.account-chat-panel{flex:1;min-height:0}.account-chat-bubble{max-width:88%}.account-chat-compose-actions{flex-wrap:wrap}.account-chat-compose-actions .btn{margin-left:auto}}

/* V0.44 private-message quote replies */
.account-chat-quote{margin:0 0 6px;padding:6px 8px;border-left:3px solid #8aa0ad;border-radius:6px;background:rgba(255,255,255,.55);font-size:11px;line-height:1.35}.account-chat-quote strong,.account-chat-quote span{display:block}.account-chat-quote span{margin-top:2px;color:#62717e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chat-bubble-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:3px}.account-chat-bubble-actions form{margin:0}.account-chat-reply-btn{border:0;background:none;padding:0;color:#356b83;font-size:9px;cursor:pointer}.account-chat-reply-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;padding:7px 9px;border-left:3px solid #2f8f71;border-radius:7px;background:#eef6f3}.account-chat-reply-preview[hidden]{display:none}.account-chat-reply-preview>div{min-width:0}.account-chat-reply-preview strong,.account-chat-reply-preview span{display:block}.account-chat-reply-preview strong{font-size:11px}.account-chat-reply-preview span{margin-top:2px;color:#657480;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chat-reply-preview>button{flex:0 0 auto;border:0;background:none;font-size:18px;line-height:1;cursor:pointer;color:#657480}

/* V0.44 non-blocking localized UI notices */
.ta-ui-notice-stack{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:9999;width:min(92vw,520px);display:grid;gap:8px;pointer-events:none}
.ta-ui-notice{opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;padding:11px 14px;border-radius:11px;box-shadow:0 8px 28px rgba(18,39,59,.16);font-size:13px;line-height:1.45;background:#fff;color:#26384a;border:1px solid #dce5ec}
.ta-ui-notice.error{border-color:#efcaca;background:#fff8f8;color:#8b2f2f}
.ta-ui-notice.success{border-color:#cce6d5;background:#f7fff9;color:#23633b}
.ta-ui-notice.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.ta-ui-notice-stack{top:64px;width:calc(100vw - 24px)}.ta-ui-notice{font-size:12px}}

/* V0.44 homepage: Sponsored sits beside the Hero and is separate from the support/recommendation rail.
   The ad and the lower right-rail cards use normal document flow: no sticky/floating behaviour. */
.hero{padding:42px 0 20px}
.home-hero-ad{position:static!important;top:auto!important;align-self:start;width:100%;min-width:0}
.home-hero-ad>.hero-ad-card{width:100%;margin:0}
.layout>.side-stack{position:static!important;top:auto!important;align-self:start;max-height:none!important;overflow:visible!important}
@media(min-width:901px){
  .hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:24px;align-items:start}
}
@media(max-width:900px){
  .hero{padding:32px 0 14px}
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .home-hero-ad{margin-top:2px}
}
@media(max-width:620px){.hero{padding:24px 0 10px}.hero-grid{gap:14px}}

/* V0.44 product management CTA placement + historic message-video display only. */
.product-upload-account-card{display:flex!important;flex-direction:column;align-items:stretch!important}
.product-upload-account-card .account-profile-cta-actions{justify-content:flex-end;width:100%;margin-top:12px}
.product-upload-account-card .account-profile-cta-actions .btn{display:inline-flex;white-space:normal;text-align:center}
.account-chat-historic-video{margin:6px 0;max-width:280px}.account-chat-historic-video video{display:block;width:100%;max-height:220px;border-radius:8px;background:#111}
@media(max-width:620px){.product-upload-account-card .account-profile-cta-actions{display:block}.product-upload-account-card .account-profile-cta-actions .btn{width:100%;justify-content:center}}


/* V0.44 Arabic/mixed-script technical data handling. */
.technical-ltr{direction:ltr;unicode-bidi:isolate;text-align:left;display:inline-block}
.technical-plaintext{unicode-bidi:plaintext;text-align:start}
[dir="rtl"] .technical-input,
[dir="rtl"] input[name="product_code"],
[dir="rtl"] input[name="item_no"],
[dir="rtl"] input[name="weight_value"],
[dir="rtl"] input[name="specification"]{direction:ltr;unicode-bidi:isolate;text-align:left}
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="url"],
[dir="rtl"] input[type="tel"],
[dir="rtl"] .product-code,
[dir="rtl"] .technical-ltr{direction:ltr;unicode-bidi:isolate;text-align:left}

/* V0.44 account refinement: asymmetric two-zone dashboard + WeChat-style messaging */
@media(min-width:981px){
  .account-dashboard-columns{
    grid-template-columns:minmax(300px,.72fr) minmax(560px,1.35fr);
    gap:20px;
  }
}

/* Followers: profile-forward cards with avatar and owner-only removal. */
.account-followers-card .account-fold-content{padding-top:2px}
.account-follower-list{display:grid;gap:10px}
.account-follower-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 13px;
  border:1px solid #e1e7ed;
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
  box-shadow:0 5px 16px rgba(20,40,60,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .16s ease;
}
.account-follower-row:hover{
  transform:translateY(-1px);
  border-color:#c7d6e1;
  box-shadow:0 9px 22px rgba(20,40,60,.07);
}
.account-follower-profile{
  min-width:0;
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
}
.account-follower-avatar{
  width:50px;
  height:50px;
  border-radius:14px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#eaf1f6;
  color:#214e72;
  font-size:15px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(22,60,100,.06);
}
.account-follower-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.account-follower-main{min-width:0}
.account-follower-main strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#172432;
  font-size:13px;
  line-height:1.35;
}
.account-follower-main small{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#788697;
  font-size:10px;
  line-height:1.4;
}
.account-follower-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.account-follower-date{
  min-width:82px;
  color:#8a97a7;
  font-size:9px;
  line-height:1.35;
  text-align:right;
}
.account-follower-date small{display:block;margin-top:2px;color:#617185;font-size:10px}
.account-follower-remove-form{margin:0}
.account-follower-remove{
  min-width:62px;
  height:32px;
  padding:0 11px;
  border:1px solid #e5c9c7;
  border-radius:9px;
  background:#fff;
  color:#a13c36;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.account-follower-remove:hover{background:#fff5f4;border-color:#dca8a4;transform:translateY(-1px)}
.account-follower-remove:focus-visible{outline:2px solid rgba(161,60,54,.2);outline-offset:2px}

/* Messaging card */
.account-chat-card{overflow:hidden}
.account-chat-card-head{margin-bottom:13px}
.account-chat-shell{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  height:680px;
  min-height:600px;
  overflow:hidden;
  border:1px solid #d7dde3;
  border-radius:17px;
  background:#ededed;
  box-shadow:0 8px 28px rgba(22,40,58,.07);
}
.account-chat-sidebar{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  background:#f7f8fa;
  border-right:1px solid #d9dee3;
}
.account-chat-sidebar-head{
  min-height:55px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 14px;
  border-bottom:1px solid #e0e4e8;
  background:#fafbfc;
}
.account-chat-sidebar-head strong{font-size:13px;color:#1b2733}
.account-chat-sidebar-head span{
  min-width:24px;
  height:24px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#e9eef2;
  color:#617080;
  font-size:9px;
  font-weight:850;
}
.account-chat-contacts{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  background:#f7f8fa;
  border:0;
  scrollbar-width:thin;
  scrollbar-color:#cbd3da transparent;
}
.account-chat-contact{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:72px;
  padding:10px 11px;
  border:0;
  border-bottom:1px solid #e8ebee;
  color:inherit;
  text-decoration:none;
  transition:background .15s ease;
}
.account-chat-contact:hover{background:#f0f2f4}
.account-chat-contact.is-active{background:#e6e9ec}
.account-chat-contact-avatar{
  width:48px;
  height:48px;
  border-radius:12px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#dfe8ee;
  color:#234d6e;
  font-size:14px;
  font-weight:900;
}
.account-chat-contact-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.account-chat-contact-copy{min-width:0}
.account-chat-contact-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.account-chat-contact-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18232e;font-size:13px;font-weight:750}
.account-chat-contact-line time{flex:0 0 auto;color:#a0a7ae;font-size:9px;font-weight:600}
.account-chat-contact-copy small{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a939c;font-size:10px;line-height:1.35}
.account-chat-contact>b{
  position:absolute;
  top:8px;
  left:48px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f04438;
  color:#fff;
  font-size:9px;
  box-shadow:0 0 0 2px #f7f8fa;
}
.account-chat-panel{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:64px minmax(0,1fr) auto;
  background:#ededed;
}
.account-chat-panel-head{
  min-width:0;
  display:flex;
  align-items:center;
  padding:0 18px;
  border-bottom:1px solid #d8dde2;
  background:rgba(248,249,250,.96);
}
.account-chat-panel-person{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.account-chat-panel-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#e0e8ee;
  color:#214d6f;
  font-size:12px;
  font-weight:900;
}
.account-chat-panel-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.account-chat-panel-person>span:last-child{min-width:0}
.account-chat-panel-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17212b;font-size:14px}
.account-chat-panel-person small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7e8995;font-size:9px}
.account-chat-thread{
  min-height:0;
  overflow-y:auto;
  padding:18px 20px 22px;
  display:flex;
  flex-direction:column;
  gap:13px;
  background:#ededed;
  scrollbar-width:thin;
  scrollbar-color:#c4c9ce transparent;
}
.account-chat-bubble-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.account-chat-bubble-row.is-mine{flex-direction:row-reverse}
.account-chat-message-avatar{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:9px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#dbe5ec;
  color:#214d6f;
  font-size:11px;
  font-weight:900;
}
.account-chat-message-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.account-chat-bubble{
  position:relative;
  max-width:min(72%,560px);
  padding:10px 12px 8px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.045);
}
.account-chat-bubble::before{
  content:"";
  position:absolute;
  top:12px;
  left:-6px;
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:7px solid #fff;
}
.account-chat-bubble-row.is-mine .account-chat-bubble{background:#95ec69}
.account-chat-bubble-row.is-mine .account-chat-bubble::before{
  left:auto;
  right:-6px;
  border-right:0;
  border-left:7px solid #95ec69;
}
.account-chat-bubble p{margin:0;color:#17212b;font-size:13px;line-height:1.62;word-break:break-word}
.account-chat-quote{
  margin:0 0 8px;
  padding:7px 9px;
  border:0;
  border-left:3px solid rgba(74,91,105,.45);
  border-radius:5px;
  background:rgba(255,255,255,.48);
}
.account-chat-quote strong{color:#4a5966;font-size:9px}
.account-chat-quote span{margin-top:3px;color:#64717c;font-size:10px}
.account-chat-image img{max-width:min(290px,100%);max-height:260px;border-radius:7px}
.account-chat-file{
  margin-top:7px;
  padding:9px 10px;
  border-radius:7px;
  background:rgba(255,255,255,.58);
  color:#284f6a;
  font-size:10px;
  text-decoration:none;
}
.account-chat-bubble-foot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:5px;
}
.account-chat-bubble-foot>time{color:#77828b;font-size:8px;white-space:nowrap}
.account-chat-bubble-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  opacity:0;
  transition:opacity .15s ease;
}
.account-chat-bubble:hover .account-chat-bubble-actions,
.account-chat-bubble:focus-within .account-chat-bubble-actions{opacity:1}
.account-chat-bubble-actions form{margin:0}
.account-chat-reply-btn,
.account-chat-bubble-actions form button{
  border:0;
  background:transparent;
  padding:0;
  color:#52616d;
  font:inherit;
  font-size:8px;
  font-weight:750;
  cursor:pointer;
}
.account-chat-bubble-actions form button{color:#9b3a32}
.account-chat-compose{
  padding:10px 12px 11px;
  border-top:1px solid #d8dde2;
  background:#f7f7f7;
}
.account-chat-reply-preview{
  margin:0 0 8px;
  padding:7px 9px;
  border-left:3px solid #4e9b75;
  border-radius:7px;
  background:#e9f0ec;
}
.account-chat-compose textarea{
  width:100%;
  min-height:72px;
  max-height:150px;
  resize:vertical;
  padding:11px 12px;
  border:1px solid #d7dce0;
  border-radius:9px;
  outline:none;
  background:#fff;
  color:#17212b;
  font:inherit;
  font-size:13px;
  line-height:1.55;
}
.account-chat-compose textarea:focus{border-color:#b7c2ca;box-shadow:0 0 0 2px rgba(40,79,106,.06)}
.account-chat-compose-actions{display:flex;align-items:center;gap:8px;margin-top:8px}
.account-chat-tool{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 8px;
  border-radius:8px;
  color:#4f6170;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.account-chat-tool:hover{background:#eceff1;color:#274f6c}
.account-chat-tool input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.account-chat-send{margin-left:auto;min-width:78px;height:34px}

@media(max-width:980px){
  .account-chat-shell{grid-template-columns:220px minmax(0,1fr);height:650px;min-height:560px}
}
@media(max-width:720px){
  .account-follower-row{grid-template-columns:1fr;gap:9px}
  .account-follower-actions{justify-content:space-between;padding-left:62px}
  .account-follower-date{text-align:left}
  .account-chat-shell{display:flex;flex-direction:column;height:670px;min-height:0}
  .account-chat-sidebar{flex:0 0 auto;display:block;border-right:0;border-bottom:1px solid #d9dee3}
  .account-chat-sidebar-head{display:none}
  .account-chat-contacts{display:flex;overflow-x:auto;overflow-y:hidden;max-height:78px;background:#f7f8fa;scroll-snap-type:x proximity}
  .account-chat-contact{flex:0 0 150px;min-height:76px;grid-template-columns:42px minmax(0,1fr);padding:9px;scroll-snap-align:start;border-right:1px solid #e8ebee;border-bottom:0}
  .account-chat-contact-avatar{width:42px;height:42px;border-radius:10px}
  .account-chat-contact-line time{display:none}
  .account-chat-contact>b{top:7px;left:40px}
  .account-chat-panel{flex:1;min-height:0;grid-template-rows:56px minmax(0,1fr) auto}
  .account-chat-panel-head{padding:0 12px}
  .account-chat-thread{padding:14px 10px 16px;gap:11px}
  .account-chat-message-avatar{width:32px;height:32px;flex-basis:32px;border-radius:8px}
  .account-chat-bubble{max-width:80%;padding:9px 10px 7px}
  .account-chat-bubble p{font-size:12px}
  .account-chat-bubble-actions{opacity:1}
  .account-chat-compose{padding:9px}
  .account-chat-compose textarea{min-height:58px;max-height:110px}
  .account-chat-compose-actions{flex-wrap:wrap}
  .account-chat-tool span{display:none}
}

/* Keep sender/recipient bubble sides stable even when the whole page is RTL. */
.account-chat-bubble-row{direction:ltr}
html[dir="rtl"] .account-chat-bubble{direction:rtl;text-align:right}
html[dir="rtl"] .account-chat-bubble-foot{direction:rtl}
@media(max-width:720px){
  .account-follower-actions{padding-left:0;padding-inline-start:62px}
}

/* V0.44 QA refinement: four-company desktop directories + inline owner controls */
@media (min-width:621px){
  .company-catalog-grid,
  .company-directory-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
.publication-owner-actions{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 0 auto;
  padding-inline-start:10px;
  border-inline-start:1px solid #e6ebf0;
  flex:0 0 auto;
}
.publication-owner-actions form{margin:0;display:flex}
.publication-owner-action{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  border:1px solid #dbe3ea;
  border-radius:9px;
  background:#fff;
  color:#475467;
  font:inherit;
  font-size:10px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.publication-owner-action.edit:hover{
  background:#f0f6fb;
  border-color:#c9d8e5;
  color:#174a72;
}
.publication-owner-action.delete{
  color:#b42318;
  border-color:#efd2cf;
  background:#fffafa;
}
.publication-owner-action.delete:hover{
  background:#fff1ef;
  border-color:#e7b8b3;
}
.publication-owner-action-icon{font-size:13px;line-height:1}
[dir="rtl"] .publication-owner-actions{
  margin-left:0;
  margin-right:auto;
}
@media(max-width:620px){
  .content-actions.has-owner-actions{
    grid-template-columns:repeat(7,minmax(0,1fr));
  }
  .content-actions.has-owner-actions .publication-owner-actions{
    grid-column:span 2;
    width:100%;
    margin:0;
    padding-inline-start:3px;
    border-inline-start:1px solid #e6ebf0;
    gap:3px;
  }
  .content-actions.has-owner-actions .publication-owner-actions form,
  .content-actions.has-owner-actions .publication-owner-action{
    flex:1 1 0;
    min-width:0;
  }
  .content-actions.has-owner-actions .publication-owner-action{
    width:100%;
    padding:0 3px;
    font-size:9px;
  }
  .content-actions.has-owner-actions .owner-action-label{display:none}
}


/* V0.44 avatar hard limits: uploaded source dimensions must never affect UI layout */
.account-chat-contact-avatar,
.account-chat-panel-avatar,
.account-chat-message-avatar,
.private-message-avatar,
.account-follower-avatar{
  box-sizing:border-box;
  overflow:hidden!important;
  flex-shrink:0!important;
}
.account-chat-contact-avatar{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;}
.account-chat-panel-avatar{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;flex-basis:38px!important;}
.account-chat-message-avatar{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;min-height:36px!important;max-height:36px!important;flex-basis:36px!important;}
.private-message-avatar{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;flex-basis:38px!important;}
.account-follower-avatar{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;}
.account-chat-contact-avatar>img,
.account-chat-panel-avatar>img,
.account-chat-message-avatar>img,
.private-message-avatar>img,
.account-follower-avatar>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:720px){
  .account-chat-contact-avatar{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important;}
  .account-chat-message-avatar{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;flex-basis:32px!important;}
}

/* V0.44 profile publication browser: clearly separated publication cards */
.profile-publications-section{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.profile-publications-head{
  padding:20px 22px;
  border:1px solid #dfe6ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,42,67,.035);
}
.profile-publications-head>strong{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#f2f6f8;
  color:#526273;
}
.profile-publication-tabs{
  margin:12px 0 0!important;
  padding:10px!important;
  gap:7px!important;
  border:1px solid #dfe6ec!important;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(16,42,67,.025);
}
.profile-publication-tabs a{
  min-height:36px;
  border-radius:10px;
}
.profile-publication-feed{
  gap:18px!important;
  margin-top:16px!important;
}
.profile-publication-card{
  position:relative;
  overflow:hidden;
  margin:0!important;
  padding:18px 20px 16px!important;
  border:1px solid #dfe6ec!important;
  border-left:4px solid #d0d5dd!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,42,67,.045)!important;
}
.profile-publication-card.publication-type-question{border-left-color:#f79009!important;}
.profile-publication-card.publication-type-discussion{border-left-color:#1570ef!important;}
.profile-publication-card.publication-type-knowledge{border-left-color:#7a5af8!important;}
.profile-publication-card.publication-type-buying_request,
.profile-publication-card.publication-type-buying-request{border-left-color:#12b76a!important;}
.profile-publication-card.feed-kind-repost,
.profile-publication-card.repost-card{border-left-color:#d92d20!important;background:#fffdfd!important;}
.profile-publication-card .post-author-row{
  margin:0 0 5px;
  padding-bottom:8px;
  border-bottom:1px solid #f0f3f6;
}
.profile-publication-card .publication-author-meta{
  margin:8px 0 8px 43px;
}
.profile-publication-card .feed-summary-text,
.profile-publication-card .repost-commentary{
  margin:12px 0 8px!important;
  color:#25313d;
  font-size:15px!important;
  line-height:1.72!important;
}
.profile-publication-card .feed-view-details,
.profile-publication-card .feed-report-link{
  margin-top:2px;
}
.profile-publication-card .feed-report-link{
  display:inline-flex;
  align-items:center;
  margin-inline-start:10px;
}
.profile-publication-card .publication-attachments{
  margin:12px 0 8px;
}
.profile-publication-card .publication-attachments.feed .publication-image-grid img{
  height:240px;
}
.profile-publication-card .publication-file-link{
  min-height:46px;
  border-color:#e0e6ec;
  background:#f8fafc;
}
.profile-publication-card .publication-feed-meta{
  margin:12px 0 0;
  padding-top:10px;
  border-top:1px solid #f1f3f5;
  color:#8a97a6;
}
.profile-publication-card .content-actions{
  margin-top:8px;
  padding-top:8px;
  border-top:0;
}
.profile-publication-card .content-action{
  border-radius:8px;
}
.profile-publication-card .content-action:hover{
  background:#f4f7f9;
}
@media(max-width:620px){
  .profile-publications-head{padding:16px;}
  .profile-publication-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:8px!important;
  }
  .profile-publication-card{
    padding:15px 14px 13px!important;
    border-radius:14px!important;
  }
  .profile-publication-card .publication-author-meta{margin-left:41px;}
  .profile-publication-card .publication-attachments.feed .publication-image-grid img{height:180px;}
  .profile-publication-card .feed-summary-text,
  .profile-publication-card .repost-commentary{font-size:14px!important;}
}

/* V0.44 personalized discovery rail: the support/recommendation stack remains
   visible while the page scrolls. Sponsored advertising is intentionally NOT
   inside this rail and continues to flow normally beside the Hero. */
@media(min-width:901px){
  .layout>.side-stack{
    position:sticky!important;
    top:18px!important;
    align-self:start!important;
    max-height:calc(100vh - 36px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
}
@media(max-width:900px){
  .layout>.side-stack{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* V0.44 homepage density refinement: quick actions stay horizontal on phones and
   the Sponsored card must not force a tall blank column above the feed. */
@media(min-width:901px){
  .hero.has-sponsored .hero-grid{
    --home-sponsored-width:min(32%, 360px);
    position:relative;
    display:block;
    min-height:0;
  }
  .hero.has-sponsored .hero-grid>div:first-child{
    width:calc(100% - var(--home-sponsored-width) - 24px);
    max-width:none;
  }
  .hero.has-sponsored .home-hero-ad{
    position:absolute!important;
    top:0!important;
    right:0!important;
    width:var(--home-sponsored-width)!important;
  }
  [dir="rtl"] .hero.has-sponsored .home-hero-ad{
    right:auto!important;
    left:0!important;
  }
  [dir="rtl"] .hero.has-sponsored .hero-grid>div:first-child{
    margin-left:auto;
  }
  .hero{padding-bottom:12px}
  .home-main{padding-top:30px}
  .home-main>.layout>.side-stack{
    margin-top:var(--home-sponsored-clearance, 0px);
  }
}
@media(max-width:900px){
  .quick{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    overflow-y:hidden;
    gap:8px;
    padding-bottom:4px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .quick::-webkit-scrollbar{display:none}
  .quick .chip{
    flex:0 0 auto;
    white-space:nowrap;
    scroll-snap-align:start;
  }
}
@media(max-width:620px){
  .quick{margin-top:12px}
  .quick .chip{font-size:12px;padding:7px 10px}
  .hero{padding-bottom:8px}
  .home-main{padding-top:24px}
}


/* V0.44 account mobile-width lock + deterministic chat bubble sides.
   The Account page must never create page-level horizontal scrolling; only
   explicitly scrollable inner rows (such as the conversation contacts) may
   scroll horizontally. */
.account-chat-bubble-row{
  width:100%;
  min-width:0;
  direction:ltr;
  justify-content:flex-start!important;
  flex-direction:row!important;
}
.account-chat-bubble-row.is-theirs{
  justify-content:flex-start!important;
  flex-direction:row!important;
}
.account-chat-bubble-row.is-mine{
  justify-content:flex-start!important;
  flex-direction:row-reverse!important;
}

@media(max-width:720px){
  body.account-body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body.account-body .topbar,
  body.account-body .nav,
  .account-page.wrap,
  .account-page .account-dashboard,
  .account-page .account-dashboard-columns,
  .account-page .account-dashboard-column,
  .account-page .account-profile-head,
  .account-page .account-info-grid,
  .account-page .account-next-card,
  .account-page .account-publication-card,
  .account-page details.account-publication-card,
  .account-page .account-status-card,
  .account-page .author-language-guidance,
  .account-page .account-chat-card,
  .account-page .account-chat-shell,
  .account-page .account-chat-sidebar,
  .account-page .account-chat-panel,
  .account-page .account-chat-thread,
  .account-page .account-chat-compose{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .account-page.wrap{
    margin-inline:auto;
    padding-inline:10px!important;
    overflow-x:hidden;
  }
  .account-page .account-dashboard{
    padding:14px 12px!important;
    overflow-x:hidden;
  }
  .account-page .account-dashboard-columns,
  .account-page .account-dashboard-column{
    overflow:visible;
  }
  .account-page .account-dashboard-column>*{
    min-width:0;
    max-width:100%;
  }
  .account-page .account-profile-head{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:11px;
  }
  .account-page .account-avatar{
    width:54px;
    height:54px;
    min-width:54px;
    max-width:54px;
  }
  .account-page .account-profile-head>div,
  .account-page .account-profile-head h1,
  .account-page .account-profile-head p,
  .account-page .identity-company-line,
  .account-page .account-company-line,
  .account-page .account-info-card,
  .account-page .account-info-card>strong,
  .account-page .account-info-card>small{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .account-page .account-info-card>strong{
    white-space:normal;
  }
  .account-page form,
  .account-page fieldset,
  .account-page input,
  .account-page textarea,
  .account-page select,
  .account-page img,
  .account-page video{
    max-width:100%;
    min-width:0;
  }
  .account-page .account-chat-shell{
    overflow:hidden;
  }
  .account-page .account-chat-contacts{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
  }
  .account-page .account-chat-panel,
  .account-page .account-chat-thread,
  .account-page .account-chat-compose{
    overflow-x:hidden;
  }
  .account-page .account-chat-bubble-row{
    max-width:100%;
  }
  .account-page .account-chat-bubble{
    min-width:0;
    max-width:calc(100% - 45px)!important;
    overflow-wrap:anywhere;
  }
  .account-page .account-chat-file{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .account-page .account-chat-compose-actions{
    max-width:100%;
  }
}

/* ==========================================================
   V0.44 multilingual compact UI guard
   - Navigation uses compact localized labels (see header.php).
   - No button is allowed to push outside its container.
   - Critical compact account actions fall back to an icon when their
     localized label cannot fit, while title/aria-label keep the full text.
   ========================================================== */
.links{
  min-width:0;
  flex:1 1 auto;
  justify-content:center;
  gap:clamp(10px,1.25vw,18px);
}
.links>a,
.desktop-nav-dropdown>summary{
  min-width:0;
  white-space:nowrap;
  line-height:1.15;
}
.actions,
.brand{flex:0 0 auto}

/* Universal button overflow guard. Never let a long localization widen a card/page. */
:where(.btn,button,input[type="submit"],input[type="button"],input[type="reset"]){
  min-width:0;
  max-width:100%;
}
:where(.btn,button):not(.mobile-menu-toggle):not(.ta-compact-button){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Account cards: copy gets the space first; actions may compact to icons. */
.account-profile-cta>div:first-child{
  min-width:0;
  flex:1 1 auto;
}
.account-profile-cta-actions{
  min-width:0;
  max-width:44%;
  justify-content:flex-end;
}
.account-profile-cta-actions>.btn{
  min-width:0;
  max-width:100%;
}
.ta-compact-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:42px;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
}
.ta-compact-button-label{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ta-compact-button-icon{
  display:none;
  width:18px;
  height:18px;
  flex:0 0 18px;
  align-items:center;
  justify-content:center;
}
.ta-compact-button-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ta-compact-button.is-icon-only{
  width:42px;
  min-width:42px;
  max-width:42px;
  padding:0;
  flex:0 0 42px;
}
.ta-compact-button.is-icon-only .ta-compact-button-label{display:none}
.ta-compact-button.is-icon-only .ta-compact-button-icon{display:flex}

/* Medium desktop widths: keep navigation on one stable line without shrinking labels. */
@media (min-width:901px) and (max-width:1160px){
  .nav{gap:10px}
  .brand>span:last-child{display:none}
  .links{gap:10px}
  .actions{gap:6px}
  .desktop-lang-wrap .select{max-width:116px}
}

/* On mobile, full-width actions may use text; compact side-by-side actions stay safe. */
@media(max-width:650px){
  .account-profile-cta{align-items:stretch}
  .account-profile-cta-actions{
    width:100%;
    max-width:100%;
    justify-content:flex-end;
  }
  .account-profile-cta-actions>.btn{max-width:100%}
}

/* V0.44 compact private-message bubbles.
   Keep message content dense and stack Reply/Delete vertically so action text
   never competes with the timestamp on one horizontal line. */
.account-page .account-chat-thread{
  gap:8px;
  padding:12px 16px 16px;
}
.account-page .account-chat-bubble-row{
  gap:7px;
}
.account-page .account-chat-message-avatar{
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:8px;
}
.account-page .account-chat-bubble{
  max-width:min(70%,520px);
  padding:7px 9px 6px;
}
.account-page .account-chat-bubble::before{
  top:10px;
}
.account-page .account-chat-bubble p{
  font-size:12px;
  line-height:1.48;
}
.account-page .account-chat-quote{
  margin-bottom:5px;
  padding:5px 7px;
}
.account-page .account-chat-image,
.account-page .account-chat-file{
  margin-top:5px;
  margin-bottom:3px;
}
.account-page .account-chat-bubble-foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:7px;
  margin-top:3px;
}
.account-page .account-chat-bubble-foot>time{
  align-self:end;
  justify-self:end;
  font-size:8px;
  line-height:1.2;
}
.account-page .account-chat-bubble-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  gap:1px;
  margin:0;
  opacity:.72;
}
.account-page .account-chat-bubble-actions form{
  display:block;
  margin:0;
  line-height:1;
}
.account-page .account-chat-reply-btn,
.account-page .account-chat-bubble-actions form button{
  display:block;
  padding:1px 0;
  line-height:1.2;
  white-space:nowrap;
  font-size:8px;
}
.account-page .account-chat-bubble:hover .account-chat-bubble-actions,
.account-page .account-chat-bubble:focus-within .account-chat-bubble-actions{
  opacity:1;
}

@media(max-width:720px){
  .account-page .account-chat-thread{
    gap:7px;
    padding:10px 8px 12px;
  }
  .account-page .account-chat-bubble-row{gap:6px}
  .account-page .account-chat-message-avatar{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
  .account-page .account-chat-bubble{
    max-width:calc(100% - 42px)!important;
    padding:6px 8px 5px;
  }
  .account-page .account-chat-bubble p{
    font-size:12px;
    line-height:1.45;
  }
  .account-page .account-chat-bubble-actions{opacity:.78}
}

/* ==========================================================
   V0.44 language-aware desktop navigation fit
   Prefer natural local short labels in header.php. Only languages whose
   remaining terms are intrinsically long get a modest type/gap reduction.
   ========================================================== */
@media (min-width:901px){
  /* The tagline is useful branding but should not steal horizontal menu room. */
  .topbar .brand small{display:none;}

  /* Compact languages keep the standard readable 14px navigation. */
  .topbar-lang-en .links,
  .topbar-lang-zh .links,
  .topbar-lang-de .links,
  .topbar-lang-ja .links,
  .topbar-lang-ko .links{
    font-size:14px;
  }

  /* Medium-length Latin/Arabic/Turkish labels: shorten first, then only a mild reduction. */
  .topbar-lang-es .links,
  .topbar-lang-ar .links,
  .topbar-lang-fr .links,
  .topbar-lang-pt .links,
  .topbar-lang-tr .links,
  .topbar-lang-it .links,
  .topbar-lang-vi .links{
    font-size:13px;
    gap:clamp(7px,.85vw,12px);
  }

  /* These languages do not have clear, universally understood abbreviations
     for every primary nav concept, so preserve the words and reduce type gently. */
  .topbar-lang-hi .links,
  .topbar-lang-ru .links,
  .topbar-lang-pl .links{
    font-size:12.5px;
    gap:clamp(6px,.72vw,10px);
  }

  /* Vietnamese uses two common local short forms (SP / Cty); keep the rest natural. */
  .topbar-lang-vi .links{
    font-size:12.5px;
    gap:7px;
  }

  .topbar-lang-es .desktop-lang-wrap .select,
  .topbar-lang-fr .desktop-lang-wrap .select,
  .topbar-lang-pt .desktop-lang-wrap .select,
  .topbar-lang-ru .desktop-lang-wrap .select,
  .topbar-lang-de .desktop-lang-wrap .select,
  .topbar-lang-tr .desktop-lang-wrap .select,
  .topbar-lang-vi .desktop-lang-wrap .select,
  .topbar-lang-it .desktop-lang-wrap .select,
  .topbar-lang-pl .desktop-lang-wrap .select,
  .topbar-lang-hi .desktop-lang-wrap .select{
    max-width:106px;
    font-size:12px;
  }
}

/* At notebook / narrower desktop widths, preserve one-line navigation before
   falling back to the mobile menu at 900px. */
@media (min-width:901px) and (max-width:1320px){
  .topbar .wrap{padding-left:14px;padding-right:14px;}
  .topbar .nav{gap:8px;}
  .topbar .brand{gap:8px;}
  .topbar .brand-mark{width:36px;height:36px;flex-basis:36px;}
  .topbar .brand>span:last-child{font-size:14px;white-space:nowrap;}
  .topbar .actions{gap:5px;}
  .topbar .btn{padding-left:11px;padding-right:11px;}
  .topbar .links{gap:7px;}
}

@media (min-width:901px) and (max-width:1080px){
  /* Brand name gives way before navigation labels do. */
  .topbar .brand>span:last-child{display:none;}
  .topbar .desktop-lang-wrap .select{max-width:96px;}
}

/* V0.44 homepage alignment refinement: Hero search and Sponsored card use the
   exact same 1.7 / .9 desktop columns as the content area below. The ad stays
   out of the Hero height calculation so it cannot recreate the old blank gap. */
@media(min-width:901px){
  .hero.has-sponsored .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr)!important;
    gap:24px!important;
    position:relative!important;
    min-height:0!important;
  }
  .hero.has-sponsored .hero-grid>div:first-child{
    grid-column:1!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .hero.has-sponsored .home-hero-ad{
    grid-column:2!important;
    grid-row:1!important;
    position:absolute!important;
    inset-inline:0!important;
    top:0!important;
    right:auto!important;
    left:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  [dir="rtl"] .hero.has-sponsored .home-hero-ad{
    right:auto!important;
    left:auto!important;
  }
  [dir="rtl"] .hero.has-sponsored .hero-grid>div:first-child{
    margin-left:0!important;
  }
}

/* Sponsored company heading: company name + red Follow button on the same row. */
.sponsored-company-title-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  min-width:0;
}
.sponsored-company-title-row .sponsored-company-name{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sponsored-company-follow{
  flex:0 0 auto!important;
  height:27px!important;
  padding:0 10px!important;
  border:1px solid #d92d20!important;
  background:#d92d20!important;
  color:#fff!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
}
.sponsored-company-follow:hover{
  border-color:#b42318!important;
  background:#b42318!important;
  color:#fff!important;
}
.sponsored-company-follow.is-following{
  border-color:#b42318!important;
  background:#fff!important;
  color:#b42318!important;
}

/* V0.45 global floating private-message window. */
.global-chat-widget{position:fixed;right:20px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:79;pointer-events:none}
.global-chat-fab{pointer-events:auto;position:absolute;right:0;bottom:0;width:50px;height:50px;border:0;border-radius:50%;display:grid;place-items:center;background:#0e7b72;color:#fff;box-shadow:0 12px 30px rgba(15,66,92,.26);cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.global-chat-fab:hover{background:#0a685f;transform:translateY(-1px);box-shadow:0 15px 34px rgba(15,66,92,.3)}
.global-chat-fab svg{width:25px;height:25px;display:block}
.global-chat-unread{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#e43b35;color:#fff;font-size:10px;font-weight:900;line-height:1}
.global-chat-unread[hidden]{display:none!important}
.global-chat-panel{pointer-events:auto;position:absolute;right:0;bottom:62px;width:min(720px,calc(100vw - 40px));height:min(590px,calc(100dvh - 120px));max-height:calc(100dvh - 120px);border:1px solid #d8e2e9;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 22px 70px rgba(22,52,75,.24);transform-origin:bottom right}
.global-chat-panel[hidden]{display:none!important}
.global-chat-window-head{height:46px;padding:0 10px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5eb;background:#fff}
.global-chat-window-head strong{font-size:14px;color:#1b2a38}
.global-chat-minimize{width:34px;height:32px;border:0;border-radius:9px;background:transparent;color:#52687a;font-size:19px;font-weight:900;cursor:pointer}.global-chat-minimize:hover{background:#edf3f6;color:#163c64}
.global-chat-dynamic{height:calc(100% - 46px)}
.global-chat-loading,.global-chat-empty{padding:22px;color:#788898;font-size:12px;text-align:center}.global-chat-empty-main{margin:auto}
.global-chat-shell{height:100%;display:grid;grid-template-columns:215px minmax(0,1fr);min-width:0;background:#f1f4f6}
.global-chat-contacts-pane{min-width:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #dce5eb}
.global-chat-contacts-head{height:45px;flex:0 0 45px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e9ee}.global-chat-contacts-head strong{font-size:12px}.global-chat-contacts-head span{min-width:22px;height:22px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:#edf2f5;color:#687a89;font-size:10px;font-weight:850}
.global-chat-contacts{min-height:0;overflow-y:auto;scrollbar-width:thin}
.global-chat-contact{position:relative;width:100%;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;padding:10px 10px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;color:inherit;cursor:pointer}.global-chat-contact:hover{background:#f3f7f9}.global-chat-contact.is-active{background:#e9eef2}.global-chat-contact-avatar{width:42px;height:42px;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:#e6eef3;color:#24536f;font-size:12px;font-weight:900}.global-chat-contact-avatar img{display:block;width:100%;height:100%;object-fit:cover}.global-chat-contact-copy{min-width:0}.global-chat-contact-copy>span{display:flex;align-items:center;gap:6px}.global-chat-contact-copy strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.global-chat-contact-copy time{flex:0 0 auto;color:#95a1ab;font-size:8px}.global-chat-contact-copy small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#778794;font-size:10px}.global-chat-contact-unread{position:absolute;left:36px;top:6px;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:99px;display:grid;place-items:center;background:#e6433c;color:#fff;font-size:8px}
.global-chat-conversation{min-width:0;min-height:0;display:flex;flex-direction:column;background:#eef1f3}
.global-chat-person-head{flex:0 0 auto;min-height:60px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #d9e0e5;background:#f9fbfc}.global-chat-person{min-width:0;display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.global-chat-person-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:#e3ebf1;color:#24536f;font-size:13px;font-weight:900}.global-chat-person-avatar img{display:block;width:100%;height:100%;object-fit:cover}.global-chat-person-copy{min-width:0}.global-chat-person-name{display:flex;align-items:baseline;gap:7px;min-width:0}.global-chat-person-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.global-chat-person-name em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#697c8b;font-size:10px;font-style:normal;font-weight:700}.global-chat-person-copy small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8996;font-size:10px}.global-chat-person-copy small.is-verified{color:#05825e;font-weight:800}.global-chat-person-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.global-chat-person-actions button{height:29px;padding:0 9px;border-radius:8px;font-size:10px;font-weight:850;cursor:pointer}.global-chat-block-btn,.global-chat-delete-conversation{border:1px solid #efc3c1;background:#fff7f7;color:#c8322d}.global-chat-block-btn:hover,.global-chat-delete-conversation:hover{background:#fff0ef}.global-chat-unblock-btn{border:1px solid #bce1cb;background:#effaf3;color:#087944}.global-chat-person-actions .is-disabled{opacity:.5;cursor:not-allowed}
.global-chat-thread{min-height:0;flex:1;overflow-y:auto;padding:12px 13px;scrollbar-width:thin}.global-chat-message-row{display:flex;align-items:flex-start;gap:7px;margin:0 0 9px}.global-chat-message-row.is-mine{flex-direction:row-reverse}.global-chat-message-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:#dfeaf0;color:#22516d;font-size:10px;font-weight:900}.global-chat-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}.global-chat-bubble{position:relative;max-width:74%;min-width:86px;padding:8px 9px 6px;border-radius:9px;background:#fff;color:#182632;box-shadow:0 1px 2px rgba(20,42,60,.06)}.global-chat-message-row.is-mine .global-chat-bubble{background:#93ea65}.global-chat-bubble:before{content:"";position:absolute;top:11px;left:-5px;width:9px;height:9px;background:inherit;transform:rotate(45deg)}.global-chat-message-row.is-mine .global-chat-bubble:before{left:auto;right:-5px}.global-chat-bubble p{margin:0;font-size:12px;line-height:1.42}.global-chat-bubble-foot{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:3px;color:#748592;font-size:8px}.global-chat-bubble-foot time{margin-right:auto}.global-chat-bubble-foot button{border:0;background:none;padding:0;color:#526f82;font-size:8px;cursor:pointer}.global-chat-bubble-foot button.danger{color:#b63b35}.global-chat-quote{margin:0 0 5px;padding:5px 7px;border-left:3px solid rgba(58,99,116,.45);border-radius:5px;background:rgba(255,255,255,.52);font-size:9px}.global-chat-quote strong,.global-chat-quote span{display:block}.global-chat-quote span{margin-top:2px;color:#5f707c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-chat-image{display:block;margin:5px 0}.global-chat-image img{display:block;max-width:220px;max-height:170px;border-radius:7px;object-fit:cover}.global-chat-file{display:block;margin:5px 0;color:#245b7d;font-size:10px;font-weight:750}.global-chat-historic-video{margin:5px 0;max-width:240px}.global-chat-historic-video video{display:block;width:100%;max-height:190px;border-radius:7px;background:#111}
.global-chat-compose{flex:0 0 auto;padding:9px 10px;background:#f9fbfc;border-top:1px solid #d9e0e5}.global-chat-compose textarea{display:block;width:100%;min-height:58px;max-height:100px;padding:9px 10px;border:1px solid #ccd8e0;border-radius:10px;resize:vertical;background:#fff;font:inherit;font-size:12px}.global-chat-compose-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.global-chat-compose-actions label{position:relative;color:#315a7d;font-size:10px;font-weight:800;cursor:pointer}.global-chat-compose-actions input[type=file]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.global-chat-compose-actions .btn{height:31px;margin-left:auto;padding:0 13px;font-size:10px}.global-chat-reply-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;padding:6px 8px;border-left:3px solid #2f8f71;border-radius:7px;background:#edf6f3}.global-chat-reply-preview[hidden]{display:none}.global-chat-reply-preview strong,.global-chat-reply-preview span{display:block;font-size:9px}.global-chat-reply-preview span{margin-top:2px;color:#637580;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-chat-reply-preview>div{min-width:0}.global-chat-reply-preview>button{border:0;background:transparent;color:#657480;font-size:17px;cursor:pointer}.global-chat-blocked-note{flex:0 0 auto;margin:8px 10px;padding:9px 11px;border:1px solid #ecd2c7;border-radius:9px;background:#fff8f3;color:#8e4d36;font-size:10px;line-height:1.45}
[dir="rtl"] .global-chat-contact{text-align:right}[dir="rtl"] .global-chat-message-row.is-theirs{flex-direction:row}[dir="rtl"] .global-chat-message-row.is-mine{flex-direction:row-reverse}[dir="rtl"] .global-chat-person-actions{direction:rtl}
@media(max-width:700px){
  .global-chat-widget{right:14px;bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .global-chat-fab{width:46px;height:46px}.global-chat-fab svg{width:23px;height:23px}
  .global-chat-panel{position:fixed;right:10px;left:10px;bottom:calc(70px + env(safe-area-inset-bottom,0px));width:auto;height:min(70dvh,590px);max-height:calc(100dvh - 92px - env(safe-area-inset-bottom,0px));border-radius:15px}
  .global-chat-shell{display:flex;flex-direction:column}
  .global-chat-contacts-pane{flex:0 0 auto;border-right:0;border-bottom:1px solid #dce5eb}
  .global-chat-contacts-head{display:none}
  .global-chat-contacts{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
  .global-chat-contact{flex:0 0 138px;grid-template-columns:34px minmax(0,1fr);padding:8px;border-bottom:0;border-right:1px solid #edf1f4;scroll-snap-align:start}.global-chat-contact-avatar{width:34px;height:34px}.global-chat-contact-copy time{display:none}.global-chat-contact-unread{left:28px;top:4px}
  .global-chat-conversation{flex:1;min-height:0}.global-chat-person-head{min-height:56px;padding:7px 8px}.global-chat-person-avatar{flex-basis:36px;width:36px;height:36px}.global-chat-person-name strong{font-size:12px}.global-chat-person-name em{font-size:9px}.global-chat-person-copy small{font-size:9px}.global-chat-person-actions{gap:4px}.global-chat-person-actions button{height:27px;padding:0 7px;font-size:9px}
  .global-chat-thread{padding:9px 8px}.global-chat-message-avatar{flex-basis:29px;width:29px;height:29px}.global-chat-bubble{max-width:82%;padding:7px 8px 5px}.global-chat-bubble p{font-size:11px}.global-chat-compose{padding:8px}.global-chat-compose textarea{min-height:52px}.global-chat-compose-actions{gap:7px}.global-chat-compose-actions label span{display:none}
  .back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
}
.global-chat-action-icon{display:none;font-size:13px;line-height:1}.global-chat-action-label{display:inline}
@media(max-width:430px){.global-chat-person-actions button{width:29px;padding:0;display:grid;place-items:center}.global-chat-action-label{display:none}.global-chat-action-icon{display:block}}

/* V0.45 mobile safe-area hardening for the floating chat + back-to-top stack. */
@supports (bottom: env(safe-area-inset-bottom)) {
  .back-to-top{bottom:calc(14px + env(safe-area-inset-bottom))!important}
  .global-chat-widget{bottom:calc(78px + env(safe-area-inset-bottom))}
  @media(max-width:760px){
    .global-chat-widget{bottom:calc(68px + env(safe-area-inset-bottom))}
    .global-chat-panel{bottom:calc(70px + env(safe-area-inset-bottom));height:min(70dvh,590px)}
  }
}

/* V0.45 recommendation identity row: keep the professional title beside the name. */
.recommendation-person .info{min-width:0}
.recommendation-person-name-row{display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap}
.recommendation-person-name-row .recommendation-name{display:block;min-width:0;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recommendation-person-name-row .recommendation-name strong{display:inline!important;font-size:14px}
.recommendation-job-title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:12px;font-weight:650}

/* V0.45 floating chat hardening: give the fixed anchor a real box so the FAB cannot collapse outside the viewport. */
.global-chat-widget{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important;overflow:visible!important;box-sizing:border-box!important;transform:none!important}
.global-chat-fab{box-sizing:border-box!important;right:0!important;bottom:0!important;min-width:50px!important;max-width:50px!important;min-height:50px!important;max-height:50px!important;overflow:visible!important;clip:auto!important;transform:none}
.global-chat-fab:hover{transform:translateY(-1px)}
@media(max-width:700px){
  .global-chat-widget{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important}
  .global-chat-fab{min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important}
}


/* V0.47 layout refinements --------------------------------------------------
   Mobile transaction disclaimer follows AI Knowledge Discovery and precedes
   the Textile Alliance administrator card. Account activity cards share the
   right-column width. Footer spacing is intentionally compact. */
.desktop-transaction-notice{display:block}
.mobile-transaction-notice{display:none}

.foot{padding:18px 0 22px}
.foot-grid{gap:10px 18px;align-items:flex-start}

/* Product Management CTA shares the same right action edge as Apply Advertising. */
.product-upload-account-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.product-upload-account-card .account-profile-cta-actions{
  flex:0 0 auto;
  width:auto!important;
  max-width:44%;
  margin-top:0!important;
  justify-content:flex-end!important;
}
.product-upload-account-card .account-profile-cta-actions .btn{
  width:auto!important;
  max-width:100%;
  justify-content:center;
}

/* Right activity column: Publication History -> Saved -> Followers -> Notices -> Weekly Digest. */
.account-dashboard-column-activity>.account-history-card{order:2}
.account-dashboard-column-activity>.account-saved-card{order:3}
.account-dashboard-column-activity>.account-followers-card{order:4}
.account-dashboard-column-activity>.platform-management-notifications{order:5}
.account-dashboard-column-activity>.account-email-subscription-card{order:6}

@media(max-width:900px){
  .desktop-transaction-notice{display:none!important}
  .mobile-transaction-notice{display:block;margin-top:0;order:98}
  .side-stack .admin-contact-panel{order:99}
}

@media(max-width:650px){
  .foot{
    padding:12px 0 calc(16px + env(safe-area-inset-bottom, 0px));
    font-size:11px;
  }
  .foot-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    line-height:1.45;
  }
  .product-upload-account-card{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .product-upload-account-card .account-profile-cta-actions{
    width:100%!important;
    max-width:100%!important;
    margin-top:0!important;
    display:flex!important;
    justify-content:flex-end!important;
  }
  .product-upload-account-card .account-profile-cta-actions .btn{
    width:auto!important;
    max-width:100%;
  }
}

/* V0.47 Account action-edge consistency: the two management CTAs use the same right edge. */
.account-ad-applications-card .account-publication-head>.btn{
  flex:0 0 auto;
  width:auto!important;
  max-width:100%;
  justify-self:end;
}

/* V0.48 mobile/multilingual layout hardening ---------------------------------
   Keep every supported locale inside the mobile viewport without changing the
   platform's localized wording. The quick-action strip remains intentionally
   horizontally scrollable; page-level horizontal overflow is not allowed. */
.hero-grid > div:first-child{min-width:0;max-width:100%}
.hero h1,
.hero .lead,
.global-scope-notice-inner,
.sponsored-company-name,
.sponsored-company-type,
.sponsored-company-products p{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

@media(max-width:650px){
  .hero-grid,
  .hero-grid > div:first-child,
  .hero h1,
  .hero .lead,
  .search,
  .quick{
    min-width:0;
    max-width:100%;
  }
  .hero h1{
    font-size:clamp(28px,8vw,32px);
    line-height:1.12;
    letter-spacing:-.025em;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  html[lang="ja"] .hero h1,
  html[lang="ko"] .hero h1,
  html[lang="zh-CN"] .hero h1,
  html[lang="zh"] .hero h1{
    line-height:1.16;
    letter-spacing:-.015em;
  }
  html[lang="hi"] .hero h1,
  html[lang="ar"] .hero h1{
    line-height:1.2;
    letter-spacing:0;
  }
  .global-scope-notice-inner span,
  .global-scope-notice-inner strong{
    overflow-wrap:anywhere;
  }
}

/* V0.48 Sponsored media: the photograph must meet the company/Logo section
   directly; no empty media background band is allowed on mobile or desktop. */
.hero-grid > .hero-ad-stack > .hero-ad-card .sponsored-company-media > img,
.hero-grid > .hero-ad-card .sponsored-company-media > img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  display:block!important;
}

/* V0.48 owner controls: reserve the far-right edge for Edit/Delete instead of
   squeezing the Comment/Message/Like/Save/Repost controls into seven equal
   mobile columns. */
@media(max-width:620px){
  .content-actions.has-owner-actions{
    /* Owner posts render four normal actions (Comment / Like / Save / Repost)
       plus the Edit/Delete group. Give the four public actions their real four
       columns so the first Comment icon is never squeezed against the card edge. */
    grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;
    align-items:center;
    padding-inline-start:2px;
  }
  .content-actions.has-owner-actions > .content-action:first-child{
    justify-content:flex-start;
    padding-inline-start:1px!important;
  }
  .content-actions.has-owner-actions .publication-owner-actions{
    grid-column:-2 / -1!important;
    justify-self:end;
    width:auto!important;
    min-width:max-content;
    margin:0!important;
    padding-inline-start:8px!important;
    gap:4px!important;
  }
  .content-actions.has-owner-actions .publication-owner-actions form,
  .content-actions.has-owner-actions .publication-owner-action{
    flex:0 0 auto!important;
    width:auto!important;
  }
  .content-actions.has-owner-actions .publication-owner-action{
    min-width:42px!important;
    padding:0 6px!important;
  }
}

/* V0.48 floating-chat mobile layout: the contact strip is no longer permanently
   rendered above the active person's header. It is available only through the
   compact contacts toggle. The green launcher is hidden while the panel is open
   so it cannot cover the Send button. */
.global-chat-window-title{display:flex;align-items:center;gap:8px;min-width:0}
.global-chat-contacts-toggle{display:none;width:30px;height:30px;border:1px solid #d9e2e8;border-radius:8px;background:#fff;color:#315a7d;font-size:14px;line-height:1;cursor:pointer}
.global-chat-widget.is-open .global-chat-fab{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media(max-width:700px){
  .global-chat-contacts-toggle{display:grid;place-items:center}
  .global-chat-shell{position:relative}
  .global-chat-contacts-pane{display:none!important}
  .global-chat-shell.is-contacts-open .global-chat-contacts-pane{
    display:flex!important;
    position:absolute;
    z-index:8;
    top:0;
    left:0;
    right:0;
    max-height:118px;
    border-right:0;
    border-bottom:1px solid #dce5eb;
    box-shadow:0 10px 22px rgba(18,38,63,.12);
  }
  .global-chat-shell.is-contacts-open .global-chat-contacts{
    display:flex;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    background:#fff;
  }
  .global-chat-conversation{min-height:0}
}

/* V0.48 native Sponsored feed placement --------------------------------------
   Mobile home: Sponsored leaves the Hero and occupies the second feed slot.
   Category feeds: the same native placement is visible on desktop and mobile.
   No active ad means no card and therefore no reserved feed space. */
.feed-sponsored-card{
  width:100%;
  min-width:0;
  margin:0;
  border-color:#d8e3ea;
}
.feed-sponsored-card .sponsored-company-media{
  width:100%;
  min-height:0;
  aspect-ratio:16/7;
}
.feed-sponsored-card .sponsored-company-media>img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
}
.feed-sponsored-card .sponsored-company-brand-info{
  min-width:0;
  flex:1;
}
.feed-sponsored-card .sponsored-company-actions>a:only-child{
  grid-column:1 / -1;
}
.sponsored-company-follow-live{
  flex:0 0 auto;
}
.sponsored-company-follow-live .company-follow-control{
  display:block;
  margin:0;
}
.sponsored-company-follow-live .company-follow-form{
  margin:0;
}
.sponsored-company-follow-live .company-follower-count{
  display:none!important;
}
.sponsored-company-follow-live .company-follow-btn{
  min-height:27px;
  height:27px;
  padding:0 10px;
  border:1px solid #d92d20;
  border-radius:999px;
  background:#d92d20;
  color:#fff;
  font-size:11px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
.sponsored-company-follow-live .company-follow-btn:hover{
  border-color:#b42318;
  background:#b42318;
  color:#fff;
}
.sponsored-company-follow-live .company-follow-btn.is-following{
  border-color:#b42318;
  background:#fff;
  color:#b42318;
}
.sponsored-feed-logo-text{
  flex:0 0 58px;
}

/* The home-feed copy exists for responsive placement only. Desktop keeps the
   existing Hero-side Sponsored treatment; mobile shows the native feed copy. */
.feed-sponsored-home-mobile{display:none;}
@media(max-width:900px){
  .hero.has-sponsored .home-hero-ad{display:none!important;}
  .feed-sponsored-home-mobile{display:block;}
  .home-main{padding-top:12px!important;}
  .feed-sponsored-card .sponsored-company-media{
    aspect-ratio:16/8;
  }
}
@media(max-width:620px){
  .feed-sponsored-card .sponsored-company-body{padding:17px 15px 16px;}
  .feed-sponsored-card .sponsored-company-media{aspect-ratio:16/8.2;}
  .feed-sponsored-card .sponsored-company-title-row{gap:6px!important;}
  .feed-sponsored-card .sponsored-company-actions{gap:7px;}
}

/* Keep native Sponsored cards feed-sized on wide category pages; without this
   cap a 16:7 image across the full desktop content width would become too tall. */
@media(min-width:901px){
  .feed-sponsored-card .sponsored-company-media{
    height:clamp(220px,24vw,300px);
    aspect-ratio:auto;
  }
}

/* V0.48 platform-pinned publication marker */
.community-feed-card,
.profile-publication-card{
  position:relative;
}
.platform-pin-star{
  position:absolute;
  top:12px;
  right:14px;
  z-index:2;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  color:#d89b00;
  font-size:24px;
  line-height:1;
  text-shadow:0 1px 0 #fff3bf,0 1px 8px rgba(216,155,0,.16);
  user-select:none;
  pointer-events:none;
}
.platform-pin-star + .post-author-row{
  padding-right:34px;
}
@media(max-width:620px){
  .platform-pin-star{
    top:10px;
    right:11px;
    width:26px;
    height:26px;
    font-size:22px;
  }
  .platform-pin-star + .post-author-row{
    padding-right:31px;
  }
}

/* V0.50 feed comments are fetched only when a user opens the panel. */
.inline-comment-loading{
  min-height:42px;
  display:grid;
  place-items:center;
}
.inline-comment-loading>span{
  width:18px;
  height:18px;
  border:2px solid rgba(22,60,100,.16);
  border-top-color:#163c64;
  border-radius:50%;
  animation:ta-comment-spin .7s linear infinite;
}
@keyframes ta-comment-spin{to{transform:rotate(360deg)}}


/* V0.50 localized file controls: browser-native file-control labels follow the
   device/browser language, so keep the native input accessible but render the
   visible control using Textile Alliance's selected UI language. */
.localized-file-picker{
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
  width:100%;
  min-height:46px;
  margin-top:6px;
  border:1px solid #d7e1ea;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.localized-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.localized-file-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  margin:0;
  border:0;
  border-inline-end:1px solid #d7e1ea;
  background:#f4f7fa;
  color:#173f68;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.localized-file-button:hover{background:#edf3f8;}
.localized-file-button:focus-visible{outline:3px solid rgba(23,63,104,.16);outline-offset:-3px;}
.localized-file-status{
  min-width:0;
  flex:1 1 auto;
  padding:0 12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6f8094;
  direction:ltr;
  text-align:start;
}
@media(max-width:520px){
  .localized-file-picker{min-height:44px;}
  .localized-file-button{min-height:42px;padding:0 11px;font-size:13px;}
  .localized-file-status{padding:0 9px;font-size:12px;}
}

/* V0.50 — reposts are part of Account publication history */
.publication-history-repost-badge{
  background:#fff3e0;
  color:#a15c00;
}
.publication-history-repost-source{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
  color:#667085;
  font-size:12px;
  line-height:1.55;
}
.publication-history-repost-source > span:first-child{
  font-weight:800;
  color:#8a5a00;
}
.publication-history-repost-source a,
.publication-history-repost-source strong{
  color:#163c64;
  font-weight:800;
  text-decoration:none;
}
.publication-history-source-link{
  margin-inline-start:4px;
}
@media(max-width:650px){
  .publication-history-repost-source{
    font-size:13px;
  }
}

/* V0.50 — compact repost source attribution: a repost is a new post, not a nested card */
.repost-source-line{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  margin:10px 0 2px 43px;
  min-width:0;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.repost-source-prefix{
  flex:0 0 auto;
  color:#98a2b3;
  font-weight:750;
}
.repost-source-name,
.repost-source-kind{
  min-width:0;
  color:#344054;
  font-weight:850;
  text-decoration:none;
}
.repost-source-name{
  max-width:min(52vw,360px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.repost-source-name .verified{color:#07805f;}
.repost-source-kind{
  flex:0 0 auto;
  color:#163c64;
}
.repost-source-name:hover,
.repost-source-kind:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:620px){
  .repost-source-line{margin-left:0;font-size:10px;gap:4px;}
  .repost-source-name{max-width:55vw;}
}
.publication-history-repost .repost-source-line{
  margin:5px 0 0;
}


/* V0.53 desktop homepage rail spacing -----------------------------------------
   Sponsored is outside the Hero height calculation so the left Feed can start
   high. V0.51 used a deliberately large emergency fallback (210–280px), which
   became visible as a blank block after the Sponsored card was shortened in
   V0.52. Keep only a normal card gap here; JavaScript measures the actual ad
   bottom immediately and adds extra clearance only when the ad truly extends
   below the main content start. */
@media(min-width:901px){
  .home-main.has-hero-sponsored>.layout>.side-stack{
    margin-top:18px;
  }
  .home-main.has-hero-sponsored>.layout>.side-stack[style*="margin-top"]{
    min-height:0;
  }
}

/* V0.52 Sponsored: website/email are available only through the action buttons.
   Removing duplicate contact rows reduces card height on desktop and mobile. */
.sponsored-company-actions{margin-top:12px;}
@media(max-width:760px){
  .sponsored-company-actions{margin-top:10px;}
}

/* V0.53 AI localization display: switch only between already available original/cache data. */
.ta-translation-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px;font-size:12px;color:var(--muted,#718096)}
.ta-translation-toggle{border:0;background:transparent;padding:0;color:#0f5b86;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.ta-translation-original[hidden],.ta-translation-current[hidden]{display:none!important}
html[dir="rtl"] .ta-translation-meta{direction:rtl}
html[dir="rtl"] .ta-translation-meta [dir="ltr"]{direction:ltr}
.ta-quality-assist{margin:14px 0;padding:14px 16px;border:1px solid #d9e7df;border-radius:12px;background:#f7fbf8;color:#30483b}.ta-quality-assist strong{display:block;margin-bottom:5px}.ta-quality-assist p{margin:0 0 7px;color:#66766d}.ta-quality-assist ul{margin:6px 0 0;padding-inline-start:20px}


/* V0.54 login-safe Sponsored clearance. The actual value is measured by the
   homepage inline guard before the shared logged-in chat client initializes. */
@media(min-width:901px){
  .home-main.has-hero-sponsored>.layout>#homeSupportRail{margin-top:18px;}
}
