:root{font-family:system-ui,-apple-system,sans-serif;color:#111;background:#f7f7f8}body{margin:0}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#1f2937;color:#f4f4f5;padding:1.25rem 1rem;box-sizing:border-box;flex-shrink:0}.sidebar h2{margin:0 0 1rem;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:#cbd5e1}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar nav button{text-align:left;background:transparent;border:none;color:#e2e8f0;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:.95rem}.sidebar nav button:hover{background:#334155}.sidebar nav button.active{background:#2563eb;color:#fff}main{flex:1;padding:2rem;max-width:1200px}h1{margin:0 0 1rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.search{display:flex;gap:.5rem}.search input{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;min-width:240px}button,.search button,.pager-buttons button{padding:.4rem .75rem;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3e3e6;border-radius:6px;overflow:hidden}th,td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid #ececef;font-size:.92rem}th{background:#fafafb;font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}tr:last-child td{border-bottom:none}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;flex-wrap:wrap;gap:.75rem}.pager-buttons{display:flex;align-items:center;gap:.4rem}.muted{color:#6b6b72}.error{color:#b00020}.entity-form{background:#fff;border:1px solid #e3e3e6;border-radius:6px;padding:1rem;margin-bottom:1rem}.entity-form h3{margin:0 0 .5rem;font-size:1rem}.form-row{display:flex;gap:.5rem;flex-wrap:wrap}.form-row input{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;flex:1;min-width:140px}.form-row button{background:#2563eb;color:#fff;border-color:#2563eb}.profile-editor{background:#fff;border:1px solid #e3e3e6;border-radius:6px;padding:1rem;margin-bottom:1rem}.profile-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.profile-editor-header h3{margin:0;font-size:1rem}.profile-editor textarea{width:100%;margin-top:.25rem;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:.9rem;box-sizing:border-box}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin-bottom:.75rem}.profile-grid label{display:flex;flex-direction:column;font-size:.85rem}.profile-grid label span{color:#6b6b72;font-size:.78rem;margin-bottom:.15rem}.profile-grid label.full{grid-column:1 / -1}.profile-grid input,.profile-grid textarea{padding:.4rem .55rem;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:.9rem;width:100%;box-sizing:border-box}.profile-editor-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.profile-editor-actions button{background:#2563eb;color:#fff;border-color:#2563eb}label.checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#e5e7eb;color:#374151}.badge-running{background:#dbeafe;color:#1e40af}.badge-paused{background:#fef3c7;color:#92400e}.badge-done{background:#dcfce7;color:#166534}.badge-failed{background:#fee2e2;color:#991b1b}.badge-cancelled{background:#e5e7eb;color:#374151}.badge-pending{background:#f3f4f6;color:#4b5563}.progress{position:relative;background:#e5e7eb;border-radius:4px;height:18px;width:180px;overflow:hidden}.progress-bar{background:#2563eb;height:100%;transition:width .2s ease}.progress-label{position:absolute;top:0;left:0;right:0;text-align:center;line-height:18px;font-size:.72rem;color:#111;font-weight:600}.job-controls{display:flex;gap:.3rem}.job-detail{margin-top:1.5rem;padding:1rem;background:#fff;border:1px solid #e3e3e6;border-radius:6px}.job-detail h3{margin:0 0 .75rem}.job-items .toolbar{margin-bottom:.5rem}button.link{background:transparent;border:none;color:#2563eb;cursor:pointer;text-decoration:underline;padding:0;font:inherit}.row-action{text-align:right;white-space:nowrap}.filter-banner{display:flex;justify-content:space-between;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.92rem}.filter-banner button{background:transparent;border:1px solid #93c5fd;color:#1e3a8a}.form-note{margin-top:0;margin-bottom:.75rem;color:#6b6b72;font-size:.9rem}.export-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.export-button{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;background:#16a34a;color:#fff;border:1px solid #15803d;border-radius:4px;text-decoration:none;font-size:.92rem;font-weight:500}.export-button:hover{background:#15803d}.input-narrow{width:80px}.input-medium{width:100px}.input-wide{min-width:280px}.col-check{width:36px}.event-feed{background:#0f172a;color:#e2e8f0;border-radius:6px;padding:.6rem .75rem;margin-bottom:1rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.event-feed-header{display:flex;justify-content:space-between;align-items:center;font-family:system-ui,-apple-system,sans-serif;margin-bottom:.4rem;color:#cbd5e1}.event-feed-header .muted{color:#94a3b8}.event-feed-list{list-style:none;margin:0;padding:0;max-height:calc(9em + .4rem);overflow-y:auto;font-size:.78rem;line-height:1.5}.event-feed-list li.event{display:grid;grid-template-columns:70px 92px 1fr;grid-template-areas:"time kind where" "time kind msg";column-gap:.5rem;padding:2px 0;border-bottom:1px solid #1e293b}.event-feed-list li.event:last-child{border-bottom:none}.event-time{grid-area:time;color:#64748b}.event-kind{grid-area:kind;align-self:start}.event-where{grid-area:where;color:#93c5fd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-msg{grid-area:msg;color:#e2e8f0}.event-kind{display:inline-block;padding:0 6px;border-radius:999px;font-size:.68rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.04em;background:#334155;color:#cbd5e1}.kind-brainstorm{background:#4338ca;color:#fff}.kind-candidate{background:#2563eb;color:#fff}.kind-homepage{background:#0ea5e9;color:#fff}.kind-scrape{background:#14b8a6;color:#fff}.kind-search{background:#d97706;color:#fff}.kind-persist{background:#16a34a;color:#fff}.kind-reject{background:#b91c1c;color:#fff}.kind-error{background:#7f1d1d;color:#fff}.kind-round{background:#475569;color:#fff}button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button.danger{background:#fff;color:#b91c1c;border-color:#fca5a5}.badge.variant-A{background:#ede9fe;color:#5b21b6}.badge.variant-B{background:#cffafe;color:#155e75}.badge.status-draft{background:#f3f4f6;color:#4b5563}.badge.status-sending{background:#fef3c7;color:#92400e}.badge.status-sent{background:#dcfce7;color:#166534}.badge.status-failed{background:#fee2e2;color:#991b1b}.badge.cat-good{background:#dcfce7;color:#166534}.badge.cat-bad{background:#fee2e2;color:#991b1b}.badge.cat-noise{background:#e5e7eb;color:#6b7280}.badge.matched{background:#dbeafe;color:#1e40af}.badge.unmatched{background:#f3f4f6;color:#6b7280}.badge.winner-badge{background:#16a34a;color:#fff;margin-left:.5rem}.dot{color:#cbd5e1;font-weight:700}.dot.opened{color:#16a34a}.muted-row td{opacity:.55}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:50;overflow-y:auto}.modal{background:#fff;border-radius:10px;width:100%;max-width:1040px;box-shadow:0 12px 40px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #ececef}.modal-header h3{margin:0;font-size:1rem;display:flex;gap:.4rem;align-items:center}.email-editor-body{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.25rem}.email-editor-form{display:flex;flex-direction:column;gap:.75rem}.email-editor-form label{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem}.email-editor-form label span{color:#6b6b72;font-size:.78rem}.email-editor-form input,.email-editor-form textarea{padding:.45rem .55rem;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:.9rem;width:100%;box-sizing:border-box}.email-editor-form textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.email-editor-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.offer-summary ul{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.offer-summary li{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.pill{background:#eef6ff;color:#1366d6;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.email-preview{display:flex;flex-direction:column;gap:.3rem}.email-preview iframe{width:100%;height:560px;border:1px solid #e3e3e6;border-radius:8px;background:#f4f6f8}.ab-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.ab-card{background:#fff;border:1px solid #e3e3e6;border-radius:10px;padding:1.25rem}.ab-card.winner{border-color:#16a34a;box-shadow:0 0 0 2px #dcfce7}.ab-card h3{margin:0 0 .6rem;font-size:.95rem;display:flex;align-items:center}.ab-approach{margin:0 0 1rem;padding-left:1.1rem;color:#52606d;font-size:.82rem;line-height:1.45;display:flex;flex-direction:column;gap:.3rem}.ab-approach li{padding-left:.1rem}.ab-metric.big{display:flex;flex-direction:column;margin-bottom:1rem}.ab-metric.big .num{font-size:2.4rem;font-weight:700;color:#0f1b2d}.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ab-grid>div{display:flex;flex-direction:column}.ab-grid .num{font-size:1.3rem;font-weight:600}.inbox-split{display:grid;grid-template-columns:340px 1fr;gap:1rem}.inbox-list{display:flex;flex-direction:column;gap:.4rem;max-height:70vh;overflow-y:auto}.inbox-item{text-align:left;background:#fff;border:1px solid #e3e3e6;border-radius:8px;padding:.6rem .7rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.inbox-item.active{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.inbox-item-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.inbox-item-subject{font-size:.85rem}.inbox-item-snippet{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-detail{background:#fff;border:1px solid #e3e3e6;border-radius:10px;padding:1.25rem;min-height:300px}.thread-head h3{margin:0 0 .3rem}.thread-tags{display:flex;gap:.4rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.thread-context{margin:.75rem 0;font-size:.85rem}.thread-body{white-space:pre-wrap;background:#f8fafc;border:1px solid #eceff1;border-radius:8px;padding:.9rem;margin:.75rem 0;font-size:.9rem;line-height:1.55}.thread-actions{display:flex;gap:.5rem;margin-top:.5rem}.composer{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.composer input,.composer textarea{padding:.5rem .6rem;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:.9rem;width:100%;box-sizing:border-box}.composer-actions{display:flex;gap:.5rem}.gmail-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;border-radius:8px;margin-bottom:.75rem;border:1px solid #e3e3e6;background:#fff;font-size:.9rem;flex-wrap:wrap}.gmail-bar.connected{background:#f0fdf4;border-color:#bbf7d0}.gmail-bar.disconnected{background:#fffbeb;border-color:#fde68a}.gmail-bar code{background:#f1f5f9;padding:1px 5px;border-radius:4px}.toolbar-group{display:flex;gap:.75rem;align-items:center}.send-progress{margin-bottom:.75rem}.progress.full{width:100%}.row-actions{display:flex;gap:.4rem;white-space:nowrap}.badge.status-idle{background:#f3f4f6;color:#4b5563}.badge.status-running{background:#dbeafe;color:#1e40af}.badge.status-stopping{background:#fef3c7;color:#92400e}.badge.status-stopped{background:#e5e7eb;color:#374151}.badge.status-error{background:#fee2e2;color:#991b1b}.pipeline{display:flex;align-items:stretch;gap:.5rem;margin:1rem 0 1.25rem;flex-wrap:wrap}.pipeline-step-wrap{display:flex;align-items:center;gap:.5rem;flex:1;min-width:220px}.pipeline-step{flex:1;background:#fff;border:1px solid #e3e3e6;border-radius:10px;padding:.9rem 1rem;min-height:84px}.pipeline-step.state-active{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}.pipeline-step.state-done{border-color:#bbf7d0}.pipeline-step.state-idle{opacity:.7}.pipeline-step-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.pipeline-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#1f2937;color:#fff;font-size:.75rem;font-weight:700}.state-active .pipeline-num{background:#2563eb}.state-done .pipeline-num{background:#16a34a}.pipeline-label{font-weight:600;font-size:.9rem}.pipeline-msg{font-size:.82rem;color:#2b2f33;line-height:1.4}.pipeline-time{font-size:.72rem;margin-top:.3rem}.pipeline-arrow{color:#9aa3ad;font-size:1.1rem;flex-shrink:0}.pipeline-spinner{width:12px;height:12px;border:2px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-left:auto}@keyframes spin{to{transform:rotate(360deg)}}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem}.total-card{background:#fff;border:1px solid #e3e3e6;border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.2rem}.total-card .num{font-size:1.6rem;font-weight:700;color:#0f1b2d}.kind-research{background:#d97706;color:#fff}.kind-generate{background:#2563eb;color:#fff}.kind-send{background:#16a34a;color:#fff}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a;padding:1rem}.login-card{background:#fff;border-radius:14px;padding:2rem;width:100%;max-width:380px;box-shadow:0 12px 40px #0000004d}.login-title{margin:0 0 1.25rem;font-size:1.5rem;text-align:center;letter-spacing:.04em;text-transform:uppercase;color:#1f2937}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-form label{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.login-form label span{color:#6b6b72;font-size:.78rem}.login-form input{padding:.55rem .65rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.login-form .primary{padding:.6rem;font-size:.95rem}.login-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;padding:.5rem .7rem;font-size:.85rem;margin-bottom:.75rem}.login-notice{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:6px;padding:.5rem .7rem;font-size:.85rem;margin-bottom:.75rem}.login-divider{text-align:center;position:relative;color:#9aa3ad;font-size:.8rem;margin:.25rem 0}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:#e5e7eb}.login-divider:before{left:0}.login-divider:after{right:0}.google-btn{padding:.6rem;border:1px solid #d7dce1;background:#fff;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer}.google-btn:hover{background:#f8fafc}button.link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.85rem;text-decoration:underline;padding:.25rem;align-self:center}.nav-section{margin:.9rem 0 .3rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:0 .75rem}.sidebar{display:flex;flex-direction:column}.sidebar nav{flex:1}.sidebar-user{margin-top:auto;padding-top:1rem;border-top:1px solid #334155}.sidebar-username{color:#e2e8f0;font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.badge.admin-badge{background:#2563eb;color:#fff}.logout-btn{width:100%;text-align:left;background:transparent;border:1px solid #334155;color:#cbd5e1;padding:.4rem .75rem;border-radius:4px;cursor:pointer}.logout-btn:hover{background:#334155}.card{background:#fff;border:1px solid #e3e3e6;border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.card h3{margin:0 0 .75rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.stacked-form{display:flex;flex-direction:column;gap:.6rem;max-width:420px}.stacked-form label{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem}.stacked-form label span{color:#6b6b72;font-size:.78rem}.stacked-form input{padding:.45rem .55rem;border:1px solid #ccc;border-radius:6px}.form-actions{display:flex;gap:.6rem;align-items:center}.radio-row{flex-direction:row!important;align-items:center;gap:.5rem}.twofa-setup{max-width:460px;display:flex;flex-direction:column;gap:.75rem}.twofa-qr{width:180px;height:180px;border:1px solid #eceff1;border-radius:8px;align-self:flex-start}.twofa-secret code{background:#f1f5f9;padding:4px 8px;border-radius:4px;letter-spacing:2px}.recovery-codes{background:#f8fafc;border:1px solid #eceff1;border-radius:8px;padding:.75rem;font-size:.85rem}.recovery-codes ul{columns:2;margin:.5rem 0 0;padding-left:1.1rem}.recovery-codes code{font-size:.85rem}
