:root { --black:#0c0e0f; --carbon:#151819; --steel:#272b2d; --paper:#f3f2ed; --white:#fff; --line:#d9dad5; --muted:#707573; --yellow:#ffc700; --green:#4cb978; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; color:var(--black); background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:99; top:8px; left:8px; padding:10px 14px; background:var(--yellow); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.auth-page { min-height:100svh; color:var(--white); background:var(--black); }
.auth-shell { display:grid; grid-template-columns:minmax(0,620px); place-content:center; min-height:100svh; padding:40px 20px; }
.auth-brand { display:flex; align-items:end; gap:16px; margin-bottom:28px; color:var(--white); text-decoration:none; }
.auth-brand img { width:72px; height:auto; }
.auth-brand span { padding-bottom:4px; color:rgba(255,255,255,.45); font:700 .65rem monospace; letter-spacing:.15em; text-transform:uppercase; }
.auth-card { padding:clamp(30px,6vw,60px); color:var(--black); background:var(--paper); box-shadow:14px 14px 0 var(--yellow); }
.auth-card h1 { margin:0; font-size:clamp(2.7rem,7vw,5rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.auth-card > p:not(.eyebrow,.auth-notice) { color:var(--muted); line-height:1.6; }
.auth-card form { display:grid; margin-top:34px; }
.auth-card label { margin-bottom:9px; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.auth-card input { width:100%; min-height:56px; padding:0 16px; color:var(--black); background:var(--white); border:1px solid var(--line); border-radius:0; font-size:1rem; }
.auth-card input:focus { outline:3px solid rgba(255,199,0,.4); border-color:var(--black); }
.auth-card form > small { margin-top:9px; color:var(--muted); font-size:.7rem; line-height:1.45; }
.auth-card button.primary-button { cursor:pointer; }
.auth-card button:disabled { opacity:.55; cursor:wait; }
.auth-modes { display:grid; grid-template-columns:1fr 1fr; margin-top:28px; border:1px solid var(--line); }
.auth-modes button { min-height:44px; padding:0 12px; color:var(--muted); background:var(--white); border:0; font-size:.65rem; font-weight:800; text-transform:uppercase; cursor:pointer; }
.auth-modes button + button { border-left:1px solid var(--line); }
.auth-modes button.active { color:var(--black); background:var(--yellow); }
[data-membership-form] { gap:9px; }
[data-membership-form] label:not(:first-child) { margin-top:8px; }
.auth-reset { justify-self:start; margin-top:18px; padding:0; color:var(--muted); background:transparent; border:0; font-size:.7rem; font-weight:700; text-decoration:underline; cursor:pointer; }
.auth-notice { margin:20px 0 0; padding:13px 14px; background:var(--white); border-left:4px solid var(--yellow); font-size:.78rem; line-height:1.45; }
.auth-notice[data-kind="success"] { border-left-color:var(--green); }
.auth-boundary { display:grid; grid-template-columns:10px 1fr; gap:12px; margin-top:38px; padding-top:20px; border-top:1px solid var(--line); }
.auth-boundary > span { width:8px; height:8px; margin-top:3px; background:var(--green); border-radius:50%; }
.auth-boundary p { margin:0; color:var(--muted); font-size:.7rem; line-height:1.5; }
.auth-boundary strong { display:block; color:var(--black); text-transform:uppercase; }
.auth-support { justify-self:end; margin-top:24px; color:rgba(255,255,255,.55); font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.app-shell { display:grid; grid-template-columns:260px 1fr; min-height:100svh; }
.sidebar { position:sticky; top:0; display:flex; flex-direction:column; height:100svh; padding:24px 18px; color:var(--white); background:var(--black); }
.portal-brand { display:block; padding:0 10px 26px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.14); }
.portal-brand img { display:block; width:64px; }
.portal-brand > span { display:block; margin-top:9px; color:rgba(255,255,255,.42); font:700 .62rem monospace; letter-spacing:.17em; text-transform:uppercase; }
.category-nav { display:grid; gap:6px; margin-top:28px; }
.category-nav button { display:grid; grid-template-columns:24px 1fr auto; gap:10px; align-items:center; min-height:46px; padding:0 12px; color:rgba(255,255,255,.62); text-align:left; background:transparent; border:0; cursor:pointer; }
.category-nav button:hover,.category-nav button:focus-visible { color:var(--white); background:rgba(255,255,255,.07); }
.category-nav button.active { color:var(--black); background:var(--yellow); }
.nav-icon { font-size:.82rem; text-align:center; }
.category-nav b { font:700 .63rem monospace; }
.sidebar-boundary { display:grid; grid-template-columns:12px 1fr; gap:11px; margin-top:auto; padding:16px 10px; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.lock { color:var(--green); font-size:.55rem; padding-top:2px; }
.sidebar-boundary strong,.sidebar-boundary small { display:block; }
.sidebar-boundary strong { font-size:.72rem; text-transform:uppercase; }
.sidebar-boundary small { margin-top:5px; color:rgba(255,255,255,.42); font-size:.7rem; line-height:1.4; }
.public-link { display:flex; justify-content:space-between; margin:18px 10px 0; color:rgba(255,255,255,.6); font-size:.72rem; font-weight:700; text-decoration:none; text-transform:uppercase; }
.main { min-width:0; }
.topbar { position:sticky; top:0; z-index:10; display:flex; justify-content:space-between; align-items:center; min-height:76px; padding:12px clamp(20px,4vw,58px); background:rgba(243,242,237,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.breadcrumb { display:flex; gap:9px; color:var(--muted); font:700 .65rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.breadcrumb strong { color:var(--black); }
.account { display:grid; grid-template-columns:9px auto 26px; gap:11px; align-items:center; }
.account-status { width:8px; height:8px; background:var(--green); border-radius:50%; box-shadow:0 0 0 4px rgba(76,185,120,.12); }
.account strong,.account small { display:block; text-align:right; }
.account strong { font-size:.78rem; }
.account small { color:var(--muted); font-size:.65rem; }
.account a,.account > button { color:var(--black); background:transparent; border:0; font-size:1rem; text-decoration:none; cursor:pointer; }
.menu-button { display:none; }
.loading-state { display:flex; align-items:center; justify-content:center; gap:14px; min-height:calc(100svh - 76px); color:var(--muted); }
.loader { width:22px; height:22px; border:2px solid var(--line); border-top-color:var(--yellow); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.gate-state { max-width:640px; margin:14vh auto; padding:52px; background:var(--white); border:1px solid var(--line); box-shadow:12px 12px 0 var(--yellow); }
.gate-state img { width:90px; margin-bottom:50px; }
.gate-state h1 { margin:0; font-size:clamp(2.5rem,5vw,4.7rem); line-height:.94; letter-spacing:-.055em; text-transform:uppercase; }
.gate-state > p:not(.eyebrow) { color:var(--muted); line-height:1.6; }
.gate-state > small { display:block; margin-top:22px; color:var(--muted); font-size:.7rem; line-height:1.5; }
.eyebrow { margin:0 0 18px; color:var(--muted); font:700 .65rem monospace; letter-spacing:.13em; text-transform:uppercase; }
.primary-button { display:inline-flex; justify-content:space-between; align-items:center; gap:32px; min-height:48px; margin-top:20px; padding:0 16px; color:var(--black); background:var(--yellow); font-size:.7rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; border:0; }
.portal-content { padding:clamp(34px,5vw,70px); }
.dashboard-heading,.membership-heading { max-width:850px; margin-bottom:38px; }
.dashboard-heading h1,.membership-heading h1 { margin:0; font-size:clamp(2.8rem,5vw,5.4rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.dashboard-heading > p:last-child,.membership-heading > p:last-child { max-width:720px; color:var(--muted); line-height:1.55; }
.module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.module-card { position:relative; display:grid; grid-template-rows:auto auto 1fr auto; min-height:280px; padding:26px; color:var(--black); text-align:left; background:var(--white); border:1px solid var(--line); cursor:pointer; }
.module-card:hover,.module-card:focus-visible { outline:3px solid var(--yellow); outline-offset:-3px; transform:translateY(-2px); }
.module-card > span { color:var(--muted); font:700 .65rem monospace; }
.module-card > strong { max-width:340px; margin-top:42px; font-size:clamp(1.35rem,2.4vw,2.2rem); line-height:1; text-transform:uppercase; }
.module-card > p { max-width:460px; color:var(--muted); line-height:1.5; }
.module-card > b { align-self:end; padding-top:20px; font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; border-top:1px solid var(--line); }
.module-card.membership-module { background:var(--yellow); border-color:var(--yellow); }
.membership-status { display:grid; grid-template-columns:1fr auto; gap:8px 24px; align-items:center; padding:24px; background:var(--white); border:1px solid var(--line); }
.membership-status > span { color:var(--muted); font:700 .62rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.membership-status > strong { grid-column:2; grid-row:1/3; text-transform:uppercase; }
.membership-status > strong i { display:inline-block; width:8px; height:8px; margin-right:8px; background:var(--green); border-radius:50%; }
.membership-status > small { font-size:.78rem; }
.access-request-section { margin-top:54px; }
.access-request-section > div:first-child { max-width:700px; }
.access-request-section h2 { margin:0; font-size:1.8rem; text-transform:uppercase; }
.access-request-section > div:first-child > p:last-child { color:var(--muted); line-height:1.55; }
.access-request-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.access-request-grid article { display:flex; flex-direction:column; min-height:270px; padding:22px; background:var(--white); border:1px solid var(--line); }
.access-request-grid article > span { color:var(--muted); font:700 .6rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.access-request-grid article > strong { margin-top:28px; font-size:1.05rem; text-transform:uppercase; }
.access-request-grid article > p { color:var(--muted); font-size:.78rem; line-height:1.5; }
.access-request-grid article > button { width:100%; margin-top:auto; }
.access-request-grid article.granted { border-bottom:5px solid var(--green); }
.access-request-grid article.pending { border-bottom:5px solid var(--yellow); }
.access-request-grid button:disabled { color:var(--muted); background:#e8e7e1; border-color:var(--line); cursor:default; }
[data-media-view] { display:block; }
.library-heading { display:grid; grid-template-columns:1fr 190px; gap:50px; align-items:end; }
.library-heading h1 { margin:0; font-size:clamp(2.8rem,5vw,5.4rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.library-heading > div > p:last-child { max-width:700px; color:var(--muted); line-height:1.55; }
.summary-card { padding:18px; background:var(--white); border:1px solid var(--line); }
.summary-card span,.summary-card strong,.summary-card small { display:block; }
.summary-card span { color:var(--muted); font:700 .6rem monospace; letter-spacing:.1em; text-transform:uppercase; }
.summary-card strong { margin:16px 0 5px; font-size:.9rem; text-transform:uppercase; }
.summary-card i { display:inline-block; width:7px; height:7px; margin-right:7px; background:var(--green); border-radius:50%; }
.summary-card small { color:var(--muted); font-size:.7rem; }
.progress-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:54px 0 28px; border:1px solid var(--line); background:var(--white); }
.progress-strip div { position:relative; min-height:110px; padding:20px; border-right:1px solid var(--line); overflow:hidden; }
.progress-strip div:last-child { border:0; }
.progress-strip span,.progress-strip strong { display:block; }
.progress-strip span { color:var(--muted); font:700 .59rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.progress-strip strong { margin-top:16px; font-size:.8rem; text-transform:uppercase; }
.progress-strip i { position:absolute; left:0; bottom:0; width:var(--progress); height:4px; background:var(--yellow); }
.toolbar { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.search { display:flex; flex:1; align-items:center; gap:10px; min-height:46px; padding:0 14px; background:var(--white); border:1px solid var(--line); }
.search input { width:100%; border:0; outline:0; background:transparent; }
.toolbar select { min-height:46px; padding:0 38px 0 14px; color:var(--black); background:var(--white); border:1px solid var(--line); }
.result-count { min-width:74px; color:var(--muted); font:700 .63rem monospace; text-align:right; text-transform:uppercase; }
.asset-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.asset-card { overflow:hidden; background:var(--white); border:1px solid var(--line); }
.asset-thumb { position:relative; aspect-ratio:16/10; display:grid; place-content:center; color:rgba(255,255,255,.7); background:var(--steel); overflow:hidden; }
.asset-thumb img { width:100%; height:100%; object-fit:cover; }
.asset-card[data-type="logo"] .asset-thumb { padding:24px; background:#e7e6df; }
.asset-card[data-type="logo"] .asset-thumb img { object-fit:contain; }
.logo-surface-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; background:#d8d7d0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.logo-surface { min-width:0; margin:0; }
.logo-swatch { display:grid; place-items:center; aspect-ratio:1; padding:8px; overflow:hidden; border:1px solid rgba(9,9,8,.2); }
.logo-swatch img { display:block; width:100%; height:100%; object-fit:contain; }
.logo-surface-white .logo-swatch { background:#fff; }
.logo-surface-black .logo-swatch { background:#090908; }
.logo-surface-yellow .logo-swatch { background:#ffc700; }
.logo-surface figcaption { min-height:26px; padding-top:7px; color:var(--muted); font:700 .5rem/1.2 monospace; text-align:center; text-transform:uppercase; }
.asset-thumb .file-glyph { font:700 2.2rem monospace; letter-spacing:-.08em; }
.asset-type { position:absolute; top:10px; left:10px; padding:5px 7px; color:var(--black); background:var(--yellow); font:700 .56rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.asset-copy { padding:17px; }
.asset-copy h2 { margin:0; font-size:1rem; text-transform:uppercase; }
.asset-copy p { height:38px; margin:8px 0 18px; color:var(--muted); font-size:.78rem; line-height:1.45; overflow:hidden; }
.asset-meta { display:flex; justify-content:space-between; gap:12px; padding-top:13px; color:var(--muted); font:700 .57rem monospace; text-transform:uppercase; border-top:1px solid var(--line); }
.asset-actions { display:grid; grid-template-columns:1fr auto; border-top:1px solid var(--line); }
.asset-actions button,.asset-actions a { min-height:42px; padding:0 14px; color:var(--black); background:transparent; font-size:.64rem; font-weight:800; text-decoration:none; text-transform:uppercase; border:0; cursor:pointer; }
.asset-actions button { text-align:left; }
.asset-actions a { display:grid; place-content:center; border-left:1px solid var(--line); }
.asset-actions button:hover,.asset-actions a:hover { background:var(--yellow); }
.empty-state { padding:80px 20px; text-align:center; background:var(--white); border:1px solid var(--line); }
.empty-state p { color:var(--muted); }
.preview-dialog { width:min(920px,calc(100% - 32px)); max-height:90svh; padding:0; border:0; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.preview-dialog::backdrop { background:rgba(0,0,0,.72); }
.dialog-head,.dialog-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 20px; }
.dialog-head { color:var(--white); background:var(--black); }
.dialog-head span,.dialog-head strong { display:block; }
.dialog-head span { color:rgba(255,255,255,.4); font:700 .56rem monospace; text-transform:uppercase; }
.dialog-head strong { margin-top:3px; text-transform:uppercase; }
.dialog-head button { color:var(--white); background:transparent; border:0; font-size:1.8rem; cursor:pointer; }
.preview-body { display:grid; place-content:center; min-height:420px; background:#25292a; }
.preview-body img,.preview-body video { display:block; max-width:100%; max-height:65svh; }
.preview-body iframe { width:100%; height:60svh; border:0; background:var(--white); }
.preview-body .file-glyph { color:rgba(255,255,255,.65); font:700 4rem monospace; }
.secondary-button { min-height:44px; padding:0 16px; color:var(--black); background:var(--white); border:1px solid var(--black); font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.secondary-button:hover,.secondary-button:focus-visible { background:var(--yellow); }
.mail-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:40px; }
.mail-heading h1 { margin:0; font-size:clamp(2.8rem,5vw,5.4rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.mail-heading p:last-child { max-width:700px; color:var(--muted); line-height:1.55; }
.mail-heading-actions { display:flex; gap:10px; align-items:center; }
.mail-heading-actions .primary-button { margin:0; cursor:pointer; }
.mail-layout { display:grid; grid-template-columns:130px minmax(260px,390px) minmax(360px,1fr); min-height:620px; background:var(--white); border:1px solid var(--line); }
.mail-folders { padding:14px; background:#e8e7e1; border-right:1px solid var(--line); }
.mail-folders button { display:block; width:100%; min-height:40px; padding:0 10px; text-align:left; background:transparent; border:0; font-size:.68rem; font-weight:800; text-transform:uppercase; cursor:pointer; }
.mail-folders button.active { background:var(--yellow); }
.mail-list-panel { min-width:0; border-right:1px solid var(--line); }
.mail-list-head { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:0 16px; border-bottom:1px solid var(--line); text-transform:uppercase; }
.mail-list-head span { color:var(--muted); font:700 .58rem monospace; }
.mail-list { max-height:680px; overflow:auto; }
.mail-row { display:grid; grid-template-columns:1fr auto; gap:5px 12px; width:100%; padding:15px 16px; text-align:left; background:var(--white); border:0; border-bottom:1px solid var(--line); cursor:pointer; }
.mail-row:hover,.mail-row:focus-visible { background:#f8f7f2; }
.mail-row.unread { border-left:4px solid var(--yellow); }
.mail-row-from,.mail-row strong,.mail-row-preview { grid-column:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mail-row-from { color:var(--muted); font-size:.7rem; }
.mail-row strong { font-size:.8rem; }
.mail-row-preview { color:var(--muted); font-size:.7rem; }
.mail-row time { grid-column:2; grid-row:1; color:var(--muted); font:700 .57rem monospace; }
.mail-reader { min-width:0; overflow:auto; }
.mail-reader-placeholder,.mail-loading,.mail-error { display:grid; place-content:center; justify-items:center; min-height:300px; padding:30px; color:var(--muted); text-align:center; }
.mail-reader-placeholder > span { font:700 3rem monospace; color:var(--yellow); }
.mail-reader-placeholder strong,.mail-error strong { color:var(--black); text-transform:uppercase; }
.mail-reader header { padding:28px 30px; border-bottom:1px solid var(--line); }
.mail-reader header > p { margin:0 0 10px; color:var(--muted); font-size:.75rem; }
.mail-reader-title { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.mail-reader-title p { margin:0 0 10px; color:var(--muted); font-size:.75rem; }
.mail-reader h2 { margin:0; font-size:1.45rem; }
.mail-reader dl { display:grid; gap:6px; margin:22px 0 0; }
.mail-reader dl div { display:grid; grid-template-columns:70px 1fr; font-size:.7rem; }
.mail-reader dt { color:var(--muted); font-weight:700; text-transform:uppercase; }
.mail-reader dd { margin:0; overflow-wrap:anywhere; }
.mail-body { padding:30px; color:#272b2d; font:400 .9rem/1.7 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
.mail-reader footer { padding:20px 30px 30px; border-top:1px solid var(--line); }
.mail-reader footer > strong { font-size:.7rem; text-transform:uppercase; }
.mail-attachments { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.mail-attachments button { display:flex; gap:18px; padding:10px 12px; background:var(--paper); border:1px solid var(--line); cursor:pointer; }
.mail-attachments button span { color:var(--muted); }
.compose-dialog { width:min(760px,calc(100% - 28px)); max-height:94svh; padding:0; color:var(--black); background:var(--paper); border:0; box-shadow:0 30px 100px rgba(0,0,0,.45); }
.compose-dialog::backdrop { background:rgba(0,0,0,.72); }
.compose-dialog header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 22px; color:var(--white); background:var(--black); }
.compose-dialog header span,.compose-dialog header strong { display:block; }
.compose-dialog header span { color:rgba(255,255,255,.45); font:700 .58rem monospace; text-transform:uppercase; }
.compose-dialog header strong { margin-top:4px; text-transform:uppercase; }
.compose-dialog header button { color:var(--white); background:transparent; border:0; font-size:1.8rem; cursor:pointer; }
.compose-fields { display:grid; gap:15px; padding:24px; }
.compose-fields label { display:grid; gap:7px; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.compose-fields input,.compose-fields select,.compose-fields textarea { width:100%; min-height:44px; padding:10px 12px; color:var(--black); background:var(--white); border:1px solid var(--line); border-radius:0; font:400 .9rem Arial,Helvetica,sans-serif; }
.compose-fields textarea { resize:vertical; line-height:1.55; }
.compose-fields input:focus,.compose-fields select:focus,.compose-fields textarea:focus { outline:3px solid rgba(255,199,0,.35); border-color:var(--black); }
.compose-error { margin:0; padding:11px 12px; color:#7a1515; background:#fff0f0; border-left:4px solid #c33; font-size:.75rem; }
.compose-dialog footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 24px; background:var(--white); border-top:1px solid var(--line); }
.compose-dialog footer small { max-width:420px; color:var(--muted); line-height:1.4; }
.compose-dialog footer .primary-button { margin:0; cursor:pointer; }
.developer-heading { display:flex; justify-content:space-between; gap:36px; align-items:end; margin-bottom:34px; }
.developer-heading h1 { margin:0; font-size:clamp(2.8rem,5vw,5.4rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.developer-heading p:last-child { max-width:760px; color:var(--muted); line-height:1.55; }
.developer-heading .primary-button { flex:0 0 auto; margin:0; cursor:pointer; }
.developer-contact { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; min-height:150px; padding:30px; color:var(--white); background:var(--black); border-bottom:6px solid var(--yellow); }
.developer-contact div { display:grid; gap:5px; }
.developer-contact div:last-child { justify-items:end; }
.developer-contact span,.developer-contact small { color:rgba(255,255,255,.5); font:700 .62rem monospace; letter-spacing:.06em; text-transform:uppercase; }
.developer-contact strong { font-size:clamp(1.5rem,3vw,2.6rem); text-transform:uppercase; }
.developer-contact a { color:var(--yellow); font-weight:800; text-decoration:none; }
.developer-directory-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:54px 0 20px; }
.developer-directory-head .eyebrow { margin-bottom:8px; }
.developer-directory-head h2 { margin:0; font-size:1.6rem; text-transform:uppercase; }
.member-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.member-loading { grid-column:1/-1; display:grid; place-content:center; justify-items:center; gap:14px; min-height:260px; color:var(--muted); }
.member-card { display:flex; flex-direction:column; min-width:0; padding:24px; background:var(--white); border:1px solid var(--line); }
.member-card > header { display:flex; justify-content:space-between; align-items:start; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.member-card > header h3 { margin:10px 0 4px; font-size:1.25rem; text-transform:uppercase; }
.member-card > header p { margin:0; color:var(--muted); font-size:.78rem; }
.member-card > header > b { padding:6px 8px; background:var(--yellow); font:700 .57rem monospace; text-transform:uppercase; }
.member-status { color:var(--muted); font:700 .58rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.member-status i { display:inline-block; width:7px; height:7px; margin-right:7px; background:var(--green); border-radius:50%; }
.member-card.suspended { opacity:.72; }
.member-card.suspended .member-status i { background:#c33; }
.member-card dl { display:grid; gap:10px; margin:20px 0; }
.member-card dl div { display:grid; grid-template-columns:80px 1fr; gap:12px; min-width:0; }
.member-card dt { color:var(--muted); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.member-card dd { min-width:0; margin:0; font-size:.75rem; overflow-wrap:anywhere; }
.member-card dd a { color:inherit; }
.member-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.member-tags strong { flex-basis:100%; color:var(--muted); font-size:.6rem; text-transform:uppercase; }
.member-tags span { padding:5px 7px; background:var(--paper); border:1px solid var(--line); font:700 .56rem monospace; }
.member-requests span { background:#fff8d8; border-color:#e7c84b; }
.member-card > footer { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; padding-top:24px; }
.text-button { padding:8px 0; color:var(--muted); background:transparent; border:0; font-size:.62rem; font-weight:800; text-decoration:underline; text-transform:uppercase; cursor:pointer; }
.text-button:disabled { opacity:.35; cursor:not-allowed; }
.member-dialog { width:min(900px,calc(100% - 28px)); max-height:94svh; padding:0; color:var(--black); background:var(--paper); border:0; box-shadow:0 30px 100px rgba(0,0,0,.45); }
.member-dialog::backdrop { background:rgba(0,0,0,.72); }
.member-dialog > form > header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 22px; color:var(--white); background:var(--black); }
.member-dialog header span,.member-dialog header strong { display:block; }
.member-dialog header span { color:rgba(255,255,255,.45); font:700 .58rem monospace; text-transform:uppercase; }
.member-dialog header strong { margin-top:4px; text-transform:uppercase; }
.member-dialog header button { color:var(--white); background:transparent; border:0; font-size:1.8rem; cursor:pointer; }
.member-fields { display:grid; gap:24px; max-height:68svh; padding:24px; overflow:auto; }
.member-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.member-fields label { display:grid; align-content:start; gap:7px; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.member-fields input,.member-fields select { width:100%; min-height:44px; padding:10px 12px; color:var(--black); background:var(--white); border:1px solid var(--line); border-radius:0; }
.member-fields input:disabled { color:var(--muted); background:#e8e7e1; }
.member-fields label small,.member-fields fieldset > p { margin:0; color:var(--muted); font-size:.62rem; font-weight:400; letter-spacing:0; line-height:1.4; text-transform:none; }
.member-fields .member-check { grid-template-columns:auto 1fr; align-items:center; align-self:end; min-height:44px; padding:10px 12px; background:var(--white); border:1px solid var(--line); }
.member-fields .member-check input,.member-options input { width:16px; min-height:16px; padding:0; }
.member-fields fieldset { margin:0; padding:18px; border:1px solid var(--line); }
.member-fields legend { padding:0 7px; font-size:.67rem; font-weight:800; text-transform:uppercase; }
.member-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.member-options label { grid-template-columns:auto 1fr; align-items:center; min-height:40px; padding:8px 10px; background:var(--white); border:1px solid var(--line); text-transform:none; }
.member-mailboxes label { font:700 .62rem monospace; }
.member-error { margin:0; padding:11px 12px; color:#7a1515; background:#fff0f0; border-left:4px solid #c33; font-size:.75rem; }
.member-dialog footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 24px; background:var(--white); border-top:1px solid var(--line); }
.member-dialog footer small { max-width:480px; color:var(--muted); line-height:1.4; }
.member-dialog footer .primary-button { margin:0; cursor:pointer; }
.dialog-foot p { color:var(--muted); font-size:.75rem; }
.dialog-foot .primary-button { margin:0; }
.review-page { height:100svh; overflow:hidden; background:var(--black); }
.review-bar { position:fixed; z-index:5; inset:0 0 auto; display:grid; grid-template-columns:120px 1fr 180px; align-items:center; min-height:54px; padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left)); color:var(--white); background:var(--black); border-bottom:1px solid rgba(255,255,255,.16); }
.review-bar a { color:var(--yellow); font-size:.72rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
.review-bar a span { margin-left:6px; }
.review-bar strong { overflow:hidden; font-size:.72rem; text-align:center; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.review-bar > span { color:rgba(255,255,255,.55); font:700 .6rem monospace; text-align:right; text-transform:uppercase; }
.review-stage { position:fixed; inset:54px 0 0; overflow:hidden; background:#171819; }
.review-stage iframe { display:block; width:100%; height:100%; border:0; touch-action:none; }
.review-loading { display:flex; align-items:center; justify-content:center; gap:14px; height:100%; color:rgba(255,255,255,.62); }
@media (max-width:1050px) { .asset-grid { grid-template-columns:repeat(2,1fr); } .progress-strip { grid-template-columns:repeat(2,1fr); } .progress-strip div:nth-child(2) { border-right:0; } .progress-strip div:nth-child(-n+2) { border-bottom:1px solid var(--line); } .access-request-grid { grid-template-columns:1fr; } .access-request-grid article { min-height:220px; } }
@media (max-width:1180px) { .mail-layout { grid-template-columns:110px 320px 1fr; } }
@media (max-width:760px) { .app-shell { grid-template-columns:1fr; } .sidebar { position:fixed; z-index:30; inset:0 auto 0 0; width:260px; transform:translateX(-105%); transition:transform .2s ease; } .sidebar.open { transform:translateX(0); box-shadow:20px 0 60px rgba(0,0,0,.3); } .menu-button { display:block; color:var(--black); background:transparent; border:0; font-size:1.2rem; } .breadcrumb { display:none; } .topbar { min-height:66px; padding-inline:18px; } .account { margin-left:auto; } .portal-content { padding:34px 18px 60px; } .module-grid { grid-template-columns:1fr; } .module-card { min-height:250px; } .membership-status { grid-template-columns:1fr; } .membership-status > strong { grid-column:1; grid-row:auto; } .library-heading { grid-template-columns:1fr; gap:24px; } .summary-card { max-width:220px; } .toolbar { flex-wrap:wrap; } .search { flex-basis:100%; } .asset-grid { grid-template-columns:1fr; } .gate-state { margin:8vh 18px; padding:34px 24px; } .dialog-foot { align-items:stretch; flex-direction:column; } .developer-heading { align-items:flex-start; flex-direction:column; } .developer-contact { grid-template-columns:1fr; align-items:start; } .developer-contact div:last-child { justify-items:start; } .member-grid { grid-template-columns:1fr; } .member-field-grid,.member-options { grid-template-columns:1fr; } .member-dialog footer { align-items:stretch; flex-direction:column; } .member-dialog footer .primary-button { width:100%; } }
@media (max-width:900px) { .mail-heading { align-items:flex-start; flex-direction:column; } .mail-layout { grid-template-columns:1fr; } .mail-folders { display:flex; gap:8px; border-right:0; border-bottom:1px solid var(--line); } .mail-folders button { width:auto; } .mail-list-panel { border-right:0; border-bottom:1px solid var(--line); } .mail-reader { min-height:420px; } }
@media (max-width:600px) { .mail-heading-actions { width:100%; flex-wrap:wrap; } .compose-dialog footer { align-items:stretch; flex-direction:column; } .compose-dialog footer .primary-button { width:100%; } }
@media (max-width:480px) { .progress-strip { grid-template-columns:1fr; } .progress-strip div { border-right:0; border-bottom:1px solid var(--line); } .toolbar select { flex:1; } }
@media (max-width:600px) { .review-bar { grid-template-columns:72px 1fr 88px; } .review-bar strong { font-size:.62rem; } .review-bar > span { font-size:.5rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
