:root {
    color-scheme: light;
    --app-bg: #f4f6f8; --app-surface: #fff; --app-surface-muted: #f7f8fa;
    --app-text: #17212b; --app-muted: #5f6b76; --app-line: #dbe1e6;
    --app-accent: #087f6a; --app-accent-soft: #e5f5f1;
    --app-danger: #b4233c; --app-danger-soft: #fff0f2;
    --app-success: #18794e; --app-success-soft: #ecf8f1;
    --app-warning: #8a5a00; --app-warning-soft: #fff7e0;
    --app-radius-sm: 10px; --app-radius: 14px; --app-radius-lg: 20px;
    --app-shadow: 0 12px 32px rgba(23,33,43,.08);
    --app-control-height: 44px; --app-page-width: 1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{min-width:0;background:var(--app-bg)}
body{min-width:0;overflow-x:hidden;color:var(--app-text);background:radial-gradient(circle at top left,#e7f3ef 0,transparent 30%),linear-gradient(180deg,#fafbfc 0%,var(--app-bg) 100%);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
img,svg,video,iframe{max-width:100%}
a,button,input,select,textarea,summary{font:inherit}
a,p,span,strong,td,th,pre,code,label,h1,h2,h3{min-width:0;overflow-wrap:normal;word-break:normal}
h1{font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.15}h2{font-size:clamp(1.3rem,3vw,1.65rem);line-height:1.25}h3{font-size:1.1rem;line-height:1.3}
.page{width:min(var(--app-page-width),calc(100% - 32px))!important;margin:24px auto 48px!important;min-width:0}
.panel,.hero,main.auth-card{max-width:100%;border-color:var(--app-line)!important;background:rgba(255,255,255,.96)!important;box-shadow:var(--app-shadow)!important}
.panel,.hero{padding:24px!important}
.message,.alert{max-width:100%;padding:12px 14px!important;border:1px solid var(--app-line);border-radius:var(--app-radius-sm);overflow-wrap:anywhere}
.message.success,.alert-success{color:var(--app-success);background:var(--app-success-soft)!important;border-color:#a9d8bc!important}.message.error,.alert-error{color:var(--app-danger);background:var(--app-danger-soft)!important;border-color:#efb4bf!important}.warning,.alert-warning{color:var(--app-warning);background:var(--app-warning-soft)!important;border-color:#e6ca86!important}
input:not([type=hidden]),select,textarea,button,.link-button,.draft-link,.pagination-link{min-height:var(--app-control-height);max-width:100%}
input:not([type=hidden]),select,textarea{width:100%;padding:10px 12px!important;border:1px solid var(--app-line)!important;border-radius:var(--app-radius-sm)!important;background:var(--app-surface)!important;color:var(--app-text)!important}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(8,127,106,.25);outline-offset:2px}
button,.link-button,.draft-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px!important;border-radius:var(--app-radius-sm)!important;text-align:center;line-height:1.2;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.table-wrap button,.table-wrap .link-button{min-height:34px;padding:6px 10px!important;font-size:.86rem}
.lead-email-form .lead-email-input{width:190px;min-height:34px;padding:6px 8px!important;font-size:.86rem}
.lead-row-actions,.lead-actions,.lead-email-form{white-space:nowrap}
input[type=checkbox],input[type=radio]{width:20px!important;height:20px!important;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--app-accent)}
.bulk-actions label,.lead-bulk-actions label{min-height:var(--app-control-height);padding:8px;border-radius:var(--app-radius-sm);cursor:pointer}
.form-grid,.grid,.summary-grid,.stats-grid{min-width:0}.form-grid>*,.grid>*,.summary-grid>*,.stats-grid>*,.toolbar>*,.header-row>*{min-width:0}
.table-wrap{max-width:100%;border:1px solid var(--app-line);border-radius:var(--app-radius);overflow-x:auto;-webkit-overflow-scrolling:touch}table{max-width:100%}
.status-pill,.status-chip,.draft-pill,.test-badge,.stack-line,.masked-chip{max-width:100%;white-space:normal!important;overflow-wrap:normal}.job-metrics>*,.meta>*{min-width:0;overflow-wrap:normal}
.breakable,.url-cell,.email-cell,.source-url,.lead-website,.lead-address,.masked-chip,pre,code{overflow-wrap:anywhere;word-break:break-word}
.help-text,.muted,.next-step p,.warning-action-zone p,.danger-action-zone p{overflow-wrap:normal;word-break:normal}
.app-header{position:relative;z-index:20;margin-bottom:18px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(23,33,43,.06)}
.app-header-bar{display:flex;align-items:center;gap:16px;min-height:64px;padding:8px 12px}.app-brand{flex:0 0 auto;color:var(--app-text);font-weight:800;text-decoration:none;letter-spacing:-.02em}
.app-nav-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}.app-nav-links{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto}.app-account{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}.app-nav-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:10px;color:var(--app-muted);font-weight:700;text-decoration:none;white-space:nowrap;overflow-wrap:normal;font-size:.95rem}.app-nav-link:hover,.app-nav-link[aria-current=page]{color:var(--app-accent);background:var(--app-accent-soft)}
.app-account-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;min-width:0;color:var(--app-muted);font-size:.875rem}.app-account-meta span{min-width:0;max-width:24ch;overflow-wrap:anywhere}.app-logout-form{flex:0 0 auto;margin:0}.app-logout{min-height:44px;border:1px solid var(--app-line);background:#fff;color:var(--app-accent);cursor:pointer}.app-menu-toggle{display:none;min-width:44px;min-height:44px;margin-left:auto;border:1px solid var(--app-line);background:#fff;color:var(--app-text);cursor:pointer}.app-menu-toggle-icon,.app-menu-toggle-icon::before,.app-menu-toggle-icon::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;content:""}.app-menu-toggle-icon{position:relative}.app-menu-toggle-icon::before{position:absolute;top:-6px}.app-menu-toggle-icon::after{position:absolute;top:6px}
@media(max-width:768px){
 body{font-size:16px}.page{width:calc(100% - 20px)!important;margin:10px auto 32px!important}.panel,.hero{padding:16px!important;border-radius:16px!important}.hero{margin-bottom:16px!important}
 .app-header{margin-bottom:12px}.app-header-bar{min-height:56px;padding:6px 8px 6px 12px}.app-menu-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0!important}.app-nav-panel{display:none;position:absolute;top:calc(100% + 6px);right:0;left:0;align-items:stretch;padding:10px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:#fff;box-shadow:var(--app-shadow)}.app-header.menu-open .app-nav-panel{display:block}.app-nav-links,.app-account{align-items:stretch;flex-direction:column;width:100%}.app-nav-link{width:100%}.app-account{margin-top:8px;padding-top:8px;border-top:1px solid var(--app-line)}.app-account-meta{display:grid;justify-content:stretch;width:100%;padding:6px 10px}.app-account-meta span{max-width:none}.app-logout-form,.app-logout{width:100%}
 .form-grid,.grid,.summary-grid,.stats-grid{grid-template-columns:minmax(0,1fr)!important}.form-grid [style*="grid-column"]{grid-column:auto!important}
 .actions,.draft-actions,.bulk-actions,.lead-bulk-actions,.toolbar,.header-row,.run-controls{align-items:stretch!important;flex-direction:column;flex-wrap:nowrap!important;width:100%}.actions form,.draft-actions form,.bulk-actions form,.run-controls>*,.actions button,.draft-actions button,.draft-actions .draft-link,.bulk-actions button,.lead-bulk-actions button,.toolbar button,.toolbar .link-button{width:100%!important}
 .lead-list-toolbar{display:grid!important;gap:12px!important;overflow:visible!important}.lead-pagination{display:grid!important;grid-template-columns:minmax(70px,auto) minmax(0,1fr);gap:8px!important;width:100%;overflow:visible;white-space:normal}.lead-pagination>*{min-height:44px;display:flex;align-items:center}.lead-pagination a{justify-content:center;padding:8px;border:1px solid var(--app-line);border-radius:10px}
 .table-wrap{overflow:visible!important;border:0;border-radius:0}.table-wrap table{display:block;width:100%!important;min-width:0!important;table-layout:auto!important}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:12px;width:100%}.table-wrap tr{display:block;width:100%;min-width:0;padding:10px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface);box-shadow:0 5px 16px rgba(23,33,43,.05)}.table-wrap td{display:grid;grid-template-columns:minmax(92px,35%) minmax(0,1fr);gap:10px;align-items:start;width:100%!important;max-width:none!important;min-width:0;padding:9px 4px!important;border-bottom:1px solid var(--app-line);white-space:normal!important;font-size:.9375rem!important;overflow:visible!important;text-overflow:clip!important}.table-wrap td:last-child{border-bottom:0}.table-wrap td::before{content:attr(data-label);color:var(--app-muted);font-size:.8125rem;font-weight:700}.table-wrap td[colspan]{display:block}.table-wrap td[colspan]::before{display:none}.table-wrap td *,.company-cell span,.lead-website,.lead-address,.source-url,.cell-clamp{max-width:100%!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;max-height:none!important}
 .checkbox-cell{min-height:44px;align-items:center!important}.checkbox-cell input{justify-self:start}.lead-actions{display:grid!important}.lead-draft{display:grid!important}.lead-actions form,.lead-actions button,.lead-actions .link-button,.manual-email-form{width:100%!important}
 .stats-grid{gap:8px!important}.stat-card{display:flex;align-items:center;justify-content:space-between;min-height:64px}.stat-card strong{margin:0!important}.email-shell{padding:8px!important}.preview-mail,.preview-frame,pre{max-width:100%;overflow-wrap:anywhere}pre{white-space:pre-wrap!important;word-break:break-word}
 input[type=file]{min-height:48px;padding:6px!important}input[type=file]::file-selector-button{min-height:36px;max-width:100%;margin-right:8px;border:0;border-radius:8px;padding:6px 10px}.asset-card{padding:12px!important}
}
@media(min-width:769px){.app-nav-panel{display:flex!important}}

