.admin-research { max-width: 940px; margin: 2rem auto; padding: 2rem; }
.admin-toolbar, .admin-actions { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.admin-actions { justify-content: flex-start; margin-top: 1.5rem; }
.admin-research label { display: block; font-weight: bold; margin: 1.2rem 0 .4rem; }
.admin-research input:not([type=hidden]), .admin-research textarea { box-sizing: border-box; width: 100%; padding: .8rem; border: 1px solid #aaa; border-radius: 5px; font: inherit; }
.admin-research button, .admin-research .button { display: inline-block; background: #176b70; color: white; padding: .65rem 1.1rem; border: 0; border-radius: 5px; font: inherit; cursor: pointer; text-decoration: none; }
.admin-research button[type=submit] { margin-top: 1rem; }
.admin-research .secondary { background: #48565b; }
.admin-research .danger { background: #a32929; }
.admin-research .delete-link { color: #a32929; margin-left: 1.5rem; }
.admin-research section { margin-top: 3rem; }
.admin-item { display: flex; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid #ddd; overflow-wrap: anywhere; }
.admin-item img { width: 110px; height: 110px; object-fit: contain; }
.admin-item h3 { font-size: 1.25rem; margin: 0; }
.image-preview { display: block; max-width: 240px; max-height: 180px; margin-top: 1rem; }
.notice { padding: 1rem; border-radius: 5px; background: #e2f2e9; }
.notice.error { background: #fbe7e7; color: #861a1a; }
.admin-research :focus-visible { outline: 3px solid #176b70; outline-offset: 3px; }
@media (max-width: 600px) { nav { flex-wrap: wrap; gap: .5rem; } .admin-research { padding: 1rem; } .admin-item { flex-direction: column; } }

.admin-research fieldset { margin: 18px 0; padding: 18px; border: 1px solid #ddd; }
.admin-research select { padding: 10px; max-width: 100%; }

.subscriber-table-wrap { overflow-x: auto; margin: 22px 0; }
.subscriber-table { width: 100%; border-collapse: collapse; text-align: left; }
.subscriber-table th, .subscriber-table td { padding: 12px; border-bottom: 1px solid #ddd; }
.subscriber-table input[type=checkbox] { width: auto; margin: 0; }
.subscriber-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.subscriber-table tr.subscriber-accepted { background-color: rgba(46, 160, 67, 0.10); }
.subscriber-introduction { min-width: 210px; max-width: 360px; white-space: pre-wrap; overflow-wrap: anywhere; }

.blog-admin-table { width:100%; border-collapse:collapse; }
.blog-admin-table th,.blog-admin-table td { text-align:left; padding:14px 10px; border-bottom:1px solid #ddd; }
.blog-actions { white-space:nowrap; }
.blog-actions a { margin-right:12px; }
.blog-section { margin:24px 0; padding:20px; border:1px solid #ccc; border-radius:4px; min-width:0; }
.blog-section legend { font-weight:600; padding:0 8px; }
.blog-editor-image { margin:16px 0; }
.blog-editor-image img { display:block; max-width:260px; max-height:220px; object-fit:contain; margin-bottom:10px; }
.admin-research .blog-section input[type=checkbox],.admin-research .blog-notify input { width:auto; margin-right:8px; }
.blog-notify { display:block; margin:24px 0; }
