/* Dedicated account styles: the decoy and administration keep site.css. */
.rr-account-body { min-height: 100vh; background: radial-gradient(ellipse at 12% 0%,#e7eefb 0,transparent 38%),radial-gradient(ellipse at 94% 10%,#eeebf8 0,transparent 34%),var(--bg); }
.account-shell { width: min(1120px,calc(100% - 48px)); margin: 0 auto; padding: 16px 0 0; }
.account-topbar { position: sticky; top: 16px; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 66px; padding: 10px 12px 10px 20px; border-radius: 999px; }
.account-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; }
.account-brand:hover { text-decoration: none; }
.account-brand-mark { width: 30px; height: 30px; border-radius: 9px; }
.account-brand strong { display: block; font-size: 19px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2; }
.account-brand small { color: var(--muted); font-size: 10px; }
.account-topbar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.account-topbar-actions .account-link-button { font-size: 13px; min-height: 44px; padding: 9px 17px; background: rgba(255,255,255,.6); border-color: rgba(0,102,204,.1); }
.account-auth { display: grid; place-items: center; min-height: min(840px,calc(100svh - 154px)); padding: 50px 0; }
.account-auth-panel { width: min(460px,100%); padding: 42px; border: 1px solid rgba(255,255,255,.95); border-radius: 34px; background: #fff; box-shadow: 0 24px 70px -32px rgba(55,67,100,.18); }
.account-auth-mark { display: block; width: 64px; height: 64px; border-radius: 19px; margin: 0 auto 26px; box-shadow: 0 8px 18px rgba(29,29,31,.1); }
.account-auth-panel > .account-kicker { text-align: center; font-size: 12px; }
.account-auth-panel h1 { text-align: center; font-size: 35px; line-height: 1.13; font-weight: 600; letter-spacing: -.045em; margin: 0; }
.account-auth-description { color: var(--muted); font-size: 14px; text-align: center; margin: 16px 0 24px; }
.account-auth-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; border-radius: 999px; background: #f0f2f7; box-shadow: inset 0 1px 4px rgba(27,38,62,.04); }
.account-auth-switch button { min-height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 14px; font-weight: 500; }
.account-auth-switch button[aria-pressed="true"] { background: #fff; color: var(--text); box-shadow: 0 2px 10px rgba(37,49,78,.1),inset 0 1px 0 #fff; }
.account-form { display: grid; gap: 16px; margin-top: 24px; }
.account-form label, .account-inline-form label, .account-contact-verification label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; }
.account-form input, .account-inline-form input, .account-contact-verification input { width: 100%; font-size: 16px; background: #fafbfe; }
.account-form .account-primary { min-height: 52px; }
.account-phone-input { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; width: 100%; min-height: 52px; border: 1px solid #aaaab4; border-radius: 14px; padding: 0 14px; background: #fafbfe; }
.account-phone-input > span { display: inline-flex; justify-content: center; width: 24px; font-size: 20px; line-height: 1; }
.account-phone-input input { min-height: 50px; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
.account-phone-input:focus-within { outline: 3px solid #0066cc; outline-offset: 3px; }
.account-phone-input input:focus-visible { outline: none; }
[data-code-input], [data-contact-code] { letter-spacing: .18em; font-variant-numeric: tabular-nums; }
.account-status-text { color: var(--muted); margin: 16px 0 0; line-height: 1.65; font-size: 13px; }
.account-status-text:empty { display: none; }
.account-status-text[data-tone="ok"] { color: #217344; }
.account-status-text[data-tone="error"] { color: #b3261e; }
.account-welcome { padding: 56px 0 28px; }
.account-welcome .account-kicker { color: var(--accent); }
.account-welcome h1 { font-size: clamp(34px,4.6vw,52px); font-weight: 600; line-height: 1.1; letter-spacing: -.05em; margin: 0; }
.account-welcome > p:last-child { color: var(--muted); font-size: 17px; margin: 14px 0 0; }
.account-grid, .account-grid-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.72fr); gap: 22px; }
.account-panel, .account-link-card { min-width: 0; background: #fff; border: 1px solid rgba(29,29,31,.035); border-radius: 30px; padding: 32px; }
.account-profile { display: grid; align-content: start; gap: 22px; }
.account-panel h2 { margin: 0 0 16px; font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.account-profile h2 { margin-bottom: 0; }
.account-profile-lines { display: grid; gap: 10px; }
.account-profile-lines > span { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.account-profile-lines i { color: var(--accent); flex-shrink: 0; }
.account-profile-action-line { flex-wrap: wrap; }
.account-inline-button { min-height: 44px; font-size: 13px; padding: 8px 15px; }
.account-contact-editor { margin-top: 2px; padding-top: 6px; border-top: 1px solid var(--border); }
.account-contact-editor > summary, .account-advanced > summary { cursor: pointer; min-height: 48px; padding: 12px 0; font-size: 14px; font-weight: 500; }
.account-contact-editor[open] > summary { margin-bottom: 14px; }
.account-inline-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin-bottom: 16px; }
.account-inline-form .account-secondary { font-size: 13px; min-height: 52px; padding: 10px 16px; }
.account-contact-verification { display: grid; gap: 16px; padding-top: 18px; border-top: 1px solid var(--border); }
.account-contact-verification-copy { display: grid; gap: 5px; }
.account-contact-verification-copy strong { font-weight: 600; }
.account-contact-verification-copy span { color: var(--muted); font-size: 14px; }
.account-contact-verification-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.account-contact-verification-actions > button { font-size: 13px; padding: 10px 16px; }
.account-traffic { background: linear-gradient(145deg,#e7eefb,#fdfdff 65%); }
.account-traffic > strong { display: block; font-size: clamp(40px,5.5vw,64px); font-weight: 600; line-height: 1.1; letter-spacing: -.05em; margin: 16px 0 12px; }
.account-traffic > span { font-size: 14px; color: var(--muted); }
.account-mini-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 28px; }
.account-mini-stats > span { display: grid; gap: 3px; border: 1px solid #fff; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.7); }
.account-mini-stats b { font-size: 14px; font-weight: 600; }
.account-mini-stats small { font-size: 11px; color: var(--muted); }
.account-section { margin-top: 22px; }
.account-section-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.account-section-head h2 { margin-bottom: 0; }
.account-license-form { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
.account-license-form button { min-width: 160px; }
.account-connect-selection { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 640px; margin: 24px 0; }
.account-connect-selection label { display: grid; gap: 8px; font-size: 13px; color: var(--muted); }
.account-connect-selection select { width: 100%; font-size: 16px; background: #f8f9fc; }
[data-connect-result] { margin: 20px 0; }
[data-connect-result] > p { color: var(--muted); line-height: 1.65; }
.account-panel > p:not(.account-kicker) { color: var(--muted); font-size: 14px; }
.account-link-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.account-link-actions > .account-primary { color: #fff; background: #0066cc; border-color: transparent; }
.account-link-actions > .account-primary:hover { background: #005bb7; }
.account-link-actions > button.copied { color: #217344; background: #edf7ef; }
.account-links-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.account-link-card { display: grid; gap: 16px; align-content: space-between; padding: 24px; }
.account-link-card h3 { margin: 0; font-size: 22px; letter-spacing: -.025em; }
.account-link-card p { color: var(--muted); font-size: 14px; line-height: 1.6; }
.account-link-card code { display: block; max-height: 90px; overflow: auto; overflow-wrap: anywhere; padding: 12px; border: 1px solid var(--border); border-radius: 12px; color: #425575; background: #f7f9fc; font-size: 12px; }
.account-link-card .account-link-actions > a, .account-link-card .account-link-actions > button { padding: 9px 14px; font-size: 13px; }
.account-server-list, .account-usage-list { display: grid; gap: 10px; }
.account-status-assessment, .account-server-row, .account-usage-row, .account-empty { padding: 16px; border: 1px solid var(--border); border-radius: 16px; background: #f9fafc; font-size: 14px; }
.account-status-assessment { color: #217344; }
.account-empty { grid-column: 1 / -1; color: var(--muted); }
.account-usage-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 10px; }
.account-usage-row span { display: grid; gap: 4px; min-width: 0; }
.account-usage-row small { color: var(--muted); overflow-wrap: anywhere; }
.account-usage-row strong { flex-shrink: 0; }
.account-advanced { margin: 28px 0 0; padding: 0 8px; }
.account-advanced > summary { color: var(--muted); }
.account-proxy-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 18px; }
.account-proxy-toolbar label { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.account-proxy-toolbar select { max-width: 100%; }
.account-proxy-details { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px 14px; margin: 0; font-size: 13px; }
.account-proxy-details dt { color: var(--muted); }
.account-proxy-details dd { margin: 0; min-width: 0; }
.account-proxy-details dd code { max-height: none; white-space: normal; }
.account-footer { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 40px; padding: 20px 0 26px; border-top: 1px solid var(--border); font-size: 12px; color: var(--muted); }
.account-footer > span { margin-right: auto; }
.account-footer a { color: var(--muted); min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 980px) {
  .account-grid, .account-grid-head { grid-template-columns: 1fr; }
  .account-links-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .account-shell { width: calc(100% - 32px); padding-top: 10px; }
  .account-topbar { top: 10px; padding: 8px 8px 8px 14px; gap: 10px; border-radius: 30px; min-height: 60px; }
  .account-brand { gap: 8px; }
  .account-brand strong { font-size: 17px; }
  .account-brand small { display: none; }
  .account-brand-mark { width: 27px; height: 27px; border-radius: 8px; }
  .account-topbar-actions { gap: 4px; }
  .account-topbar-actions .account-link-button { padding: 9px 12px; font-size: 12px; }
  .account-topbar-actions .ph { display: none; }
  .account-auth { padding: 34px 0; min-height: calc(100svh - 200px); }
  .account-auth-panel { padding: 30px 24px; border-radius: 28px; }
  .account-auth-panel h1 { font-size: 31px; }
  .account-auth-description { font-size: 13px; }
  .account-welcome { padding-top: 42px; }
  .account-welcome > p:last-child { font-size: 15px; }
  .account-panel, .account-link-card { padding: 24px; border-radius: 26px; }
  .account-profile-lines > span { font-size: 13px; }
  .account-profile-action-line { gap: 8px; }
  .account-inline-form, .account-license-form, .account-connect-selection, .account-links-grid { grid-template-columns: 1fr; }
  .account-contact-verification-actions > button { width: 100%; }
  .account-mini-stats { gap: 6px; }
  .account-mini-stats > span { padding: 10px; }
  .account-link-actions { flex-direction: column; align-items: stretch; }
  .account-usage-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  .account-proxy-toolbar, .account-proxy-toolbar label { align-items: stretch; flex-direction: column; }
  .account-proxy-details { grid-template-columns: 1fr; gap: 5px; }
  .account-proxy-details dd { margin-bottom: 8px; }
  .account-footer { gap: 8px 18px; }
  .account-footer > span { flex-basis: 100%; }
}
@media (max-width: 360px) {
  .account-topbar { flex-wrap: wrap; justify-content: center; padding: 10px; }
}
@media (forced-colors: active) {
  .account-panel, .account-auth-panel, .account-link-card { border: 1px solid CanvasText; }
}
