/* A área da conta compartilha marca e fonte com a home, com contraste próprio. */
.account-body {
  --ink: #172743;
  --muted: #4c5d76;
  --blue: #315bdc;
  --line: #cad5e6;
  --soft: #edf2fb;
  --paper: #f3f6fb;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
}
.account-body .header { background: #ffffffed; border-color: #d2dcec; }
.account-body .eyebrow { color: #435a80; font-size: 11px; letter-spacing: 1.1px; }
.account-body .muted { color: var(--muted); }
.account-body button, .account-body input, .account-body a { touch-action: manipulation; }
.account-body :is(button, a, input, textarea):focus-visible { outline: 3px solid #315bdc; outline-offset: 4px; }
.account-body .button { min-height: 48px; font-size: 14px; box-shadow: 0 4px 12px #315bdc18; }
.account-body .button:hover { background: #2449bf; transform: translateY(-1px); }
.account-body .button:disabled { background: #e7ecf5; border-color: #bdcadd; color: #53647e; cursor: not-allowed; box-shadow: none; transform: none; }
.account-body .text-button { min-height: 44px; font-size: 14px; }
.account-body form { margin-top: 24px; }
.account-body label:not(.search-box) { display: block; font-size: 14px; font-weight: 750; margin: 18px 0 9px; }
.account-body input:not([type=search]) { width: 100%; min-height: 54px; border: 1px solid #94a6c1; border-radius: 11px; padding: 12px 15px; background: #fff; font-size: 16px; }
.account-body input::placeholder { color: #61728b; }
.account-body input:focus { border-color: var(--blue); }
.login-layout { width: min(1080px, calc(100% - 64px)); margin: 70px auto; display: grid; grid-template-columns: 1fr 440px; gap: 90px; align-items: center; }
.login-story h1 { font-size: 58px; line-height: 1.12; letter-spacing: -2.7px; margin: 24px 0; }
.login-story h1 span { color: var(--blue); }
.login-story > p { font-size: 17px; max-width: 390px; color: var(--muted); margin-bottom: 29px; }
.story-check { display: flex; gap: 12px; align-items: center; color: #315bdc; margin: 14px 0; font-weight: 700; }
.story-check span { color: var(--ink); font-size: 15px; font-weight: 500; }
.story-home { display: inline-flex; gap: 25px; align-items: center; color: var(--blue); font-size: 14px; font-weight: 750; margin-top: 28px; min-height: 44px; }
.login-panel { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 36px; box-shadow: 0 18px 60px -26px #3b568a45; }
.login-symbol { display: grid; place-items: center; background: #eaf0ff; border: 1px solid #cedbf9; border-radius: 13px; color: var(--blue); width: 52px; height: 52px; margin-bottom: 23px; }
.login-panel h2 { font-size: 30px; letter-spacing: -1px; margin: 11px 0; }
.login-panel > .muted { font-size: 15px; }
.password-field { position: relative; }
.password-field input { padding-right: 87px !important; }
.password-field button { position: absolute; right: 8px; top: 5px; min-height: 44px; border: 0; background: none; color: #2449bf; font-size: 13px; font-weight: 750; padding: 0 10px; }
.login-submit { width: 100%; margin-top: 25px; justify-content: space-between; }
.local-login-note { display: flex; gap: 11px; align-items: flex-start; background: #eff3fb; border: 1px solid #d0daeb; padding: 17px; border-radius: 12px; margin-top: 25px; font-size: 13px; color: var(--muted); }
.local-login-note .live-dot { margin-top: 8px; }
.local-login-note strong { font-size: 13px; color: var(--ink); }
.login-footer { font-size: 12px; color: #52637d; margin-top: 20px; }
.form-error { color: #852033; background: #fff0f2; border: 1px solid #eab6c0; border-radius: 10px; padding: 13px; font-size: 14px; margin-top: 15px; }
.client-topbar { height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(1440px, calc(100% - 64px)); margin: auto; }
.topbar-right { display: flex; align-items: center; gap: 23px; }
.client-home-link { font-size: 14px; font-weight: 650; color: var(--muted); }
.client-home-link:hover { color: var(--blue); }
.local-label { font-size: 10px; font-weight: 800; letter-spacing: .8px; background: #eef3fb; border: 1px solid #c9d5e9; border-radius: 7px; color: #435a80; padding: 5px 9px; }
.user-menu { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0; background: none; border: 0; font-size: 14px; font-weight: 700; }
.avatar { width: 38px; height: 38px; background: #e9efff; color: #254bc5; border: 1px solid #becff4; border-radius: 50%; display: grid; place-items: center; font-size: 14px; font-weight: 800; flex-shrink: 0; }
.client-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); width: min(1440px, calc(100% - 64px)); margin: auto; min-height: calc(100vh - 80px); }
.client-sidebar { padding: 36px 21px 30px 0; border-right: 1px solid #d1dbea; display: flex; flex-direction: column; gap: 20px; }
.sidebar-label { font-size: 11px; letter-spacing: 1.1px; color: #526582; font-weight: 800; padding-left: 13px; }
.client-sidebar nav { display: grid; gap: 9px; }
.side-link { min-height: 50px; display: flex; gap: 12px; align-items: center; text-align: left; padding: 12px 13px; border: 1px solid transparent; background: none; border-radius: 11px; color: #415370; font-weight: 650; font-size: 14px; transition: background .15s, color .15s; }
.side-link svg { width: 20px; height: 20px; flex-shrink: 0; }
.side-link:hover { background: #e5ecfa; color: #254bc5; }
.side-link.active { background: #315bdc; color: #fff; font-weight: 750; box-shadow: 0 5px 15px #315bdc23; }
.sidebar-help { padding: 19px 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; margin-top: 34px; }
.sidebar-help-symbol { display: grid; place-items: center; width: 32px; height: 32px; background: #e9efff; color: #315bdc; border-radius: 9px; margin-bottom: 13px; font-size: 16px; font-weight: 750; }
.sidebar-help strong { display: block; font-size: 14px; }
.sidebar-help p { font-size: 13px; line-height: 1.75; color: #52647f; margin: 8px 0; }
.sidebar-help .text-button { font-size: 13px; }
.logout { display: flex; gap: 12px; align-items: center; border: 0; background: none; color: #52647f; padding: 12px 14px; font-size: 14px; margin-top: auto; min-height: 48px; }
.logout:hover { color: #9c2435; }
.client-main { padding: 37px 0 30px 35px; min-width: 0; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 25px; }
.account-view h1 { scroll-margin-top: 110px; }
.page-heading h1 { font-size: 34px; line-height: 1.25; letter-spacing: -1.35px; margin: 11px 0; font-weight: 750; }
.page-heading p { font-size: 15px; color: var(--muted); }
.page-heading .eyebrow { font-size: 11px; letter-spacing: 1px; }
.heading-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.refresh-account { display: flex; align-items: center; gap: 8px; min-height: 44px; background: #fff; border: 1px solid #bfcee3; border-radius: 10px; padding: 10px 13px; font-size: 13px; font-weight: 700; color: #315bdc; }
.refresh-account svg { width: 17px; height: 17px; }
.refresh-account:disabled { color: #526582; cursor: wait; }
.refresh-account[aria-busy=true] svg { animation: account-spin 1s linear infinite; }
.refresh-status { font-size: 12px; color: #52647f; }
.country-tag { border: 1px solid #c4d0e4; background: #fff; border-radius: 8px; padding: 6px 10px; font-size: 12px; white-space: nowrap; }
.overview-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; margin-bottom: 27px; }
.wallet-overview { background: linear-gradient(115deg, #284dbf, #315bdc); border: 1px solid #264abd; border-radius: 17px; padding: 25px; display: flex; align-items: center; justify-content: space-between; gap: 18px; box-shadow: 0 8px 25px #315bdc1a; color: #fff; }
.wallet-overview .eyebrow { color: #fff; font-size: 11px; letter-spacing: .8px; }
.wallet-overview strong { display: block; font-size: 42px; line-height: 1.4; letter-spacing: -1.2px; font-weight: 750; margin: 8px 0; font-variant-numeric: tabular-nums; }
.wallet-overview p { font-size: 12px; color: #fff; }
.wallet-overview .button { background: #fff; border-color: #fff; color: #2449bf; box-shadow: 0 4px 12px #17274318; font-weight: 800; font-size: 13px; white-space: nowrap; }
.wallet-overview .button:hover { background: #eef3ff; }
.quick-guide { border: 1px solid #c4d3ee; background: #eaf0fc; border-radius: 17px; padding: 25px; }
.guide-number { font-size: 12px; letter-spacing: 2px; color: #395a95; font-weight: 750; }
.quick-guide h2 { font-size: 20px; letter-spacing: -.5px; margin: 12px 0 7px; }
.quick-guide p { font-size: 14px; color: #4c607f; max-width: 290px; }
.catalog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 23px; align-items: start; }
.catalog-panel, .active-panel, .content-panel { background: #fff; border: 1px solid #c9d5e7; border-radius: 17px; padding: 25px; min-width: 0; box-shadow: 0 4px 14px #263a6805; }
.panel-title { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.panel-title h2 { font-size: 19px; letter-spacing: -.5px; font-weight: 750; }
.small-label { font-size: 12px; color: #52647f; }
.panel-title > .small-label { white-space: nowrap; background: #edf2fb; border: 1px solid #d0dbed; border-radius: 7px; padding: 4px 8px; }
.catalog-panel .search-box { margin: 21px 0 17px; padding: 13px; background: #f8faff; border-color: #9eb0cb; border-radius: 11px; }
.catalog-panel .search-box svg { color: #415b82; }
.catalog-panel .search-box input { font-size: 15px; color: #172743; }
.catalog-panel .search-box input::placeholder { color: #52647f; }
.server-caption { font-size: 12px; font-weight: 700; color: #435976; margin-bottom: 10px; }
.server-tabs { display: flex; gap: 9px; margin-bottom: 21px; flex-wrap: wrap; }
.server-tabs button { background: #fff; border: 1px solid #9fb1cd; border-radius: 10px; min-height: 46px; padding: 10px 13px; color: #435976; font-size: 12px; font-weight: 700; white-space: nowrap; }
.server-tabs button.active { border-color: #315bdc; color: #fff; background: #315bdc; box-shadow: 0 3px 10px #315bdc20; }
.server-tabs button:disabled { background: #f1f4f9; border-color: #c8d3e5; color: #5b6c84; cursor: not-allowed; }
.client-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.buy-service { background: #fff; border: 1px solid #bccce4; border-radius: 13px; padding: 17px; text-align: left; display: flex; flex-direction: column; gap: 19px; min-width: 0; transition: border-color .2s, box-shadow .2s, transform .2s; }
.buy-service:hover { border-color: #315bdc; background: #fbfcff; box-shadow: 0 4px 15px #315bdc12; transform: translateY(-2px); }
.buy-service-top { display: flex; align-items: center; gap: 11px; }
.buy-service .app-icon { width: 38px; height: 38px; font-size: 21px; border-radius: 11px; }
.buy-service h3 { font-size: 15px; line-height: 1.4; font-weight: 750; overflow-wrap: anywhere; }
.buy-service-bottom { display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.buy-service-bottom strong { font-size: 18px; color: var(--ink); font-weight: 800; letter-spacing: -.4px; }
.buy-service-bottom > span:last-child { color: #264fc9; font-size: 12px; font-weight: 750; }
.buy-service small { display: block; color: #52647f; font-size: 12px; margin-top: 4px; }
.catalog-footnote { font-size: 12px; color: #52647f; margin-top: 20px; border-top: 1px solid #dce4f0; padding-top: 15px; }
.active-panel { padding: 23px; }
.active-panel .panel-title h2 { font-size: 15px; }
.activity-dot { width: 8px; height: 8px; background: #4f6997; border-radius: 50%; flex-shrink: 0; }
.empty-art { margin: 30px auto 18px; background: #eaf0fd; border: 1px solid #d0dcf2; width: 74px; height: 74px; border-radius: 21px; display: grid; place-items: center; color: #315bdc; }
.empty-art svg { width: 31px; height: 31px; }
.active-panel h3 { font-size: 16px; text-align: center; line-height: 1.5; }
.active-panel #active-orders > p { font-size: 13px; color: #52647f; text-align: center; margin: 12px 0 16px; }
.active-panel > .text-button { display: flex; font-size: 13px; margin: auto; }
.activation-tip { border-top: 1px solid #d1dbea; padding-top: 20px; margin-top: 23px; }
.activation-tip strong { font-size: 13px; font-weight: 750; }
.activation-tip p { font-size: 12px; color: #52647f; margin-top: 8px; }
.loading-state, .empty-list { grid-column: 1 / -1; padding: 35px 15px; text-align: center; color: #4c607f; font-size: 15px; line-height: 1.75; }
.loading-state { background: #f1f5fc; border: 1px solid #d0dced; border-radius: 12px; }
.empty-list .empty-art { margin-top: 5px; }
.empty-list h3 { color: #172743; font-size: 20px; margin-bottom: 10px; letter-spacing: -.4px; }
.empty-list p { max-width: 360px; margin: auto; }
.empty-list .button, .empty-list .text-button { margin-top: 21px; }
.inline-message { background: #f1f5fc; border: 1px solid #c3d1e7; border-radius: 12px; padding: 18px; font-size: 14px; color: #435976; margin-bottom: 17px; }
.inline-message strong { display: block; color: #172743; margin-bottom: 7px; font-size: 15px; }
.inline-message button { margin-top: 11px; border: 0; background: none; color: #264fc9; font-weight: 750; min-height: 44px; font-size: 14px; padding: 0; }
.account-bottom-note { text-align: center; color: #52647f; font-size: 12px; margin-top: 35px; }
.client-dock { display: none; }
.wallet-page-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; align-items: start; }
.large-balance { display: block; font-size: 44px; font-weight: 750; letter-spacing: -1.5px; margin: 15px 0; font-variant-numeric: tabular-nums; }
.content-panel h2 { font-size: 22px; letter-spacing: -.6px; }
.content-panel > .muted { font-size: 15px; margin-top: 12px; }
.content-panel > .text-button { margin-top: 20px; }
.content-panel form .button { margin-top: 23px; width: 100%; }
.currency-field { position: relative; }
.currency-field > span { position: absolute; left: 15px; top: 14px; color: #52647f; font-weight: 700; }
.currency-field input { padding-left: 44px !important; }
.profile-panel { display: flex; align-items: center; gap: 23px; }
.large-avatar { height: 66px; width: 66px; font-size: 25px; }
.profile-panel h2 { overflow-wrap: anywhere; margin: 6px 0; }
.profile-panel .text-button { margin-top: 15px; }
.profile-actions { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.account-dialog { width: min(470px, calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 32px; border: 1px solid #c2d0e5; border-radius: 20px; color: var(--ink); background: #fff; box-shadow: 0 25px 100px #1b2c6045; }
.account-dialog::backdrop { background: #15274380; backdrop-filter: blur(4px); }
.account-dialog h2 { font-size: 26px; letter-spacing: -.8px; margin: 15px 0; }
.account-dialog > p { font-size: 15px; color: #4c5d76; }
.account-dialog > .button { width: 100%; margin-top: 23px; }
.close-dialog { position: absolute; right: 11px; top: 9px; background: none; border: 0; color: #415370; font-size: 28px; width: 44px; height: 44px; }
.connection-error { background: #fff4e6; color: #764811; border: 1px solid #dfbb87; padding: 15px 18px; font-size: 14px; border-radius: 12px; margin-bottom: 23px; }
.data-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 0; border-bottom: 1px solid #d9e2ef; font-size: 14px; }
.data-row:last-child { border: 0; }
.data-row strong { display: block; font-size: 15px; }
.data-row small { color: #52647f; font-size: 12px; }
.data-row button { border: 1px solid #aabedc; border-radius: 9px; padding: 9px 12px; background: #eef3ff; color: #264fc9; font-size: 13px; font-weight: 700; min-height: 44px; }
.data-row .price { font-size: 16px; font-weight: 800; white-space: nowrap; }
.data-row > div { min-width: 0; }
.data-row strong, .data-row small { overflow-wrap: anywhere; }
.order-phone { font-size: 25px; font-weight: 750; color: #264fc9; margin: 18px 0; overflow-wrap: anywhere; }
.sms-code { display: block; padding: 21px; margin-top: 21px; background: #edf2ff; border: 1px solid #c5d6fc; border-radius: 13px; color: #264fc9; font-size: 32px; font-weight: 800; letter-spacing: 4px; overflow-wrap: anywhere; }
.sms-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 15px; }
.sms-actions .button { flex: 1; min-width: 140px; }
.account-dialog textarea { width: 100%; margin-top: 18px; resize: vertical; min-height: 100px; border: 1px solid #9fb1cc; border-radius: 10px; padding: 12px; font: inherit; font-size: 13px; }
.active-order { padding: 16px 0; border-bottom: 1px solid #d1dbea; font-size: 13px; }
.active-order strong { display: block; font-size: 15px; }
.active-order button { display: block; color: #264fc9; border: 0; background: none; padding: 10px 0; font-size: 13px; font-weight: 750; min-height: 44px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; background: #edf2fb; border: 1px solid #c7d3e6; border-radius: 7px; color: #435976; font-size: 11px; font-weight: 700; margin-top: 6px; }
.status-pill.received { background: #eaf7ef; border-color: #b8dac5; color: #20673f; }
.pix-qr { max-width: 240px; width: 100%; display: block; margin: 20px auto; }
.text-copy { width: 100%; min-height: 90px; margin-top: 15px; border: 1px solid #9fb1cc; border-radius: 11px; padding: 13px; font: inherit; font-size: 13px; resize: vertical; }
.skip-link { position: fixed; left: 16px; top: -100px; background: #fff; border: 2px solid #315bdc; border-radius: 8px; padding: 10px 15px; z-index: 100; color: #172743; }
.skip-link:focus { top: 12px; }
@keyframes account-spin { to { transform: rotate(360deg); } }
@media (max-width: 1200px) {
  .client-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .client-main { padding-left: 26px; }
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 245px; gap: 18px; }
  .catalog-panel { padding: 20px; }
  .overview-grid { grid-template-columns: 1fr; }
  .quick-guide { display: none; }
  .client-catalog { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .login-layout { gap: 40px; grid-template-columns: 1fr 390px; }
  .login-story h1 { font-size: 46px; letter-spacing: -2px; }
  .client-shell { grid-template-columns: 185px minmax(0, 1fr); }
  .client-sidebar { padding-right: 16px; }
  .side-link { font-size: 13px; gap: 9px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .active-panel { display: block; }
  .active-panel .empty-art { width: 55px; height: 55px; margin: 16px auto 12px; }
  .active-panel .activation-tip { display: none; }
  .client-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar-right { gap: 15px; }
  .client-home-link { display: none; }
  .wallet-page-grid { grid-template-columns: 1fr; }
  .page-heading h1 { font-size: 30px; }
  .buy-service { padding: 14px; }
  .buy-service h3 { font-size: 14px; }
  .buy-service-bottom { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .login-layout { width: calc(100% - 36px); display: block; margin: 30px auto 50px; }
  .login-story { display: none; }
  .login-panel { padding: 27px; max-width: 460px; margin: auto; }
  .login-panel h2 { font-size: 29px; }
  .account-body .container { width: calc(100% - 36px); }
  .account-body .brand { font-size: 20px; }
  .account-body .brand-symbol { width: 26px; }
  .account-body .nav, .client-topbar { height: 70px; }
  .account-body .nav .text-button { font-size: 12px; gap: 8px; }
  .client-topbar { width: calc(100% - 36px); gap: 12px; }
  .topbar-right { gap: 11px; }
  .user-menu > span:last-child { display: none; }
  .local-label { font-size: 10px; letter-spacing: .3px; padding: 4px 6px; }
  .client-shell { width: calc(100% - 36px); display: block; min-height: calc(100vh - 70px); }
  .client-sidebar { display: none; }
  .client-main { padding: 28px 0 118px; }
  .page-heading { margin-bottom: 21px; align-items: start; gap: 10px; }
  .page-heading h1 { font-size: 29px; letter-spacing: -1.1px; line-height: 1.25; margin: 12px 0; }
  .page-heading p { font-size: 14px; }
  .page-heading .eyebrow { font-size: 10px; letter-spacing: .6px; }
  .heading-actions { padding-top: 1px; }
  .refresh-account { width: 44px; height: 44px; padding: 0; justify-content: center; }
  .refresh-account > span { display: none; }
  .refresh-status { display: none; }
  .country-tag { font-size: 12px; padding: 6px 8px; }
  .page-heading > .button { font-size: 12px; padding: 10px; white-space: nowrap; }
  .overview-grid { margin-bottom: 21px; }
  .wallet-overview { padding: 21px; gap: 13px; border-radius: 15px; }
  .wallet-overview strong { font-size: 35px; }
  .wallet-overview .button { font-size: 12px; padding: 11px 13px; gap: 10px; min-height: 46px; }
  .wallet-overview p { font-size: 12px; }
  .wallet-overview .eyebrow { font-size: 10px; letter-spacing: .5px; }
  .catalog-panel { padding: 19px; border-radius: 15px; }
  .panel-title { align-items: center; }
  .panel-title h2 { font-size: 18px; max-width: 190px; }
  .panel-title > .small-label { font-size: 11px; white-space: normal; max-width: 95px; text-align: center; flex-shrink: 0; }
  .client-catalog { gap: 10px; }
  .buy-service { padding: 14px 12px; gap: 17px; }
  .buy-service-top { gap: 9px; }
  .buy-service h3 { font-size: 14px; }
  .buy-service .app-icon { width: 32px; height: 32px; font-size: 19px; border-radius: 9px; }
  .buy-service-bottom strong { font-size: 17px; }
  .buy-service-bottom > span:last-child { font-size: 12px; }
  .buy-service small { font-size: 12px; }
  .server-tabs { gap: 7px; }
  .server-tabs button { padding: 10px 11px; font-size: 12px; min-height: 46px; }
  .catalog-panel .search-box input { font-size: 16px; }
  .catalog-footnote { font-size: 12px; }
  .client-dock { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: #fffffff5; border-top: 1px solid #b9c8df; box-shadow: 0 -4px 20px #1727430b; backdrop-filter: blur(12px); padding: 7px 8px max(10px, env(safe-area-inset-bottom)); gap: 3px; }
  .client-dock button { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: none; border: 0; border-radius: 11px; color: #4c607f; font-size: 11px; font-weight: 700; min-height: 57px; padding: 6px 2px; }
  .client-dock svg { width: 22px; height: 22px; }
  .client-dock button.active { color: #264fc9; background: #eaf0ff; }
  .content-panel { padding: 22px; }
  .profile-panel { align-items: start; gap: 16px; }
  .profile-panel h2 { font-size: 18px; }
  .large-avatar { width: 48px; height: 48px; font-size: 20px; }
  .large-balance { font-size: 38px; }
  .data-row { font-size: 14px; gap: 12px; flex-wrap: wrap; }
  .data-row strong { font-size: 15px; }
  .connection-error { font-size: 14px; }
  .account-bottom-note { font-size: 12px; }
  .account-dialog { padding: 27px; }
}
@media (max-width: 390px) {
  .client-shell, .client-topbar { width: calc(100% - 28px); }
  .client-main { padding-top: 24px; }
  .local-label { display: none; }
  .page-heading h1 { font-size: 27px; }
  .heading-actions .country-tag { display: none; }
  .wallet-overview { padding: 20px; flex-wrap: wrap; }
  .wallet-overview .button { width: 100%; justify-content: space-between; margin-top: 4px; }
  .client-catalog { grid-template-columns: 1fr; }
  .buy-service { padding: 16px; flex-direction: row; align-items: center; gap: 13px; }
  .buy-service-top { flex: 1; min-width: 0; }
  .buy-service-bottom { justify-content: end; text-align: right; }
  .buy-service-bottom > span:last-child { display: none; }
  .buy-service h3 { font-size: 15px; }
  .buy-service .app-icon { width: 34px; height: 34px; }
  .catalog-panel { padding: 17px; }
  .panel-title { align-items: start; }
  .server-tabs button { flex: 1; }
  .login-panel { padding: 23px; }
  .account-body .brand { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .account-body *, .account-body *::before, .account-body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .buy-service:hover, .account-body .button:hover { transform: none; }
}

/* Catálogo lateral: filtros fixos e serviços em linhas, como a referência. */
.client-shell { width: min(1580px, calc(100% - 64px)); grid-template-columns: 210px minmax(0, 1fr) 350px; }
.client-topbar { width: min(1580px, calc(100% - 64px)); }
.client-main { padding-right: 28px; }
.client-main .overview-grid { grid-template-columns: 1fr; }
.client-main .quick-guide { display: none; }
.dashboard-mainpanels { display: grid; gap: 22px; }
.dashboard-mainpanels .active-panel { width: 100%; padding: 29px; }
.dashboard-mainpanels .active-panel .panel-title h2 { font-size: 19px; }
.dashboard-mainpanels .active-panel .empty-art { margin-top: 24px; }
.dashboard-mainpanels .active-panel #active-orders > p { max-width: 370px; margin-left: auto; margin-right: auto; }
.dashboard-mainpanels .activation-tip { text-align: center; }
#service-panel-slot { display: none; }
.service-panel { position: sticky; top: 80px; align-self: start; height: calc(100dvh - 80px); display: flex; flex-direction: column; min-width: 0; background: #fff; border-left: 1px solid #c9d5e7; border-right: 1px solid #c9d5e7; padding: 28px 22px 16px; }
.service-panel-heading { flex-shrink: 0; text-align: center; }
.service-panel-heading h2 { font-size: 25px; font-weight: 800; line-height: 1.3; letter-spacing: -.8px; }
.service-panel-heading p { font-size: 14px; color: #52647f; line-height: 1.65; margin: 12px 0 8px; }
.service-filters { flex-shrink: 0; }
.service-panel .service-filters label { margin: 15px 0 7px; font-size: 13px; }
.select-wrap { position: relative; }
.select-wrap::after { content: ''; position: absolute; right: 16px; top: 18px; width: 7px; height: 7px; border-right: 1.5px solid #536d96; border-bottom: 1.5px solid #536d96; transform: rotate(45deg); pointer-events: none; }
.service-panel select { appearance: none; -webkit-appearance: none; width: 100%; min-height: 48px; border: 1px solid #bccce4; background: #fff; border-radius: 10px; padding: 11px 37px 11px 13px; color: #172743; font: inherit; font-size: 14px; cursor: pointer; }
.service-panel select:focus-visible { outline: 3px solid #315bdc; outline-offset: 3px; }
.service-panel select:disabled { background: #f6f8fc; opacity: 1; color: #52647f; -webkit-text-fill-color: #52647f; cursor: default; }
.service-panel .search-box { background: #fff; margin: 0; padding: 12px; border-color: #bccce4; min-height: 48px; border-radius: 10px; }
.service-panel .search-box svg { color: #52647f; width: 19px; height: 19px; }
.service-panel .search-box input { font-size: 14px; }
.service-panel .search-box input::placeholder { color: #61728b; }
.service-list-meta { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; gap: 10px; margin: 23px 0 12px; font-size: 11px; color: #52647f; }
.service-list-meta .small-label { font-size: 11px; font-weight: 700; }
.service-panel .client-catalog { display: flex; flex-direction: column; gap: 9px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; min-height: 130px; flex: 1; padding: 2px 4px 3px 1px; }
.service-panel .service-row { display: flex; flex-direction: row; align-items: center; gap: 10px; flex-shrink: 0; width: 100%; min-height: 70px; padding: 13px 11px; border: 1px solid #ccd7e8; background: #f9fbff; border-radius: 12px; box-shadow: 0 2px 4px #17274303; transform: none; }
.service-panel .service-row:hover { border-color: #315bdc; background: #edf3ff; box-shadow: none; transform: none; }
.service-panel .service-row .app-icon { background: #fff; border: 1px solid #d3deef; width: 34px; height: 36px; border-radius: 9px; font-size: 20px; box-shadow: 0 2px 3px #17274308; }
.service-row-name { display: flex; flex: 1; align-items: baseline; gap: 5px; flex-wrap: wrap; min-width: 0; }
.service-row-name strong { font-size: 13px; line-height: 1.4; font-weight: 750; color: #172743; overflow-wrap: anywhere; }
.service-panel .service-row-name small { display: inline; margin: 0; font-size: 11px; color: #52647f; font-weight: 500; white-space: nowrap; }
.service-row-price { margin-left: auto; flex-shrink: 0; color: #264fc9; font-size: 14px; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.service-panel .catalog-footnote { margin-top: 13px; padding-top: 11px; flex-shrink: 0; font-size: 11px; }
.service-panel .inline-message { margin: 0 0 12px; flex-shrink: 0; }
.service-panel .loading-state, .service-panel .empty-list { font-size: 14px; margin: 0; padding: 26px 14px; }
@media (min-width: 1500px) {
  .client-shell { grid-template-columns: 220px minmax(0, 1fr) 370px; }
  .client-main { padding-left: 36px; padding-right: 35px; }
  .service-panel { padding-left: 25px; padding-right: 25px; }
  .service-row-name strong { font-size: 14px; }
  .service-row-price { font-size: 16px; }
}
@media (min-width: 1101px) and (max-width: 1250px) {
  .client-shell { grid-template-columns: 185px minmax(0, 1fr) 320px; }
  .client-sidebar { padding-right: 15px; }
  .side-link { gap: 9px; font-size: 13px; }
  .client-main { padding-left: 24px; padding-right: 23px; }
  .service-panel { padding-left: 17px; padding-right: 17px; }
  .page-heading h1 { font-size: 29px; }
  .client-main .wallet-overview { flex-wrap: wrap; }
}
@media (max-width: 1100px) {
  .client-shell { grid-template-columns: 190px minmax(0, 1fr); }
  .client-main { padding-right: 0; padding-left: 27px; }
  #service-panel-slot { display: block; margin-bottom: 24px; }
  .service-panel { position: static; height: auto; border: 1px solid #c9d5e7; border-radius: 17px; padding: 24px; }
  .service-panel .client-catalog { min-height: 100px; max-height: min(65dvh, 650px); flex: auto; }
  .service-filters { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
  .service-filters label { grid-row: auto; }
  .service-filters label[for=server-select] { grid-column: 1; grid-row: 1; }
  .service-filters label[for=country-select] { grid-column: 2; grid-row: 1; }
  .service-filters .select-wrap:nth-of-type(1) { grid-column: 1; grid-row: 2; }
  .service-filters .select-wrap:nth-of-type(2) { grid-column: 2; grid-row: 2; }
  .service-filters label[for=operator-select] { grid-column: 1; grid-row: 3; }
  .service-filters label[for=client-search] { grid-column: 2; grid-row: 3; }
  .service-filters .select-wrap:nth-of-type(3) { grid-column: 1; grid-row: 4; }
  .service-filters .search-box { grid-column: 2; grid-row: 4; }
  .service-panel .service-row { min-height: 67px; }
  .service-row-name strong { font-size: 15px; }
  .service-panel .service-row-name small { font-size: 12px; }
  .service-row-price { font-size: 16px; }
}
@media (max-width: 700px) {
  .client-shell { display: block; }
  .client-main { padding: 28px 0 118px; }
  .service-panel { padding: 22px 18px; border-radius: 15px; }
  .service-panel-heading h2 { font-size: 24px; }
  .service-panel-heading p { font-size: 14px; }
  .service-panel .service-filters label { font-size: 13px; margin-top: 17px; }
  .service-panel select, .service-panel .search-box input { font-size: 16px; }
  .service-panel .client-catalog { max-height: 560px; }
  .service-panel .service-row { padding: 14px 11px; gap: 10px; }
  .service-row-name strong { font-size: 14px; }
  .service-row-price { font-size: 15px; }
  .service-list-meta { margin-top: 20px; }
  .dashboard-mainpanels .active-panel { padding: 23px; }
}
@media (max-width: 430px) {
  .service-filters { display: block; }
  .service-panel .search-box { margin-top: 0; }
  .service-panel .service-row-name small { font-size: 11px; }
  .service-row-name { gap: 4px; }
  .service-row-name strong { font-size: 13px; }
  .service-row-price { font-size: 14px; }
  .service-panel .service-row .app-icon { width: 32px; height: 34px; }
  .service-panel .catalog-footnote { font-size: 12px; }
}
@media (min-width: 1101px) and (max-height: 850px) {
  .service-panel { overflow-y: auto; }
  .service-panel-heading p { display: none; }
  .service-panel .service-filters label { margin-top: 11px; margin-bottom: 5px; }
  .service-panel select, .service-panel .search-box { min-height: 44px; }
  .service-panel .client-catalog { min-height: 110px; }
}

/* Saldo compacto na navegação esquerda; o centro se dedica às ativações. */
.sidebar-wallet { display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid #264abd; background: #315bdc; border-radius: 13px; color: #fff; }
.sidebar-wallet-label { font-size: 12px; font-weight: 650; }
.sidebar-wallet > strong { font-size: 29px; line-height: 1.3; letter-spacing: -.8px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sidebar-wallet-reserved { font-size: 11px; margin-top: 2px; }
.account-body .sidebar-wallet .button { display: flex; justify-content: space-between; gap: 10px; background: #fff; color: #264fc9; border-color: #fff; min-height: 44px; font-size: 12px; padding: 10px 12px; border-radius: 9px; margin-top: 8px; box-shadow: none; }
.account-body .sidebar-wallet .button:hover { background: #eef3ff; transform: none; }
.dashboard-mainpanels .active-panel .panel-title h1 { font-size: 21px; line-height: 1.4; font-weight: 750; letter-spacing: -.6px; margin: 0; }
#mobile-wallet-slot { display: none; }
@media (max-width: 700px) {
  #mobile-wallet-slot { display: block; margin-bottom: 20px; }
  #mobile-wallet-slot .sidebar-wallet { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 15px; padding: 17px; }
  #mobile-wallet-slot .sidebar-wallet-label { grid-column: 1; grid-row: 1; }
  #mobile-wallet-slot .sidebar-wallet > strong { grid-column: 1; grid-row: 2; font-size: 26px; }
  #mobile-wallet-slot .sidebar-wallet-reserved { grid-column: 1; grid-row: 3; }
  .account-body #mobile-wallet-slot .sidebar-wallet .button { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; }
  .dashboard-mainpanels .active-panel .panel-title h1 { font-size: 19px; }
}
@media (max-width: 350px) {
  .account-body #mobile-wallet-slot .sidebar-wallet .button { padding-left: 10px; padding-right: 10px; font-size: 11px; gap: 7px; }
}

.quantity-control { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.quantity-control button { flex: 0 0 48px; height: 48px; border: 1px solid #94a6c1; border-radius: 10px; background: #f1f5ff; color: #2548b8; font-size: 26px; cursor: pointer; }
.quantity-control input { min-width: 0; text-align: center; font-weight: 800; }
.quantity-control button:disabled { opacity: .5; cursor: default; }
.account-dialog .quantity-help { font-size: 14px; line-height: 1.6; }
.purchase-totals { display: grid; gap: 14px; padding: 20px 0; margin-top: 20px; border-top: 1px solid #c2d0e5; border-bottom: 1px solid #c2d0e5; }
.purchase-totals > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.purchase-totals strong { font-size: 24px; color: #2548b8; }
.account-dialog #purchase-result { padding: 14px; border-radius: 10px; background: #edf4ff; color: #172743; line-height: 1.6; }

/* Compra expandida dentro do serviço, mantendo a identidade da home. */
.account-service-card { display: block; width: 100%; min-width: 0; min-height: 0; padding: 0; position: relative; flex-shrink: 0; border: 1px solid #ccd7e8; border-radius: 12px; background: #f9fbff; overflow: hidden; }
.service-panel .account-service-card .service-row { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.account-service-card.selected { border-color: #8da9ee; box-shadow: 0 3px 12px #2449bf0c; background: #fff; }
.account-service-card.selected .service-row { padding-right: 127px; }
.account-service-card.selected .service-row-name small, .account-service-card.selected .service-row-price { display: none; }
.inline-purchase { padding: 12px; border-top: 1px solid #e2e9f7; background: #f7f9ff; }
.inline-purchase[hidden], #purchase-storage[hidden] { display: none; }
.inline-total { position: absolute; top: 25px; right: 12px; font-size: 14px; font-weight: 800; color: #264fc9; white-space: nowrap; font-variant-numeric: tabular-nums; }
.inline-purchase-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.inline-purchase .quantity-control { gap: 4px; margin: 0; flex: 0 0 auto; }
.account-body .inline-purchase .quantity-control > button { box-sizing: border-box; display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; max-width: 44px; max-height: 44px; aspect-ratio: 1; padding: 0; border: 1px solid #d5e0f5; border-radius: 50%; background: #fff; color: #315bdc; line-height: 1; transition: background .15s, border-color .15s; }
.inline-purchase .quantity-control button svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.inline-purchase .quantity-control button:hover:not(:disabled) { background: #eaf0ff; border-color: #9fb6ef; }
.inline-purchase .quantity-control button:disabled { opacity: 1; color: #a2aec5; border-color: #e0e6ef; background: #f8faff; }
.account-body .inline-purchase .quantity-control input { width: 28px; flex: 0 0 28px; height: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; font-size: 16px; appearance: textfield; }
.inline-purchase input::-webkit-inner-spin-button, .inline-purchase input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.account-body .inline-purchase .button { min-height: 44px; margin: 0; padding: 10px 14px; gap: 0; font-size: 13px; line-height: 1.3; border-radius: 10px; box-shadow: none; }
.inline-purchase :is(#purchase-result, #purchase-error) { margin: 12px 0 0; font-size: 13px; line-height: 1.6; }
.inline-purchase #purchase-result { color: #172743; }
.inline-purchase .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 360px) { .inline-purchase-actions { flex-wrap: wrap; } .inline-purchase .button { margin-left: auto; } }

/* Toda a identidade e os acessos da conta ficam na navegação lateral. */
.client-shell { min-height: 100dvh; }
.client-sidebar { position: sticky; top: 0; align-self: start; height: 100dvh; overflow-y: auto; padding-top: 25px; padding-bottom: 20px; gap: 18px; }
.sidebar-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; padding: 0 8px 18px; border-bottom: 1px solid #d1dbea; }
.account-body .sidebar-identity .brand { font-size: 19px; gap: 7px; white-space: nowrap; }
.sidebar-identity .brand-symbol { width: 27px; flex-shrink: 0; }
.sidebar-identity .local-label { align-self: flex-start; }
.sidebar-identity .client-home-link { display: flex; align-items: center; min-height: 32px; font-size: 12px; }
.sidebar-user { margin-top: auto; padding: 15px 8px 0; border-top: 1px solid #d1dbea; }
.sidebar-user .user-menu { width: 100%; text-align: left; }
.sidebar-user #user-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-sidebar .logout { margin-top: 0; }
.client-sidebar .sidebar-help { margin-top: 0; }
.service-panel { top: 0; height: 100dvh; }
.client-menu-dialog { width: min(320px, calc(100% - 24px)); height: 100dvh; max-height: 100dvh; max-width: none; margin: 0; padding: 0; border: 0; border-right: 1px solid #c9d5e7; border-radius: 0; background: #f6f8fc; color: #172743; }
.client-menu-dialog::backdrop { background: #17274370; backdrop-filter: blur(3px); }
.client-menu-dialog .sidebar-close { position: absolute; top: 12px; right: 8px; z-index: 1; }
@media (max-width: 1100px) { .service-panel { position: static; height: auto; } }
@media (max-width: 700px) {
  .client-main { padding-top: 22px; }
  .client-menu-dialog .client-sidebar { display: flex; position: static; width: 100%; height: auto; min-height: 100dvh; overflow: visible; padding: 25px 20px; border: 0; gap: 18px; }
  .client-menu-dialog .sidebar-identity { padding-right: 25px; }
  .client-menu-dialog .user-menu > span:last-child { display: block; }
  .client-menu-dialog .local-label { display: inline-block; }
  .client-menu-dialog .sidebar-help { display: none; }
}
.client-sidebar .sidebar-help { padding: 0 8px; border: 0; background: transparent; }
.client-sidebar .sidebar-help :is(.sidebar-help-symbol, strong, p) { display: none; }
@media (min-width: 1101px) {
  .client-shell { width: calc(100% - 32px); max-width: none; margin: 0 0 0 32px; }
  .service-panel { border-right: 0; }
}
/* Ativações com número, código, prazo e ações no próprio cartão. */
.activation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 16px; }
#active-orders.activation-grid { margin: 24px 0 20px; }
.activation-card { min-width: 0; padding: 20px; border: 1px solid #d2dcec; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px #17274305; text-align: left; }
.activation-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.activation-country { padding: 4px 6px; border: 1px solid #d9e2ee; background: #f7f9fc; border-radius: 6px; font-size: 10px; font-weight: 750; color: #52647f; }
.activation-heading .app-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; flex-shrink: 0; font-size: 19px; }
.activation-card .activation-heading h3 { margin: 0; font-size: 16px; font-weight: 800; text-align: left; overflow-wrap: anywhere; flex: 1; }
.activation-status { display: inline-flex; align-items: center; gap: 6px; color: #52647f; font-size: 10px; font-weight: 750; text-transform: uppercase; white-space: nowrap; }
.activation-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.activation-status.is-pending { color: #a65118; }
.activation-status.is-received { color: #17693e; }
.activation-phone { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px 8px 16px; border: 1px solid #dbe4f2; border-radius: 11px; background: #f6f8fc; }
.activation-phone > span { font: 500 20px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .4px; overflow-wrap: anywhere; min-width: 0; }
.activation-copy { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; min-height: 44px; padding: 5px; border: 1px solid #cdd9eb; border-radius: 9px; background: #fff; color: #52647f; font-size: 10px; }
.activation-copy:hover { border-color: #8da9ee; color: #315bdc; }
.activation-copy svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.activation-details { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; margin-top: 19px; }
.activation-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .8px; font-weight: 750; color: #52647f; margin-bottom: 7px; }
.activation-code { display: flex; align-items: center; gap: 8px; min-height: 44px; font: 700 23px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; color: #254bc5; overflow-wrap: anywhere; }
.activation-code[data-waiting] { font: 500 14px/1.5 'Manrope', sans-serif; color: #61728b; }
.activation-expiry { text-align: right; }
.activation-expiry > span:last-child { display: inline-flex; align-items: center; min-height: 44px; font: 500 20px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; font-variant-numeric: tabular-nums; }
.activation-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding-top: 14px; margin-top: 14px; border-top: 1px solid #e5ebf5; }
.account-body .activation-actions .text-button { font-size: 12px; min-height: 44px; }
.activation-cancel, .activation-finish { margin-left: auto; min-height: 44px; padding: 9px 13px; border: 1px solid #e0c4ca; border-radius: 9px; background: #fff7f8; color: #912e41; font-size: 12px; font-weight: 750; }
.activation-finish { border-color: #bbdfce; background: #f0faf5; color: #17693e; }
.activation-actions button:disabled { opacity: .6; cursor: wait; }
.activation-feedback { margin: 12px 0 0; padding: 11px; border-radius: 8px; background: #fff0f2; color: #852033; font-size: 13px; line-height: 1.6; }
.activation-message { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: #52647f; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .dashboard-mainpanels .active-panel { padding: 17px; }
  .activation-card { padding: 16px; }
  .activation-heading { gap: 7px; }
  .activation-phone { padding-left: 12px; }
  .activation-phone > span { font-size: 17px; }
}
@media (max-width: 360px) {
  .activation-heading .activation-status { margin-left: auto; }
  .activation-actions { gap: 5px 10px; }
  .activation-code { font-size: 20px; }
  .activation-code[data-waiting] { font-size: 12px; }
}
.client-announcements { display:grid;gap:10px;margin-bottom:20px; }
.client-announcement { padding:14px 17px;border:1px solid #bfd0f3;border-radius:10px;background:#edf3ff;font-size:13px; }
.client-announcement summary { font-weight:750;cursor:pointer; }
.client-announcement p { white-space:pre-wrap;line-height:1.8;margin-top:12px; }
.client-announcement.warning { border-color:#edcf9e;background:#fff6e9; }
.client-announcement.success { border-color:#badbc9;background:#eef9f3; }
#client-ticket-content select,#client-ticket-content textarea { width:100%;padding:12px;border:1px solid #94a6c1;border-radius:10px;background:#fff;color:#172743;font:inherit; }
#client-ticket-content textarea { min-height:130px;resize:vertical; }
#client-ticket-content input[type=file] { padding:10px;min-width:0;font-size:12px; }
#client-ticket-content .muted { font-size:12px;line-height:1.7;margin-top:12px; }
#client-ticket-content form>.button { width:100%;margin-top:20px; }
.client-ticket-thread { max-height:350px;overflow-y:auto; }
.client-ticket-message { padding:16px;margin-bottom:12px;border:1px solid #d2ddef;border-radius:10px;background:#f7f9fc;font-size:13px; }
.client-ticket-message.staff { background:#edf3ff; }
.client-ticket-message small { display:block;color:#52647f;font-size:11px;margin-top:5px; }
.client-ticket-message p { margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7; }

/* ===== Login sem rolagem + hierarquia de títulos (16/10/2026) ===== */
.login-body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.login-body .login-layout { flex: 1; margin: 0 auto; padding: clamp(16px, 4vh, 48px) 0; align-content: center; }
.login-body .login-layout::before, .login-body .login-layout::after { top: 0; bottom: 0; }
.login-story-title { font-size: clamp(42px, 4.6vw, 58px); font-weight: 700; line-height: 1.1; letter-spacing: -2.6px; color: var(--ink); margin: 20px 0; }
.login-panel h1 { font-size: 30px; line-height: 1.2; letter-spacing: -1px; margin: 8px 0 6px; }
.login-body .login-panel { padding: clamp(22px, 3.6vh, 34px) 34px; }
.login-body .login-symbol { width: 44px; height: 44px; margin-bottom: clamp(10px, 2vh, 20px); }
.login-body label:not(.search-box) { margin: clamp(10px, 1.8vh, 16px) 0 7px; }
.login-body input:not([type=search]) { min-height: 50px; }
.login-body .password-field button { top: 3px; }
.login-body .login-submit { margin-top: clamp(14px, 2.4vh, 22px); }
.login-body .local-login-note { margin-top: clamp(12px, 2vh, 20px); padding: 12px 14px; }
.login-body .local-login-note p { margin: 0; }
.login-body .login-footer { margin-top: clamp(10px, 1.6vh, 16px); }
@media (max-height: 780px) {
  .login-body .login-symbol { display: none; }
  .login-story-title { font-size: 44px; margin: 12px 0; }
  .login-body .login-story > p { margin-bottom: 14px; }
  .login-body .story-check { margin: 7px 0; }
  .login-body .story-home { margin-top: 10px; }
}
@media (max-width: 700px) {
  .login-body .login-layout { width: calc(100% - 32px); padding: 14px 0; }
  .login-body .login-panel { padding: 22px 20px; }
  .login-panel h1 { font-size: 26px; }
  .login-body .login-symbol { display: none; }
}
@media (max-width: 700px) and (max-height: 700px) {
  .login-body .login-panel > .muted { font-size: 14px; }
  .login-body label:not(.search-box) { margin: 9px 0 6px; }
  .login-body input:not([type=search]) { min-height: 46px; }
  .login-body .local-login-note { padding: 10px 12px; }
}
.login-story > p.login-story-title { font-size: clamp(42px, 4.6vw, 58px); max-width: none; color: var(--ink); margin: 20px 0; line-height: 1.1; letter-spacing: -2.6px; }
@media (max-height: 780px) { .login-story > p.login-story-title { font-size: 44px; margin: 12px 0; } }

/* ===== Cadastro e recuperação de senha (16/10/2026) ===== */
.login-panel select { width: 100%; min-height: 50px; border: 1px solid #94a6c1; border-radius: 11px; padding: 10px 15px; background: #fff; font: inherit; font-size: 16px; color: var(--ink); }
.login-panel select:focus { border-color: var(--blue); outline: 3px solid #7396ef; outline-offset: 2px; }
.login-panel label .optional { font-weight: 500; color: #7f8ca3; }
.account-body .check-field { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.55; color: #52637d; cursor: pointer; }
.account-body .check-field input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; flex-shrink: 0; margin: 1px 0 0; padding: 0; accent-color: var(--blue); }
.check-field a, .login-footer a, .login-help a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.form-success { color: #134d32; background: #eefaf3; border: 1px solid #b5e2c8; border-radius: 10px; padding: 13px; font-size: 14px; margin-top: 15px; }
.form-error a { color: inherit; font-weight: 700; text-decoration: underline; }
.login-help { display: flex; justify-content: flex-end; margin: 8px 0 -4px; font-size: 13px; }
.login-help a { min-height: 32px; display: inline-flex; align-items: center; }
.login-footer a { display: inline-flex; align-items: center; min-height: 32px; }
.account-body label.check-field { font-weight: 500; margin-top: 16px; }

.captcha{margin:.9rem 0 .25rem;min-height:0}.captcha[hidden]{display:none}.captcha iframe{max-width:100%}

.password-panel{margin-top:18px}.password-panel h3{margin:0 0 6px}.password-form label{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}.password-form input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #c9d2e3;border-radius:10px;padding:10px 14px;font:inherit;font-size:16px;background:#fff}.password-form input:focus{outline:2px solid #2a56d6;outline-offset:1px}.password-form-actions{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:18px}
