/* Scoped customer cabinet and support. Public/auth/admin styles are unchanged. */
.mt-cabinet { --mtr-font-display: var(--mtr-font-text); grid-template-columns: 248px minmax(0,1fr); }
.mt-cabinet .mt-sidebar { background: var(--mt-color-background-surface); }
.mt-cabinet .mt-sidebar .mt-brand { padding-inline: 8px; }
.mt-cabinet .mt-side-nav a { min-height: 48px; }
.mt-cabinet .mt-app-main { width: 100%; }
.mt-cabinet .mt-app-topbar { padding-inline: 32px; gap: 16px; min-height: 92px; background: var(--mt-color-background-canvas); backdrop-filter: none; }
.mt-cabinet .mt-app-topbar h1 { font-size: 28px; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.25; }
.mt-cabinet .mt-app-topbar h1:focus { outline: none; }
.mt-cabinet #pageDescription { font-size: 14px; margin-top: 4px; }
.mt-cabinet .mt-connection-pill { background: transparent; border: 0; color: var(--mt-color-text-secondary); font-size: 13px; padding-inline: 8px; }
.mt-cabinet .mt-view { width: 100%; max-width: 1400px; padding: 28px 32px 64px; margin-inline: auto; gap: 24px; }
.mt-cabinet .mt-card { padding: 24px; border-radius: 18px; box-shadow: none; min-width: 0; }
.mt-cabinet .mt-button-primary { box-shadow: none; }
.mt-cabinet .mt-button, .mt-cabinet .mt-text-button, .mt-cabinet .mt-icon-button, .mt-cabinet .mt-list-actions button { min-height: 44px; }
.mt-cabinet .mt-text-button { white-space: normal; text-align: start; display: inline-flex; align-items: center; gap: 8px; }
.mt-cabinet .mt-card-head { align-items: flex-start; gap: 16px; }
.mt-cabinet .mt-card-head > div { min-width: 0; }
.mt-cabinet .mt-card-head h2, .mt-cabinet .mt-card h3 { font-size: 19px; line-height: 1.35; }
.mt-cabinet .mt-card-head p { font-size: 14px; }
.mt-cabinet .mt-section-head h2 { font-size: 24px; line-height: 1.3; }
.mt-cabinet .mt-section-head p { max-width: 58ch; }
.mt-cabinet h2, .mt-cabinet h3, .mt-cabinet p, .mt-cabinet strong { overflow-wrap: anywhere; }
.mt-cabinet .mt-dashboard { grid-template-columns: minmax(0,1fr) 280px; gap: 24px; }
.mt-cabinet .mt-dashboard-main, .mt-cabinet .mt-rail { gap: 24px; }
.mt-cabinet .mt-connection-hero { grid-template-areas: 'copy art' 'facts facts'; grid-template-columns: minmax(0,1fr) 176px; gap: 24px; background: var(--mt-color-background-surface); }
.mt-cabinet .mt-connection-hero h2 { font-size: 29px; margin: 0 0 12px; }
.mt-cabinet .mt-connection-hero > div > p { font-size: 15px; margin: 12px 0 20px; }
.mt-cabinet .mt-connection-hero .mt-actions { gap: 10px; }
.mt-cabinet .mt-connection-hero .mt-route-svg { width: 100%; max-width: 176px; }
.mt-cabinet .mt-hero-facts { border-top: 1px solid var(--mt-color-border-subtle); padding-top: 20px; margin: 0; gap: 16px; }
.mt-cabinet .mt-hero-facts .mt-tile { background: transparent; border: 0; padding: 0; border-radius: 0; gap: 8px; }
.mt-cabinet .mt-hero-facts dt { font-size: 13px; color: var(--mt-color-text-secondary); }
.mt-cabinet .mt-hero-facts dd { font-size: 16px; font-weight: 650; margin: 0; line-height: 1.4; }
.mt-cabinet .mt-hero-facts b { font-weight: inherit; }
.mt-cabinet-overview-lists { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.mt-cabinet-overview-lists > .mt-card { display: flex; flex-direction: column; }
.mt-cabinet-overview-lists > .mt-card > .mt-text-button { margin-top: auto; padding-top: 16px; }
.mt-cabinet .mt-overview-device { padding: 0; background: transparent; border: 0; align-items: flex-start; gap: 12px; }
.mt-cabinet .mt-device-icon { flex-shrink: 0; width: 40px; height: 40px; }
.mt-cabinet .mt-device-icon svg { width: 22px; height: 22px; }
.mt-cabinet .mt-list-main { min-width: 0; }
.mt-cabinet .mt-list-main span { overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
.mt-cabinet .mt-activity-item { gap: 12px; }
.mt-cabinet .mt-activity-item > span { width: 32px; height: 32px; flex-shrink: 0; }
.mt-cabinet .mt-activity-item svg { width: 18px; height: 18px; }
.mt-cabinet .mt-activity-item strong { font-size: 14px; }
.mt-cabinet .mt-activity-item small { font-size: 13px; }
.mt-cabinet .mt-cabinet-start .mt-quickstart-list { margin: 24px 0; }
.mt-cabinet .mt-cabinet-start .mt-button + .mt-button { margin-top: 12px; }
.mt-cabinet-location-link { display: flex; align-items: center; gap: 12px; min-height: 72px; padding: 12px 8px; text-align: start; border: 0; background: transparent; color: var(--mt-color-text-primary); font-size: 14px; cursor: pointer; }
.mt-cabinet-location-link > svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--mt-color-text-accent); }
.mt-cabinet-location-link > svg:last-child { margin-left: auto; }
.mt-cabinet-location-link small { display: block; margin-top: 4px; color: var(--mt-color-text-secondary); font-size: 13px; }
.mt-cabinet .mt-support-rail { padding: 18px; }
.mt-cabinet .mt-support-rail small { font-size: 13px; }
.mt-cabinet #locationGrid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.mt-cabinet #locationGrid > .mt-empty-state { grid-column: 1/-1; }
.mt-cabinet-country { display: grid; justify-items: center; gap: 12px; padding: 18px 8px; border: 1px solid var(--mt-color-border-subtle); border-radius: 12px; text-align: center; align-content: start; }
.mt-cabinet-country .mt-flag { width: 40px; height: 40px; font-size: 12px; }
.mt-cabinet-country strong { font-size: 13px; line-height: 1.45; }
.mt-cabinet-country small { font-size: 12px; color: var(--mt-color-status-success); margin-top: auto; }
.mt-cabinet-country.is-offline small { color: var(--mt-color-status-warning); }
.mt-cabinet .mt-two-column { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.mt-cabinet #connection .mt-card-head:first-child { flex-wrap: wrap; }
.mt-cabinet #subscriptionUrl { color: var(--mt-color-text-secondary); font-family: var(--mtr-font-text); font-size: 14px; line-height: 1.5; }
.mt-cabinet .mt-secret-field { padding: 16px; border-radius: 12px; }
.mt-cabinet .mt-secret-field > svg { flex-shrink: 0; }
.mt-cabinet-advanced { margin-top: 24px; border-top: 1px solid var(--mt-color-border-subtle); }
.mt-cabinet-advanced > summary { min-height: 52px; padding-block: 16px; cursor: pointer; font-weight: 600; font-size: 14px; }
.mt-cabinet-advanced p { font-size: 14px; margin-bottom: 16px; max-width: 58ch; }
.mt-cabinet-advanced .mt-card-actions { display: grid; justify-items: start; gap: 12px; }
.mt-cabinet .mt-cabinet-instructions h2 { font-size: 20px; }
.mt-cabinet .mt-cabinet-instructions .mt-steps-vertical { margin-top: 24px; }
.mt-cabinet .mt-cabinet-instructions small { font-size: 14px; line-height: 1.65; }
.mt-cabinet-safety { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0; font-size: 14px; }
.mt-cabinet-safety svg { width: 20px; height: 20px; flex-shrink: 0; }
.mt-cabinet .mt-profile-layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 24px; }
.mt-cabinet .mt-profile-card { align-self: start; }
.mt-cabinet .mt-profile-identity { gap: 16px; }
.mt-cabinet .mt-profile-label { display: none; }
.mt-cabinet .mt-profile-identity .mt-avatar { width: 44px; height: 44px; font-size: 18px; border-radius: 14px; box-shadow: none; background: var(--mt-color-action-primary); }
.mt-cabinet .mt-profile-identity h3 { font-size: 20px; }
.mt-cabinet .mt-security-head { padding-bottom: 20px; }
.mt-cabinet .mt-security-summary { padding-block: 16px; }
.mt-cabinet .mt-security-summary span { font-size: 12px; }
.mt-cabinet .mt-security-summary strong { font-size: 16px; }
.mt-cabinet .mt-session-region-head { padding-top: 20px; }
.mt-cabinet #revokeOtherSessions { margin-top: 20px; white-space: normal; text-align: center; }
.mt-cabinet #revokeOtherSessions:disabled { display: none; }
.mt-cabinet .mt-session-list .mt-list-row { padding-block: 16px; }
.mt-cabinet-preferences { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mt-cabinet-preferences .mt-theme-switch { max-width: 360px; flex: 1 1 280px; }
.mt-cabinet .mt-theme-switch button { min-height: 44px; }
.mt-cabinet .mt-support-layout { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 24px; }
.mt-cabinet .mt-form label input, .mt-cabinet .mt-form textarea { font-size: 16px; }
.mt-cabinet .mt-form textarea { min-height: 180px; }
.mt-cabinet .mt-feedback:empty { display: none; }
.mt-cabinet .mt-ticket-row { background: transparent; border: 1px solid var(--mt-color-border-subtle); border-radius: 12px; padding: 16px; }
.mt-cabinet .mt-ticket-summary { gap: 12px; flex-wrap: wrap; }
.mt-cabinet .mt-ticket-message { max-width: 94%; font-size: 14px; }
.mt-cabinet .mt-ticket-message p { overflow-wrap: anywhere; white-space: pre-wrap; }
.mt-cabinet .mt-ticket-message time { font-size: 12px; }
.mt-cabinet .mt-ticket-reply { background: transparent; color: var(--mt-color-text-primary); justify-self: stretch; }
.mt-cabinet .mt-ticket-reply label { display: grid; gap: 8px; font-size: 14px; }
.mt-cabinet .mt-ticket-reply textarea { width: 100%; min-height: 88px; padding: 12px; border: 1px solid var(--mt-color-border-strong); border-radius: 12px; background: var(--mt-color-background-surface); color: var(--mt-color-text-primary); font: inherit; resize: vertical; }
.mt-cabinet .mt-ticket-reply button { justify-self: end; }
.mt-cabinet-notice { margin: 20px 32px 0; padding: 16px; border: 1px solid var(--mt-color-border-strong); border-radius: 12px; color: var(--mt-color-text-secondary); font-size: 14px; }
.mt-cabinet-load-error { max-width: 440px; padding: 24px; text-align: center; }
.mt-cabinet-load-error h2 { font-size: 24px; margin-bottom: 16px; }
.mt-cabinet-load-error p { margin-bottom: 24px; }
.mt-cabinet-load-error .mt-text-button { display: flex; justify-content: center; margin-top: 16px; min-height: 44px; }
#loadingProgress { display: grid; justify-items: center; gap: 20px; }
.mt-page-account .mt-dialog { border-radius: 20px; }
.mt-page-account .mt-dialog .mt-button { min-height: 44px; box-shadow: none; }
.mt-page-account .mt-dialog-close { min-width: 44px; min-height: 44px; }
.mt-page-account .mt-dialog-close svg { width: 20px; height: 20px; }
.mt-page-account .mt-dialog input { font-size: 16px; }
.mt-page-account .mt-term-option { min-height: 84px; padding: 16px 10px; }
.mt-page-account .mt-term-option span { font-size: 14px; }
.mt-page-account .mt-term-option em { position: static; font-size: 12px; padding: 4px 6px; box-shadow: none; white-space: normal; }
.mt-page-account .mt-term-option strong { font-size: 18px; }
.mt-page-account .mt-term-option.is-selected { box-shadow: none; }
.mt-page-account .mt-vpn-plan-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.mt-cabinet-selected-price { margin: 20px 0 8px; font-size: 17px; color: var(--mt-color-text-accent); font-weight: 650; }
@media(max-width:1200px) {
  .mt-cabinet .mt-dashboard { grid-template-columns: minmax(0,1fr); }
  .mt-cabinet .mt-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mt-cabinet .mt-cabinet-start { grid-row: span 2; }
  .mt-cabinet #locationGrid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .mt-cabinet .mt-support-layout, .mt-cabinet .mt-profile-layout { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:1080px) {
  .mt-cabinet { grid-template-columns: minmax(0,1fr); }
  .mt-cabinet .mt-sidebar { display: none; }
  .mt-cabinet .mt-view { padding-bottom: calc(104px + env(safe-area-inset-bottom,0px)); }
  .mt-cabinet .mt-mobile-nav { display: flex; }
  .mt-cabinet .mt-mobile-nav a { flex: 1; min-width: 0; min-height: 60px; font-size: 12px; gap: 6px; }
  .mt-cabinet .mt-mobile-utility { display: flex; }
}
@media(max-width:760px) {
  .mt-cabinet .mt-app-topbar { min-height: 76px; padding: 12px 16px; }
  .mt-cabinet .mt-app-topbar h1 { font-size: 23px; }
  .mt-cabinet #pageDescription { display: none; }
  .mt-cabinet .mt-view { padding: 20px 16px calc(104px + env(safe-area-inset-bottom,0px)); gap: 20px; }
  .mt-cabinet .mt-card { padding: 20px; }
  .mt-cabinet .mt-connection-hero { grid-template-areas: 'copy' 'facts'; grid-template-columns: minmax(0,1fr); gap: 20px; }
  .mt-cabinet .mt-connection-hero .mt-route-svg { display: none; }
  .mt-cabinet .mt-connection-hero h2 { font-size: 26px; }
  .mt-cabinet .mt-connection-hero .mt-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .mt-cabinet .mt-hero-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  .mt-cabinet .mt-hero-facts .mt-tile { display: grid; align-content: start; }
  .mt-cabinet .mt-hero-facts dt { font-size: 12px; }
  .mt-cabinet .mt-hero-facts dd { font-size: 14px; }
  .mt-cabinet-overview-lists, .mt-cabinet .mt-two-column, .mt-cabinet .mt-rail { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .mt-cabinet .mt-cabinet-start { grid-row: auto; }
  .mt-cabinet #locationGrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .mt-cabinet-country { padding: 14px 8px; gap: 8px; }
  .mt-cabinet #connection .mt-card-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .mt-cabinet #connection .mt-card-actions .mt-button { width: 100%; }
  .mt-cabinet #subscription .mt-section-head { flex-direction: column; }
  .mt-cabinet .mt-section-head h2 { font-size: 22px; }
  .mt-cabinet .mt-security-summary { display: none; }
  .mt-cabinet .mt-session-region-head > span { display: none; }
  .mt-cabinet #revokeOtherSessions { width: 100%; }
  .mt-cabinet-preferences { display: grid; gap: 16px; }
  .mt-cabinet-preferences .mt-theme-switch { max-width: none; }
  .mt-cabinet .mt-list-row { flex-wrap: wrap; align-items: flex-start; gap: 12px; }
  .mt-cabinet .mt-list-actions { flex-shrink: 0; }
  .mt-cabinet .mt-form-meta { line-height: 1.6; }
  .mt-cabinet .mt-support-categories { gap: 8px; }
  .mt-cabinet .mt-support-categories span { padding-inline: 12px; }
  .mt-cabinet #supportSubmit { width: 100%; }
  .mt-cabinet .mt-ticket-message { max-width: 100%; padding: 12px; }
  .mt-cabinet .mt-ticket-summary { display: grid; grid-template-columns: minmax(0,1fr); }
  .mt-cabinet .mt-ticket-summary em { justify-self: start; }
  .mt-cabinet-notice { margin-inline: 16px; }
  .mt-page-account .mt-dialog { border-radius: 20px 20px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
  .mt-cabinet *, .mt-dialog * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
