
.campaign-admin-page{background:radial-gradient(circle at 92% 5%,rgba(12,107,56,.08),transparent 24%),#f7faf9}
.campaign-admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.campaign-admin-top h1{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:10px}
.campaign-admin-top p{color:var(--muted);max-width:780px;margin:0}
.campaign-admin-actions-top{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center}
.campaign-admin-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:22px;align-items:start}
.campaign-editor-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 34px rgba(24,48,71,.06);padding:28px}
.campaign-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}
.campaign-editor-form textarea{width:100%;resize:vertical;border:1px solid #cfdcdf;border-radius:13px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;line-height:1.55}
.campaign-editor-form textarea:focus{outline:3px solid rgba(12,107,56,.12);border-color:var(--green)}
.campaign-editor-buttons{margin-top:22px;display:flex;justify-content:flex-end}
.campaign-editor-buttons button{border:0;cursor:pointer}
.campaign-draft-badge,.campaign-published-badge,.campaign-superseded-badge,.campaign-version-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900;letter-spacing:.04em}
.campaign-draft-badge{background:#fff4d8;color:#795400}.campaign-published-badge{background:var(--green-soft);color:var(--green-dark)}.campaign-superseded-badge{background:#eef1f4;color:#52606b}.campaign-version-chip{background:#eaf1f7;color:var(--navy);margin-bottom:10px}
.campaign-admin-sidebar{display:grid;gap:18px}.campaign-side-card{padding:22px}.campaign-side-card p{color:var(--muted)}
.campaign-publish-button{width:100%;border:0;cursor:pointer;background:var(--navy);color:#fff}.campaign-publish-button:hover{background:#0b2a48}.campaign-side-button{width:100%}
.campaign-muted-action{display:block;border-radius:12px;background:#f2f5f6;color:var(--muted);padding:12px;font-size:.9rem;font-weight:700}
.campaign-meta-list{margin:16px 0 0;display:grid;gap:12px}.campaign-meta-list div{display:grid;gap:3px}.campaign-meta-list dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.campaign-meta-list dd{margin:0;color:var(--navy);font-weight:800}
.campaign-hash{word-break:break-all;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.campaign-alert-success{background:#ecf8f0;border:1px solid #bfe2ca;color:#125d32}
.campaign-empty-state{background:#fff;border:1px dashed #cbd7db;border-radius:22px;padding:34px;text-align:center}.campaign-empty-state p{color:var(--muted)}
.campaign-history-list{display:grid;gap:18px}.campaign-history-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 28px rgba(24,48,71,.05)}
.campaign-history-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.campaign-history-meta{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}
.campaign-hash-block{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:6px}.campaign-hash-block span{color:var(--muted);font-size:.8rem;font-weight:800}.campaign-hash-block code{white-space:normal;word-break:break-all;color:var(--navy)}
@media(max-width:900px){.campaign-admin-grid{grid-template-columns:1fr}.campaign-history-meta{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.campaign-admin-top,.campaign-editor-heading,.campaign-history-head{flex-direction:column}.campaign-admin-actions-top{justify-content:flex-start}.campaign-history-meta{grid-template-columns:1fr}.campaign-editor-card{padding:20px 16px}}