/* Lead qualification review surface. */
.lead-qualification-cell{min-width:170px}.qualification-unavailable{display:block;max-width:130px;font-size:.82rem;white-space:normal}
.qualification-dialog{width:min(780px,calc(100% - 24px));max-width:780px;max-height:min(88vh,760px);padding:0;border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-text);box-shadow:var(--app-shadow)}.qualification-dialog::backdrop{background:rgba(23,33,43,.45)}
.qualification-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--app-line)}.qualification-dialog-header h2{margin:0}.qualification-content{padding:20px;overflow:auto;max-height:calc(88vh - 92px)}.qualification-message{min-height:0;margin-bottom:12px;color:var(--app-danger);font-weight:700}.qualification-message:empty{display:none}.qualification-loading{display:flex;align-items:center;gap:10px;min-height:120px;justify-content:center;color:var(--app-muted)}.qualification-spinner{width:20px;height:20px;border:3px solid var(--app-line);border-top-color:var(--app-accent);border-radius:50%;animation:qualification-spin .8s linear infinite}@keyframes qualification-spin{to{transform:rotate(360deg)}}
.qualification-empty-state,.qualification-ready{margin:0}.qualification-empty-state h3,.qualification-ready h3{margin:0 0 8px}.qualification-empty-state p{margin:0 0 16px;color:var(--app-muted)}.qualification-run-form{display:grid;gap:12px}.qualification-run-form textarea,.qualification-review-panel textarea{min-height:92px;width:100%;resize:vertical}.qualification-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.qualification-heading-row h3{text-transform:capitalize}.qualification-grade-stack{display:grid;justify-items:end;gap:3px}.qualification-grade-label,.qualification-grade-note,.qualification-meta{color:var(--app-muted);font-size:.85rem}.qualification-grade{display:grid;place-items:center;min-width:48px;min-height:42px;padding:4px 10px;border:1px solid var(--app-accent);border-radius:10px;background:var(--app-accent-soft);font-size:1.25rem;font-weight:800}.qualification-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.qualification-metrics>div{display:grid;gap:4px;padding:10px;border:1px solid var(--app-line);border-radius:var(--app-radius-sm);background:var(--app-surface-muted)}.qualification-metrics span{color:var(--app-muted);font-size:.8rem}.qualification-metrics strong{overflow-wrap:anywhere}.qualification-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qualification-copy-grid>div{min-width:0}.qualification-copy-grid h4{margin:0 0 6px}.qualification-copy-grid ul{margin:0;padding-left:20px;color:var(--app-muted)}.qualification-copy-grid li+li{margin-top:4px}.qualification-meta{margin:16px 0 0}.qualification-review-panel{margin-top:18px;padding:16px;border:1px solid #e6ca86;border-radius:var(--app-radius);background:var(--app-warning-soft)}.qualification-review-banner{margin:0 0 12px;font-weight:800}.qualification-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.qualification-review-actions>button{min-height:44px}.qualification-grade-select{grid-column:1 / -1;margin:0}.qualification-completed-note{margin-top:16px;padding:12px;border:1px solid #a9d8bc;border-radius:var(--app-radius-sm);background:var(--app-success-soft);color:var(--app-success)}.qualification-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.qualification-actions button{min-height:44px}.qualification-history{margin-top:18px;border-top:1px solid var(--app-line);padding-top:12px}.qualification-history summary{cursor:pointer;font-weight:800}.qualification-history-list{display:grid;gap:10px;margin-top:12px}.qualification-history-entry{padding:12px;border:1px solid var(--app-line);border-radius:var(--app-radius-sm);background:var(--app-surface-muted)}.qualification-history-entry p{margin:3px 0;color:var(--app-muted)}
.qualification-refresh-form{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--app-line)}.qualification-refresh-form textarea{min-height:72px;width:100%;resize:vertical}.qualification-confirmation{width:min(440px,calc(100% - 24px));padding:20px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-text);box-shadow:var(--app-shadow)}.qualification-confirmation::backdrop{background:rgba(23,33,43,.45)}.qualification-confirmation h3{margin:0 0 8px}.qualification-confirmation p{margin:0;color:var(--app-muted)}
@media(max-width:768px){.qualification-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.qualification-content{max-height:calc(100vh - 92px);padding:16px}.qualification-heading-row{display:grid}.qualification-grade-stack{justify-items:start}.qualification-metrics,.qualification-copy-grid{grid-template-columns:1fr}.qualification-review-actions{grid-template-columns:1fr}.qualification-grade-select{grid-column:auto}.qualification-actions{display:grid}.qualification-actions button{width:100%}.leads-page .lead-list-table td:nth-child(12)::before{content:"AI Qualification"}}

