/* Register-User — Visual de aplicativo (v1.5)
   Telas de acesso (login, cadastro, recuperar senha, 2FA, pendente) em tela cheia no computador e como "folha"
   nativa no celular/tablet; telas internas (perfil, segurança, membros) ocupando a página inteira.
   Usa os tokens --ac-* da área de membros (claro/escuro) com valores de reserva idênticos aos dela.
   Carregado depois de front.css. Tudo é prefixado por .ru-app / .ru-shell. */

/* ========================================================================== 1. Tokens */
.ru-app{
  --rua-brand:var(--ac-brand,var(--ru-brand,#0b3c5d));
  --rua-cta:var(--ac-accent,var(--ru-cta,#1fb67a));
  --rua-cta-bg:color-mix(in srgb,var(--rua-cta) 72%,#000);
  --rua-cta-hi:color-mix(in srgb,var(--rua-cta) 60%,#000);
  --rua-bg:var(--ac-bg,#f4f7fa);
  --rua-surface:var(--ac-surface,#fff);
  --rua-alt:var(--ac-surface-alt,#f8fafc);
  --rua-tx:var(--ac-text,#1d2733);
  --rua-mut:var(--ac-muted,#64748b);
  --rua-hd:var(--ac-heading,#0b3c5d);
  --rua-bd:var(--ac-border,#e3e8ef);
  --rua-link:var(--ac-link,#1b5fb3);
  --rua-danger:var(--ac-danger,#b32d2e);
  --rua-ok:var(--ac-success,#0f8a5b);
  --rua-shadow:var(--ac-shadow,rgba(11,60,93,.12));
  --rua-hero-1:var(--rua-brand);
  --rua-hero-2:color-mix(in srgb,var(--rua-brand) 62%,#000);
  --rua-r:14px;--rua-r-lg:22px;
  --rua-h:48px;
  --rua-sat:env(safe-area-inset-top,0px);--rua-sab:env(safe-area-inset-bottom,0px);
  --rua-sal:env(safe-area-inset-left,0px);--rua-sar:env(safe-area-inset-right,0px);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;
}
@media (pointer:coarse){.ru-app{--rua-h:52px}}
/* Escuro automático quando não há o motor de tema da área de membros */
@media (prefers-color-scheme:dark){
  html:not([data-ac-theme]) .ru-app{
    --rua-bg:#0b1220;--rua-surface:#121b2b;--rua-alt:#172338;--rua-tx:#e6edf5;--rua-mut:#94a3b8;--rua-hd:#f1f5f9;
    --rua-bd:#223047;--rua-link:#7db8f0;--rua-danger:#f87171;--rua-ok:#4ade9b;--rua-shadow:rgba(0,0,0,.55);
    --rua-hero-1:color-mix(in srgb,var(--rua-brand) 62%,#000);--rua-hero-2:color-mix(in srgb,var(--rua-brand) 36%,#000);
  }
}
html[data-ac-theme="dark"] .ru-app{--rua-hero-1:color-mix(in srgb,var(--rua-brand) 62%,#000);--rua-hero-2:color-mix(in srgb,var(--rua-brand) 36%,#000)}

/* Aponta as variáveis antigas do front.css para os tokens do app (inclui a janela de termos, fora do .ru-shell) */
html .ru-app.ru-wrap.ru-wrap,html .ru-modal.ru-app{
  --ru-accent:var(--rua-cta-bg);--ru-bg:var(--rua-surface);--ru-fg:var(--rua-tx);--ru-muted:var(--rua-mut);
  --ru-border:var(--rua-bd);--ru-input:var(--rua-alt);--ru-radius:var(--rua-r);--ru-shadow:none;
}
.ru-wrap.ru-app{max-width:none;margin:0;color:var(--rua-tx);font-size:16px;line-height:1.5}
.ru-app *,.ru-app *::before,.ru-app *::after{box-sizing:border-box}
.ru-app a{color:var(--rua-link)}
.ru-app :focus-visible{outline:3px solid color-mix(in srgb,var(--rua-cta) 70%,transparent);outline-offset:2px}
.ru-app button,.ru-app .ru-btn,.ru-app .ru-choice,.ru-app summary{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.ru-app input,.ru-app textarea,.ru-app select{-webkit-user-select:text;user-select:text}

/* ========================================================================== 2. Casca (tela cheia / embutida / sem casca) */
.ru-shell{color:var(--rua-tx);background:var(--rua-bg)}
.ru-shell.ru-bare{background:none;color:inherit}
.ru-layout-full{position:fixed;inset:0;z-index:9990;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
body.admin-bar .ru-layout-full{top:32px}
@media (max-width:782px){body.admin-bar .ru-layout-full{top:46px}}
html:has(.ru-layout-full),body:has(.ru-layout-full){overflow:hidden!important}
.ru-layout-embed{position:relative;width:100%;min-height:100vh;min-height:100dvh}
.ru-is-framed.ru-layout-embed{min-height:100%}
html.ru-in-frame,html.ru-in-frame body{background:var(--ac-bg,#f4f7fa)}

/* Entrada: um único movimento suave ao abrir a tela */
@keyframes ru-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ru-spin{to{transform:rotate(360deg)}}
.ru-pane-in,.ru-page-in{animation:ru-rise .38s cubic-bezier(.2,.7,.2,1) both}

/* ========================================================================== 3. Telas de acesso (login, cadastro, recuperar, 2FA, pendente) */
.ru-auth{display:flex;flex-direction:column}
.ru-brandpane{position:relative;overflow:hidden;color:#fff;background:linear-gradient(160deg,var(--rua-hero-1),var(--rua-hero-2));
  display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(28px,4vw,56px)}
.ru-brandpane::after{content:"";position:absolute;right:-140px;bottom:-140px;width:460px;height:460px;border-radius:50%;background:var(--rua-cta);opacity:.18;pointer-events:none}
.ru-brandpane>*{position:relative;z-index:1}
.ru-brandlink{display:inline-flex;align-items:center;gap:12px;color:inherit!important;text-decoration:none!important;font-weight:700;font-size:18px;line-height:1.2;max-width:100%}
.ru-mark{width:40px;height:40px;border-radius:12px;background:var(--rua-cta);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex:none}
.ru-bname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ru-logo{display:block;max-height:44px;max-width:220px;width:auto;height:auto;object-fit:contain}
.ru-brandcopy p{margin:0;max-width:15em;color:#fff;font-size:clamp(26px,2.6vw,42px);line-height:1.16;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
.ru-brandfoot{font-size:13px;opacity:.7}

.ru-pane{background:var(--rua-surface);display:flex;flex-direction:column;min-width:0}
.ru-pane-in{width:100%;max-width:460px;margin:auto;padding:48px 32px}
.ru-screen-register .ru-pane-in{max-width:580px}
.ru-pane-head{margin:0 0 28px}
.ru-title{margin:0;color:var(--rua-hd);font-size:30px;line-height:1.15;font-weight:750;letter-spacing:-.02em;font-family:inherit}
.ru-sub{margin:8px 0 0;color:var(--rua-mut);font-size:15.5px;line-height:1.5}
.ru-shell .ru-pane-head h1.ru-title,.ru-shell .ru-page-head h1.ru-title{padding:0;border:0;text-transform:none}

/* Computador: marca à esquerda (fixa), formulário à direita (rola sozinho) */
@media (min-width:900px){
  .ru-auth.ru-layout-full{display:grid;grid-template-columns:minmax(360px,42%) minmax(0,1fr);overflow:hidden}
  .ru-auth.ru-layout-full .ru-pane{overflow:auto;height:100%;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .ru-auth.ru-layout-embed{display:grid;grid-template-columns:minmax(320px,40%) minmax(0,1fr)}
  .ru-auth.ru-layout-embed .ru-brandpane{position:sticky;top:0;align-self:start;height:100vh;height:100dvh}
}

/* Celular e tablet: faixa de marca no topo e folha arredondada com o formulário */
@media (max-width:899px){
  .ru-auth.ru-layout-full{overflow:auto}
  .ru-brandpane{flex:none;min-height:clamp(168px,27dvh,260px);padding:calc(28px + var(--rua-sat)) calc(24px + var(--rua-sar)) 64px calc(24px + var(--rua-sal));justify-content:center;align-items:center;text-align:center;gap:14px}
  .ru-brandpane::after{right:-90px;top:-110px;bottom:auto;width:300px;height:300px}
  .ru-brandcopy{display:none}
  .ru-brandfoot{display:none}
  .ru-pane{flex:1;position:relative;margin-top:-30px;border-radius:30px 30px 0 0;box-shadow:0 -10px 34px rgba(0,0,0,.14)}
  .ru-pane-in{max-width:520px;padding:30px calc(22px + var(--rua-sar)) calc(28px + var(--rua-sab)) calc(22px + var(--rua-sal))}
  .ru-screen-register .ru-pane-in{max-width:620px}
  .ru-title{font-size:26px}
  .ru-pane-head{margin-bottom:22px}
}
@media (min-width:600px) and (max-width:899px){
  .ru-brandpane{min-height:clamp(220px,30dvh,320px)}
  .ru-brandcopy{display:block}
  .ru-brandcopy p{font-size:clamp(24px,4vw,32px);max-width:18em}
  .ru-pane-in{padding-top:38px}
}
/* Celular deitado: sem faixa de marca, formulário ocupa a tela */
@media (max-width:899px) and (max-height:520px) and (orientation:landscape){
  .ru-brandpane{display:none}
  .ru-pane{margin-top:0;border-radius:0;box-shadow:none}
  .ru-pane-in{padding-top:22px}
}

/* ========================================================================== 4. Telas internas (perfil, segurança, membros) */
.ru-page{display:flex;flex-direction:column}
.ru-page.ru-layout-full{overflow:hidden}
.ru-appbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:calc(64px + var(--rua-sat));
  padding:var(--rua-sat) calc(clamp(16px,3vw,36px) + var(--rua-sar)) 0 calc(clamp(16px,3vw,36px) + var(--rua-sal));
  background:var(--rua-surface);border-bottom:1px solid var(--rua-bd);position:relative;z-index:2}
.ru-appbar .ru-brandlink{color:var(--rua-hd)!important}
.ru-appbar .ru-logo{max-height:38px}
.ru-appbar-r{display:flex;align-items:center;gap:10px;min-width:0}
.ru-appbar-me{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:600;color:var(--rua-hd)}
.ru-appbar-me b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.ru-appbar-av{width:36px!important;height:36px!important;border-radius:50%;object-fit:cover;flex:none}
.ru-appbar-out{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:99px;border:1px solid var(--rua-bd);color:var(--rua-tx)!important;text-decoration:none;font-size:14px;font-weight:600;background:var(--rua-surface)}
.ru-page-main{flex:1;min-height:0;min-width:0}
.ru-page.ru-layout-full .ru-page-main{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.ru-page-in{width:100%;max-width:none;margin:0;padding:clamp(20px,3vw,40px) calc(clamp(16px,3vw,48px) + var(--rua-sar)) calc(48px + var(--rua-sab)) calc(clamp(16px,3vw,48px) + var(--rua-sal))}
.ru-page-head{margin:0 0 24px}
.ru-page-head .ru-title{font-size:28px}
.ru-is-framed .ru-page-in{padding-top:clamp(16px,2.4vw,32px)}
.ru-is-framed .ru-page-head{display:none}

/* Perfil: cartão de identidade ao lado do formulário em telas largas */
.ru-me-card{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:20px;background:var(--rua-surface);border:1px solid var(--rua-bd);border-radius:var(--rua-r-lg)}
.ru-me-card .ru-me-av{width:64px!important;height:64px!important;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--rua-cta)}
.ru-me-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.ru-me-txt strong{color:var(--rua-hd);font-size:17px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.ru-me-txt span{color:var(--rua-mut);font-size:14px;overflow:hidden;text-overflow:ellipsis}
.ru-me-role{flex:none;padding:4px 12px;border-radius:99px;background:color-mix(in srgb,var(--rua-cta) 16%,var(--rua-surface));color:var(--rua-ok);font-size:12.5px;font-weight:700}
@media (min-width:1100px){
  .ru-screen-profile .ru-page-in{display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:28px;align-items:start}
  .ru-screen-profile .ru-page-in>*{grid-column:2}
  .ru-screen-profile .ru-page-in>.ru-page-head{grid-column:1/-1}
  .ru-screen-profile .ru-page-in>.ru-me-card{grid-column:1;grid-row:span 6;position:sticky;top:0;flex-direction:column;text-align:center;padding:28px 22px;margin:0}
  .ru-screen-profile .ru-me-card .ru-me-av{width:112px!important;height:112px!important}
  .ru-screen-profile .ru-me-txt{align-items:center;flex:none;max-width:100%}
}

/* Cartões de conteúdo das telas internas */
.ru-page .ru-wrap .ru-form,.ru-page .ru-wrap .ru-card{background:var(--rua-surface);border:1px solid var(--rua-bd);border-radius:var(--rua-r-lg);padding:clamp(18px,2.4vw,32px);box-shadow:none}
.ru-page .ru-wrap+.ru-wrap{margin-top:20px}

/* Campos em grade: curtos em 2 (e 3 em telas muito largas) colunas; longos em linha inteira */
.ru-page .ru-fields{gap:20px 18px}
@media (min-width:760px){
  .ru-page .ru-field.ru-col-100:is(.ru-type-text,.ru-type-email,.ru-type-username,.ru-type-first_name,.ru-type-last_name,.ru-type-nickname,.ru-type-display_name,.ru-type-phone,.ru-type-date,.ru-type-time,.ru-type-url,.ru-type-website,.ru-type-number,.ru-type-select,.ru-type-country,.ru-type-timezone,.ru-type-role_select,.ru-type-password){grid-column:span 6}
}
@media (min-width:1500px){
  .ru-page .ru-field.ru-col-100:is(.ru-type-text,.ru-type-email,.ru-type-username,.ru-type-first_name,.ru-type-last_name,.ru-type-nickname,.ru-type-display_name,.ru-type-phone,.ru-type-date,.ru-type-time,.ru-type-url,.ru-type-website,.ru-type-number,.ru-type-select,.ru-type-country,.ru-type-timezone,.ru-type-role_select){grid-column:span 4}
}
.ru-page .ru-heading{grid-column:1/-1;margin-top:8px;padding-top:22px;border-top:1px solid var(--rua-bd)}
.ru-page .ru-fields>.ru-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.ru-heading h3{margin:0;font-size:17px;font-weight:700;color:var(--rua-hd)}
.ru-heading p{margin-top:4px}

/* ========================================================================== 5. Formulários */
.ru-shell .ru-wrap .ru-form,.ru-shell .ru-wrap .ru-card{color:inherit}
.ru-auth .ru-wrap .ru-form,.ru-auth .ru-wrap .ru-card{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.ru-bare .ru-wrap .ru-form,.ru-bare .ru-wrap .ru-card{background:none;border:0;box-shadow:none;padding:0}
.ru-wrap.ru-app .ru-form>.ru-field,.ru-wrap.ru-app .ru-form>.ru-actions{margin-top:18px}
.ru-wrap.ru-app .ru-form>.ru-field:first-child{margin-top:0}
.ru-wrap.ru-app .ru-field{gap:7px}
.ru-wrap.ru-app .ru-field>label,.ru-wrap.ru-app .ru-label{font-size:14px;font-weight:600;color:var(--rua-tx);line-height:1.3}
.ru-wrap.ru-app .ru-req{color:var(--rua-danger)}
.ru-wrap.ru-app .ru-help{color:var(--rua-mut);font-size:13px;line-height:1.4}
.ru-wrap.ru-app .ru-error{color:var(--rua-danger);font-size:13.5px}

.ru-wrap.ru-app .ru-field input[type=text],.ru-wrap.ru-app .ru-field input[type=email],.ru-wrap.ru-app .ru-field input[type=password],.ru-wrap.ru-app .ru-field input[type=url],
.ru-wrap.ru-app .ru-field input[type=tel],.ru-wrap.ru-app .ru-field input[type=number],.ru-wrap.ru-app .ru-field input[type=date],.ru-wrap.ru-app .ru-field input[type=time],
.ru-wrap.ru-app .ru-field input[type=search],.ru-wrap.ru-app .ru-field select,.ru-wrap.ru-app .ru-ul-bar input,.ru-wrap.ru-app .ru-ul-bar select{
  width:100%;height:var(--rua-h);padding:0 16px;font:inherit;font-size:16px;line-height:1.2;color:var(--rua-tx);background:var(--rua-alt);
  border:1.5px solid var(--rua-bd);border-radius:var(--rua-r);-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s,background-color .15s}
.ru-wrap.ru-app .ru-field textarea{width:100%;min-height:128px;padding:13px 16px;font:inherit;font-size:16px;line-height:1.5;color:var(--rua-tx);background:var(--rua-alt);border:1.5px solid var(--rua-bd);border-radius:var(--rua-r);resize:vertical;-webkit-appearance:none;appearance:none}
.ru-wrap.ru-app .ru-field select,.ru-wrap.ru-app .ru-ul-bar select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.ru-wrap.ru-app .ru-field select[multiple]{height:auto;padding:8px;background-image:none}
.ru-wrap.ru-app .ru-field input:focus,.ru-wrap.ru-app .ru-field select:focus,.ru-wrap.ru-app .ru-field textarea:focus,.ru-wrap.ru-app .ru-ul-bar input:focus,.ru-wrap.ru-app .ru-ul-bar select:focus{
  outline:none;background-color:var(--rua-surface);border-color:var(--rua-cta);box-shadow:0 0 0 4px color-mix(in srgb,var(--rua-cta) 22%,transparent)}
.ru-wrap.ru-app .ru-field input[readonly]{opacity:.65}
.ru-wrap.ru-app .ru-field input::placeholder,.ru-wrap.ru-app .ru-field textarea::placeholder{color:var(--rua-mut);opacity:.7}
.ru-wrap.ru-app .ru-has-error input,.ru-wrap.ru-app .ru-has-error select,.ru-wrap.ru-app .ru-has-error textarea{border-color:var(--rua-danger)!important}
.ru-wrap.ru-app .ru-field input[type=file]{width:100%;padding:12px;border:1.5px dashed var(--rua-bd);border-radius:var(--rua-r);background:var(--rua-alt);font-size:14px;color:var(--rua-mut)}
.ru-wrap.ru-app .ru-field input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:10px;background:var(--rua-cta-bg);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.ru-wrap.ru-app .ru-field input[type=color]{width:64px;height:var(--rua-h);padding:4px;border-radius:var(--rua-r);border:1.5px solid var(--rua-bd);background:var(--rua-alt)}
.ru-wrap.ru-app .ru-code-input{letter-spacing:.3em;text-align:center;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;height:62px}

/* Senha */
.ru-wrap.ru-app .ru-pass-wrap input{padding-right:96px!important}
.ru-wrap.ru-app .ru-toggle-pass{right:6px;min-height:36px;padding:0 12px;border-radius:10px;color:var(--rua-link);font-size:13.5px;font-weight:600}
@media (hover:hover){.ru-wrap.ru-app .ru-toggle-pass:hover{background:color-mix(in srgb,var(--rua-link) 10%,transparent)}}
.ru-wrap.ru-app .ru-meter{height:6px;background:var(--rua-bd)}
.ru-wrap.ru-app .ru-meter-label{font-size:12.5px}
.ru-wrap.ru-app .ru-pass2{margin-top:8px}

/* Caixas de seleção e opções: linhas grandes e fáceis de tocar */
.ru-wrap.ru-app .ru-choice{align-items:center;gap:12px;min-height:28px;line-height:1.4;font-size:15px}
.ru-wrap.ru-app .ru-choice input[type=checkbox],.ru-wrap.ru-app .ru-choice input[type=radio]{width:22px;height:22px;margin:0;flex:none;accent-color:var(--rua-cta-bg)}
.ru-wrap.ru-app .ru-field:is(.ru-type-terms,.ru-type-checkbox)>.ru-choice{padding:14px;border:1.5px solid var(--rua-bd);border-radius:var(--rua-r);background:var(--rua-alt);align-items:flex-start}
.ru-wrap.ru-app .ru-field:is(.ru-type-terms,.ru-type-checkbox)>.ru-choice input{margin-top:1px}
.ru-wrap.ru-app .ru-choices{gap:0;border:1.5px solid var(--rua-bd);border-radius:var(--rua-r);background:var(--rua-alt);overflow:hidden}
.ru-wrap.ru-app .ru-choices .ru-choice{padding:13px 14px;border-bottom:1px solid var(--rua-bd)}
.ru-wrap.ru-app .ru-choices .ru-choice:last-child{border-bottom:0}
.ru-wrap.ru-app .ru-terms-open{margin:6px 0 0 4px;padding:6px 0;color:var(--rua-link);font-size:14px}
.ru-wrap.ru-app .ru-row-between{gap:10px 16px}
.ru-wrap.ru-app .ru-row-between>.ru-choice{padding:0;border:0;background:none;min-height:44px}
.ru-wrap.ru-app .ru-row-between a,.ru-wrap.ru-app .ru-alt a{color:var(--rua-link);font-weight:600;text-decoration:none}
.ru-wrap.ru-app .ru-row-between a{min-height:44px;display:inline-flex;align-items:center}
.ru-wrap.ru-app .ru-alt{margin:22px 0 0;font-size:15px;color:var(--rua-mut)}

/* Botões */
.ru-wrap.ru-app .ru-btn{min-height:var(--rua-h);padding:0 22px;border-radius:var(--rua-r);font-size:16px;font-weight:700;line-height:1.2;letter-spacing:.005em;text-align:center;border-width:1.5px;transition:background-color .15s,filter .15s,transform .08s,border-color .15s}
.ru-wrap.ru-app .ru-btn:active{transform:scale(.985)}
.ru-wrap.ru-app .ru-btn-primary{background:var(--rua-cta-bg);color:#fff!important;border-color:transparent}
.ru-wrap.ru-app .ru-btn-light{background:var(--rua-surface);color:var(--rua-tx)!important;border-color:var(--rua-bd)}
.ru-wrap.ru-app .ru-btn-danger{background:var(--rua-danger);color:#fff!important;border-color:transparent}
@media (hover:hover){
  .ru-wrap.ru-app .ru-btn-primary:hover{background:var(--rua-cta-hi);opacity:1}
  .ru-wrap.ru-app .ru-btn-light:hover{border-color:var(--rua-cta);background:var(--rua-alt)}
}
.ru-wrap.ru-app .ru-btn[disabled]{opacity:.75;cursor:progress}
.ru-wrap.ru-app .ru-btn[disabled]::before{content:"";width:16px;height:16px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ru-spin .7s linear infinite;flex:none}
.ru-wrap.ru-app .ru-actions{gap:12px;margin-top:22px}
.ru-wrap.ru-app .ru-form>.ru-actions{margin-top:24px}
.ru-wrap.ru-app .ru-btn-block{width:100%}

/* Aviso, sucesso e erro */
.ru-wrap.ru-app .ru-notice{margin:0 0 18px;padding:14px 16px;border:1px solid var(--rua-bd);border-left-width:4px;border-radius:var(--rua-r);font-size:14.5px;line-height:1.5;color:var(--rua-tx);background:var(--rua-alt)}
.ru-wrap.ru-app .ru-info{border-color:color-mix(in srgb,var(--rua-link) 28%,transparent);border-left-color:var(--rua-link);background:color-mix(in srgb,var(--rua-link) 8%,var(--rua-surface));color:var(--rua-tx)}
.ru-wrap.ru-app .ru-success{border-color:color-mix(in srgb,var(--rua-ok) 30%,transparent);border-left-color:var(--rua-ok);background:color-mix(in srgb,var(--rua-ok) 9%,var(--rua-surface));color:var(--rua-tx)}
.ru-wrap.ru-app .ru-error.ru-notice{border-color:color-mix(in srgb,var(--rua-danger) 30%,transparent);border-left-color:var(--rua-danger);background:color-mix(in srgb,var(--rua-danger) 8%,var(--rua-surface));color:var(--rua-tx);font-size:14.5px}
.ru-wrap.ru-app .ru-notice a:not(.ru-btn){color:var(--rua-link);font-weight:600}
.ru-wrap.ru-app .ru-locked{align-items:center}
.ru-wrap.ru-app .ru-ajax-msg:empty{display:none}

/* Login social */
.ru-wrap.ru-app .ru-social{gap:10px;margin-bottom:18px}
.ru-wrap.ru-app .ru-or{margin-top:6px;font-size:13px}
.ru-wrap.ru-app .ru-gsi{min-height:var(--rua-h)}

/* Etapas (cadastro com várias etapas): indicador numerado, pois é uma sequência real */
.ru-wrap.ru-app .ru-progress{counter-reset:ruStep;gap:0;margin:0 0 26px;align-items:flex-start}
.ru-wrap.ru-app .ru-progress li{counter-increment:ruStep;position:relative;flex:1;border:0;padding:42px 4px 0;font-size:12.5px;line-height:1.25;color:var(--rua-mut);font-weight:600}
.ru-wrap.ru-app .ru-progress li::before{content:counter(ruStep);position:absolute;top:0;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;background:var(--rua-alt);border:2px solid var(--rua-bd);color:var(--rua-mut);z-index:1;transition:background-color .2s,border-color .2s,color .2s}
.ru-wrap.ru-app .ru-progress li::after{content:"";position:absolute;top:15px;left:calc(-50% + 16px);right:calc(50% + 16px);height:2px;background:var(--rua-bd)}
.ru-wrap.ru-app .ru-progress li:first-child::after{display:none}
.ru-wrap.ru-app .ru-progress li.is-done::after,.ru-wrap.ru-app .ru-progress li.is-current::after{background:var(--rua-cta)}
.ru-wrap.ru-app .ru-progress li.is-done::before{background:var(--rua-cta-bg);border-color:var(--rua-cta-bg);color:#fff;content:"\2713"}
.ru-wrap.ru-app .ru-progress li.is-current::before{background:var(--rua-surface);border-color:var(--rua-cta);color:var(--rua-hd);box-shadow:0 0 0 4px color-mix(in srgb,var(--rua-cta) 22%,transparent)}
.ru-wrap.ru-app .ru-progress li.is-current{color:var(--rua-hd)}
.ru-wrap.ru-app .ru-step>.ru-stepnav{grid-column:1/-1;margin-top:8px;gap:12px}
.ru-wrap.ru-app .ru-stepnav>*{flex:1}
.ru-wrap.ru-app .ru-stepnav>.ru-btn-primary:only-child{flex:1}
@media (max-width:520px){.ru-wrap.ru-app .ru-progress li{font-size:0;padding-top:36px}.ru-wrap.ru-app .ru-progress li.is-current{font-size:12.5px}.ru-wrap.ru-app .ru-progress li.is-current::before{}}

/* Barra de ação fixa: o botão principal sempre à mão (celular/tablet); no perfil, em qualquer tela */
@media (max-width:899px){
  .ru-wrap.ru-app .ru-form>.ru-actions,.ru-wrap.ru-app .ru-step>.ru-stepnav{position:sticky;bottom:0;z-index:3;margin-left:-4px;margin-right:-4px;padding:14px 4px calc(14px + var(--rua-sab));background:linear-gradient(to bottom,transparent,var(--rua-surface) 22%)}
  .ru-page .ru-wrap.ru-app .ru-form>.ru-actions,.ru-page .ru-wrap.ru-app .ru-step>.ru-stepnav{background:linear-gradient(to bottom,transparent,var(--rua-surface) 22%)}
}
.ru-page .ru-wrap.ru-app .ru-form>.ru-actions{position:sticky;bottom:calc(-1 * clamp(18px,2.4vw,32px));z-index:3;justify-content:flex-end;
  margin:28px calc(-1 * clamp(18px,2.4vw,32px)) calc(-1 * clamp(18px,2.4vw,32px));padding:16px clamp(18px,2.4vw,32px);padding-bottom:calc(16px + var(--rua-sab));
  background:color-mix(in srgb,var(--rua-surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-top:1px solid var(--rua-bd);border-radius:0 0 var(--rua-r-lg) var(--rua-r-lg)}
.ru-page .ru-wrap.ru-app .ru-form>.ru-actions .ru-btn-primary{min-width:200px}
@media (max-width:599px){.ru-page .ru-wrap.ru-app .ru-form>.ru-actions .ru-btn-primary{width:100%}}

/* Excluir conta */
.ru-wrap.ru-app.ru-danger,.ru-wrap.ru-app .ru-danger{margin-top:20px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--rua-danger) 35%,var(--rua-bd));border-radius:var(--rua-r-lg);background:var(--rua-surface)}
.ru-danger summary{min-height:32px;display:flex;align-items:center;font-size:15px}
.ru-danger .ru-form{margin-top:12px!important;padding:0!important;border:0!important;background:none!important}

/* Mapa, repetidor, avatar */
.ru-wrap.ru-app .ru-map-canvas{height:280px;border-radius:var(--rua-r);border:1.5px solid var(--rua-bd)}
.ru-wrap.ru-app .ru-map-ctl button{width:40px;height:40px;border-radius:10px}
.ru-wrap.ru-app .ru-rep-add{min-height:44px;padding:0 16px;border-radius:12px;border:1.5px dashed var(--rua-cta);color:var(--rua-link)}
.ru-wrap.ru-app .ru-rep-del{min-width:40px;min-height:40px;color:var(--rua-danger)}
.ru-wrap.ru-app .ru-avatar-preview img{width:72px;height:72px;object-fit:cover;border:3px solid var(--rua-cta)}
.ru-wrap.ru-app .ru-woo input,.ru-wrap.ru-app .ru-woo select{height:var(--rua-h);padding:0 14px;font-size:16px;background:var(--rua-alt);border:1.5px solid var(--rua-bd);border-radius:var(--rua-r);color:var(--rua-tx)}

/* Estilos antigos ("Herdar do tema") não podem quebrar o visual de app */
.ru-app.ru-style-theme input,.ru-app.ru-style-theme select,.ru-app.ru-style-theme textarea{background:var(--rua-alt)!important;color:var(--rua-tx)!important;border-color:var(--rua-bd)!important}

/* ========================================================================== 6. Cartões: logado, pendente, aviso de conteúdo restrito */
.ru-wrap.ru-app .ru-logged{text-align:center}
.ru-wrap.ru-app .ru-logged .ru-hello{flex-direction:column;gap:10px;margin-bottom:20px}
.ru-wrap.ru-app .ru-hello img{width:72px;height:72px;object-fit:cover;border:3px solid var(--rua-cta)}
.ru-wrap.ru-app .ru-logged .ru-actions{justify-content:center}
.ru-wrap.ru-app .ru-pending{text-align:center}
.ru-wrap.ru-app .ru-pending-icon{width:88px;height:88px;margin:0 auto 18px;font-size:40px;background:color-mix(in srgb,var(--rua-cta) 16%,var(--rua-surface))}
.ru-wrap.ru-app .ru-pending h3{margin:0 0 10px;font-size:24px;line-height:1.2;color:var(--rua-hd)}
.ru-wrap.ru-app .ru-pending-text{color:var(--rua-mut);font-size:15.5px;margin-bottom:22px}
.ru-screen-pending .ru-pane-in{text-align:center}
.ru-wrap.ru-app .ru-pending .ru-btn{width:100%}
.ru-screen-logged .ru-pane-in{text-align:center}

/* Segurança (2FA) */
.ru-wrap.ru-app .ru-steps{list-style:none;counter-reset:ruSt;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ru-wrap.ru-app .ru-steps>li{counter-increment:ruSt;position:relative;padding:2px 0 2px 44px;min-height:32px;line-height:1.5}
.ru-wrap.ru-app .ru-steps>li::before{content:counter(ruSt);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--rua-cta-bg);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.ru-wrap.ru-app .ru-qr{display:flex;justify-content:center;margin:12px 0}
.ru-wrap.ru-app .ru-qr svg{width:min(220px,100%);height:auto;aspect-ratio:1;background:#fff;padding:8px;border-radius:var(--rua-r);border:1px solid var(--rua-bd)}
.ru-wrap.ru-app .ru-secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;padding:4px 10px;word-break:break-all}
.ru-wrap.ru-app .ru-codes{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:14px 16px;border-radius:var(--rua-r);white-space:pre-wrap;line-height:1.8}
.ru-wrap.ru-app .ru-pill{padding:4px 12px;font-size:12.5px}

/* ========================================================================== 7. Membros (lista e perfil público) */
.ru-wrap.ru-app .ru-ul-bar{gap:10px;margin-bottom:22px;align-items:stretch}
.ru-wrap.ru-app .ru-ul-bar input[type=search]{flex:1 1 260px;min-width:0}
.ru-wrap.ru-app .ru-ul-bar select{width:auto;flex:0 1 190px}
.ru-wrap.ru-app .ru-ul-bar .ru-btn{flex:none}
.ru-wrap.ru-app .ru-ul-grid{gap:16px}
.ru-wrap.ru-app .ru-ul-card,.ru-wrap.ru-app .ru-ul-row,.ru-wrap.ru-app .ru-chip{background:var(--rua-surface);border:1px solid var(--rua-bd);border-radius:var(--rua-r-lg);color:var(--rua-tx)}
.ru-wrap.ru-app .ru-ul-card{padding:24px 20px;transition:border-color .15s,box-shadow .15s,transform .15s}
.ru-wrap.ru-app .ru-ul-card img,.ru-wrap.ru-app .ru-ul-row img{width:72px;height:72px;object-fit:cover;border:3px solid var(--rua-cta)}
.ru-wrap.ru-app .ru-ul-card h4,.ru-wrap.ru-app .ru-ul-info h4{margin:10px 0 4px;font-size:17px;line-height:1.3;color:var(--rua-hd)}
.ru-wrap.ru-app .ru-ul-card p,.ru-wrap.ru-app .ru-ul-info p{color:var(--rua-mut);font-size:14px}
.ru-wrap.ru-app .ru-ul-card a,.ru-wrap.ru-app .ru-ul-info a{color:var(--rua-hd)}
@media (hover:hover){.ru-wrap.ru-app .ru-ul-card:hover{border-color:var(--rua-cta);box-shadow:0 12px 30px var(--rua-shadow);transform:translateY(-2px)}}
.ru-wrap.ru-app .ru-ul-row{padding:16px 20px}
.ru-wrap.ru-app .ru-chip{padding:5px 16px 5px 5px;min-height:44px;font-weight:600}
.ru-wrap.ru-app .ru-table-wrap{background:var(--rua-surface);border:1px solid var(--rua-bd);border-radius:var(--rua-r-lg);overflow:auto}
.ru-wrap.ru-app .ru-table th{padding:14px 16px;font-size:13px;color:var(--rua-mut);font-weight:600;background:var(--rua-alt);white-space:nowrap}
.ru-wrap.ru-app .ru-table td{padding:12px 16px;border-bottom:1px solid var(--rua-bd)}
.ru-wrap.ru-app .ru-table tr:last-child td{border-bottom:0}
.ru-wrap.ru-app .ru-table td a{color:var(--rua-hd);font-weight:600;text-decoration:none}
.ru-wrap.ru-app .ru-table img{width:40px;height:40px;object-fit:cover}
.ru-wrap.ru-app .ru-pager{gap:8px;margin-top:24px;justify-content:center}
.ru-wrap.ru-app .ru-pager a{min-width:44px;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1.5px solid var(--rua-bd);background:var(--rua-surface);color:var(--rua-tx);font-weight:600}
.ru-wrap.ru-app .ru-pager a.is-active{background:var(--rua-cta-bg);border-color:var(--rua-cta-bg);color:#fff}
.ru-wrap.ru-app .ru-back{margin:0 0 16px}
.ru-wrap.ru-app .ru-back a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none;color:var(--rua-link)}
.ru-wrap.ru-app .ru-profile{--ru-pad:clamp(20px,2.4vw,32px);padding:var(--ru-pad);max-width:none}
.ru-wrap.ru-app .ru-banner{margin:calc(-1 * var(--ru-pad)) calc(-1 * var(--ru-pad)) 0;border-radius:calc(var(--rua-r-lg) - 1px) calc(var(--rua-r-lg) - 1px) 0 0;background:linear-gradient(135deg,var(--rua-hero-1),var(--rua-hero-2))}
.ru-wrap.ru-app .ru-banner-head img{border-color:var(--rua-surface)}
.ru-wrap.ru-app .ru-profile h3{color:var(--rua-hd);font-size:22px}
.ru-wrap.ru-app .ru-dl{gap:0 24px}
.ru-wrap.ru-app .ru-dl dt,.ru-wrap.ru-app .ru-dl dd{padding:12px 0;border-top:1px solid var(--rua-bd)}
.ru-wrap.ru-app .ru-dl dt{color:var(--rua-mut);font-weight:600;font-size:14px}
.ru-wrap.ru-app .ru-profile-sidebar{max-width:none;grid-template-columns:240px minmax(0,1fr)}
@media (min-width:1100px){.ru-wrap.ru-app .ru-dl{grid-template-columns:minmax(180px,260px) 1fr}}

/* ========================================================================== 8. Janela dos termos / políticas */
.ru-modal.ru-app{background:rgba(8,15,28,.66);padding:20px calc(20px + var(--rua-sar)) calc(20px + var(--rua-sab)) calc(20px + var(--rua-sal))}
.ru-modal.ru-app .ru-modal-box{background:var(--rua-surface);color:var(--rua-tx);border-radius:var(--rua-r-lg);max-height:min(88vh,900px)}
.ru-modal.ru-app .ru-modal-head{padding:18px 22px;border-color:var(--rua-bd)}
.ru-modal.ru-app .ru-modal-head h3{color:var(--rua-hd);font-size:18px}
.ru-modal.ru-app .ru-modal-x{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--rua-mut);background:var(--rua-alt);border-radius:50%;padding:0;font-size:24px}
.ru-modal.ru-app .ru-modal-foot{background:var(--rua-alt);border-color:var(--rua-bd);padding:14px 22px calc(14px + var(--rua-sab))}
.ru-modal.ru-app .ru-btn{min-height:var(--rua-h);border-radius:var(--rua-r);font-weight:700}
.ru-modal.ru-app .ru-btn-primary{background:var(--rua-cta-bg);color:#fff!important}
.ru-modal.ru-app .ru-btn-light{background:var(--rua-surface);border:1.5px solid var(--rua-bd);color:var(--rua-tx)!important}
@media (max-width:599px){
  .ru-modal.ru-app{padding:0;align-items:flex-end}
  .ru-modal.ru-app .ru-modal-box{max-height:92dvh;border-radius:26px 26px 0 0}
  .ru-modal.ru-app .ru-modal-head{position:relative;padding-top:26px}
  .ru-modal.ru-app .ru-modal-head::before{content:"";position:absolute;top:9px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--rua-bd)}
  .ru-modal.ru-app .ru-modal-foot{flex-direction:column-reverse}
  .ru-modal.ru-app .ru-modal-foot .ru-btn{width:100%}
}

/* ========================================================================== 9. Celular (≤ 599px) */
@media (max-width:599px){
  /* Telas internas: grupos de campos como "lista agrupada" nativa, de ponta a ponta */
  .ru-page-in{padding:16px calc(14px + var(--rua-sar)) calc(36px + var(--rua-sab)) calc(14px + var(--rua-sal))}
  .ru-appbar{min-height:calc(56px + var(--rua-sat))}
  .ru-appbar-me b{display:none}
  .ru-appbar .ru-bname{max-width:160px}
  .ru-page .ru-wrap .ru-form,.ru-page .ru-wrap .ru-card{border-radius:20px;padding:18px 16px}
  .ru-page .ru-wrap.ru-app .ru-form>.ru-actions{position:sticky;bottom:-18px;margin:22px -16px -18px;padding:14px 16px calc(14px + var(--rua-sab));border-radius:0 0 20px 20px}
  .ru-me-card{padding:16px}
  .ru-me-role{display:none}
  .ru-page .ru-fields{gap:18px 12px}
  /* Cartões de membros viram linhas de lista */
  .ru-wrap.ru-app .ru-ul-grid{grid-template-columns:1fr!important;gap:10px}
  .ru-wrap.ru-app .ru-ul-card{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;align-items:center;text-align:left;padding:14px}
  .ru-wrap.ru-app .ru-ul-card img{width:56px;height:56px;grid-row:span 2}
  .ru-wrap.ru-app .ru-ul-card h4{margin:0}
  .ru-wrap.ru-app .ru-ul-card p{grid-column:2;margin:0}
  .ru-wrap.ru-app .ru-ul-row{flex-wrap:wrap;gap:12px}
  .ru-wrap.ru-app .ru-ul-row .ru-btn{width:100%}
  .ru-wrap.ru-app .ru-ul-bar select,.ru-wrap.ru-app .ru-ul-bar .ru-btn{flex:1 1 calc(50% - 5px)}
  .ru-wrap.ru-app .ru-ul-bar input[type=search]{flex-basis:100%}
  /* Tabela vira cartões */
  .ru-wrap.ru-app .ru-table-wrap{border:0;background:none;overflow:visible}
  .ru-wrap.ru-app .ru-table,.ru-wrap.ru-app .ru-table tbody{display:block}
  .ru-wrap.ru-app .ru-table thead{display:none}
  .ru-wrap.ru-app .ru-table tr{display:grid;grid-template-columns:48px minmax(0,1fr);gap:2px 12px;align-items:center;margin-bottom:10px;padding:12px 14px;background:var(--rua-surface);border:1px solid var(--rua-bd);border-radius:var(--rua-r-lg)}
  .ru-wrap.ru-app .ru-table td{display:block;padding:0;border:0}
  .ru-wrap.ru-app .ru-table .ru-td-av{grid-row:span 3}
  .ru-wrap.ru-app .ru-table .ru-td-name{font-size:16px}
  .ru-wrap.ru-app .ru-table td[data-label]{grid-column:2;font-size:14px;color:var(--rua-mut)}
  .ru-wrap.ru-app .ru-table td[data-label]:empty{display:none}
  .ru-wrap.ru-app .ru-table td[data-label]::before{content:attr(data-label) ": ";font-weight:600}
  .ru-wrap.ru-app .ru-dl{grid-template-columns:1fr}
  .ru-wrap.ru-app .ru-dl dt{border-top:1px solid var(--rua-bd);padding-bottom:0}
  .ru-wrap.ru-app .ru-dl dd{border-top:0;padding-top:2px}
  .ru-wrap.ru-app .ru-profile-sidebar{grid-template-columns:1fr}
  .ru-wrap.ru-app .ru-map-canvas{height:220px}
  .ru-wrap.ru-app .ru-actions .ru-btn{flex:1 1 100%}
  .ru-wrap.ru-app .ru-logged .ru-actions .ru-btn{flex:1 1 100%}
}
@media (max-width:420px){
  .ru-pane-in{padding-left:calc(18px + var(--rua-sal));padding-right:calc(18px + var(--rua-sar))}
  .ru-wrap.ru-app .ru-row-between{align-items:flex-start}
}

/* ========================================================================== 10. Computador largo: aproveita a tela */
@media (min-width:1280px){
  .ru-page .ru-wrap .ru-form,.ru-page .ru-wrap .ru-card{padding:32px}
  .ru-wrap.ru-app .ru-ul-bar{padding:0}
}
@media (min-width:1500px){
  .ru-wrap.ru-app .ru-ul-grid{grid-template-columns:repeat(max(var(--ru-cols,3),4),minmax(0,1fr))}
}

/* ========================================================================== 11. Preferências do sistema */
@media (prefers-reduced-motion:reduce){
  .ru-app *,.ru-app *::before,.ru-app *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{.ru-layout-full{position:static;overflow:visible}.ru-brandpane,.ru-appbar{display:none}}

/* ========================================================================== 12. Painel de tela única (perfil no computador)
   O tema pode limitar a largura do conteúdo (layout "constrained"): a casca ignora isso e usa a janela toda. */
.ru-shell,.ru-shell.ru-layout-embed{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;float:none!important}
.ru-page.ru-is-framed{position:fixed;inset:0;z-index:1;overflow:hidden}
.ru-page.ru-is-framed .ru-page-main{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* Foto de perfil compacta: miniatura ao lado dos controles */
.ru-wrap.ru-app .ru-field.ru-type-avatar:has(.ru-avatar-preview),.ru-wrap.ru-app .ru-field.ru-type-upload:has(.ru-avatar-preview){display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:16px;row-gap:6px;align-items:center}
.ru-wrap.ru-app .ru-field.ru-type-avatar:has(.ru-avatar-preview)>*{grid-column:2}
.ru-wrap.ru-app .ru-field.ru-type-avatar:has(.ru-avatar-preview)>label:first-child{grid-column:1/-1}
.ru-wrap.ru-app .ru-field.ru-type-avatar:has(.ru-avatar-preview)>.ru-avatar-preview{grid-column:1;grid-row:2/span 4}
.ru-wrap.ru-app .ru-type-avatar input[type=file]{padding:8px 10px}

@media (min-width:1100px) and (min-height:560px){
  .ru-screen-profile .ru-page-main{overflow:hidden!important}
  .ru-screen-profile .ru-page-in{height:100%;display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:24px;row-gap:0;padding-top:20px;padding-bottom:20px;align-items:stretch}
  .ru-screen-profile .ru-page-in>.ru-page-head{grid-column:1/-1;grid-row:1;margin-bottom:16px}
  .ru-screen-profile .ru-page-in>.ru-me-card{grid-column:1;grid-row:2/span 2;align-self:start;position:static;padding:22px 18px}
  .ru-screen-profile .ru-page-in>.ru-wrap:not(.ru-danger){grid-column:2;grid-row:2;min-height:0;display:flex;flex-direction:column}
  .ru-screen-profile .ru-page-in>.ru-danger{grid-column:2;grid-row:3;margin-top:12px;padding:10px 16px}
  .ru-screen-profile .ru-wrap .ru-form{flex:1;min-height:0;display:flex;flex-direction:column;padding:20px 24px}
  .ru-screen-profile .ru-form>.ru-ajax-msg{flex:none}
  .ru-screen-profile .ru-fields{flex:1;min-height:0;overflow:auto;align-content:start;gap:14px 16px;padding:2px 6px 8px 2px;margin-right:-6px}
  .ru-page.ru-screen-profile .ru-wrap.ru-app .ru-form>.ru-actions{position:static;flex:none;margin:12px 0 0!important;padding:14px 0 0!important;background:none;border:0;border-top:1px solid var(--rua-bd);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-end}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview){grid-template-columns:56px auto minmax(0,1fr);column-gap:14px;row-gap:4px}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview)>.ru-avatar-preview{grid-column:1;grid-row:2/span 2}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview)>.ru-avatar-preview img{width:56px;height:56px}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview)>.ru-choice{grid-column:2;grid-row:2;white-space:nowrap}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview)>input[type=file]{grid-column:3;grid-row:2}
  .ru-screen-profile .ru-field.ru-type-avatar:has(.ru-avatar-preview)>.ru-help{grid-column:2/-1;grid-row:3}
  .ru-screen-profile .ru-form>.ru-actions .ru-btn-primary{min-width:220px;min-height:46px}
  .ru-screen-profile .ru-field.ru-col-100:is(.ru-type-text,.ru-type-email,.ru-type-username,.ru-type-first_name,.ru-type-last_name,.ru-type-nickname,.ru-type-display_name,.ru-type-phone,.ru-type-date,.ru-type-time,.ru-type-url,.ru-type-website,.ru-type-number,.ru-type-select,.ru-type-country,.ru-type-timezone,.ru-type-role_select){grid-column:span 4}
  .ru-screen-profile .ru-field{gap:5px}
  .ru-screen-profile .ru-field input[type=text],.ru-screen-profile .ru-field input[type=email],.ru-screen-profile .ru-field input[type=password],.ru-screen-profile .ru-field input[type=url],
  .ru-screen-profile .ru-field input[type=tel],.ru-screen-profile .ru-field input[type=number],.ru-screen-profile .ru-field input[type=date],.ru-screen-profile .ru-field select{height:42px}
  .ru-screen-profile .ru-field textarea{min-height:84px;height:84px}
  .ru-screen-profile .ru-heading{margin-top:2px;padding-top:12px}
  .ru-screen-profile .ru-heading p{display:none}
  .ru-screen-profile .ru-field.ru-type-avatar{grid-column:1/-1}
  .ru-screen-profile .ru-me-card .ru-me-av{width:96px!important;height:96px!important}
}
@media (min-width:1600px) and (min-height:560px){
  .ru-screen-profile .ru-page-in{grid-template-columns:340px minmax(0,1fr)}
  .ru-screen-profile .ru-field.ru-col-100:is(.ru-type-text,.ru-type-email,.ru-type-username,.ru-type-first_name,.ru-type-last_name,.ru-type-nickname,.ru-type-display_name,.ru-type-phone,.ru-type-date,.ru-type-time,.ru-type-url,.ru-type-website,.ru-type-number,.ru-type-select,.ru-type-country,.ru-type-timezone,.ru-type-role_select){grid-column:span 3}
}
