@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --pink:#d41367;
  --pink-2:#da4271;
  --blue:#488ddb;
  --blue-2:#5596de;
  --powder:#b9d9eb;
  --ink:#252a31;
  --ink-2:#343b45;
  --muted:#717986;
  --line:#dde3eb;
  --soft:#f4f7fb;
  --soft-blue:#edf6fb;
  --white:#fff;
  --shadow:0 18px 50px rgba(36,42,49,.10);
  --radius:18px;
  --sidebar:292px;
}

*{box-sizing:border-box}
html{font-family:Montserrat,Arial,sans-serif;background:var(--soft);color:var(--ink)}
body{margin:0;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
code{font-family:Consolas,monospace;font-size:.82rem}
[hidden]{display:none!important}
.eyebrow{margin:0 0 8px;color:var(--pink);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

.portal-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.portal-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px;background:var(--ink);color:#fff;overflow-y:auto}
.sidebar-brand,.auth-brand{display:flex;gap:12px;align-items:center}
.portal-logo-mark{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:50%;position:relative;background:linear-gradient(135deg,var(--pink),var(--pink-2) 52%,var(--blue));box-shadow:0 8px 22px rgba(212,19,103,.24)}
.portal-logo-mark::before,.portal-logo-mark::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.portal-logo-mark::before{inset:7px}
.portal-logo-mark::after{inset:12px}
.portal-logo-mark span{position:relative;z-index:2;color:#fff;font-weight:800;font-size:1.18rem}
.portal-logo-copy strong,.auth-brand strong{display:block;font-size:.94rem;letter-spacing:.02em}
.portal-logo-copy span,.auth-brand span{display:block;margin-top:2px;color:rgba(255,255,255,.58);font-size:.68rem}

.sidebar-nav{display:grid;gap:22px;margin-top:30px;padding-bottom:24px}
.nav-section{display:grid;gap:4px}
.nav-section-title{padding:0 12px 7px;color:rgba(255,255,255,.34);font-size:.60rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sidebar-nav a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:10px 12px;border-radius:11px;color:rgba(255,255,255,.70);font-size:.77rem;font-weight:600}
.sidebar-nav a:hover,.sidebar-nav a.is-active{color:#fff;background:rgba(255,255,255,.08)}
.sidebar-nav a.is-active{box-shadow:inset 3px 0 0 var(--pink)}
.nav-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--powder);font-size:.72rem;font-weight:800}
.sidebar-footer{margin-top:auto;display:flex;justify-content:space-between;gap:10px;padding:17px 10px 2px;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.45);font-size:.64rem}
.sidebar-footer a{color:var(--powder)}

.portal-main{min-width:0}
.portal-topbar{position:sticky;top:0;z-index:30;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:16px}
.topbar-left h1{margin:2px 0 0;font-size:1.33rem;letter-spacing:-.035em}
.topbar-kicker{color:var(--pink);font-size:.61rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff}

.portal-clock{min-width:150px;padding-right:16px;border-right:1px solid var(--line);text-align:right}
.clock-label{display:inline-block;margin-right:6px;color:var(--pink);font-size:.55rem;font-weight:800;letter-spacing:.08em}
.portal-clock strong{font-size:.80rem}
.portal-clock small{display:block;margin-top:2px;color:var(--muted);font-size:.61rem}

.notification-wrap{position:relative}
.notification-button{position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff}
.notification-icon{font-size:1.15rem;transform:rotate(45deg)}
.notification-count{position:absolute;right:-3px;top:-3px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border:2px solid #fff;border-radius:999px;color:#fff;background:var(--pink);font-size:.56rem;font-weight:800}
.notification-popover{position:absolute;right:0;top:54px;width:min(390px,calc(100vw - 28px));border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.notification-popover-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}
.notification-popover-head strong{display:block;font-size:.88rem}
.notification-popover-head>span{color:var(--muted);font-size:.67rem}
.notification-list{max-height:380px;overflow:auto}
.notification-list article{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}
.notification-list article:last-child{border-bottom:0}
.notification-list article.is-unread{background:#fff8fb}
.notification-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#c8ced7}
.notification-list .is-unread .notification-dot{background:var(--pink)}
.notification-list strong{font-size:.76rem}
.notification-list p{margin:4px 0;color:var(--muted);font-size:.70rem;line-height:1.45}
.notification-list time{color:#9aa1aa;font-size:.60rem}
.notification-empty{padding:24px;color:var(--muted);font-size:.75rem;text-align:center}

.user-menu{display:flex;align-items:center;gap:10px}
.user-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:.82rem;font-weight:800}
.user-copy{text-align:left}
.user-copy strong,.user-copy span{display:block}
.user-copy strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
.user-copy span{max-width:150px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.59rem}
.user-menu>a{margin-left:4px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--pink);font-size:.65rem;font-weight:700}

.portal-content{width:min(1450px,100%);margin:auto;padding:34px}
.flash{margin-bottom:18px;padding:13px 16px;border-radius:12px;font-size:.80rem}
.flash-success{color:#0f6c45;background:#e8f7f0;border:1px solid #bee9d6}
.flash-error{color:#9b233e;background:#fff0f4;border:1px solid #f6c7d4}
.flash-warning{color:#7a5a16;background:#fff7df;border:1px solid #f1dda6}

.dashboard-hero,.page-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px}
.dashboard-hero h2,.page-intro h2{margin:0;font-size:clamp(1.95rem,3vw,2.85rem);line-height:1.04;letter-spacing:-.045em}
.dashboard-hero p:last-child,.page-intro p:last-child{max-width:780px;color:var(--muted);line-height:1.65}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.70rem;font-weight:700;white-space:nowrap}
.status-pill span{width:8px;height:8px;border-radius:50%;background:#22a06b}

.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px}
.workspace-card{position:relative;min-height:245px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border-radius:24px;overflow:hidden;color:#fff}
.workspace-card::after{content:"";position:absolute;width:240px;height:240px;right:-90px;top:-100px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.workspace-web{background:linear-gradient(140deg,var(--pink),var(--pink-2) 55%,#a34a99)}
.workspace-club{background:linear-gradient(140deg,#2d3540,#374451 55%,var(--blue))}
.workspace-card-top{display:flex;justify-content:space-between;gap:16px;color:rgba(255,255,255,.74);font-size:.67rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.workspace-card h3{margin:0 0 8px;font-size:2rem;letter-spacing:-.04em}
.workspace-card p{max-width:540px;margin:0;color:rgba(255,255,255,.78);font-size:.80rem;line-height:1.6}
.workspace-arrow{font-size:1.7rem;align-self:flex-end}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric-card{min-height:148px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.metric-card>span{color:var(--muted);font-size:.70rem;font-weight:700}
.metric-card strong{margin:auto 0 6px;color:var(--pink);font-size:2.15rem}
.metric-card small{color:var(--muted);font-size:.66rem;line-height:1.4}

.panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}
.panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.panel-heading h2{margin:0;font-size:1.25rem}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quick-grid a{padding:16px;border:1px solid var(--line);border-radius:13px}
.quick-grid a:hover{background:var(--soft)}
.quick-grid strong,.quick-grid span{display:block}
.quick-grid strong{font-size:.78rem}
.quick-grid span{margin-top:4px;color:var(--muted);font-size:.68rem}
.role-chip-list{display:flex;flex-wrap:wrap;gap:8px}
.role-chip-list span{padding:8px 10px;border-radius:999px;color:#8d1f4f;background:#fff0f6;font-size:.65rem;font-weight:700}
.panel-note{margin:18px 0 0;color:var(--muted);font-size:.72rem;line-height:1.55}

.dashboard-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.dashboard-module-grid a{min-height:165px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.dashboard-module-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(36,42,49,.06)}
.dashboard-module-grid span{color:var(--pink);font-size:.65rem;font-weight:800}
.dashboard-module-grid strong{margin:auto 0 5px;font-size:1.05rem}
.dashboard-module-grid small{color:var(--muted);font-size:.68rem;line-height:1.45}
.club-module-grid a:nth-child(3n+2){border-top:3px solid var(--blue)}
.club-module-grid a:nth-child(3n+3){border-top:3px solid var(--powder)}

.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:999px;font-weight:700;font-size:.78rem}
.button-primary{border:0;color:#fff;background:var(--pink)}
.button-secondary{border:1px solid var(--line);color:var(--ink);background:#fff}
.button-primary:disabled{opacity:.45;cursor:not-allowed}
.button-link{text-decoration:none}

.module-placeholder{min-height:360px;display:flex;align-items:center;justify-content:center;gap:24px}
.placeholder-icon{width:90px;height:90px;display:grid;place-items:center;border-radius:28px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:2.15rem;font-weight:800}
.module-placeholder h2{margin:0 0 8px}
.module-placeholder p{max-width:680px;margin:0;color:var(--muted);line-height:1.6}

.table-panel{padding:0;overflow:hidden}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:.74rem;white-space:nowrap}
th{color:var(--muted);background:#fafbfd;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}

.auth-shell,.setup-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:
radial-gradient(circle at 15% 15%,rgba(212,19,103,.12),transparent 30rem),
radial-gradient(circle at 85% 10%,rgba(72,141,219,.14),transparent 30rem),
var(--soft)}
.auth-card,.setup-card{width:min(540px,100%);padding:34px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.auth-brand .portal-logo-copy span,.auth-brand>div:last-child span{color:var(--muted)}
.auth-heading{margin:34px 0 24px}
.auth-heading h1{margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1;letter-spacing:-.05em}
.auth-heading>p:last-child{color:var(--muted);line-height:1.55}
.auth-form{display:grid;gap:16px}
.auth-form label span,.auth-form label small{display:block}
.auth-form label span{margin-bottom:7px;font-size:.74rem;font-weight:700}
.auth-form label small{margin-top:6px;color:var(--muted);font-size:.66rem}
.auth-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fff}
.auth-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.08)}
.auth-note{display:flex;justify-content:space-between;gap:14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}
.auth-note a{color:var(--pink);font-weight:700}

@media(max-width:1200px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .panel-grid{grid-template-columns:1fr}
  .dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-copy{display:none}
}

@media(max-width:900px){
  :root{--sidebar:0px}
  .portal-shell{display:block}
  .portal-sidebar{position:fixed;z-index:60;left:0;top:0;width:292px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:24px 0 50px rgba(0,0,0,.18)}
  .portal-sidebar.is-open{transform:translateX(0)}
  .menu-button{display:grid;place-items:center}
  .portal-content{padding:24px 18px}
  .portal-topbar{padding-inline:18px}
  .portal-clock{min-width:120px}
  .portal-clock small{display:none}
  .workspace-grid{grid-template-columns:1fr}
  .dashboard-hero,.page-intro{align-items:flex-start;flex-direction:column}
  .dashboard-module-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  .portal-topbar{gap:10px}
  .topbar-kicker{display:none}
  .topbar-left h1{font-size:1.05rem}
  .portal-clock{min-width:auto;padding-right:8px}
  .clock-label,.portal-clock small{display:none}
  .portal-clock strong{font-size:.68rem}
  .notification-button{width:40px;height:40px}
  .user-avatar{display:none}
  .user-menu>a{font-size:0;padding:9px 10px}
  .user-menu>a::after{content:"Exit";font-size:.64rem}
  .metric-grid{grid-template-columns:1fr}
  .dashboard-module-grid{grid-template-columns:1fr}
  .quick-grid{grid-template-columns:1fr}
  .module-placeholder{align-items:flex-start;flex-direction:column}
}

@media(max-width:430px){
  .portal-topbar{padding:12px}
  .portal-content{padding:20px 14px}
  .portal-clock{display:none}
  .workspace-card{min-height:220px;padding:22px}
  .workspace-card h3{font-size:1.65rem}
  .auth-card,.setup-card{padding:24px;border-radius:22px}
}

/* v0.6.0B — Communications + Integrations */
.integration-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:16px}
.integration-status-card{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff}
.integration-status-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.integration-provider{color:var(--pink);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.connection-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.connection-not_connected{color:#7a5a16;background:#fff6dc}.connection-connected{color:#0f6c45;background:#e8f7f0}.connection-error,.connection-reauth_required{color:#9b233e;background:#fff0f4}
.integration-status-card h3{margin:28px 0 8px;font-size:1.45rem;letter-spacing:-.03em}.integration-status-card>p{color:var(--muted);font-size:.77rem;line-height:1.6}
.integration-status-card dl{margin:22px 0 0}.integration-status-card dl>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.integration-status-card dl>div:last-child{border-bottom:0}
.integration-status-card dt{color:var(--muted);font-size:.68rem}.integration-status-card dd{margin:0;text-align:right;font-size:.68rem;font-weight:700}
.integration-note{margin-top:18px;padding:12px 14px;border-radius:12px;color:#655b3e;background:#fff9e9;font-size:.67rem;line-height:1.5}
.integration-checklist{margin-top:16px}.checklist-grid{display:grid;gap:8px}.checklist-grid>div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:13px}.checklist-grid>div>span{color:var(--pink);font-size:.68rem;font-weight:800}.checklist-grid strong{font-size:.76rem}.checklist-grid p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}
.communications-preview{min-height:520px;display:grid;grid-template-columns:230px minmax(0,1fr);border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.communications-folders{display:flex;flex-direction:column;gap:4px;padding:18px;border-right:1px solid var(--line);background:#fafbfd}.communications-folders span{padding:10px 12px;border-radius:10px;color:var(--muted);font-size:.72rem;font-weight:600}.communications-folders span:first-child{color:var(--pink);background:#fff0f6}.communications-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center}.communications-empty-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:1.7rem;font-weight:800}.communications-main h3{margin:18px 0 7px;font-size:1.35rem}.communications-main p{max-width:600px;margin:0 0 18px;color:var(--muted);font-size:.76rem;line-height:1.65}
@media(max-width:900px){.integration-status-grid{grid-template-columns:1fr}.communications-preview{grid-template-columns:1fr}.communications-folders{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.communications-folders span{white-space:nowrap}}
@media(max-width:540px){.integration-status-card{padding:20px}.integration-status-card dl>div{align-items:flex-start;flex-direction:column;gap:4px}.integration-status-card dd{text-align:left}.communications-main{padding:28px 20px}}


/* =========================================================
   v0.6.0C — COMPACT / COLLAPSIBLE NAVIGATION
   ========================================================= */
.sidebar-brand{position:relative;flex:0 0 auto;padding-right:28px}
.sidebar-collapse-button{position:absolute;right:0;top:8px;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.05);font-size:1rem;line-height:1}
.sidebar-collapse-button:hover{color:#fff;background:rgba(255,255,255,.10)}
.portal-sidebar{overflow:hidden}
.sidebar-nav{min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}
.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.16)}
.nav-overview{margin-bottom:2px}
.nav-group,.nav-subgroup{display:block}
.nav-group>summary,.nav-subgroup>summary{list-style:none;cursor:pointer;user-select:none}
.nav-group>summary::-webkit-details-marker,.nav-subgroup>summary::-webkit-details-marker{display:none}
.nav-group>summary{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:10px 12px;border-radius:11px;color:rgba(255,255,255,.78);font-size:.77rem;font-weight:700}
.nav-group>summary:hover,.nav-group[open]>summary{color:#fff;background:rgba(255,255,255,.06)}
.nav-group[open]>summary{box-shadow:inset 3px 0 0 rgba(212,19,103,.75)}
.nav-chevron{display:grid;place-items:center;color:rgba(255,255,255,.36);font-size:.7rem;transition:transform .16s ease}
.nav-group[open]>summary .nav-chevron,.nav-subgroup[open]>summary .nav-chevron{transform:rotate(180deg)}
.nav-group>.nav-items{display:grid;gap:3px;padding:5px 0 7px 10px}
.nav-group>.nav-items>a{padding-block:8px;font-size:.72rem}
.nav-subgroup{margin:2px 0}
.nav-subgroup>summary{display:grid;grid-template-columns:22px minmax(0,1fr) 18px;gap:7px;align-items:center;margin:2px 0;padding:8px 10px 8px 12px;border-radius:9px;color:rgba(255,255,255,.53);font-size:.68rem;font-weight:700}
.nav-subgroup>summary:hover,.nav-subgroup[open]>summary{color:rgba(255,255,255,.88);background:rgba(255,255,255,.035)}
.nav-subgroup-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--powder);font-size:.62rem;font-weight:800}
.nav-subgroup>.nav-items{display:grid;gap:2px;padding:2px 0 5px 17px}
.nav-subgroup>.nav-items a{padding:7px 10px;font-size:.68rem}
.sidebar-footer{flex:0 0 auto}

/* Desktop compact mode. Clicking a group icon expands the sidebar again. */
html.sidebar-compact{--sidebar:78px}
html.sidebar-compact .portal-sidebar{padding-inline:10px}
html.sidebar-compact .sidebar-brand{justify-content:center;padding-right:0}
html.sidebar-compact .portal-logo-copy,html.sidebar-compact .nav-section-title,html.sidebar-compact .nav-label,html.sidebar-compact .nav-group-label,html.sidebar-compact .nav-chevron,html.sidebar-compact .sidebar-footer{display:none}
html.sidebar-compact .sidebar-collapse-button{right:-2px;top:2px;width:22px;height:22px;font-size:.82rem;transform:rotate(180deg)}
html.sidebar-compact .sidebar-nav{gap:9px;margin-top:24px;padding-right:0}
html.sidebar-compact .sidebar-nav a,html.sidebar-compact .nav-group>summary{grid-template-columns:1fr;justify-items:center;padding:10px}
html.sidebar-compact .nav-group>.nav-items{display:none}
html.sidebar-compact .nav-group>summary{box-shadow:none}
html.sidebar-compact .nav-group[open]>summary{box-shadow:inset 3px 0 0 rgba(212,19,103,.75)}

@media(max-width:900px){
  html.sidebar-compact{--sidebar:0px}
  html.sidebar-compact .portal-sidebar{padding:20px 14px}
  html.sidebar-compact .sidebar-brand{justify-content:flex-start;padding-right:28px}
  html.sidebar-compact .portal-logo-copy,html.sidebar-compact .nav-section-title,html.sidebar-compact .nav-label,html.sidebar-compact .nav-group-label,html.sidebar-compact .nav-chevron,html.sidebar-compact .sidebar-footer{display:initial}
  html.sidebar-compact .sidebar-footer{display:flex}
  html.sidebar-compact .sidebar-nav{gap:22px;margin-top:30px;padding-right:3px}
  html.sidebar-compact .sidebar-nav a,html.sidebar-compact .nav-group>summary{grid-template-columns:26px minmax(0,1fr) 18px;justify-items:stretch;padding:10px 12px}
  html.sidebar-compact .nav-overview a{grid-template-columns:26px minmax(0,1fr)}
  html.sidebar-compact .nav-group>.nav-items{display:grid}
  .sidebar-collapse-button{display:none}
}


/* =========================================================
   v0.6.0C HF1 — SIDEBAR TYPOGRAPHY / READABILITY
   ========================================================= */

/* Section labels such as OVERVIEW */
.nav-section-title{
  font-size:.64rem;
}

/* Top-level accordion labels: Website, Club, Communications, etc. */
.nav-group>summary{
  font-size:.84rem;
  line-height:1.35;
  padding-top:11px;
  padding-bottom:11px;
}

/* Direct menu items inside each main group */
.nav-group>.nav-items>a{
  font-size:.78rem;
  line-height:1.4;
  padding-top:9px;
  padding-bottom:9px;
}

/* Nested group labels: People, Activities, Guides & Tools, Records, Finance */
.nav-subgroup>summary{
  font-size:.76rem;
  line-height:1.4;
  padding-top:9px;
  padding-bottom:9px;
}

/* Items nested under People / Activities / Guides & Tools / etc. */
.nav-subgroup>.nav-items a{
  font-size:.74rem;
  line-height:1.4;
  padding-top:8px;
  padding-bottom:8px;
}

/* Standalone sidebar links, including Dashboard */
.sidebar-nav>a{
  font-size:.82rem;
  line-height:1.4;
}

/* Slightly improve icons so the text/icon balance stays proportional */
.nav-icon{
  font-size:.75rem;
}
.nav-subgroup-icon{
  font-size:.66rem;
}

/* Footer remains secondary, but easier to read */
.sidebar-footer{
  font-size:.68rem;
}


/* =========================================================
   v0.6.0C HF2 — SIDEBAR READABILITY REFINEMENT
   Slightly larger menu text + icons
   ========================================================= */

/* Main section labels */
.nav-section-title{
  font-size:.68rem;
}

/* Main accordion labels */
.nav-group>summary{
  grid-template-columns:28px minmax(0,1fr) 20px;
  font-size:.90rem;
  line-height:1.35;
  padding-top:12px;
  padding-bottom:12px;
}

/* Direct menu items */
.nav-group>.nav-items>a{
  grid-template-columns:28px minmax(0,1fr);
  font-size:.82rem;
  line-height:1.45;
  padding-top:10px;
  padding-bottom:10px;
}

/* Nested group labels */
.nav-subgroup>summary{
  grid-template-columns:25px minmax(0,1fr) 20px;
  font-size:.80rem;
  line-height:1.45;
  padding-top:10px;
  padding-bottom:10px;
}

/* Nested menu items */
.nav-subgroup>.nav-items a{
  grid-template-columns:25px minmax(0,1fr);
  font-size:.78rem;
  line-height:1.45;
  padding-top:9px;
  padding-bottom:9px;
}

/* Standalone links such as Dashboard */
.sidebar-nav>a{
  grid-template-columns:28px minmax(0,1fr);
  font-size:.86rem;
  line-height:1.45;
  padding-top:11px;
  padding-bottom:11px;
}

/* Icons */
.nav-icon{
  width:24px;
  height:24px;
  font-size:.82rem;
}

.nav-subgroup-icon{
  width:24px;
  height:24px;
  font-size:.72rem;
}

.nav-chevron{
  font-size:.76rem;
}

/* Footer remains secondary but readable */
.sidebar-footer{
  font-size:.70rem;
}


/* =========================================================
   v0.6.0C HF3 — SIDEBAR ICON + DROPDOWN SIZE
   ========================================================= */

/* Main icons: Dashboard, Website, Club, Communications,
   Integrations, Administration */
.sidebar-nav>a .nav-icon,
.nav-group>summary .nav-icon{
  width:28px;
  height:28px;
  font-size:.96rem;
}

/* Nested group icons: People, Activities, Guides & Tools,
   Records, Finance */
.nav-subgroup-icon{
  width:26px;
  height:26px;
  font-size:.82rem;
}

/* Dropdown / accordion chevrons */
.nav-chevron{
  width:22px;
  height:22px;
  font-size:.92rem;
  font-weight:800;
}

/* Give the chevron column a little more room */
.nav-group>summary{
  grid-template-columns:30px minmax(0,1fr) 24px;
}

.nav-subgroup>summary{
  grid-template-columns:28px minmax(0,1fr) 24px;
}


/* v0.6.0D — Integration action controls */
.integration-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.integration-actions form{
  margin:0;
}


/* =========================================================
   v0.6.1A — RACMW MAIL + ACTIONABLE NOTIFICATIONS
   ========================================================= */
.notification-copy{min-width:0}
.notification-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.notification-actions form{margin:0}
.notification-actions button{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fff;font-size:.60rem;font-weight:700}
.notification-actions button:hover{color:var(--pink);border-color:#efb7cf}

.mail-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.mail-toolbar h2{margin:0;font-size:2rem;letter-spacing:-.04em}
.mail-toolbar p:last-child{margin:8px 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.mail-toolbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mail-toolbar-actions form{margin:0}

.mail-shell{min-height:620px;display:grid;grid-template-columns:210px minmax(0,1fr);border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
.mail-folders{display:flex;flex-direction:column;gap:3px;padding:16px 12px;border-right:1px solid var(--line);background:#fafbfd}
.mail-folders a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:10px 11px;border-radius:10px;color:var(--muted);font-size:.73rem;font-weight:650}
.mail-folders a:hover,.mail-folders a.is-active{color:var(--pink);background:#fff0f6}
.mail-folder-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--blue);font-size:.64rem;font-weight:800}

.mail-list-panel{min-width:0}
.mail-list-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line)}
.mail-list-head>div strong,.mail-list-head>div span{display:block}
.mail-list-head>div strong{font-size:.92rem}
.mail-list-head>div span{margin-top:3px;color:var(--muted);font-size:.62rem}
.mail-search{display:flex;align-items:center;gap:7px}
.mail-search input{width:min(300px,42vw);min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;outline:none}
.mail-search input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.mail-search button{min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.68rem;font-weight:700}
.mail-sync-note{margin:12px 16px 0;padding:10px 12px;border-radius:10px;color:#0f6c45;background:#e8f7f0;font-size:.67rem}

.mail-message-list{display:grid}
.mail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);background:#fff}
.mail-row:hover{background:#fafbfd}
.mail-row.is-unread{background:#fff9fc}
.mail-row.is-unread .mail-row-meta strong,.mail-row.is-unread .mail-row-subject{font-weight:800}
.mail-row-main{min-width:0}
.mail-open{display:block;min-width:0;padding:14px 4px}
.mail-row-meta{display:flex;justify-content:space-between;gap:16px;align-items:center}
.mail-row-meta strong{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
.mail-row-meta time{flex:0 0 auto;color:var(--muted);font-size:.60rem}
.mail-row-subject{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}
.mail-row p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.66rem}
.mail-tag{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;color:#9b233e;background:#fff0f4;font-size:.54rem;font-weight:800}
.mail-row-actions{display:flex;align-items:center;gap:5px;opacity:.25;transition:opacity .14s}
.mail-row:hover .mail-row-actions,.mail-row:focus-within .mail-row-actions{opacity:1}
.mail-row-actions form{margin:0}
.mail-row-actions button{padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:.58rem;font-weight:700}
.mail-row-actions button:hover{color:var(--pink);border-color:#efb7cf}
.mail-empty{padding:70px 24px;text-align:center}
.mail-empty strong{font-size:.9rem}.mail-empty p{color:var(--muted);font-size:.7rem}
.mail-pagination{display:flex;justify-content:flex-end;padding:16px}

.mail-thread{display:grid;gap:14px}
.mail-thread-message{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.mail-thread-message header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.mail-thread-message header strong,.mail-thread-message header span{display:block}
.mail-thread-message header strong{font-size:.78rem}
.mail-thread-message header span{margin-top:3px;color:var(--muted);font-size:.64rem}
.mail-thread-message header time{color:var(--muted);font-size:.62rem;white-space:nowrap}
.mail-body{margin:20px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:500 .76rem/1.7 Montserrat,Arial,sans-serif;color:var(--ink)}
.mail-attachments{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.mail-attachments strong{width:100%;font-size:.67rem}
.mail-attachments span{padding:6px 9px;border-radius:9px;background:#f5f7fa;font-size:.62rem}
.mail-attachments small{width:100%;color:var(--muted);font-size:.59rem}

.mail-compose-panel{max-width:900px}
.mail-compose-form{display:grid;gap:16px}
.mail-compose-form label>span{display:block;margin-bottom:7px;font-size:.70rem;font-weight:700}
.mail-compose-form label small{color:var(--muted);font-weight:500}
.mail-compose-form input,.mail-compose-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;outline:none;resize:vertical;font:500 .76rem/1.55 Montserrat,Arial,sans-serif}
.mail-compose-form input:focus,.mail-compose-form textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.mail-compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mail-compose-actions{display:flex;justify-content:flex-end;gap:9px}

@media(max-width:900px){
  .mail-toolbar{align-items:flex-start;flex-direction:column}
  .mail-shell{grid-template-columns:1fr}
  .mail-folders{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}
  .mail-folders a{white-space:nowrap}
}
@media(max-width:650px){
  .mail-list-head{align-items:flex-start;flex-direction:column}
  .mail-search{width:100%}.mail-search input{width:100%}
  .mail-row{grid-template-columns:1fr}
  .mail-row-actions{padding-bottom:12px;opacity:1}
  .mail-thread-message header{flex-direction:column}
  .mail-compose-grid{grid-template-columns:1fr}
}


/* =========================================================
   v0.6.1B — Reply / Reply to all / Forward
   ========================================================= */
.mail-response-bar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-top:16px;padding:18px 20px;border:1px solid var(--line);
  border-radius:18px;background:#fff
}
.mail-response-bar strong,.mail-response-bar span{display:block}
.mail-response-bar strong{font-size:.78rem}
.mail-response-bar span{margin-top:4px;color:var(--muted);font-size:.64rem}
.mail-response-bar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mail-response-intro{margin-bottom:18px}
.mail-response-warning{
  padding:12px 14px;border:1px solid #f2d59b;border-radius:11px;
  background:#fff9e9;color:#7a5a11;font-size:.66rem;line-height:1.55
}
.mail-compose-form input[readonly]{background:#f7f8fa;color:var(--muted)}
@media(max-width:760px){
  .mail-response-bar{align-items:flex-start;flex-direction:column}
  .mail-response-bar-actions{justify-content:flex-start}
}


/* =========================================================
   v0.6.1C — Notification bulk action
   ========================================================= */
.notification-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.notification-header-actions form{margin:0}
.notification-header-actions button{
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--pink);
  font-size:.60rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.notification-header-actions button:hover{
  background:#fff4f8;
  border-color:#efb7cf;
}
