.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 / profile ---- */
.spc-directory-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;}
.spc-directory-card{background:#fff; border:1px solid var(--spc-line,#e2e2ee); border-radius:16px; padding:24px 18px; text-align:center; text-decoration:none; 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(-3px);}
.spc-directory-avatar{width:76px; height:76px; border-radius:50%; object-fit:cover; margin:0 auto 14px;}
.spc-directory-name{display:block; font-weight:800; color:#0d1442; font-size:0.92rem;}
.spc-directory-specialty{display:block; font-size:0.76rem; color:#9498b3; margin-top:4px;}

.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.72rem; padding:5px 14px; border-radius:999px; margin-bottom:8px;}
.spc-profile-meta{color:#9498b3; font-size:0.86rem;}
.spc-msg-btn{margin-top:12px; background:#0d1442; color:#fff; border:none; padding:9px 20px; border-radius:999px; font-weight:800; font-size:0.82rem; cursor:pointer;}
.spc-profile-bio{color:#565b7a; line-height:1.7; max-width:640px;}
.spc-profile-edit-note{margin-top:16px; font-size:0.82rem; color:#9498b3;}
.spc-profile-edit-note a{color:#c2295a;}

/* ---- 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.92rem;}
.spc-composer button{background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 22px; font-weight:800; font-size:0.85rem; cursor:pointer; display:flex; align-items:center; gap:8px;}
.spc-composer button:hover{background:#c2295a;}

.spc-feed-empty{color:#9498b3; font-size:0.92rem; 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.92rem;}
.spc-activity-time{font-size:0.76rem; color:#9498b3;}
.spc-activity-content{color:#171a30; font-size:0.94rem; 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.82rem; 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.86rem;}
.spc-comment strong{display:block; color:#0d1442; font-size:0.8rem;}
.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.84rem;}
.spc-comment-form button{background:#0d1442; color:#fff; border:none; border-radius:50%; width:32px; height:32px; cursor:pointer;}

/* ---- 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-family:'Fraunces',serif; font-style:italic; font-weight:600; color:#0d1442; margin-bottom:8px;}
.spc-group-card p{color:#565b7a; font-size:0.88rem; 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.8rem; 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{background:#0d1442; color:#fff; border:none; padding:10px 22px; border-radius:999px; font-weight:800; font-size:0.84rem; cursor:pointer;}

/* ---- messaging ---- */
.spc-messages-layout{display:grid; grid-template-columns:280px 1fr; gap:0; margin-top:30px; border:1px solid var(--spc-line,#e2e2ee); border-radius:18px; overflow:hidden; min-height:420px;}
.spc-thread-list{border-right:1px solid var(--spc-line,#e2e2ee); padding:14px;}
.spc-thread-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:#171a30; font-size:0.86rem; font-weight:700;}
.spc-thread-item:hover, .spc-thread-item.spc-active{background:#f4f2fd;}
.spc-thread-item img{width:32px; height:32px; border-radius:50%;}
.spc-thread-view{display:flex; flex-direction:column; padding:20px;}
.spc-message-list{flex:1; display:flex; flex-direction:column; gap:10px; overflow-y:auto; max-height:340px;}
.spc-message{display:flex;}
.spc-message.spc-mine{justify-content:flex-end;}
.spc-message-bubble{background:#f4f2fd; padding:9px 14px; border-radius:14px; font-size:0.88rem; max-width:70%; color:#171a30;}
.spc-message.spc-mine .spc-message-bubble{background:#0d1442; color:#fff;}
.spc-message-form{display:flex; gap:8px; margin-top:14px;}
.spc-message-form input{flex:1; border:1px solid var(--spc-line,#e2e2ee); border-radius:999px; padding:10px 16px; font-size:0.88rem;}
.spc-message-form button{background:#0d1442; color:#fff; border:none; border-radius:50%; width:38px; height:38px; cursor:pointer;}

/* ---- 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-family:'Fraunces',serif; font-style:italic; font-weight:600; color:#0d1442; margin-bottom:8px;}
.spc-forum-card p{color:#565b7a; font-size:0.86rem; line-height:1.6;}
.spc-forum-count{display:inline-block; margin-top:14px; font-size:0.76rem; 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.9rem;}
.spc-topic-form textarea{min-height:100px; resize:vertical;}
.spc-topic-form button{align-self:flex-start; background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 24px; font-weight:800; font-size:0.85rem; 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.92rem;}
.spc-topic-row-meta{font-size:0.76rem; color:#9498b3; margin-top:2px;}
.spc-topic-row-count{font-size:0.78rem; 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.92rem;}
.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.9rem;}
.spc-reply-form button{align-self:flex-start; background:#0d1442; color:#fff; border:none; border-radius:999px; padding:11px 24px; font-weight:800; font-size:0.85rem; cursor:pointer;}

/* ---- notifications bell ---- */
.spc-notif-bell{position:relative; display:inline-block;}
.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.62rem; 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.84rem;}
.spc-notif-item:last-child{border-bottom:none;}
.spc-notif-item.spc-unread{background:#f4f2fd;}
.spc-notif-item span{display:block; font-size:0.72rem; color:#9498b3; margin-top:4px;}
.spc-notif-empty{padding:24px 18px; color:#9498b3; font-size:0.84rem; text-align:center;}

@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{border-right:none; border-bottom:1px solid var(--spc-line,#e2e2ee);}
}
