/* One shared fixed workspace rail for the public form and internal admin. */
.portal-shell--admin .portal-brand-mark {
  width: 112px !important;
  height: 38px !important;
  flex-basis: 112px !important;
}

.portal-shell--admin .portal-brand-mark img {
  transform: none !important;
  object-fit: contain !important;
}

@media (min-width: 761px) {
  .portal-shell {
    --portal-sidebar-width: 244px;
    grid-template-columns: 244px minmax(0, 1fr);
  }

  .portal-sidebar {
    width: 244px !important;
    padding: 18px 13px 15px !important;
  }

  .portal-brand {
    align-items: center !important;
    gap: 9px !important;
    padding: 8px 7px 19px 10px !important;
  }

  .portal-shell--admin .portal-brand {
    justify-content: flex-start !important;
  }

  .portal-shell--admin .portal-brand-mark {
    width: 112px !important;
    height: 38px !important;
    flex-basis: 112px !important;
  }

  .portal-shell--admin .portal-brand-mark img {
    transform: scale(1.18) !important;
    transform-origin: left center;
  }

  .portal-brand-copy {
    gap: 3px !important;
    padding-top: 0 !important;
  }

  .portal-brand-copy strong {
    font-size: 11px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.03em;
  }

  .portal-brand-copy small {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .portal-sidebar-rule {
    margin: 0 7px 20px !important;
  }

  .portal-sidebar-label {
    margin: 0 10px 8px !important;
    font-size: 10px !important;
    letter-spacing: .08em !important;
  }

  .portal-nav {
    gap: 5px !important;
  }

  .portal-nav a {
    min-height: 38px !important;
    gap: 10px !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .portal-nav-icon {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    border: 0 !important;
    border-radius: 7px !important;
  }

  .portal-nav-icon svg {
    width: 17px !important;
    height: 17px !important;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .portal-sidebar-foot {
    min-height: 40px;
    padding: 13px 8px 4px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 760px) {
  .portal-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-sidebar {
    width: 100% !important;
  }
}

@media (min-width: 761px) {
  .portal-shell--form .portal-brand-mark {
    width: 42px !important;
    height: 46px !important;
    flex-basis: 42px !important;
  }

  .portal-shell--form .portal-brand-mark img {
    transform: none !important;
    object-fit: contain !important;
  }

  .portal-shell--form .portal-brand-copy {
    flex: 1 1 auto;
    min-width: 0;
  }

  .portal-shell--form .portal-brand-copy strong {
    font-size: 9px;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  .portal-shell--form .portal-brand {
    gap: 8px;
  }

  .portal-shell--form .portal-brand-mark {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  .portal-shell--form .portal-brand-mark img {
    transform: none !important;
    object-fit: contain !important;
  }

  .portal-shell--form .portal-brand-copy {
    flex: 1 1 auto;
    min-width: 0;
  }

  .portal-shell--form .portal-brand-copy strong {
    font-size: 10px;
    white-space: nowrap;
  }
}
.portal-auth-pending #loginPanel { display: none !important; }
.display-name-button { margin-left:8px; padding:2px 6px; border:1px solid #dae4de; border-radius:5px; background:#fff; color:#62756b; font:11px 'Microsoft JhengHei',sans-serif; cursor:pointer; vertical-align:middle; }
.display-name-dialog { width:min(440px,calc(100vw - 32px)); padding:22px; border:1px solid #dbe4de; border-radius:12px; color:#29473b; font:13px 'Microsoft JhengHei',sans-serif; }
.display-name-dialog::backdrop { background:#23312c66; }
.display-name-dialog input { display:block; width:100%; margin:8px 0; padding:9px; border:1px solid #cfded4; border-radius:6px; font:inherit; }
.display-name-dialog button { padding:7px 10px; margin-right:8px; border:1px solid #cfded4; border-radius:6px; background:#fff; color:#29473b; font:inherit; cursor:pointer; }
.display-name-dialog p { font-size:12px; line-height:1.6; }