/* Shared workflow UX components. */
.demo-banner{margin:0 0 16px;padding:11px 14px;border:1px solid #9ec5e5;border-radius:var(--app-radius-sm);background:#eef7ff;color:#174f78}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.page-header h1{margin:0}.page-header p{max-width:72ch;margin:8px 0 0;color:var(--app-muted)}.page-header-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;color:var(--app-muted);font-size:.9rem}.breadcrumb a{color:var(--app-accent);font-weight:700;text-decoration:none}
.workflow{margin:0 0 16px;padding:12px 14px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:rgba(255,255,255,.9)}.workflow-desktop{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.workflow-desktop li{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:7px 4px;border-radius:9px;color:var(--app-muted);font-size:.82rem;font-weight:700}.workflow-desktop li span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid var(--app-line);border-radius:50%;background:#fff}.workflow-desktop li.current{color:var(--app-accent);background:var(--app-accent-soft)}.workflow-desktop li.current span{border-color:var(--app-accent);background:var(--app-accent);color:#fff}.workflow-mobile{display:none;margin:0}
.next-step{margin-top:20px;padding:18px;border-left:4px solid var(--app-accent);border-radius:var(--app-radius-sm);background:var(--app-accent-soft)}.next-step h2,.next-step h3{margin:0 0 6px}.next-step p{margin:0}.next-step .actions{margin-top:12px}
.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.readiness-card{padding:18px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:var(--app-surface)}.readiness-card h3{margin:0 0 10px}.readiness-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--app-line)}.readiness-line:last-of-type{border-bottom:0}.readiness-help{margin:10px 0 0;color:var(--app-muted);font-size:.9rem}
.status-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--app-line);border-radius:999px;background:var(--app-surface-muted);font-size:.82rem;font-weight:800}.status-ready{color:var(--app-success);background:var(--app-success-soft);border-color:#a9d8bc}.status-warning{color:var(--app-warning);background:var(--app-warning-soft);border-color:#e6ca86}.status-danger{color:var(--app-danger);background:var(--app-danger-soft);border-color:#efb4bf}.status-info{color:#175b83;background:#eef7ff;border-color:#9ec5e5}
.warning-action-zone,.danger-action-zone{margin-top:16px;padding:16px;border-radius:var(--app-radius);border:1px solid #e6ca86;background:var(--app-warning-soft)}.danger-action-zone{border-color:#efb4bf;background:var(--app-danger-soft)}.warning-action-zone h3,.danger-action-zone h3{margin:0 0 6px}.warning-action-zone p,.danger-action-zone p{margin:0 0 12px}
.selected-bar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--app-line);border-radius:var(--app-radius);background:#fff;box-shadow:var(--app-shadow)}.selected-bar.visible{display:flex}.selected-count{font-weight:800}.section-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.section-toc a{padding:7px 10px;border:1px solid var(--app-line);border-radius:999px;color:var(--app-accent);font-size:.88rem;font-weight:700;text-decoration:none}
.button-primary{background:var(--app-accent)!important;border-color:var(--app-accent)!important;color:#fff!important}.button-secondary{background:#fff!important;border:1px solid var(--app-line)!important;color:var(--app-accent)!important}.button-warning{background:var(--app-warning)!important;border-color:var(--app-warning)!important;color:#fff!important}.button-danger{background:var(--app-danger)!important;border-color:var(--app-danger)!important;color:#fff!important}.help-text{display:block;color:var(--app-muted);font-size:.9rem}.details-compact summary{min-height:44px;padding:10px 0;color:var(--app-accent);font-weight:700;cursor:pointer}
@media(max-width:768px){.page-header{display:block}.page-header-actions{margin-top:14px}.page-header-actions>*{width:100%}.workflow-desktop{display:none}.workflow-mobile{display:block}.readiness-grid{grid-template-columns:1fr}.selected-bar.visible{position:sticky;z-index:12;bottom:8px;display:grid}.selected-bar .actions{display:grid!important;grid-template-columns:1fr!important}.section-toc{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.section-toc a{flex:0 0 auto}.next-step{padding:14px}}
