/* Approved PC language: docs/pc-design-system.md. Shared by user and admin pages. */
:root {
 --pc-canvas:#fff6eb; --pc-surface:#fffdf8; --pc-inset:#f5eadd;
 --pc-primary:#a5302e; --pc-text:#342d28; --pc-secondary:#78695e;
 --pc-border:#e8d8c8; --pc-selected:#faece4; --pc-income:#8a5a20; --pc-expense:#706158;
 --pc-font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;
 --pc-radius:12px; --pc-control-radius:8px; --pc-tag-radius:6px;
 --pc-overlay:rgba(43,32,25,.4);
 --paper:var(--pc-canvas); --paper-deep:var(--pc-inset); --canvas:var(--pc-canvas);
 --surface:var(--pc-surface); --surface-soft:var(--pc-surface);
 --ink:var(--pc-text); --ink-soft:var(--pc-secondary); --muted:var(--pc-secondary); --subtle:var(--pc-secondary);
 --line:var(--pc-border); --line-strong:var(--pc-border);
 --brand:var(--pc-primary); --brand-soft:var(--pc-selected); --forest-2:var(--pc-primary);
 --danger:var(--pc-primary); --red:var(--pc-primary); --danger-soft:var(--pc-selected); --red-soft:var(--pc-selected);
 --money-in:var(--pc-income); --money-out:var(--pc-expense); --money-balance:var(--pc-text);
 --jade:var(--pc-income); --gold:var(--pc-income); --green:var(--pc-income); --amber:var(--pc-income);
 --money-in-soft:var(--pc-inset); --money-out-soft:var(--pc-inset); --jade-soft:var(--pc-inset); --gold-soft:var(--pc-inset);
 --radius:var(--pc-radius); --radius-sm:var(--pc-control-radius); --radius-lg:var(--pc-radius); --shadow-sm:none;
 --shadow-md:0 16px 40px var(--pc-overlay); --font:var(--pc-font);
 font-family:var(--pc-font);
}
body {font-family:var(--pc-font);font-size:14px;line-height:1.5}
button,input,select,textarea {font-family:inherit}
.card,.metric,.contact-card {border-radius:var(--pc-radius);box-shadow:none}
.metric::after {display:none}
.metric-grid,.metrics {gap:12px;margin-bottom:20px}
.metric {padding:18px 20px;min-height:120px}
.metric-value {font-family:var(--pc-font);font-size:27px;font-weight:600;margin:8px 0 6px;font-variant-numeric:tabular-nums}
.card-head {padding:16px 20px;gap:12px;flex-wrap:wrap}
.card-head h2,.card-head h3 {font-family:var(--pc-font);font-size:16px;font-weight:600}
.card-body {padding:20px}
.card-body.flush {padding:0}
.page-head {gap:16px;align-items:center;margin-bottom:20px}
.page-head h1 {font-family:var(--pc-font);font-size:24px;font-weight:600;letter-spacing:.02em;overflow-wrap:anywhere}
.page-head p {font-size:13px;margin-top:4px}
.page-actions,.page-head-actions,.card-head-actions {display:flex;flex-wrap:wrap;gap:8px;min-width:0;align-items:center}
.page-head-actions {justify-content:flex-end}
.btn {border-radius:var(--pc-control-radius);min-height:40px;padding:8px 14px;gap:8px;box-shadow:none;font-size:14px;font-weight:500}
.btn-sm,.toolbar .btn {min-height:36px;padding:6px 12px;font-size:13px}
.btn-primary {background:var(--pc-primary);border-color:var(--pc-primary);color:var(--pc-surface);box-shadow:none}
.btn-primary:hover {background:var(--pc-primary);border-color:var(--pc-primary);filter:brightness(.93)}
.btn-secondary {background:var(--pc-inset)}
.btn-ghost {background:transparent;border-color:transparent}
.btn-icon,.icon-btn {width:40px;height:40px;padding:0;border-radius:var(--pc-control-radius)}
:focus-visible {outline:2px solid var(--pc-primary);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea,.input,.select,.textarea {border-radius:var(--pc-control-radius);border-color:var(--pc-border);background:var(--pc-surface);color:var(--pc-text);min-width:0}
input:not([type=checkbox]):not([type=radio]),select,.input,.select {min-height:40px;padding:8px 11px}
textarea,.textarea {min-height:72px;resize:vertical}
.field {min-width:0;align-content:start}
.field label,.field-label {color:var(--pc-text);font-weight:500}
.form-grid {gap:18px 16px}
.form-foot,.modal-foot,.modal-footer {gap:8px}
.form-foot {border-top:1px solid var(--pc-border);padding-top:16px}
.form-foot>.btn:not(.btn-primary):not(.btn-danger) {background:var(--pc-inset)}
.badge,.tag-chip,.demo-chip,.demo-pill {border-radius:var(--pc-tag-radius)}
.badge {font-size:12px;font-weight:500}
.tag-chip {background:var(--pc-inset);color:var(--pc-secondary)}
.table-wrap,.table-scroll {max-width:100%;overflow-x:auto}
th,.data-table th {background:var(--pc-inset);font-size:12px;font-weight:500}
td,.data-table td {padding:13px 16px;border-color:var(--pc-border);color:var(--pc-text);font-size:13px}
tbody tr:hover,.data-table tbody tr:hover {background:var(--pc-selected)}
.row-actions,.table-actions {gap:8px;flex-wrap:wrap}
.action-link {font-size:12px;min-height:32px;color:var(--pc-primary)}
.pagination {padding:14px 20px;gap:12px;flex-wrap:wrap}
.pagination-actions {gap:8px;flex-wrap:wrap}
.modal,.modal-panel {border-radius:var(--pc-radius);background:var(--pc-surface)}
.notice {border-radius:var(--pc-control-radius);margin-bottom:16px}
/* Existing desktop navigation colors are intentionally retained per approval. */
[data-pc-app=user] .content {width:100%;max-width:1256px;padding:24px 28px 40px}
[data-pc-app=user] .topbar {min-height:64px;padding:10px 28px;background:var(--pc-surface);border-bottom-color:var(--pc-border)}
[data-pc-app=user] .crumb strong {font-size:18px}
[data-pc-app=user] .sidebar {padding:24px 14px 18px}
[data-pc-app=user] .nav-link {border-radius:8px;padding:10px 12px}
[data-pc-app=user] .brand-copy strong {font-size:20px;letter-spacing:.06em}
[data-pc-app=user] .brand {padding:0 4px 24px;gap:10px}
[data-pc-app=user] .brand-copy span {font-size:11px}
[data-pc-app=user] .sidebar :focus-visible {outline-color:#d9ad6f}
[data-pc-app=user] .content[data-page=entry],
[data-pc-app=user] .content[data-page=gift-entry],
[data-pc-app=user] .content[data-page=gift-return],
[data-pc-app=user] .content[data-page=purchase] {max-width:1140px}
[data-pc-app=user] .content[data-page=tools] {max-width:1180px}
[data-pc-app=user] .grid-2 {grid-template-columns:minmax(0,1fr) 286px;gap:20px;align-items:start}
[data-pc-app=user] :is([data-page=entry],[data-page=gift-entry],[data-page=gift-return]) .grid-2 {grid-template-columns:minmax(0,1fr) 252px}
[data-pc-app=user] .grid-equal {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
[data-pc-app=user] [data-page=purchase] .grid-2 {grid-template-columns:repeat(2,minmax(0,1fr))}
[data-pc-app=user] .workflow-entry-layout {grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:20px}
[data-pc-app=user] .grid-2>*,[data-pc-app=user] .grid-equal>*,[data-pc-app=user] .workflow-entry-layout>* {min-width:0}
[data-pc-app=user] .quick-list {gap:0}
[data-pc-app=user] .quick-item {border:0;border-bottom:1px solid var(--pc-border);border-radius:0;background:transparent;padding:12px 0}
[data-pc-app=user] .quick-item:last-child {border-bottom:0}
[data-pc-app=user] .person strong {white-space:normal;overflow-wrap:anywhere;color:var(--pc-text)}
[data-pc-app=user] .record-row {gap:12px}
[data-pc-app=user] .record-row .amount {font-size:16px;white-space:nowrap}
[data-pc-app=user] .entry-tags-field .entry-tag-picker {flex-wrap:wrap;overflow:visible}
[data-pc-app=user] .entry-tag-pill,[data-pc-app=user] .entry-tag-custom-toggle,[data-pc-app=user] .choice-chip {min-height:34px;padding:5px 12px;border-radius:8px;border-color:var(--pc-border);background:var(--pc-surface);color:var(--pc-text);font-size:13px;font-weight:400;box-shadow:none}
[data-pc-app=user] :is(.entry-tag-pill.selected,.entry-tag-pill[aria-pressed=true],.choice-chip.selected) {background:var(--pc-selected);border-color:var(--pc-primary);color:var(--pc-primary)}
[data-pc-app=user] .entry-tag-custom-toggle {background:transparent;border-color:transparent;color:var(--pc-primary)}
[data-pc-app=user] .segmented {width:fit-content;max-width:100%;grid-template-columns:repeat(2,minmax(100px,1fr));padding:3px;border-radius:8px;background:var(--pc-inset)}
[data-pc-app=user] .segmented span {padding:6px 18px;border-radius:6px}
[data-pc-app=user] .segmented input:checked+span {background:var(--pc-surface);color:var(--pc-primary)}
[data-pc-app=user] .segmented input:focus-visible+span {outline:2px solid var(--pc-primary)}
[data-pc-app=user] .special-entry-actions {display:flex;flex-wrap:wrap;justify-content:flex-end}
[data-pc-app=user] .person .avatar {display:grid;place-items:center;border-radius:10px;overflow:hidden}
[data-pc-app=user] .person>span:last-child {min-width:0}
[data-pc-app=user] #record-form .entry-member-field {display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:8px 16px}
[data-pc-app=user] #record-form .entry-member-field>label {padding-top:8px}
[data-pc-app=user] #entry-member-picker {margin:0}
[data-pc-app=user] #record-form .entry-member-field>.entry-tag-custom-toggle {width:auto}
[data-pc-app=user] #entry-custom-member-create {grid-column:2/-1}
[data-pc-app=user] #record-form .field:has(>#entry-project-picker),[data-pc-app=user] #record-form .field:has(>.segmented) {grid-template-columns:72px minmax(0,1fr);align-items:start;column-gap:16px}
[data-pc-app=user] #record-form .field:has(>#entry-project-picker)>.field-label,[data-pc-app=user] #record-form .field:has(>.segmented)>.field-label {padding-top:8px}
[data-pc-app=user] #entry-project-picker {margin:0}
/* Fit search and filters on one desktop row; wrap groups when space is limited. */
[data-pc-app=user] .pc-filter {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
.pc-search-row {display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pc-search-row .search {flex:0 1 360px;min-width:0}
[data-pc-app=user] .pc-filter>.pc-search-row {flex:0 1 300px;max-width:100%;min-width:0;margin:0}
[data-pc-app=user] .pc-filter>.pc-search-row .search {flex:1;display:block;min-width:0}
[data-pc-app=user] .pc-filter>.pc-search-row>.btn {flex-shrink:0}
.pc-filter-row {display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
[data-pc-app=user] .pc-filter>.pc-filter-row {flex:1 1 620px;min-width:0;max-width:100%}
.pc-filter-row>select {flex:0 1 118px;width:118px;max-width:100%;min-height:36px;font-size:13px;padding:6px 9px}
.pc-filter-row>label {display:flex;align-items:center;gap:8px;font-size:12px;color:var(--pc-secondary)}
.pc-filter-row input[type=date] {width:140px;min-height:36px;font-size:12px}
.pc-filter-row>.btn-ghost {margin-left:auto;order:1}
.pc-filter-row>button[type=submit] {order:2;margin-left:auto}
.pc-filter-row:has(>.btn-ghost)>button[type=submit] {margin-left:0}
.pc-search-row input {min-height:36px}
[data-pc-app=user] .search input:not([type=checkbox]):not([type=radio]) {padding-left:39px}
[data-pc-app=user] .toolbar:not(.pc-filter) .search {flex:0 1 360px}
[data-pc-app=user] .record-detail-table td:nth-child(2),[data-pc-app=user] .record-detail-table td:nth-child(3) {white-space:nowrap;width:100px}
[data-pc-app=user] .record-detail-table td:nth-child(4) {text-align:right;min-width:130px}
[data-pc-app=user] .record-detail-table th:nth-child(4) {text-align:right}
[data-pc-app=user] .record-detail-table td:last-child {width:148px}
[data-pc-app=user] .record-detail-table .row-actions {flex-wrap:nowrap;gap:6px}
[data-pc-app=user] .record-detail-table .icon-btn {width:32px;height:32px;flex:0 0 32px}
[data-pc-app=user] .record-detail-table td:first-child {min-width:180px}
[data-pc-app=user] .record-detail-table td .gift-money {white-space:nowrap}
[data-pc-app=user] .record-summary-strip {border-radius:12px}
/* Admin: data-dense tables keep their existing fields and horizontal scrolling. */
[data-pc-app=admin] .page {max-width:1320px;padding:24px 28px 40px}
[data-pc-app=admin] .topbar {background:var(--pc-surface);height:64px}
[data-pc-app=admin] .card-head h2 {font-size:16px}
[data-pc-app=admin] .grid-2 {grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:20px}
[data-pc-app=admin] .grid-2.grid-equal {grid-template-columns:repeat(2,minmax(0,1fr))}
[data-pc-app=admin] .grid-2>* {min-width:0}
[data-pc-app=admin] .toolbar {padding:16px 20px;gap:10px 12px}
[data-pc-app=admin] .toolbar .select {min-width:110px;max-width:240px;min-height:36px;height:36px;padding:6px 28px 6px 10px}
[data-pc-app=admin] .data-table .cell-sub,[data-pc-app=admin] .setting-help,[data-pc-app=admin] .metric-meta {font-size:12px}
[data-pc-app=admin] .form-grid .field {margin-bottom:0}
[data-pc-app=admin] .setting-copy {min-width:0}
[data-pc-app=admin] .setting-row {gap:16px}
[data-pc-app=admin] .card-body .form-grid {max-width:860px}
[data-pc-app=admin] .nav-label {font-size:12px;color:#bfb5a8;letter-spacing:.04em}
[data-pc-app=admin] .badge {font-size:12px}
[data-pc-app=admin] .metric-value {overflow-wrap:anywhere}
@media(min-width:901px) {
 [data-pc-app=user],[data-pc-app=admin] {--sidebar:204px}
 [data-pc-app=user] .metric-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
 [data-pc-app=user] .annual-report-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:901px) and (max-width:1100px) {
 [data-pc-app=user],[data-pc-app=admin] {--sidebar:180px}
 [data-pc-app=user] .content,[data-pc-app=admin] .page {padding:22px 22px 32px}
 [data-pc-app=user] .brand-copy span {display:none}
 [data-pc-app=user] .brand-mark {width:36px;height:40px;flex-shrink:0}
 [data-pc-app=user] .grid-2 {grid-template-columns:minmax(0,1fr) 242px;gap:16px}
 [data-pc-app=user] :is([data-page=entry],[data-page=gift-entry],[data-page=gift-return]) .grid-2 {grid-template-columns:minmax(0,1fr) 220px}
 .metric {padding:16px}.metric-value {font-size:24px}
 .pc-filter-row>select {width:120px;flex-basis:120px}
 [data-pc-app=user] .record-row .record-extra {max-width:120px;overflow-wrap:anywhere}
 [data-pc-app=user] .record-row .record-extra .badge {white-space:normal}
}
@media(max-width:900px) {
 [data-pc-app=user] .content,[data-pc-app=admin] .page {padding:20px 16px 32px}
 [data-pc-app=user] .grid-2,[data-pc-app=user] .grid-equal,[data-pc-app=user] :is([data-page=entry],[data-page=gift-entry],[data-page=gift-return],[data-page=purchase]) .grid-2,[data-pc-app=user] .workflow-entry-layout,[data-pc-app=admin] .grid-2,[data-pc-app=admin] .grid-2.grid-equal {grid-template-columns:1fr}
 .metric-grid,.metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-head h1 {font-size:22px}
 .pc-filter-row {gap:8px}
 .pc-filter-row>select {flex:1 1 120px}
}
@media(max-width:680px) {
 .card-body {padding:16px}.card-head {padding:14px 16px}
 [data-pc-app=user] .topbar {padding:10px 16px}
 .pc-search-row .search {flex:1}
 .pc-filter-row>label {flex-wrap:wrap}
 .page-head-actions {flex-wrap:wrap}
 [data-pc-app=user] .special-entry-actions .btn {flex:0 1 auto;width:auto}
}

[data-pc-app=user] .record-detail-table {min-width:880px}

/* Keep participation totals separate from the following charts. */
[data-pc-app=user] [data-attendance-summary]+.grid-equal {margin-top:20px}
[data-pc-app=user] [data-attendance-summary]+.grid-equal>.card {margin-top:0}

/* Membership quota uses the same usage thresholds as the mini program. */
html[data-pc-app="user"] .membership-summary-info {flex:1 1 320px;min-width:0}
html[data-pc-app="user"] .membership-record-meter {max-width:480px;margin:16px 0}
html[data-pc-app="user"] .membership-meter-head {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
html[data-pc-app="user"] .membership-meter-head strong {font-weight:600;font-variant-numeric:tabular-nums}
html[data-pc-app="user"] .membership-record-meter .progress {height:8px;background:var(--pc-border)}
html[data-pc-app="user"] .membership-record-meter .progress>span {background:var(--pc-income)}
html[data-pc-app="user"] .membership-summary .membership-meter-note {margin:8px 0 0;font-size:12px;color:var(--pc-secondary)}
html[data-pc-app="user"] .membership-record-meter[data-status="warning"] .membership-meter-note {color:var(--pc-income)}
html[data-pc-app="user"] .membership-record-meter[data-status="full"] .progress>span {background:var(--pc-primary)}
html[data-pc-app="user"] .membership-record-meter[data-status="full"] .membership-meter-note {color:var(--pc-primary)}
/* Shared confirmations keep consequences and failures readable while actions stay visible. */
[data-pc-app=user] .modal {display:flex;flex-direction:column;overflow:hidden}
[data-pc-app=user] .modal-head,[data-pc-app=user] .modal-foot {flex-shrink:0}
[data-pc-app=user] .modal-body {min-height:0;overflow:auto;overflow-wrap:anywhere}
[data-pc-app=user] .modal-foot {flex-direction:column;align-items:stretch}
[data-pc-app=user] .modal-foot>.row-actions {justify-content:flex-end}
[data-pc-app=user] .modal-error {margin:0;overflow-wrap:anywhere;max-height:20vh;overflow:auto}
[data-pc-app=user] .modal-error[hidden] {display:none}

/* Shared typed confirmation follows existing field and error tokens. */
[data-pc-app=user] .modal-confirmation{margin-top:16px}
[data-pc-app=user] .modal-confirmation[hidden]{display:none}
[data-pc-app=user] .field-error{display:block;margin-top:6px;color:var(--pc-primary);font-size:12px}
[data-pc-app=user] .field-error[hidden]{display:none}
[data-pc-app=user] input[aria-invalid=true]{border-color:var(--pc-primary)}

/* Shared legal reading and footer layout. */
.legal-page { width:100%; max-width:880px; margin:0 auto; padding:28px 28px 40px; }
.legal-page > .btn { margin-bottom:20px; }
.legal-page .notice { display:block; line-height:1.8; }
.legal-toc { display:grid; gap:8px; margin-bottom:20px; }
.legal-toc a,.legal-links a,.legal-footer a { color:var(--pc-primary); overflow-wrap:anywhere; }
.legal-toc a:hover,.legal-links a:hover,.legal-footer a:hover { text-decoration:underline; }
.legal-article { line-height:1.9; overflow-wrap:anywhere; }
.legal-article section { scroll-margin-top:24px; }
.legal-article section + section { margin-top:28px; }
.legal-article h2 { margin:0 0 12px; font:600 16px/1.5 var(--pc-font); }
.legal-article p { margin:12px 0 0; }
.legal-settings { margin-bottom:20px; }
.legal-footer { padding:20px 24px; text-align:center; color:var(--pc-secondary); font-size:12px; }
.legal-footer nav,.legal-links nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }
.legal-links nav { justify-content:flex-start; }
.legal-footer a { display:inline-flex; align-items:center; min-height:32px; }
.legal-footer .legal-filing { margin-top:4px; color:var(--pc-secondary); }
[data-pc-app=user] .auth-panel { flex-direction:column; }
[data-pc-app=user] .main-wrap > .legal-footer { margin-top:auto; padding-bottom:24px; }
@media(max-width:900px) { [data-pc-app=user] .main-wrap > .legal-footer { padding-bottom:calc(90px + env(safe-area-inset-bottom)); } }
@media(max-width:600px) { .legal-page { padding:20px 16px 32px; } }

/* Wide comparison dialogs share the PC table language and scroll within the body. */
[data-pc-app=admin] .modal-xl {width:min(1320px,100%)}
[data-pc-app=admin] .membership-preview .modal-body {min-width:0}
[data-pc-app=admin] .membership-preview-scroll {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
[data-pc-app=admin] .membership-preview-scroll .table-scroll {overflow:visible}
[data-pc-app=admin] .membership-preview .data-table {width:100%;table-layout:auto}
[data-pc-app=admin] .membership-preview .data-table :is(th,td) {min-width:160px;max-width:280px;white-space:normal;overflow-wrap:anywhere}
[data-pc-app=admin] .membership-preview .data-table :is(th,td):first-child {min-width:140px}
[data-pc-app=admin] body:has(.membership-preview) {overflow:hidden}

/* Admin audit inbox reuses shared controls and keeps table overflow local. */
[data-pc-app=admin] .top-action::after {content:none}
[data-pc-app=admin] .audit-bell-count {position:absolute;top:0;right:0;min-width:16px;padding:0 3px;border-radius:8px;background:var(--pc-primary);color:var(--pc-surface);font-size:10px;line-height:16px}
[data-pc-app=admin] .audit-bell-count[hidden] {display:none}
[data-pc-app=admin] .audit-filters {flex-wrap:wrap;gap:12px}
[data-pc-app=admin] .audit-filters .pc-search-row {flex:0 1 360px;min-width:240px}
[data-pc-app=admin] .audit-filters>label {display:flex;align-items:center;gap:8px;white-space:nowrap}
[data-pc-app=admin] .audit-batch {display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-bottom:1px solid var(--pc-border)}
[data-pc-app=admin] .audit-batch>label {display:flex;align-items:center;gap:8px}
[data-pc-app=admin] .audit-feedback {margin:12px 20px;color:var(--pc-primary);overflow-wrap:anywhere}
[data-pc-app=admin] .audit-feedback[hidden] {display:none}
[data-pc-app=admin] [data-audit-page] .pager {gap:12px;flex-wrap:wrap}
[data-pc-app=admin] [data-audit-page] .pager-pages {gap:10px;align-items:center;flex-wrap:wrap}
[data-pc-app=admin] .audit-notification-list>article {padding:16px 0;border-top:1px solid var(--pc-border);overflow-wrap:anywhere}
[data-pc-app=admin] .audit-notification-list p {margin:6px 0;color:var(--pc-secondary)}
[data-pc-app=admin] .audit-notification-list .row-actions {display:flex;margin-top:10px;justify-content:flex-end}
[data-pc-app=admin] .audit-detail {display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px}
[data-pc-app=admin] .audit-detail dt {color:var(--pc-secondary)}
[data-pc-app=admin] .audit-detail dd {margin:0;overflow-wrap:anywhere}
[data-pc-app=admin] body:has(.audit-notifications) {overflow:hidden}
[data-pc-app=admin] .audit-filters .pc-search-row {margin-bottom:0}
[data-pc-app=admin] .audit-filters .pc-search-row>.input {flex:1;min-width:0}
[data-pc-app=admin] .audit-filters .pc-search-row>.btn {flex-shrink:0}
[data-pc-app=admin] body:has(.audit-event-detail) {overflow:hidden}

/* Announcement layouts share the approved controls and palette. */
.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.announcement-bell{position:relative}
.announcement-count{position:absolute;right:-8px;top:-6px;border-radius:var(--pc-tag-radius);background:var(--pc-primary);color:var(--pc-surface);font-size:11px;padding:1px 4px}
[data-page="messages"] .card,[data-page="announcements"] .card{margin-block:20px}
[data-page="messages"] .card-body,[data-page="announcements"] .card-body{padding:20px}
[data-page="announcements"] .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
[data-page="announcements"] .row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}
[data-page="announcements"] textarea.input{height:auto;min-height:180px}
@media(max-width:700px){[data-page="announcements"] .form-grid{grid-template-columns:1fr}}

/* Field and submission feedback for PC user forms. */
[data-pc-app=user] .form-error-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--pc-primary);font-size:13px}
[data-pc-app=user] .form-error-summary[hidden]{display:none}
[data-pc-app=user] .form-error-summary>span{flex:1 1 240px;min-width:0}
[data-pc-app=user] .form-error-summary:focus-visible{outline:2px solid var(--pc-primary);outline-offset:4px}
[data-pc-app=user] #record-form [role=group][aria-invalid=true],
[data-pc-app=user] #record-form .segmented[aria-invalid=true]{outline:1px solid var(--pc-primary);outline-offset:3px}
