/* Three formal role hosts only. Brand/hero, semantic status, payment and dialog
   structure remain owned by their original modules. Auth geometry is available
   in the render-blocking head sheet, never dependent on role-intro.js loading. */
body.role-theme :is(.auth-card,.login-card,#auth-panel) {
  box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-width:540px;
  border:1px solid #d8d0bd;border-radius:20px;background:#f4eddd;color:#243d33;
  padding:28px;box-shadow:none;font:16px/1.7 system-ui,sans-serif;
}
body.role-theme #auth-panel {margin:28px auto;}
/* Browser autofill only, within the three formal login/register frames.
   Password-manager extension overlays may be outside page CSS control. */
body.role-theme :is(#auth-modal,#auth-panel,#app .login-card) input {
  color:var(--ui-ink);caret-color:var(--ui-ink);
}
body.role-theme :is(#auth-modal,#auth-panel,#app .login-card) input:not(:disabled):-webkit-autofill {
  box-shadow:0 0 0 1000px var(--ui-surface) inset;
  -webkit-text-fill-color:var(--ui-ink);caret-color:var(--ui-ink);
}
body.role-theme :is(#auth-modal,#auth-panel,#app .login-card) input:not(:disabled):autofill {
  background:var(--ui-surface);
}
body.role-theme :is(#auth-modal,#auth-panel,#app .login-card) input:not(:disabled):-webkit-autofill:focus {
  outline:2px solid var(--ui-accent);outline-offset:2px;
}
@media(max-width:680px) {body.role-theme :is(.auth-card,.login-card,#auth-panel) {padding:22px;}}
body.role-theme {
  --ui-page:#f7f2e8;
  --ui-surface:#fffaf0;
  --ui-ink:#243d33;
  --ui-muted:#526457;
  --ui-accent:#285f46;
  --ui-line:#cbd5c9;
  --ui-radius:18px;
  --ui-input-radius:12px;
  --ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;
  --member-surface-warm:var(--ui-surface);
  --member-surface-paper:var(--ui-surface);
  --bg:var(--ui-page); --card:var(--ui-surface); --paper:var(--ui-surface);
  --text:var(--ui-ink); --ink:var(--ui-ink); --muted:var(--ui-muted);
  --accent:var(--ui-accent); --line:var(--ui-line);
  background:var(--ui-page); color:var(--ui-ink);
  font:400 16px/1.7 var(--ui-font);
}
body.role-theme :is(.qrx-role-intro,#member-personal-panel,#member-reports-panel,#member-teams,#home-organization-links,#enterprise-teams,#enterprise-roster,#enterprise-candidates,#app>.page,.qrx-co) {
  color:var(--ui-ink); font:400 16px/1.7 var(--ui-font);
}
body.role-theme :is(.qrx-role-intro,#member-personal-panel,#member-reports-panel,#member-teams,#home-organization-links,#enterprise-teams,#enterprise-roster,#enterprise-candidates,#app>.page,.qrx-co) :is(h2,h3,h4) {
  color:var(--ui-accent); font-family:var(--ui-font); font-weight:500; line-height:1.4; overflow-wrap:anywhere;
}
body.role-theme :is(.qrx-role-intro,#member-personal-panel,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co)>h2 {font-size:28px; margin:0 0 16px;}
body.role-theme :is(.qrx-role-intro,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co) h3 {font-size:22px;}
body.role-theme :is(#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co) h4 {font-size:16px;}
body.role-theme :is(.qrx-role-intro,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co) p {font-size:16px;line-height:1.7;color:var(--ui-ink);}
body.role-theme :is(.qrx-role-intro,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co) :is(small,.muted,.qrx-team-status,.task-item .meta,.session-info span,.form-hint,.qrx-co-signature) {font:400 14px/1.6 var(--ui-font);color:var(--ui-muted);}
body.role-theme :is(.qrx-role-intro article,#member-reports-panel,.personal-report-row,.report-list-item,.member-teams-card,.member-teams-detail-card,.member-links-card,.qrx-team-card,#app>.page .card,#app>.page .stat-card,#app>.page .task-item,#app>.page .session-info,#app>.page .ai-summary) {
  background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:none;
}
body.role-theme .qrx-role-intro p {color:var(--ui-ink);}
body.role-theme .qrx-role-intro small {color:var(--ui-muted);}
body.role-theme #member-reports-panel button {background:transparent;}
body.role-theme #member-reports-panel h4 {font:500 16px/1.6 var(--ui-font);color:var(--ui-accent);}
body.role-theme #enterprise-roster :is(.roster-preview p,[data-roster-accounts]>div,[data-roster-secret]>div),
body.role-theme :is(#enterprise-teams,#member-teams) .qrx-report {
  background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);padding:20px;
}
body.role-theme :is(#member-personal-panel,#member-reports-panel,#member-teams,#home-organization-links,#enterprise-teams,#enterprise-roster,#enterprise-candidates,#app>.page,.qrx-co) :is(input:not([type=checkbox]):not([type=radio]),textarea,select) {
  font:400 16px/1.6 var(--ui-font);color:var(--ui-ink);background:var(--ui-surface);
  border:1px solid var(--ui-line);border-radius:var(--ui-input-radius);min-height:44px;
}
body.role-theme :is(#member-personal-panel,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co) label {font:500 16px/1.6 var(--ui-font);}
/* Final roster choices only: helper text must not bottom-align the controls. */
body.role-theme #enterprise-roster .roster-final-options {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;
}
body.role-theme #enterprise-roster .roster-final-options > label {
  display:grid;gap:8px;min-width:0;font:500 16px/1.6 var(--ui-font);
}
body.role-theme #enterprise-roster .roster-fields.roster-final-options > label :is(input:not([type=checkbox]):not([type=radio]),select) {
  display:block;width:100%;box-sizing:border-box;height:44px;min-height:44px;
  padding:10px 12px;font:400 16px/normal var(--ui-font);color:var(--ui-ink);
  background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;
}
body.role-theme #enterprise-roster .roster-final-options small {
  font:400 14px/1.6 var(--ui-font);color:var(--ui-muted);
}
@media(max-width:640px) {
  body.role-theme #enterprise-roster .roster-final-options {grid-template-columns:minmax(0,1fr);}
}
body.role-theme :is(#member-personal-panel,#member-reports-panel,#member-teams,#home-organization-links,#enterprise-teams,#enterprise-roster,#enterprise-candidates,#app>.page,.qrx-co) button {
  font:500 15px/1.6 var(--ui-font);min-height:44px;border-radius:12px;
}
body.role-theme :is(#app>.page .secondary,#app>.page .back-link,#app>.page .tabs button,#enterprise-teams button,#enterprise-roster button) {
  background:transparent;color:var(--ui-accent);border:1px solid var(--ui-line);
}
body.role-theme :is(#app>.page .primary,#app>.page .tabs button.active,#enterprise-teams button[aria-pressed=true]) {background:var(--ui-accent);color:var(--ui-surface);border-color:var(--ui-accent);}
body.role-theme #app>.page .task-item.selected {outline:2px solid var(--ui-accent);background:#edf1e7;}
body.role-theme #app>.page .task-item:hover {background:#edf1e7;}
body.role-theme #app>.page :is(.grid-2,.bubble,.session-info strong) {font:400 16px/1.7 var(--ui-font);}
/* Expert detail's real field nodes are span > b/em (not div). */
body.role-theme #app>.page .session-info>span {
  background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);
}
body.role-theme #app>.page .session-info>span>b,
body.role-theme #app>.page .ai-summary .grid-2>div>b {
  font:500 14px/1.6 var(--ui-font);color:var(--ui-muted);
}
body.role-theme #app>.page .session-info>span>em,
body.role-theme #app>.page .ai-summary .grid-2>div,
body.role-theme #app>.page .ai-summary :is(ul,li) {
  font:400 16px/1.7 var(--ui-font);color:var(--ui-ink);
}
body.role-theme #app>.page .panel-section {background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--ui-line);}
body.role-theme :is(.qrx-team-actions,.qrx-team-toolbar,.qrx-co-actions) {gap:12px;}
/* Injected co-creation styles may follow this sheet: the host class gives these
   ordinary surfaces priority, while draft lines retain their borderless flow. */
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co {background:transparent;border:0;box-shadow:none;}
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co :is(article,section,details,form,.qrx-co-card,.qrx-co-panel,[data-project-pane]) {
  background:var(--ui-surface);border-color:var(--ui-line);border-radius:var(--ui-radius);box-shadow:none;
}
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co .qrx-shared-draft :is(section,article,form,details) {background:transparent;border:0;border-radius:0;}
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co .qrx-shared-draft .qrx-live-speech {background:#f1f8f3;}
body.role-theme .qrx-co .qrx-response-preview {background:var(--ui-surface);}
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co button {font:500 15px/1.6 var(--ui-font);}
body.role-theme :is(#member-co-creation,#expert-co-creation,#enterprise-co-creation).qrx-co .qrx-co-tabs button[aria-selected=true] {color:var(--ui-surface);background:var(--ui-accent);}
@media(max-width:680px) {
  body.role-theme :is(.qrx-role-intro,#member-personal-panel,#member-reports-panel,#member-teams,#enterprise-teams,#enterprise-roster,#app>.page,.qrx-co)>h2 {font-size:26px;}
}
/* Member team list is a compact entry list, not a grid of period cards. */
body.role-theme #member-teams [data-member-teams-list] {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
body.role-theme #member-teams .member-teams-team {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:18px;min-width:0;}
body.role-theme #member-teams .member-teams-row-info {min-width:0;font:400 16px/1.7 var(--ui-font);}
body.role-theme #member-teams .member-teams-row-info h3 {font:500 20px/1.4 var(--ui-font);margin:0 0 4px;}
body.role-theme #member-teams .member-teams-team button {width:auto;margin:0;flex-shrink:0;padding:8px 16px;}
body.role-theme #member-teams .member-teams-back {background:transparent;color:var(--ui-accent);border:1px solid var(--ui-line);width:auto;padding:8px 14px;margin:12px 0;}
body.role-theme #member-teams [data-member-teams-detail]>h2 {font:500 26px/1.4 var(--ui-font);margin:0 0 16px;}
body.role-theme #member-teams .member-teams-detail-card h2 {font:500 22px/1.4 var(--ui-font);margin:0 0 16px;}
body.role-theme #member-teams .member-teams-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;}
body.role-theme #member-teams .member-teams-tabs button {background:transparent;color:var(--ui-accent);border:1px solid var(--ui-line);}
body.role-theme #member-teams .member-teams-tabs button[aria-pressed=true] {background:var(--ui-accent);color:var(--ui-surface);}
body.role-theme #member-teams [hidden] {display:none!important;}
@media(max-width:640px) {body.role-theme #member-teams .member-teams-team {flex-wrap:wrap;}body.role-theme #member-teams .member-teams-tabs {gap:8px;}}
/* Account information is static text, never a selected navigation pill. */
body.role-theme .qrx-header-account {display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:0 1 auto;color:var(--ui-muted);font:400 16px/1.6 var(--ui-font);}
body.role-theme .qrx-header-account[hidden] {display:none!important;}
body.role-theme .qrx-account-name {display:block;min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;color:var(--ui-ink);font:400 16px/1.6 var(--ui-font);}
body.role-theme .qrx-account-name:focus-visible {outline:2px solid var(--ui-accent);outline-offset:3px;}
body.role-theme .qrx-account-kind {font:400 14px/1.6 var(--ui-font);}
body.role-theme .qrx-header-account .qrx-header-logout {flex:none;width:auto;min-height:44px;padding:8px 10px;margin:0;background:transparent;color:var(--ui-accent);border:1px solid var(--ui-line);border-radius:10px;font:500 15px/1.6 var(--ui-font);white-space:nowrap;}
body.role-theme > header,body.role-theme .topbar,body.role-theme main > header {flex-wrap:nowrap;gap:12px;}
body.role-theme > header .toolbar,body.role-theme .topbar-actions {flex-wrap:nowrap;min-width:0;gap:10px;}
body.role-theme #member-workbench-tabs {flex-wrap:nowrap;gap:8px;}
/* Preserve the formal navbar's initial/auth-cleared hidden state even when
   the mobile role theme assigns display:grid. Marker/loading is not identity. */
body.role-theme #member-workbench-tabs[hidden] {display:none!important;}
body.role-theme #member-workbench-tabs button,body.role-theme #enterprise-menu button {padding:8px 10px;white-space:nowrap;}
body.role-theme #enterprise-menu {flex-wrap:nowrap;min-width:0;gap:8px;}
body.role-theme main > header .enterprise-brand {flex-shrink:0;}
body.role-theme .qrx-service-footer {margin:24px 0;text-align:right;}
body.role-theme .qrx-service-footer button {background:transparent;color:var(--ui-muted);border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;}
@media(max-width:1100px) {
 body.role-theme > header,body.role-theme .topbar,body.role-theme main > header {flex-wrap:wrap;}
 body.role-theme > header .toolbar {width:100%;flex-wrap:wrap;}
 body.role-theme #member-workbench-tabs {width:100%;}
 body.role-theme .qrx-header-account {margin-left:auto;}
 body.role-theme .topbar-actions {width:100%;flex-wrap:wrap;}
 body.role-theme .topbar-actions .qrx-header-account {flex-basis:100%;}
 body.role-theme #enterprise-menu {width:100%;}
}
@media(max-width:680px) {
 body.role-theme > header .toolbar {display:flex;flex-wrap:wrap;}
 body.role-theme #member-workbench-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 body.role-theme #member-workbench-tabs button {white-space:normal;}
 body.role-theme .topbar-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 body.role-theme .topbar-actions .qrx-header-account {grid-column:1 / -1;justify-self:end;}
 body.role-theme main > header {flex-direction:row;}
 body.role-theme #enterprise-menu {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 body.role-theme #enterprise-menu button {white-space:normal;}
 body.role-theme .qrx-header-account {max-width:100%;}
 body.role-theme .qrx-account-name {max-width:200px;}
}
