/* GuildMesh UI V2
   Shared presentation layer only. Existing module/page CSS remains intact. */
:root{
  --v2-bg:#07101d;--v2-surface:#0d1828;--v2-surface-2:#111f33;--v2-line:#263650;
  --v2-text:#f4f7fb;--v2-muted:#98a9c0;--v2-purple:#8b5cf6;--v2-blue:#38bdf8;
  --v2-green:#39d98a;--v2-amber:#f4b942;--v2-danger:#fb7185;
}
body.signed-in{background:var(--v2-bg);color:var(--v2-text)}
body.signed-in .page-shell{padding-top:72px}
body.signed-in .app-topbar{height:72px;background:rgba(7,16,29,.96);border-bottom:1px solid var(--v2-line);box-shadow:none;backdrop-filter:blur(14px)}
body.signed-in .app-brand{gap:10px}.app-brand-mark{width:34px;height:34px}.app-brand-wordmark{height:22px}
body.signed-in .global-search input{background:#0b1626;border:1px solid var(--v2-line);border-radius:10px;color:var(--v2-text)}
body.signed-in .global-search input:focus{border-color:var(--v2-purple);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
body.signed-in .topbar-icon-button,body.signed-in .topbar-account{border-radius:10px}
.portal-app-shell{min-height:calc(100vh - 72px)}
.unified-sidebar.navigation-v3-sidebar{width:272px;background:#091321;border-right:1px solid var(--v2-line);padding:18px 14px 20px;box-shadow:none}
.portal-workspace{margin-left:272px;padding:34px clamp(20px,3vw,44px) 60px;max-width:none}
.navigation-context,.navigation-portal-return{border:1px solid var(--v2-line)!important;background:#0d192a!important;border-radius:12px!important;margin-bottom:16px!important;padding:12px!important}
.navigation-context-icon,.navigation-home-symbol{border-radius:9px!important}
.navigation-v3 .navigation-group{margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid rgba(38,54,80,.7)}
.navigation-v3 .navigation-group:last-child{border-bottom:0}
.navigation-v3 .navigation-group-title{display:block;padding:8px 10px 6px;color:#71839d;font-size:.68rem;letter-spacing:.13em;font-weight:800}
.navigation-v3 .nav-category-items{display:grid;gap:2px}
.navigation-v3 .nav-category-items>a,.navigation-v3 .nav-coming-soon{min-height:42px;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#c7d2e1;transition:background .15s,border-color .15s,color .15s}
.navigation-v3 .nav-category-items>a:hover{background:#111f33;border-color:#263650;color:#fff}
.navigation-v3 .nav-category-items>a.active{background:linear-gradient(90deg,rgba(139,92,246,.17),rgba(56,189,248,.07));border-color:rgba(139,92,246,.42);color:#fff;box-shadow:inset 3px 0 0 var(--v2-purple)}
.navigation-v3 .nav-icon{width:26px;height:26px;border:0!important;background:transparent!important;font-size:1rem}
.navigation-v3 .nav-label{font-size:.89rem;font-weight:650}
.sidebar-product{margin-top:auto;border-top:1px solid var(--v2-line);padding-top:16px!important}

.page-heading,.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--v2-line)}
.page-heading h1,.workspace-heading h1{font-size:clamp(1.9rem,3vw,2.65rem);letter-spacing:-.035em;margin:.15rem 0 .35rem}
.page-heading p,.workspace-heading p{max-width:760px;color:var(--v2-muted);font-size:.98rem}
.eyebrow,.panel-kicker{color:#8295b1!important;font-weight:800;letter-spacing:.12em}
.panel,.surface-card,.accent-card{border:1px solid var(--v2-line)!important;background:var(--v2-surface)!important;border-radius:12px!important;box-shadow:none!important}
.button{border-radius:9px!important;font-weight:750!important}
.notice,.alert{border-radius:10px!important}

/* Portal home */
.portal-home-workspace{max-width:1500px}
.portal-welcome-heading{margin-bottom:24px}
.portal-guidance-card{display:none}
.portal-section-heading{margin:8px 0 16px}
.portal-community-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.server-picker-card{padding:20px!important;min-height:190px;display:flex;flex-direction:column}
.server-picker-actions{margin-top:auto}
.server-picker-icon{border-radius:12px!important}
.portal-roadmap-grid{margin-top:28px;opacity:.78}
.portal-roadmap-card{padding:18px!important}

/* Community overview */
.dashboard-kpi-grid{gap:14px!important}.dashboard-kpi{padding:18px!important}
.dashboard-quick-actions{margin-top:18px}.dashboard-action-grid{gap:10px!important}
.dashboard-action-grid a{border:1px solid var(--v2-line)!important;background:#0b1727!important;border-radius:10px!important}
.dashboard-action-grid a:hover{border-color:rgba(139,92,246,.65)!important;background:#101d31!important}
.today-grid{gap:14px!important;margin:18px 0!important}.today-panel,.your-activity-panel{border-radius:12px!important}
.today-item,.attention-row,.your-activity-item{border-radius:9px!important;background:#0b1727!important}
.server-stats{margin-top:18px!important}.dashboard-live-grid{gap:14px!important}

/* Setup centre */
.setup-v2-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;margin-bottom:16px;border:1px solid var(--v2-line);background:linear-gradient(135deg,#0d192a,#0a1524);border-radius:12px}
.setup-v2-hero h2{margin:3px 0 6px;font-size:1.25rem}.setup-v2-hero p{margin:0;color:var(--v2-muted);max-width:760px}
.setup-v2-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.setup-v2-links a{padding:9px 12px;border:1px solid var(--v2-line);border-radius:8px;background:#101d30;color:#dce5f1;text-decoration:none;font-size:.84rem;font-weight:750}
.setup-v2-links a:hover{border-color:var(--v2-purple);color:#fff}
.setup-v2-jumps{display:flex;gap:8px;overflow-x:auto;padding:0 0 14px;margin-bottom:14px;scrollbar-width:thin}
.setup-v2-jumps a{white-space:nowrap;padding:9px 12px;border:1px solid var(--v2-line);border-radius:999px;background:#0c1727;color:#aebdd0;text-decoration:none;font-size:.8rem;font-weight:700}
.setup-v2-jumps a:hover{color:#fff;border-color:#596c8b}
.setup-progress{border-radius:12px!important;margin-bottom:14px!important}.setup-progress .progress-items{gap:8px!important}
.setup-accordion{overflow:hidden;margin-bottom:10px!important;scroll-margin-top:92px}
.setup-accordion>summary{padding:17px 18px!important;background:#0e1a2c;transition:background .15s}
.setup-accordion>summary:hover{background:#122039}
.setup-accordion[open]>summary{border-bottom:1px solid var(--v2-line);background:#121f34}
.setup-accordion .accordion-body{padding:20px!important;background:#0b1626}
.setup-accordion .accordion-title h2{font-size:1.02rem!important}.setup-accordion .accordion-title p{font-size:.84rem!important;color:var(--v2-muted)!important}
.setup-help{border-radius:9px!important;background:#0e1a2b!important}.form-field input,.form-field select,.form-field textarea{border-radius:8px!important;background:#091524!important}
.toggle-row,.role-option,.discord-panel-publisher{border-radius:9px!important}

@media(max-width:1000px){
  .unified-sidebar.navigation-v3-sidebar{width:min(86vw,300px)}
  .portal-workspace{margin-left:0;padding:24px 18px 48px}
  .setup-v2-hero{grid-template-columns:1fr}.setup-v2-links{justify-content:flex-start}
}
@media(max-width:700px){
  body.signed-in .page-shell{padding-top:64px}.app-topbar{height:64px!important}
  .portal-workspace{padding:18px 14px 40px}.page-heading,.workspace-heading{align-items:flex-start;padding-bottom:16px;margin-bottom:18px}
  .page-heading h1,.workspace-heading h1{font-size:1.9rem}
  .portal-community-grid{grid-template-columns:1fr}.portal-roadmap-grid{grid-template-columns:1fr!important}
  .setup-v2-hero{padding:17px}.setup-v2-links{display:grid;grid-template-columns:1fr 1fr}.setup-v2-links a{text-align:center}
  .setup-accordion>summary{padding:14px!important}.setup-accordion .accordion-body{padding:15px!important}
}

/* GuildMesh V2 consistency pass, 12 August 2026 */
:root{
  --v2-radius-xs:8px;
  --v2-radius-sm:10px;
  --v2-radius:14px;
  --v2-radius-lg:18px;
  --v2-gradient:linear-gradient(135deg,#8b5cf6 0%,#765cff 48%,#38bdf8 100%);
  --v2-gradient-soft:linear-gradient(135deg,rgba(139,92,246,.16),rgba(56,189,248,.08));
}

/* The body already reserves topbar height. Do not add a second empty bar. */
body.signed-in .page-shell{padding-top:0!important}
body.signed-in .app-topbar{border-bottom-color:#24344d;background:rgba(7,16,29,.97)}
body.signed-in .app-topbar-left{min-width:170px}
body.signed-in .app-brand{display:flex!important;align-items:center;gap:10px;flex:none}
body.signed-in .app-brand-mark{width:34px!important;height:34px!important;border-radius:9px}
body.signed-in .app-brand-wordmark{width:auto!important;height:21px!important}
body.signed-in .app-menu-button{border-radius:var(--v2-radius-sm)!important}
body.signed-in .topbar-icon-button,body.signed-in .topbar-account{border-radius:var(--v2-radius-sm)!important}
body.signed-in .topbar-account img,.topbar-account-fallback{border-radius:9px!important}

/* Sidebar community switcher replaces the old topbar quick-connect control. */
.sidebar-community-switcher{position:relative;margin:0 2px 15px}
.sidebar-community-switcher>summary{list-style:none;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:10px;border:1px solid var(--v2-line);border-radius:var(--v2-radius);background:linear-gradient(135deg,#101d31,#0d1828);color:#fff;cursor:pointer}
.sidebar-community-switcher>summary::-webkit-details-marker{display:none}
.sidebar-community-switcher>summary>img,.sidebar-community-fallback,.sidebar-community-grid-icon{width:42px;height:42px;box-sizing:border-box;display:grid;place-items:center;object-fit:cover;border:1px solid #34445f;border-radius:11px;background:#171f32;color:#b99cff;font-weight:900}
.sidebar-community-switcher>summary strong,.sidebar-community-switcher>summary small,.sidebar-community-option strong,.sidebar-community-option small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-community-switcher>summary strong{font-size:.82rem}.sidebar-community-switcher>summary small{margin-top:3px;color:#8799b4;font-size:.66rem}.sidebar-community-switcher>summary>i{color:#9c8aff;font-style:normal;transition:transform .16s}.sidebar-community-switcher[open]>summary>i{transform:rotate(180deg)}
.sidebar-community-menu{display:grid;gap:5px;margin-top:7px;padding:7px;border:1px solid var(--v2-line);border-radius:var(--v2-radius);background:#0a1524;box-shadow:0 18px 38px rgba(0,0,0,.28)}
.sidebar-community-option{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:8px;border:1px solid transparent;border-radius:10px;color:#d9e3ef;text-decoration:none}.sidebar-community-option:hover,.sidebar-community-option.current{background:#121f33;border-color:#34445f}.sidebar-community-option img,.sidebar-community-option .sidebar-community-fallback,.sidebar-community-option .sidebar-community-grid-icon{width:36px;height:36px;border-radius:9px}.sidebar-community-option strong{font-size:.75rem}.sidebar-community-option small{margin-top:2px;color:#8194b0;font-size:.61rem}.sidebar-community-option>i{font-style:normal;color:#8d7dce}.sidebar-community-empty{margin:0;padding:10px;color:#8294ae;font-size:.72rem;line-height:1.45}.sidebar-community-option.all-communities{border-top:1px solid #263650;margin-top:2px}.global-switcher .sidebar-community-grid-icon{font-size:1.05rem}

/* Administration is intentionally prominent for admins. */
.navigation-v3 .administration-group{margin:2px 0 12px;padding:10px 0;border:1px solid rgba(139,92,246,.28);border-radius:var(--v2-radius);background:var(--v2-gradient-soft)}
.navigation-v3 .administration-group .navigation-group-title{color:#b9a7ff}

/* One visual language across all legacy and current modules. */
body.signed-in .panel,body.signed-in .surface-card,body.signed-in .accent-card,body.signed-in .stat-card,body.signed-in .server-stats,body.signed-in .setup-accordion,body.signed-in .setup-progress,body.signed-in .network-toolbar,body.signed-in .community-card,body.signed-in .empty-state,body.signed-in .profile-panel,body.signed-in .settings-panel,body.signed-in .community-hero,body.signed-in .server-picker-card,body.signed-in .connection-state,body.signed-in .character-card,body.signed-in .search-bar,body.signed-in .mythic-action-card,body.signed-in .mythic-metric,body.signed-in .mplus-card,body.signed-in .role-column,body.signed-in .raid-option-box,body.signed-in .recurrence-box,body.signed-in .signup-panel,body.signed-in .ticket-row,body.signed-in .reminder-editor,body.signed-in .discord-preview,body.signed-in .voice-channel-card,body.signed-in .giveaway-card,body.signed-in .event-card,body.signed-in .lfg-card,body.signed-in .raid-event-row,body.signed-in .raid-menu-grid>a,body.signed-in .public-raid-hero,body.signed-in .public-character-card,body.signed-in .player-directory-card,body.signed-in .public-profile-hero,body.signed-in .raider-card,body.signed-in .alliance-current,body.signed-in .alliance-proposal-card,body.signed-in .alliance-member-card,body.signed-in .community-search-bar,body.signed-in .message-permission-setting,body.signed-in .messages-sidebar,body.signed-in .message-conversation{
  border-radius:var(--v2-radius)!important;
  overflow:hidden;
}
body.signed-in .accent-card:before,body.signed-in .connected-card:before{display:none!important;content:none!important}
body.signed-in .community-card{border-left-width:1px!important}
body.signed-in .public-profile-hero,body.signed-in .public-raid-hero{border-left-width:1px!important}
body.signed-in .today-item,body.signed-in .attention-row,body.signed-in .your-activity-item,body.signed-in .dashboard-action-grid a,body.signed-in .dashboard-activity-item,body.signed-in .dashboard-upcoming-list a,body.signed-in .message-contact,body.signed-in .message-bubble div,body.signed-in .signup-player,body.signed-in .signup-roster,body.signed-in .activity-meta span,body.signed-in .community-card-meta span,body.signed-in .permission-chips span,body.signed-in .roster-card,body.signed-in .mplus-key-icon,body.signed-in .mythic-action-icon,body.signed-in .mythic-notice-icon,body.signed-in .section-symbol,body.signed-in .module-icon,body.signed-in .step-number,body.signed-in .progress-item>span,body.signed-in .server-stat-icon,body.signed-in .live-badge,body.signed-in .status,body.signed-in .count-pill{
  border-radius:var(--v2-radius-sm)!important;
}
body.signed-in img.character-avatar,body.signed-in .community-avatar,body.signed-in .leader-avatar,body.signed-in .signup-spec-icon,body.signed-in .raider-card-spec,body.signed-in .message-item img,body.signed-in .message-avatar-fallback,body.signed-in .message-contact>img,body.signed-in .message-contact>span{border-radius:10px!important}

/* Inputs and controls share spacing/radius everywhere. */
body.signed-in input:not([type=checkbox]):not([type=radio]):not([type=color]),body.signed-in select,body.signed-in textarea,body.signed-in .control-field,body.signed-in .handle-input,body.signed-in .input-suffix,body.signed-in .message-search button{
  border-radius:var(--v2-radius-sm)!important;
}
body.signed-in .toggle-row,body.signed-in .role-option,body.signed-in .discord-panel-publisher,body.signed-in .setup-help{border-radius:var(--v2-radius)!important}

/* Primary actions use the GuildMesh purple-to-blue identity; semantic actions keep meaning. */
body.signed-in .button:not(.button-secondary):not(.danger-button),body.signed-in .primary-button,body.signed-in button.primary-button,body.signed-in a.primary-button,body.signed-in .raid-submit{
  border:1px solid rgba(160,134,255,.38)!important;
  border-radius:var(--v2-radius-sm)!important;
  background:var(--v2-gradient)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(80,66,190,.16)!important;
}
body.signed-in .button:not(.button-secondary):not(.danger-button):hover,body.signed-in .primary-button:hover,body.signed-in .raid-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.signed-in .button-secondary,body.signed-in .secondary-button{border:1px solid #455878!important;border-radius:var(--v2-radius-sm)!important;background:linear-gradient(135deg,#16243a,#111c2f)!important;color:#dce6f6!important}
body.signed-in .button-secondary:hover,body.signed-in .secondary-button:hover{border-color:#8067e6!important;background:linear-gradient(135deg,#1d2a43,#1a203a)!important;color:#fff!important}
body.signed-in .danger-button,body.signed-in button.danger-button{border-radius:var(--v2-radius-sm)!important;background:linear-gradient(135deg,#4a1928,#7b2f45)!important;border-color:#90445b!important;color:#ffd8df!important}
body.signed-in button,body.signed-in a.button,body.signed-in .primary-button,body.signed-in .secondary-button,body.signed-in .danger-button{transition:filter .15s,transform .15s,border-color .15s,background .15s}

/* Drawers and modals now belong to the same rounded system. */
body.signed-in .message-drawer,body.signed-in .notification-drawer,body.signed-in .account-drawer{top:calc(var(--gm-topbar-height) + 10px)!important;right:10px!important;bottom:10px!important;border:1px solid #31415d!important;border-radius:var(--v2-radius-lg)!important;background:#0d1727!important;box-shadow:-18px 18px 55px rgba(0,0,0,.36)!important}
body.signed-in .message-close,body.signed-in .notification-close,body.signed-in .account-close,body.signed-in .message-compose-close{border-radius:var(--v2-radius-sm)!important}
body.signed-in .message-compose-card,body.signed-in .gm-dialog{border-radius:var(--v2-radius-lg)!important;overflow:hidden}
body.signed-in .message-player-results{border-radius:var(--v2-radius-sm)!important;overflow:hidden}
body.signed-in .account-drawer-link,body.signed-in .account-shortcut-grid>a,body.signed-in .account-shortcut-disabled,body.signed-in .account-drawer-empty,body.signed-in .account-signout,body.signed-in .drawer-footer-link,body.signed-in .drawer-compose-button{border-radius:var(--v2-radius-sm)!important}

/* Dashboard administration callout, shown only to admins by the template. */
.admin-setup-callout{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:17px;align-items:center;margin:16px 0 18px;padding:18px 20px;border:1px solid rgba(139,92,246,.42);border-radius:var(--v2-radius);background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(56,189,248,.06)),#0d1828}
.admin-setup-callout-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(139,92,246,.45);border-radius:14px;background:linear-gradient(135deg,#251d47,#132441);font-size:25px}.admin-setup-callout h2{margin:2px 0 4px;font-size:1.08rem}.admin-setup-callout p{margin:0;color:#98aac2;font-size:.84rem;line-height:1.5}.admin-setup-callout .button{white-space:nowrap}

/* Navigation and topbar typography now match page UI. */
.navigation-v3 .navigation-group-title{font-size:.69rem!important;letter-spacing:.12em!important}.navigation-v3 .nav-label{font-size:.86rem!important;font-weight:700!important}.navigation-v3 .nav-category-items>a{border-radius:var(--v2-radius-sm)!important;border-left:1px solid transparent!important}.navigation-v3 .nav-category-items>a.active{border-color:rgba(139,92,246,.42)!important;box-shadow:none!important}.navigation-v3 .nav-icon{border-radius:8px!important}

/* Remove remaining hard square module treatments without destroying semantic class-colour accents. */
body.signed-in .mplus-grid{gap:12px!important;background:transparent!important}.mplus-card{border:1px solid var(--v2-line)!important}.raid-menu-grid{gap:12px!important}.raid-event-list{gap:10px!important}.raid-event-row{border:1px solid var(--v2-line)!important}.role-column{border:1px solid var(--v2-line)!important}.signup-player{overflow:hidden}.signup-roster span{border-radius:8px!important}.inline-actions button{border-radius:var(--v2-radius-sm)!important}.mythic-action-card{border-left-width:1px!important}.mythic-metric{border-top-width:1px!important}.timezone-note,.raid-state-banner{border-left-width:1px!important;border-radius:var(--v2-radius-sm)!important}.today-item{border-radius:var(--v2-radius-sm)!important}.your-activity-item.unread{border-left-width:1px!important}

@media(max-width:900px){.admin-setup-callout{grid-template-columns:48px minmax(0,1fr)}.admin-setup-callout .button{grid-column:1/-1;width:100%}}
@media(max-width:680px){body.signed-in .app-brand{display:flex!important}.app-brand-wordmark{display:none!important}.app-topbar-left{min-width:auto!important}.message-drawer,.notification-drawer,.account-drawer{left:8px!important;right:8px!important;top:calc(var(--gm-topbar-height) + 8px)!important;bottom:8px!important;width:auto!important}.sidebar-community-switcher{margin-top:0}}


/* GuildMesh V2 portal-wide radius and interaction consistency, 12 August 2026 */
:root{--v2-control-radius:10px;--v2-card-radius:14px;--v2-large-radius:18px}

/* Administration uses the same sidebar treatment as every other group. */
.navigation-v3 .administration-group{margin:0 0 10px!important;padding:0 0 10px!important;border:0!important;border-bottom:1px solid rgba(38,54,80,.7)!important;border-radius:0!important;background:transparent!important}
.navigation-v3 .administration-group .navigation-group-title{color:#71839d!important}

/* Account/navigation icons use the same rounded treatment. */
body.signed-in .account-drawer-icon,body.signed-in .account-shortcut-icon,body.signed-in .sidebar-community-grid-icon,body.signed-in .navigation-v3 .nav-icon{border-radius:var(--v2-control-radius)!important}

/* Canonical control radius, broad by design to override legacy module CSS. */
body.signed-in button,body.signed-in select,body.signed-in textarea,
body.signed-in input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.signed-in a.button,body.signed-in .button,body.signed-in .primary-button,body.signed-in .secondary-button,body.signed-in .danger-button,
body.signed-in .status,body.signed-in .status-pill,body.signed-in .count-pill,body.signed-in .badge,body.signed-in .pill,
body.signed-in .dropdown,body.signed-in .dropdown-menu,body.signed-in [role="menu"],body.signed-in details>summary,
body.signed-in .message-search,body.signed-in .search-page-form,body.signed-in .search-result-card,
body.signed-in .raid-calendar,body.signed-in .calendar-grid,body.signed-in .calendar-day,body.signed-in .calendar-cell,
body.signed-in .manage-button,body.signed-in .raid-manage-button,body.signed-in .action-button,
body.signed-in .recruitment-toolbar,body.signed-in .recruitment-card,body.signed-in .recruitment-suggestions,body.signed-in .recruitment-suggestion,
body.signed-in .log-category,body.signed-in .log-events label,body.signed-in .log-master,body.signed-in .setup-help,
body.signed-in .server-stat-grid article,body.signed-in .server-stat-card,body.signed-in .dashboard-stat-card,
body.signed-in .alliance-member-card,body.signed-in .alliance-community-logo{
  border-radius:var(--v2-control-radius)!important;
}

/* Canonical card/container radius. */
body.signed-in .panel,body.signed-in .surface-card,body.signed-in .accent-card,body.signed-in .server-stats,
body.signed-in .setup-accordion,body.signed-in .setup-progress,body.signed-in .community-card,body.signed-in .profile-panel,
body.signed-in .settings-panel,body.signed-in .community-hero,body.signed-in .server-picker-card,body.signed-in .messages-sidebar,
body.signed-in .message-conversation,body.signed-in .recruitment-card,body.signed-in .raid-event-row,body.signed-in .mplus-card,
body.signed-in .mythic-action-card,body.signed-in .giveaway-card,body.signed-in .event-card,body.signed-in .lfg-card,
body.signed-in .voice-channel-card,body.signed-in .ticket-row,body.signed-in .discord-preview,body.signed-in .gm-dialog{
  border-radius:var(--v2-card-radius)!important;
}

/* Checkbox switches must be pill-shaped, not square. */
body.signed-in input.toggle-switch,body.signed-in .toggle-switch{border-radius:999px!important}
body.signed-in input.toggle-switch::before,body.signed-in .toggle-switch::before,body.signed-in input.toggle-switch::after,body.signed-in .toggle-switch::after{border-radius:50%!important}

/* Cards should shade on hover, never jump around. */
body.signed-in .player-directory-card:hover,body.signed-in .search-result-card:hover,body.signed-in .community-card:hover,
body.signed-in .recruitment-card:hover,body.signed-in .server-picker-card:hover,body.signed-in .mythic-action-card:hover,
body.signed-in .raid-menu-grid>a:hover{transform:none!important;background-color:#111f33!important}

/* Connected community logos. */
.alliance-community-logo{width:34px;height:34px;flex:0 0 34px;object-fit:cover;border:1px solid #3c4c68;background:#111c2d}

/* Public Guide, Terms and Privacy follow the same rounded V2 language. */
.standalone-public-page .gm-guide-nav a,.standalone-public-page .gm-public-nav a,
.standalone-public-page .gm-guide-updated,.standalone-public-page .gm-public-updated,
.standalone-public-page .gm-guide-search input,.standalone-public-page .gm-guide-search button,
.standalone-public-page .gm-guide-search-results,.standalone-public-page .gm-guide-search-result,
.standalone-public-page .gm-guide-main,.standalone-public-page .gm-guide-aside,
.standalone-public-page .gm-public-content,.standalone-public-page .gm-public-aside,
.standalone-public-page .gm-card,.standalone-public-page .gm-box,.standalone-public-page .gm-perm,
.standalone-public-page .gm-guide-image-card,.standalone-public-page .gm-guide-image-button,
.standalone-public-page .gm-guide-lightbox img,.standalone-public-page .gm-guide-lightbox-close,
.standalone-public-page .gm-practical,.standalone-public-page .gm-note{
  border-radius:var(--v2-control-radius)!important;
}
.standalone-public-page .gm-guide-main,.standalone-public-page .gm-guide-aside,
.standalone-public-page .gm-public-content,.standalone-public-page .gm-public-aside{border-radius:var(--v2-card-radius)!important;overflow:hidden}
.standalone-public-page .gm-step-no{border-radius:9px!important}

/* Known legacy containers that used hard square rules in page-scoped styles. */
body.signed-in .mythic-hub-nav a,body.signed-in .event-quick-actions a,body.signed-in .event-card,
body.signed-in .module-empty,body.signed-in .notification-card,body.signed-in .notification-card-icon,
body.signed-in .notification-toolbar a,body.signed-in .log-row,body.signed-in .log-settings,
body.signed-in .log-category-grid label,body.signed-in .access-denied-card,
body.signed-in .mythic-event-card,body.signed-in .mythic-create-panel,body.signed-in .mythic-roster-grid .role-column,
body.signed-in .mplus-card-head img,body.signed-in .mplus-key-icon,
body.signed-in .today-item,body.signed-in .today-icon,body.signed-in .attention-row,body.signed-in .your-activity-item,
body.signed-in .today-empty,body.signed-in .search-page-empty,body.signed-in .recruitment-meta span,
body.signed-in .recruitment-status,body.signed-in .recruitment-card-icon,body.signed-in .recruitment-suggestion-icon{
  border-radius:var(--v2-control-radius)!important;
}
body.signed-in .event-create-panel,body.signed-in .notification-card,body.signed-in .log-settings,
body.signed-in .access-denied-card,body.signed-in .mythic-event-card,body.signed-in .mythic-create-panel,
body.signed-in .module-empty{border-radius:var(--v2-card-radius)!important}

/* Keep square-only legacy accent bars from slicing through rounded cards. */
body.signed-in .notification-card.unread,body.signed-in .your-activity-item.unread{border-left-width:1px!important;box-shadow:inset 3px 0 0 var(--v2-purple)}
body.signed-in .log-colour{border-radius:999px!important}

/* Public community profiles use the same V2 language even when viewed signed out. */
.public-community-page .community-hero,.public-community-page .profile-panel,.public-community-page .alliance-member-card,
.public-community-page .leader-card,.public-community-page .community-card-meta span,.public-community-page .external-profile-link,
.public-community-page .primary-button,.public-community-page .secondary-button,.public-community-page .danger-button,
.public-community-page input,.public-community-page select,.public-community-page textarea,.gm-dialog{
  border-radius:var(--v2-control-radius)!important;
}
.public-community-page .community-hero,.public-community-page .profile-panel{border-radius:var(--v2-card-radius)!important;overflow:hidden}
.public-community-page .community-hero{border-top-width:1px!important}
.public-community-page .community-avatar,.public-community-page .leader-avatar{border-radius:12px!important;overflow:hidden}
.public-community-page .primary-button{background:var(--v2-gradient)!important;border-color:rgba(160,134,255,.38)!important;color:#fff!important}
.public-community-page .secondary-button{background:linear-gradient(135deg,#16243a,#111c2f)!important;border-color:#455878!important;color:#dce6f6!important}

/* V2 button edge correction, 12 August 2026.
   Semi-transparent borders over gradient backgrounds produced a coloured fringe
   around anti-aliased rounded edges. Keep the radius, but draw the keyline as
   an inset shadow so the gradient itself owns the full outer edge. */
body.signed-in .button:not(.button-secondary):not(.danger-button),
body.signed-in .primary-button,
body.signed-in button.primary-button,
body.signed-in a.primary-button,
body.signed-in .raid-submit,
.public-community-page .primary-button {
  border-color: transparent !important;
  background-clip: border-box !important;
  background-origin: border-box !important;
  overflow: hidden;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 8px 20px rgba(80,66,190,.16) !important;
}

/* Prevent legacy focus/border rules from re-introducing a coloured outer strip. */
body.signed-in .button:not(.button-secondary):not(.danger-button):focus,
body.signed-in .primary-button:focus,
body.signed-in .raid-submit:focus,
.public-community-page .primary-button:focus {
  border-color: transparent !important;
}

/* GuildMesh V2 final radius enforcement, 12 August 2026.
   This intentionally has higher specificity than page-scoped legacy styles so
   old border-radius:0 rules cannot reintroduce square controls. */
html body.signed-in .portal-app-shell > .portal-workspace button,
html body.signed-in .portal-app-shell > .portal-workspace select,
html body.signed-in .portal-app-shell > .portal-workspace textarea,
html body.signed-in .portal-app-shell > .portal-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body.signed-in .portal-app-shell > .portal-workspace .button,
html body.signed-in .portal-app-shell > .portal-workspace .primary-button,
html body.signed-in .portal-app-shell > .portal-workspace .secondary-button,
html body.signed-in .portal-app-shell > .portal-workspace .danger-button,
html body.signed-in .portal-app-shell > .portal-workspace [class*="-button"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-trigger"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-select"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-manage"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-action"] a,
html body.signed-in .portal-app-shell > .portal-workspace [class*="-action"] button,
html body.signed-in .portal-app-shell > .portal-workspace details > summary,
html body.signed-in .portal-app-shell > .portal-workspace .mythic-hub-nav a,
html body.signed-in .portal-app-shell > .portal-workspace .lfg-filter-bar a,
html body.signed-in .portal-app-shell > .portal-workspace .event-manage-tabs a,
html body.signed-in .portal-app-shell > .portal-workspace .raid-menu-grid > a,
html body.signed-in .portal-app-shell > .portal-workspace .raid-calendar-list > a {
  border-radius:var(--v2-control-radius)!important;
}

html body.signed-in .portal-app-shell > .portal-workspace .panel,
html body.signed-in .portal-app-shell > .portal-workspace .surface-card,
html body.signed-in .portal-app-shell > .portal-workspace .accent-card,
html body.signed-in .portal-app-shell > .portal-workspace .server-stats,
html body.signed-in .portal-app-shell > .portal-workspace .access-role-panel,
html body.signed-in .portal-app-shell > .portal-workspace .access-module-card,
html body.signed-in .portal-app-shell > .portal-workspace .access-locked-panel,
html body.signed-in .portal-app-shell > .portal-workspace .log-settings-card,
html body.signed-in .portal-app-shell > .portal-workspace .log-category,
html body.signed-in .portal-app-shell > .portal-workspace .raid-dashboard-panel,
html body.signed-in .portal-app-shell > .portal-workspace .raid-event-row,
html body.signed-in .portal-app-shell > .portal-workspace .raid-empty-state,
html body.signed-in .portal-app-shell > .portal-workspace .raid-option-box,
html body.signed-in .portal-app-shell > .portal-workspace .raid-visibility-box,
html body.signed-in .portal-app-shell > .portal-workspace .raid-role-select-menu,
html body.signed-in .portal-app-shell > .portal-workspace .reminder-select-menu,
html body.signed-in .portal-app-shell > .portal-workspace .signup-player,
html body.signed-in .portal-app-shell > .portal-workspace .raider-card,
html body.signed-in .portal-app-shell > .portal-workspace .role-column,
html body.signed-in .portal-app-shell > .portal-workspace .mythic-event-card,
html body.signed-in .portal-app-shell > .portal-workspace .mythic-create-panel,
html body.signed-in .portal-app-shell > .portal-workspace .team-card,
html body.signed-in .portal-app-shell > .portal-workspace .seeker-card,
html body.signed-in .portal-app-shell > .portal-workspace .invite-box,
html body.signed-in .portal-app-shell > .portal-workspace .lfg-card,
html body.signed-in .portal-app-shell > .portal-workspace .event-card,
html body.signed-in .portal-app-shell > .portal-workspace .event-create-panel,
html body.signed-in .portal-app-shell > .portal-workspace .module-empty,
html body.signed-in .portal-app-shell > .portal-workspace .notification-card,
html body.signed-in .portal-app-shell > .portal-workspace .log-row,
html body.signed-in .portal-app-shell > .portal-workspace .community-card,
html body.signed-in .portal-app-shell > .portal-workspace .network-activity-card,
html body.signed-in .portal-app-shell > .portal-workspace .gm-network-panel,
html body.signed-in .portal-app-shell > .portal-workspace .gm-community-card,
html body.signed-in .portal-app-shell > .portal-workspace .gm-proposal-card {
  border-radius:var(--v2-card-radius)!important;
  overflow:hidden;
}

/* Smaller bordered elements should still follow the same radius family. */
html body.signed-in .portal-app-shell > .portal-workspace .access-role-option,
html body.signed-in .portal-app-shell > .portal-workspace .access-module-icon,
html body.signed-in .portal-app-shell > .portal-workspace .log-events label,
html body.signed-in .portal-app-shell > .portal-workspace .log-category-grid label,
html body.signed-in .portal-app-shell > .portal-workspace .raid-role-select-trigger,
html body.signed-in .portal-app-shell > .portal-workspace .reminder-select-trigger,
html body.signed-in .portal-app-shell > .portal-workspace .visibility-choice,
html body.signed-in .portal-app-shell > .portal-workspace .check-line,
html body.signed-in .portal-app-shell > .portal-workspace .mythic-role-choice,
html body.signed-in .portal-app-shell > .portal-workspace .team-status,
html body.signed-in .portal-app-shell > .portal-workspace .team-score span,
html body.signed-in .portal-app-shell > .portal-workspace .roster-role,
html body.signed-in .portal-app-shell > .portal-workspace .score-boxes span,
html body.signed-in .portal-app-shell > .portal-workspace .activity-stat-grid article,
html body.signed-in .portal-app-shell > .portal-workspace .activity-row,
html body.signed-in .portal-app-shell > .portal-workspace .request-row,
html body.signed-in .portal-app-shell > .portal-workspace .seeker-actions > a,
html body.signed-in .portal-app-shell > .portal-workspace .invite-row,
html body.signed-in .portal-app-shell > .portal-workspace .lfg-role,
html body.signed-in .portal-app-shell > .portal-workspace .lfg-member,
html body.signed-in .portal-app-shell > .portal-workspace .notification-card-icon,
html body.signed-in .portal-app-shell > .portal-workspace .notification-toolbar a,
html body.signed-in .portal-app-shell > .portal-workspace .activity-kind-icon,
html body.signed-in .portal-app-shell > .portal-workspace .activity-card-meta span,
html body.signed-in .portal-app-shell > .portal-workspace .gm-sharing-summary span,
html body.signed-in .portal-app-shell > .portal-workspace .gm-you-pill,
html body.signed-in .portal-app-shell > .portal-workspace .gm-status-pill,
html body.signed-in .portal-app-shell > .portal-workspace .craft-pill,
html body.signed-in .portal-app-shell > .portal-workspace .craft-info,
html body.signed-in .portal-app-shell > .portal-workspace .voice-pill,
html body.signed-in .portal-app-shell > .portal-workspace .today-icon,
html body.signed-in .portal-app-shell > .portal-workspace .today-item,
html body.signed-in .portal-app-shell > .portal-workspace .attention-row,
html body.signed-in .portal-app-shell > .portal-workspace .your-activity-item {
  border-radius:var(--v2-control-radius)!important;
}

/* Native checkboxes stay square, toggle switches stay true pills. */
html body.signed-in .portal-app-shell > .portal-workspace input[type="checkbox"].toggle-switch,
html body.signed-in .portal-app-shell > .portal-workspace .toggle-switch {
  border-radius:999px!important;
}

/* Public legal/help pages use the same radius system even though they are signed out. */
html body.standalone-public-page .gm-public-page .gm-public-nav a,
html body.standalone-public-page .gm-public-page .gm-public-updated,
html body.standalone-public-page .gm-public-page .gm-public-content,
html body.standalone-public-page .gm-public-page .gm-public-aside,
html body.standalone-public-page .gm-public-page .gm-note,
html body.standalone-public-page .gm-public-page .gm-warning,
html body.standalone-public-page .gm-public-page .gm-success,
html body.standalone-public-page .gm-public-page .gm-step-card,
html body.standalone-public-page .gm-guide-page .gm-guide-nav a,
html body.standalone-public-page .gm-guide-page .gm-guide-search input,
html body.standalone-public-page .gm-guide-page .gm-guide-search button,
html body.standalone-public-page .gm-guide-page .gm-card,
html body.standalone-public-page .gm-guide-page .gm-box,
html body.standalone-public-page .gm-guide-page .gm-guide-image-card,
html body.standalone-public-page .gm-guide-page .gm-guide-image-button,
html body.standalone-public-page .gm-guide-page .gm-guide-lightbox-close {
  border-radius:var(--v2-control-radius)!important;
}
html body.standalone-public-page .gm-public-page .gm-public-content,
html body.standalone-public-page .gm-public-page .gm-public-aside,
html body.standalone-public-page .gm-guide-page .gm-guide-main,
html body.standalone-public-page .gm-guide-page .gm-guide-aside {
  border-radius:var(--v2-card-radius)!important;
  overflow:hidden;
}


/* GuildMesh V2 surface catch-up, 12 August 2026.
   Some legacy screens use <section class="portal-workspace"> rather than <main>,
   and bespoke bordered components that are not named .panel/.card. Keep every
   visible bordered surface in the same rounded family without changing layout. */
html body.signed-in .portal-app-shell > .portal-workspace .recruitment-tabs a,
html body.signed-in .portal-app-shell > .portal-workspace .craft-character-preview,
html body.signed-in .portal-app-shell > .portal-workspace .craft-quality-choice > span,
html body.signed-in .portal-app-shell > .portal-workspace .craft-screenshot-preview,
html body.signed-in .portal-app-shell > .portal-workspace .community-chip,
html body.signed-in .portal-app-shell > .portal-workspace .activity-kind-icon,
html body.signed-in .portal-app-shell > .portal-workspace .activity-card-meta > span,
html body.signed-in .portal-app-shell > .portal-workspace .voice-control-row,
html body.signed-in .portal-app-shell > .portal-workspace .voice-help-list > li,
html body.signed-in .portal-app-shell > .portal-workspace .reminder-message,
html body.signed-in .portal-app-shell > .portal-workspace .reminder-meta,
html body.signed-in .portal-app-shell > .portal-workspace .invite-request-list,
html body.signed-in .portal-app-shell > .portal-workspace .invite-request-card,
html body.signed-in .portal-app-shell > .portal-workspace .mythic-empty-state,
html body.signed-in .portal-app-shell > .portal-workspace .gm-sharing-settings,
html body.signed-in .portal-app-shell > .portal-workspace .gm-community-search-control > label,
html body.signed-in .portal-app-shell > .portal-workspace .gm-community-search-results,
html body.signed-in .portal-app-shell > .portal-workspace .empty-state,
html body.signed-in .portal-app-shell > .portal-workspace .checkbox-row,
html body.signed-in .portal-app-shell > .portal-workspace .handle-input,
html body.signed-in .portal-app-shell > .portal-workspace .import-status {
  border-radius:var(--v2-control-radius)!important;
}

/* Catch legacy named surfaces that still draw their own border/background. */
html body.signed-in .portal-app-shell > .portal-workspace [class*="-card"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-panel"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-box"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-empty"] {
  border-radius:var(--v2-card-radius)!important;
}

/* Interactive bordered choices and controls use the smaller control radius. */
html body.signed-in .portal-app-shell > .portal-workspace [class*="-choice"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-control"],
html body.signed-in .portal-app-shell > .portal-workspace [class*="-tab"] > a,
html body.signed-in .portal-app-shell > .portal-workspace [class*="-tabs"] > a {
  border-radius:var(--v2-control-radius)!important;
}

/* GuildMesh V2 consistency catch-up, 12 August 2026.
   Target the remaining bespoke legacy surfaces reported in live testing. */
html .gm-cookie-notice .gm-cookie-dismiss{
  border-radius:var(--v2-control-radius,12px)!important;
}

/* Community directory and public profile. */
html body.signed-in .community-directory-page .recruitment-pill,
html body.signed-in .community-directory-page .community-search-bar,
html body.signed-in .community-directory-page .community-search-bar input,
html .public-community-page .rio-progression-row,
html .public-community-page .rio-progress-badges span,
html body.signed-in .server-profile-settings .rio-progression-row,
html body.signed-in .server-profile-settings .rio-progress-badges span{
  border-radius:var(--v2-control-radius)!important;
}
html .public-community-page .rio-progression-row,
html body.signed-in .server-profile-settings .rio-progression-row{
  overflow:hidden;
}

/* Player directory, rounded search/filter shell and clean status cards. */
html body.signed-in .player-search.player-directory-search,
html body.signed-in .player-search.player-directory-search label,
html body.signed-in .player-search.player-directory-search select,
html body.signed-in .player-directory-card-polished .directory-card-avatar,
html body.signed-in .directory-summary{
  border-radius:var(--v2-control-radius)!important;
}
html body.signed-in .player-directory-grid.player-directory-grid-polished{
  border-top:0!important;
  gap:8px!important;
}
html body.signed-in .player-directory-grid-polished > .player-directory-card.player-directory-card-polished{
  border:1px solid #293851!important;
  border-left:4px solid #68758d!important;
  border-radius:var(--v2-control-radius)!important;
  background:#0d1728!important;
}
html body.signed-in .player-directory-grid-polished > .player-directory-card.player-directory-card-polished.presence-online{border-left-color:#43b581!important}
html body.signed-in .player-directory-grid-polished > .player-directory-card.player-directory-card-polished.presence-idle{border-left-color:#faa61a!important}
html body.signed-in .player-directory-grid-polished > .player-directory-card.player-directory-card-polished.presence-dnd{border-left-color:#f04747!important}
html body.signed-in .player-directory-grid-polished > .player-directory-card.player-directory-card-polished.presence-offline{border-left-color:#68758d!important}

/* Raid/event management history and compact counters/actions. */
html body.signed-in .event-history-list > div,
html body.signed-in .raid-dashboard-panel .raid-event-count,
html body.signed-in .raid-dashboard-panel .raid-event-manage,
html body.signed-in .raid-calendar-list > a,
html body.signed-in .calendar-date{
  border-radius:var(--v2-control-radius)!important;
}

/* Network/public activities and reminder state labels. */
html body.signed-in .activity-feed-page .activity-scope,
html body.signed-in .activity-feed-page .community-chip,
html body.signed-in .activity-feed-page .activity-kind-icon,
html body.signed-in .activity-feed-page .activity-card-meta span,
html body.signed-in .reminder-status{
  border-radius:var(--v2-control-radius)!important;
}
html body.signed-in .activity-feed-page .network-activity-card{
  border-radius:var(--v2-card-radius)!important;
  overflow:hidden;
}

/* Favourite community controls and sidebar quick switch. */
.server-picker-card{position:relative}
.community-favourite-form{position:absolute;top:14px;right:14px;margin:0;z-index:2}
html body.signed-in .community-favourite-button{
  width:38px;height:38px;padding:0!important;display:grid;place-items:center;
  border:1px solid #3b4d6b!important;border-radius:50%!important;
  background:#101a2d!important;color:#aebbd0!important;
  font-size:20px!important;line-height:1!important;cursor:pointer;
  box-shadow:none!important;
}
html body.signed-in .community-favourite-button:hover{background:#17243a!important;color:#fff!important;border-color:#765cff!important}
html body.signed-in .community-favourite-button.is-favourite{color:#ff5f8f!important;border-color:#c14f76!important;background:#2b1420!important}
.sidebar-favourites-switcher{margin-bottom:8px}
.sidebar-favourite-heart{
  width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;
  border:1px solid #654169;border-radius:var(--v2-control-radius)!important;
  background:#241526;color:#ff79b0;font-size:16px;
}
.sidebar-favourites-switcher .sidebar-community-option img,
.sidebar-favourites-switcher .sidebar-community-fallback{
  border-radius:var(--v2-control-radius)!important;
}

/* Favourite/community identity, sidebar reliability */
.sidebar-current-community-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 14px;
  align-items:center;
  gap:11px;
  margin:0 2px 10px;
  padding:10px;
  border:1px solid var(--v2-line);
  border-radius:var(--v2-radius);
  background:linear-gradient(135deg,#101d31,#0d1828);
  color:#fff;
  text-decoration:none;
}
.sidebar-current-community-card:hover{
  border-color:#5f55a7;
  background:linear-gradient(135deg,#14223a,#101c31);
}
.sidebar-current-community-card img,
.sidebar-current-community-card>.sidebar-community-fallback{
  width:42px;
  height:42px;
  border-radius:11px;
  object-fit:cover;
}
.sidebar-current-community-card strong,
.sidebar-current-community-card small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sidebar-current-community-card strong{font-size:.82rem}
.sidebar-current-community-card small{margin-top:3px;color:#8799b4;font-size:.66rem}
.sidebar-current-community-card>i{color:#4ade80;font-size:.55rem;font-style:normal}
.sidebar-favourites-host[hidden]{display:none!important}
.sidebar-favourites-host{margin-bottom:8px}
.sidebar-favourites-host .sidebar-community-switcher{margin-bottom:0}

/* Favourite community UX refinement: protect long names and merge the community switcher. */
.server-picker-card.connected-card .server-picker-top{
  padding-right:52px;
}
.server-picker-card .server-picker-copy{
  min-width:0;
}
.server-picker-card .server-picker-copy h2{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html body.signed-in .community-favourite-button{
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease,opacity .14s ease;
}
html body.signed-in .community-favourite-button:active{
  transform:scale(.92);
}
html body.signed-in .community-favourite-button.is-saving{
  opacity:.72;
}

.sidebar-current-community-switcher{
  margin:0 2px 10px;
}
.sidebar-current-community-switcher > summary.sidebar-current-community-card{
  margin:0;
  list-style:none;
  cursor:pointer;
}
.sidebar-current-community-switcher > summary.sidebar-current-community-card::-webkit-details-marker{
  display:none;
}
.sidebar-current-community-switcher[open] > summary.sidebar-current-community-card{
  border-color:#6d5ce7;
  background:linear-gradient(135deg,#14223a,#101c31);
}
.sidebar-current-community-switcher .sidebar-switch-chevron{
  color:#8f7cff;
  font-size:.82rem;
  transition:transform .16s ease;
}
.sidebar-current-community-switcher[open] .sidebar-switch-chevron{
  transform:rotate(180deg);
}
.sidebar-current-community-menu{
  margin-top:7px;
}
.sidebar-current-community-menu > [data-favourite-community-list]:empty{
  display:none;
}
.sidebar-current-community-menu .sidebar-community-empty{
  margin:0;
}

/* Reliable current-community switcher: the identity card always renders; JS only toggles its menu. */
.sidebar-current-community-switcher{
  display:block!important;
  margin:0 2px 10px!important;
}
.sidebar-current-community-switcher > button.sidebar-current-community-card{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  margin:0!important;
  text-align:left;
  font:inherit;
  cursor:pointer;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:11px!important;
  padding:10px!important;
  border:1px solid var(--v2-line)!important;
  border-radius:var(--v2-radius)!important;
  background:linear-gradient(135deg,#101d31,#0d1828)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.sidebar-current-community-switcher > button.sidebar-current-community-card:hover,
.sidebar-current-community-switcher.is-open > button.sidebar-current-community-card{
  border-color:#6d5ce7!important;
  background:linear-gradient(135deg,#14223a,#101c31)!important;
}
.sidebar-current-community-switcher > button.sidebar-current-community-card .sidebar-switch-chevron{
  color:#8f7cff!important;
  font-size:.82rem!important;
  font-style:normal!important;
  transition:transform .16s ease;
}
.sidebar-current-community-switcher.is-open > button.sidebar-current-community-card .sidebar-switch-chevron{
  transform:rotate(180deg);
}
.sidebar-current-community-switcher [data-community-switcher-menu][hidden]{display:none!important}
.sidebar-current-community-switcher [data-community-switcher-menu]{display:block}

/* GuildMesh shell polish, 12 August 2026
   Fix short-page overflow, soften shell dividers and stabilise drawers. */
body.signed-in > .page-shell{
  min-height:calc(100vh - var(--gm-topbar-height))!important;
  min-height:calc(100dvh - var(--gm-topbar-height))!important;
}
body.signed-in .portal-app-shell{
  min-height:calc(100vh - var(--gm-topbar-height))!important;
  min-height:calc(100dvh - var(--gm-topbar-height))!important;
}

/* Replace hard square shell rules with subtle, fading separators. */
body.signed-in .app-topbar{
  border-bottom:0!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}
body.signed-in .app-topbar::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(139,92,246,.24) 20%,rgba(56,189,248,.18) 80%,transparent);
}
body.signed-in .unified-sidebar.navigation-v3-sidebar{
  border-right:0!important;
  box-shadow:12px 0 30px rgba(0,0,0,.12),inset -1px 0 0 rgba(91,116,155,.14)!important;
}
.navigation-v3 .navigation-group{
  position:relative;
  border-bottom:0!important;
}
.navigation-v3 .navigation-group:not(:last-child)::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(91,116,155,.28) 18%,rgba(91,116,155,.28) 82%,transparent);
}
body.signed-in .sidebar-product{
  position:relative;
  border-top:0!important;
}
body.signed-in .sidebar-product::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(91,116,155,.28),transparent);
}

/* Drawers remain a rounded floating surface without changing page width/scroll state. */
body.signed-in.account-open{
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.signed-in.messages-open::before,
body.signed-in.notifications-open::before,
body.signed-in.account-open::before{
  content:"";
  position:fixed;
  z-index:1300;
  top:var(--gm-topbar-height);
  right:0;
  bottom:0;
  left:0;
  background:rgba(3,8,16,.28);
  backdrop-filter:blur(1px);
  pointer-events:none;
}
body.signed-in .message-drawer,
body.signed-in .notification-drawer,
body.signed-in .account-drawer{
  right:12px!important;
  bottom:12px!important;
  border:1px solid #31415d!important;
  border-radius:var(--v2-radius-lg)!important;
  box-shadow:-16px 18px 48px rgba(0,0,0,.34)!important;
}

@media(max-width:700px){
  body.signed-in > .page-shell,
  body.signed-in .portal-app-shell{
    min-height:calc(100vh - var(--gm-topbar-height))!important;
    min-height:calc(100dvh - var(--gm-topbar-height))!important;
  }
  body.signed-in .message-drawer,
  body.signed-in .notification-drawer,
  body.signed-in .account-drawer{
    right:8px!important;
    bottom:8px!important;
  }
}

/* Unified activity discovery */
.activity-host-strip{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(117,134,166,.24);border-radius:14px;background:rgba(10,20,36,.42)}
.activity-host-strip img{width:36px;height:36px;border-radius:10px;object-fit:cover}
.activity-host-strip>span{display:grid;gap:2px;min-width:0}.activity-host-strip small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.activity-host-strip a,.activity-host-strip strong{color:#fff;font-weight:800;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-host-strip a:hover{color:#bdaeff}
.activity-host-heading{display:flex;align-items:center;gap:10px;margin:16px 0 10px;padding:10px 12px;border-radius:14px;background:rgba(118,87,216,.08);border:1px solid rgba(118,87,216,.2)}.activity-host-heading img{width:34px;height:34px;border-radius:10px;object-fit:cover}.activity-host-heading>span{display:grid}.activity-host-heading small{color:var(--muted)}.activity-host-heading a{font-weight:900;text-decoration:none}
.activity-feed-page .network-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:18px;padding:16px}.activity-feed-page .network-toolbar label{display:grid;gap:8px;min-width:min(360px,100%)}
.activity-feed-page .activity-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.activity-feed-page .network-activity-card{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:18px}.activity-feed-page .network-activity-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.activity-feed-page .activity-kind{font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#c8bbff}.activity-feed-page .network-activity-card h2{margin:0}.activity-feed-page .network-activity-card h2 a{text-decoration:none}.activity-feed-page .activity-description{color:var(--muted);line-height:1.5}.activity-feed-page .activity-time{color:#b8c8e1}.public-activity-signup{display:grid;gap:10px;margin-top:auto}.public-activity-signup>div{display:flex;flex-wrap:wrap;gap:8px}.public-activity-signup button{border-radius:12px!important}
@media(max-width:1100px){.activity-feed-page .activity-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.activity-feed-page .activity-card-grid{grid-template-columns:1fr}.activity-feed-page .network-toolbar{align-items:stretch;flex-direction:column}}

/* Public activities empty-state spacing, 12 August 2026 */
body.signed-in .activity-feed-page .module-empty{
  padding:24px!important;
}
body.signed-in .activity-feed-page .module-empty > :first-child{margin-top:0}
body.signed-in .activity-feed-page .module-empty > :last-child{margin-bottom:0}


/* Patch 14 product polish
   Keep the persistent navigation shell square; rounded floating treatment belongs to drawers only. */
@media (min-width:1025px){
  body.signed-in .portal-app-shell > .unified-sidebar.navigation-v3-sidebar,
  body.signed-in.global-context .global-drawer-sidebar.navigation-v3-sidebar,
  body.signed-in.community-context .unified-sidebar.navigation-v3-sidebar{
    border-radius:0!important;
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
    overflow-x:hidden!important;
    background-clip:border-box!important;
  }
}
.product-start-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 26px;
}
.product-start-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:190px;
  padding:20px!important;
}
.product-start-card h2{margin:7px 0 8px;font-size:1.08rem}
.product-start-card p{margin:0 0 18px;color:var(--v2-muted);font-size:.86rem;line-height:1.55}
.product-start-card>.button,.product-start-card>.section-actions{margin-top:auto}
.product-empty-state{padding:28px!important;text-align:left!important}
.product-empty-state p{max-width:720px}
@media(max-width:900px){.product-start-grid{grid-template-columns:1fr}}


/* Patch 14.1 visual fixes
   Closed floating drawers must clear the viewport completely, otherwise their
   rounded left edge remains visible as a sliver at the far right. */
body.signed-in .message-drawer,
body.signed-in .notification-drawer,
body.signed-in .account-drawer{
  transform:translateX(calc(100% + 40px))!important;
}
body.signed-in.messages-open .message-drawer,
body.signed-in.notifications-open .notification-drawer,
body.signed-in.account-open .account-drawer{
  transform:translateX(0)!important;
}

/* Product discovery actions need an explicit gap; legacy section-actions rules
   otherwise allow adjacent button borders to touch. */
.product-start-card .section-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
.product-start-card .section-actions .button{
  margin:0!important;
}
