/* Pineville team chat (PREVIEW Oct 27 2026) — sits beside "Today's Pineville Census".
   Desktop: census | chat side by side. Phones (≤860px): chat stacks under the census.
   Classic (dusk) is the default; Maroon and Enterprise override the palette below. Display only. */
.pc-pair { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); gap:16px; align-items:start; margin-top:20px; }
.pc-pair > .census-panel { margin-top:0; min-width:0; }
.pc-pair > .pc-panel { min-width:0; }

.pc-panel {
  --pc-ink:var(--fg,#f4f7fb); --pc-muted:var(--muted,#c4b5e0); --pc-line:var(--line,rgba(232,121,249,.18));
  --pc-accent:var(--accent,#e879f9); --pc-accent-2:var(--accent2,#c026d3);
  --pc-them:rgba(255,255,255,.045); --pc-them-line:rgba(232,121,249,.16);
  --pc-me:linear-gradient(135deg,rgba(192,38,211,.34),rgba(124,58,237,.30)); --pc-me-line:rgba(232,121,249,.38); --pc-me-ink:#fdf4ff;
  --pc-well:rgba(0,0,0,.28); --pc-live:#4ade80; --pc-warn-bg:rgba(251,191,36,.10); --pc-warn-line:rgba(251,191,36,.45); --pc-warn-ink:#fde68a;
  --pc-serif:"Playfair Display",Georgia,serif; --pc-sans:"Source Sans 3",Outfit,system-ui,sans-serif;
  position:sticky; top:16px; display:flex; flex-direction:column;
  height:min(720px, calc(100vh - 32px)); min-height:520px; padding:24px 22px 18px;
}
.pc-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.pc-kicker { margin:0 0 2px; font:700 11px/1 var(--pc-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--pc-accent); }
.pc-panel .pc-head h2 { margin:0; display:flex; align-items:center; gap:10px; font-family:var(--pc-serif); font-weight:600; font-size:clamp(22px,2vw,28px); letter-spacing:-.01em; color:var(--pc-ink); }
.pc-unread { display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 7px; border-radius:999px; font:700 12px/1 var(--pc-sans); letter-spacing:0;
  background:var(--pc-accent); color:#1a0b2e; box-shadow:0 0 0 3px rgba(232,121,249,.18); }
.pc-unread[hidden] { display:none; }
.pc-live { display:inline-flex; align-items:center; gap:7px; padding:5px 10px; border-radius:999px; border:1px solid var(--pc-line); font:600 12px/1 var(--pc-sans); color:var(--pc-muted); white-space:nowrap; }
.pc-live-dot { width:7px; height:7px; border-radius:50%; background:var(--pc-muted); }
.pc-live[data-state="live"] .pc-live-dot { background:var(--pc-live); box-shadow:0 0 0 3px rgba(74,222,128,.18); }
.pc-live[data-state="off"] .pc-live-dot { background:#f87171; }
.pc-privacy { display:flex; align-items:flex-start; gap:8px; margin:0 0 12px; padding:8px 11px; border-radius:10px; border:1px dashed var(--pc-line);
  font:500 12.5px/1.4 var(--pc-sans); color:var(--pc-muted); }
.pc-privacy svg { flex:0 0 15px; width:15px; height:15px; margin-top:1px; color:var(--pc-accent); }

.pc-list-wrap { position:relative; flex:1 1 auto; min-height:0; display:flex; }
.pc-list { flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:4px 4px 8px 0; scroll-behavior:auto; }
.pc-list:focus-visible { outline:2px solid var(--pc-accent); outline-offset:2px; border-radius:10px; }
.pc-empty { margin:auto; padding:40px 12px; text-align:center; font:italic 400 14px/1.5 var(--pc-sans); color:var(--pc-muted); }
.pc-day { display:flex; align-items:center; gap:10px; margin:14px 0 8px; font:700 10.5px/1 var(--pc-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--pc-muted); }
.pc-day::before, .pc-day::after { content:""; flex:1 1 auto; height:1px; background:var(--pc-line); }
.pc-day:first-child { margin-top:2px; }
.pc-msg { display:flex; flex-direction:column; align-items:flex-start; margin:0 0 10px; max-width:100%; }
.pc-msg.is-me { align-items:flex-end; }
.pc-msg.is-cont { margin-top:-6px; }
.pc-meta { display:flex; align-items:baseline; gap:8px; margin:0 4px 3px; font:400 12px/1.2 var(--pc-sans); color:var(--pc-muted); }
.pc-meta b { font-weight:700; color:var(--pc-ink); letter-spacing:.01em; }
.pc-meta time { font-variant-numeric:tabular-nums; }
.pc-msg.is-cont .pc-meta { display:none; }
.pc-bubble { position:relative; max-width:88%; padding:9px 13px; border-radius:14px 14px 14px 5px; border:1px solid var(--pc-them-line); background:var(--pc-them);
  color:var(--pc-ink); font:400 14.5px/1.45 var(--pc-sans); white-space:pre-wrap; overflow-wrap:anywhere; }
.pc-msg.is-me .pc-bubble { border-radius:14px 14px 5px 14px; background:var(--pc-me); border-color:var(--pc-me-line); color:var(--pc-me-ink); }
.pc-del { margin:3px 4px 0; padding:2px 6px; border:0; border-radius:6px; background:transparent; font:600 11.5px/1.2 var(--pc-sans); color:var(--pc-muted); cursor:pointer; }
.pc-del:hover { color:var(--pc-ink); text-decoration:underline; }
.pc-del:focus-visible { outline:2px solid var(--pc-accent); outline-offset:1px; }
.pc-jump { position:absolute; left:50%; bottom:10px; transform:translateX(-50%); padding:7px 14px; border-radius:999px; border:1px solid var(--pc-me-line);
  background:var(--pc-accent-2); color:#fff; font:700 12.5px/1 var(--pc-sans); cursor:pointer; box-shadow:0 8px 22px rgba(0,0,0,.28); }
.pc-jump[hidden] { display:none; }

.pc-form { flex:0 0 auto; margin:10px 0 0; padding-top:12px; border-top:1px solid var(--pc-line); }
.pc-as { margin:0 0 8px; font:400 12.5px/1.3 var(--pc-sans); color:var(--pc-muted); }
.pc-as strong { color:var(--pc-ink); font-weight:700; }
.pc-link { padding:0; border:0; background:none; font:600 12.5px/1.3 var(--pc-sans); color:var(--pc-accent); cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.pc-link:focus-visible { outline:2px solid var(--pc-accent); outline-offset:2px; border-radius:3px; }
.pc-row { display:flex; align-items:flex-end; gap:8px; }
.pc-row textarea { flex:1 1 auto; min-height:44px; max-height:132px; resize:none; padding:11px 13px; border-radius:12px; border:1px solid var(--pc-line);
  background:var(--pc-well); color:var(--pc-ink); font:400 15px/1.4 var(--pc-sans); outline:none; color-scheme:dark; }
.pc-row textarea::placeholder { color:var(--pc-muted); opacity:.85; }
.pc-row textarea:focus { border-color:var(--pc-accent); box-shadow:0 0 0 3px rgba(232,121,249,.20); }
.pc-send { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:12px; cursor:pointer; color:#fff;
  background:linear-gradient(135deg,var(--pc-accent-2),#7c3aed); box-shadow:0 6px 18px rgba(192,38,211,.35); }
.pc-send svg { width:19px; height:19px; }
.pc-send:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.pc-send:focus-visible { outline:2px solid var(--pc-accent); outline-offset:2px; }
.pc-foot { display:flex; justify-content:space-between; gap:10px; min-height:16px; margin-top:5px; font:500 11.5px/1.3 var(--pc-sans); color:var(--pc-muted); }
.pc-count { font-variant-numeric:tabular-nums; margin-left:auto; opacity:.8; }
.pc-count.is-near { color:var(--pc-warn-ink); opacity:1; font-weight:700; }
.pc-err { color:#fca5a5; }
.pc-warn { margin:0 0 10px; padding:10px 12px; border-radius:10px; border:1px solid var(--pc-warn-line); background:var(--pc-warn-bg); }
.pc-warn[hidden] { display:none; }
.pc-warn p { margin:0 0 8px; font:500 13px/1.45 var(--pc-sans); color:var(--pc-warn-ink); }
.pc-warn-acts { display:flex; align-items:center; gap:14px; }
.pc-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pc-panel.is-locked .pc-form { opacity:.55; pointer-events:none; }

/* "Who's writing?" dialog — same pattern as the schedule's "Who is making this change?" */
dialog.pc-dlg { width:min(420px, calc(100vw - 24px)); padding:0; border:1px solid rgba(232,121,249,.28); border-radius:16px; background:#1d0f38; color:#f4f7fb; box-shadow:0 30px 80px -20px rgba(0,0,0,.55); }
dialog.pc-dlg::backdrop { background:rgba(10,6,20,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.pc-dlg form { display:grid; gap:12px; padding:22px; }
.pc-dlg .pc-kicker { margin:0; }
.pc-dlg h3 { margin:0; font:600 24px/1.2 "Playfair Display",Georgia,serif; }
.pc-dlg p { margin:0; font:400 14px/1.5 "Source Sans 3",system-ui,sans-serif; color:#c4b5e0; }
.pc-dlg select { width:100%; height:42px; padding:0 12px; border-radius:10px; border:1px solid rgba(232,121,249,.28); background:rgba(26,14,52,.9); color:#f4f7fb; font:600 15px/1 "Source Sans 3",system-ui,sans-serif; color-scheme:dark; }
.pc-dlg .pc-dlg-err { min-height:16px; font-size:13px; color:#fca5a5; }
.pc-dlg-acts { display:flex; justify-content:flex-end; gap:10px; }
.pc-dlg-acts .btn { min-width:110px; }

@media (max-width:860px) {
  .pc-pair { grid-template-columns:1fr; }
  .pc-panel { position:relative; top:auto; height:560px; min-height:0; }
}
@media (max-width:520px) {
  .pc-panel { padding:18px 14px 14px; height:540px; }
  .pc-bubble { max-width:92%; }
  .pc-dlg-acts .btn { flex:1 1 0; height:46px; }
}

/* ——— Maroon ——— */
html[data-theme="maroon"] .pc-panel {
  --pc-ink:#1F1A1D; --pc-muted:#6B5A62; --pc-line:#E7DDE0; --pc-accent:#8A1538; --pc-accent-2:#5C0632;
  --pc-them:#FFFFFF; --pc-them-line:#E7DDE0; --pc-me:#F3E4EA; --pc-me-line:#E5BFCD; --pc-me-ink:#3E0422;
  --pc-well:#FFFFFF; --pc-live:#2F7D4F; --pc-warn-bg:#FBF3E2; --pc-warn-line:#D9B66E; --pc-warn-ink:#6B4A10;
  --pc-serif:var(--q-serif,"Playfair Display",Georgia,serif);
}
html[data-theme="maroon"] body .pc-panel {
  background:linear-gradient(180deg, rgba(246,232,237,.94) 0%, rgba(255,255,255,.90) 220px) !important;
  border-top:3px solid #8A1538 !important;
  box-shadow:0 2px 4px rgba(62,4,34,.08), 0 18px 44px rgba(62,4,34,.16), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
html[data-theme="maroon"] body .pc-panel .pc-head h2 { font-size:clamp(22px,2.2vw,30px) !important; color:#3E0422 !important; }
html[data-theme="maroon"] .pc-kicker { color:var(--q-gold-ink,#7A5A1A); }
html[data-theme="maroon"] .pc-unread { background:#5C0632; color:#fff; box-shadow:0 0 0 3px rgba(92,6,50,.14); }
html[data-theme="maroon"] .pc-privacy { background:#FCF8F9; border-color:#E5BFCD; }
html[data-theme="maroon"] .pc-privacy svg { color:#8A1538; }
html[data-theme="maroon"] .pc-bubble { box-shadow:0 1px 2px rgba(62,4,34,.06); }
html[data-theme="maroon"] .pc-row textarea { color-scheme:light; }
html[data-theme="maroon"] .pc-row textarea:focus { border-color:#8A1538; box-shadow:0 0 0 3px rgba(138,21,56,.14); }
html[data-theme="maroon"] .pc-send { background:linear-gradient(135deg,#8A1538,#5C0632); box-shadow:0 6px 16px rgba(92,6,50,.28); }
html[data-theme="maroon"] .pc-jump { background:#5C0632; border-color:#5C0632; box-shadow:0 8px 22px rgba(62,4,34,.25); }
html[data-theme="maroon"] .pc-live[data-state="live"] .pc-live-dot { box-shadow:0 0 0 3px rgba(47,125,79,.16); }
html[data-theme="maroon"] .pc-err { color:#A61B1B; }
html[data-theme="maroon"] dialog.pc-dlg { background:#FFFFFF; color:#1F1A1D; border-color:#E7DDE0; border-top:3px solid #8A1538; }
html[data-theme="maroon"] .pc-dlg p { color:#6B5A62; }
html[data-theme="maroon"] .pc-dlg .pc-kicker { color:#7A5A1A; }
html[data-theme="maroon"] .pc-dlg h3 { color:#3E0422; }
html[data-theme="maroon"] .pc-dlg select { background:#FFFFFF; color:#1F1A1D; border-color:#D9C9CF; color-scheme:light; }
html[data-theme="maroon"] .pc-dlg .pc-dlg-err { color:#A61B1B; }
html[data-theme="maroon"] dialog.pc-dlg::backdrop { background:rgba(62,4,34,.28); }

/* ——— Enterprise ——— */
html[data-theme="enterprise"] .pc-panel {
  --pc-ink:#14202E; --pc-muted:#405068; --pc-line:#D9E1EA; --pc-accent:#1A6E8E; --pc-accent-2:#0F3550;
  --pc-them:#FFFFFF; --pc-them-line:#D9E1EA; --pc-me:#E3EEF5; --pc-me-line:#B9D3E2; --pc-me-ink:#0B2A40;
  --pc-well:#FFFFFF; --pc-live:#2F7D4F; --pc-warn-bg:#FBF3E2; --pc-warn-line:#D9B66E; --pc-warn-ink:#6B4A10;
}
html[data-theme="enterprise"] body .pc-panel {
  background:linear-gradient(180deg, rgba(232,240,248,.94) 0%, rgba(255,255,255,.90) 220px) !important;
  border-top:3px solid #1A6E8E !important;
  box-shadow:0 2px 4px rgba(11,42,64,.08), 0 18px 44px rgba(11,42,64,.16), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
html[data-theme="enterprise"] body .pc-panel .pc-head h2 { font-size:clamp(22px,2.2vw,30px) !important; color:#0B2A40 !important; }
html[data-theme="enterprise"] .pc-kicker { color:#8A5F14; }
html[data-theme="enterprise"] .pc-unread { background:#0F3550; color:#fff; box-shadow:0 0 0 3px rgba(15,53,80,.14); }
html[data-theme="enterprise"] .pc-privacy { background:#F7FAFC; border-color:#B9D3E2; }
html[data-theme="enterprise"] .pc-privacy svg { color:#1A6E8E; }
html[data-theme="enterprise"] .pc-bubble { box-shadow:0 1px 2px rgba(11,42,64,.06); }
html[data-theme="enterprise"] .pc-row textarea { color-scheme:light; }
html[data-theme="enterprise"] .pc-row textarea:focus { border-color:#1A6E8E; box-shadow:0 0 0 3px rgba(26,110,142,.16); }
html[data-theme="enterprise"] .pc-send { background:linear-gradient(135deg,#1A6E8E,#0F3550); box-shadow:0 6px 16px rgba(15,53,80,.26); }
html[data-theme="enterprise"] .pc-jump { background:#0F3550; border-color:#0F3550; box-shadow:0 8px 22px rgba(11,42,64,.22); }
html[data-theme="enterprise"] .pc-live[data-state="live"] .pc-live-dot { box-shadow:0 0 0 3px rgba(47,125,79,.16); }
html[data-theme="enterprise"] .pc-err { color:#A61B1B; }
html[data-theme="enterprise"] dialog.pc-dlg { background:#FFFFFF; color:#14202E; border-color:#D9E1EA; border-top:3px solid #1A6E8E; }
html[data-theme="enterprise"] .pc-dlg p { color:#405068; }
html[data-theme="enterprise"] .pc-dlg .pc-kicker { color:#8A5F14; }
html[data-theme="enterprise"] .pc-dlg h3 { color:#0B2A40; }
html[data-theme="enterprise"] .pc-dlg select { background:#FFFFFF; color:#14202E; border-color:#C5D1DD; color-scheme:light; }
html[data-theme="enterprise"] .pc-dlg .pc-dlg-err { color:#A61B1B; }
html[data-theme="enterprise"] dialog.pc-dlg::backdrop { background:rgba(11,42,64,.28); }
