*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fafafa;color:#09090b;display:flex;height:100vh;font-size:14px;-webkit-font-smoothing:antialiased}
.side{width:220px;background:#fff;border-right:1px solid #e4e4e7;display:flex;flex-direction:column;padding:18px 12px;flex-shrink:0}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;letter-spacing:-.3px;white-space:nowrap}
.brand-logo{width:26px;height:26px;flex-shrink:0}
.brand .b-full>span{color:#71717a;font-weight:500;font-size:13px}
.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 10px 14px}
#sideToggle{background:none;border:none;cursor:pointer;color:#71717a;padding:6px;border-radius:6px;display:flex;align-items:center}
#sideToggle:hover{background:#f4f4f5;color:#09090b}
#sideToggle svg{width:16px;height:16px}
#chevR{display:none}
.nav-group{font-size:11px;font-weight:600;color:#a1a1aa;text-transform:uppercase;letter-spacing:.05em;padding:12px 12px 4px;white-space:nowrap}
/* collapsed icon rail */
body.side-collapsed .side{width:60px;padding:18px 8px}
body.side-collapsed .side-head{flex-direction:column;gap:10px;justify-content:center;padding:0 0 14px}
body.side-collapsed #sideToggle{order:-1}
body.side-collapsed .b-full,body.side-collapsed .nav-group,body.side-collapsed .side nav span,body.side-collapsed #keyLabel,body.side-collapsed #chevL{display:none}
body.side-collapsed .brand{justify-content:center}
body.side-collapsed .brand-logo{width:28px;height:28px}
body.side-collapsed #chevR{display:block}
body.side-collapsed .side nav button{justify-content:center;padding:10px 0}
body.side-collapsed .side-foot{justify-content:center}
.side{transition:width .2s ease}
.side nav button{display:flex;align-items:center;gap:10px}
.side nav svg{width:16px;height:16px;flex-shrink:0;opacity:.75}
/* funnel summary bar (stages click through to Leads) */
.funnel{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:12px 20px;box-shadow:0 1px 2px 0 rgb(0 0 0 / .05);flex-wrap:wrap}
.f-item{text-align:center;min-width:64px;background:none;border:none;cursor:pointer;font-family:inherit;padding:6px 8px;border-radius:10px;transition:background var(--t-fast)}
.f-item:hover{background:#f4f4f5}
.source-card svg{width:20px;height:20px;color:#71717a}
.source-card:hover svg{color:#B54400}
.f-item strong{font-size:24px;display:block;line-height:1.1}
.f-item span{font-size:11px;color:#71717a}
.f-arrow{color:#d4d4d8;font-size:16px}
.f-meta{margin-left:auto;font-size:12px;color:#71717a}
.side nav button.active svg{opacity:1}
/* Calm running state: accent kept, no glow/pulse. Motion lives in the
   results area (skeleton cards + thin top bar), not on buttons/cards. */
.job.ai-running{border-color:#FED7AA;border-left:3px solid #FF5A00}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.job-activity.live{animation:fadeSlideIn .35s ease-out}
/* micro spinner for disabled buttons + low-key status badges */
.spin{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid rgba(128,128,128,.35);border-top-color:currentColor;animation:spinRot .8s linear infinite;vertical-align:-2px;margin-right:7px;flex-shrink:0}
.spin.sm{width:10px;height:10px;border-width:1.5px;margin-right:6px}
@keyframes spinRot{to{transform:rotate(360deg)}}
.btn:disabled .spin{border-color:rgba(255,255,255,.4);border-top-color:#fff}
.btn:not(.btn-primary):disabled .spin{border-color:rgba(0,0,0,.15);border-top-color:#71717a}
.side nav{display:flex;flex-direction:column;gap:4px}
.side nav button{text-align:left;background:none;border:none;padding:10px 12px;border-radius:6px;font-size:14px;cursor:pointer;color:#3f3f46}
.side nav button:hover{background:#f4f4f5}
.side nav button.active{background:#f4f4f5;color:#09090b;font-weight:600}
.side-foot{margin-top:auto;padding:10px;font-size:12px;color:#71717a;display:flex;gap:8px;align-items:center}
.dot{width:9px;height:9px;border-radius:50%;background:#cbd2dd;display:inline-block}
.dot.ok{background:#16a34a}.dot.warn{background:#d97706}
.main{flex:1;overflow:hidden;padding:0 0 24px;min-width:0;display:flex;flex-direction:column}
.view{flex:1;min-height:0;overflow-y:auto;margin:0;width:100%;padding:0 16px 0;box-sizing:border-box}
.view>*{max-width:1760px;margin-left:auto;margin-right:auto}
#view-leads{overflow:hidden;display:flex;flex-direction:column;padding:0 0 0 16px}
#view-leads>*{max-width:none;margin:0}
#view-leads>h1,#view-leads>.toolbar,#view-leads>#bulkActionBar,#view-leads>.pager{padding-right:16px}
#view-leads h1,.toolbar,#bulkActionBar,.pager{flex:none}
.tbl-wrap{flex:1;min-height:0;overflow:auto}
.top{display:flex;gap:10px;padding:16px;position:sticky;top:0;background:#fafafa;flex:none;width:100%;box-sizing:border-box;align-items:center;z-index:20}
/* Top-right cluster (industry pattern): primary CTA, plan pill, upgrade,
   avatar menu — all 13px-scale, vertically centered, no floating microcopy. */
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.plan-pill{display:inline-flex;align-items:center;padding:6px 13px;border-radius:100px;background:#fff;border:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--sub);white-space:nowrap;box-shadow:var(--sh-sm)}
a.btn{text-decoration:none}
.acct-wrap{position:relative}
.acct-btn{width:32px;height:32px;border-radius:50%;background:#18181b;color:#fff;border:1px solid #18181b;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}
.acct-btn:hover{background:#000}
.acct-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;max-width:300px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 25px 50px -12px rgb(0 0 0 / .25);padding:6px;z-index:60}
.acct-head{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid #f4f4f5;margin-bottom:6px}
.acct-head b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-menu button{display:flex;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500;color:var(--sub);cursor:pointer;font-family:inherit}
.acct-menu button:hover{background:#f4f4f5;color:var(--ink)}
.top input{flex:1;border:1px solid #e4e4e7;border-radius:6px;padding:10px 14px;font-size:14px;background:#fff}
h1{font-size:22px;margin:10px 0 14px}
h2{font-size:15px;margin:22px 0 10px;color:#3f3f46}
.muted{color:#71717a}.hidden{display:none!important}
.btn{border:1px solid var(--border);background:#fff;border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink)}
.btn:hover{border-color:#9aa5b8}
.btn-primary{background:#FF5A00;border-color:#FF5A00;color:#fff}
.btn-primary:hover{background:#D94D00;border-color:#D94D00;opacity:1}
.btn-danger{background:#fff;border-color:#e2a3a3;color:#b42323}
.btn-danger:hover{background:#fdf0f0}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-weight:600}
.btn-google svg{width:18px;height:18px;flex-shrink:0}
.or-div{display:flex;align-items:center;gap:12px;color:#a1a1aa;font-size:12px}
.or-div::before,.or-div::after{content:'';flex:1;height:1px;background:#e4e4e7}
.or-div span{white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}
.card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:16px}
.card strong{font-size:26px;display:block}
.card span{color:#71717a;font-size:12px}
.list{display:flex;flex-direction:column;gap:8px}
.row-item{background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:12px 16px;display:flex;gap:12px;align-items:center}
.row-item .grow{flex:1;min-width:0}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.toolbar select{border:1px solid #e4e4e7;border-radius:6px;padding:8px 12px;background:#fff}
.toolbar input[type=text],.toolbar input:not([type]),.toolbar input[type=email],.toolbar input[type=search]{border:1px solid #e4e4e7;border-radius:6px;padding:8px 12px;font-size:13px;background:#fff;min-width:0;color:#09090b}
.toolbar input::placeholder{color:#a1a1aa}
#snipModal input,#snipModal textarea,#composeModal select,#loginOverlay input{border:1px solid #e4e4e7;border-radius:6px;padding:9px 12px;font-size:14px;width:100%;background:#fff;color:#09090b}
.spacer{flex:1}
.tbl-wrap{overflow-x:auto;border:1px solid #e4e4e7;border-radius:12px;background:#fff}
.tbl{width:100%;min-width:1000px;background:#fff;border:none;border-radius:0;border-collapse:separate;border-spacing:0;table-layout:fixed}
.tbl th,.tbl td{text-align:left;padding:11px 12px;border-bottom:1px solid #f4f4f5;vertical-align:middle}
.tbl th{font-size:12px;color:#71717a;font-weight:500;background:#fafafa;position:sticky;top:0;z-index:3}
.pager{display:flex;align-items:center;gap:12px;padding:10px 170px 10px 2px;font-size:13px;color:#71717a}
.pager .btn{padding:4px 12px}
#pgInfo{min-width:120px;text-align:center}
#sortNote{margin-left:auto}
.tbl th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
.tbl th[data-sort]:hover{color:#09090b}
.sort-arrow{font-size:10px;margin-left:4px;color:#a1a1aa}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#fafafa}
.lead-name{font-weight:600}.lead-dom{color:#71717a;font-size:12px}
.badge{display:inline-block;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600}
.b-drafted{background:#f4f4f5;color:#18181b}.b-approved{background:#e8f7ee;color:#15803d}
.b-sent{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.b-failed{background:#fef2f2;color:#b42323}
.b-new{background:#f4f4f5;color:#3f3f46}
/* live-row flash + table skeletons */
@keyframes rowFlash{0%{background:#ecfdf5}100%{background:transparent}}
.tbl tr.row-new td{animation:rowFlash 2.2s ease-out}
.skel-row td{padding:12px!important}
.skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#f4f4f5 25%,#e4e4e7 50%,#f4f4f5 75%);background-size:200% 100%;animation:shimmer 1.1s infinite}
@keyframes shimmer{to{background-position:-200% 0}}
.b-enrolled{background:#ffedd5;color:#c2410c}
.b-drafted{background:#e0f2fe;color:#0369a1}
.b-approved{background:#ede9fe;color:#6d28d9}
.b-sent{background:#dbeafe;color:#1d4ed8;border:none}
.b-meeting{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.b-new{background:#f4f4f5;color:#3f3f46}
/* Apollo-style table: fixed rows, sticky cols, capsule badges, fixed bulk bar */
.tbl tbody td{height:40px;max-height:40px;padding-top:4px;padding-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbl .c-email{max-width:200px}
.tbl .c-subj{max-width:280px}
.tbl .c-check{position:sticky;left:0;z-index:1;background:#fff;min-width:42px;width:42px}
.tbl .c-lead{position:sticky;left:42px;z-index:1;background:#fff;width:220px;max-width:220px}
.tbl .c-email{position:sticky;left:262px;z-index:1;background:#fff;width:210px;max-width:210px}
.tbl .c-mx{position:sticky;left:472px;z-index:1;background:#fff;width:118px;min-width:118px}
.tbl thead .c-check,.tbl thead .c-lead,.tbl thead .c-email,.tbl thead .c-mx{background:#fafafa;z-index:4}
.tbl tbody tr:hover .c-check,.tbl tbody tr:hover .c-lead,.tbl tbody tr:hover .c-email,.tbl tbody tr:hover .c-mx{background:#fafafa}
.lead-name{font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-dom{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx{display:inline-block;padding:2px 10px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}
.mx-ok{background:#dcfce7;color:#15803d}
.mx-no{background:#fee2e2;color:#b42323}
.mx-gen{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.lead-click{cursor:pointer}
.lead-click:hover .lead-name{color:#B54400;text-decoration:underline;text-underline-offset:2px}
#bulkActionBar{display:flex;align-items:center;gap:10px;height:44px;flex:none;background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:0 14px;margin-bottom:12px;font-size:13px;color:#3f3f46;box-shadow:0 1px 2px 0 rgb(0 0 0 / .05)}
#bulkActionBar .bar-btns{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
.btn:disabled{opacity:.45;cursor:not-allowed}
/* search hero */
.hero-search{margin:6px 0 8px;max-width:860px}
.hero-search h2{font-size:26px;letter-spacing:-.5px;margin-bottom:12px}
.hero-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4e4e7;border-radius:14px;padding:8px 8px 8px 16px;box-shadow:0 4px 6px -1px rgb(0 0 0 / .08)}
.hero-bar svg{width:20px;height:20px;color:#71717a;flex-shrink:0}
.hero-bar input{flex:1;border:none!important;box-shadow:none!important;font-size:15px;padding:10px 0;min-width:0}
.hero-bar .btn{border-radius:10px;padding:12px 22px;font-size:14px;white-space:nowrap}
/* Search bar stays calm: plain white, no focus ring, no motion */
.hero-bar{transition:none}
.hero-bar:focus-within{border-color:#e4e4e7;box-shadow:0 4px 6px -1px rgb(0 0 0 / .08)}
.hero-bar input{transition:none!important}
.hero-bar input:focus{border-color:transparent!important;box-shadow:none!important}
.hero-opts{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.hero-opts label{font-size:12px;color:#71717a;display:flex;gap:6px;align-items:center}
.hero-opts select{border:1px solid #e4e4e7;border-radius:6px;padding:7px 10px;background:#fff;font-size:13px}
.hero-opts input{border:1px solid #e4e4e7;border-radius:6px;padding:8px 12px;font-size:13px;width:260px;background:#fff}
.source-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.source-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 2px 0 rgb(0 0 0 / .05);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.source-card:hover{border-color:#18181b;box-shadow:0 4px 6px -1px rgb(0 0 0 / .08);transform:translateY(-1px)}
.source-card b{font-size:14px}
.source-card span{font-size:12px;color:#71717a}
/* inbox — full-bleed like Leads: h1 + .toolbar left-aligned, cards fill .main */
#view-inbox{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0 0 0 16px}
#view-inbox>*{max-width:none;margin:0}
#view-inbox>h1,#view-inbox>.toolbar{flex:none;padding-right:16px;text-align:left}
#view-inbox>.toolbar{margin-bottom:12px}
#view-inbox .mail3{flex:1;min-height:0}
#view-inbox .mail3>*{min-height:0}
.mail3{display:grid;grid-template-columns:360px minmax(0,1fr);gap:12px;margin-top:0;min-height:0;padding:0 16px 8px 0}
.mail-listpane{max-height:none;height:100%}
.mail-read{max-height:none}
.mail-folders{display:flex;flex-direction:column;gap:4px}
.mail-folders button{display:flex;align-items:center;justify-content:space-between;background:none;border:none;border-radius:8px;padding:10px 12px;font-size:14px;cursor:pointer;color:#3f3f46;text-align:left}
.mail-folders button:hover{background:#f4f4f5}
.mail-folders button.active{background:#fff;font-weight:600;box-shadow:0 1px 2px 0 rgb(0 0 0 / .05);border:1px solid #e4e4e7}
.mail-folders .count{font-size:11px;font-weight:700;background:#f4f4f5;border-radius:100px;padding:2px 9px;color:#71717a}
.mail-folders button.active .count{background:#18181b;color:#fff}
.mail-list{background:#fff;border:none;border-radius:0;overflow-y:auto;max-height:none;flex:1;min-height:0;padding:10px;display:flex;flex-direction:column;gap:4px}
.mail-list::-webkit-scrollbar,.thread::-webkit-scrollbar{width:8px}
.mail-list::-webkit-scrollbar-thumb,.thread::-webkit-scrollbar-thumb{background:#e4e4e7;border-radius:100px;border:2px solid transparent;background-clip:content-box}
.mail-list::-webkit-scrollbar-thumb:hover,.thread::-webkit-scrollbar-thumb:hover{background:#d4d4d8;background-clip:content-box;border:2px solid transparent}
.mail-item{width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:12px;padding:13px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}
.mail-item:hover{background:#fafafa;border-color:#f4f4f5}
.mail-item.sel{background:#FFF7ED;border-color:#FED7AA;box-shadow:var(--sh-sm)}
.mail-item b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-item span{font-size:12px;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-read{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:0;overflow:hidden;max-height:none;height:100%;min-width:0;display:flex;flex-direction:column;box-shadow:var(--sh-sm)}
.mail-read h3{font-size:16px;margin-bottom:2px;letter-spacing:-.2px}
.mail-read .body{white-space:pre-wrap;font-size:14px;margin-top:12px}
.mail-read .actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.mail-list .empty,.mail-read>.empty{margin:16px;padding:44px 24px;border-radius:14px;font-size:14px;line-height:1.6}
.check-inline{display:flex;gap:6px;align-items:center;white-space:nowrap;cursor:pointer}
.check-inline input{accent-color:#FF5A00}
/* inbox empties: borderless, vertically centered, quiet icon */
.mail-list .empty-center,.mail-read>.empty-center{border:none;background:transparent;margin:auto;padding:48px 24px;color:#52525b}
.empty-ico{width:36px;height:36px;color:#d4d4d8;display:block;margin:0 auto 12px}
@media(max-width:1000px){#view-inbox{display:block;overflow-y:auto;height:auto}.mail3{grid-template-columns:1fr}.mail-listpane{max-height:none;height:auto}.mail-listpane .mail-list{overflow:visible}.mail-read{max-height:none;overflow:visible;min-height:480px}.thread{overflow:visible}.source-cards{grid-template-columns:1fr}}.b-bounced{background:#fef2f2;color:#b42323;border:1px solid #fecaca}
.mini{display:inline-block;padding:1px 8px;border-radius:100px;font-size:11px;font-weight:600;margin-left:6px}
.m-unsub{background:#f4f5f7;color:#71717a}.m-rep{background:#dcfce7;color:#15803d}
.seq-steps{display:flex;flex-direction:column;gap:10px}
.seq-step{border:1px solid #e4e4e7;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.seq-step label{font-size:12px;color:#71717a;display:flex;gap:8px;align-items:center}
.seq-step label input{width:70px}
.toolbar-row{display:flex;align-items:center;margin-top:18px}
.toolbar-row h2{margin:0}
/* onboarding checklist */
.checklist{background:#fff;border:1px solid #e4e4e7;border-left:4px solid #FF5A00;border-radius:12px;padding:14px 18px;margin-bottom:16px;max-width:680px;box-shadow:var(--sh-sm)}
.checklist ol{margin:8px 0 0 20px;color:var(--sub);font-size:13px;display:flex;flex-direction:column;gap:4px}
.checklist a{color:#B54400}
.mx-ok{color:#15803d;font-weight:700}.mx-no{color:#b42323;font-weight:700}
.empty{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:36px;text-align:center;color:#71717a;margin-top:12px}
.form{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;max-width:680px}
.search-form{max-width:760px}
.form textarea,.form input{border:1px solid #e4e4e7;border-radius:6px;padding:10px 12px;font-size:14px;width:100%}
.form .row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.form label{font-size:12px;color:#71717a;display:flex;flex-direction:column;gap:4px}
.form label input{width:220px}
pre.log{background:#101828;color:#d1e0ff;border-radius:10px;padding:12px;font-size:12px;max-height:220px;overflow:auto;white-space:pre-wrap;margin-top:8px}
/* modal dialog (Radix-style): overlay fade + panel zoom */
.overlay{position:fixed;inset:0;background:rgba(9,9,11,.5);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:ovIn .18s ease-out}
@keyframes ovIn{from{opacity:0}}
.dialog{background:#fff;border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 25px 50px -12px rgb(0 0 0 / .25);width:100%;max-height:90vh;overflow-y:auto;padding:22px;animation:dlgIn .22s cubic-bezier(.16,1,.3,1)}
@keyframes dlgIn{from{opacity:0;transform:scale(.96) translateY(8px)}}
.dialog .kv{margin-bottom:2px}
.fld{font-size:12px;color:#71717a;display:flex;flex-direction:column;gap:4px}
.fld input,.fld textarea{border:1px solid #e4e4e7;border-radius:6px;padding:10px 12px;font-size:14px;color:#09090b}
/* wizard stepper: completed steps are clickable buttons with ✓ */
.wz-steps{display:flex;gap:6px;margin:14px 0 18px}
.wz-steps .wz{flex:1;text-align:center;font-size:12px;color:#a1a1aa;font-weight:500;background:none;border:none;cursor:default;font-family:inherit;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.wz-steps .wz b{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1.5px solid #d4d4d8;margin:0 auto;font-size:12px}
.wz-steps .wz.done{color:#15803d;cursor:pointer}
.wz-steps .wz.done:hover span{text-decoration:underline}
.wz-steps .wz.done b{border-color:#15803d;background:#15803d;color:#fff}
.wz-steps .wz.now{color:#09090b;font-weight:800}
.wz-steps .wz.now b{border-color:#FF5A00;color:#FF5A00}
.wz-steps .wz span{font-size:12px}
/* wizard step 1: basics form */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.check-row{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}
.check-row input{width:16px;height:16px;accent-color:#FF5A00}
.info-card{display:flex;gap:10px;align-items:flex-start;background:#F8FAFC;border:1px solid #e4e4e7;border-radius:10px;padding:10px 12px;font-size:12px;color:#52525b;line-height:1.55}
.info-card svg{width:16px;height:16px;flex-shrink:0;color:#0284c7;margin-top:1px}
.info-card p{margin:0}
select:disabled{opacity:.75;cursor:not-allowed;background:#f4f4f5}
.kv{display:grid;grid-template-columns:90px 1fr;gap:8px;font-size:13px}
.kv span{color:#71717a}.kv p{white-space:pre-wrap}
code{background:#f4f4f5;padding:2px 6px;border-radius:6px;font-size:12px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
/* job cards */
.job{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.job-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.job-top .grow{flex:1;min-width:200px}
.job-top b{font-size:14px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:100px;font-size:12px;font-weight:700}
.p-run{background:#f4f4f5;color:#52525b}
.p-done{background:#e8f7ee;color:#15803d}
.p-fail{background:#fef2f2;color:#b42323}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.stepper{display:flex;gap:4px}
.stepper .st{flex:1;text-align:center;font-size:11px;color:#9aa5b8;padding-top:8px;position:relative}
.stepper .st::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:#e8ebf1}
.stepper .st.done{color:#15803d;font-weight:700}
.stepper .st.done::before{background:#16a34a}
.stepper .st.now{color:#B54400;font-weight:700}
.stepper .st.now::before{background:#FF5A00;animation:pulse 1.2s infinite}
.job-activity{font-size:13px;color:#3f3f46;background:#fafafa;border-radius:6px;padding:8px 12px}
.job-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.job details summary{font-size:12px;color:#71717a;cursor:pointer}
/* Apollo-style command palette trigger */
.palette-trigger{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:10px 14px;font-size:14px;color:#71717a;cursor:pointer;box-shadow:0 1px 2px 0 rgb(0 0 0 / .05);transition:border-color .15s ease,box-shadow .15s ease;max-width:640px;margin:0 auto;width:100%}
.palette-trigger:hover{border-color:#d4d4d8;box-shadow:0 4px 6px -1px rgb(0 0 0 / .08)}
.palette-trigger svg{width:16px;height:16px;flex-shrink:0}
.palette-trigger span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
kbd{font-family:inherit;font-size:11px;color:#71717a;background:#f4f4f5;border:1px solid #e4e4e7;border-bottom-width:2px;border-radius:6px;padding:2px 7px;white-space:nowrap}
/* palette dialog */
.palette-dialog{padding:0;overflow:hidden}
.palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e4e4e7}
.palette-input-row svg{width:18px;height:18px;color:#71717a;flex-shrink:0}
.palette-input-row input{flex:1;border:none!important;box-shadow:none!important;padding:0!important;font-size:15px;background:transparent}
#paletteResults{max-height:340px;overflow-y:auto;padding:8px}
.pal-group{font-size:11px;font-weight:600;color:#a1a1aa;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px}
.pal-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 10px;font-size:13px;cursor:pointer;color:#09090b}
.pal-item .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-item.sel{background:#f4f4f5}
.pal-empty{padding:18px;text-align:center;color:#71717a;font-size:13px}
#toasts{position:fixed;left:22px;bottom:22px;display:flex;flex-direction:column;gap:8px;z-index:40}
.toast{background:#09090b;color:#fff;border-radius:10px;padding:12px 18px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:tin .25s ease-out;max-width:min(420px,90vw)}
.toast.err{background:#7f1d1d}
@keyframes tin{from{transform:translateY(10px);opacity:0}}
/* design tokens (mirrors shadcn/ui zinc theme in tw-input.css) */
:root{
  --radius:10px; --radius-md:6px;
  --border:#e4e4e7; --ink:#09090b; --sub:#3f3f46; --faint:#71717a;
  --accent:#FF5A00; --accent-h:#D94D00;
  --primary:#FF5A00; --primary-h:#D94D00;
  --good:#15803d; --bad:#b42323;
  --sh-sm:0 1px 2px 0 rgb(0 0 0 / .05);
  --sh-md:0 4px 6px -1px rgb(0 0 0 / .08),0 2px 4px -2px rgb(0 0 0 / .08);
  --sh-lg:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  --t-fast:.15s ease;
}
/* compact search */
.search-form{flex-direction:row;align-items:center;gap:8px;padding:12px 14px}
.search-form #qInput{flex:1;min-width:0}
.search-form #qLimit{width:64px;flex-shrink:0}
.search-form #qSend{width:200px;flex-shrink:0}
.search-hint{margin:6px 2px 0}
/* buttons + inputs: one system */
.btn{transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);box-shadow:var(--sh-sm)}
.btn:hover{box-shadow:var(--sh-md)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-primary:hover{background:#D94D00}
input,textarea,select{transition:border-color var(--t-fast),box-shadow var(--t-fast)}
input:focus,textarea:focus,select:focus{outline:none;border-color:#FF5A00!important;box-shadow:0 0 0 3px rgba(255,90,0,.15)}
.side nav button{transition:background var(--t-fast),color var(--t-fast)}
.tbl tbody tr{transition:background var(--t-fast)}
.row-item,.card,.job,.step,.stack{box-shadow:var(--sh-sm)}
/* inline lead preview on job cards */
.mini-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}
.mini-tbl th{text-align:left;font-size:11px;color:var(--faint);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border)}
.mini-tbl td{padding:7px 8px;border-bottom:1px solid #f4f4f5}
.mini-tbl tr:last-child td{border-bottom:none}
@media(max-width:900px){
  .search-form{flex-wrap:wrap}
  .search-form #qSend{width:100%}
  .stepper .st{font-size:0}.stepper .st::before{height:6px}
}
#aiBtn{white-space:nowrap}
.ai-ico{display:inline-block;width:14px;height:14px;vertical-align:-2px;flex-shrink:0}
#chatPanel{position:fixed;top:0;right:0;width:400px;max-width:94vw;height:100vh;max-height:none;background:#fff;border-left:1px solid #e4e4e7;border-radius:0;box-shadow:-12px 0 32px rgba(0,0,0,.08);display:flex;flex-direction:column;z-index:30;overflow:hidden;animation:aiIn .22s ease-out}
@keyframes aiIn{from{transform:translateX(24px);opacity:0}}
body.ai-open .main{margin-right:400px}
.main{transition:margin-right .22s ease}
@media(max-width:1100px){body.ai-open .main{margin-right:0}}
.chat-head{display:flex;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid #f4f4f5}
.chat-head .muted{font-size:11px;flex:1}
#chatMsgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:13px;white-space:pre-wrap}
.msg.u{align-self:flex-end;background:#18181b;color:#fafafa}
.msg.a{align-self:flex-start;background:#f4f4f5}
.msg.e{align-self:flex-start;background:#fef2f2;color:#b42323}
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid #f4f4f5}
.chat-input input{flex:1;border:1px solid #e4e4e7;border-radius:6px;padding:9px 12px;font-size:13px}
/* inbox refresh: icon folders + search + avatar rows — enhanced */
.mail-folders button svg{width:16px;height:16px;flex-shrink:0;opacity:.7}
.mf-label{flex:1}
.mail-listpane{background:#fff;border:1px solid #e4e4e7;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0;box-shadow:var(--sh-sm)}
.mail-listpane .mail-list{background:none;border:none;border-radius:0;max-height:none;flex:1;min-height:0}
.mail-item{flex-direction:row;align-items:flex-start;gap:12px}
.mi-avatar{width:40px;height:40px;border-radius:50%;background:#FFE8D6;color:#B54400;border:1px solid #FED7AA;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}
.mail-item.sel .mi-avatar{background:#FF5A00;border-color:#FF5A00;color:#fff}
.mi-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:1px}
.mi-top{display:flex;align-items:baseline;gap:8px}
.mi-top b{flex:1;min-width:0;font-size:14px;font-weight:650;letter-spacing:-.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#09090b}
.mi-time{font-size:12px;color:#a1a1aa;flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.mi-bottom{display:flex;align-items:center;gap:8px;min-width:0}
.mi-sub{flex:1;min-width:0;font-size:13px;line-height:1.45;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mi-count{font-size:11px;font-weight:700;background:#f4f4f5;color:#71717a;border-radius:100px;padding:3px 9px;flex-shrink:0;line-height:1.2;white-space:nowrap}
.mail-item.sel .mi-count{background:#18181b;color:#fff}
.mr-head{display:flex;gap:12px;align-items:center;padding:16px 20px 14px;border-bottom:1px solid #f4f4f5;flex:none;background:#fff}
.mr-head .mi-avatar{width:44px;height:44px;font-size:16px}
.mr-head h3{margin:0;font-size:16px}
.mr-sub{font-size:13px;color:#71717a;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.mr-head .btn{flex-shrink:0}
/* conversation thread — white canvas (matches tbl/row-item), composer docked below */
.thread{display:flex;flex-direction:column;gap:12px;padding:16px 20px 20px;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;min-width:0;background:#fff}
.th{max-width:78%;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:var(--sh-sm)}
.th.me{align-self:flex-end;background:#18181b;color:#fafafa;border-bottom-right-radius:4px;border:1px solid #18181b}
.th.them{align-self:flex-start;background:#fff;color:#27272a;border:1px solid #e4e4e7;border-bottom-left-radius:4px}
.th-subj{font-weight:700;font-size:13px;margin-bottom:6px;letter-spacing:-.1px}
.th.me .th-subj{color:#fff}
.th-meta{font-size:12px;opacity:.6;margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.th.me .th-meta{color:#d4d4d8;opacity:.75}
.th.sending{opacity:.6}
.th.failed{border:1px solid #e2a3a3}
.mail-read .body{overflow-wrap:anywhere}
/* industry composer (Intercom / Front / Apollo pattern): persistent footer,
   collapsed = solid fake-input, click expands in place. No dashed button. */
.composer{flex:none;background:#fafafa;border-top:1px solid #e4e4e7;padding:12px 16px}
.composer-collapsed{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 8px 8px 12px;cursor:text;box-shadow:var(--sh-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.composer-collapsed:hover{border-color:#d4d4d8;box-shadow:var(--sh-md)}
.composer-collapsed:focus-within{border-color:#FF5A00;box-shadow:0 0 0 3px rgba(255,90,0,.15)}
.composer-avatar{width:28px;height:28px;border-radius:50%;background:#FFE8D6;color:#B54400;border:1px solid #FED7AA;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.composer-fake{flex:1;min-width:0;font-size:13px;color:#a1a1aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;background:none;border:none;cursor:text;padding:6px 0}
.composer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.composer-expanded{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:var(--sh-md)}
.composer-expanded:focus-within{border-color:#FF5A00;box-shadow:0 0 0 3px rgba(255,90,0,.15)}
.composer-top{display:flex;align-items:center;justify-content:space-between}
.composer-top span{font-size:12px;font-weight:600;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.composer-collapse{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;color:#71717a}
.composer-collapse:hover{background:#f4f4f5;color:#09090b}
.composer-collapse svg{width:16px;height:16px}
.composer-expanded textarea{border:1px solid #e4e4e7;border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.6;min-height:110px;resize:vertical;background:#fff;color:#09090b;width:100%}
.composer-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.composer-bar .hint{font-size:12px;color:#a1a1aa;margin-right:auto}
.composer-msg{font-size:12px;color:#71717a;min-height:0}
.composer-msg:empty{display:none}
/* inline anchored reply under a single message (msg Reply) */
.cslot:empty{display:none}
.cslot .replybox{margin:2px 0 6px 0}
.replybox{margin:0;border:1px solid #e4e4e7;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fff;flex:none;box-shadow:var(--sh-md)}
.replybox.compact{margin:0;padding:12px;border-radius:10px}
.replybox.compact textarea{min-height:96px}
.rb-title{font-weight:700;font-size:14px}
.qexp{background:none;border:none;color:#a1a1aa;cursor:pointer;font-size:13px;padding:0 2px}
.qexp:hover{color:#B54400}
.msgreply{background:none;border:none;color:#B54400;cursor:pointer;font-size:12px;padding:0;font-weight:600}
.msgreply:hover{text-decoration:underline}
#threadMore{align-self:center;margin:2px 0 4px;padding:8px 18px;border-radius:100px;font-size:12px;font-weight:600}
.replybox textarea{border:1px solid #e4e4e7;border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.6;min-height:52px;resize:vertical;background:#fff;color:#09090b}
.replybox .row{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.replybox .hint{font-size:12px;color:#a1a1aa;margin-right:auto}
.replied-note{margin:0 20px 20px;font-size:13px;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:10px 14px}
@media(max-width:1100px){.mail3{grid-template-columns:300px minmax(0,1fr);gap:12px}.th{max-width:88%}}
@media(max-width:1000px){.mail-listpane{max-height:none;height:auto}.mail-listpane .mail-list{max-height:340px}}
/* industrial: view headers, segmented control */
.view-head{display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.view-head h1{margin:0}
.small{font-size:12px}
/* Calm thinking feed: static text + micro spinner, thin quiet top bar.
   Accent color kept; nothing pulses or shimmers continuously. */
.think-bar{height:3px;border-radius:3px;background:#f1f1f4;overflow:hidden;margin-bottom:4px}
.think-fill{height:100%;width:35%;border-radius:3px;background:#FDBA74;animation:thinkSlide 2.8s ease-in-out infinite}
@keyframes thinkSlide{0%{margin-left:-35%}100%{margin-left:100%}}
.think-feed{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.think-item{display:flex;gap:9px;align-items:center;font-size:13px;color:#71717a;animation:fadeSlideIn .35s ease-out}
.think-item.now{color:#09090b;font-weight:600}
.tcheck{color:#16a34a;font-weight:800;flex-shrink:0}
.ttext{color:inherit}
/* skeleton result cards: the "alive" part of a running search */
.skel-cards{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.skel-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#f4f4f5 25%,#e9e9ec 50%,#f4f4f5 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}
.think-miles{font-size:12px;color:#71717a;margin-top:8px}
.think-miles b{color:#15803d}
.think-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tchip{font-size:12px;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:100px;padding:3px 11px;color:#3f3f46;animation:fadeSlideIn .35s ease-out}
/* industrial: sequence cards + builder */
.seq-card{background:#fff;border:1px solid #e4e4e7;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.seq-card:hover{border-color:#d4d4d8;box-shadow:var(--sh-md)}
.seq-top{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.seq-top .grow{flex:1;min-width:220px}
.seq-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px}
.seq-sub{font-size:12px;color:#71717a;margin-top:4px}
.seq-count{font-size:12px;color:#71717a;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:100px;padding:3px 12px;font-weight:600}
.seq-count:empty{display:none}
.seq-links{display:flex;gap:8px;align-items:center}
.link-btn{background:none;border:none;color:#71717a;font-size:13px;font-weight:600;cursor:pointer;padding:2px 0}
.link-btn:hover{color:#B54400;text-decoration:underline}
.link-sep{color:#d4d4d8}
#runMsg{margin-top:10px;min-height:0}
#runMsg:empty{display:none}
.seq-actions{display:flex;gap:6px;flex-wrap:wrap}
.seq-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#71717a}
.seq-stats b{color:#09090b}
.seq-timeline{border-left:2px solid #e4e4e7;margin:4px 0 4px 6px;padding-left:14px;display:flex;flex-direction:column;gap:8px}
.seq-node{position:relative;font-size:13px}
.seq-node::before{content:'';position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #FF5A00}
.seq-node .muted{font-size:12px}
.pill.p-paused{background:#f4f4f5;color:#71717a}
.pill.p-active{background:#e8f7ee;color:#15803d}
.seq-builder{display:flex;flex-direction:column;gap:10px}
.builder-step{border:1px solid #e4e4e7;border-radius:10px;padding:10px;background:#fff;display:flex;gap:10px;align-items:flex-start}
.builder-step.dragging{opacity:.5;border-color:#FF5A00}
.builder-step.dragover{outline:2px dashed #FF5A00;outline-offset:2px}
.drag-handle{cursor:grab;font-size:16px;color:#a1a1aa;padding:6px 2px;user-select:none;touch-action:none}
.builder-step .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.builder-step input,.builder-step textarea{border:1px solid #e4e4e7;border-radius:6px;padding:8px 10px;font-size:13px;width:100%}
.builder-step .step-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.builder-step .step-bar b{font-size:13px}
.builder-step .step-bar label{font-size:12px;color:#71717a;display:flex;gap:6px;align-items:center}
.builder-step .step-bar input[type=number]{width:64px}
.icon-btn{background:#fff;border:1px solid #e4e4e7;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer;color:#3f3f46}
.icon-btn:hover{border-color:#09090b}
.warn-box{background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;font-size:13px;color:#92400E}
/* industry search: confirm-filters panel (Apollo/Clay pattern) */
.plan-box{background:#fff;border:1px solid #FF5A00;border-radius:12px;padding:14px 16px;margin-top:10px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh-md)}
.plan-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}
.plan-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr}}
.plan-actions{display:flex;gap:8px;justify-content:flex-end}

/* Settings: left section nav + grouped cards (Linear / Vercel pattern).
   Status rows render as hairline dividers inside cards, not nested boxes. */
.set-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}
.set-content{min-width:0}
.tabs{display:flex;flex-direction:column;gap:2px;margin:0;position:sticky;top:76px}
.tabs button{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:500;color:#52525b;cursor:pointer;text-align:left;font-family:inherit;width:100%}
.tabs button svg{width:16px;height:16px;flex-shrink:0;opacity:.7}
.tabs button:hover{background:#f4f4f5;color:#09090b}
.tabs button.on{background:#fff;border-color:#e4e4e7;color:#09090b;font-weight:600;box-shadow:var(--sh-sm)}
.tabs button.on svg{opacity:1}
.spanel{max-width:760px}
.set-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px;box-shadow:var(--sh-sm)}
.set-card h3{font-size:14px;font-weight:700;letter-spacing:-.1px}
.set-desc{font-size:13px;color:var(--faint);margin:3px 0 14px;line-height:1.55}
.set-card .fld{margin:14px 0 0}
.set-card .set-desc + .fld{margin-top:0}
.set-hint{margin:6px 0 0}
.set-card p.small{margin:8px 0 0}
.set-card p.small.set-hint{margin:6px 0 0}
.set-card .list{gap:0}
.set-card .row-item{border:none;border-top:1px solid #f4f4f5;border-radius:0;padding:12px 0;box-shadow:none;background:none}
.set-card .row-item:first-child{border-top:none;padding-top:2px}
.set-card .row-item:last-child{padding-bottom:2px}
.set-card .dlv-grid .row-item{border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:#fff}
.set-card .check-row{margin-top:10px}
.spanel .row-end{justify-content:flex-end;margin:4px 0 20px}
.row-end{display:flex;align-items:center;gap:12px;margin-top:14px}
.set-note{margin:4px 0 24px}
.set-footprev{border:1px solid var(--border);border-radius:10px;padding:12px;font-size:13px;margin-top:8px;min-height:0;height:auto;background:#fafafa}
.set-billbar{margin-top:12px}
.set-billbar:empty{display:none}
.dlv-input{display:flex;gap:8px;align-items:center}
.dlv-input input{border:1px solid #e4e4e7;border-radius:6px;padding:8px 12px;font-size:13px;max-width:220px;background:#fff;color:#09090b}
#dlvBadges,#bounceCard{margin-top:12px}
#dlvBadges:empty,#bounceCard:empty{display:none}
@media(max-width:900px){
  .set-layout{grid-template-columns:1fr;gap:12px}
  .tabs{position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .tabs button{white-space:nowrap;width:auto;flex-shrink:0}
}
.bar{height:10px;border-radius:100px;background:#f4f4f5;overflow:hidden;margin:8px 0}
.bar i{display:block;height:100%;background:#FF5A00;border-radius:100px}
.dlv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:640px){.dlv-grid{grid-template-columns:1fr}}
/* Disabled reads disabled: neutral, flat, no accent leak. A disabled
   "Approve selected" must never look like an active orange CTA. */
.btn:disabled,.btn.btn-primary:disabled{opacity:1;background:#f4f4f5;border-color:#e4e4e7;color:#a1a1aa;box-shadow:none;cursor:not-allowed;transform:none}
.btn:disabled:hover{box-shadow:none}
/* Mobile: sidebar becomes a horizontal nav bar instead of disappearing.
   Views stay reachable on small screens (competitor baseline). */
@media(max-width:900px){
  body{flex-direction:column}
  .side{width:100%;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;border-right:none;border-bottom:1px solid #e4e4e7;overflow-x:auto;flex-shrink:0}
  .side-head{padding:0}
  .side-head .b-full,.nav-group,.side-foot,#sideToggle{display:none}
  .side nav{flex-direction:row;gap:4px}
  .side nav button{white-space:nowrap;padding:8px 12px}
  .top{flex-wrap:wrap}
  .palette-trigger{max-width:none}
  .mail3{grid-template-columns:1fr}
}
/* Auth gate: the app shell stays out of sight until login succeeds, so the
   login screen never shows the workspace behind it. */
body[data-auth="checking"] .side,body[data-auth="checking"] .main{visibility:hidden}
body[data-auth="locked"]{display:block;height:auto;min-height:100vh}
body[data-auth="locked"] .side,body[data-auth="locked"] .main{display:none}
.auth-screen{min-height:100vh;background:#fafafa;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{width:100%;max-width:430px;background:#fff;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 25px 50px -12px rgb(0 0 0/.18);padding:28px;display:flex;flex-direction:column;gap:14px}
.auth-brand{display:flex;align-items:center;gap:12px}
.auth-brand img{width:34px;height:34px;border-radius:8px}
.auth-brand h2{font-size:17px;font-weight:700;letter-spacing:-.2px}
.auth-brand p{font-size:12.5px;color:#71717a;margin-top:2px}
.auth-tabs{display:flex;background:#f4f4f5;border-radius:8px;padding:3px;gap:3px}
.auth-tabs button{flex:1;border:none;background:none;border-radius:6px;padding:8px 0;font-size:13px;font-weight:600;color:#71717a;cursor:pointer;font-family:inherit}
.auth-tabs button.on{background:#fff;color:#09090b;box-shadow:0 1px 2px rgb(0 0 0/.08)}
#authForm{display:flex;flex-direction:column;gap:12px}
#authForm .fld{font-size:13px}
#authForm .fld label{font-weight:600;color:#3f3f46}
.fld-head{display:flex;align-items:center;justify-content:space-between}
#pwToggle{background:none;border:none;color:#71717a;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;padding:0}
#pwToggle:hover{color:#09090b}
#authForm .hint{font-size:12px;color:#71717a}
.auth-err{font-size:13px;font-weight:500;color:#b42323;min-height:0}
.auth-err:empty{display:none}
.btn-block{display:block;width:100%;text-align:center}
#loginGo{padding:11px 16px;font-size:14px}
.auth-foot{font-size:12.5px;color:#71717a;text-align:center}
.auth-foot.small{font-size:12px}
.auth-foot a{color:#3f3f46}
#ownerRow:not(.hidden){display:flex;flex-direction:column;gap:8px;border-top:1px solid #f4f4f5;padding-top:14px}
.plan-banner{background:#FFF7ED;border:1px solid #FED7AA;border-radius:10px;padding:10px 14px;font-size:13px;color:#9A3412}
.terms-row{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#52525b;cursor:pointer}
.terms-row input{width:auto;margin-top:2px;accent-color:#FF5A00}
.terms-row a{color:#18181b;font-weight:600}
#verifyPending:not(.hidden){display:flex;flex-direction:column;gap:10px;border-top:1px solid #f4f4f5;padding-top:14px}
.verify-title{font-size:15px;font-weight:700}
.verify-btns{display:flex;gap:8px;flex-wrap:wrap}
