.management-page { background:#f5f3ef; color:#253d3c; }
.management-layout { display:flex; align-items:flex-start; min-height:calc(100vh - 100px); }
.management-page .admin-shell { width:auto; max-width:none; min-width:0; flex:1; margin:0; padding:28px 30px 60px; }
.management-page h1 { font-size:2.3rem; margin:0 0 12px; }
.management-page h2 { font-size:1.35rem; margin:0 0 16px; }
.management-page h3 { font-size:1.05rem; }
.management-search { display:flex; gap:12px; align-items:flex-end; margin:24px 0 16px; }
.management-search label { flex:1; max-width:600px; display:flex; flex-direction:column; gap:6px; }
.management-search input { padding:10px; font:inherit; width:100%; border:1px solid #849a91; border-radius:4px; }
.management-page .user-filters { display:flex; flex-wrap:wrap; gap:4px; margin:16px 0; }
.management-page .user-filters a { padding:8px 12px; border-radius:4px; color:inherit; }
.management-page .user-filters a[aria-current] { background:#e0e9dd; font-weight:700; }
.management-list { border:1px solid #d6ddd4; border-radius:6px; background:#fff; overflow:hidden; }
.management-page .user-item { border:0; border-radius:0; margin:0; }
.user-columns { display:grid; grid-template-columns:minmax(120px,1.2fr) minmax(140px,1.5fr) minmax(110px,1.1fr) minmax(70px,.65fr) minmax(70px,.65fr) minmax(90px,.9fr) 70px; }
.application-columns { display:grid; grid-template-columns:minmax(140px,1.4fr) minmax(120px,1fr) minmax(140px,1fr) minmax(100px,1fr) 70px; }
.list-head,.compact-summary { gap:14px; align-items:center; padding:12px 16px; }
.list-head { background:#edf0e9; font-size:.8rem; font-weight:700; }
.compact-summary { width:100%; border:0; border-top:1px solid #e0e5dc; color:inherit; background:#fff; font:inherit; font-size:.88rem; text-align:left; }
button.compact-summary { cursor:pointer; }
.compact-summary:hover,.compact-summary[aria-expanded=true] { background:#f2f6ee; }
.compact-summary > * { min-width:0; overflow-wrap:anywhere; }
.compact-summary small { display:block; font-size:.75rem; margin-top:5px; }
.management-page .status-badge { display:inline-block; padding:3px 7px; font-size:.76rem; white-space:nowrap; background:#e5ece0; color:#30482e; }
.management-page .user-detail,.application-detail { padding:22px; background:#fafbf8; border-top:1px solid #d6ddd4; }
.management-page .user-detail { display:block; }
.user-section,.unified-editor > .user-section { padding:18px; margin:0 0 14px; border:1px solid #d8ddd5; border-radius:6px; background:#fff; }
.user-section--details { background:#fdfdfb; }
.user-section--roles,.unified-editor > .user-section--roles { background:#f0f5f8; border-color:#d5e1e8; }
.user-section--membership,.unified-editor > .user-section--membership { background:#eff5ed; border-color:#d2dfce; }
.user-section--directory,.unified-editor > .user-section--directory { background:#faf5e9; border-color:#e5dcc9; }
.user-section--security,.unified-editor > .user-section--security { background:#f1f2f1; border-color:#d9dcda; }
.management-page .user-section h2 { font-size:1rem; margin:0 0 14px; font-weight:700; }
.management-page .user-section h3 { font-size:.94rem; margin:14px 0 10px; }
.user-section > p,.user-section details > p { font-size:.88rem; margin:10px 0; }
.user-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0 0 14px; }
.user-values > div { min-width:0; }
.user-values dt { color:#5d675e; font-size:.8rem; }
.user-values dd { margin:4px 0 0; font-size:.94rem; overflow-wrap:anywhere; }
.profile-location { margin-bottom:18px; }
.membership-change > summary { font-weight:700; }
.membership-confirmation { max-width:850px; }
.membership-comparison > div { display:grid; grid-template-columns:minmax(100px,.8fr) repeat(2,minmax(0,1fr)); gap:14px; padding:10px 0; }
.membership-comparison span { overflow-wrap:anywhere; }
.comparison-heading { border-bottom:1px solid #d2dfce; }
@media(max-width:550px) {
 .user-section,.unified-editor > .user-section { padding:14px 12px; }
 .user-values { grid-template-columns:1fr; gap:10px; }
 .membership-comparison > div { grid-template-columns:80px repeat(2,minmax(0,1fr)); gap:8px; font-size:.82rem; }
}
.management-page .user-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.management-page .user-form label { display:flex; flex-direction:column; gap:6px; font-size:.92rem; }
.management-page .user-form input,.management-page .user-form select,.management-page .user-form textarea { padding:10px; width:100%; font:inherit; border:1px solid #849a91; border-radius:4px; }
.management-page .user-form .check,.management-page .user-form .permission-option { display:flex; flex-direction:row; align-items:center; }
.management-page .user-form input[type=checkbox] { width:auto; flex:0 0 auto; }
.management-page .member-card { padding:20px 0; border:0; border-bottom:1px solid #d6ddd4; border-radius:0; background:transparent; margin:0; }
.management-page details { margin:14px 0; }
.management-page summary { cursor:pointer; padding:8px 0; }
.management-page .column-label { display:none; }
.management-page .create-account { background:#fff; padding:12px 18px; }
.management-page a:focus-visible,.management-page button:focus-visible { outline:3px solid #739158; outline-offset:3px; }
[hidden] { display:none !important; }
@media(max-width:1150px) {
 .management-page .admin-shell { padding:22px 18px 50px; }
 .user-columns { grid-template-columns:minmax(100px,1fr) minmax(130px,1.2fr) minmax(90px,1fr) 65px 65px 90px 60px; gap:8px; padding:12px; }
}
@media(max-width:950px) {
 .management-list .list-head { display:none; }
 .user-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .application-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .management-page .column-label { display:block; }
 .management-page .user-fields { grid-template-columns:1fr; }
}
@media(max-width:550px) {
 .management-page .admin-shell { padding:18px 10px 40px; }
 .user-columns,.application-columns { grid-template-columns:1fr; }
 .management-page .user-detail,.application-detail { padding:14px 10px; }
 .management-search { flex-direction:column; align-items:stretch; }
}
.print-application { color:#111; background:#fff; font:12pt/1.5 Georgia,serif; }
.print-application main { max-width:900px; margin:30px auto; padding:20px; }
@media print {
 .print-control { display:none !important; }
 .print-application main { margin:0; padding:0; max-width:none; }
 .print-application dt { break-after:avoid; }
 .print-application dd { white-space:pre-wrap; overflow-wrap:anywhere; }
 @page { margin:18mm; }
}

.membership-indicator { display:block; font-size:.75rem; font-weight:400; color:var(--ink-muted,#5f6660); margin-top:.3rem; }
.pagination { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin:1.5rem 0; }
.pagination a { padding:.5rem .8rem; border:1px solid #d7ded7; border-radius:.4rem; }
.pagination [aria-current="page"] { background:#355548; color:white; }

.payment-callbacks dd{margin:0 0 1rem;overflow-wrap:anywhere}.payment-callbacks code{white-space:normal}.user-form fieldset{min-width:0;margin:1rem 0;padding:1rem;border:1px solid var(--border,#d6d6d6);border-radius:8px}

/* Shared management navigation and controls, including directory and article screens. */
.management-page .admin-form { color:inherit; }
.management-page .admin-form input:not([type=checkbox]):not([type=hidden]),.management-page .admin-form select,.management-page .admin-form textarea { font:inherit; padding:10px; border:1px solid #849a91; border-radius:4px; max-width:100%; }
.management-page .admin-form label { display:flex; flex-direction:column; gap:6px; }
.management-page .admin-form label.check { flex-direction:row; align-items:center; margin-top:14px; }
.management-page .admin-form .admin-actions { display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-top:18px; }
.management-page .article-block-editor .ringo-block-controls { display:flex !important; }
.management-page .article-block-editor .block-controls { position:static; display:flex; gap:8px; margin-bottom:12px; }
.management-page .article-block-editor .content-block { margin:18px 0; padding:16px; border:1px solid #d6ddd4; border-radius:6px; background:#fff; }

.review-comparison { width:100%; table-layout:fixed; border-collapse:collapse; margin:1rem 0; }
.review-comparison th,.review-comparison td { padding:.65rem; border-bottom:1px solid #ddd; text-align:left; vertical-align:top; white-space:pre-wrap; overflow-wrap:anywhere; }

/* Use the same hierarchy and form spacing throughout the shared management shell. */
.management-page .admin-shell h1 { font-size:clamp(1.8rem,3vw,2.3rem); line-height:1.25; }
.management-page .admin-shell > .admin-heading { margin-bottom:1rem; }
.management-page .users-card { border:1px solid #d6ddd4; border-radius:6px; padding:12px 18px; background:#fff; }
.management-list > .users-card { margin:0; border:0; border-radius:0; border-bottom:1px solid #d6ddd4; }
.management-page .users-card > summary { overflow-wrap:anywhere; }
.management-page .users-card > form { margin:14px 0 20px; }
.management-page .admin-form,.management-page .user-form { min-width:0; }
.management-page .admin-form .form-grid { gap:16px; }
.management-page .user-form > .button { margin-top:14px; }
.management-table { overflow-x:auto; }
.management-table table { width:100%; border-collapse:collapse; font-size:.88rem; }
.management-table th,.management-table td { padding:10px; text-align:left; vertical-align:top; border-bottom:1px solid #d6ddd4; }
.management-table small { display:block; overflow-wrap:anywhere; }
