:root { --admin-ink:#451718; --admin-blue:#9b3329; --admin-muted:#8e7470; --admin-line:#ead9c6; --admin-bg:#f6eee4; --admin-white:#fffdf9; }
* { box-sizing:border-box; }
body.bbs-admin { margin:0; background:var(--admin-bg); color:#293b4c; font:14px/1.6 system-ui,"Microsoft YaHei",sans-serif; }
.bbs-admin a { color:var(--admin-blue); text-decoration:none; }
.bbs-admin a:hover { color:#17486f; text-decoration:underline; }
.admin-top { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; min-height:66px; padding:0 27px; background:linear-gradient(110deg,#351013,#641719); color:#fff; box-shadow:0 2px 10px #35101326; }
.admin-brand { display:flex; align-items:center; gap:10px; color:#fff!important; font-size:17px; font-weight:750; }
.admin-brand:hover { text-decoration:none!important; }
.admin-brand small { display:block; color:#b9c9d7; font-size:10px; font-weight:500; letter-spacing:.1em; }
.admin-mark { display:grid; width:36px; height:36px; place-items:center; border:1px solid #ffffff44; border-radius:10px; background:#ffffff12; font-family:Georgia,serif; font-size:20px; }
.admin-top-right { display:flex; align-items:center; gap:20px; color:#dce7ef; font-size:12px; }
.admin-top-right a { color:#e8f1f8; }
.admin-top-right form { margin:0; }
.admin-top-right button { padding:5px 11px; border:1px solid #ffffff50; border-radius:6px; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.admin-layout { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 66px); }
.admin-sidebar { display:flex; flex-direction:column; padding:25px 14px; border-right:1px solid var(--admin-line); background:#fff; }
.admin-sidebar > p { margin:0 11px 11px; color:#9aa7b4; font-size:10px; font-weight:700; letter-spacing:.12em; }
.admin-sidebar nav { display:grid; gap:4px; }
.admin-sidebar nav a { display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:7px; color:#536577; font-size:13px; font-weight:550; }
.admin-sidebar nav a > span { width:19px; color:#8798a8; font-size:17px; text-align:center; }
.admin-sidebar nav a:hover { background:#f3f7fa; text-decoration:none; }
.admin-sidebar nav a.active { background:#fff1df; color:#8f2029; }
.admin-sidebar nav a.active > span { color:#8f2029; }
.admin-sidebar-note { margin:auto 10px 0; padding-top:20px; color:#9aa7b4; font-size:10px; line-height:1.8; }
.admin-content { width:min(1440px,100%); margin:0 auto; padding:30px clamp(18px,3vw,42px) 50px; }
.admin-page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 23px; }
.admin-page-heading > div > span { color:#8294a5; font-size:9px; font-weight:700; letter-spacing:.16em; }
.admin-page-heading h1 { margin:3px 0 0; color:var(--admin-ink); font-size:24px; letter-spacing:-.025em; }
.admin-view-site { padding:7px 11px; border:1px solid #dbe4eb; border-radius:6px; background:#fff; font-size:11px; }
.admin-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.admin-stat { display:flex; flex-direction:column; gap:4px; padding:17px 19px; border:1px solid var(--admin-line); border-radius:10px; background:#fff; box-shadow:0 3px 12px #233c5409; }
.admin-stat > span { color:var(--admin-muted); font-size:11px; }
.admin-stat strong { color:var(--admin-ink); font-size:27px; line-height:1.2; }
.admin-stat small { color:#9aa7b3; font-size:10px; }
.admin-panel { margin-bottom:18px; overflow:hidden; border:1px solid var(--admin-line); border-radius:10px; background:#fff; box-shadow:0 3px 12px #233c5409; }
.admin-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 19px; border-bottom:1px solid var(--admin-line); }
.admin-panel-heading h2 { margin:0; color:var(--admin-ink); font-size:15px; }
.admin-panel-heading p { margin:2px 0 0; color:var(--admin-muted); font-size:11px; }
.admin-panel-heading > a { font-size:11px; }
.admin-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; padding:16px 19px 19px; }
.admin-shortcuts a { display:grid; grid-template-columns:32px 1fr; align-items:center; gap:0 9px; min-width:0; padding:13px; border:1px solid #e8edf1; border-radius:8px; background:#fcfdfe; }
.admin-shortcuts a:hover { border-color:#cbdbe7; background:#f6f9fb; text-decoration:none; }
.admin-shortcuts a > span { grid-row:span 2; display:grid; width:30px; height:30px; place-items:center; border-radius:8px; background:#edf4f8; color:#45789e; font-size:17px; }
.admin-shortcuts strong { overflow:hidden; color:#2a4359; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.admin-shortcuts small { overflow:hidden; color:#8997a5; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.admin-table-wrap { overflow:auto; }
.bbs-admin table { width:100%; border-collapse:collapse; text-align:left; }
.bbs-admin th { padding:10px 13px; background:#f7f9fb; color:#748497; font-size:11px; font-weight:650; white-space:nowrap; }
.bbs-admin td { padding:11px 13px; border-top:1px solid #edf1f4; color:#465a6c; font-size:12px; vertical-align:middle; }
.bbs-admin td font[size] { font-size:inherit !important; }
.bbs-admin td a { font-weight:550; }
.admin-empty { padding:25px!important; color:#8493a0!important; text-align:center; }
.admin-subline { display:block; margin-top:3px; color:#8b99a6; font-size:10px; font-weight:400; }
.admin-board-list { display:grid; gap:9px; padding:12px 15px 16px; }
.admin-board-item { overflow:hidden; border:1px solid #e7edf2; border-radius:8px; background:#fff; }
.admin-board-item.depth-1 { margin-left:18px; }
.admin-board-item.depth-2 { margin-left:36px; }
.admin-board-item.depth-3 { margin-left:54px; }
.admin-board-summary { display:flex; align-items:center; gap:13px; min-width:0; padding:12px 14px; }
.admin-board-id { display:grid; width:34px; height:30px; flex:0 0 34px; place-items:center; border-radius:7px; background:#f0f4f7; color:#7c8e9e; font-size:10px; }
.admin-board-identity { min-width:0; flex:1; }
.admin-board-identity h3 { overflow:hidden; margin:0; color:#30495f; font-size:13px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.admin-board-identity h3 font { font-size:inherit !important; }
.admin-board-identity p { overflow:hidden; margin:3px 0 0; color:#8997a4; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.admin-board-identity p > span { padding:0 3px; color:#c2cbd3; }
.admin-board-counts { display:flex; flex:0 0 auto; gap:16px; color:#8997a4; font-size:10px; }
.admin-board-counts span { min-width:45px; text-align:right; }
.admin-board-counts strong { display:block; color:#50677c; font-size:12px; line-height:1.3; }
.admin-board-edit { flex:0 0 auto; }
.admin-board-edit summary { padding:6px 10px; border:1px solid #dce5ec; border-radius:6px; color:#426b8a; cursor:pointer; font-size:10px; list-style:none; white-space:nowrap; }
.admin-board-edit summary::-webkit-details-marker { display:none; }
.admin-board-edit summary::after { margin-left:6px; content:'＋'; color:#8297a9; }
.admin-board-edit[open] summary::after { content:'－'; }
.admin-board-edit summary:hover { background:#f3f7fa; }
.admin-board-form { display:grid; gap:12px; padding:15px; border-top:1px solid #e9eef2; background:#fbfcfd; }
.admin-board-fields { display:grid; grid-template-columns:1.1fr 1.8fr 1.3fr 100px; align-items:start; gap:10px; }
.admin-board-fields label { display:grid; gap:5px; color:#8492a0; font-size:10px; }
.admin-board-fields .wide-field { grid-column:span 1; }
.admin-board-fields textarea { min-height:64px!important; resize:vertical; }
.admin-board-form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#94a0ab; font-size:10px; }
.admin-clear-search { align-self:center; font-size:10px; white-space:nowrap; }
.admin-board-empty { padding:35px 15px!important; }
.admin-announcement-form { display:grid; grid-template-columns:1fr 2fr; align-items:end; gap:12px; padding:17px 19px 20px; }
.admin-announcement-form label { display:grid; gap:5px; color:#718294; font-size:11px; }
.admin-announcement-form input,.admin-announcement-form select,.admin-announcement-form textarea { width:100%; padding:8px 10px; border:1px solid #d4dee6; border-radius:6px; color:#2d4052; font:inherit; font-size:12px; }
.admin-announcement-form textarea { min-height:98px; grid-column:1/-1; resize:vertical; }
.admin-announcement-form label:nth-of-type(3) { grid-column:1/-1; }
.admin-actions { display:flex; flex-wrap:wrap; gap:4px; }
.admin-actions form { margin:0; }
.admin-actions .admin-button { padding:5px 7px; font-size:10px; }
.admin-notice { margin:0 0 16px; padding:10px 13px; border:1px solid #cce6d6; border-radius:7px; background:#f0faf4; color:#287245; font-size:12px; }
.admin-notice.error { border-color:#f0d1ce; background:#fff5f4; color:#a44239; }
.admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 18px; border-bottom:1px solid var(--admin-line); }
.admin-search { display:flex; gap:7px; width:min(420px,100%); }
.admin-search input, .admin-form input, .admin-form textarea, .admin-form select { width:100%; min-width:0; padding:8px 10px; border:1px solid #d4dee6; border-radius:6px; background:#fff; color:#2d4052; font:inherit; font-size:12px; }
.admin-search button, .admin-button { padding:7px 12px; border:0; border-radius:6px; background:var(--admin-blue); color:white; font:inherit; font-size:11px; cursor:pointer; white-space:nowrap; }
.admin-button.secondary { border:1px solid #d7e0e7; background:#fff; color:#526678; }
.admin-button.danger { background:#a94842; }
.admin-inline-form { display:inline-flex; align-items:center; gap:6px; margin:0; }
.admin-form { display:grid; gap:11px; }
.admin-form label, .login-card label { display:grid; gap:5px; color:#526477; font-size:11px; font-weight:600; }
.admin-form textarea { min-height:74px; resize:vertical; }
.admin-badge { display:inline-block; padding:2px 7px; border-radius:12px; background:#edf3f7; color:#587286; font-size:10px; }
.admin-badge.good { background:#eaf7ef; color:#348253; }
.admin-badge.warn { background:#fff5e6; color:#9b6b20; }
.admin-login-page { display:grid; min-height:100vh; place-items:center; padding:20px; background:radial-gradient(ellipse at 50% 0,#e6eef4,#f3f6f9 60%); }
.login-card { width:min(420px,100%); padding:32px; border:1px solid var(--admin-line); border-radius:13px; background:#fff; box-shadow:0 16px 50px #182f4518; }
.login-brand { margin-bottom:28px; color:var(--admin-ink)!important; }
.login-brand small { color:#8796a5; }
.login-card h1 { margin:0; color:var(--admin-ink); font-size:22px; }
.login-caption { margin:4px 0 22px; color:var(--admin-muted); font-size:12px; }
.login-card form { display:grid; gap:15px; }
.login-card input { padding:10px 11px; border:1px solid #d4dee6; border-radius:6px; font:inherit; }
.login-submit { margin-top:4px; padding:10px; border:0; border-radius:6px; background:var(--admin-blue); color:white; font:inherit; font-weight:650; cursor:pointer; }
.login-back { display:block; margin-top:20px; color:#718294!important; font-size:11px; text-align:center; }
@media(max-width:980px) { .admin-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:980px) { .admin-board-fields { grid-template-columns:1fr 1fr; } .admin-board-fields .wide-field { grid-column:span 2; } }
@media(max-width:720px) { .admin-top { padding:0 14px; } .admin-top-right { gap:9px; font-size:10px; } .admin-layout { grid-template-columns:1fr; } .admin-sidebar { padding:7px 10px; border-right:0; border-bottom:1px solid var(--admin-line); } .admin-sidebar > p,.admin-sidebar-note { display:none; } .admin-sidebar nav { display:flex; overflow:auto; gap:4px; } .admin-sidebar nav a { flex:0 0 auto; padding:8px 10px; font-size:11px; } .admin-sidebar nav a > span { display:none; } .admin-content { padding:19px 13px 35px; } .admin-page-heading h1 { font-size:21px; } .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .admin-stat { padding:13px; } .admin-stat strong { font-size:23px; } .admin-shortcuts { padding:11px; gap:7px; } .admin-shortcuts a { grid-template-columns:27px minmax(0,1fr); padding:9px; } .admin-shortcuts a > span { width:25px;height:25px; } .admin-panel-heading { padding:13px; } .admin-toolbar { padding:10px; } .bbs-admin td,.bbs-admin th { padding:9px; } }
@media(max-width:720px) { .admin-announcement-form { grid-template-columns:1fr; padding:13px; } .admin-announcement-form textarea,.admin-announcement-form label:nth-of-type(3) { grid-column:auto; } .admin-board-summary { flex-wrap:wrap; gap:9px; padding:10px; } .admin-board-identity { min-width:calc(100% - 53px); } .admin-board-counts { order:3; margin-left:43px; } .admin-board-edit { order:4; margin-left:auto; } .admin-board-item.depth-1,.admin-board-item.depth-2,.admin-board-item.depth-3 { margin-left:0; } .admin-board-fields { grid-template-columns:1fr; } .admin-board-fields .wide-field { grid-column:auto; } .admin-board-form-actions { align-items:flex-start; flex-direction:column; } }
@media(max-width:420px) { .admin-top-right > span { display:none; } .admin-shortcuts { grid-template-columns:1fr; } }
