/* Final alignment with the supplied 1448 × 1086 desktop references. */
/* Compact sidebar typography and row spacing from the menu reference. */
:is(.sidebar, .sidebar.mobile-open) :is(.nav-link, .nav-new) {
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  height: 36px;
  min-height: 36px;
  padding: 8px 12px;
  gap: 10px;
}

:is(.sidebar, .sidebar.mobile-open) .nav-link {
  margin: 0;
}

:is(.sidebar, .sidebar.mobile-open) .nav-new {
  margin: 20px 0 4px;
}

:is(.sidebar, .sidebar.mobile-open) :is(.nav-link, .nav-new) > .icon {
  width: 20px;
  height: 20px;
}

:is(.sidebar, .sidebar.mobile-open) .nav-link > .icon.chev {
  width: 16px;
  height: 16px;
}

.sidebar .history-item {
  min-height: 32px;
  padding: 6px 8px;
  gap: 10px;
}

.sidebar .history-item .icon {
  width: 18px;
  height: 18px;
}

.sidebar .history-label {
  margin: 12px 0 4px;
}

.settings-profile-layout .profile-settings-content { min-width: 0; }
.settings-profile-layout .profile-grid { grid-template-columns: minmax(0, 1fr) !important; }
.settings-profile-layout .preferences-panel { width: 100% !important; }
.settings-profile-layout .personal-panel { min-height: 0 !important; }
.settings-profile-layout .personal-content { gap: 20px; }
.settings-profile-layout .photo-area { padding-right: 18px; }
.settings-profile-layout .profile-photo { width: 130px; height: 130px; }
.main:has(.settings-profile-layout) { padding-left: 20px !important; }
.collapsed .main:has(.settings-profile-layout) { padding-left: 36px !important; }
.main:has(.settings-profile-layout) .page-heading { min-height: 134px !important; padding: 1px 22px 20px !important; }
.main:has(.settings-profile-layout) .page-heading h1 { font-size: 32px !important; }
@media (max-width: 1100px) {
  .settings-profile-layout .personal-content { flex-direction: column; align-items: stretch; }
  .settings-profile-layout .photo-area { border-right: 0; border-bottom: 1px solid var(--line); padding: 15px 0 20px; }
}
@media (max-width: 900px) {
  .main:has(.settings-profile-layout), .collapsed .main:has(.settings-profile-layout) { padding-left: 20px !important; }
  .main:has(.settings-profile-layout) .page-heading { padding: 7px 0 25px !important; }
  .main:has(.settings-profile-layout) .page-heading h1 { font-size: 25.6px !important; }
}
@media (max-width: 650px) {
  .main:has(.settings-profile-layout), .collapsed .main:has(.settings-profile-layout) { padding-left: 16px !important; }
  .main:has(.settings-profile-layout) .page-heading { min-height: 0 !important; padding: 2px 0 25px !important; }
  .main:has(.settings-profile-layout) .page-heading h1 { font-size: 24px !important; }
}
@media (min-width: 1351px) {
  .collapsed .main:has(.general-panel) .page-heading { padding-bottom: 16px; }
  .collapsed .general-panel .setting-row { padding-top: 18px !important; padding-bottom: 18px !important; }
  .collapsed .general-panel .panel-section:nth-child(2) .setting-row { padding-top: 15px !important; padding-bottom: 15px !important; }
  .collapsed .general-panel .panel-section:last-child { margin-top: 20px !important; }
  .collapsed .subnav a { letter-spacing: -.45px; }
}
@media(min-width:901px) {
  .page-heading {
    padding-bottom: 20px
  }

  .general-panel .panel-section:first-child {
    padding-top: 0;
    margin-top: 0
  }

  .service-row {
    padding-top: 11px;
    padding-bottom: 11px;
    min-height: 88px
  }

  .service-row .grow {
    line-height: 20px
  }

  .service-row strong {
    display: block;
    line-height: 20px
  }

  .service-row p {
    line-height: 20px
  }

  .available-card {
    position: relative;
    gap: 13px;
    padding: 20px 14px 16px;
    min-height: 144px
  }

  .available-card>.icon {
    position: absolute;
    right: 10px;
    top: 23px
  }

  .available-card .service-icon {
    width: 32px;
    flex-shrink: 0
  }

  .available-card>div {
    flex: 1;
    min-width: 0
  }

  .available-card p {
    font-size: 9.6px;
    letter-spacing: -.2px
  }

  .panel:has(.available-services)>.note {
    padding: 13px 11px;
    gap: 14px;
    font-size: 10.4px
  }

  .panel:has(.available-services)>.note .btn {
    font-size: 9.6px;
    padding: 9px 14px
  }

  .general-panel {
    align-self: start
  }

  .sidebar.settings-side .nav-bottom {
    margin-top: 24px
  }

  .research-main .assistant-message:nth-of-type(2) .bubble {
    max-width: 86%
  }

  .research-main .assistant-message .complete-bubble {
    max-width: 92%
  }

  .research-heading h1 {
    letter-spacing: -1.35px
  }

  .research-main .composer {
    margin-bottom: 41px
  }

  .research-main .conversation {
    padding-bottom: 35px
  }
}

@media(min-width:1351px) {
  .general-panel .setting-row {
    padding: 17px 0
  }

  .general-panel .panel-section:nth-child(2) {
    padding-top: 20px;
    margin-top: 24px
  }

  .general-panel .panel-section:last-child {
    margin-top: 27px
  }

  .collapsed .general-panel {
    min-height: 865px
  }

  .collapsed .general-panel .setting-row {
    padding: 20px 0
  }

  .collapsed .general-panel .panel-section:first-child {
    padding-top: 0;
    margin-top: 0
  }

  .collapsed .general-panel .panel-section:nth-child(2) {
    margin-top: 25px;
    padding-top: 19px
  }

  .collapsed .general-panel .panel-section:last-child {
    margin-top: 28px
  }

  .collapsed .research-main .composer {
    margin-bottom: 0
  }

  .collapsed .research-main .assistant-message:nth-of-type(2) .bubble {
    max-width: 87%
  }

  .collapsed .research-main .assistant-message .complete-bubble {
    max-width: 92%
  }
}

@media(max-width:900px) {
  .general-panel .panel-section:first-child {
    padding-top: 0;
    margin-top: 0
  }
}
