.spc-login-prompt{text-align:center; padding:60px 24px;}
.spc-login-prompt p{color:var(--spc-ink-soft,#565b7a); margin-bottom:20px;}
.spc-join-btn-outline{background:transparent !important; color:#0d1442 !important; border:1.5px solid #0d1442; margin-left:10px;}

/* ---- directory header + stat card ---- */
.spc-directory-header{display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.spc-directory-stat-card{display:flex; align-items:center; gap:14px; background:#fdf3e3; border-radius:16px; padding:16px 22px; flex-shrink:0;}
.spc-directory-stat-icon{width:44px; height:44px; border-radius:50%; background:#fde3e6; color:#c2295a; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.spc-directory-stat-icon svg{width:20px; height:20px;}
.spc-directory-stat-card small{display:block; font-size:0.74em; color:#9498b3;}
.spc-directory-stat-card strong{display:block; font-size:1.3em; color:#0d1442; margin:2px 0;}

/* ---- toolbar ---- */
.spc-directory-toolbar{display:flex; flex-wrap:wrap; gap:12px; margin:32px 0 8px;}
.spc-directory-search{position:relative; flex:1 1 260px;}
.spc-directory-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:#9498b3; pointer-events:none;}
.spc-directory-search input{width:100%; border:1.5px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:11px 16px 11px 42px; font-family:inherit; font-size:0.9em; background:#fff;}
.spc-directory-search input:focus{outline:none; border-color:var(--spc-indigo,#2a3596);}
.spc-directory-toolbar select{width:auto; flex:0 1 200px; min-width:0; border:1.5px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:11px 34px 11px 14px; font-family:inherit; font-size:0.86em; background-color:#fff; color:#171a30; cursor:pointer; appearance:none; -webkit-appearance:none; -moz-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239498b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:14px;}
.spc-directory-toolbar select:focus{outline:none; border-color:var(--spc-indigo,#2a3596);}

.spc-directory-footer{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:32px;}
.spc-directory-count{font-size:0.82em; color:#9498b3;}

/* ---- directory grid + cards ---- */
.spc-directory-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px; transition:opacity .15s ease;}
.spc-directory-grid.spc-loading{opacity:.5; pointer-events:none;}
.spc-directory-empty{grid-column:1/-1; color:#9498b3; text-align:center; padding:40px 0;}
.spc-directory-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:20px; transition:box-shadow .2s ease, transform .2s ease;}
.spc-directory-card:hover{box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3)); transform:translateY(-2px);}
.spc-directory-avatar{width:56px; height:56px; border-radius:50%; object-fit:cover; margin-bottom:14px;}
.spc-directory-body{display:flex; flex-direction:column; gap:3px; flex:1;}
.spc-directory-name-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.spc-directory-name{font-weight:800; color:#0d1442; font-size:0.94em;}
.spc-directory-online{display:inline-flex; align-items:center; gap:5px; font-size:0.72em; font-weight:700; color:#25a765;}
.spc-pulse-dot{width:6px; height:6px; border-radius:50%; background:#25a765; animation:spc-pulse 1.8s ease-in-out infinite;}
.spc-directory-specialty{font-size:0.82em; color:#565b7a; margin-top:2px;}
.spc-directory-institution{font-size:0.8em; color:#9498b3;}
.spc-directory-country{font-size:0.8em; color:#9498b3;}
.spc-directory-actions{display:flex; align-items:center; gap:8px; margin-top:16px;}
.spc-directory-view-btn{flex:1; text-align:center; background:#fff; border:1.5px solid var(--spc-navy-900,#0d1442); color:var(--spc-navy-900,#0d1442); font-weight:800; font-size:0.82em; padding:9px 14px; border-radius:10px; text-decoration:none;}
.spc-directory-view-btn:hover{background:var(--spc-navy-900,#0d1442); color:#fff;}
.spc-msg-btn.spc-msg-btn-icon{margin-top:0; width:36px; height:36px; flex-shrink:0; padding:0; border-radius:50%; background:#f4f2fd; color:#0d1442; display:flex; align-items:center; justify-content:center;}
.spc-msg-btn.spc-msg-btn-icon:hover{background:#0d1442; color:#fff;}
.spc-msg-btn-icon svg{width:15px; height:15px;}

/* ---- pagination ---- */
.spc-directory-pagination{display:flex; align-items:center; flex-wrap:wrap; gap:6px;}
.spc-directory-page-btn{min-width:34px; height:34px; padding:0 8px; border:1.5px solid var(--spc-line,#e2e2ee); border-radius:8px; background:#fff; color:#565b7a; font-weight:700; font-size:0.82em; cursor:pointer;}
.spc-directory-page-btn:hover:not(:disabled){border-color:var(--spc-indigo,#2a3596); color:var(--spc-indigo,#2a3596);}
.spc-directory-page-btn.spc-active{background:#c2295a; border-color:#c2295a; color:#fff;}
.spc-directory-page-btn:disabled{opacity:.4; cursor:default;}

.spc-profile-header{display:flex; gap:24px; align-items:center; margin-bottom:24px;}
.spc-profile-avatar{width:120px; height:120px; border-radius:50%; object-fit:cover;}
.spc-profile-specialty{display:inline-block; background:#fdeef4; color:#9c1d47; font-weight:800; font-size:0.72em; padding:5px 14px; border-radius:999px; margin-bottom:8px;}
.spc-profile-meta{color:#9498b3; font-size:0.86em;}
.spc-msg-btn{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); margin-top:12px; background:#0d1442; color:#fff; border:none; padding:9px 20px; border-radius:999px; font-weight:800; font-size:0.82em; cursor:pointer;}
.spc-profile-bio{color:#565b7a; line-height:1.7; max-width:640px;}
.spc-profile-edit-note{margin-top:16px; font-size:0.82em; color:#9498b3;}
.spc-profile-edit-note a{color:#c2295a;}

/* ---- edit profile ---- */
.spc-profile-readonly{display:grid; grid-template-columns:repeat(2,1fr); gap:14px 20px; background:#f7f8fc; border-radius:14px; padding:18px 20px; margin-bottom:8px;}
.spc-profile-readonly-item{display:flex; flex-direction:column; gap:2px; min-width:0;}
.spc-profile-readonly-item span{font-size:0.72em; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#9498b3;}
.spc-profile-readonly-item strong{font-size:0.92em; color:#171a30; overflow-wrap:anywhere;}
.spc-profile-readonly-note{font-size:0.8em; color:#9498b3; margin:10px 0 24px;}
.spc-profile-readonly-note a{color:#c2295a;}
.spc-profile-readonly-4col{grid-template-columns:repeat(4,1fr);}
.spc-field-section-label{font-size:0.78em; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#9498b3; margin:28px 0 4px;}

.spc-profile-social{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap;}
.spc-profile-social a{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:#eef2fd; color:#2a3596; transition:background .15s ease, color .15s ease;}
.spc-profile-social a:hover{background:#2a3596; color:#fff;}
.spc-profile-social svg{width:17px; height:17px;}

/* ---- profile overview (self-view gradient header + tabs + quick actions) ---- */
.spc-poverview-header{
  position:relative; overflow:hidden; display:flex; align-items:center; gap:28px; flex-wrap:wrap;
  background:linear-gradient(120deg,#eef0fb,#fdeef4); border-radius:20px; padding:32px 36px; margin-bottom:0;
}
.spc-poverview-header-compact{margin-bottom:24px;}
.spc-poverview-avatar-wrap{position:relative; flex-shrink:0; z-index:1;}
.spc-poverview-avatar{width:112px; height:112px; border-radius:50%; object-fit:cover; border:4px solid #fff; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3)); display:block;}
.spc-poverview-avatar-btn{position:absolute; right:2px; bottom:2px; width:34px; height:34px; border-radius:50%; background:var(--spc-navy-900,#0d1442); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; border:3px solid #fff;}
.spc-poverview-avatar-btn:hover{background:#c2295a;}
.spc-poverview-avatar-btn svg{width:15px; height:15px;}
.spc-poverview-info{position:relative; z-index:1; flex:1; min-width:220px;}
.spc-poverview-info h2{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-size:1.5em; color:#0d1442; margin:0 0 6px;}
.spc-poverview-location{display:inline-flex; align-items:center; gap:6px; font-size:0.86em; color:#565b7a; padding-bottom:14px; border-bottom:2px solid var(--spc-crimson,#e0293f); margin-bottom:12px;}
.spc-poverview-location svg{width:14px; height:14px;}
.spc-poverview-note{font-size:0.84em; color:#565b7a; margin:0; max-width:420px; line-height:1.5;}
.spc-poverview-note a{color:#c2295a; font-weight:700;}
.spc-poverview-stats{position:relative; z-index:1; display:flex; flex-direction:column; gap:14px; flex-shrink:0;}
.spc-poverview-stat{display:flex; align-items:center; gap:12px;}
.spc-poverview-stat-icon{width:38px; height:38px; border-radius:50%; background:#fff; color:#0d1442; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3));}
.spc-poverview-stat-icon svg{width:17px; height:17px;}
.spc-poverview-stat small{display:block; font-size:0.7em; color:#9498b3;}
.spc-poverview-stat strong{display:block; font-size:0.92em; color:#0d1442; margin-top:1px;}
.spc-poverview-completion{min-width:150px;}
.spc-poverview-completion-label{display:flex; align-items:baseline; justify-content:space-between; gap:10px;}
.spc-poverview-completion-label strong{color:#c2295a;}
.spc-poverview-completion-bar{display:block; width:100%; height:5px; border-radius:999px; background:#e2e2ee; margin-top:5px; overflow:hidden;}
.spc-poverview-completion-bar span{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, #e0293f, #c2295a);}

.spc-poverview-tabs{display:flex; gap:4px; overflow-x:auto; background:#fff; border-radius:16px; padding:6px; margin-top:20px; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3));}
.spc-poverview-tab-btn{
  display:flex; align-items:center; gap:8px; flex-shrink:0; background:none; border:none; border-radius:11px; padding:11px 18px;
  font-family:inherit; font-size:0.84em; font-weight:700; color:#9498b3; cursor:pointer;
}
.spc-poverview-tab-btn svg{width:16px; height:16px;}
.spc-poverview-tab-btn:hover{color:#0d1442;}
.spc-poverview-tab-btn.active{background:#fdeef0; color:#c2295a;}

.spc-poverview-content{display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-top:20px; align-items:start;}
.spc-poverview-tab-panel{display:none;}
.spc-poverview-tab-panel.active{display:block;}
.spc-poverview-card{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:26px;}
.spc-poverview-card h3{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-size:1.02em; color:#0d1442; margin:0 0 12px; padding-left:12px; border-left:3px solid var(--spc-crimson,#e0293f);}
.spc-poverview-card > p{color:#565b7a; font-size:0.88em; line-height:1.6; margin:0 0 22px;}
.spc-poverview-empty{color:#9498b3; font-size:0.88em;}
.spc-poverview-empty a{color:#c2295a; font-weight:700;}

.spc-poverview-features{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.spc-poverview-feature{display:flex; flex-direction:column; gap:6px;}
.spc-poverview-feature-icon{width:38px; height:38px; border-radius:50%; background:#fdeef0; color:#c2295a; display:flex; align-items:center; justify-content:center;}
.spc-poverview-feature-icon svg{width:17px; height:17px;}
.spc-poverview-feature strong{font-size:0.86em; color:#0d1442;}
.spc-poverview-feature-desc{font-size:0.78em; color:#9498b3; line-height:1.4;}

.spc-quick-actions{display:flex; flex-direction:column; gap:10px;}
.spc-quick-action{display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:none; border:1px solid var(--spc-line,#e2e2ee); border-radius:12px; padding:12px 14px; cursor:pointer; font-family:inherit; text-decoration:none;}
.spc-quick-action:hover{border-color:var(--spc-indigo,#2a3596); background:#f7f8fc;}
.spc-quick-action-icon{width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.spc-quick-action-icon svg{width:15px; height:15px;}
.spc-quick-action-icon-pink{background:#fdeef0; color:#c2295a;}
.spc-quick-action-icon-blue{background:#eaf1fb; color:#3b6ea8;}
.spc-quick-action-icon-violet{background:#f0edfb; color:#7b3fd6;}
.spc-quick-action-icon-purple{background:#f4f2fd; color:#5b3fa8;}
.spc-quick-action-copy{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px;}
.spc-quick-action strong{font-size:0.84em; color:#0d1442;}
.spc-quick-action small{font-size:0.74em; color:#9498b3;}
.spc-quick-action-arrow{width:15px; height:15px; color:#9498b3; flex-shrink:0;}

.spc-avatar-upload-spinner{display:none; position:absolute; inset:0; border-radius:50%; background:rgba(255,255,255,.7); align-items:center; justify-content:center;}
.spc-avatar-upload-spinner::after{content:''; width:22px; height:22px; border:2.5px solid rgba(13,20,66,.25); border-top-color:#0d1442; border-radius:50%; animation:spc-spin .7s linear infinite;}
.spc-profile-dash-avatar-wrap.spc-loading .spc-avatar-upload-spinner{display:flex;}
.spc-avatar-upload-error{display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:8px; width:180px; text-align:center; font-size:0.76em; color:#c2295a; background:#fff; border-radius:8px; padding:4px 8px; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3));}
.spc-avatar-upload-error.spc-show{display:block;}

/* ---- edit profile: sidebar-nav layout ---- */
.spc-profile-edit-layout{display:grid; grid-template-columns:240px 1fr 280px; gap:24px; align-items:start;}

.spc-profile-edit-sidebar{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:22px; position:sticky; top:20px;}

.spc-profile-edit-preview{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:24px; position:sticky; top:20px; display:flex; flex-direction:column; align-items:center; text-align:center;}
.spc-profile-edit-preview-avatar-wrap{position:relative; margin-bottom:12px;}
.spc-profile-edit-preview-avatar{width:88px; height:88px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3)); display:block;}
.spc-profile-edit-preview strong{font-size:1.02em; color:#0d1442;}
.spc-profile-edit-preview-specialty{font-size:0.8em; color:#c2295a; font-weight:700; margin-top:4px;}
.spc-profile-edit-preview-location{display:inline-flex; align-items:center; gap:5px; font-size:0.8em; color:#9498b3; margin-top:6px;}
.spc-profile-edit-preview-location svg{width:13px; height:13px;}
.spc-profile-edit-preview-stats{width:100%; display:flex; flex-direction:column; gap:10px; margin:18px 0; padding:16px 0; border-top:1px solid var(--spc-line,#e2e2ee); border-bottom:1px solid var(--spc-line,#e2e2ee);}
.spc-profile-edit-preview-stats div{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.spc-profile-edit-preview-stats small{font-size:0.76em; color:#9498b3;}
.spc-profile-edit-preview-stats strong{font-size:0.82em; color:#0d1442;}
.spc-profile-edit-preview-notice{display:flex; align-items:flex-start; gap:8px; background:#eef2fd; color:#2a3596; border-radius:12px; padding:12px 14px; font-size:0.76em; line-height:1.5; text-align:left;}
.spc-profile-edit-preview-notice svg{width:15px; height:15px; flex-shrink:0; margin-top:1px;}
.spc-profile-edit-preview-notice-private{background:#f7f8fc; color:#9498b3;}
.spc-profile-edit-preview-btn{display:block; width:100%; box-sizing:border-box; margin-top:16px; background:var(--spc-navy-900,#0d1442); color:#fff; text-align:center; font-size:0.84em; font-weight:800; padding:12px 16px; border-radius:10px; text-decoration:none;}
.spc-profile-edit-preview-btn:hover{background:#c2295a;}

.spc-profile-edit-nav{display:flex; flex-direction:column; gap:2px; margin-bottom:18px;}
.spc-profile-edit-nav a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; font-size:0.86em; font-weight:700; color:#565b7a; text-decoration:none;}
.spc-profile-edit-nav a:hover{background:#f7f8fc; color:#0d1442;}
.spc-profile-edit-nav a.spc-active{background:#fdeef0; color:#c2295a;}
.spc-profile-edit-nav a svg{width:16px; height:16px; flex-shrink:0;}

.spc-profile-edit-help{background:#f7f8fc; border-radius:14px; padding:18px;}
.spc-profile-edit-help-icon{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#fff; color:#c2295a; margin-bottom:10px;}
.spc-profile-edit-help-icon svg{width:16px; height:16px;}
.spc-profile-edit-help strong{display:block; font-size:0.88em; color:#0d1442; margin-bottom:4px;}
.spc-profile-edit-help p{font-size:0.8em; color:#565b7a; line-height:1.5; margin:0 0 14px;}
.spc-profile-edit-help-btn{display:inline-block; background:var(--spc-navy-900,#0d1442); color:#fff; font-size:0.8em; font-weight:800; padding:9px 16px; border-radius:10px; text-decoration:none;}
.spc-profile-edit-help-btn:hover{background:#c2295a;}

.spc-profile-edit-heading{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:20px;}
.spc-profile-edit-heading h1{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-size:1.7em; color:#0d1442; margin:0 0 6px;}
.spc-profile-edit-heading > div > p{color:#565b7a; font-size:0.9em; margin:0;}

.spc-profile-edit-heading-actions{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.spc-profile-edit-heading-actions .spc-submit-btn{padding:12px 22px !important; font-size:0.86em;}
.spc-profile-edit-heading-actions .spc-profile-edit-cancel{padding:12px 20px; font-size:0.86em;}

.spc-profile-edit-heading .spc-updates-success{display:none; align-items:center; gap:10px; background:#eafaf1; border:1px solid #b9ebce; color:#1f7a4f; font-weight:600; font-size:0.84em; padding:10px 14px; border-radius:12px; margin:0;}
.spc-profile-edit-heading .spc-updates-success.spc-show{display:flex;}
.spc-profile-edit-heading .spc-updates-success svg{width:17px; height:17px; flex-shrink:0;}
.spc-profile-edit-success-close{background:none; border:none; padding:0; margin-left:4px; color:#1f7a4f; font-size:1.1em; line-height:1; cursor:pointer;}

.spc-profile-edit-card{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:30px;}
.spc-profile-edit-section h3{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-size:1.05em; color:#0d1442; margin:0 0 22px;}
.spc-profile-edit-divider{border:none; border-top:1px solid var(--spc-line,#e2e2ee); margin:34px 0;}

.spc-avatar-upload-row{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.spc-profile-edit-avatar{width:88px; height:88px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3)); display:block;}
.spc-avatar-upload-copy strong{display:block; font-size:0.88em; color:#0d1442; margin-bottom:2px;}
.spc-avatar-upload-copy .description{font-size:0.78em; color:#9498b3; margin:0 0 10px;}
.spc-avatar-upload-btn{display:inline-block; background:#f7f8fc; border:1.5px solid var(--spc-line,#e2e2ee); color:#0d1442; font-size:0.8em; font-weight:700; padding:8px 16px; border-radius:9px; cursor:pointer;}
.spc-avatar-upload-btn:hover{border-color:var(--spc-indigo,#2a3596); color:var(--spc-indigo,#2a3596);}

.spc-profile-dash-avatar-wrap{position:relative; flex-shrink:0;}
.spc-profile-dash-avatar-btn{position:absolute; right:0; bottom:0; width:28px; height:28px; border-radius:50%; background:var(--spc-navy-900,#0d1442); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; border:2.5px solid #fff;}
.spc-profile-dash-avatar-btn:hover{background:#c2295a;}
.spc-profile-dash-avatar-btn svg{width:13px; height:13px;}

.spc-bio-counter{display:block; text-align:right; font-size:0.74em; color:#9498b3; margin-top:6px;}

.spc-profile-edit-cancel{background:none; border:1.5px solid var(--spc-line,#e2e2ee); color:#565b7a; font-weight:800; font-size:0.9em; padding:14px 26px; border-radius:12px; cursor:pointer; font-family:inherit;}
.spc-profile-edit-cancel:hover{border-color:#9498b3; color:#0d1442;}

.spc-field input[readonly]{background-color:#f7f8fc !important; color:#9498b3 !important; cursor:default;}

.spc-edit-profile-bio{
  width:100%; border:1.5px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:13px 16px;
  font-family:inherit; font-size:0.92em; color:var(--spc-ink,#171a30); background:#fff; resize:vertical;
}
.spc-edit-profile-bio:focus{outline:none; border-color:var(--spc-indigo,#2a3596);}

/* ---- member dashboard ---- */
.spc-dashboard-grid{display:grid; grid-template-columns:1fr; gap:14px; max-width:640px; margin:36px auto 0;}
.spc-dashboard-card{
  display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--spc-line,#e2e2ee);
  border-radius:16px; padding:18px 20px; text-decoration:none; color:inherit;
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.spc-dashboard-card:hover{box-shadow:var(--spc-shadow-tight,0 8px 24px -12px rgba(20,25,80,.3)); border-color:var(--spc-indigo,#2a3596); transform:translateY(-2px);}
.spc-dashboard-icon{width:44px; height:44px; border-radius:50%; background:#eef2fd; color:var(--spc-indigo,#2a3596); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.spc-dashboard-icon svg{width:20px; height:20px;}
.spc-dashboard-copy{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.spc-dashboard-copy strong{font-size:0.96em; color:#0d1442;}
.spc-dashboard-copy small{font-size:0.82em; color:#9498b3;}
.spc-dashboard-arrow{width:18px; height:18px; color:#9498b3; flex-shrink:0;}
.spc-dashboard-logout{max-width:640px; margin:20px auto 0; text-align:center;}

/* ---- activity feed / composer ---- */
.spc-composer{display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:18px; padding:20px; margin:30px 0;}
.spc-composer-avatar{width:40px; height:40px; border-radius:50%; flex-shrink:0;}
.spc-composer textarea{flex:1; border:1px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:11px 14px; resize:vertical; min-height:44px; font-family:inherit; font-size:0.92em;}
.spc-composer button{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 22px; font-weight:800; font-size:0.85em; cursor:pointer; display:flex; align-items:center; gap:8px;}
.spc-composer button:hover{background:#c2295a;}

.spc-feed-empty{color:#9498b3; font-size:0.92em; padding:20px 0;}
.spc-activity-item{display:flex; gap:14px; padding:22px 0; border-bottom:1px solid var(--spc-line,#e2e2ee);}
.spc-activity-avatar{width:40px; height:40px; border-radius:50%; flex-shrink:0;}
.spc-activity-body{flex:1; min-width:0;}
.spc-activity-meta{display:flex; align-items:baseline; gap:10px;}
.spc-activity-meta strong{color:#0d1442; font-size:0.92em;}
.spc-activity-time{font-size:0.76em; color:#9498b3;}
.spc-activity-content{color:#171a30; font-size:0.94em; line-height:1.6; margin:8px 0 12px; white-space:pre-wrap;}
.spc-activity-actions{display:flex; gap:18px;}
.spc-activity-actions button{display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer; color:#9498b3; font-size:0.82em; font-weight:700;}
.spc-activity-actions svg{width:16px; height:16px;}
.spc-like-btn.spc-liked{color:#c2295a;}
.spc-comment-list{margin-top:12px; display:flex; flex-direction:column; gap:10px;}
.spc-comment{display:flex; gap:10px; align-items:flex-start;}
.spc-comment img{width:28px; height:28px; border-radius:50%; flex-shrink:0;}
.spc-comment div{background:#f4f2fd; border-radius:12px; padding:8px 12px; font-size:0.86em;}
.spc-comment strong{display:block; color:#0d1442; font-size:0.8em;}
.spc-comment-form{display:flex; gap:8px; margin-top:12px;}
.spc-comment-form input{flex:1; border:1px solid var(--spc-line,#e2e2ee); border-radius:999px; padding:8px 16px; font-size:0.84em;}
.spc-comment-form button{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); background:#0d1442 !important; color:#fff !important; border:none !important; border-radius:50% !important; width:32px !important; height:32px !important; min-width:32px; padding:0 !important; margin:0; box-sizing:border-box; line-height:1; cursor:pointer; flex-shrink:0; display:flex !important; align-items:center; justify-content:center;}
.spc-comment-form button:hover{background:#c2295a;}

/* ---- groups ---- */
.spc-groups-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px;}
.spc-group-card{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:18px; padding:26px;}
.spc-group-card h3{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-style:var(--spc-font-style,normal); color:#0d1442; margin-bottom:8px;}
.spc-group-card p{color:#565b7a; font-size:0.88em; line-height:1.6; min-height:60px;}
.spc-group-card-foot{display:flex; justify-content:space-between; align-items:center; margin-top:16px; font-size:0.8em; color:#9498b3;}
.spc-group-toolbar{display:flex; justify-content:space-between; align-items:center; margin:20px 0 10px; padding:16px 0; border-top:1px solid var(--spc-line,#e2e2ee); border-bottom:1px solid var(--spc-line,#e2e2ee);}
.spc-group-join-btn{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); background:#0d1442; color:#fff; border:none; padding:10px 22px; border-radius:999px; font-weight:800; font-size:0.84em; cursor:pointer;}

/* ---- messaging ---- */
.spc-messages-layout{display:grid; grid-template-columns:300px 1fr; gap:0; margin-top:30px; border:1px solid var(--spc-line,#e2e2ee); border-radius:18px; overflow:hidden; min-height:480px;}

.spc-thread-list-panel{border-right:1px solid var(--spc-line,#e2e2ee); display:flex; flex-direction:column; min-height:0;}
.spc-thread-search{position:relative; padding:14px;}
.spc-thread-search svg{position:absolute; left:26px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:#9498b3; pointer-events:none;}
.spc-thread-search input{width:100%; box-sizing:border-box; border:1.5px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:9px 12px 9px 36px; font-family:inherit; font-size:0.84em; background:#fff;}
.spc-thread-search input:focus{outline:none; border-color:var(--spc-indigo,#2a3596);}
.spc-thread-list{padding:0 8px 8px; overflow-y:auto;}
.spc-thread-item{position:relative; display:flex; align-items:center; gap:10px; padding:10px 8px; border-radius:10px; text-decoration:none; color:#171a30;}
.spc-thread-item:hover, .spc-thread-item.spc-active{background:#f4f2fd;}
.spc-thread-item.spc-hidden{display:none;}
.spc-thread-item-avatar-wrap{position:relative; flex-shrink:0;}
.spc-thread-item-avatar-wrap img{width:40px; height:40px; border-radius:50%; object-fit:cover; display:block;}
.spc-thread-item-online{position:absolute; right:0; bottom:0; width:10px; height:10px; border-radius:50%; background:#25a765; border:2px solid #fff;}
.spc-thread-item-body{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.spc-thread-item-top{display:flex; align-items:baseline; justify-content:space-between; gap:8px;}
.spc-thread-item-top strong{font-size:0.86em; color:#171a30; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.spc-thread-item-top small{font-size:0.7em; color:#9498b3; flex-shrink:0;}
.spc-thread-item-sub{font-size:0.72em; color:#2a3596; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.spc-thread-item-preview{font-size:0.78em; color:#9498b3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.spc-thread-item-badge{flex-shrink:0; background:#c2295a; color:#fff; font-size:0.68em; font-weight:800; border-radius:999px; min-width:17px; height:17px; display:flex; align-items:center; justify-content:center; padding:0 5px;}

.spc-thread-view{display:flex; flex-direction:column; padding:0;}
.spc-thread-view-header{display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--spc-line,#e2e2ee);}
.spc-thread-view-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover;}
.spc-thread-view-who{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.spc-thread-view-who strong{display:flex; align-items:center; gap:8px; font-size:0.92em; color:#171a30;}
.spc-thread-view-online{font-size:0.7em; font-weight:700; color:#25a765;}
.spc-thread-view-who small{font-size:0.78em; color:#9498b3;}
.spc-thread-view-profile-link{font-size:0.78em; font-weight:700; color:#2a3596; text-decoration:none; white-space:nowrap;}
.spc-thread-view-profile-link:hover{text-decoration:underline;}

.spc-message-list{flex:1; display:flex; flex-direction:column; gap:12px; overflow-y:auto; max-height:360px; padding:20px;}
.spc-message{display:flex; align-items:flex-end; gap:8px;}
.spc-message.spc-mine{justify-content:flex-end;}
.spc-message-avatar{width:26px; height:26px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.spc-message-bubble-wrap{display:flex; flex-direction:column; gap:3px; max-width:70%;}
.spc-message.spc-mine .spc-message-bubble-wrap{align-items:flex-end;}
.spc-message-bubble{background:#f4f2fd; padding:9px 14px; border-radius:14px; font-size:0.88em; color:#171a30; word-break:break-word;}
.spc-message.spc-mine .spc-message-bubble{background:#0d1442; color:#fff;}
.spc-message-time{font-size:0.68em; color:#9498b3; padding:0 4px;}
.spc-message-form{display:flex; gap:8px; padding:14px 20px; border-top:1px solid var(--spc-line,#e2e2ee);}
.spc-message-form input{flex:1; min-width:0; border:1px solid var(--spc-line,#e2e2ee); border-radius:999px; padding:10px 16px; font-size:0.88em; box-sizing:border-box;}
.spc-message-form button{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); background:#0d1442 !important; color:#fff !important; border:none !important; border-radius:50% !important; width:38px !important; height:38px !important; min-width:38px; padding:0 !important; margin:0; box-sizing:border-box; line-height:1; flex-shrink:0; cursor:pointer; display:flex !important; align-items:center; justify-content:center; transition:background .15s ease;}
.spc-message-form button:hover{background:#c2295a !important;}
.spc-message-form button:disabled{opacity:.6; cursor:default;}
.spc-message-form button svg{width:16px; height:16px; flex-shrink:0; display:block !important; pointer-events:none; color:#fff !important; stroke:#fff !important;}
.spc-messages-footer-note{display:flex; align-items:center; gap:6px; justify-content:center; font-size:0.74em; color:#9498b3; padding:0 20px 16px;}
.spc-messages-footer-note svg{width:13px; height:13px;}

.spc-thread-view-empty{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:40px 20px; text-align:center; min-height:300px;}
.spc-thread-view-empty svg{width:40px; height:40px; color:#c8cbe0; margin-bottom:4px;}
.spc-thread-view-empty p{font-size:0.94em; font-weight:700; color:#565b7a; margin:0;}
.spc-thread-view-empty span{font-size:0.82em; color:#9498b3; max-width:280px;}

/* ---- forums ---- */
.spc-forums-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px;}
.spc-forum-card{display:block; background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:18px; padding:26px; text-decoration:none;}
.spc-forum-card h3{font-weight:800; font-family:var(--spc-font-family-heading, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); font-style:var(--spc-font-style,normal); color:#0d1442; margin-bottom:8px;}
.spc-forum-card p{color:#565b7a; font-size:0.86em; line-height:1.6;}
.spc-forum-count{display:inline-block; margin-top:14px; font-size:0.76em; color:#c2295a; font-weight:800;}

.spc-topic-form{display:flex; flex-direction:column; gap:10px; margin:16px 0 26px; background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:20px;}
.spc-topic-form input, .spc-topic-form textarea{border:1px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:11px 14px; font-family:inherit; font-size:0.9em;}
.spc-topic-form textarea{min-height:100px; resize:vertical;}
.spc-topic-form button{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); align-self:flex-start; background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 24px; font-weight:800; font-size:0.85em; cursor:pointer;}

.spc-topic-row{display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--spc-line,#e2e2ee); text-decoration:none; color:inherit;}
.spc-topic-row img{width:36px; height:36px; border-radius:50%;}
.spc-topic-row-body{flex:1; display:flex; flex-direction:column;}
.spc-topic-row-body strong{color:#0d1442; font-size:0.92em;}
.spc-topic-row-meta{font-size:0.76em; color:#9498b3; margin-top:2px;}
.spc-topic-row-count{font-size:0.78em; color:#c2295a; font-weight:800; white-space:nowrap;}

.spc-topic-op{display:flex; gap:14px; background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:22px; margin:24px 0;}
.spc-topic-op img{width:40px; height:40px; border-radius:50%; flex-shrink:0;}
.spc-topic-op p{margin-top:10px; color:#171a30; line-height:1.7;}
.spc-reply-item{display:flex; gap:12px; padding:18px 0; border-bottom:1px solid var(--spc-line,#e2e2ee);}
.spc-reply-item img{width:34px; height:34px; border-radius:50%; flex-shrink:0;}
.spc-reply-item p{margin-top:6px; color:#171a30; line-height:1.6; font-size:0.92em;}
.spc-reply-form{display:flex; flex-direction:column; gap:10px; margin-top:22px;}
.spc-reply-form textarea{border:1px solid var(--spc-line,#e2e2ee); border-radius:10px; padding:12px 14px; min-height:90px; font-family:inherit; font-size:0.9em;}
.spc-reply-form button{font-family:var(--spc-font-family-button, var(--spc-font-family, 'Manrope', -apple-system, sans-serif)); align-self:flex-start; background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 24px; font-weight:800; font-size:0.85em; cursor:pointer;}

/* ---- logout link (standalone, e.g. header/menu) ---- */
.spc-logout-link{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--spc-font-family,'Manrope',-apple-system,sans-serif);
  font-size:var(--spc-font-size-base,16px); color:#565b7a; text-decoration:none; font-weight:700;
}
.spc-logout-link:hover{color:#c2295a;}
.spc-logout-link svg{width:16px; height:16px;}

/* ---- notifications bell ---- */
.spc-notif-bell{position:relative; display:inline-block; font-family:var(--spc-font-family, 'Manrope', -apple-system, sans-serif); font-size:var(--spc-font-size-base, 16px);}
.spc-notif-bell-btn{position:relative; background:none; border:none; cursor:pointer; color:#0d1442; padding:6px;}
.spc-notif-bell-btn svg{width:20px; height:20px;}
.spc-notif-count{position:absolute; top:-2px; right:-2px; background:#c2295a; color:#fff; font-size:0.62em; font-weight:800; border-radius:999px; padding:1px 5px; min-width:16px; text-align:center;}
.spc-notif-dropdown{position:absolute; right:0; top:calc(100% + 10px); width:300px; background:#fff; border-radius:14px; box-shadow:0 20px 50px -20px rgba(20,25,80,.3); border:1px solid var(--spc-line,#e2e2ee); z-index:50; max-height:360px; overflow-y:auto;}
.spc-notif-item{display:block; padding:14px 18px; border-bottom:1px solid var(--spc-line,#e2e2ee); text-decoration:none; color:#171a30; font-size:0.84em;}
.spc-notif-item:last-child{border-bottom:none;}
.spc-notif-item.spc-unread{background:#f4f2fd;}
.spc-notif-item span{display:block; font-size:0.72em; color:#9498b3; margin-top:4px;}
.spc-notif-empty{padding:24px 18px; color:#9498b3; font-size:0.84em; text-align:center;}

@media (max-width: 900px){
  .spc-directory-grid{grid-template-columns:repeat(2,1fr);}
  .spc-directory-header{flex-direction:column; align-items:stretch;}
  .spc-directory-stat-card{align-self:flex-start;}
  .spc-profile-edit-layout{grid-template-columns:1fr;}
  .spc-profile-edit-sidebar, .spc-profile-edit-preview{position:static;}
  .spc-poverview-content{grid-template-columns:1fr;}
  .spc-poverview-header{padding:26px;}
}

@media (max-width: 780px){
  .spc-directory-grid, .spc-groups-grid, .spc-forums-grid{grid-template-columns:repeat(2,1fr);}
  .spc-messages-layout{grid-template-columns:1fr;}
  .spc-thread-list-panel{border-right:none; border-bottom:1px solid var(--spc-line,#e2e2ee); max-height:280px;}
}

@media (max-width: 480px){
  .spc-directory-grid, .spc-groups-grid, .spc-forums-grid{grid-template-columns:1fr;}
  .spc-profile-header{flex-direction:column; text-align:center; gap:14px;}
  .spc-profile-avatar{width:96px; height:96px;}
  .spc-composer{flex-direction:column;}
  .spc-composer textarea, .spc-comment-form input, .spc-message-form input, .spc-topic-form input, .spc-topic-form textarea, .spc-reply-form textarea{font-size:16px;}
  .spc-message-bubble-wrap{max-width:85%;}
  .spc-profile-readonly, .spc-profile-readonly-4col{grid-template-columns:1fr;}
  .spc-avatar-upload-row{flex-direction:column; align-items:flex-start;}
  .spc-poverview-header{flex-direction:column; text-align:center; padding:24px 20px;}
  .spc-poverview-location{border-bottom:none; padding-bottom:0;}
  .spc-poverview-stats{width:100%;}
  .spc-poverview-stat{justify-content:center;}
  .spc-poverview-features{grid-template-columns:1fr;}
}
