/* Shared dimensions apply last on every first-party page. Reserve toolbar space
   before session loading so the banner does not jump during navigation. */
html{scrollbar-gutter:stable}
.usd-input{display:block;position:relative;min-width:0;width:100%}
.usd-input-value{display:none;position:absolute;inset-inline:12px;top:50%;transform:translateY(-35%);pointer-events:none;font:inherit;font-weight:inherit;color:inherit;direction:ltr;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usd-input.has-usd-value:not(:focus-within)>input:not(:disabled){color:transparent;caret-color:transparent}
.usd-input.has-usd-value:not(:focus-within)>.usd-input-value{display:block}
.usd-input:has(>input:disabled)>.usd-input-value{display:none}
.skip-to-content{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;padding:12px 18px;border-radius:8px;background:#123c79;color:#fff;transform:translateY(-200%);font-size:16px;font-weight:700;text-decoration:underline}
.skip-to-content:focus{transform:none;outline:3px solid #ff9b24;outline-offset:3px}
main{scroll-margin-block-start:190px}
main:focus-visible{outline:3px solid #1454b8;outline-offset:-3px}
@media(max-width:700px){main{scroll-margin-block-start:160px}}
body>header{box-sizing:border-box;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;min-height:176px;height:auto;padding:24px 5.5% 12px;background:#fff;border-bottom:1px solid #dce5f2;backdrop-filter:none}
body>header>.brand{font-family:Arial,'Helvetica Neue',sans-serif;font-size:clamp(21px,2.1vw,34px)!important;font-weight:800;line-height:1.2;letter-spacing:normal;white-space:nowrap;min-height:48px;direction:ltr;unicode-bidi:isolate}
body>header .logo{width:38px;height:38px;flex:none;background:linear-gradient(145deg,#6099fa,#3974e8);color:#fff}
body>header>.header-note{font-size:13px;color:#597699}
body>header>.phase{font-size:10px;letter-spacing:1.2px;padding:10px 14px;border-radius:25px;background:#eff5ff;color:#426d9f;border:1px solid #dce8f9}
body>header>#member-nav{flex:0 0 100%;min-height:54px;margin:0;padding:4px 0 6px}
body>header .member-menu-links{min-height:44px;justify-content:flex-start;gap:8px;flex-wrap:nowrap}
body>header #member-nav button,body>header .nav-group>summary{font-size:12px;line-height:18px;padding:10px 12px;font-weight:600;white-space:nowrap}
body>header .site-language-picker{margin:0 0 0 6px}
body>header .site-language-picker select{height:38px;margin:0;font-size:12px}
body>header .username-account-menu .nav-dropdown{left:auto;right:0}
@media(max-width:1000px){body>header>.header-note{display:none}body>header .member-menu-links{gap:2px}body>header #member-nav button,body>header .nav-group>summary{padding:10px 7px}}
@media(max-width:700px){body>header{min-height:142px;padding:16px 6% 8px;gap:10px}body>header>.phase{font-size:8px;padding:8px}body>header>.brand{font-size:22px!important}body>header .member-menu-links{flex-wrap:wrap;align-items:stretch}body>header .member-menu[open]>.member-menu-links{display:flex}body>header .username-account-menu .nav-dropdown{right:auto}body>header>.site-language-picker{position:absolute;right:6%;top:74px}body>header>#member-nav{min-height:48px}}
@media(prefers-reduced-motion:reduce){body>header *{transition:none!important;animation:none!important}}
/* Fixed banner and toolbar rows prevent session loading from moving the logo. */
body>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:60px 66px;align-content:center;gap:14px;min-height:176px;padding-top:18px;padding-bottom:18px}
body>header>.brand{grid-column:1;grid-row:1}
body>header>.header-note{grid-column:2;grid-row:1;justify-self:center}
body>header>.phase{grid-column:3;grid-row:1;justify-self:end}
body>header>#member-nav{grid-column:1/-1;grid-row:2;width:100%;align-self:center}
body>header>.site-language-picker{grid-column:3;grid-row:2;justify-self:end;align-self:center}
@media(max-width:1000px){body>header{grid-template-columns:1fr auto}body>header>.phase{grid-column:2}body>header>.site-language-picker{grid-column:2}}
@media(max-width:700px){body>header{grid-template-rows:48px minmax(48px,auto);min-height:142px;padding-top:16px;padding-bottom:8px;gap:10px}body>header>.site-language-picker{position:static}}
body>header .username-account-menu>summary{min-width:128px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
/* One persistent welcome banner above every content view, outside page history. */
.site-welcome-banner{width:calc(100% - 11%);max-width:1720px;margin:20px auto 0}
.site-welcome-banner>.home-welcome-banner{box-sizing:border-box;min-height:240px;margin:0;padding:25px 34px;display:flex;align-items:center;justify-content:space-between}
.site-welcome-banner .home-welcome-banner h2{font-size:30px!important;line-height:1.14!important;margin:10px 0!important}
.site-welcome-banner .home-welcome-banner img{width:400px;max-width:32%;height:190px;object-fit:contain}
.site-welcome-banner[hidden]{display:none!important}
@media(max-width:700px){.site-welcome-banner{width:88%;margin-top:16px}.site-welcome-banner>.home-welcome-banner{min-height:240px;padding:22px}.site-welcome-banner .home-welcome-banner h2{font-size:25px!important}.site-welcome-banner .home-welcome-banner img{display:none}}
/* Compact, consistent chrome leaves more room for the active page. */
body>header{grid-template-rows:44px 44px;min-height:118px;padding-top:10px;padding-bottom:10px;gap:10px}
body>header>.brand{min-height:40px;font-size:clamp(21px,1.9vw,30px)!important}
body>header .logo{width:34px;height:34px;font-size:26px}
body>header>#member-nav{min-height:44px;padding:0}
body>header .member-menu-links{min-height:40px}
body>header #member-nav button,body>header .nav-group>summary{padding-top:8px;padding-bottom:8px}
.site-welcome-banner{margin-top:12px}
.site-welcome-banner>.home-welcome-banner{min-height:180px;padding:16px 26px;gap:20px}
.site-welcome-banner .home-welcome-banner h2{font-size:26px!important;margin:6px 0!important}
.site-welcome-banner .home-welcome-banner p{font-size:14px;margin:8px 0 10px}
.site-welcome-banner .home-welcome-banner img{height:136px;width:300px}
.site-welcome-banner .home-exchange-steps span{padding:4px 10px;font-size:11px}
.site-welcome-banner .membership-home{margin:8px 0 0;padding:8px 12px;font-size:12px}
@media(max-width:700px){body>header{grid-template-rows:40px minmax(44px,auto);min-height:110px;padding-top:8px;padding-bottom:8px;gap:8px}.site-welcome-banner{margin-top:10px}.site-welcome-banner>.home-welcome-banner{min-height:180px;padding:16px 18px}.site-welcome-banner .home-welcome-banner h2{font-size:23px!important}}
/* Switch to the same compact menu before translated toolbar labels can overflow. */
@media(max-width:1000px){body>header .mobile-menu-summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:#eff6ff;border:1px solid #c6daf5;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700}body>header .member-menu:not([open])>.member-menu-links{display:none}body>header .member-menu[open]>.member-menu-links{display:flex;flex-direction:column;align-items:stretch;max-height:65vh;overflow-y:auto;padding:8px 0}body>header .nav-dropdown{position:static;box-shadow:none;margin-top:6px}body>header .toolbar-communication{margin-left:0;flex-wrap:wrap}body>header .member-menu-links{flex-wrap:wrap}body>header .member-menu-links>button{text-align:left;width:100%}body>header{grid-template-rows:44px minmax(44px,auto)}body>header .site-language-picker{margin-left:0}body>header .username-account-menu>summary{max-width:none}}
/* Keep the logo and controls inside narrow phones, including long translations. */
@media(max-width:420px){
 body>header{grid-template-columns:minmax(0,1fr)}
 body>header>.brand{min-width:0;font-size:20px!important}
 body>header>.phase{display:none}
 body>header>.site-language-picker{grid-column:1;max-width:100%}
 body>header .site-language-picker select{max-width:100%}
 .home-trade-finder>form>label{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
 .home-trade-finder>form :is(input,select){min-width:0;font-size:16px}
}
.info-page,.contact-page{min-width:0;overflow-wrap:anywhere}
.info-page fieldset,.info-page legend{min-inline-size:0;max-inline-size:100%}
.info-page fieldset{padding:18px;margin-block:24px;border:1px solid #dce5f2;border-radius:12px}
.info-page fieldset>label{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:400;line-height:1.65}
.info-page fieldset input[type=checkbox]{flex:none;width:20px;height:20px;inline-size:20px;block-size:20px;min-height:0;min-width:0;margin:3px 0 0;padding:0}
.info-page fieldset>button{min-height:44px;padding:10px 14px;white-space:normal}
/* The page itself must not become a horizontally scrollable canvas. Local rails
   and tables retain their own scrolling without shifting the shared header. */
html{overflow-x:clip}
body{inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow-x:clip}
body>header,body>main,body>.site-welcome-banner,body>.site-footer{min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
/* Stronger field names, lighter entered values. */
body form label:has(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:15px;font-weight:600;line-height:1.45}
body form :is(input,textarea,select,option){font-weight:400!important}
body .inline-post-area form label:has(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:14px}
/* Expanded mobile submenus must scroll vertically, never wrap into hidden columns. */
@media(max-width:1000px){
 body>header .member-menu[open]>.member-menu-links{flex-wrap:nowrap;overflow-x:hidden;overflow-y:auto}
 body>header .member-menu-links>*{flex-shrink:0;min-width:0;max-width:100%;box-sizing:border-box}
 body>header .nav-group>summary{min-height:44px;white-space:normal;overflow-wrap:anywhere}
 body>header .nav-dropdown{min-width:0;width:100%;box-sizing:border-box}
}
