.archive-dialog-open{overflow:hidden}
.campaign-archive-dialog{box-sizing:border-box;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:24px;border:1px solid var(--line,#d8d8dc);border-radius:8px;background:var(--panel,#fff);color:var(--text,#1d1d1f);font:inherit;letter-spacing:0;overflow:auto}
.campaign-archive-dialog::backdrop{background:rgba(0,0,0,.4)}
.campaign-archive-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.campaign-archive-dialog>.archive-header,.campaign-archive-dialog>.archive-search,.campaign-archive-dialog>.archive-status,.campaign-archive-dialog>.archive-footer{flex-shrink:0}
.archive-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.archive-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.archive-header h2{font-size:20px;line-height:1.3;margin:0;overflow-wrap:anywhere}
.archive-close{flex:none;width:36px;height:36px;padding:0!important;font-size:24px!important}
.archive-search{box-sizing:border-box;width:100%;min-height:42px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line,#d8d8dc);border-radius:6px;background:var(--panel,#fff);color:inherit;font:inherit}
.archive-status{font-size:12px;color:var(--muted,#666);min-height:18px;margin:0 0 8px}
.archive-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--line,#d8d8dc);padding:16px 0}
.archive-details{min-width:0}.archive-details h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere;margin:0 0 5px}
.archive-date,.archive-metrics{font-size:12px;line-height:1.5;color:var(--muted,#666);margin:3px 0;overflow-wrap:anywhere}
.archive-actions{display:flex;gap:8px;flex-wrap:wrap}.archive-actions .btn{min-height:36px;white-space:normal}
.archive-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:16px;font-size:12px}
.archive-footer button{width:38px;height:36px;padding:0}.archive-footer button:disabled{opacity:.4;cursor:default}
#openCampaignArchive{flex:none;min-height:36px}
@media(max-width:560px){.campaign-archive-dialog{padding:16px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.archive-entry{grid-template-columns:minmax(0,1fr);gap:10px}.archive-actions{justify-content:flex-end}.archive-header h2{font-size:18px}.preview-search:has(#openCampaignArchive){flex-wrap:wrap}}
