:root { --beta-control-height: 44px; }
.geography-fields { grid-column:1 / -1; min-width:0; display:grid; gap:16px; border:0; padding:0; margin:0; }
.geography-fields > button { justify-self:start; }
.geography-fields > p { margin:0; }
.geography-fields label,.geography-fields input,#registration-form select { min-width:0; max-width:100%; width:100%; }
.geo-options { position:fixed; z-index:60; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; touch-action:pan-y; border:1px solid var(--line); border-radius:12px; background:var(--cream); box-shadow:0 5px 16px #243e3520; box-sizing:border-box; }
.geo-options button { display:block; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:0; text-align:left; background:transparent; white-space:normal; overflow-wrap:anywhere; }
.geo-options button:hover,.geo-options [aria-selected="true"] { background:#e8eedb; }
.geo-options p { margin:12px; font-size:14px; overflow-wrap:anywhere; }
.onboarding { position:fixed; bottom:calc(88px + env(safe-area-inset-bottom, 0px)); inset-inline:16px; max-width:440px; margin-inline:auto; z-index:35; padding:20px; background:#fffdf8; border:2px solid #243e35; border-radius:20px; box-shadow:0 6px 20px #243e3520; max-height:45dvh; overflow:auto; }
.onboarding p { margin:0 0 12px; font-size:15px; line-height:1.5; }
.onboarding button { min-height:44px; padding:10px 14px; }
.onboarding-target { outline:3px solid #e9a06e; outline-offset:4px; scroll-margin-top:24px; }
body:has([data-onboarding]) { padding-bottom:calc(55dvh + 100px + env(safe-area-inset-bottom, 0px)); }
.language-control { display:flex; gap:8px; align-items:center; font-size:14px; }
.language-control select { min-height:var(--beta-control-height); width:auto; }
.cabinet-menu-dock {
  position:fixed; bottom:0; inset-inline:0; z-index:30;
  display:flex; justify-content:center;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  background:var(--cream, #fff8ec); border-top:1px solid #d5dccb;
}
.cabinet-menu-dock > button { min-height:48px; width:min(100%, 420px); display:flex; justify-content:center; align-items:center; gap:12px; }
body:has(.cabinet-menu-dock) { padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px)); }
body:has(.cabinet-menu-dock):has([data-onboarding]) { padding-bottom:calc(55dvh + 100px + env(safe-area-inset-bottom, 0px)); }
.cabinet-menu-dialog {
  box-sizing:border-box; width:calc(100% - 32px); max-width:520px;
  max-height:calc(100dvh - 48px); overflow-y:auto;
  padding:24px; border:1px solid #d5dccb; border-radius:24px;
  background:#fff8ec; color:#243e35;
}
.cabinet-menu-dialog::backdrop { background:rgb(36 62 53 / 40%); }
.cabinet-menu-dialog .member-menu { display:grid; grid-template-columns:1fr; gap:12px; margin:20px 0; }
.cabinet-menu-dialog .member-menu button { min-height:48px; white-space:normal; text-align:left; }
.cabinet-menu-dialog h2 { font-size:24px; margin:0; }
@media(min-width:768px) { .cabinet-menu-dialog .member-menu { grid-template-columns:1fr 1fr; } }
@media(max-width:430px) {
  .member-wrap { padding-inline:16px; }
  header:has(.language-control) { gap:12px; flex-wrap:wrap; }
  header:has(.language-control) .micro { display:none; }
}

.onboarding::before{content:'↑';display:block;color:var(--green);font-size:24px;line-height:1;margin-bottom:8px;padding-inline-start:clamp(0px,var(--tour-pointer-x,16px),90%)}
.onboarding[data-pointer=down]::before{content:'↓'}
.cabinet-menu-dialog:has([data-onboarding]){padding-bottom:calc(48dvh + 100px)}
.geography-filters{flex:1 1 100%;min-width:0}.geography-filters label{flex:1;min-width:min(100%,200px)}
.profile-preview-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:1040px;max-height:calc(100dvh - 24px);overflow:auto;padding:clamp(16px,3vw,28px);border:1px solid #d5dccb;border-radius:24px;background:#fff8ec;color:#243e35}
.profile-preview-dialog::backdrop{background:rgb(36 62 53 / 40%)}
.profile-preview-dialog .article{width:100%;margin:24px 0 0;padding:0;box-sizing:border-box}
.profile-preview-dialog .content-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
