/* Parent Portal - mobile first, reuses the SMRC portal design tokens. */
.smrc-parent-head { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; justify-content:space-between; margin-bottom:14px; }
.smrc-parent-switch { display:flex; align-items:center; gap:8px; }
.smrc-parent-switch select { padding:8px 10px; border-radius:8px; }
.smrc-parent-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.smrc-parent-child-card { cursor:pointer; border:2px solid transparent; }
.smrc-parent-child-card.active { border-color:currentColor; }
.smrc-parent-kv { display:flex; justify-content:space-between; gap:10px; padding:4px 0; font-size:.92rem; }
.smrc-parent-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:14px; }
.smrc-parent-stat { padding:12px; border-radius:12px; background:rgba(127,127,127,.08); display:flex; flex-direction:column; gap:4px; }
.smrc-parent-stat span { font-size:.78rem; opacity:.75; text-transform:uppercase; letter-spacing:.04em; }
.smrc-parent-stat strong { font-size:1.2rem; }
.smrc-chat { display:flex; flex-direction:column; gap:10px; max-height:420px; overflow:auto; padding:4px; }
.smrc-chat-msg { padding:10px 12px; border-radius:12px; background:rgba(127,127,127,.10); max-width:88%; }
.smrc-chat-msg.self { align-self:flex-end; background:rgba(60,140,255,.16); }
.smrc-chat-meta { font-size:.75rem; opacity:.7; display:block; margin-bottom:4px; }
.smrc-chat-form { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.smrc-chat-form textarea, .smrc-comment-form input, #smrc-parent-post-form textarea { width:100%; padding:10px; border-radius:10px; }
.smrc-post-body { white-space:pre-wrap; }
.smrc-post.removed { opacity:.55; }
.smrc-reactions { display:flex; gap:8px; margin:10px 0; flex-wrap:wrap; }
.smrc-reaction-btn { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; border:1px solid rgba(127,127,127,.35); background:transparent; cursor:pointer; font-size:.85rem; line-height:1; -webkit-tap-highlight-color:transparent; }
.smrc-reaction-btn:disabled { opacity:.6; cursor:default; }
.smrc-reaction-btn.active { background:rgba(60,140,255,.16); border-color:currentColor; font-weight:600; }
.smrc-reaction-emoji { font-size:1.05rem; }

/* Community role badges: one letter-pair per role, high-contrast fixed
   colors chosen to stay readable in both light and dark theme (they do
   not use --smrc-* variables, since a badge's own identity color should
   not shift with the site's accent color the way buttons/links do). */
.smrc-role-badge {
	display:inline-flex; align-items:center; justify-content:center;
	min-width:22px; height:18px; padding:0 5px; margin-right:4px;
	border-radius:5px; font-size:.68rem; font-weight:800; line-height:18px;
	letter-spacing:.01em; color:#fff; vertical-align:middle;
}
.smrc-role-ht { background:#7c3aed; } /* Headteacher - purple: the school's top authority */
.smrc-role-do { background:#dc2626; } /* Director of Discipline - red: matches the Discipline module's own color */
.smrc-role-ac { background:#0891b2; } /* Accountant - teal: matches the Finance module's own color */
.smrc-role-tr { background:#16a34a; } /* Teacher - green */
.smrc-role-pr { background:#f59e0b; } /* Parent - amber */
.smrc-reaction-count { min-width:1ch; }
.smrc-comments { margin-top:10px; display:flex; flex-direction:column; gap:8px; }
.smrc-comment { padding:8px 10px; border-radius:10px; background:rgba(127,127,127,.08); }
.smrc-comment-form { display:flex; gap:8px; margin-top:10px; }
.smrc-linkbtn { background:none; border:0; padding:0; font-size:.78rem; opacity:.75; cursor:pointer; text-decoration:underline; }
.smrc-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.smrc-tab { padding:8px 12px; border-radius:999px; border:1px solid rgba(127,127,127,.35); background:transparent; cursor:pointer; }
.smrc-tab.active { background:rgba(60,140,255,.16); font-weight:600; }
.smrc-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; align-items:end; }
.smrc-form-grid label { display:flex; flex-direction:column; gap:4px; font-size:.85rem; }
.smrc-form-grid input, .smrc-form-grid select { padding:9px 10px; border-radius:9px; }
.smrc-inline-form { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.smrc-inline-form input { flex:1 1 220px; padding:9px 10px; border-radius:9px; }
.smrc-parent-msgs { display:grid; grid-template-columns:minmax(200px,280px) 1fr; gap:12px; }
.smrc-threadlist { display:flex; flex-direction:column; gap:8px; max-height:520px; overflow:auto; }
.smrc-thread { text-align:left; display:flex; flex-direction:column; gap:2px; padding:10px; border-radius:10px; border:1px solid rgba(127,127,127,.25); background:transparent; cursor:pointer; }
.smrc-thread span { font-size:.78rem; opacity:.7; }
.smrc-children { margin:0; padding-left:16px; }
.smrc-table-wrap { overflow-x:auto; }
@media (max-width:782px) {
  .smrc-parent-msgs { grid-template-columns:1fr; }
  .smrc-parent-head { align-items:flex-start; }
  .smrc-parent-switch { width:100%; }
  .smrc-parent-switch select { flex:1; }
  .smrc-chat-msg { max-width:100%; }
}
