.brand, .mobile-brand { min-width: 0; }
.brand { width: auto; max-width: 100%; margin-left: 5px; margin-right: 5px; }
.brand-logo { object-fit: contain; flex: none; width: 48px; height: 48px; }
.brand .brand-wordmark { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.brand .brand-wordmark > [data-brand-name] { display: block; margin: 0; font-size: 14px; font-weight: 800; letter-spacing: -.3px; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; color: var(--ink); }
.brand .brand-wordmark > [data-brand-tagline] { display: block; margin: 0; font-size: 8px; letter-spacing: .3px; font-weight: 500; line-height: 1.4; color: var(--secondary); }
.sidebar .brand { flex-direction: column; align-items: center; gap: 4px; width: 100%; margin: 0 0 12px; padding: 0 4px; text-align: center; }
.sidebar .brand .brand-logo { width: 40px; height: 40px; }
.sidebar .brand .brand-wordmark { display: flex; flex-direction: column; align-items: center; gap: 1px; width: 100%; }
.sidebar .brand .brand-wordmark > [data-brand-name] { font-size: clamp(11px, .85vw, 12px); font-weight: 650; line-height: 1.25; letter-spacing: .01em; text-wrap: balance; }
.sidebar .brand .brand-wordmark > [data-brand-tagline] { margin: 0; font-size: 9px; font-weight: 450; line-height: 1.25; letter-spacing: 0; }
.mobile-brand .brand-logo { width: 34px; height: 34px; }
.topbar .mobile-brand > strong { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.topbar .mobile-brand > strong > [data-brand-name] { display: block; margin: 0; font-size: 12px; font-weight: 800; letter-spacing: -.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; color: var(--ink); }
.topbar .mobile-brand > strong > [data-brand-tagline] { display: block; margin: 0; font-size: 7px; letter-spacing: 0; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; color: var(--secondary); }
#main .topbar .mobile-brand { gap: 6px; }
#main .topbar .mobile-brand .brand-logo { width: 30px; height: 30px; }
#main .topbar .mobile-brand > strong { gap: 1px; }
#main .topbar .mobile-brand > strong > [data-brand-name] { font-size: 11px; line-height: 1.25; letter-spacing: 0; font-weight: 650; }
#main .topbar .mobile-brand > strong > [data-brand-tagline] { font-size: 9px; line-height: 1.25; letter-spacing: 0; }
.auth-screen { background: var(--login-background,none) center / cover no-repeat var(--canvas); }
.auth-intro { padding-top: 10vh; padding-bottom: 10vh; }
.auth-brand { display: flex; align-items: center; gap: 20px; margin-bottom: 36px; position: relative; z-index: 1; }
.auth-brand .brand-logo { width: 100px; height: 100px; }
.auth-brand-copy { min-width: 0; }
.auth-brand .eyebrow { position: static; margin: 0; color: var(--ink); font-size: 17px; line-height: 1.5; letter-spacing: .8px; overflow-wrap: anywhere; }
.auth-brand [data-brand-tagline] { margin-top: 8px; color: var(--secondary); font-size: 12px; line-height: 1.5; }
.has-brand-background .auth-intro { background: linear-gradient(180deg,#ffffff32,#ffffff12); }
.has-brand-background .auth-orbit { display: none; }
.has-brand-background .auth-panel { background: #fffffff2; }
.share-header .brand-logo { width: 48px; height: 48px; object-fit: contain; }
.share-header h1 { overflow-wrap: anywhere; }
.brand-contact-details { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.brand-contact-details[hidden], .brand-contact-details > [hidden] { display: none; }
.brand-contact-details a { color: var(--secondary, #68737d); text-decoration: none; }
.brand-contact-details a[href]:hover { color: var(--ink, #20272f); text-decoration: underline; }
/* CSS icons survive text-only branding refreshes and cloned menu footers. */
:is(#auth-screen, .sidebar-bottom, #dialog-body) .brand-contact-details a:not([hidden]) {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  min-height: 24px;
  padding-block: 3px;
  text-align: left;
}
:is(#auth-screen, .sidebar-bottom, #dialog-body) .brand-contact-details a::before {
  content: "";
  width: 13px;
  height: 13px;
  margin-top: .2em;
  flex: none;
  background-color: currentColor;
  -webkit-mask: var(--brand-contact-icon) center / contain no-repeat;
  mask: var(--brand-contact-icon) center / contain no-repeat;
}
.brand-contact-details [data-brand-contact] {
  --brand-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-3 2a15 15 0 0 0 6 6l2-3 5 2v4a2 2 0 0 1-2 2A18 18 0 0 1 3 5a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
}
.brand-contact-details [data-brand-support-email] {
  --brand-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.auth-panel .brand-contact-details { margin-top: 18px; }
.sidebar-bottom .brand-contact-details { padding: 5px 8px; font-size: 10px; gap: 3px; flex-direction: column; }
.share-header .brand-contact-details { justify-content: flex-end; text-align: right; max-width: 42%; }
@media (max-width:599px) {
  .share-header .brand-contact-details { max-width: 48%; font-size: 10px; gap: 2px; flex-direction: column; }
}
@media (max-width:760px), (max-width:1024px) and (max-height:500px) {
  .auth-screen { background-position: center top; background-size: auto 100%; }
  .auth-intro { min-height: 220px; padding: 22px 28px 26px; }
  .auth-brand { margin-bottom: 20px; gap: 14px; }
  .auth-brand .brand-logo { width: 68px; height: 68px; }
  .auth-brand .eyebrow { font-size: 15px; }
  .auth-brand [data-brand-tagline] { font-size: 10px; margin-top: 4px; }
  .auth-intro h1 { font-size: 29px; }
  .has-brand-background .auth-intro { background: linear-gradient(#ffffff30,#ffffff50),var(--login-background); background-position: center bottom; background-size: cover; }
  .has-brand-background .auth-panel { background: #fffffff0; }
  .auth-panel { padding-top: 28px; }
}
