*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#f2f4f7;color:#2b2b2b;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.7}.admin-container{max-width:920px;margin:0 auto;padding-left:16px;padding-right:16px}a{color:#1a4f8b;text-decoration:none}a:hover{text-decoration:underline}.admin-header{background:#1f2937;color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:12px;flex-wrap:wrap}.admin-brand{color:#fff;font-weight:700;white-space:nowrap}.admin-header nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-header nav a,.nav-logout button{color:#cbd5e1;font-size:14px}.admin-header nav a:hover,.nav-logout button:hover{color:#fff}.nav-logout{display:inline;margin:0}.nav-logout button{background:none;border:0;font:inherit;cursor:pointer;padding:0}.nav-badge{display:inline-block;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:17px;padding:0 5px;border-radius:999px;margin-left:4px;line-height:17px;text-align:center}.admin-main{padding-top:26px;padding-bottom:60px}.admin-main h1{font-size:23px;margin:0 0 18px}.flash{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:10px 14px;border-radius:8px;margin-bottom:16px}.flash.error{background:#fee2e2;border-color:#fecaca;color:#991b1b}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card,.admin-card,.admin-form{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.04)}.stat-number{display:block;color:#1a4f8b;font-size:30px;font-weight:700}.stat-label{color:#64748b;font-size:13px}.section-title{font-size:17px;margin:26px 0 10px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3e6ea;font-size:14px}.admin-table th,.admin-table td{text-align:left;padding:11px 13px;border-bottom:1px solid #eef0f3;vertical-align:top}.admin-table th{background:#f8fafc;white-space:nowrap}.admin-table tr:hover{background:#fafbfd}.admin-form{max-width:720px}.admin-form label{display:block;font-size:14px;font-weight:600;color:#374151;margin:0 0 16px}.admin-form input,.admin-form textarea,.admin-form select{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;background:#fff}.admin-form input:focus,.admin-form textarea:focus{outline:0;border-color:#1a4f8b;box-shadow:0 0 0 3px rgba(26,79,139,.15)}.admin-form textarea{resize:vertical}.btn{display:inline-block;background:#1a4f8b;color:#fff;padding:9px 19px;border:0;border-radius:8px;font-weight:600;cursor:pointer}.btn:hover{background:#143b66;text-decoration:none}.btn-danger{background:none;border:0;color:#b91c1c;text-decoration:underline;cursor:pointer}.admin-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:18px}.muted{color:#64748b;font-size:13px}.post-preview{max-width:540px;white-space:pre-wrap;overflow-wrap:anywhere}.inline-form{display:inline}.rich-editor{border:1px solid #d1d5db;border-radius:8px;background:#fff}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:7px 8px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.rich-toolbar button{border:1px solid transparent;background:transparent;color:#374151;padding:6px 9px;border-radius:6px;cursor:pointer}.rich-toolbar button:hover{background:#e5e7eb}.rich-editor-area{min-height:230px;padding:12px 14px;outline:0}.rich-editor-area:empty:before{content:attr(data-placeholder);color:#9ca3af}.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#eef1f6}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);padding:32px;width:100%;max-width:380px}.login-box h1{font-size:20px;margin:0 0 18px}.login-box label{display:block;font-size:14px;font-weight:600;margin-bottom:16px}.login-box input{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit}.login-box .btn{width:100%;margin-top:6px}@media(max-width:700px){.dashboard-grid{grid-template-columns:1fr 1fr}.admin-header nav{gap:9px}.admin-table{font-size:13px;display:block;overflow-x:auto;white-space:nowrap}}@media(max-width:450px){.dashboard-grid{grid-template-columns:1fr}.header-inner{align-items:flex-start}.admin-header nav{width:100%}}
.admin-form textarea[hidden]{display:none!important}.emoji-panel{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;background:#fff;border:1px solid #e5e7eb;max-height:180px;overflow-y:auto}.emoji-panel[hidden]{display:none}.emoji-panel button{background:none;border:0;border-radius:5px;font-size:21px;padding:4px;cursor:pointer}.emoji-panel button:hover{background:#eef2f7}
.btn-secondary{background:#64748b}.btn-secondary:hover{background:#475569}
.ai-comment-box{margin-top:18px;padding:14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.ai-comment-box label{margin-bottom:6px}.ai-comment-box textarea{max-width:100%;margin-bottom:8px}.ai-comment-box .btn-secondary{margin-right:8px}
.editor{min-height:280px;padding:14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;outline:0;line-height:1.9;overflow-y:auto;overflow-wrap:anywhere}.editor:focus{border-color:#1a4f8b;box-shadow:0 0 0 3px rgba(26,79,139,.15)}.editor:empty:before{content:'本文を入力してください。';color:#9ca3af}
