/* Membership surfaces: local assets, fixed geometry, keyboard-first controls. */
.member-page,.member-page *,.member-page *::before,.member-page *::after{box-sizing:border-box}
.member-page{margin:0;min-width:0;min-height:100svh;padding:36px 24px;color:#e7f3fa;font:14px/1.55 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.member-page [hidden]{display:none!important}
.member-page main{margin:0 auto;min-width:0;padding:0;max-width:1160px;width:100%}
.member-page .brand{display:flex;align-items:center;margin:0 0 34px;gap:8px}
.member-page .brand-logo{width:64px;height:64px}
.member-page .brand-wordmark{font-size:24px;line-height:1.3}
.member-page .brand-sub{font-size:9px;letter-spacing:.2em}
.member-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);border:1px solid #294452;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,rgba(17,34,46,.97),rgba(7,15,24,.98));box-shadow:0 24px 90px #0008,0 0 44px #62d5f20a}
.member-intro{padding:42px 34px;border-right:1px solid #294452;background:radial-gradient(ellipse at 20% 0,#276c832b,transparent 65%)}
.member-kicker{color:#8ae0ed;font:11px/1.8 Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}
.member-page h1{font-size:clamp(28px,3.4vw,43px);font-weight:520;letter-spacing:-.045em;line-height:1.13;margin:16px 0 18px;overflow-wrap:anywhere}
.member-page h2{font-size:22px;line-height:1.3;font-weight:520;letter-spacing:-.02em;margin:0 0 12px}
.member-page p{color:#afc2cf;margin:0 0 18px}
.member-steps{list-style:none;counter-reset:stage;padding:0;margin:36px 0 0;display:grid;gap:26px}
.member-steps li{counter-increment:stage;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;color:#bdd0dc}
.member-steps li::before{content:'0' counter(stage);font:12px/1.8 Consolas,monospace;color:#78d4e1}
.member-steps strong{font-weight:520;display:block;color:#e6f2f8;margin-bottom:4px}
.member-steps span{font-size:12px;color:#91adbd}
.member-content{padding:40px;min-width:0}
.member-page form{display:grid;gap:18px;min-width:0;margin:0}
.member-page fieldset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:17px}
.member-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.member-span{grid-column:1/-1}
.member-page label{display:grid;gap:7px;min-width:0;color:#c6d8e3;font-size:12px}
.member-page input,.member-page select,.member-page button{max-width:100%;min-width:0;min-height:44px;border:1px solid #38515f;border-radius:9px;font:inherit}
.member-page input,.member-page select{width:100%;padding:11px 12px;background:#070f18;color:#ecf6fb;outline:none}
.member-page input::placeholder{color:#7f99aa;opacity:1}
.member-page input:focus-visible,.member-page select:focus-visible,.member-page button:focus-visible,.member-page a:focus-visible{outline:2px solid #8fe8f2;outline-offset:3px}
.member-page input:focus-visible,.member-page select:focus-visible{border-color:#8fe8f2;box-shadow:0 0 0 3px #8fe8f20d}
.member-page button{padding:11px 17px;cursor:pointer;background:linear-gradient(145deg,#b4eef4,#76ccd9);color:#06232e;font-weight:600;transition:background-color .15s,box-shadow .15s}
.member-page button:hover:not(:disabled){box-shadow:0 0 20px #8fe8f221}
.member-page button:disabled,.member-page input:disabled,.member-page select:disabled{cursor:not-allowed;opacity:.5}
.member-page .member-secondary{background:#101d29;color:#e7f3fa;border-color:#38515f}
.member-page .member-danger{background:#23151e;color:#ffc0ca;border-color:#69434f}
.member-page a{color:#9ae4f0;text-underline-offset:4px;text-decoration-thickness:1px}
.member-check{display:flex!important;align-items:flex-start;gap:10px!important;font-size:11px!important;line-height:1.65}
.member-check input{width:17px!important;height:17px;min-height:17px;margin:2px 0 0;flex:none;accent-color:#88deeb}
.member-hint{font-size:11px!important;color:#91adbd!important;margin:0!important}
.member-status{min-height:46px;display:flex;align-items:center;margin:16px 0 0;padding:10px 12px;background:#12212b;border:1px solid #284858;border-radius:9px;color:#bad5e1;font-size:12px;overflow-wrap:anywhere}
.member-status[data-tone='error']{color:#f6bec8;border-color:#67414f;background:#24151e}
.member-status[data-tone='success']{color:#bcebed;border-color:#38606a}
.member-oauth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:9px}
.member-oauth button{font-family:Arial,sans-serif;font-size:13px;font-weight:500;background:#131314;color:#e3e3e3;border:1px solid #8e918f;border-radius:6px}
.member-oauth-note{min-height:35px;font-size:11px!important;color:#8eabba!important;margin-bottom:22px!important}
.member-divider{display:flex;align-items:center;gap:12px;font-size:10px;color:#84a3b4;letter-spacing:.08em;margin:22px 0}
.member-divider::before,.member-divider::after{content:'';height:1px;flex:1;background:#29414e}
.member-footer{margin-top:22px!important;text-align:center;font-size:12px}
.member-admin-login{width:min(100%,440px);margin:8vh auto 0;padding:32px;border:1px solid #294452;border-radius:22px;background:#0d1824;box-shadow:0 20px 70px #0006}
.member-admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.member-admin-header .brand{margin:0}
.member-admin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.member-admin-actions span{font-size:12px;color:#a8c3d3;overflow-wrap:anywhere}
.member-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:25px 0 18px}
.member-toolbar label{flex:1 1 180px;max-width:320px}
.member-toolbar button{flex:0 1 auto}
.member-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;min-width:0}
.member-user-card{min-width:0;padding:24px;background:#0c1722;border:1px solid #2b4554;border-radius:16px;box-shadow:inset 0 1px 0 #a8edff0b}
.member-user-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px;min-width:0}
.member-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #417081;border-radius:50%;background:linear-gradient(140deg,#254555,#0d2130);color:#bce8f6;font:14px/1 system-ui;box-shadow:0 0 16px #76dcea10}
.member-user-heading h2{font-size:17px;margin:0;overflow-wrap:anywhere}
.member-user-card dl{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:10px 12px;margin:0 0 23px;font-size:12px}
.member-user-card dt{color:#8ba8b9;min-width:0}.member-user-card dd{margin:0;color:#d6e7ef;min-width:0;overflow-wrap:anywhere}
.member-grant{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:12px!important;padding-top:18px;border-top:1px solid #263e4c}
.member-grant button{grid-column:1/-1}
.member-user-card>.member-danger{width:100%;margin-top:10px}
.member-empty{grid-column:1/-1;padding:36px 20px;border:1px dashed #355262;border-radius:14px;text-align:center;color:#9eb9c9}
@media(max-width:760px){.member-page{padding:20px 14px}.member-layout{grid-template-columns:minmax(0,1fr);border-radius:18px}.member-intro{padding:27px 25px;border-right:0;border-bottom:1px solid #294452}.member-intro .brand{margin-bottom:20px}.member-steps{display:none}.member-content{padding:26px 25px}.member-users{grid-template-columns:minmax(0,1fr)}.member-admin-header{align-items:flex-start}.member-admin-login{margin:4vh auto 0;padding:26px}.member-page h1{font-size:31px}}
@media(max-width:440px){.member-page{padding:14px 10px}.member-content,.member-intro{padding:22px 19px}.member-form-grid,.member-oauth{grid-template-columns:minmax(0,1fr)}.member-user-card{padding:18px}.member-user-card dl{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.member-admin-actions{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.member-page *,.member-page *::before,.member-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact terminal profile; the dormant legacy form remains for app.js binding. */
.dashboard-page .profile-legacy{display:none!important}
.dashboard-page .profile-widget{position:relative;flex:0 0 38px;width:38px;height:38px;min-width:0;z-index:40}
.dashboard-page .profile-trigger{display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border:1px solid #508293;border-radius:50%;background:linear-gradient(145deg,#254c5f,#0b2030);color:#c5f1fa;font:12px/1 system-ui;box-shadow:0 0 18px #8ae0ed10;cursor:pointer}
.dashboard-page .profile-trigger:disabled{opacity:.4;cursor:default}
.dashboard-page .profile-trigger:focus-visible,.dashboard-page .profile-popover button:focus-visible{outline:2px solid #98e5f1;outline-offset:3px}
.dashboard-page .profile-popover{position:absolute;top:100%;right:0;width:min(290px,calc(100vw - 38px));max-width:calc(100vw - 38px);padding:22px;border:1px solid #3d6273;border-radius:15px;background:#0c1824;box-shadow:0 18px 50px #0009,0 0 25px #67d5ea0a;color:#dbeef7;overflow-wrap:anywhere;text-align:left}
.dashboard-page .profile-popover[hidden]{display:none!important}
.dashboard-page .profile-kicker{font:9px/1.8 Consolas,monospace;color:#83bed0;letter-spacing:.17em}
.dashboard-page .profile-popover h2{font-size:17px;line-height:1.35;margin:10px 0 6px;color:#ecf8fc;font-weight:520}
.dashboard-page .profile-popover p{font-size:11px;line-height:1.55;margin:0 0 14px;color:#a7c2d2}
.dashboard-page .profile-popover dl{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px;font-size:11px;margin:16px 0}
.dashboard-page .profile-popover dt{color:#87a8bd}.dashboard-page .profile-popover dd{margin:0;color:#d6eaf5;overflow-wrap:anywhere}
.dashboard-page .profile-popover #profile-note{min-height:0;margin:0 0 12px}
.dashboard-page .profile-popover button{width:100%;min-height:40px;border:1px solid #476372;border-radius:8px;background:#132534;color:#d3eaf6;font:12px/1.4 system-ui;cursor:pointer}
.dashboard-page .profile-popover button:disabled{opacity:.5;cursor:wait}
.member-account-facts{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;margin:24px 0;font-size:12px}.member-account-facts dt{color:#8daabb}.member-account-facts dd{margin:0;color:#d5e7f0;overflow-wrap:anywhere}
.member-account-actions{display:grid;gap:10px;margin-top:22px}
@media(max-width:440px){.dashboard-page .top-meta{gap:9px}.dashboard-page .profile-widget{flex-basis:36px;width:36px;height:36px}.dashboard-page .profile-trigger{width:36px;min-width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.dashboard-page .profile-widget *{animation:none!important;transition:none!important}}
