.admin-body { background:#ffffff; color:#24243b; padding-top:0; }
.admin-body h1,.admin-body h2,.admin-body h3 { color:#24243b; }
.admin-header { background:#24243b; color:#ffffff; padding:20px max(24px,calc((100vw - 1200px)/2)); display:flex; justify-content:space-between; gap:24px; align-items:center; }
.admin-header img { display:block; width:150px; }
.admin-header>a:last-child { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.admin-main { max-width:1248px; margin:auto; padding:48px 24px 64px; }
.admin-intro h1 { font-size:clamp(34px,5vw,48px); margin:0 0 14px; }
.admin-intro .section-tag { color:#606074; }
.admin-main p { line-height:1.7; }
.publish-note { margin-top:28px; padding:24px; border:1px solid #dedee9; border-radius:10px; }
.publish-note p { margin-top:8px; max-width:940px; font-size:14px; }
#admin-status { min-height:28px; margin:20px 0; font-weight:600; }
.admin-layout { display:grid; grid-template-columns:minmax(250px,.75fr) minmax(0,1.65fr); gap:28px; align-items:start; }
.posts-panel,.editor-panel,.export-panel { border:1px solid #dedee9; border-radius:12px; padding:26px; background:rgba(255,255,255,.25); min-width:0; }
.admin-main h2 { font-size:22px; letter-spacing:-.02em; }
.panel-title { display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.admin-hint { font-size:13px; color:#606074; margin:10px 0 16px; }
.admin-body button,.file-button { font:inherit; font-size:14px; font-weight:650; line-height:1.4; border:1px solid #777988; padding:12px 16px; border-radius:7px; background:transparent; color:#24243b; cursor:pointer; min-height:44px; }
.admin-body button:hover,.file-button:hover { background:rgba(36,36,59,.08); }
.admin-body .primary { background:#24243b; color:#ffffff; border-color:#24243b; }
.admin-body .primary:hover { background:#211e59; }
.admin-body button:disabled { opacity:.45; cursor:default; }
.admin-body :focus-visible { outline:3px solid #24243b; outline-offset:3px; }
.post-row { padding:16px 0; border-top:1px solid #dedee9; }
.post-row .post-select { display:block; text-align:left; width:100%; border:0; padding:8px; font-size:15px; overflow-wrap:anywhere; }
.post-row .post-select[aria-pressed="true"] { background:#24243b; color:#ffffff; }
.post-row-actions { display:flex; gap:8px; margin:8px 0 0 8px; }
.post-row-actions button { font-size:12px; padding:7px 10px; }
#news-form label { display:block; font-size:14px; font-weight:650; margin:22px 0 8px; }
#news-form label span { font-weight:400; }
#news-form input,#news-form textarea { width:100%; max-width:100%; min-width:0; padding:12px; border:1px solid #858795; border-radius:6px; background:#fff; color:#24243b; font:inherit; font-size:16px; line-height:1.5; }
#news-form input[type="date"] { max-width:240px; }
#news-form textarea { resize:vertical; }
#news-form details { margin-top:22px; }
#news-form summary { cursor:pointer; font-size:14px; padding-block:8px; }
.editor-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.preview-heading { display:flex; flex-wrap:wrap; gap:10px; align-items:baseline; margin:36px 0 18px; padding-top:24px; border-top:1px solid #dedee9; }
.preview-heading span { font-size:13px; color:#606074; }
.preview-surface .news-card { padding:24px; }
.export-panel { margin-top:28px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
.export-panel p { margin-top:8px; font-size:14px; }
.export-actions { display:flex; flex-wrap:wrap; gap:10px; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.file-button:has(+input:focus-visible) { outline:3px solid #24243b; outline-offset:3px; }
@media(max-width:800px) { .admin-layout { grid-template-columns:1fr; } .admin-main { padding:32px 20px; } .posts-panel,.editor-panel,.export-panel { padding:20px; } .admin-header { padding:18px 20px; } }

.admin-header { background:#ffffff; color:#24243b; border-bottom:1px solid #dedee9; }
.admin-body .primary { background:#2d2a72; border-color:#2d2a72; color:white; }
.admin-body .primary:hover { background:#211e59; }
.admin-header img { width:172px; height:65px; object-fit:cover; object-position:center 46%; }
.posts-panel,.editor-panel,.export-panel { background:white; }
.publish-note { background:#f3f3f8; }
.admin-intro .section-tag { color:#2d2a72; }
.post-row .post-select[aria-pressed="true"] { background:#f3f3f8; color:#24243b; }
