/* Portal density follows the reference: a restrained central workspace. */
body {font-size:12px; background:#fcfcfd;}
.topbar {height:84px; padding:0 max(24px,calc((100vw - 1240px)/2));}
.brand .association-logo {width:210px; height:72px; object-fit:contain; object-position:left center;}
.workspace {max-width:1260px; padding:0 24px; grid-template-columns:250px minmax(0,1fr); gap:32px; margin:30px auto 48px;}
.sidebar {padding:20px 18px; border-radius:12px;}
.profile-mini {gap:12px;}
.profile-mini strong {font-size:12px;}
.avatar {width:58px; height:68px; flex-basis:58px; font-size:18px; border-radius:8px;}
.avatar img {border-radius:8px;}
.summary {font-size:10px; margin:20px 0 14px;}
.summary>div {margin:8px 0;}
.completion {margin:14px 0 20px;}
.nav-item {min-height:44px; padding:10px 11px; margin:3px 0; gap:11px; font-size:11px; border-radius:9px;}
.nav-item .nav-icon {font-size:16px;}
.security-link {margin-top:13px;}
.panel {border-radius:12px;}
.panel-header {padding:18px 24px;}
h1,.panel-header h1 {font-size:18px; line-height:1.45; margin-bottom:3px;}
.panel-header p {font-size:11px;}
.eyebrow {font-size:8px; letter-spacing:1.3px; margin-bottom:5px;}
.panel-body {padding:24px 26px 28px;}
.profile-form {max-width:660px;}
.field-row {grid-template-columns:165px minmax(0,1fr); gap:20px; margin-bottom:17px;}
.field-row>label {font-size:10px; letter-spacing:.1px; padding-top:11px;}
.field-input>input:not([type=checkbox]),.field-input>select,.field-input>textarea {min-height:40px; padding:10px 13px; font-size:11px; border-radius:8px;}
.field-input>textarea {min-height:100px;}
.button {font-size:11px; padding:9px 15px; border-radius:8px; gap:8px;}
.button.small {font-size:10px; padding:7px 10px;}
.form-end {margin-top:23px; padding-top:18px;}
.photo-preview {margin-bottom:22px; padding-bottom:20px; gap:18px;}
.photo-preview img {width:120px; height:140px; border-radius:8px;}
.photo-preview small {max-width:230px;}
.document-grid {gap:16px; margin-bottom:24px;}
.document-tile {padding:20px; border-radius:10px;}
.document-tile h2 {font-size:14px;}
.document-tile p {min-height:54px;}
.page-heading {margin-bottom:18px;}
.stats-grid {grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px;}
.stat {padding:16px; border-radius:10px;}
.stat strong {font-size:24px; margin-top:6px;}
.stat i {right:14px; bottom:15px; font-size:18px;}
.stat>span {font-size:9px;}
.registry-toolbar {display:block; padding:18px;}
.registry-filters {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; min-width:0;}
.registry-filters>div {min-width:0;}
.registry-filters label {display:block; font-size:10px; color:#788398; margin-bottom:5px;}
.registry-filters .filter-search,.registry-filters .filter-university {grid-column:span 2;}
.registry-filters input,.registry-filters select {font-size:11px; max-width:none; min-width:0; min-height:38px; padding:8px 10px; border-radius:7px;}
.registry-filters .filter-buttons {display:flex; gap:8px; align-items:end; grid-column:span 2;}
.registry-results {display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:16px; font-size:11px; color:#7b8698;}
.registry-results strong {color:var(--navy);}
.members-table td {padding:14px 12px;}
.members-table th {padding:12px;}
.member-link {min-width:175px;}
.member-link strong {font-size:10px;}
.row-actions {gap:4px;}
.auth-page {max-width:1060px; min-height:520px; margin:35px auto; gap:50px;}
.auth-intro h1 {font-size:30px; letter-spacing:-.6px;}
.auth-panel {padding:28px; border-radius:14px;}
.auth-panel h1 {font-size:22px;}
.auth-panel .field-row {display:block; margin-bottom:17px;}
.auth-panel .field-row>label {padding:0 0 6px; font-size:11px; text-align:left;}
.auth-panel .field-input>input {min-height:42px;}
.auth-art {width:100%; height:150px; display:flex; align-items:center;}
.auth-art .art-card {display:none;}
.auth-art:after {content:'';display:block;width:250px;height:100px;background:url("/static/brand-logo.63b473556673.png") left center/contain no-repeat;}
.navigation-progress {position:fixed;top:0;left:0;height:3px;width:100%;background:var(--teal);transform:scaleX(0);transform-origin:left;z-index:100;opacity:0;}
.is-navigating .navigation-progress {opacity:1;animation:navigation-progress 1.6s ease-in-out infinite;}
.portal-loader[hidden] {display:none;}
.portal-loader {position:fixed;top:100px;right:24px;z-index:99;display:flex;align-items:center;gap:12px;background:#fffffff2;border:1px solid #e7edf2;box-shadow:0 8px 32px #17344b16;border-radius:12px;padding:12px 18px;font-size:11px;color:#516477;pointer-events:none;}
.loader-mark {display:block;width:28px;height:38px;background:linear-gradient(160deg,#00b8d9 15%,#165a79 50%,#e52336 75%);mask:url("/static/brand-mark.3a7d4687e8e6.png") center/contain no-repeat;-webkit-mask:url("/static/brand-mark.3a7d4687e8e6.png") center/contain no-repeat;animation:emblem-breathe 1.1s ease-in-out infinite;}
.main-content:focus {outline:none;}
.main-content {animation:section-reveal .14s ease-out;}
@keyframes emblem-breathe {0%,100%{opacity:.45;transform:translateY(2px) scale(.94)}50%{opacity:1;transform:translateY(-2px) scale(1)}}
@keyframes navigation-progress {0%{transform:translateX(-100%) scaleX(.2)}60%{transform:translateX(0) scaleX(.7)}100%{transform:translateX(100%) scaleX(.3)}}
@keyframes section-reveal {from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px) {
  .workspace {grid-template-columns:225px minmax(0,1fr);gap:22px;}
  .field-row {grid-template-columns:140px minmax(0,1fr);gap:15px;}
  .panel-body {padding:22px;}
  .document-grid {grid-template-columns:1fr;}
  .document-tile p {min-height:0;}
}
@media(max-width:800px) {
  .topbar {height:78px;padding:0 16px;gap:10px;}
  .brand .association-logo {width:172px;height:64px;}
  .top-actions {gap:8px;}
  .workspace {display:grid;grid-template-columns:1fr;padding:0 14px;margin-top:18px;gap:16px;}
  .sidebar {padding:16px;}
  .avatar {height:54px;width:50px;flex-basis:50px;}
  .sidebar nav {margin-top:12px;}
  .nav-item {min-height:42px;font-size:11px;flex-shrink:0;}
  .panel-header {padding:18px;}
  .panel-body {padding:20px 18px;}
  .field-row {grid-template-columns:1fr;gap:6px; margin-bottom:16px;}
  .field-row>label {padding:0;text-align:left;font-size:11px;}
  .field-input>input:not([type=checkbox]),.field-input>select,.field-input>textarea {font-size:16px;min-height:44px;}
  .stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .stat>span {font-size:10px;min-height:0;}
  .stat strong {font-size:24px;}
  .registry-filters {grid-template-columns:repeat(2,minmax(0,1fr));}
  .registry-filters .filter-search,.registry-filters .filter-university,.registry-filters .filter-buttons {grid-column:span 2;}
  .registry-filters input,.registry-filters select {font-size:16px;min-height:44px;}
  .registry-results {align-items:flex-start;flex-direction:column;}
  .registry-results .export-actions {width:auto;flex-wrap:wrap;}
  .auth-page {grid-template-columns:1fr;gap:16px;margin:22px auto;padding:0 16px;}
  .auth-intro h1 {font-size:25px;}
  .auth-art {display:none;}
  .auth-panel {padding:24px;}
  .auth-panel .field-input>input {font-size:16px;}
  .portal-loader {top:88px;right:14px;padding:9px 12px;}
}
@media(max-width:380px) {
  .brand .association-logo {width:145px;height:60px;}
  .topbar {padding:0 12px;}
  .top-actions {gap:4px;}
  .top-actions .text-button {font-size:9px;}
  .language-form {padding:0 3px;}
  .language-form select {width:74px;font-size:10px;}
}
@media(prefers-reduced-motion:reduce) {
  .loader-mark,.main-content,.navigation-progress {animation:none!important;}
  .is-navigating .navigation-progress {transform:scaleX(1);opacity:.6;}
}

/* Public launch documents and registration. */
.legal-nav{display:flex;gap:12px 20px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.legal-content h2{font-size:16px;margin:24px 0 10px;line-height:1.5}.legal-content ul{padding-left:22px}.legal-content li{margin:7px 0}.legal-content dl{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px 20px}.legal-content dt{font-weight:700}.legal-content dd{margin:0;overflow-wrap:anywhere}.legal-content a,.registration-legal a{color:var(--teal);text-decoration:underline}.legal-version{color:var(--muted);font-size:11px}.registration-note{line-height:1.8;margin-bottom:20px}.registration-legal{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:18px;font-size:11px}@media(max-width:600px){.legal-content dl{grid-template-columns:1fr;gap:3px}.legal-content dd{margin-bottom:13px}.legal-page{margin:24px auto}.legal-nav{font-size:11px}}

.auth-intro .association-subtitle{font-size:13px;margin:24px 0 8px}.auth-intro h1{font-size:28px;line-height:1.4}.auth-intro .eyebrow{margin-bottom:18px}.association-source{display:inline-block;margin-top:8px;color:var(--teal);font-size:12px}.association-contacts{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--muted);font-size:12px}@media(max-width:800px){.auth-intro h1{font-size:23px}.auth-intro .association-subtitle{margin-top:14px}.association-contacts{padding-top:12px;margin:14px 0 16px}.auth-intro .association-source{margin-top:2px}}
.auth-intro{align-self:start;padding-top:24px}.auth-panel .field-row.checkbox-row{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:11px}.auth-panel .checkbox-row .field-input{flex:0 0 20px}.auth-panel .checkbox-row input[type=checkbox]{min-height:20px;width:18px;height:18px;margin:0}.auth-panel .checkbox-row>label{flex:1;line-height:1.8}@media(max-width:800px){.auth-intro{padding-top:10px}}
