/* Staff workspace: shared brand tokens, quiet surfaces and compact working rows. */
.forum-workspace{--workspace-max:1280px;min-height:100vh;background:var(--color-bg);overflow-x:visible}
.forum-workspace body{min-height:100vh;overflow-x:visible;margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui,Manrope,Arial,sans-serif)}
.forum-workspace *, .forum-workspace *::before,.forum-workspace *::after{box-sizing:border-box}
.forum-workspace [hidden]{display:none!important}
.forum-workspace main,.forum-workspace main:has(#new-topic),.forum-workspace main:has(#forum-shell),html.forum-workspace body>main{width:calc(100% - 48px);max-width:var(--workspace-max);min-width:0;margin:28px auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;min-height:0;overflow:visible}
.forum-workspace h1,.forum-workspace h2,.forum-workspace h3{font-family:var(--font-ui,Manrope,Arial,sans-serif);letter-spacing:normal;overflow-wrap:anywhere}
.forum-workspace h1{font-size:28px;line-height:1.3;margin:0 0 12px}
.forum-workspace h2{font-size:19px;line-height:1.4}
.forum-workspace a{color:var(--color-text);text-decoration:none;overflow-wrap:anywhere}
.forum-workspace a:hover{color:var(--color-accent)}
.forum-workspace :focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.forum-workspace .workspace-header.top{position:relative;inset:auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;height:auto;min-height:76px;width:100%;max-width:none;padding:16px max(24px,calc((100% - 1280px)/2));background:var(--color-surface);border:0;border-bottom:1px solid var(--color-border);box-shadow:none;z-index:20}
.forum-workspace .workspace-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.forum-workspace .workspace-brand img{display:block;width:34px;height:38px;object-fit:contain}
.forum-workspace .workspace-brand span{display:flex;flex-direction:column;gap:3px}
.forum-workspace .workspace-brand b{font-size:16px;font-weight:650;line-height:1.25}
.forum-workspace .workspace-brand small{font-size:11px;letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase}
.forum-workspace .workspace-navigation{position:static;display:flex;flex:0 1 auto;gap:8px;flex-wrap:wrap;align-items:center;min-width:0;width:auto;height:auto;order:0;overflow:visible;letter-spacing:normal;text-transform:none;padding:0}
.forum-workspace .workspace-navigation a::after{display:none}
.forum-workspace .workspace-navigation a{padding:8px 10px;font-size:13px;border-radius:6px;min-height:38px;display:flex;align-items:center}
.forum-workspace .workspace-navigation a[aria-current=page]{background:var(--color-surface-2);font-weight:700}
.forum-workspace .workspace-identity{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0;font-size:13px}
.forum-workspace .workspace-profile{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-workspace .workspace-header .theme-switch{position:static;margin:0;margin-left:auto}
.forum-workspace .workspace-identity:not([hidden])~.theme-switch{margin-left:0}
.forum-workspace .workspace-search{display:flex;gap:8px;width:min(100%,420px);min-width:0}
.forum-workspace .workspace-search input{flex:1;min-width:0}
.forum-workspace button,.forum-workspace input,.forum-workspace select,.forum-workspace textarea{font:inherit;color:var(--color-text);max-width:100%}
.forum-workspace input:not([type=checkbox]):not([type=radio]),.forum-workspace select,.forum-workspace textarea{width:100%;min-width:0;border:1px solid var(--color-border-strong);border-radius:7px;background:var(--color-surface);padding:10px 12px;min-height:44px}
.forum-workspace input[type=checkbox],.forum-workspace input[type=radio]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--color-accent)}
.forum-workspace button,.forum-workspace .forum-create-button,.forum-workspace .forum-action{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:7px;padding:10px 14px;min-height:40px;line-height:1.35;cursor:pointer;white-space:normal;box-shadow:none;font-size:13px}
.forum-workspace button:hover{background:var(--color-surface-hover)}
.forum-workspace button:disabled{opacity:.6;cursor:wait}
.forum-workspace .forum-create-button,.forum-workspace form button[type=submit],.forum-workspace #new-submit{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);font-weight:700}
.forum-workspace .forum-header,.forum-workspace .section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;background:transparent;border:0;padding:0;margin-bottom:24px}
.forum-workspace .forum-header>div,.forum-workspace .section-head>div{min-width:0}
.forum-workspace .forum-header p{font-size:14px;color:var(--color-text-muted);margin:0}
.forum-workspace .forum-user,.forum-workspace [data-forum-header]{display:none!important}
.forum-workspace .forum-header-side{position:static;inset:auto;width:100%;max-width:none;margin:0}
.forum-workspace .forum-search{position:relative;width:100%;max-width:none;margin:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:12px;box-shadow:none}
.forum-workspace .forum-search-primary{display:flex;gap:8px;align-items:center;min-width:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.forum-workspace .forum-search-primary input{flex:1;min-width:0}
.forum-workspace .forum-search-primary button{flex:0 0 auto}
.forum-workspace .search-filters{position:static;inset:auto;transform:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:none;padding:12px 0 0;margin:10px 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none}
.forum-workspace .forum-index-head{gap:12px;flex-wrap:wrap}
.forum-workspace .forum-category-group,.forum-workspace .section-subforum-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;padding:0;box-shadow:none}
.forum-workspace .forum-index-row{grid-template-columns:minmax(0,1fr) 64px minmax(140px,230px);padding:16px 20px;gap:16px;min-width:0;border-color:var(--color-border)}
.forum-workspace .forum-index-icon{display:none}
.forum-workspace .forum-section-title{font-size:16px;font-weight:650}
.forum-workspace .forum-subsection-links{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;color:var(--color-text-muted)}
.forum-workspace .forum-subsection-links a{color:var(--color-text-muted);max-width:min(100%,240px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forum-workspace .forum-index-count,.forum-workspace .forum-index-last small{color:var(--color-text-muted)}
.forum-workspace .forum-index-avatar-fallback{background:var(--color-surface-2);color:var(--color-text);font-size:13px;font-weight:600}
.forum-workspace .section-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.forum-workspace .section-subforum-list{margin:20px 0}
.forum-workspace .section-subforum-list h2{padding:12px 16px;margin:0;border-bottom:1px solid var(--color-border)}
.forum-workspace .section-subforum-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,230px);padding:14px 16px;gap:14px;border-bottom:1px solid var(--color-border);min-width:0}
.forum-workspace .section-subforum-row:last-child{border:0}
.forum-workspace .subforum-icon{display:none}
.forum-workspace .subforum-name{min-width:0}
.forum-workspace .subforum-name small{display:block;font-size:12px;color:var(--color-text-muted);margin-top:4px}
.forum-workspace .subforum-meta{grid-column:auto;min-width:0;overflow-wrap:anywhere;font-size:12px;color:var(--color-text-muted)}
.forum-workspace .article-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px;box-shadow:none;min-width:0;min-height:0;transform:none}
.forum-workspace .article-card:hover{box-shadow:none;transform:none;border-color:var(--color-border)}
.forum-workspace .article-card p{color:var(--color-text-secondary);overflow-wrap:anywhere}
.forum-workspace .topic-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,200px);gap:20px;margin:10px 0}
.forum-workspace .topic-row h2{margin:0 0 6px}
.forum-workspace .topic-row-main,.forum-workspace .topic-row-meta{min-width:0;overflow-wrap:anywhere}
.forum-workspace .status-badge{display:inline-flex;max-width:100%;font-size:11px;font-weight:600;padding:4px 7px;border-radius:5px;background:var(--color-surface-2);color:var(--color-text-secondary);border:1px solid var(--color-border)}
.forum-workspace .status-published{color:var(--color-accent);border-color:var(--color-border-strong)}
.forum-workspace .breadcrumbs,.forum-workspace main>p:first-child{font-size:13px;color:var(--color-text-muted);margin:0 0 18px}
.forum-workspace .pagination{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.forum-workspace main.auth-page{max-width:480px}
.forum-workspace .auth-page>p:first-child,.forum-workspace .auth-page>h1{display:none}
.forum-workspace .auth-panel,.forum-workspace .forum-login-card{max-width:480px;width:100%;margin:48px auto;padding:28px;text-align:left}
.forum-workspace .auth-panel h2,.forum-workspace .forum-login-card h1{font-size:24px}
.forum-workspace .auth-panel form,.forum-workspace .forum-login-card form{display:flex;flex-direction:column;gap:10px;text-align:left}
.forum-workspace .auth-panel form label{display:block;text-align:left;font-size:13px;margin-top:8px}
.forum-workspace .auth-panel .auth-check{display:flex;align-items:center;gap:8px;border:0;padding:8px 0}
.forum-workspace .forum-login-card>p,.forum-workspace .auth-subtitle{font-size:13px;color:var(--color-text-muted)}
.forum-workspace .forum-register-link,.forum-workspace .auth-inline-link{background:transparent;color:var(--color-text);border:0;padding:0;min-height:32px;text-decoration:underline;text-underline-offset:3px}
.forum-workspace .forum-login-card button[type=submit]{margin-top:8px;padding:12px}
.forum-workspace .workspace-notice{max-width:640px;padding:12px 16px;margin:20px auto;border:1px solid var(--color-border);border-radius:8px;line-height:1.5}
.forum-workspace #edit-form{display:grid;gap:14px;max-width:100%;min-width:0}
.forum-workspace #edit-form>label{display:grid;gap:8px;font-size:13px;min-width:0}
.forum-workspace #edit-form .editor{min-width:0;max-width:100%;overflow-wrap:anywhere}
.forum-workspace #page h1{font:650 28px/1.3 var(--font-ui,Manrope,Arial,sans-serif);margin:20px 0}
.forum-workspace #page>p:first-child,.forum-workspace #page>p:has(.forum-action){display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.forum-workspace #topic-locale{width:auto;min-width:120px}
.forum-workspace #avatarPreview:not([src]){display:none}
.forum-workspace .profile-avatar{width:64px;height:64px;border:0;box-shadow:none}
.forum-workspace #profile-cover:not([style]){display:none}
.forum-workspace main:has(#profile-content) input,.forum-workspace main:has(#profile-content) textarea{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);box-shadow:none}
.forum-workspace main:has(#profile-content)>button{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);box-shadow:none}
.forum-workspace main:has(#profile-content) input::placeholder{color:var(--color-text-muted)}
.forum-workspace[data-workspace-state=loading] main:has(#profile-content),.forum-workspace[data-workspace-state=loading] main:has(#edit-form){visibility:hidden}
.forum-workspace[data-workspace-state=loading] #forum-shell,.forum-workspace[data-workspace-state=loading] #create-shell,.forum-workspace[data-workspace-state=loading] #section{display:none!important}
.forum-workspace[data-workspace-state=guest] #forum-shell,.forum-workspace[data-workspace-state=guest] #create-shell{display:none!important}
.forum-workspace[data-workspace-state=guest] #section:not(:has(#auth-gate)){display:none}
@media(max-width:800px){
 .forum-workspace main,.forum-workspace main:has(#new-topic),.forum-workspace main:has(#forum-shell),html.forum-workspace body>main{width:calc(100% - 32px);margin:20px auto;padding:0}
 .forum-workspace .workspace-header.top{padding:14px 16px;gap:12px}
 .forum-workspace .workspace-navigation{order:3;width:100%;flex:0 0 100%}
 .forum-workspace .workspace-navigation a{padding:8px;font-size:12px}
 .forum-workspace .workspace-identity{order:4;width:100%;margin:0;padding-top:10px;border-top:1px solid var(--color-border)}
 .forum-workspace .workspace-header .workspace-identity:not([hidden])~.theme-switch{margin-left:auto}
 .forum-workspace .workspace-logout{margin-left:auto}
 .forum-workspace .workspace-search{order:5;width:100%}
 .forum-workspace .forum-index-row{grid-template-columns:minmax(0,1fr) 50px;gap:10px;padding:14px 16px}
 .forum-workspace .forum-index-last{grid-column:1/-1;font-size:12px}
 .forum-workspace .forum-index-count{grid-column:2;grid-row:1}
 .forum-workspace .search-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .forum-workspace .topic-row{grid-template-columns:minmax(0,1fr);gap:10px}
 .forum-workspace .topic-row-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}
}
@media(max-width:480px){
 .forum-workspace h1{font-size:24px}
 .forum-workspace #page h1{font-size:24px}
 .forum-workspace .workspace-brand b{font-size:14px}
 .forum-workspace .workspace-brand img{width:28px;height:32px}
 .forum-workspace .forum-search-primary{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .forum-workspace .forum-search-primary input{grid-column:1/-1}
 .forum-workspace .search-filters{grid-template-columns:minmax(0,1fr)}
 .forum-workspace .section-subforum-row{grid-template-columns:minmax(0,1fr);gap:6px}
 .forum-workspace .auth-panel,.forum-workspace .forum-login-card{padding:22px;margin:28px auto}
 .forum-workspace .section-actions>*{flex:1 1 auto;text-align:center}
 .forum-workspace .forum-index-head .forum-create-button{width:100%;text-align:center}
}
/* Communication pages use the same quiet workspace surfaces and controls. */
.forum-workspace .workspace-panel{padding:20px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);margin:16px 0;min-width:0;overflow-wrap:anywhere}
.forum-workspace #message-form{display:grid;gap:10px;max-width:760px}
.forum-workspace #message-form input,.forum-workspace #message-form textarea{width:100%;min-width:0}
.forum-workspace #recipient-results{display:flex;flex-wrap:wrap;gap:8px}
.forum-workspace .message-row{padding:12px 16px;margin:12px 0;border-radius:6px;background:var(--color-surface-2);max-width:85%;border:1px solid var(--color-border)}
.forum-workspace .message-row p{white-space:pre-wrap;margin:6px 0;overflow-wrap:anywhere}
.forum-workspace .message-outgoing{margin-left:auto;border-left:3px solid var(--color-accent)}
.forum-workspace .message-row small,.forum-workspace .notification-row small{color:var(--color-muted);font-size:12px}
.forum-workspace .notification-row{display:grid;gap:8px}
.forum-workspace .notification-unread{border-left:3px solid var(--color-accent)}
.forum-workspace #password-form{display:grid;gap:10px;max-width:560px}
.forum-workspace #password-form input{width:100%;min-width:0}
@media(max-width:600px){.forum-workspace .message-row{max-width:100%}.forum-workspace .workspace-panel{padding:16px}}

.forum-workspace .edit-cover-controls{min-width:0;margin:0;padding:16px;border:1px solid var(--color-border);border-radius:8px;display:grid;gap:10px}
.forum-workspace .edit-cover-controls legend{padding:0 6px;font-weight:650}
.forum-workspace .edit-cover-controls p{margin:0;overflow-wrap:anywhere;font-size:13px;color:var(--color-text-muted)}
.forum-workspace .edit-cover-controls button{justify-self:start}
/* Keep account and theme controls in the desktop header row. */
@media(min-width:1200px){
 .forum-workspace .workspace-header.top{flex-wrap:nowrap;gap:14px;padding:12px max(24px,calc((100% - 1920px)/2))}
 .forum-workspace .workspace-navigation{flex:0 0 auto;flex-wrap:nowrap;gap:3px}
 .forum-workspace .workspace-navigation a{white-space:nowrap;padding:8px}
 .forum-workspace .workspace-search{flex:1 1 240px;width:auto;max-width:420px;min-width:120px;margin:0 0 0 auto}
 .forum-workspace .workspace-search button{flex-shrink:0;white-space:nowrap}
 .forum-workspace .workspace-identity{flex:0 0 auto;margin-left:auto;gap:10px}
 .forum-workspace .workspace-header .theme-switch{flex:0 0 auto}
}

/* Topic activity: editorial metadata and bounded journal controls. */
.topic-authorship{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topic-authorship img,.topic-row-meta img{border-radius:50%;object-fit:cover}.topic-last-edit{font-size:.9em;opacity:.85}.activity-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.activity-filters label{display:flex;flex-direction:column;gap:5px}.activity-filters input,.activity-filters select{max-width:100%}[data-topic-activity]{margin:20px 0}[data-topic-activity] li{padding:8px 0}[data-topic-activity] button{margin:4px}

.editor-language-panel{margin:12px 0}.editor-language-panel nav{display:flex;flex-wrap:wrap;gap:8px}.editor-language-panel [aria-current=page]{font-weight:700;border-color:var(--gold,#ae914f);opacity:1}.editor-language-panel select{max-width:100%}

.category-bulk{border:1px solid var(--line,#8a795b);border-radius:8px;padding:12px;margin:16px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.category-bulk>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-basis:100%}.category-bulk input[type=checkbox],.topic-select{width:auto;min-width:18px;height:18px}.category-bulk button,.category-bulk select{max-width:100%}.topic-row.is-selected{outline:2px solid var(--gold,#b99757);background:color-mix(in srgb,var(--gold,#b99757) 12%,transparent)}.bulk-item-result{flex-basis:100%;margin:4px 0;font-size:.9em}.topic-row{flex-wrap:wrap}
.category-bulk label{display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap}.category-bulk label input[type=checkbox]{margin:0}.category-bulk select{width:auto;flex:1;min-width:190px}.category-bulk>p:empty,.bulk-item-result:empty{display:none}.topic-row:has(>.topic-select){display:grid;grid-template-columns:24px minmax(0,1fr) 220px;align-items:center;gap:16px}.topic-row>.topic-select{margin:0}.topic-row>.bulk-item-result{grid-column:2/-1}.topic-row-main{min-width:0}.topic-row-meta{min-width:0}@media(max-width:650px){.topic-row:has(>.topic-select){grid-template-columns:24px minmax(0,1fr)}.topic-row:has(>.topic-select)>.topic-row-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;text-align:left}.category-bulk>div{align-items:center}.category-bulk select{flex-basis:100%}}
