/* Size cards by the workspace, not by the device width behind the sidebar. */
html { -webkit-text-size-adjust: 100%; scroll-padding-block: 100px 120px; }
.workspace { container: cabinet / inline-size; }
.topbar > *, .ds-actions > *, .ds-heading > *, .quick-entry > *, .people-toolbar > *,
.compatibility-share > *, .analysis-dialog-head > *, .profile-form > * { min-width: 0; }
input, textarea, select { font-size: 16px; scroll-margin-block: 100px 120px; }
.button, .ds-button, .ds-secondary, .ds-link, .kn-button, .kn-link, .text-action,
.ds-tab, .people-filters button, .sn-insight-nav button, .share-channel { min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.ds-hero .ds-link { color: #d3f1e5; }
.ds-actions, .ds-heading, .people-toolbar, .people-actions, .cp-result-top,
.analysis-dialog footer, .sn-insights footer { flex-wrap: wrap; }
.request-preview > span { max-width: 100%; overflow-wrap: anywhere; }
.profile-radio b, .profile-switch b { font-size: 15px; line-height: 1.5; }
.profile-radio small, .profile-switch small { font-size: 14px; line-height: 1.55; }
.profile-radio input, .profile-switch input { flex-shrink: 0; }
.professional-details summary { min-height: 44px; }
#saveProfileDialog #savePasswordToggle { min-height: 44px; font-size: 14px; }
#savePasswordHint, #saveProfileDialog > p:not(.eyebrow) { font-size: 14px; line-height: 1.6; }
.auth-mode button, .auth-help summary { min-height: 44px; }
.auth-help, [data-auth-hint] { font-size: 14px; line-height: 1.6; }
.auth-help summary { display: flex; align-items: center; }
.ds-code summary { min-height: 48px; }
.quick-entry .button { white-space: normal; }
.cabinet-nav { scroll-snap-type: x proximity; scroll-padding-inline: 8px; }
.cabinet-nav .nav-item { scroll-snap-align: start; }
dialog { max-height: calc(100dvh - 32px); }
dialog input, dialog textarea, dialog select { max-width: 100%; }
dialog p, dialog h2, dialog h3, dialog a { overflow-wrap: anywhere; }
dialog.analysis-dialog.sn-insights { max-height: calc(100dvh - 24px); }
.sn-insights .analysis-dialog-body { scroll-padding-top: 16px; }
@container cabinet (max-width: 900px) {
  .request-layout, .ds-routes { grid-template-columns: minmax(0, 1fr); }
  .request-preview { position: static; min-height: 0; }
  .quick-entry { align-items: flex-start; flex-direction: column; gap: 16px; padding: 24px; }
  .quick-entry .button { align-self: stretch; }
}
@container cabinet (max-width: 680px) {
  .grid-three, .grid-two, .cp-choices, .cp-grid, .contact-settings-grid,
  .profile-form, .connection-invite-list, .ds-feature-grid, .ds-map-grid,
  .people-grid { grid-template-columns: minmax(0, 1fr); }
  .ds-how { grid-template-columns: minmax(0, 1fr); }
  .profile-form > * { grid-column: 1 / -1; }
  .ds-hero .ds-actions { align-items: stretch; flex-direction: column; }
  .ds-hero .ds-actions > * { width: 100%; }
  .inbox-item { grid-template-columns: auto minmax(0, 1fr); }
  .inbox-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .topbar { gap: 20px; }
  .topbar .ux-compare-shortcut { display: none; }
  .global-search { flex: 1 1 auto; width: auto; max-width: 540px; }
  .cabinet-nav .nav-item { font-size: 14px; }
}
@media (max-width: 760px) {
  .topbar { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  main { padding-bottom: calc(116px + env(safe-area-inset-bottom)); }
  .sidebar { padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
  .cabinet-nav .nav-item { flex-basis: 98px; min-height: 60px; font-size: 12px; }
  .guest-banner { padding: 18px; gap: 14px; }
  .guest-banner b { font-size: 16px; }
  .guest-banner span { line-height: 1.55; }
  .ds-hero { padding: 24px 20px; }
  .ds-hero h1 { font-size: clamp(29px, 7.5vw, 36px); }
  .ds-hero .ds-hero-primary { font-size: 16px !important; }
  .ds-feature, .ds-invite-card { padding: 24px 20px; }
  .ds-route small { font-size: 15px; }
  .phone-login-form { margin-top: 24px; }
  .contact-settings { padding: 18px 14px; }
  .profile-form, .network-request-form { padding: 22px 18px; }
  .quick-entry { padding: 22px 20px; }
  dialog { max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .sn-insights .analysis-dialog-head h2 { font-size: 26px !important; }
  .sn-insights footer > * { max-width: 100%; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .topbar { position: relative; }
  .sidebar { position: static; border-radius: 12px; }
  .dashboard { grid-template-columns: minmax(0, 1fr); }
  .sidebar-user, .sidebar .telegram-link { display: none; }
  .cabinet-nav { display: flex; overflow-x: auto; }
  .cabinet-nav .nav-item { flex: 0 0 auto; min-width: 96px; }
  main { padding-bottom: 32px; }
  dialog, dialog.analysis-dialog.sn-insights { max-height: calc(100dvh - 16px); }
  .sn-insights .analysis-dialog-head { padding-block: 12px; }
}
