:root{--bg-deep:#0b1416;--bg-surface:#131e22;--bg-raised:#1a272c;--border-subtle:#233137;--text-primary:#cfd8dc;--text-muted:#7a8c92;--text-faint:#4a5a60;--brand-teal:#4ea3ad;--brand-deep:#2a5a64;--brand-accent:#6ec3cd;--radius-sm:4px;--radius-md:6px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-deep);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--brand-accent)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login .card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:32px;width:360px}.login h1{color:var(--brand-accent);font-size:20px;margin:0 0 8px}.login p{color:var(--text-muted);margin:0 0 24px}button{font:inherit;cursor:pointer}.login button{width:100%;background:var(--brand-teal);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);padding:10px 16px;font-weight:600}.login button:hover{background:var(--brand-accent)}.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.topbar .brand{display:inline-flex;align-items:center;gap:8px;color:var(--brand-accent);font-weight:600;text-decoration:none}.topbar .brand-logo{height:28px;width:auto;display:block}.topbar .spacer{flex:1 1}.topbar .user,button.link{color:var(--text-muted)}button.link{background:none;border:none;text-decoration:underline;padding:0}button.link:hover{color:var(--text-primary)}.content{padding:24px 20px}.content h1{color:var(--brand-accent);font-size:18px;margin:0 0 8px}.content p{color:var(--text-muted)}:root{--state-ok:#6ba27a;--state-warn:#c89a5a;--state-danger:#c2616a;--state-info:#6e92b8}h2{color:var(--text-primary);font-size:15px;margin:24px 0 8px}code{background:var(--bg-raised);border-radius:var(--radius-sm);padding:1px 5px}.hint,code{font-size:12px}.hint{color:var(--text-faint)}.nav{display:flex;gap:16px;margin-left:20px}.nav a{color:var(--text-muted);text-decoration:none}.nav a:hover{color:var(--text-primary)}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0}input[name=name]{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px;min-width:240px}input[type=file]{color:var(--text-muted)}.content button,.upload button{background:var(--brand-teal);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);padding:7px 14px;font-weight:600}.content button:hover:not(:disabled),.upload button:hover:not(:disabled){background:var(--brand-accent)}.content button:disabled,.upload button:disabled{opacity:.5;cursor:default}.content button.link{background:none;color:var(--text-muted);text-decoration:underline;padding:0;font-weight:400}.content button.link:hover{background:none;color:var(--text-primary)}.button-link{background:var(--brand-teal);color:var(--bg-deep);border-radius:var(--radius-sm);padding:7px 14px;font-weight:600;text-decoration:none}.button-link:hover{background:var(--brand-accent)}table.data{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:13px}table.data td,table.data th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border-subtle)}table.data th{font-weight:600}.badge,table.data th{color:var(--text-muted)}.badge{display:inline-block;font-size:11px;padding:2px 7px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border-subtle)}.badge-active{color:var(--state-ok);border-color:var(--state-ok)}.badge-paused{color:var(--state-warn);border-color:var(--state-warn)}.badge-bounced,.badge-rejected,.badge-suppressed{color:var(--state-danger);border-color:var(--state-danger)}.badge-replied,.badge-sent{color:var(--state-info);border-color:var(--state-info)}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-head h1{margin:0}.page-head .spacer{flex:1 1}.funnel{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.funnel-cell{display:flex;flex-direction:column;align-items:center;min-width:78px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;color:var(--text-muted)}.funnel-cell:hover{border-color:var(--brand-teal)}.funnel-cell.is-active{border-color:var(--brand-accent);color:var(--text-primary)}.funnel-count{font-size:18px;font-weight:600;color:var(--brand-accent)}.funnel-label{font-size:11px}.upload{margin-top:8px}.preview{margin:12px 0}.preview-summary{color:var(--text-primary)}.issue{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin:6px 0;border-radius:var(--radius-sm);border-left:3px solid var(--border-subtle);background:var(--bg-surface);font-size:13px}.issue strong{color:var(--text-primary)}.issue span{color:var(--text-muted)}.issue-warn{border-left-color:var(--state-warn)}.issue-danger{border-left-color:var(--state-danger)}.issue-muted{border-left-color:var(--text-faint)}.issue-ok{border-left-color:var(--state-ok)}.link-back{color:var(--text-muted);text-decoration:none;font-size:13px}.link-back:hover{color:var(--text-primary)}.review-body{margin-top:8px}.review-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:13px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.review-bar .spacer{flex:1 1}.review-pager{display:flex;align-items:center;gap:8px}.review-counter{font-weight:600;color:var(--brand-accent)}.review-prospect{color:var(--text-primary)}.review-split{display:grid;grid-template-columns:1fr 420px;grid-gap:14px;gap:14px;align-items:start}.review-page-frame{width:100%;height:78vh;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.review-side{display:flex;flex-direction:column;gap:12px}.review-source{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px;font-size:13px}.review-source strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.review-source-url{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;margin:4px 0}.review-source-url a{color:var(--text-primary)}.review-source-url a:hover{color:var(--brand-accent)}.review-source-via{color:var(--text-muted);font-size:12px}.review-flags{padding:10px 12px;background:var(--bg-surface);border:1px solid var(--state-warn);border-radius:var(--radius-md)}.review-flags strong{color:var(--state-warn);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.review-flags ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.flag-chip{position:relative;padding-left:16px;font-size:13px;color:var(--text-primary)}.flag-chip:before{content:"⚑";position:absolute;left:0;color:var(--state-warn)}.review-email{padding:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.email-subject{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);font-weight:600;color:var(--text-primary)}.email-body{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:13px;color:var(--text-primary)}.review-actions{display:flex;gap:8px;align-items:center}.reject-reason{width:220px;padding:6px 10px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit}.content button.reject{background:var(--state-danger)}.content button.reject:hover:not(:disabled){background:#d4757d}.review-edit{gap:10px}.edit-field,.review-edit{display:flex;flex-direction:column}.edit-field{gap:4px}.edit-field>span{font-size:12px;color:var(--text-muted)}.edit-field input,.edit-field textarea{width:100%;padding:7px 10px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit}.edit-field textarea{resize:vertical}.edit-field textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.edit-field textarea:disabled{opacity:.5}.review-error{margin-bottom:12px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--state-danger);border-left-width:3px;border-radius:var(--radius-sm);color:var(--state-danger);font-size:13px}.review-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px}.badge-failed{color:var(--state-danger);border-color:var(--state-danger)}.kill-switch{display:flex;align-items:center;gap:16px;padding:14px 16px;margin:12px 0 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.kill-switch.is-active{border-color:var(--state-ok)}.kill-switch.is-paused{border-color:var(--state-danger)}.kill-switch-text{display:flex;flex-direction:column;gap:2px}.kill-switch-text strong{color:var(--text-primary)}.kill-switch.is-paused .kill-switch-text strong{color:var(--state-danger)}.kill-switch-text span{color:var(--text-muted);font-size:13px}.kill-switch form{margin-left:auto}.stats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.stat{display:flex;flex-direction:column;align-items:center;min-width:130px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.stat.is-hot{border-color:var(--state-danger)}.stat-value{font-size:22px;font-weight:600;color:var(--brand-accent)}.stat.is-hot .stat-value{color:var(--state-danger)}.stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.inline-form input[type=email],.inline-form input[type=search],.inline-form input[type=text]{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px;min-width:220px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px;margin:8px 0 4px}.detail-grid>div{padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.detail-grid dt{font-size:11px;color:var(--text-muted)}.detail-grid dd{margin:2px 0 0;color:var(--text-primary)}.timeline{list-style:none;margin:8px 0;padding:0}.timeline-item{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.timeline-time{color:var(--text-faint);font-size:12px;white-space:nowrap}.timeline-summary{color:var(--text-muted)}.apollo{display:grid;grid-template-columns:1fr 300px;grid-gap:16px;gap:16px;align-items:start;margin-top:12px}.apollo-main{gap:8px;min-width:0}.apollo-main,.apollo-side{display:flex;flex-direction:column}.apollo-side{gap:12px}input.apollo-icp{flex:1 1;min-width:320px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px}.apollo-card,.apollo-filters,.apollo-stage{padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.apollo-card>strong,.apollo-filters>strong,.apollo-stage>strong{display:block;color:var(--text-primary);margin-bottom:8px}.apollo-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.apollo-stage-target{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}.apollo-radio{display:flex;align-items:center;gap:6px;min-width:150px;color:var(--text-muted)}.apollo-select,.apollo-text{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 10px;font:inherit;min-width:220px}.apollo-select:disabled,.apollo-text:disabled{opacity:.5}.apollo-confirm{margin-top:8px;padding:10px 12px;background:var(--bg-raised);border:1px solid var(--state-warn);border-radius:var(--radius-sm)}.apollo-confirm .preview-summary{margin:0 0 4px}.apollo-list{list-style:none;margin:0;padding:0;gap:8px}.apollo-list,.apollo-list li{display:flex;flex-direction:column}.apollo-list li{gap:2px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.apollo-list li:last-child{border-bottom:none;padding-bottom:0}.apollo-list .hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apollo-history-icp{color:var(--text-primary);font-size:13px}.apollo-save{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.apollo-save .apollo-text{min-width:0}.stack-form{gap:12px;max-width:620px}.stack-form,.stack-form label{display:flex;flex-direction:column}.stack-form label{gap:4px;font-size:14px}.stack-form fieldset{border:1px solid var(--border-subtle,#233137);border-radius:6px;padding:12px 16px}.stack-form legend{padding:0 6px;font-weight:600}.stack-form .field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.checkbox{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:14px}.stack-form label.checkbox{flex-direction:row;align-items:center;gap:6px}.template-card{margin:14px 0 26px}.template-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--brand-accent,#6ec3cd);margin:0 0 6px}.template-preview{width:100%;background:#ffffff;border:1px solid var(--border-subtle,#233137);border-radius:var(--radius-md,6px)}.template-preview--page{height:720px}.template-preview--email{height:520px}.button-danger,.content button.button-danger,.upload button.button-danger{background:var(--state-danger,#c2616a);color:var(--bg-deep,#0b1416);border:none;border-radius:var(--radius-sm,4px);padding:7px 14px;font-weight:600}.button-danger:hover,.content button.button-danger:hover:not(:disabled),.upload button.button-danger:hover:not(:disabled){opacity:.85}.apollo-no-email-warn{margin:6px 0;font-size:13px;color:var(--state-warn,#c89a5a)}.apollo-row-staged{opacity:.55}.apollo-staged-mark{color:var(--state-ok,#6ba27a);font-weight:700}.apollo-email-ok{color:var(--state-ok,#6ba27a);font-size:13px}.apollo-email-none{color:var(--state-warn,#c89a5a);font-size:13px}.content button.sort-header{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.content button.sort-header:hover{background:none;color:var(--text-primary)}.sort-arrow{font-size:9px;color:var(--brand-accent)}.button-warn,.content button.button-warn,.upload button.button-warn{background:var(--state-warn,#c89a5a);color:var(--bg-deep,#0b1416);border:none;border-radius:var(--radius-sm,4px);padding:7px 14px;font-weight:600}.button-warn:hover:not(:disabled),.content button.button-warn:hover:not(:disabled),.upload button.button-warn:hover:not(:disabled){opacity:.85}.button-warn:disabled,.content button.button-warn:disabled,.upload button.button-warn:disabled{opacity:.5;cursor:default}.review-remove-form{background:var(--bg-surface);border:1px solid #876940;border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.review-remove-form strong{color:#b89360}.review-remove-form label.checkbox{display:flex;gap:8px;align-items:flex-start}.review-remove-form textarea{width:100%;padding:7px 10px;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;resize:vertical}.review-remove-form .inline-form{margin:0}.apollo-filter-group{margin:10px 0}.apollo-filter-group-title{display:block;font-size:12px;font-weight:600;color:var(--brand-accent);margin-bottom:4px}.apollo-unmapped{margin:10px 0;padding:8px 10px;border-left:3px solid var(--state-warn,#c89a5a);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:13px;color:var(--text-muted)}.apollo-unmapped strong{color:var(--text-primary)}.run-delete-form{background:var(--bg-surface);border:1px solid #876940;border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:320px}.run-delete-form input[type=text]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;width:100%}.review-success{border:1px solid var(--state-ok,#6ba27a);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px;font-size:13px;color:var(--text-primary)}.cost-strip,.review-success{background:var(--bg-surface)}.cost-strip{display:flex;align-items:center;gap:12px;padding:6px 24px;border-bottom:1px solid var(--border-subtle,#233137);color:var(--text-muted);font-size:12px}.cost-strip strong{color:var(--text-primary);font-weight:600}.cost-window{color:var(--text-faint,#4a5a60);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cost-cell{white-space:nowrap}.cost-sep{color:var(--text-faint,#4a5a60)}.modal-backdrop{position:fixed;inset:0;background:rgba(11,20,22,.82);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px 24px;width:420px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:0}.modal-title{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.modal-file-label{display:block;margin-bottom:12px}.logo-preview{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:12px}.logo-preview-img{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;flex-shrink:0}.logo-preview-meta{font-size:13px;color:var(--text-muted);word-break:break-all}.modal-error{margin:0 0 12px;padding:7px 10px;background:var(--bg-surface);border:1px solid var(--state-danger);border-left-width:3px;border-radius:var(--radius-sm);color:var(--state-danger);font-size:13px}.modal-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.modal .button-primary{background:var(--brand-teal);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);padding:7px 14px;font:inherit;font-weight:600;cursor:pointer}.modal .button-primary:hover:not(:disabled){background:var(--brand-accent)}.modal .button-primary:disabled{opacity:.5;cursor:default}.modal>.modal-actions>button:not(.button-primary){background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:7px 14px;font:inherit;cursor:pointer}.modal>.modal-actions>button:not(.button-primary):hover:not(:disabled){color:var(--text-primary);border-color:var(--text-faint)}.modal>.modal-actions>button:not(.button-primary):disabled{opacity:.5;cursor:default}.modal-secondary-action{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.modal-secondary-action .link{background:none;border:none;color:var(--text-muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:0}.modal-secondary-action .link:hover:not(:disabled){color:var(--text-primary)}.modal-secondary-action .link:disabled{opacity:.5;cursor:default}