@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;
}


/* =========================================================
   v0.6.1F — Existing Gmail Send-As signature
   ========================================================= */
.mail-signature-status{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f9fafc;
}
.mail-signature-status > div{
  min-width:0;
}
.mail-signature-status strong,
.mail-signature-status span{
  display:block;
}
.mail-signature-status strong{
  margin-bottom:4px;
  font-size:.64rem;
  color:var(--ink);
}
.mail-signature-status span{
  color:var(--muted);
  font-size:.64rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.mail-signature-status.is-ready{
  border-color:#bfe8d5;
  background:#f3fbf7;
}
.mail-signature-status.is-warning{
  border-color:#f0d79f;
  background:#fffaf0;
}
@media(max-width:760px){
  .mail-signature-status{grid-template-columns:1fr}
}


/* =========================================================
   v0.6.2A — RACMW Mail workspace UX
   ========================================================= */

.mail-bulk-bar{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border-bottom:1px solid var(--line);
  background:#fff;
  position:sticky;
  top:0;
  z-index:3;
}
.mail-select-control{
  display:flex;
  align-items:center;
  gap:7px;
}
.mail-select-control select{
  height:30px;
  padding:0 28px 0 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font-size:.62rem;
  font-weight:700;
}
.mail-check{
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  cursor:pointer;
}
.mail-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mail-check span{
  width:15px;
  height:15px;
  border:1.5px solid #aab5c5;
  border-radius:4px;
  background:#fff;
  display:block;
  position:relative;
}
.mail-check input:checked + span{
  border-color:var(--pink);
  background:var(--pink);
}
.mail-check input:checked + span::after{
  content:"";
  position:absolute;
  left:4px;
  top:1px;
  width:4px;
  height:8px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.mail-check input:indeterminate + span{
  border-color:var(--pink);
  background:var(--pink);
}
.mail-check input:indeterminate + span::after{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  top:6px;
  height:2px;
  background:#fff;
  border-radius:2px;
}
.mail-bulk-count{
  color:var(--muted);
  font-size:.62rem;
  white-space:nowrap;
}
.mail-bulk-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.mail-bulk-actions button,
.mail-toolbar-refresh{
  min-height:30px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font-size:.60rem;
  font-weight:800;
  cursor:pointer;
}
.mail-bulk-actions button:hover:not(:disabled),
.mail-toolbar-refresh:hover{
  border-color:#c5cfdd;
  background:#f7f9fc;
}
.mail-bulk-actions button:disabled{
  opacity:.36;
  cursor:not-allowed;
}
.mail-toolbar-refresh{
  margin-left:auto;
  width:32px;
  padding:0;
  font-size:1rem;
}

.mail-row{
  display:grid;
  grid-template-columns:34px 30px minmax(0,1fr);
  align-items:center;
  gap:3px;
  transition:background .15s ease, box-shadow .15s ease;
}
.mail-row:hover{
  position:relative;
  z-index:1;
  box-shadow:0 2px 12px rgba(26,34,47,.08);
}
.mail-row.is-selected{
  background:#f7eef4 !important;
}
.mail-row-check{
  margin-left:5px;
}
.mail-star{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  border-radius:50%;
  color:#a3adbb;
  font-size:1rem;
  cursor:pointer;
}
.mail-star:hover{
  background:#f1f4f8;
  color:#697687;
}
.mail-star.is-starred{
  color:#e1a400;
}
.mail-star.is-static{
  cursor:default;
}
.mail-row-main{
  min-width:0;
}
.mail-open{
  display:block;
}
.mail-row.is-unread .mail-row-meta strong,
.mail-row.is-unread .mail-row-subject{
  font-weight:800;
}

.mail-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(20,27,38,.32);
  backdrop-filter:blur(2px);
  display:flex;
}
.mail-overlay[hidden]{
  display:none !important;
}
.mail-drawer{
  width:min(78vw,1180px);
  height:100%;
  margin-left:auto;
  background:#f5f7fb;
  border-left:1px solid rgba(255,255,255,.65);
  box-shadow:-18px 0 50px rgba(20,27,38,.18);
  overflow:auto;
  position:relative;
  animation:mailDrawerIn .18s ease-out;
}
@keyframes mailDrawerIn{
  from{transform:translateX(32px);opacity:.75}
  to{transform:translateX(0);opacity:1}
}
.mail-drawer-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:26px 30px 18px;
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:4;
}
.mail-drawer-heading h2{
  margin:4px 0 6px;
  font-size:1.55rem;
  line-height:1.12;
}
.mail-drawer-heading > span{
  color:var(--muted);
  font-size:.68rem;
}
.mail-icon-button{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font-size:1.35rem;
  cursor:pointer;
}
.mail-icon-button:hover{
  background:#f4f6f9;
}
.mail-drawer-toolbar{
  padding:12px 30px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.mail-drawer-thread{
  padding:22px 30px;
  display:grid;
  gap:14px;
}
.mail-drawer-thread .mail-message-card{
  margin:0;
}
.mail-drawer-footer{
  margin:0 30px 28px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.mail-drawer-footer > div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.mail-overlay-loading{
  min-height:240px;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}
.mail-spinner{
  width:26px;
  height:26px;
  border:3px solid #e5e9f0;
  border-top-color:var(--pink);
  border-radius:50%;
  animation:mailSpin .7s linear infinite;
}
@keyframes mailSpin{to{transform:rotate(360deg)}}
.mail-fragment-error{
  margin:30px;
  padding:20px;
  background:#fff4f5;
  border:1px solid #f3c8cf;
  border-radius:14px;
}

.mail-compose-overlay{
  align-items:flex-end;
  justify-content:flex-end;
  padding:22px;
  background:rgba(20,27,38,.23);
}
.mail-floating-compose{
  width:min(760px,calc(100vw - 44px));
  max-height:calc(100vh - 44px);
  overflow:auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(20,27,38,.28);
  border:1px solid rgba(255,255,255,.8);
  animation:mailComposeIn .18s ease-out;
}
@keyframes mailComposeIn{
  from{transform:translateY(24px);opacity:.7}
  to{transform:translateY(0);opacity:1}
}
.mail-floating-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:2;
  background:#fff;
}
.mail-floating-header h3{
  margin:2px 0 0;
  font-size:1rem;
}
.mail-floating-compose .mail-compose-form{
  padding:18px;
}
.mail-floating-compose .mail-compose-message textarea{
  min-height:210px;
  resize:vertical;
}
.mail-floating-compose .mail-compose-actions{
  position:sticky;
  bottom:0;
  margin:0 -18px -18px;
  padding:12px 18px;
  background:#fff;
  border-top:1px solid var(--line);
}

.mail-confirm-overlay{
  align-items:center;
  justify-content:center;
  padding:22px;
  z-index:1400;
  background:rgba(20,27,38,.42);
}
.mail-mini-dialog,
.mail-review-dialog,
.mail-success-dialog{
  width:min(460px,calc(100vw - 44px));
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 26px 80px rgba(20,27,38,.30);
}
.mail-mini-dialog h3,
.mail-review-dialog h3,
.mail-success-dialog h3{
  margin:5px 0 9px;
  font-size:1.15rem;
}
.mail-mini-dialog > p:not(.eyebrow),
.mail-review-dialog > p:not(.eyebrow),
.mail-success-dialog > p{
  color:var(--muted);
  font-size:.70rem;
  line-height:1.55;
}
.mail-mini-actions{
  margin-top:18px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.button-danger{
  border:1px solid #d44855;
  border-radius:999px;
  background:#d44855;
  color:#fff;
  padding:10px 16px;
  font:inherit;
  font-size:.66rem;
  font-weight:800;
  cursor:pointer;
}
.mail-review-dialog{
  width:min(560px,calc(100vw - 44px));
}
.mail-review-list{
  margin:18px 0 0;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.mail-review-list > div{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
}
.mail-review-list > div:last-child{
  border-bottom:0;
}
.mail-review-list dt{
  color:var(--muted);
  font-size:.62rem;
  font-weight:800;
}
.mail-review-list dd{
  margin:0;
  font-size:.67rem;
  overflow-wrap:anywhere;
}
.mail-success-dialog{
  text-align:center;
  width:min(410px,calc(100vw - 44px));
}
.mail-success-check{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  border-radius:50%;
  background:#eaf8f1;
  color:#168a59;
  font-size:1.5rem;
  font-weight:900;
}
.mail-success-dialog > span{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:.60rem;
}

body.mail-overlay-open{
  overflow:hidden;
}

@media(max-width:900px){
  .mail-bulk-bar{
    overflow-x:auto;
  }
  .mail-bulk-actions{
    flex-wrap:nowrap;
  }
  .mail-bulk-actions button{
    white-space:nowrap;
  }
  .mail-drawer{
    width:100%;
  }
  .mail-drawer-header,
  .mail-drawer-toolbar,
  .mail-drawer-thread{
    padding-left:18px;
    padding-right:18px;
  }
  .mail-drawer-footer{
    margin-left:18px;
    margin-right:18px;
  }
}

@media(max-width:640px){
  .mail-row{
    grid-template-columns:30px 27px minmax(0,1fr);
  }
  .mail-compose-overlay{
    padding:0;
  }
  .mail-floating-compose{
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
  }
  .mail-floating-compose .mail-compose-form{
    padding:15px;
  }
  .mail-floating-compose .mail-compose-actions{
    margin:0 -15px -15px;
    padding:12px 15px;
  }
  .mail-drawer-footer{
    align-items:flex-start;
    flex-direction:column;
  }
  .mail-mini-dialog,
  .mail-review-dialog,
  .mail-success-dialog{
    width:100%;
  }
}


/* =========================================================
   v0.6.2B — Sticky mail controls + two-way page navigation
   ========================================================= */
.mail-toolbar-title-only{
  margin-bottom:20px;
}
.mail-sticky-stack{
  position:sticky;
  top:86px;
  z-index:18;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 7px 18px rgba(25,34,48,.045);
}
.mail-sticky-stack .mail-list-head{
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(12px);
}
.mail-list-heading{
  min-width:120px;
  flex:0 0 auto;
}
.mail-list-head .mail-search{
  margin-left:auto;
  min-width:260px;
  max-width:440px;
  flex:1 1 320px;
}
.mail-command-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  flex-wrap:wrap;
}
.mail-command-actions form{
  margin:0;
}
.mail-command-button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.mail-page-nav{
  display:flex;
  align-items:center;
  gap:5px;
  margin-left:3px;
  padding-left:9px;
  border-left:1px solid var(--line);
}
.mail-page-button{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-size:1.25rem;
  line-height:1;
  font-weight:700;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.mail-page-button:hover{
  background:#f5f7fa;
  border-color:#c6cfdb;
  transform:translateY(-1px);
}
.mail-page-button.is-disabled{
  color:#c4cad3;
  background:#f7f8fa;
  cursor:not-allowed;
  transform:none;
}
.mail-page-indicator{
  min-width:54px;
  text-align:center;
  color:var(--muted);
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}
.mail-sticky-stack .mail-bulk-bar{
  position:static;
  top:auto;
  border-bottom:0;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(12px);
}
.mail-pagination{
  display:none;
}
@media(max-width:1180px){
  .mail-list-head{
    flex-wrap:wrap;
  }
  .mail-list-heading{
    min-width:120px;
  }
  .mail-list-head .mail-search{
    order:3;
    flex-basis:100%;
    max-width:none;
    width:100%;
    margin-left:0;
  }
  .mail-command-actions{
    margin-left:auto;
  }
}
@media(max-width:900px){
  .mail-sticky-stack{
    top:76px;
  }
  .mail-list-head{
    padding:12px;
  }
  .mail-command-actions{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
  .mail-page-nav{
    margin-left:auto;
  }
}
@media(max-width:640px){
  .mail-sticky-stack{
    top:68px;
  }
  .mail-command-actions{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    width:100%;
  }
  .mail-command-actions form,
  .mail-command-actions .mail-command-button{
    width:100%;
  }
  .mail-page-nav{
    margin-left:0;
    padding-left:8px;
  }
  .mail-page-indicator{
    display:none;
  }
}


/* =========================================================
   v0.6.2B-HF2 — Fixed mail workspace / internal list scroll
   ========================================================= */

/*
 * The previous sticky stack used a viewport top offset. Inside the mail
 * panel that could visually displace the right-hand controls and leave
 * a blank white band above them. The shell is now a fixed workspace:
 * folders + controls stay in place; only the message region scrolls.
 */
.mail-toolbar-title-only{
  margin-bottom:12px;
}

.mail-shell{
  height:calc(100dvh - 300px);
  min-height:540px;
  max-height:860px;
  align-items:stretch;
  overflow:hidden;
}

.mail-folders{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.mail-list-panel{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

/* No viewport offset here: the controls stay fixed because the list,
   not the whole panel, is now the scroll container. */
.mail-sticky-stack{
  position:relative;
  top:auto;
  z-index:8;
  flex:0 0 auto;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 12px rgba(25,34,48,.035);
}

.mail-sticky-stack .mail-list-head{
  min-height:70px;
  padding-top:11px;
  padding-bottom:11px;
}

.mail-sticky-stack .mail-bulk-bar{
  position:relative;
  top:auto;
  min-height:44px;
}

.mail-scroll-region{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  background:#fff;
}

.mail-message-list{
  display:grid;
  align-content:start;
}

.mail-sync-note-slot:empty{
  display:none;
}

.mail-sync-note-slot .mail-sync-note{
  margin:10px 12px 0;
}

/* Compact and align the pagination controls so the disabled previous
   control does not look like a stray empty circle. */
.mail-page-nav{
  min-height:36px;
}

.mail-page-button{
  width:32px;
  height:32px;
  font-size:1.08rem;
}

.mail-page-button.is-disabled{
  opacity:.42;
  border-color:#dfe4eb;
  background:#f8f9fb;
}

.mail-page-indicator{
  min-width:48px;
}

/* Lightweight progress state for list-only refresh/sync. */
.mail-scroll-region.is-refreshing{
  position:relative;
}

.mail-scroll-region.is-refreshing::before{
  content:"";
  position:sticky;
  top:0;
  z-index:12;
  display:block;
  height:3px;
  margin-bottom:-3px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(212,19,103,.28) 20%,
    var(--pink) 50%,
    rgba(72,141,219,.55) 78%,
    transparent 100%
  );
  background-size:220% 100%;
  animation:mailListProgress .9s linear infinite;
}

@keyframes mailListProgress{
  from{background-position:100% 0}
  to{background-position:-100% 0}
}

@media(max-width:1180px){
  .mail-shell{
    height:calc(100dvh - 310px);
  }
}

@media(max-width:900px){
  .mail-shell{
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }

  .mail-folders{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-gutter:auto;
  }

  .mail-list-panel{
    overflow:visible;
  }

  .mail-scroll-region{
    max-height:62dvh;
    min-height:420px;
    overflow-y:auto;
  }

  .mail-sticky-stack{
    position:relative;
    top:auto;
  }
}

@media(max-width:640px){
  .mail-scroll-region{
    max-height:66dvh;
    min-height:360px;
  }
}


/* =========================================================
   v0.6.2C — Compact / Wide floating mail composer
   ========================================================= */

/* Default: Gmail-like compact floating composer. */
.mail-compose-overlay{
  align-items:flex-end;
  justify-content:flex-end;
  padding:24px;
  transition:padding .18s ease;
}

.mail-floating-compose{
  width:min(560px,calc(100vw - 48px));
  max-height:min(74dvh,720px);
  overflow:auto;
  border-radius:18px;
  transition:
    width .20s ease,
    max-height .20s ease,
    transform .20s ease,
    border-radius .20s ease;
}

/* Wide mode stays floating with visible margins — never true fullscreen. */
.mail-compose-overlay.is-compose-wide{
  align-items:center;
  justify-content:center;
  padding:36px;
}

.mail-floating-compose.is-compose-wide{
  width:min(1120px,calc(100vw - 72px));
  max-height:calc(100dvh - 72px);
  border-radius:20px;
}

.mail-floating-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.mail-compose-size-button{
  font-size:1rem;
  font-weight:800;
}

.mail-floating-compose:not(.is-compose-wide) .mail-compose-message textarea{
  min-height:150px;
}

.mail-floating-compose.is-compose-wide .mail-compose-message textarea{
  min-height:330px;
}

.mail-floating-compose.is-compose-wide .mail-compose-form{
  padding:22px 24px 24px;
}

.mail-floating-compose.is-compose-wide .mail-compose-grid{
  gap:18px;
}

/* Tablet/mobile: still floating with margins, not edge-to-edge fullscreen. */
@media(max-width:760px){
  .mail-compose-overlay,
  .mail-compose-overlay.is-compose-wide{
    align-items:center;
    justify-content:center;
    padding:14px;
  }

  .mail-floating-compose,
  .mail-floating-compose.is-compose-wide{
    width:calc(100vw - 28px);
    max-height:calc(100dvh - 28px);
    border-radius:16px;
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-compose-message textarea,
  .mail-floating-compose.is-compose-wide .mail-compose-message textarea{
    min-height:180px;
  }
}


/* =========================================================
   v0.6.2D — Rich Mail Composer
   Gmail-like formatting while preserving RACMW portal UI.
   ========================================================= */

.mail-compose-label{
  display:block;
  margin-bottom:8px;
  font-size:.78rem;
  font-weight:800;
  color:#1f2937;
}

.mail-rich-editor-shell{
  position:relative;
  border:1px solid #d9e1eb;
  border-radius:14px;
  background:#fff;
  overflow:visible;
  transition:border-color .16s ease, box-shadow .16s ease;
}

.mail-rich-editor-shell:focus-within{
  border-color:rgba(212,19,103,.55);
  box-shadow:0 0 0 3px rgba(212,19,103,.08);
}

.mail-rich-editor{
  min-height:190px;
  max-height:320px;
  overflow-y:auto;
  padding:14px 15px;
  outline:none;
  font-size:.92rem;
  line-height:1.55;
  color:#202833;
  word-break:break-word;
}

.mail-floating-compose.is-compose-wide .mail-rich-editor{
  min-height:350px;
  max-height:48dvh;
}

.mail-rich-editor:empty::before{
  content:attr(data-placeholder);
  color:#a1a8b2;
  pointer-events:none;
}

.mail-rich-editor img{
  display:block;
  max-width:min(100%,680px);
  max-height:340px;
  height:auto;
  margin:12px 0;
  border-radius:10px;
}

.mail-rich-editor a{
  color:#2563eb;
  text-decoration:underline;
}

.mail-rich-editor blockquote,
.mail-rich-editor .racmw-quoted-history{
  margin:14px 0 0;
  padding-left:14px;
  border-left:3px solid #d6dbe3;
  color:#667085;
}

.mail-rich-toolbar{
  position:relative;
  border-top:1px solid #e7ebf0;
  background:#fbfcfe;
}

.mail-rich-format-row,
.mail-rich-utility-row{
  display:flex;
  align-items:center;
  gap:4px;
  padding:7px 9px;
}

.mail-rich-format-row{
  overflow-x:auto;
  scrollbar-width:thin;
}

.mail-rich-utility-row{
  border-top:1px solid #edf0f4;
}

.mail-rich-tool{
  appearance:none;
  min-width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#374151;
  font:inherit;
  font-size:.82rem;
  cursor:pointer;
  flex:0 0 auto;
}

.mail-rich-tool:hover,
.mail-rich-tool:focus-visible{
  background:#edf1f6;
  outline:none;
}

.mail-rich-tool.is-active{
  background:#fbe7f0;
  color:#c31261;
}

.mail-rich-tool.is-letter{
  font-size:.88rem;
}

.mail-rich-aa{
  font-weight:800;
}

.mail-rich-divider{
  width:1px;
  height:20px;
  background:#dce2e9;
  margin:0 3px;
  flex:0 0 auto;
}

.mail-rich-select{
  height:30px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#374151;
  font:inherit;
  font-size:.78rem;
  padding:0 24px 0 7px;
  cursor:pointer;
}

.mail-rich-select:hover,
.mail-rich-select:focus{
  background:#edf1f6;
  outline:none;
}

.mail-rich-font{
  width:104px;
}

.mail-rich-size{
  width:82px;
}

.mail-rich-color{
  position:relative;
  overflow:hidden;
  font-weight:800;
}

.mail-rich-color input{
  position:absolute;
  inset:auto 3px 2px;
  width:24px;
  height:4px;
  opacity:.8;
  border:0;
  padding:0;
  cursor:pointer;
}

.mail-rich-file-summary{
  margin-left:auto;
  min-width:0;
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7a8491;
  font-size:.72rem;
}

.mail-rich-popover{
  position:absolute;
  left:10px;
  bottom:44px;
  z-index:30;
  padding:10px;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 40px rgba(23,32,45,.16);
}

.mail-link-popover{
  width:min(360px,calc(100% - 20px));
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.mail-link-popover label{
  flex:1 1 auto;
}

.mail-link-popover label span{
  display:block;
  margin-bottom:5px;
  font-size:.72rem;
  font-weight:800;
}

.mail-link-popover input{
  width:100%;
  height:36px;
  border:1px solid #d8e0e8;
  border-radius:9px;
  padding:0 10px;
  font:inherit;
}

.mail-emoji-popover{
  display:grid;
  grid-template-columns:repeat(4,38px);
  gap:4px;
}

.mail-emoji-popover button{
  width:38px;
  height:38px;
  border:0;
  border-radius:9px;
  background:transparent;
  cursor:pointer;
  font-size:1.12rem;
}

.mail-emoji-popover button:hover{
  background:#f1f4f8;
}

.button-small{
  min-height:36px;
  padding:0 12px;
  font-size:.75rem;
}

.mail-rich-files{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:9px 10px 10px;
  border-top:1px solid #edf0f4;
  background:#fff;
}

.mail-file-chip{
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:4px 8px 4px 10px;
  border:1px solid #dce3ea;
  border-radius:999px;
  background:#f8fafc;
  color:#485465;
  font-size:.72rem;
}

.mail-file-chip strong{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mail-file-chip small{
  color:#8a94a3;
}

.mail-file-chip button{
  width:22px;
  height:22px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#687385;
  cursor:pointer;
}

.mail-file-chip button:hover{
  background:#e8edf3;
}

.mail-rich-editor-shell.is-invalid{
  border-color:#dc3f57;
  box-shadow:0 0 0 3px rgba(220,63,87,.09);
}

.mail-rich-editor-shell.is-invalid .mail-rich-editor:empty::before{
  color:#c83a51;
}

@media(max-width:760px){
  .mail-rich-format-row{
    gap:2px;
  }

  .mail-rich-font{
    width:94px;
  }

  .mail-rich-size{
    width:76px;
  }

  .mail-rich-editor{
    min-height:180px;
    max-height:34dvh;
  }

  .mail-floating-compose.is-compose-wide .mail-rich-editor{
    min-height:220px;
    max-height:38dvh;
  }

  .mail-rich-file-summary{
    display:none;
  }
}


/* =========================================================
   v0.6.2D-HF1 — Compact composer overflow / scrollbar fix
   Scope: compact mode only. Wide mode remains unchanged.
   ========================================================= */

/* Prevent toolbar/grid min-content widths from forcing the whole
   compact composer wider than its floating window. */
.mail-floating-compose:not(.is-compose-wide),
.mail-floating-compose:not(.is-compose-wide) .mail-compose-form,
.mail-floating-compose:not(.is-compose-wide) .mail-compose-grid,
.mail-floating-compose:not(.is-compose-wide) .mail-compose-grid > *,
.mail-floating-compose:not(.is-compose-wide) .mail-compose-message,
.mail-floating-compose:not(.is-compose-wide) .mail-rich-editor-shell,
.mail-floating-compose:not(.is-compose-wide) .mail-rich-toolbar,
.mail-floating-compose:not(.is-compose-wide) .mail-rich-format-row,
.mail-floating-compose:not(.is-compose-wide) .mail-rich-utility-row,
.mail-floating-compose:not(.is-compose-wide) .mail-signature-status{
  min-width:0;
}

/* The compact floating window itself no longer scrolls horizontally
   or vertically. Only the message body / attachment area can scroll. */
.mail-floating-compose:not(.is-compose-wide){
  height:min(760px,calc(100dvh - 48px));
  max-height:calc(100dvh - 48px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.mail-floating-compose:not(.is-compose-wide) .mail-floating-header{
  flex:0 0 auto;
}

/* Keep all address fields and action buttons fixed in place while
   giving the message editor the flexible remaining height. */
.mail-floating-compose:not(.is-compose-wide) .mail-compose-form{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:
    auto
    auto
    auto
    auto
    minmax(0,1fr)
    auto;
  gap:12px;
  padding:16px 18px 18px;
}

.mail-floating-compose:not(.is-compose-wide) .mail-compose-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}

.mail-floating-compose:not(.is-compose-wide) .mail-compose-message{
  min-height:0;
  display:flex;
  flex-direction:column;
}

/* Rich editor becomes the internal scroll surface. */
.mail-floating-compose:not(.is-compose-wide) .mail-rich-editor-shell{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-editor{
  flex:1 1 auto;
  min-height:110px;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-toolbar{
  flex:0 0 auto;
}

/* No horizontal scrollbar for Gmail-like controls in compact mode.
   Controls wrap naturally instead. */
.mail-floating-compose:not(.is-compose-wide) .mail-rich-format-row{
  flex-wrap:wrap;
  overflow:visible;
  scrollbar-width:none;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-format-row::-webkit-scrollbar{
  display:none;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-utility-row{
  overflow:hidden;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-file-summary{
  max-width:135px;
}

.mail-floating-compose:not(.is-compose-wide) .mail-rich-files{
  flex:0 0 auto;
  max-height:76px;
  overflow-y:auto;
  overflow-x:hidden;
}

/* Footer stays visible without requiring outer composer scrolling. */
.mail-floating-compose:not(.is-compose-wide) .mail-compose-actions{
  position:relative;
  bottom:auto;
  flex:0 0 auto;
  margin:0 -18px -18px;
  padding:12px 18px;
  background:#fff;
  border-top:1px solid var(--line);
}

/* Keep status text inside the compact window. */
.mail-floating-compose:not(.is-compose-wide) .mail-signature-status{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

.mail-floating-compose:not(.is-compose-wide) .mail-signature-status span{
  overflow-wrap:anywhere;
}

/* Very narrow viewports still stay floating with margins and no
   outer composer scrollbar. */
@media(max-width:760px){
  .mail-floating-compose:not(.is-compose-wide){
    width:calc(100vw - 28px);
    height:calc(100dvh - 28px);
    max-height:calc(100dvh - 28px);
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-compose-form{
    padding:14px;
    gap:10px;
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-compose-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-signature-status{
    grid-template-columns:1fr;
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-compose-actions{
    margin:0 -14px -14px;
    padding:11px 14px;
  }

  .mail-floating-compose:not(.is-compose-wide) .mail-rich-editor{
    min-height:90px;
  }
}

/* =========================================================
   v0.6.3A — META MESSENGER E2E / SOCIAL INBOX
   ========================================================= */
.social-intro{gap:18px}.social-intro-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.social-workspace{height:min(720px,calc(100vh - 250px));min-height:520px;display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(36,42,49,.04)}
.social-conversations{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fbfcfe}.social-pane-head{padding:18px;border-bottom:1px solid var(--line)}.social-pane-head strong,.social-pane-head small{display:block}.social-pane-head strong{font-size:.82rem}.social-pane-head small{margin-top:4px;color:var(--muted);font-size:.65rem}
.social-conversation-list{min-height:0;overflow:auto}.social-conversation{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line);transition:background .14s ease}.social-conversation:hover,.social-conversation.is-active{background:#fff0f6}.social-avatar{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:.7rem;font-weight:800}.social-avatar img,.social-thread-avatar img{width:100%;height:100%;display:block;object-fit:cover}.social-conversation-copy{min-width:0}.social-conversation-copy strong,.social-conversation-copy small,.social-conversation-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-conversation-copy strong{font-size:.72rem}.social-conversation-copy small{margin-top:2px;color:var(--muted);font-size:.58rem}.social-conversation-copy span{margin-top:5px;color:var(--muted);font-size:.64rem}.social-conversation time{color:var(--muted);font-size:.56rem;white-space:nowrap}
.social-empty-compact{padding:24px 18px;color:var(--muted);font-size:.68rem;line-height:1.55}.social-empty-compact strong,.social-empty-compact span{display:block}.social-empty-compact strong{margin-bottom:5px;color:var(--ink)}
.social-thread-pane{min-width:0;min-height:0;display:flex;flex-direction:column}.social-thread-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center}.social-thread-empty h3{margin:18px 0 7px}.social-thread-empty p{max-width:560px;margin:0;color:var(--muted);font-size:.72rem;line-height:1.65}.social-thread-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.social-thread-identity{min-width:0;display:flex;align-items:center;gap:11px}.social-thread-identity>div{min-width:0}.social-thread-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;overflow:hidden;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:.82rem;font-weight:800}.social-thread-head h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.social-thread-head small{display:block;margin-top:4px;color:var(--muted);font-size:.62rem}.social-profile-note{color:#9b6a00!important;font-size:.56rem!important}
.social-message-scroll{flex:1;min-height:0;overflow:auto;padding:22px;background:linear-gradient(180deg,#fbfcfe,#f5f8fb)}.social-message{display:flex;margin:0 0 12px}.social-message.is-outbound{justify-content:flex-end}.social-message-bubble{max-width:min(680px,78%);padding:12px 14px;border:1px solid var(--line);border-radius:16px 16px 16px 5px;background:#fff}.social-message.is-outbound .social-message-bubble{border-color:rgba(212,19,103,.18);border-radius:16px 16px 5px 16px;background:#fff0f6}.social-message-bubble p{margin:0;font-size:.74rem;line-height:1.55;white-space:normal;overflow-wrap:anywhere}.social-message-bubble footer{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:.54rem}.social-message-bubble time{white-space:nowrap}
.social-reply{padding:15px 18px;border-top:1px solid var(--line);background:#fff}.social-reply>label{display:block;margin-bottom:7px;font-size:.66rem;font-weight:700}.social-reply-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.social-reply textarea{width:100%;min-height:62px;max-height:150px;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:12px;outline:none;font:inherit;font-size:.72rem}.social-reply textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}.social-reply small{display:block;margin-top:7px;color:var(--muted);font-size:.58rem;line-height:1.45}
@media(max-width:1050px){.social-workspace{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:760px){.social-workspace{height:auto;min-height:0;grid-template-columns:1fr}.social-conversations{max-height:260px;border-right:0;border-bottom:1px solid var(--line)}.social-thread-pane{min-height:520px}.social-message-bubble{max-width:90%}.social-reply-row{grid-template-columns:1fr}.social-reply .button-primary{justify-self:end}}

/* v0.6.3A-HF1 — Social Inbox live refresh */
.social-live-status{display:inline-flex;align-items:center;gap:6px;color:#3d7a5d;font-size:.61rem;font-weight:700;white-space:nowrap}
.social-live-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#39a46b;box-shadow:0 0 0 4px rgba(57,164,107,.09)}
.social-live-status.has-error{color:#a36d00}.social-live-status.has-error::before{background:#e0a100;box-shadow:0 0 0 4px rgba(224,161,0,.1)}
.social-auto-hidden{display:none!important}
.social-thread-live{height:100%;min-height:0;display:flex;flex-direction:column}

/* =========================================================
   v0.6.3B — UNIFIED LIVE NOTIFICATIONS
   ========================================================= */
.nav-group>.nav-items>a{
  grid-template-columns:28px minmax(0,1fr) auto;
}
.nav-notification-badge{
  min-width:19px;
  height:19px;
  display:inline-grid;
  place-items:center;
  justify-self:end;
  padding:0 5px;
  border-radius:999px;
  color:#fff;
  background:var(--pink);
  font-size:.56rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 0 2px rgba(255,255,255,.06);
}
.nav-notification-badge[hidden]{display:none!important}
.notification-count[hidden],
.notification-header-actions form[hidden]{display:none!important}
.notification-button.has-new-notification{
  animation:racmwNotificationPulse .9s ease-out;
}
@keyframes racmwNotificationPulse{
  0%{box-shadow:0 0 0 0 rgba(212,19,103,.34)}
  55%{box-shadow:0 0 0 10px rgba(212,19,103,0)}
  100%{box-shadow:0 0 0 0 rgba(212,19,103,0)}
}
@media(max-width:900px){
  .nav-notification-badge{margin-left:auto}
}
/* v0.6.3D — Social Inbox attachments */
.social-reply-editor{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.social-reply-editor:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.social-reply-editor textarea{display:block;width:100%;min-height:62px;max-height:150px;margin:0;padding:11px 12px;border:0!important;border-radius:0!important;box-shadow:none!important;resize:vertical}
.social-reply-tools{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 9px;border-top:1px solid var(--line);background:#fbfcfe}
.social-attachment-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.social-attach-button{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.6rem!important;font-weight:700!important;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.social-attach-button:hover{border-color:rgba(212,19,103,.34);background:#fff5f9}
.social-attach-button span{font-size:.78rem;line-height:1}
.social-attachment-selection{min-width:0;display:flex;align-items:center;gap:7px;max-width:52%;padding:5px 8px;border-radius:999px;background:#fff0f6;color:var(--ink);font-size:.58rem}
.social-attachment-selection>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.social-attachment-remove{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px;padding:0;border:0;border-radius:50%;background:rgba(212,19,103,.12);color:var(--pink);font:700 14px/1 Arial,sans-serif;cursor:pointer}
.social-attachment-hint{margin-left:auto!important;font-size:.54rem!important;white-space:nowrap}
.social-attachment{margin-top:9px}
.social-attachment-image img{display:block;max-width:min(420px,100%);max-height:360px;border-radius:12px;object-fit:contain;background:#eef2f6}
.social-attachment-video video{display:block;width:min(480px,100%);max-height:360px;border-radius:12px;background:#111}
.social-attachment-audio audio{display:block;width:min(420px,100%);max-width:100%}
.social-file-attachment{display:flex;align-items:center;gap:10px;max-width:360px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.social-message.is-outbound .social-file-attachment{background:rgba(255,255,255,.72)}
.social-file-attachment:hover{border-color:rgba(212,19,103,.28)}
.social-file-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:#f4f7fb;color:var(--pink);font-size:.75rem;font-weight:800}
.social-file-attachment strong,.social-file-attachment small{display:block}
.social-file-attachment strong{font-size:.62rem}
.social-file-attachment small{margin-top:2px;color:var(--muted);font-size:.54rem}
@media(max-width:760px){.social-attachment-selection{max-width:100%}.social-attachment-hint{display:none}.social-reply-tools{flex-wrap:wrap}}



/* v0.6.3D-HF1 — Messenger delivery-status indicator */
.social-message-bubble footer{align-items:flex-end}
.social-message-meta-right{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.social-delivery-status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-weight:700;letter-spacing:.01em}
.social-delivery-status::before{content:"✓";font-size:.58rem;line-height:1}
.social-delivery-status.is-delivered::before{content:"✓✓";letter-spacing:-2px;margin-right:1px}
.social-delivery-status.is-seen{color:var(--pink)}
.social-delivery-status.is-seen::before{content:"●";font-size:.42rem}
@media(max-width:760px){
  .social-message-bubble footer{gap:8px}
  .social-message-meta-right{gap:5px}
}

/* v0.6.3D-HF2 — asynchronous Messenger send + bottom anchor */
.social-message.is-pending .social-message-bubble{opacity:.86}
.social-attachment-pending{filter:saturate(.88)}
.social-delivery-status.is-sending{color:var(--muted)}
.social-delivery-status.is-sending::before{content:"…";letter-spacing:0;font-size:.62rem}
.social-delivery-status.is-failed{color:#c53f4b}
.social-delivery-status.is-failed::before{content:"!";font-size:.62rem}
.social-send-feedback{margin-top:7px;font-size:.58rem;font-weight:700;line-height:1.4}
.social-send-feedback.is-success{color:#2f875d}
.social-send-feedback.is-error{color:#bf3947}
#social-send-button[disabled]{cursor:wait;opacity:.72}

/* v0.6.3E — Social Inbox saved replies / quick replies */
.social-saved-replies-button{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.6rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.social-saved-replies-button:hover{border-color:rgba(212,19,103,.34);background:#fff5f9}
.social-saved-replies-button>span:first-child{font-size:.72rem;line-height:1}
.social-saved-replies-count{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;background:#fff0f6;color:var(--pink);font-size:.52rem;font-weight:800}
.social-saved-replies-count.is-empty{color:var(--muted);background:#f3f5f8}
.social-saved-replies-backdrop{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:24px;background:rgba(21,29,40,.42);backdrop-filter:blur(3px)}
.social-saved-replies-dialog{width:min(720px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(20,35,55,.12);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(21,29,40,.22)}
.social-saved-replies-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.social-saved-replies-head h3{margin:1px 0 4px;font-size:1.05rem}.social-saved-replies-head small{color:var(--muted);font-size:.62rem}
.social-modal-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font:400 20px/1 Arial,sans-serif;cursor:pointer}
.social-modal-close:hover{border-color:rgba(212,19,103,.34);background:#fff5f9}
.social-saved-replies-browser{min-height:0;display:flex;flex-direction:column;padding:16px 18px 18px}
.social-saved-replies-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px}.social-saved-replies-search-wrap{margin:0}.social-saved-replies-search-wrap input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;outline:none;font:inherit;font-size:.68rem}.social-saved-replies-search-wrap input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.social-saved-replies-new{white-space:nowrap}.social-saved-replies-list{min-height:0;overflow:auto;display:grid;gap:9px;padding-right:3px}.social-saved-reply-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.social-saved-reply-card:hover{border-color:rgba(212,19,103,.22);background:#fffafd}.social-saved-reply-insert{min-width:0;padding:0;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}.social-saved-reply-insert strong,.social-saved-reply-insert span{display:block}.social-saved-reply-insert strong{margin-bottom:5px;font-size:.68rem}.social-saved-reply-insert span{color:var(--muted);font-size:.61rem;line-height:1.5}.social-saved-reply-actions{display:flex;align-items:center;gap:5px;align-self:center}.social-saved-reply-actions button{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:.58rem;font-weight:500;line-height:1;cursor:pointer;text-rendering:optimizeLegibility}.social-saved-reply-actions button:hover{border-color:rgba(212,19,103,.28);background:#fff5f9}.social-saved-reply-actions button.is-danger{color:#bd3f4b}.social-saved-reply-actions button.is-danger.is-armed{border-color:#d85a66;background:#fff1f2;color:#b52e3b}.social-saved-replies-empty{padding:34px 20px;text-align:center;color:var(--muted)}.social-saved-replies-empty strong,.social-saved-replies-empty span{display:block}.social-saved-replies-empty strong{margin-bottom:5px;color:var(--ink);font-size:.72rem}.social-saved-replies-empty span{font-size:.62rem}
.social-saved-replies-editor{padding:18px 22px 20px;overflow:auto}.social-saved-replies-editor>label{display:block;margin:0 0 6px;font-size:.62rem;font-weight:800}.social-saved-replies-editor input[type="text"],.social-saved-replies-editor textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:12px;outline:none;font:inherit;font-size:.68rem}.social-saved-replies-editor input[type="text"]{height:42px;margin-bottom:14px}.social-saved-replies-editor textarea{min-height:220px;resize:vertical}.social-saved-replies-editor input:focus,.social-saved-replies-editor textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}.social-saved-replies-editor-meta{display:flex;justify-content:space-between;gap:14px;margin-top:7px;color:var(--muted);font-size:.56rem}.social-saved-replies-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.social-saved-replies-feedback{margin-top:10px;padding:9px 10px;border-radius:10px;font-size:.6rem;font-weight:700}.social-saved-replies-feedback.is-success{background:#eefaf4;color:#2f875d}.social-saved-replies-feedback.is-error{background:#fff1f2;color:#b52e3b}.social-modal-open{overflow:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.social-saved-replies-backdrop{padding:10px}.social-saved-replies-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:16px}.social-saved-replies-toolbar{grid-template-columns:1fr}.social-saved-replies-new{justify-self:stretch}.social-saved-reply-card{grid-template-columns:1fr}.social-saved-reply-actions{justify-content:flex-end}.social-saved-replies-editor-meta{flex-direction:column;gap:3px}.social-saved-replies-button{padding:6px 8px}.social-saved-replies-count{display:none}}

/* v0.6.3E-HF1 — Saved reply action polish + Messenger inquiry search */
.social-conversation-tools{padding:10px 10px 9px;border-bottom:1px solid var(--line);background:#fff}
.social-conversation-search-wrap{position:relative;display:flex;align-items:center;width:100%}
.social-conversation-search-wrap input{width:100%;height:36px;padding:0 34px 0 31px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none;font:inherit;font-size:.62rem;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.social-conversation-search-wrap input:focus{border-color:rgba(212,19,103,.58);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.social-conversation-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);z-index:1;color:var(--muted);font-size:.72rem;pointer-events:none}
.social-conversation-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:700 .76rem/1 Arial,sans-serif;cursor:pointer}
.social-conversation-search-clear:hover{background:#f3f5f8;color:var(--ink)}

.social-saved-reply-actions{gap:7px}
.social-saved-reply-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:6px 10px;border-radius:10px;font-size:.56rem;transition:transform .12s ease,border-color .15s ease,background .15s ease,color .15s ease}
.social-saved-reply-actions button:hover{transform:translateY(-1px)}
.social-saved-reply-actions button.is-insert{border-color:rgba(212,19,103,.22);background:#fff3f8;color:var(--pink)}
.social-saved-reply-actions button.is-insert:hover{border-color:rgba(212,19,103,.42);background:#ffeaf3}
.social-saved-reply-actions button.is-edit{background:#fff;color:var(--ink)}
.social-saved-reply-actions button.is-danger{border-color:rgba(198,63,75,.18);background:#fff;color:#bd3f4b}
.social-saved-reply-actions button.is-danger:hover{border-color:rgba(198,63,75,.36);background:#fff3f4;color:#a82734}

.social-confirm-backdrop{position:fixed;inset:0;z-index:1460;display:grid;place-items:center;padding:20px;background:rgba(21,29,40,.48);backdrop-filter:blur(4px)}
.social-confirm-dialog{width:min(470px,calc(100vw - 30px));padding:22px;border:1px solid rgba(20,35,55,.12);border-radius:18px;background:#fff;box-shadow:0 26px 76px rgba(21,29,40,.28)}
.social-confirm-dialog h3{margin:4px 0 7px;font-size:1.02rem}
.social-confirm-message{margin:0;color:var(--muted);font-size:.66rem;line-height:1.55}
.social-confirm-preview{margin-top:14px;max-height:190px;overflow:auto;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:.62rem;line-height:1.55}
.social-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.social-confirm-actions .button-primary.is-danger{border-color:#d44755;background:#d44755;color:#fff}
.social-confirm-actions .button-primary.is-danger:hover{background:#bd3441}

@media(max-width:760px){
  .social-saved-reply-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .social-saved-reply-actions button{width:100%}
  .social-confirm-dialog{padding:18px;border-radius:16px}
  .social-confirm-actions{display:grid;grid-template-columns:1fr 1fr}
}


/* v0.6.3E-HF2 — Messenger inquiry search UI polish */
.social-conversation-tools{
  padding:11px 12px 10px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
}
.social-conversation-search-wrap{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  margin:0;
}
.social-conversation-search-wrap input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  height:39px;
  padding:0 39px 0 38px;
  border:1px solid #d9e1eb;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  outline:none;
  font:inherit;
  font-size:.64rem;
  line-height:1;
  box-shadow:0 1px 2px rgba(25,38,58,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.social-conversation-search-wrap input::placeholder{color:#8c98a7;opacity:1}
.social-conversation-search-wrap input:hover{border-color:#c7d2df}
.social-conversation-search-wrap input:focus{
  border-color:rgba(212,19,103,.52);
  box-shadow:0 0 0 3px rgba(212,19,103,.075),0 2px 7px rgba(25,38,58,.04);
  background:#fff;
}
.social-conversation-search-wrap input::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
}
.social-conversation-search-icon{
  position:absolute;
  left:13px;
  top:50%;
  z-index:2;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  color:#758294;
  pointer-events:none;
}
.social-conversation-search-icon svg{
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-conversation-search-wrap:focus-within .social-conversation-search-icon{color:var(--pink)}
.social-conversation-search-clear{
  position:absolute;
  right:7px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f3f6f9;
  color:#718093;
  font:700 .78rem/1 Arial,sans-serif;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .12s ease;
}
.social-conversation-search-clear:hover{
  background:#ffeef5;
  color:var(--pink);
  transform:translateY(-50%) scale(1.04);
}
.social-conversation-search-clear:focus-visible{
  outline:2px solid rgba(212,19,103,.28);
  outline-offset:1px;
}
@media(max-width:760px){
  .social-conversation-tools{padding:9px 10px}
  .social-conversation-search-wrap input{height:38px;font-size:.66rem}
}

/* v0.6.4A — Social Inbox conversation details, labels and activity */
.social-thread-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.social-details-button{min-height:34px;padding:7px 12px;border-radius:999px;font-size:.58rem;font-weight:800}
.social-workspace{position:relative}
.social-details-drawer{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  z-index:55;
  width:min(390px,calc(100% - 54px));
  display:flex;
  flex-direction:column;
  border-left:1px solid var(--line);
  background:#fff;
  box-shadow:-18px 0 42px rgba(24,35,50,.14);
  animation:socialDetailsIn .18s ease both;
}
@keyframes socialDetailsIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.social-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}
.social-details-head h3{margin:2px 0 0;font-size:1rem}
.social-details-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);background:#fbfcfe}
.social-details-tabs button{min-width:0;padding:8px 7px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:800 .58rem/1 inherit;cursor:pointer;transition:background .15s ease,color .15s ease}
.social-details-tabs button:hover{background:#f2f5f8;color:var(--ink)}
.social-details-tabs button.is-active{background:#fff0f6;color:var(--pink)}
.social-details-body{min-height:0;flex:1;overflow:auto;padding:14px 16px 18px}
.social-details-panel{display:block}
.social-details-identity-note,.social-labels-intro{display:grid;gap:4px;margin-bottom:14px;padding:11px 12px;border:1px solid #dff0e7;border-radius:12px;background:#f3fbf7}
.social-details-identity-note strong,.social-labels-intro strong{font-size:.64rem}
.social-details-identity-note span,.social-labels-intro span{color:var(--muted);font-size:.56rem;line-height:1.5}
.social-details-form label{display:block;margin:0 0 5px;font-size:.58rem;font-weight:800}
.social-details-form input,.social-details-form textarea,.social-label-add input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;font:inherit;font-size:.64rem}
.social-details-form input{height:38px;margin-bottom:11px}
.social-details-form textarea{min-height:130px;resize:vertical}
.social-details-form input:focus,.social-details-form textarea:focus,.social-label-add input:focus{border-color:rgba(212,19,103,.5);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.social-details-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.social-details-form-actions .button-primary{margin-left:auto;white-space:nowrap}
.social-details-feedback{display:block;min-width:0;padding:7px 9px;border-radius:9px;font-size:.56rem;font-weight:700;line-height:1.4}
.social-details-feedback.is-success{background:#eefaf4;color:#2f875d}
.social-details-feedback.is-error{background:#fff1f2;color:#b52e3b}
.social-label-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.social-label-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 7px 6px 9px;border:1px solid rgba(212,19,103,.18);border-radius:999px;background:#fff4f8;color:#8d1749;font-size:.58rem;font-weight:750}
.social-label-chip button{width:20px;height:20px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fff;color:#9a536f;font:700 .7rem/1 Arial,sans-serif;cursor:pointer}
.social-label-chip button:hover{background:#ffe2ec;color:#b51e5f}
.social-label-empty{margin:4px 0 12px;padding:16px 10px;border:1px dashed var(--line);border-radius:11px;text-align:center;color:var(--muted);font-size:.58rem}
.social-label-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}
.social-label-add .button-primary{height:38px;padding:0 12px;white-space:nowrap}
.social-activity-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.social-activity-summary article{min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.social-activity-summary strong,.social-activity-summary span{display:block}
.social-activity-summary strong{overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:.72rem}
.social-activity-summary span{margin-top:4px;color:var(--muted);font-size:.54rem}
.social-activity-timeline{display:grid;gap:0}
.social-activity-entry{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid #eef1f5}
.social-activity-entry:last-child{border-bottom:0}
.social-activity-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(212,19,103,.08)}
.social-activity-entry strong,.social-activity-entry span{display:block}
.social-activity-entry strong{font-size:.6rem;line-height:1.45}
.social-activity-entry span{margin-top:4px;color:var(--muted);font-size:.52rem}
.social-activity-empty{padding:28px 12px;text-align:center;color:var(--muted)}
.social-activity-empty strong,.social-activity-empty span{display:block}.social-activity-empty strong{margin-bottom:5px;color:var(--ink);font-size:.66rem}.social-activity-empty span{font-size:.56rem}
@media(max-width:760px){
  .social-thread-actions{gap:6px}.social-details-button{padding:7px 10px}
  .social-details-drawer{position:fixed;inset:10px;z-index:1450;width:auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(21,29,40,.25)}
  .social-details-body{padding:13px}.social-activity-summary{grid-template-columns:1fr 1fr}.social-label-add{grid-template-columns:1fr}.social-label-add .button-primary{justify-self:stretch}
}

/* v0.6.4A-HF1 — conversation-details drawer layout hardening */
.social-workspace{position:relative!important;isolation:isolate}
.social-details-drawer{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  z-index:70!important;
  width:min(390px,calc(100% - 54px))!important;
  min-width:320px;
  max-width:100%;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:0!important;
  border-left:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:-18px 0 42px rgba(24,35,50,.16)!important;
}
.social-details-drawer.social-auto-hidden{display:none!important}
.social-details-head{flex:0 0 auto;background:#fff}
.social-details-tabs{flex:0 0 auto}
.social-details-body{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important}
.social-details-form{display:block}
.social-details-form label{display:block}
.social-details-form input,.social-details-form textarea,.social-label-add input{box-sizing:border-box}
.social-details-tabs button,.social-details-form .button-primary,.social-label-add .button-primary{appearance:none;-webkit-appearance:none}
@media(max-width:760px){
  .social-details-drawer{
    position:fixed!important;
    inset:10px!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    box-shadow:0 24px 70px rgba(21,29,40,.25)!important;
  }
}

/* v0.6.4B — inquiry workflow, assignment and filters */
.social-inquiry-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin-top:8px}
.social-inquiry-filters label{min-width:0;margin:0}
.social-inquiry-filters select{appearance:none;-webkit-appearance:none;width:100%;height:32px;padding:0 27px 0 10px;border:1px solid #d9e1eb;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23758294' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--ink);outline:none;font-family:Montserrat,Arial,sans-serif;font-size:.58rem;font-weight:500;line-height:1;cursor:pointer;text-rendering:optimizeLegibility}
.social-inquiry-filters select:focus{border-color:rgba(212,19,103,.48);box-shadow:0 0 0 3px rgba(212,19,103,.065)}
.social-conversation-title-row{display:flex!important;align-items:center;gap:6px;min-width:0;margin:0!important;color:var(--ink)!important}
.social-conversation-title-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.social-unread-dot{display:inline-block!important;flex:0 0 auto;width:7px;height:7px;margin:0!important;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.09);overflow:visible!important}
.social-conversation.is-unread{background:#fff9fc}
.social-conversation.is-unread.is-active{background:#fff0f6}
.social-conversation-badges{display:flex!important;align-items:center;flex-wrap:wrap;gap:4px;margin-top:7px!important;overflow:visible!important;white-space:normal!important}
.social-inquiry-badge{display:inline-flex!important;align-items:center;max-width:100%;padding:3px 6px;border-radius:999px;font-size:.47rem!important;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}
.social-inquiry-badge.is-needs-reply{background:#fff4dd;color:#8a6500}
.social-inquiry-badge.is-resolved{background:#edf8f2;color:#2e7d57}
.social-inquiry-badge.is-assigned{background:#eef4fb;color:#426b93}

.social-workflow-card{margin-bottom:14px;padding:12px;border:1px solid #e4eaf1;border-radius:13px;background:#fbfcfe}
.social-workflow-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.social-workflow-card-head>div{min-width:0;display:grid;gap:3px}
.social-workflow-card-head strong{font-size:.64rem}
.social-workflow-card-head span:not(.social-workflow-state){color:var(--muted);font-size:.54rem;line-height:1.45}
.social-workflow-state{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#eef4fb;color:#426b93;font-size:.51rem;font-weight:850;white-space:nowrap}
.social-workflow-state.is-needs-reply{background:#fff4dd;color:#8a6500}
.social-workflow-state.is-resolved{background:#edf8f2;color:#2e7d57}
.social-workflow-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.social-workflow-form>div{min-width:0}
.social-workflow-form label{display:block;margin:0 0 5px;font-size:.56rem;font-weight:800}
.social-workflow-form select{appearance:none;-webkit-appearance:none;width:100%;height:38px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23758294' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--ink);outline:none;font-family:Montserrat,Arial,sans-serif;font-size:.62rem;font-weight:500;line-height:1}
.social-workflow-form select:focus{border-color:rgba(212,19,103,.5);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.social-workflow-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px}
.social-workflow-actions .social-details-feedback{margin-right:auto}
.social-workflow-actions .button-primary{min-height:34px;padding:7px 11px;white-space:nowrap}
.social-workflow-readonly{padding:9px 10px;border-radius:10px;background:#fff;color:var(--muted);font-size:.58rem}

@media(max-width:760px){
  .social-inquiry-filters{grid-template-columns:1fr 1fr}
  .social-workflow-form{grid-template-columns:1fr}
  .social-workflow-actions{grid-column:auto;flex-wrap:wrap}
}


/* v0.6.4B-HF1 — Social Inbox filter typography polish */
.social-inquiry-filters select,.social-workflow-form select{font-family:Montserrat,Arial,sans-serif;letter-spacing:0}
.social-inquiry-filters select{font-size:.58rem;font-weight:500}
.social-inquiry-filters select option,.social-workflow-form select option{font-family:Montserrat,Arial,sans-serif;font-weight:500}

/* v0.6.4C — Social Inbox composer quick actions */
.social-emoji-wrap{position:relative;display:inline-flex}
.social-quick-action-button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.6rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.social-quick-action-button:hover{border-color:rgba(212,19,103,.34);background:#fff5f9}
.social-quick-action-button:active{transform:translateY(1px)}
.social-quick-action-button>span{font-size:.78rem;line-height:1}
.social-like-button>span{font-size:.9rem}
.social-emoji-picker{position:absolute;left:0;bottom:calc(100% + 8px);z-index:24;width:226px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 16px 40px rgba(21,34,48,.15)}
.social-emoji-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.social-emoji-choice{display:grid;place-items:center;width:100%;aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-size:1.2rem;cursor:pointer;transition:background .12s ease,transform .12s ease}
.social-emoji-choice:hover,.social-emoji-choice:focus-visible{background:#fff1f7;outline:none;transform:scale(1.06)}
@media(max-width:760px){.social-quick-action-button{padding:6px 8px}.social-quick-action-button{font-size:0}.social-quick-action-button>span{font-size:.86rem}.social-emoji-picker{left:auto;right:0;width:210px}}


/* v0.6.4D — Messenger inquiry quick triage actions */
.social-triage-bar{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 12px;border-bottom:1px solid var(--line);background:#fbfcfe;overflow-x:auto;scrollbar-width:thin}
.social-triage-action{appearance:none;border:1px solid #d9e1eb;border-radius:999px;background:#fff;color:var(--ink);min-height:29px;padding:5px 10px;font-family:Montserrat,Arial,sans-serif;font-size:.54rem;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease}
.social-triage-action:hover{border-color:rgba(212,19,103,.35);background:#fff7fa;color:var(--primary)}
.social-triage-action.is-active{border-color:rgba(212,19,103,.26);background:#fff0f6;color:var(--primary)}
.social-triage-action:disabled,.social-triage-action.is-busy{opacity:.55;cursor:wait}
.social-triage-feedback{margin-left:auto;color:#2e7d57;font-size:.52rem;font-weight:700;white-space:nowrap}
.social-triage-feedback.is-error{color:#b83b4b}
@media (max-width:900px){.social-triage-bar{padding:6px 9px}.social-triage-feedback{display:none}}

/* ================================================================
   v0.6.4D-HF1 — Global workspace density + responsive space use
   Keeps the sidebar/navigation system intact while giving every
   portal module more usable canvas and reducing duplicate header bulk.
   ================================================================ */

/* Global shell density */
.portal-topbar{
  min-height:72px;
  padding:10px 22px;
  gap:16px;
}
.topbar-left{gap:12px}
.topbar-left h1{font-size:1.14rem;line-height:1.15}
.topbar-kicker{font-size:.55rem;letter-spacing:.09em}
.portal-clock{min-width:132px;padding-right:13px}
.portal-content{
  width:100%;
  max-width:none;
  margin:0;
  padding:22px clamp(18px,2vw,30px) 26px;
}

/* Compact, non-redundant page heading pattern for every module page */
.page-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:16px 24px;
  margin-bottom:16px;
}
.page-intro>div:first-child{min-width:0}
.page-intro .eyebrow{margin-bottom:5px}
.page-intro h2{
  margin:0;
  font-size:clamp(1.55rem,2.1vw,2rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.page-intro p:last-child{
  max-width:900px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}

/* Dashboard remains distinctive, but less vertically wasteful */
.dashboard-hero{
  gap:18px 24px;
  margin-bottom:20px;
}
.dashboard-hero h2{
  font-size:clamp(2rem,3vw,2.65rem);
}
.dashboard-hero p:last-child{margin-top:7px;line-height:1.5}

/* Keep page-side actions/status compact rather than dominating the header */
.social-intro-actions{
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.social-intro-actions .connection-badge,
.social-intro-actions .social-live-status{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  font-size:.62rem;
}
.social-intro-actions .button-secondary{
  min-height:36px;
  padding:8px 13px;
  font-size:.68rem;
}

/* Use the reclaimed vertical space for the actual working surface */
.social-workspace{
  height:min(780px,calc(100vh - 190px));
  min-height:540px;
}

/* General panels and module work areas get slightly tighter outer spacing */
.panel{padding:20px}
.panel-grid{margin-top:12px}
.dashboard-module-grid{margin-top:14px}

@media (min-width:1500px){
  .portal-content{padding-left:32px;padding-right:32px}
}

@media (max-width:1100px){
  .portal-topbar{padding:10px 16px}
  .portal-content{padding:18px}
  .page-intro{grid-template-columns:1fr;align-items:start}
  .social-intro-actions{justify-content:flex-start}
  .social-workspace{height:min(760px,calc(100vh - 210px))}
}

@media (max-width:760px){
  .portal-topbar{min-height:64px;padding:8px 12px}
  .portal-content{padding:14px 12px 20px}
  .topbar-kicker{display:none}
  .topbar-left h1{font-size:1rem}
  .portal-clock{display:none}
  .page-intro{gap:10px;margin-bottom:12px}
  .page-intro h2{font-size:1.45rem}
  .page-intro p:last-child{font-size:.76rem;line-height:1.45}
  .social-intro-actions{width:100%;justify-content:flex-start}
  .social-intro-actions .button-secondary{margin-left:auto}
  .social-workspace{height:auto;min-height:0}
}

/* ===== RACMW v0.6.5A — Club Calendar / Google Calendar workspace ===== */
.calendar-intro {
  align-items: flex-end;
  gap: 20px;
}
.calendar-intro-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.calendar-workspace {
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
  min-height: clamp(500px, calc(100vh - 220px), 760px);
  background: #fff;
  border: 1px solid var(--line, #dce3ec);
  border-radius: 20px;
  overflow: hidden;
}
.calendar-sidebar {
  border-right: 1px solid var(--line, #dce3ec);
  background: #fbfcfe;
  min-width: 0;
}
.calendar-sidebar-head {
  padding: 18px 18px 15px;
  border-bottom: 1px solid var(--line, #dce3ec);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.calendar-sidebar-head strong { font-size: 14px; }
.calendar-sidebar-head small { color: var(--muted, #758093); font-size: 11px; overflow-wrap: anywhere; }
.calendar-view-nav {
  display: grid;
  gap: 4px;
  padding: 12px;
}
.calendar-view-nav a {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 11px;
  color: var(--text, #222a35);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.calendar-view-nav a:hover { background: #f5f7fb; }
.calendar-view-nav a.is-active {
  background: #fdeaf2;
  color: #d41367;
  font-weight: 700;
}
.calendar-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.calendar-main-head {
  min-height: 78px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line, #dce3ec);
}
.calendar-main-head h3 {
  margin: 3px 0 2px;
  font-size: 22px;
}
.calendar-main-head small { color: var(--muted, #758093); }
.calendar-event-list {
  padding: 16px;
  display: grid;
  gap: 10px;
  overflow: auto;
}
.calendar-event-card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--line, #dce3ec);
  border-radius: 16px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.calendar-event-card:hover {
  border-color: #c8d1de;
  box-shadow: 0 10px 30px rgba(31, 42, 55, .05);
}
.calendar-date-tile {
  min-height: 78px;
  border-radius: 14px;
  background: #f8f9fc;
  border: 1px solid #e6eaf0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.05;
}
.calendar-date-tile span {
  font-size: 11px;
  font-weight: 800;
  color: #d41367;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.calendar-date-tile strong {
  font-size: 28px;
  margin: 4px 0;
}
.calendar-date-tile small { font-size: 10px; color: var(--muted, #758093); }
.calendar-event-copy { min-width: 0; }
.calendar-event-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.calendar-event-title-row h4 {
  margin: 7px 0 0;
  font-size: 17px;
  line-height: 1.25;
}
.calendar-category-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fdeaf2;
  color: #d41367;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.calendar-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 10px;
  color: var(--muted, #758093);
  font-size: 12px;
}
.calendar-event-copy > p {
  margin: 10px 0 0;
  color: #576174;
  font-size: 12px;
  line-height: 1.55;
}
.calendar-empty-state {
  flex: 1;
  min-height: 430px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.calendar-empty-state.is-compact { min-height: 360px; }
.calendar-empty-state h3 { margin: 14px 0 5px; font-size: 20px; }
.calendar-empty-state p { max-width: 620px; margin: 0 0 18px; color: var(--muted, #758093); }
body.calendar-modal-open { overflow: hidden; }
.calendar-modal-backdrop[hidden] { display: none !important; }
.calendar-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(28, 35, 45, .54);
  backdrop-filter: blur(3px);
}
.calendar-modal {
  width: min(880px, 96vw);
  max-height: min(860px, 92vh);
  overflow: auto;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 28px 80px rgba(21, 30, 43, .24);
}
.calendar-modal-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line, #dce3ec);
  background: rgba(255,255,255,.97);
}
.calendar-modal-head h3 { margin: 2px 0 0; font-size: 20px; }
.calendar-modal-close {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line, #dce3ec);
  border-radius: 50%;
  background: #fff;
  color: var(--text, #222a35);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.calendar-event-form { padding: 20px; }
.calendar-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.calendar-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.calendar-field-wide { grid-column: 1 / -1; }
.calendar-field > span,
.calendar-attendee-head strong {
  font-size: 12px;
  font-weight: 700;
}
.calendar-field input,
.calendar-field select,
.calendar-field textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  border: 1px solid #d8e0ea;
  border-radius: 11px;
  background: #fff;
  color: var(--text, #222a35);
  font: 500 13px/1.4 Montserrat, Arial, sans-serif;
  padding: 10px 12px;
  outline: none;
}
.calendar-field textarea { resize: vertical; }
.calendar-field input:focus,
.calendar-field select:focus,
.calendar-field textarea:focus {
  border-color: #d41367;
  box-shadow: 0 0 0 3px rgba(212, 19, 103, .08);
}
.calendar-field small { color: var(--muted, #758093); font-size: 10px; }
.calendar-check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
  font-size: 12px;
  font-weight: 600;
}
.calendar-time-field.is-disabled { opacity: .45; }
.calendar-attendee-section {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line, #dce3ec);
}
.calendar-attendee-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.calendar-attendee-head small { display: block; margin-top: 3px; color: var(--muted, #758093); font-size: 10px; }
.calendar-member-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 190px;
  overflow: auto;
  padding: 4px 2px 12px;
}
.calendar-member-list label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 1px solid #e1e6ed;
  border-radius: 11px;
  cursor: pointer;
}
.calendar-member-list label:hover { background: #fafbfe; }
.calendar-member-list span { min-width: 0; display: grid; gap: 2px; }
.calendar-member-list strong { font-size: 11px; }
.calendar-member-list small { font-size: 10px; color: var(--muted, #758093); overflow-wrap: anywhere; }
.calendar-attendee-empty {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #f7f9fc;
  color: var(--muted, #758093);
  font-size: 11px;
}
.calendar-modal-actions {
  position: sticky;
  bottom: -20px;
  z-index: 2;
  margin: 20px -20px -20px;
  padding: 14px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid var(--line, #dce3ec);
  background: rgba(255,255,255,.98);
}

@media (max-width: 960px) {
  .calendar-workspace { grid-template-columns: 1fr; }
  .calendar-sidebar { border-right: 0; border-bottom: 1px solid var(--line, #dce3ec); }
  .calendar-sidebar-head { display: none; }
  .calendar-view-nav {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding: 10px 12px;
  }
  .calendar-view-nav a { white-space: nowrap; min-height: 36px; }
  .calendar-event-list { max-height: none; }
}
@media (max-width: 720px) {
  .calendar-intro { align-items: stretch; }
  .calendar-intro-actions { justify-content: flex-start; }
  .calendar-workspace { border-radius: 15px; }
  .calendar-event-card { grid-template-columns: 62px minmax(0, 1fr); gap: 11px; padding: 12px; }
  .calendar-event-title-row { flex-direction: column; }
  .calendar-date-tile { min-height: 66px; }
  .calendar-date-tile strong { font-size: 23px; }
  .calendar-form-grid { grid-template-columns: 1fr; }
  .calendar-field-wide { grid-column: auto; }
  .calendar-member-list { grid-template-columns: 1fr; }
  .calendar-modal-backdrop { align-items: flex-end; padding: 0; }
  .calendar-modal { width: 100%; max-height: 94vh; border-radius: 20px 20px 0 0; }
}

/* ===== RACMW v0.6.5B — Calendar event management ===== */
.calendar-event-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.calendar-event-actions .button-secondary,
.calendar-event-actions .button-link{
  min-height:34px;
  padding:7px 11px;
  font-size:11px;
}
.calendar-delete-event{
  color:#b4233f;
  border-color:#f0cbd4;
  background:#fff8fa;
}
.calendar-delete-event:hover{
  color:#95192f;
  border-color:#e8aebe;
  background:#fff2f6;
}
.calendar-response-summary{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.calendar-response-summary span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f5f8;
  color:#677184;
  font-size:10px;
  font-weight:700;
}
.calendar-response-summary .is-accepted{background:#e8f7f0;color:#0f6c45}
.calendar-response-summary .is-tentative{background:#fff6dc;color:#7a5a16}
.calendar-response-summary .is-declined{background:#fff0f4;color:#9b233e}
.calendar-confirm-backdrop[hidden]{display:none!important}
.calendar-confirm-backdrop{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(28,35,45,.58);
  backdrop-filter:blur(4px);
}
.calendar-confirm{
  width:min(480px,94vw);
  padding:24px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 80px rgba(21,30,43,.25);
}
.calendar-confirm h3{
  margin:5px 0 8px;
  font-size:21px;
  letter-spacing:-.025em;
}
.calendar-confirm>p:not(.eyebrow){
  margin:0;
  color:var(--muted,#758093);
  font-size:12px;
  line-height:1.6;
}
.calendar-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:20px;
}
.calendar-danger-button{
  min-height:40px;
  padding:9px 15px;
  border:1px solid #d7475c;
  border-radius:999px;
  color:#fff;
  background:#d7475c;
  font:700 12px/1 Montserrat,Arial,sans-serif;
  cursor:pointer;
}
.calendar-danger-button:hover{background:#bd3047;border-color:#bd3047}
.calendar-danger-button:disabled{opacity:.55;cursor:wait}

@media(max-width:720px){
  .calendar-event-actions{justify-content:flex-start}
  .calendar-confirm-backdrop{align-items:flex-end;padding:0}
  .calendar-confirm{width:100%;border-radius:20px 20px 0 0}
}
\n\n/* v0.6.5B-HF1 — Calendar action confirmation */\n.calendar-action-confirm{\n  text-align:center;\n  max-width:460px;\n}\n.calendar-action-icon{\n  width:54px;\n  height:54px;\n  margin:0 auto 14px;\n  border-radius:50%;\n  display:grid;\n  place-items:center;\n  background:#e8f7f0;\n  color:#0f8a5f;\n  font-size:27px;\n  font-weight:800;\n}\n.calendar-action-confirm .eyebrow{margin-bottom:4px;}\n.calendar-action-event-title{\n  display:block;\n  margin:10px 0 2px;\n  font-size:.9rem;\n  color:#252a31;\n}\n.calendar-action-confirm .calendar-confirm-actions{\n  justify-content:center;\n  margin-top:20px;\n}\n.calendar-action-confirm .button-primary{min-width:104px;}\n
/* ===== RACMW v0.6.5B-HF2 — Compact Calendar Event Modal ===== */
.calendar-modal {
  position: relative;
  width: min(900px, 94vw);
  max-height: min(780px, calc(100vh - 28px));
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.calendar-modal-head {
  flex: 0 0 auto;
  padding: 12px 18px;
  gap: 12px;
}
.calendar-modal-head .eyebrow { margin-bottom: 1px; }
.calendar-modal-head h3 {
  margin: 1px 0 0;
  font-size: 18px;
  line-height: 1.2;
}
.calendar-modal-close {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  font-size: 21px;
}
.calendar-event-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 13px 18px 72px;
  scrollbar-gutter: stable;
}
.calendar-form-grid {
  gap: 9px 12px;
}
.calendar-field {
  gap: 4px;
}
.calendar-field > span,
.calendar-attendee-head strong {
  font-size: 11px;
}
.calendar-field input,
.calendar-field select,
.calendar-field textarea {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
}
.calendar-field textarea[name="description"] {
  min-height: 70px;
  max-height: 96px;
}
.calendar-check {
  min-height: 24px;
  padding: 0;
  font-size: 11px;
}
.calendar-attendee-section {
  margin-top: 13px;
  padding-top: 11px;
}
.calendar-attendee-head {
  margin-bottom: 8px;
}
.calendar-attendee-head small {
  margin-top: 2px;
  font-size: 9px;
}
.calendar-member-list {
  gap: 6px;
  max-height: 126px;
  padding: 2px 1px 8px;
}
.calendar-member-list label {
  gap: 7px;
  padding: 8px;
  border-radius: 9px;
}
.calendar-member-list strong { font-size: 10px; }
.calendar-member-list small { font-size: 9px; }
.calendar-attendee-empty {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 9px;
  font-size: 10px;
}
.calendar-field textarea[name="manual_attendees"] {
  min-height: 48px;
  max-height: 64px;
}
.calendar-field small {
  font-size: 9px;
}
.calendar-modal-actions {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6;
  margin: 0;
  padding: 10px 18px;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  border-top: 1px solid var(--line, #dce3ec);
  background: rgba(255,255,255,.985);
  box-shadow: 0 -8px 22px rgba(28,35,45,.04);
}
.calendar-modal-actions .button-primary,
.calendar-modal-actions .button-secondary {
  min-height: 38px;
  padding: 8px 15px;
}

@media (max-height: 760px) and (min-width: 721px) {
  .calendar-modal {
    max-height: calc(100vh - 16px);
  }
  .calendar-modal-head {
    padding-top: 9px;
    padding-bottom: 9px;
  }
  .calendar-event-form {
    padding-top: 10px;
  }
  .calendar-form-grid {
    gap: 7px 10px;
  }
  .calendar-field input,
  .calendar-field select,
  .calendar-field textarea {
    min-height: 35px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .calendar-field textarea[name="description"] {
    min-height: 58px;
    max-height: 72px;
  }
  .calendar-attendee-section {
    margin-top: 9px;
    padding-top: 8px;
  }
  .calendar-attendee-empty {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .calendar-field textarea[name="manual_attendees"] {
    min-height: 42px;
    max-height: 50px;
  }
}

@media (max-width: 720px) {
  .calendar-modal {
    width: 100%;
    max-height: 94vh;
    border-radius: 18px 18px 0 0;
  }
  .calendar-modal-head {
    padding: 12px 14px;
  }
  .calendar-event-form {
    padding: 12px 14px 72px;
  }
  .calendar-modal-actions {
    padding: 10px 14px;
  }
  .calendar-modal-actions .button-primary,
  .calendar-modal-actions .button-secondary {
    flex: 1 1 0;
  }
}

/* ===== RACMW v0.6.5B-HF3 — Modal-contained Calendar Actions =====
   Keep Create/Edit actions physically inside the floating window.
   Only the form body scrolls; header and action footer remain visible. */
.calendar-modal {
  display: flex;
  flex-direction: column;
  width: min(900px, 94vw);
  max-height: min(780px, calc(100vh - 28px));
  overflow: hidden;
}
.calendar-modal-head {
  position: relative;
  top: auto;
  flex: 0 0 auto;
}
.calendar-event-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.calendar-event-form-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 13px 18px 12px;
  scrollbar-gutter: stable;
}
.calendar-modal-actions {
  position: static;
  inset: auto;
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  padding: 10px 18px;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  border-top: 1px solid var(--line, #dce3ec);
  background: #fff;
  box-shadow: 0 -8px 22px rgba(28,35,45,.04);
  z-index: 7;
}
.calendar-modal-actions .button-primary,
.calendar-modal-actions .button-secondary {
  min-height: 38px;
  padding: 8px 15px;
}

@media (max-height: 760px) and (min-width: 721px) {
  .calendar-modal {
    max-height: calc(100vh - 16px);
  }
  .calendar-event-form-body {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media (max-width: 720px) {
  .calendar-modal {
    width: 100%;
    max-height: 94vh;
    border-radius: 18px 18px 0 0;
  }
  .calendar-event-form-body {
    padding: 12px 14px 10px;
  }
  .calendar-modal-actions {
    padding: 10px 14px max(10px, env(safe-area-inset-bottom));
  }
  .calendar-modal-actions .button-primary,
  .calendar-modal-actions .button-secondary {
    flex: 1 1 0;
  }
}

/* ===== v0.6.6A — Club People Foundation ===== */
.people-intro{margin-bottom:18px}
.people-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.privacy-badge,.restricted-badge{display:inline-flex;align-items:center;min-height:30px;padding:7px 10px;border-radius:999px;font-size:.61rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.privacy-badge{color:#225477;background:#edf6fb;border:1px solid #d9eaf4}
.restricted-badge{color:#8d1f4f;background:#fff0f6;border:1px solid #f4cadb}

.people-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.people-search{min-width:260px;flex:1;display:flex;align-items:center;gap:8px;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#9aa1aa}
.people-search input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.72rem}
.people-filter-select{height:42px;min-width:170px;padding:0 34px 0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:.70rem;font-weight:500}
.people-toolbar-note{padding:0 4px;color:var(--muted);font-size:.68rem;font-weight:700;white-space:nowrap}

.people-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.people-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(36,42,49,.025)}
.people-card-wide{grid-column:1/-1}
.people-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.people-card-head h3{margin:0;font-size:1.15rem;letter-spacing:-.03em}
.people-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.people-definition-grid.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.people-definition-grid>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
.people-definition-grid span,.people-cell-label{display:block;margin-bottom:5px;color:var(--muted);font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.people-definition-grid strong{display:block;font-size:.76rem;line-height:1.4}
.people-detail-list{display:grid;gap:0;margin:0}
.people-detail-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.people-detail-list>div:last-child{border-bottom:0}
.people-detail-list dt{color:var(--muted);font-size:.65rem;font-weight:700}
.people-detail-list dd{margin:0;font-size:.72rem;line-height:1.55}
.people-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.people-snapshot-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafbfd}
.people-snapshot-card>span{display:block;color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.people-snapshot-card>strong{display:block;margin:8px 0 2px;color:var(--pink);font-size:1.75rem}
.people-snapshot-card>small{display:block;margin-bottom:8px;color:var(--muted);font-size:.62rem}
.people-snapshot-card>div{font-size:.65rem;line-height:1.5}

.people-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.people-metric-row.people-metric-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.people-metric-row>div{min-height:86px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.people-metric-row span{display:block;color:var(--muted);font-size:.60rem;font-weight:700}
.people-metric-row strong{display:block;margin-top:12px;color:var(--pink);font-size:1.45rem}
.people-metric-row strong.is-text{font-size:1rem;color:var(--ink)}

.people-table-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.people-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line)}
.people-table-head strong{font-size:.82rem}
.people-table-head span{color:var(--muted);font-size:.63rem}
.people-list-table{display:grid}
.people-list-row{display:grid;grid-template-columns:42px minmax(220px,1.4fr) repeat(4,minmax(120px,.7fr)) 74px;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.people-list-row:last-child{border-bottom:0}
.people-list-row:hover{background:#fffafd}
.people-list-row.people-filter-hidden{display:none!important}
.people-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:.74rem;font-weight:800}
.people-avatar.is-empty{color:#7d838d;background:#f1f3f7;border:1px solid var(--line)}
.people-primary-cell strong,.people-primary-cell span{display:block}
.people-primary-cell strong{font-size:.72rem;line-height:1.35}
.people-primary-cell span{margin-top:3px;color:var(--muted);font-size:.61rem;line-height:1.35}
.people-list-row>div:not(.people-primary-cell):not(.people-avatar):not(.people-row-actions) strong{font-size:.67rem;line-height:1.35}
.people-row-actions{display:flex;justify-content:flex-end}
.people-compact-button{min-height:34px;padding:7px 11px;font-size:.64rem}
.people-officer-row{grid-template-columns:42px minmax(230px,1.4fr) minmax(160px,.9fr) repeat(3,minmax(120px,.7fr)) 74px}
.people-candidate-row{grid-template-columns:42px minmax(220px,1.35fr) minmax(145px,.8fr) minmax(140px,.8fr) minmax(130px,.75fr) minmax(110px,.65fr) 74px}

.people-status-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 9px;border-radius:999px;font-size:.58rem;font-weight:800;white-space:nowrap}
.people-status-chip.is-good{color:#0d6d46;background:#e8f7f0}
.people-status-chip.is-warn{color:#7b5a13;background:#fff6dc}
.people-status-chip.is-danger{color:#9b233e;background:#fff0f4}
.people-status-chip.is-neutral{color:#59616d;background:#f0f2f6}
.people-security-note{margin-top:12px;padding:12px 15px;border:1px solid #dbe9f2;border-radius:13px;color:#536574;background:#f5fbfe;font-size:.66rem;line-height:1.55}
.people-empty-state{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}
.people-empty-icon{width:64px;height:64px;display:grid;place-items:center;margin-bottom:14px;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--blue));font-size:1.4rem;font-weight:800}
.people-empty-state h3{margin:0 0 6px;font-size:1rem}
.people-empty-state p{max-width:560px;margin:0 0 16px;color:var(--muted);font-size:.70rem;line-height:1.55}

.people-inline-form{display:flex;align-items:flex-end;gap:8px}
.people-inline-form label span{display:block;margin:0 0 4px;color:var(--muted);font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.people-inline-form input{height:42px;width:125px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:.69rem}

body.people-modal-open{overflow:hidden}
.people-modal-backdrop,.people-confirm-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:28px;background:rgba(28,34,42,.58);backdrop-filter:blur(5px)}
.people-modal{width:min(760px,calc(100vw - 36px));max-height:min(88vh,900px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.55);border-radius:22px;background:#fff;box-shadow:0 26px 80px rgba(20,26,34,.25);overflow:hidden}
.people-modal-lg{width:min(860px,calc(100vw - 36px))}
.people-modal-xl{width:min(980px,calc(100vw - 36px))}
.people-modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line)}
.people-modal-head h3{margin:0;font-size:1.12rem;letter-spacing:-.03em}
.people-modal-head .eyebrow{margin-bottom:3px}
.people-modal-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.1rem}
.people-modal-tabs{flex:0 0 auto;display:flex;gap:6px;padding:9px 14px;border-bottom:1px solid var(--line);background:#fbfcfe;overflow:auto}
.people-modal-tabs button{min-height:34px;padding:7px 13px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.66rem;font-weight:700;white-space:nowrap}
.people-modal-tabs button.is-active{color:var(--pink);background:#fff0f6}
.people-modal-form{min-height:0;display:flex;flex:1;flex-direction:column}
.people-form-scroll{min-height:0;flex:1;overflow:auto;padding:16px 20px}
.people-form-section{padding-bottom:14px}
.people-form-section+ .people-form-section{padding-top:15px;border-top:1px solid var(--line)}
.people-form-section h4{margin:0 0 10px;font-size:.80rem}
.people-help{margin:-3px 0 12px;color:var(--muted);font-size:.62rem;line-height:1.5}
.people-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 12px}
.people-form-grid .span-2{grid-column:1/-1}
.people-form-grid label>span,.people-admit-panel label>span{display:block;margin:0 0 5px;font-size:.62rem;font-weight:700}
.people-form-grid input,.people-form-grid select,.people-form-grid textarea,.people-admit-panel input,.people-admit-panel select{width:100%;min-height:40px;padding:9px 11px;border:1px solid #d7dee8;border-radius:10px;outline:0;background:#fff;color:var(--ink);font:500 .69rem Montserrat,Arial,sans-serif}
.people-form-grid textarea{resize:vertical;line-height:1.45}
.people-form-grid input:focus,.people-form-grid select:focus,.people-form-grid textarea:focus,.people-admit-panel input:focus,.people-admit-panel select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(212,19,103,.07)}
.people-check{display:flex!important;align-items:center;gap:8px;padding-top:18px}
.people-check input{width:16px!important;min-height:16px!important;height:16px;padding:0}
.people-check span{margin:0!important}
.people-section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.people-restricted-section{padding:14px;border:1px solid #f0d3df;border-radius:14px;background:#fffafd}
.people-linked-record{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbfd;font-size:.68rem}
.people-linked-record a{color:var(--pink);font-weight:700}
.people-modal-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}
.people-foot-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.button-danger{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #f0c0cc;border-radius:999px;color:#ad2f49;background:#fff6f8;font:700 .68rem Montserrat,Arial,sans-serif}

.people-admit-panel{flex:0 0 auto;padding:12px 18px;border-top:1px solid #dce9d8;background:#f7fcf5}
.people-admit-panel form{display:grid;grid-template-columns:minmax(220px,1fr) 160px 170px auto;gap:10px;align-items:end}
.people-admit-panel form>div strong,.people-admit-panel form>div span{display:block}
.people-admit-panel form>div strong{font-size:.72rem}
.people-admit-panel form>div span{margin-top:3px;color:var(--muted);font-size:.59rem;line-height:1.4}

.people-confirm-card{width:min(440px,calc(100vw - 34px));padding:22px;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(20,26,34,.28)}
.people-confirm-card h3{margin:0 0 7px;font-size:1.12rem;letter-spacing:-.03em}
.people-confirm-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:.70rem;line-height:1.55}
.people-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}

.people-toast{position:fixed;z-index:180;right:22px;bottom:22px;width:min(430px,calc(100vw - 44px));margin:0!important;padding-right:46px!important;box-shadow:0 18px 55px rgba(26,32,40,.18);transition:opacity .25s ease,transform .25s ease}
.people-toast.is-leaving{opacity:0;transform:translateY(10px)}
.people-toast-close{position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.68);color:inherit;font-size:1rem}

@media(max-width:1250px){
  .people-definition-grid.is-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-metric-row.people-metric-six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .people-list-row,.people-officer-row,.people-candidate-row{grid-template-columns:42px minmax(200px,1.3fr) repeat(2,minmax(120px,.8fr)) 74px}
  .people-list-row>div:nth-of-type(5),.people-list-row>div:nth-of-type(6){display:none}
  .people-officer-row>div:nth-of-type(5),.people-officer-row>div:nth-of-type(6){display:none}
  .people-candidate-row>div:nth-of-type(5),.people-candidate-row>div:nth-of-type(6){display:none}
}
@media(max-width:900px){
  .people-profile-grid{grid-template-columns:1fr}
  .people-card-wide{grid-column:auto}
  .people-snapshot-grid{grid-template-columns:1fr}
  .people-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-metric-row.people-metric-six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-toolbar{flex-wrap:wrap}
  .people-search{min-width:100%;flex-basis:100%}
  .people-filter-select{flex:1;min-width:150px}
  .people-list-row,.people-officer-row,.people-candidate-row{grid-template-columns:42px minmax(0,1fr) auto;padding:13px}
  .people-list-row>div:not(.people-avatar):not(.people-primary-cell):not(.people-row-actions){display:none}
  .people-row-actions{display:flex!important}
  .people-admit-panel form{grid-template-columns:1fr 1fr}
  .people-admit-panel form>div{grid-column:1/-1}
}
@media(max-width:680px){
  .people-intro{align-items:flex-start}
  .people-intro-actions{width:100%;justify-content:flex-start}
  .people-definition-grid,.people-definition-grid.is-four{grid-template-columns:1fr}
  .people-detail-list>div{grid-template-columns:1fr;gap:4px}
  .people-metric-row,.people-metric-row.people-metric-six{grid-template-columns:1fr 1fr}
  .people-inline-form{width:100%;flex-wrap:wrap}
  .people-inline-form label{flex:1}
  .people-inline-form input{width:100%}
  .people-modal-backdrop,.people-confirm-backdrop{padding:10px}
  .people-modal,.people-modal-lg,.people-modal-xl{width:100%;max-height:95vh;border-radius:16px}
  .people-modal-head{padding:13px 14px}
  .people-form-scroll{padding:13px 14px}
  .people-form-grid{grid-template-columns:1fr}
  .people-form-grid .span-2{grid-column:auto}
  .people-modal-foot{align-items:stretch;padding:10px 12px;flex-direction:column-reverse}
  .people-modal-foot>div,.people-foot-actions{width:100%}
  .people-foot-actions{justify-content:stretch}
  .people-foot-actions .button-primary,.people-foot-actions .button-secondary{flex:1}
  .people-admit-panel form{grid-template-columns:1fr}
  .people-admit-panel form>div{grid-column:auto}
  .people-toast{right:12px;bottom:12px;width:calc(100vw - 24px)}
}


/* ===== v0.6.6A-HF1 — Member Form Guardrails & Save Preview ===== */
.people-confirm-backdrop,.people-preview-backdrop{z-index:150}
.people-preview-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:28px;background:rgba(28,34,42,.62);backdrop-filter:blur(6px)}
.people-preview-card{width:min(760px,calc(100vw - 36px));max-height:min(86vh,860px);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.6);border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(20,26,34,.3);overflow:hidden}
.people-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.people-preview-head h3{margin:0 0 5px;font-size:1.12rem;letter-spacing:-.03em}
.people-preview-head p:not(.eyebrow){margin:0;max-width:620px;color:var(--muted);font-size:.68rem;line-height:1.55}
.people-preview-scroll{min-height:0;overflow:auto;padding:16px 20px}
.people-preview-section{padding:14px 0}
.people-preview-section:first-child{padding-top:0}
.people-preview-section+.people-preview-section{border-top:1px solid var(--line)}
.people-preview-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.people-preview-section-title h4{margin:0;font-size:.76rem}
.people-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.people-preview-item{min-width:0;padding:10px 11px;border:1px solid #e1e6ed;border-radius:11px;background:#fafbfd}
.people-preview-item span{display:block;margin-bottom:4px;color:var(--muted);font-size:.54rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.people-preview-item strong{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:.68rem;line-height:1.45;white-space:pre-wrap}
.people-preview-item.is-restricted{border-color:#f0d3df;background:#fffafd}
.people-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}
.people-preview-note{color:var(--muted);font-size:.59rem;line-height:1.45}
.people-preview-actions{display:flex;justify-content:flex-end;gap:8px}
.people-unsaved-indicator{display:inline-flex;align-items:center;gap:6px;color:#8a5c18;font-size:.59rem;font-weight:700}
.people-unsaved-indicator::before{content:"";width:7px;height:7px;border-radius:50%;background:#d6931a;box-shadow:0 0 0 3px rgba(214,147,26,.12)}
.people-toast{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;align-items:start;gap:10px;padding:13px 12px!important}
.people-toast-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.72);font-size:.85rem;font-weight:900}
.people-toast-body{min-width:0;padding-top:1px}
.people-toast-title{display:block;margin-bottom:2px;font-size:.68rem;font-weight:800}
.people-toast-message{display:block;font-size:.63rem;line-height:1.45}
.people-toast-close{position:static;align-self:start}
@media(max-width:680px){
  .people-preview-backdrop{padding:10px}
  .people-preview-card{width:100%;max-height:95vh;border-radius:16px}
  .people-preview-head{padding:14px}
  .people-preview-scroll{padding:13px 14px}
  .people-preview-grid{grid-template-columns:1fr}
  .people-preview-foot{align-items:stretch;flex-direction:column;padding:10px 12px}
  .people-preview-actions{width:100%}
  .people-preview-actions .button-primary,.people-preview-actions .button-secondary{flex:1}
}


/* ===== v0.6.6A-HF4 — People notification + restore control UI polish ===== */
.people-toast{
  top:84px;
  right:18px;
  bottom:auto!important;
  width:min(360px,calc(100vw - 36px));
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:12px!important;
  grid-template-columns:28px minmax(0,1fr) 26px;
  gap:9px;
  align-items:start;
  border-radius:12px;
  box-shadow:0 12px 34px rgba(26,32,40,.16);
}
.people-toast.is-leaving{opacity:0;transform:translateY(-8px)}
.people-toast-icon{
  width:28px;
  height:28px;
  font-size:.78rem;
}
.people-toast-title{
  margin-bottom:1px;
  font-size:.66rem;
  line-height:1.25;
}
.people-toast-message{
  font-size:.61rem;
  line-height:1.4;
}
.people-toast-close{
  width:26px;
  height:26px;
  min-width:26px;
  padding:0;
  display:grid;
  place-items:center;
  line-height:1;
  cursor:pointer;
}

.button-restore{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border:1px solid #b9dfcf;
  border-radius:999px;
  background:#edf9f4;
  color:#16704e;
  font:700 .68rem Montserrat,Arial,sans-serif;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.button-restore:hover{background:#e2f5ec;border-color:#9fd1bc}
.button-restore:active{transform:translateY(1px)}
.button-restore:focus-visible{outline:3px solid rgba(22,112,78,.16);outline-offset:2px}

.people-archive-banner{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 18px 0;
  padding:10px 12px;
  border:1px solid #efdca4;
  border-radius:12px;
  background:#fff9e9;
  color:#715616;
}
.people-archive-banner strong{font-size:.68rem;line-height:1.35}
.people-archive-banner span{color:#7d6d43;font-size:.61rem;line-height:1.45}

@media(max-width:680px){
  .people-toast{
    top:76px;
    right:12px;
    bottom:auto!important;
    width:calc(100vw - 24px);
  }
  .people-archive-banner{margin:10px 12px 0}
  .button-restore{min-height:42px;padding:10px 15px}
}

/* ===== v0.6.6A-HF5 — Officer semantics + workflow polish ===== */
.people-field-help{
  margin:10px 0 0;
  padding:9px 11px;
  border:1px solid #dfe6ee;
  border-radius:10px;
  background:#f8fafc;
  color:var(--muted);
  font-size:.59rem;
  line-height:1.5;
}
.people-modal-form :disabled{
  cursor:not-allowed;
  opacity:.72;
}
.people-officer-row[data-assignment-state="unassigned"] .people-primary-cell>span{color:#8a6a22}
.people-officer-row[data-assignment-state="archived"]{background:#fbfbfc}
.people-officer-row[data-assignment-state="archived"] .people-primary-cell{opacity:.78}
@media(max-width:680px){
  .people-field-help{font-size:.61rem}
}

/* ===== v0.6.6A-HF6 — Noticeable portal action toasts ===== */
.people-toast{
  top:82px;
  right:22px;
  width:min(395px,calc(100vw - 44px));
  padding:14px 14px 14px 15px!important;
  grid-template-columns:34px minmax(0,1fr) 28px;
  gap:11px;
  border-width:1px 1px 1px 5px!important;
  border-style:solid!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(20,26,34,.22),0 3px 10px rgba(20,26,34,.08)!important;
  animation:racmwPeopleToastIn .42s cubic-bezier(.2,.85,.25,1.15) both;
  overflow:hidden;
}
.people-toast.flash-success{
  border-color:#b8e3cf #b8e3cf #b8e3cf #178458!important;
  color:#123f2f!important;
  background:linear-gradient(90deg,#f2fbf7 0,#fff 34%)!important;
}
.people-toast.flash-error,.people-toast.flash-danger{
  border-color:#f1c1ce #f1c1ce #f1c1ce #c73659!important;
  color:#6f1831!important;
  background:linear-gradient(90deg,#fff3f6 0,#fff 34%)!important;
}
.people-toast.flash-warning{
  border-color:#ecd99a #ecd99a #ecd99a #b77b12!important;
  color:#67470d!important;
  background:linear-gradient(90deg,#fff9e8 0,#fff 34%)!important;
}
.people-toast-icon{
  width:34px;
  height:34px;
  color:#fff;
  background:#66727f;
  box-shadow:0 0 0 5px rgba(102,114,127,.10);
  font-size:.9rem;
}
.people-toast.flash-success .people-toast-icon{
  background:#178458;
  box-shadow:0 0 0 5px rgba(23,132,88,.12);
  animation:racmwPeopleToastIconPulse 1.15s ease-out .25s 1;
}
.people-toast.flash-error .people-toast-icon,.people-toast.flash-danger .people-toast-icon{
  background:#c73659;
  box-shadow:0 0 0 5px rgba(199,54,89,.12);
}
.people-toast.flash-warning .people-toast-icon{
  background:#b77b12;
  box-shadow:0 0 0 5px rgba(183,123,18,.12);
}
.people-toast-body{padding-top:0}
.people-toast-title{
  margin-bottom:3px;
  color:var(--ink);
  font-size:.76rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.01em;
}
.people-toast-message{
  color:#4d5966;
  font-size:.65rem;
  font-weight:600;
  line-height:1.48;
}
.people-toast-close{
  width:28px;
  height:28px;
  min-width:28px;
  border:1px solid rgba(110,122,136,.14);
  background:rgba(255,255,255,.90);
  color:#687481;
  font-weight:700;
}
.people-toast-close:hover{background:#fff;color:var(--ink);border-color:#cdd5de}
.people-toast::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:rgba(23,132,88,.20);
  transform-origin:left center;
  animation:racmwPeopleToastTimer 5.2s linear forwards;
}
.people-toast.flash-error::after,.people-toast.flash-danger::after{background:rgba(199,54,89,.22)}
.people-toast.flash-warning::after{background:rgba(183,123,18,.22)}
.people-toast.is-leaving{animation:none;opacity:0;transform:translateY(-8px) scale(.985)}

@keyframes racmwPeopleToastIn{
  0%{opacity:0;transform:translate3d(34px,-6px,0) scale(.97)}
  72%{opacity:1;transform:translate3d(-3px,0,0) scale(1.005)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes racmwPeopleToastIconPulse{
  0%{box-shadow:0 0 0 0 rgba(23,132,88,.32)}
  55%{box-shadow:0 0 0 9px rgba(23,132,88,.08)}
  100%{box-shadow:0 0 0 5px rgba(23,132,88,.12)}
}
@keyframes racmwPeopleToastTimer{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media(max-width:680px){
  .people-toast{
    top:76px;
    right:12px;
    width:calc(100vw - 24px);
    padding:13px!important;
    grid-template-columns:32px minmax(0,1fr) 28px;
  }
  .people-toast-icon{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){
  .people-toast,.people-toast-icon,.people-toast::after{animation:none!important}
}
