.forum-admin-page { --forum-red:#cf0a2c; --forum-line:#e1e4e7; --forum-muted:#727980; }
.forum-admin-page [hidden] { display:none !important; }
.forum-admin-tabs { display:flex; min-height:46px; align-items:stretch; border:1px solid var(--forum-line); background:#fff; }
.forum-admin-tabs button { position:relative; min-width:116px; border:0; border-right:1px solid #edf0f2; background:transparent; padding:0 18px; color:#555c63; }
.forum-admin-tabs button:hover { background:#fafafa; color:var(--forum-red); }
.forum-admin-tabs button.active { color:var(--forum-red); font-weight:700; }
.forum-admin-tabs button.active::after { position:absolute; right:16px; bottom:-1px; left:16px; height:2px; background:var(--forum-red); content:""; }
.forum-admin-view { display:none; }
.forum-admin-view.active { display:block; }
.forum-admin-heading { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:20px; }
.forum-admin-heading h1 { margin:0; font-size:22px; letter-spacing:-.02em; }
.forum-admin-heading p { margin:6px 0 0; color:var(--forum-muted); font-size:12px; }
.forum-version-bar { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:20px; border:1px solid #e4d6b7; border-radius:5px; background:#fffaf0; padding:9px 14px; }
.forum-version-bar > div { display:flex; align-items:center; gap:10px; }
.forum-version-bar span { border-radius:3px; background:#fff0cc; padding:5px 7px; color:#8a5e08; font-size:10px; }
.forum-version-bar small { color:#8b8375; }
.forum-admin-message { margin-top:10px; border:1px solid #bee0cd; border-radius:4px; background:#edf8f2; padding:9px 12px; color:#287d52; font-size:11px; }
.forum-admin-message.error { border-color:#efc0c3; background:#fff1f1; color:#a8000a; }
.forum-board-table { margin-top:10px; border:1px solid var(--forum-line); border-radius:5px; background:#fff; }
.forum-board-head,.forum-board-primary,.forum-board-child { display:grid; grid-template-columns:44px minmax(240px,1fr) 120px 124px 78px 164px; align-items:center; gap:12px; }
.forum-board-head { min-height:38px; border-bottom:1px solid var(--forum-line); background:#f7f8f9; padding:0 13px; color:#656c73; font-size:10px; font-weight:650; }
.forum-board-group { border-bottom:1px solid var(--forum-line); }
.forum-board-group:last-child { border-bottom:0; }
.forum-board-primary { min-height:66px; padding:8px 13px; }
.forum-board-children { margin:0 13px 10px; }
.forum-board-child { min-height:48px; border-top:1px solid #f0f1f3; }
.forum-board-name strong { display:block; font-size:13px; }
.forum-board-name span { display:block; margin-top:4px; color:var(--forum-muted); font-size:10px; }
.forum-board-child .forum-board-name { border-left:2px solid #eceef0; padding-left:14px; }
.forum-drag { display:inline-flex; width:28px; min-height:28px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:3px; background:transparent; cursor:grab; }
.forum-drag::before { width:12px; height:18px; background:radial-gradient(circle,#9ba1a7 1.4px,transparent 1.7px) 0 0/6px 6px; content:""; }
.forum-drag:hover { border-color:#e0c1c3; background:#fff1f1; }
.forum-board-group.dragging,.forum-board-child.dragging { opacity:.45; }
.forum-board-group.drop-before,.forum-board-child.drop-before { box-shadow:inset 0 2px var(--forum-red); }
.forum-board-group.drop-after,.forum-board-child.drop-after { box-shadow:inset 0 -2px var(--forum-red); }
.forum-board-state { display:inline-flex; width:max-content; min-height:22px; align-items:center; border-radius:3px; background:#edf8f2; padding:0 7px; color:#287d52; font-size:10px; }
.forum-board-state.disabled { background:#eef0f2; color:#72787e; }
.forum-row-actions { display:flex; justify-content:flex-end; gap:3px; }
.forum-row-actions button { border:0; background:transparent; padding:5px 7px; color:#697078; font-size:11px; }
.forum-row-actions button:hover { color:var(--forum-red); }
.forum-admin-filter { display:flex; min-height:60px; align-items:flex-end; gap:12px; border:1px solid var(--forum-line); border-bottom:0; background:#fff; padding:10px 12px; }
.forum-admin-filter label { display:grid; gap:5px; color:var(--forum-muted); font-size:10px; }
.forum-admin-filter select,.forum-admin-filter input { min-width:180px; height:32px; border:1px solid #d6dade; border-radius:3px; background:#fff; padding:0 9px; color:#454b51; }
.forum-admin-table { border:1px solid var(--forum-line); background:#fff; }
.forum-admin-table > header { display:flex; min-height:52px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--forum-line); padding:0 14px; }
.forum-post-row { display:grid; grid-template-columns:minmax(320px,1.5fr) 150px 100px 100px 265px; align-items:center; border-bottom:1px solid #eceef0; }
.forum-post-row > div { min-width:0; padding:11px 12px; }
.forum-post-row.head { min-height:38px; background:#f7f8f9; color:#656c73; font-size:11px; }
.forum-post-title strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-post-title span { display:block; margin-top:5px; color:var(--forum-muted); font-size:10px; }
.forum-admin-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:3px; }
.forum-admin-actions button { border:0; background:transparent; padding:5px 6px; color:#697078; font-size:10px; }
.forum-admin-actions button:hover { color:var(--forum-red); }
.forum-admin-replies { border:1px solid var(--forum-line); background:#fff; }
.forum-admin-reply { display:grid; grid-template-columns:minmax(0,1fr) 120px 230px; align-items:center; gap:18px; border-bottom:1px solid #eceef0; padding:14px; }
.forum-admin-reply p { margin:0; font-size:13px; line-height:1.55; }
.forum-admin-reply small { color:var(--forum-muted); }
.forum-permission-summary { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.forum-permission-summary article { position:relative; border:1px solid var(--forum-line); border-radius:5px; background:#fff; padding:16px; }
.forum-permission-summary article > span { position:absolute; top:14px; right:14px; border-radius:3px; background:#eef1f3; padding:4px 7px; color:#687078; font-size:10px; }
.forum-permission-summary p { margin:8px 0 0; color:var(--forum-muted); font-size:11px; }
.forum-permission-row { display:grid; grid-template-columns:minmax(260px,1fr) 180px 200px; min-height:58px; align-items:center; border-bottom:1px solid #eceef0; padding:8px 14px; }
.forum-permission-row.head { min-height:38px; background:#f7f8f9; color:#656c73; font-size:11px; }
.forum-permission-row strong { display:block; }
.forum-permission-row small { display:block; margin-top:4px; color:var(--forum-muted); }
.forum-permission-fixed { color:#287d52; font-size:11px; }
.forum-permission-switch { display:flex; align-items:center; gap:8px; }
.forum-audit-row { display:grid; grid-template-columns:140px 150px 180px minmax(220px,1fr); gap:14px; border-bottom:1px solid #eceef0; padding:12px 14px; }
.forum-audit-row small { color:var(--forum-muted); }
.forum-admin-empty { padding:36px; color:#858c94; text-align:center; }
.forum-admin-dialog { width:min(560px,calc(100vw - 32px)); border:0; border-radius:6px; padding:0; box-shadow:0 18px 52px rgba(17,22,27,.22); }
.forum-admin-dialog.small { width:min(480px,calc(100vw - 32px)); }
.forum-admin-dialog::backdrop { background:rgba(24,29,34,.42); }
.forum-admin-dialog form { display:grid; gap:14px; padding:18px; }
.forum-admin-dialog header,.forum-admin-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.forum-admin-dialog header { border-bottom:1px solid var(--forum-line); padding-bottom:14px; }
.forum-admin-dialog header span { color:var(--forum-muted); font-size:10px; }
.forum-admin-dialog h2 { margin:3px 0 0; font-size:18px; }
.forum-admin-dialog label { display:grid; gap:6px; color:#555d65; font-size:11px; }
.forum-admin-dialog input,.forum-admin-dialog select,.forum-admin-dialog textarea { width:100%; border:1px solid #d4d9de; border-radius:4px; background:#fff; padding:9px 10px; color:#353b42; }
.forum-dialog-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.forum-admin-dialog footer { border-top:1px solid var(--forum-line); padding-top:14px; }
.forum-admin-dialog footer span { color:var(--forum-muted); font-size:10px; }
@media (max-width:1200px) { .forum-board-head,.forum-board-primary,.forum-board-child{grid-template-columns:40px minmax(220px,1fr) 105px 105px 70px 145px}.forum-post-row{grid-template-columns:minmax(260px,1fr) 125px 85px 90px 220px} }
