.wrap{max-width:980px;margin:0 auto;padding:20px}
.admin-header{border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;background:#fff}
.admin-header .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;text-decoration:none;color:inherit}
.nav a{margin-left:12px;text-decoration:none;color:inherit;opacity:.8}
.nav a:hover{opacity:1}
.card{padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}
label{display:block;margin:10px 0}
input,textarea,select{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.18);font:inherit}
button{padding:10px 14px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:600;cursor:pointer}
button:hover{opacity:.92}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;vertical-align:top}
.actions .btn{display:inline-block;margin-right:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.18);text-decoration:none;color:inherit}
.btn.danger{border-color:rgba(255,0,0,.25)}
.notice{padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.12);margin:12px 0}
.notice.success{border-color:rgba(0,128,0,.25)}
.notice.error{border-color:rgba(255,0,0,.25)}
.badge{padding:4px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.16);font-size:12px}
.badge.published{border-color:rgba(0,128,0,.25)}
.badge.draft{opacity:.7}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:720px){.grid{grid-template-columns:1fr}}
.login .card{max-width:420px}

.quill-wrap{margin-top:8px}
.quill-editor{background:#fff;border-radius:12px}
.ql-toolbar.ql-snow{border-radius:12px 12px 0 0;border-color:rgba(0,0,0,.18)}
.ql-container.ql-snow{border-radius:0 0 12px 12px;border-color:rgba(0,0,0,.18)}
.ql-editor{font-size:16px;line-height:1.65}
