:root{
  --bg:#f5f7f9;--card:#fff;--text:#17212b;--muted:#64748b;--line:#e2e8f0;--nav:#102a43;--nav2:#163f5f;--accent:#2f6f93;--hot:#9f2f2f;--warm:#a26100;--cold:#52606d;--good:#247a4b;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:white;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:18px;line-height:1.15;margin-bottom:5px}.brand-sub{font-size:12px;color:#bfd3e1;margin-bottom:30px}.nav button{display:block;width:100%;border:0;background:transparent;color:#d9e6ef;text-align:left;padding:11px 12px;border-radius:8px;margin:4px 0;cursor:pointer}.nav button:hover,.nav button.active{background:var(--nav2);color:#fff}.sidebar-foot{position:absolute;bottom:18px;left:18px;right:18px;font-size:11px;color:#9fb8ca;line-height:1.4}.main{padding:28px 34px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.topbar h1{margin:5px 0 4px;font-size:28px}.topbar p{margin:0;color:var(--muted)}.pill{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:white;font-size:12px;color:var(--muted)}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.stat{padding:18px}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:28px;font-weight:800;margin-top:5px}.stat .delta{font-size:11px;color:var(--good);margin-top:4px}.panel{padding:20px}.panel h3{margin:0 0 14px}.two{grid-template-columns:1.15fr .85fr}.progress{height:10px;background:#eaf0f4;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);border-radius:999px}.funnel-row{display:grid;grid-template-columns:120px 1fr 46px;align-items:center;gap:10px;margin:11px 0;font-size:13px}.bucket-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bucket{border:1px solid var(--line);border-radius:10px;padding:13px}.bucket b{display:block;font-size:19px}.bucket small{color:var(--muted)}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.toolbar input,.toolbar select{background:white;border:1px solid var(--line);border-radius:8px;padding:9px 10px}.toolbar input{min-width:250px}.btn{border:0;border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:650}.btn.primary{background:var(--accent);color:white}.btn.secondary{background:#eaf1f5;color:var(--nav)}.btn.ghost{background:white;border:1px solid var(--line);color:var(--text)}.btn.danger{background:#f9e9e9;color:#8d2626}.btn.small{padding:6px 8px;font-size:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;white-space:nowrap}.table td{border-bottom:1px solid #edf1f4;padding:11px 9px;vertical-align:middle}.table tr:hover td{background:#fafcfd}.tag{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em}.tag.HOT{background:#f9dddd;color:var(--hot)}.tag.WARM{background:#fff0d6;color:var(--warm)}.tag.COLD{background:#e9eef2;color:var(--cold)}.tag.TRASH,.tag.DNC{background:#ececec;color:#555}.tag.PENDING,.tag.DRAFT,.tag.READY{background:#e5f1f8;color:#285e7e}.tag.QUALIFIED{background:#dbf4e6;color:var(--good)}
.split{display:grid;grid-template-columns:360px 1fr;gap:16px}.list{max-height:620px;overflow:auto}.list-item{padding:14px;border-bottom:1px solid var(--line);cursor:pointer}.list-item:hover,.list-item.active{background:#f2f7fa}.list-item strong{display:block}.list-item small{color:var(--muted)}.detail{padding:22px}.detail h2{margin:0 0 4px}.meta{color:var(--muted);font-size:13px}.email-box{margin-top:18px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;padding:18px;white-space:pre-wrap;line-height:1.55;font-size:14px}.ai-box{margin-top:14px;border-left:4px solid var(--accent);background:#eef6fa;padding:14px;border-radius:6px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.view{display:none}.view.active{display:block}.note{background:#fff9e8;border:1px solid #f2dfad;border-radius:9px;padding:12px 14px;color:#6c581b;font-size:13px;margin-bottom:15px}.empty{padding:55px;text-align:center;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal-backdrop.show{display:flex}.modal{background:white;border-radius:12px;max-width:660px;width:100%;padding:22px;max-height:90vh;overflow:auto}.modal h3{margin-top:0}.field{margin:12px 0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field textarea,.field input,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px}.field textarea{min-height:180px;resize:vertical}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.two,.split{grid-template-columns:1fr}.list{max-height:300px}}@media(max-width:760px){.app{display:block}.sidebar{position:relative;height:auto}.sidebar-foot{display:none}.nav{display:flex;overflow:auto;gap:5px}.nav button{white-space:nowrap;width:auto}.main{padding:20px 14px}.topbar{display:block}.pill{display:inline-block;margin-top:12px}.stats{grid-template-columns:1fr 1fr}.bucket-list{grid-template-columns:1fr}.toolbar input{min-width:0;width:100%}}

.campaign-brief{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px;border-left:4px solid var(--accent)}
.campaign-brief h3{margin:4px 0 6px}.campaign-brief p{margin:0;max-width:850px;color:var(--muted);line-height:1.5}.campaign-state{white-space:nowrap;font-size:12px;font-weight:700;color:var(--good);background:#edf9f2;border:1px solid #cfe9d9;padding:9px 11px;border-radius:999px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--good);border-radius:50%;margin-right:6px}.lower-grid{margin-top:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0}.work-list{display:grid;gap:10px}.work-item{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf1f4}.work-item:last-child{border-bottom:0}.work-item span{color:var(--muted);font-size:13px}.work-item b{font-size:18px}.activity-log{max-height:240px;overflow:auto;margin-top:10px}.activity{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f4;font-size:12px}.activity time{color:var(--muted)}.activity strong{display:block;font-size:12px}.activity small{color:var(--muted)}.contact-link{background:transparent;border:0;padding:0;color:var(--accent);cursor:pointer;text-align:left;font-weight:750}.contact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.fact{border:1px solid var(--line);border-radius:9px;padding:10px}.fact small{display:block;color:var(--muted);margin-bottom:3px}.confidence{height:7px;background:#e9eef2;border-radius:99px;overflow:hidden;margin-top:7px}.confidence span{height:100%;display:block;background:var(--accent)}.decision-banner{margin-top:14px;padding:12px 14px;border-radius:9px;background:#f7fafc;border:1px solid var(--line);font-size:13px}.table .row-action{white-space:nowrap}.subtle{color:var(--muted);font-size:12px}.contact-status{margin-top:10px}.tag.CONTACTED{background:#dff0f7;color:#285e7e}.tag.FOLLOWUP{background:#fff0d6;color:#8a5a08}.tag.SUPPRESSED{background:#ececec;color:#555}@media(max-width:760px){.campaign-brief{display:block}.campaign-state{display:inline-block;margin-top:12px}.contact-facts{grid-template-columns:1fr}.activity{grid-template-columns:72px 1fr}}

.conversation-demo{margin-top:22px}.conversation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.conversation-step{border:1px solid #d8dde3;border-radius:12px;padding:18px;background:#fff;min-height:140px}
.conversation-step span{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-weight:700;margin-bottom:12px}
.conversation-step strong{display:block;margin-bottom:8px}.conversation-step p{margin:0;line-height:1.45;opacity:.78}
@media(max-width:900px){.conversation-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.conversation-grid{grid-template-columns:1fr}}

.campaign-control,.executive-brief{margin-top:22px}
.control-grid,.brief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.control-grid label{font-size:.82rem;font-weight:700;display:flex;flex-direction:column;gap:7px}
.control-grid input,.control-grid select{padding:10px 11px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;font:inherit}
.safety-note{margin-top:15px;padding:12px 14px;border:1px solid #d8dde3;border-radius:9px;font-size:.88rem;line-height:1.45}
.brief-grid>div{border:1px solid #d8dde3;border-radius:12px;padding:16px;background:#fff}
.brief-grid strong{display:block;margin-bottom:7px}.brief-grid p{margin:0;line-height:1.45;opacity:.8}
@media(max-width:900px){.control-grid,.brief-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.control-grid,.brief-grid{grid-template-columns:1fr}}

.ai-config{margin-top:22px}.ai-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.ai-config-grid label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:700}
.ai-config-grid input,.ai-config-grid select{padding:10px 11px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;font:inherit}
.prompt-contract{margin-top:15px;padding:14px 16px;border:1px solid #d8dde3;border-radius:10px;line-height:1.5}
.prompt-contract strong{display:block;margin-bottom:5px}
.prompt-contract p{margin:0;opacity:.8}
@media(max-width:900px){.ai-config-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ai-config-grid{grid-template-columns:1fr}}

/* Checkpoint 6: visible intelligence / grounded personalization */
.intelligence-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.fact-panel{border:1px solid #d8dde3;border-radius:10px;padding:13px 14px;margin:12px 0;line-height:1.45}
.fact-panel>b{display:block;margin-bottom:9px}
.fact-chip,.warning-chip{display:inline-block;margin:3px 5px 3px 0;padding:5px 8px;border-radius:999px;border:1px solid #d8dde3;font-size:.78rem}
.warning-chip{border-style:dashed}
.email-subject{padding:10px 12px;border:1px solid #d8dde3;border-bottom:0;border-radius:10px 10px 0 0;font-size:.88rem}
.email-subject + .email-box{border-radius:0 0 10px 10px}
.confidence-row{display:flex;align-items:center;gap:10px;margin:9px 0}
.confidence-row>span{font-weight:800;min-width:42px}
.confidence-track{height:8px;flex:1;border-radius:99px;background:#e9edf1;overflow:hidden}
.confidence-track i{display:block;height:100%;background:currentColor;border-radius:99px}
@media(max-width:700px){.intelligence-grid{grid-template-columns:1fr}}

/* Checkpoint 7 */
.cp7-conversations,.jerry-briefing{margin-top:22px}.operator-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.summary-card{border:1px solid #d8dde3;border-radius:11px;padding:13px;background:#fff;display:flex;flex-direction:column}.summary-card b{font-size:1.45rem}.summary-card span{font-size:.78rem;opacity:.7}
.cp7-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(380px,1.4fr);gap:14px}.cp7-queue,.cp7-detail{border:1px solid #d8dde3;border-radius:12px;background:#fff;overflow:hidden}.cp7-detail{padding:17px}
.conversation-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:13px;border:0;border-bottom:1px solid #e5e8eb;background:#fff;cursor:pointer}.conversation-row:hover{background:#f7f8fa}.conversation-row>div:first-child{display:flex;flex-direction:column;gap:4px}.conversation-row small{opacity:.67}.conversation-signals{display:flex;align-items:center;gap:6px}.priority{font-size:.65rem;font-weight:800;border:1px solid #ccd2d8;border-radius:999px;padding:4px 6px}
.thread{display:flex;flex-direction:column;gap:8px;margin:14px 0}.thread-message{max-width:88%;padding:10px 12px;border:1px solid #d8dde3;border-radius:11px}.thread-message.incoming{align-self:flex-end;background:#f7f8fa}.thread-message.outgoing{align-self:flex-start}.thread-message b{font-size:.72rem}.thread-message p{margin:4px 0 0;line-height:1.42}
.learning-panel,.ai-assessment,.next-action,.uncertainty{border:1px solid #d8dde3;border-radius:10px;padding:12px 13px;margin:10px 0}.uncertainty{border-style:dashed}.ai-assessment p,.next-action p,.uncertainty p{margin:6px 0 0;line-height:1.42}
.learned-row{display:grid;grid-template-columns:135px 1fr;gap:9px;padding:6px 0;border-bottom:1px solid #edf0f2}.learned-row:last-child{border-bottom:0}.learned-row span{font-size:.76rem;opacity:.67}
.briefing-card{border:1px solid #d8dde3;border-radius:12px;padding:17px;background:#fff}.briefing-card>div:first-child{display:flex;flex-direction:column;gap:4px}.briefing-card small{opacity:.67}
.briefing-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:11px;margin:15px 0}.briefing-columns>div{border:1px solid #e1e5e9;border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:5px}.briefing-columns span{font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.briefing-columns strong{line-height:1.38}.brief-summary{border-top:1px solid #e3e7eb;padding-top:12px;line-height:1.45}
@media(max-width:850px){.cp7-grid{grid-template-columns:1fr}.operator-summary,.briefing-columns{grid-template-columns:1fr 1fr}}@media(max-width:550px){.operator-summary,.briefing-columns{grid-template-columns:1fr}.conversation-row{align-items:flex-start;flex-direction:column}.learned-row{grid-template-columns:1fr}}

/* Checkpoint 7B: explicit task affordances and visible state */
.cp7-intro{margin:.35rem 0 0;opacity:.72;max-width:760px}
.cp7-taskbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 16px;padding:12px;border:1px solid #d8dde3;border-radius:11px;background:#fafbfc}
.cp7-taskbar>strong{margin-right:4px}
.task-chip{border:1px solid #cfd5dc;background:#fff;border-radius:999px;padding:8px 11px;cursor:pointer;font:inherit;font-size:.8rem}
.task-chip:hover{background:#f2f4f6}
.cp7-queue-wrap{border:1px solid #d8dde3;border-radius:12px;background:#fff;overflow:hidden}
.cp7-queue-head{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid #e5e8eb}
.cp7-queue-head small{opacity:.65}
.conversation-row.done{background:#f8faf8}
.done-badge{font-size:.62rem;font-weight:800;border:1px solid #bfc8bf;border-radius:999px;padding:4px 6px}
.cp7-result{border:1px solid #cbd5cb;background:#f7faf7;border-radius:10px;padding:12px 13px;margin:10px 0}
.cp7-result p{margin:5px 0 0}
.cp7-state-panel{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid #d8dde3;border-radius:10px}
.cp7-state-panel>div{display:flex;flex-direction:column;gap:4px}
.cp7-state-panel span{font-size:.82rem;opacity:.72}
@media(max-width:650px){.cp7-state-panel{align-items:flex-start;flex-direction:column}.cp7-taskbar{align-items:flex-start}}

/* Checkpoint 8: production bridge / import */
.production-warning{display:flex;gap:10px;align-items:flex-start;border:1px solid #d8dde3;border-radius:10px;padding:13px 15px;margin:15px 0;background:#fafbfc}.production-warning span{opacity:.75;line-height:1.4}
.import-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.import-step{border:1px solid #d8dde3;border-radius:10px;padding:10px;display:flex;gap:8px;align-items:center;opacity:.5}.import-step.active{opacity:1;background:#fff}.import-step b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:.75rem}.import-step span{font-size:.78rem;font-weight:700}
.import-layout{margin-bottom:14px}.import-drop{text-align:center;padding:28px 20px}.import-icon{margin:0 auto 10px;width:58px;height:58px;border:1px solid #ccd3da;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900}.import-drop h3{margin:8px 0}.import-drop p{max-width:520px;margin:7px auto 15px;line-height:1.45;opacity:.72}
.file-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e3e7eb}.file-summary>div{padding:12px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #e3e7eb}.file-summary>div:last-child{border-right:0}.file-summary span{font-size:.7rem;text-transform:uppercase;opacity:.55}
.mapping-panel{margin-top:12px}.mapping-row{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f2}.mapping-row select{padding:8px;border:1px solid #cfd5dc;border-radius:7px;background:#fff}.map-arrow{text-align:center;opacity:.5}.mapping-note{margin-top:12px;padding:11px;border:1px dashed #ccd3da;border-radius:9px;font-size:.82rem;line-height:1.4}
.import-quality-card,.import-preview-card{margin-top:14px}.quality-metrics{display:grid;grid-template-columns:repeat(6,1fr)}.quality-metrics>div{padding:14px;border-right:1px solid #e4e8eb;display:flex;flex-direction:column}.quality-metrics>div:last-child{border-right:0}.quality-metrics b{font-size:1.4rem}.quality-metrics span{font-size:.72rem;opacity:.65}.quality-rule,.import-approved{margin:12px;border:1px solid #d8dde3;border-radius:9px;padding:11px 13px;font-size:.82rem}.import-approved{display:flex;justify-content:space-between;gap:10px;align-items:center}
.import-table-wrap{overflow:auto}.import-table{width:100%;border-collapse:collapse;font-size:.78rem}.import-table th,.import-table td{text-align:left;padding:9px 10px;border-bottom:1px solid #e5e8eb;vertical-align:top}.import-table th{font-size:.67rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.import-table tr.has-issues{background:#fbfbfa}.issue-pill,.clean-pill{display:inline-block;border:1px solid #ccd3da;border-radius:999px;padding:3px 6px;margin:2px;font-size:.64rem}.issue-pill{border-style:dashed}.clean-pill{font-weight:700}
.production-architecture{margin-top:18px}.architecture-flow{display:flex;align-items:stretch;gap:7px;margin:16px 0;overflow:auto}.arch-node{min-width:160px;flex:1;border:1px solid #d8dde3;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#fff}.arch-node span{font-size:.75rem;opacity:.68;line-height:1.35}.arch-arrow{display:flex;align-items:center;opacity:.45}.integration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.integration-card{position:relative;border:1px solid #d8dde3;border-radius:11px;padding:14px;background:#fff}.integration-card>div{display:flex;justify-content:space-between;gap:8px}.integration-card>div span{font-size:.72rem;opacity:.6}.integration-card p{font-size:.78rem;line-height:1.4;opacity:.75}.integration-status{display:inline-block;border:1px solid #ccd3da;border-radius:999px;padding:4px 7px;font-size:.63rem;font-weight:800}.integration-status.ready{border-style:solid}
@media(max-width:950px){.import-steps{grid-template-columns:1fr 1fr 1fr}.quality-metrics{grid-template-columns:repeat(3,1fr)}.integration-grid{grid-template-columns:1fr 1fr}.architecture-flow{flex-direction:column}.arch-arrow{transform:rotate(90deg);justify-content:center}.file-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.import-steps,.quality-metrics,.integration-grid,.file-summary{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr}.map-arrow{display:none}.import-approved{align-items:flex-start;flex-direction:column}}

/* Checkpoint 8b: dedicated import-view isolation */
body.import-mode .supplemental-demo { display: none !important; }

.import-selfcheck{
  margin:10px 0 12px;padding:9px 12px;border:1px solid #d8dde3;
  border-radius:9px;font-size:.78rem;background:#fff;
}

/* Checkpoint 9: real local CSV importer */
.live-import-panel{margin-top:18px}
.real-import-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin:16px 0}
.real-dropzone,.real-file-status,.real-mapping-wrap,.real-quality-wrap,.real-preview-wrap{border:1px solid #d8dde3;border-radius:12px;background:#fff}
.real-dropzone{padding:24px;text-align:center;transition:.15s ease}
.real-dropzone.dragover{outline:3px solid rgba(34,91,125,.15);background:#f7fafc}
.real-dropzone h3{margin:8px 0}.real-dropzone p{margin:6px 0 14px;opacity:.72}.real-dropzone small{display:block;margin-top:13px;line-height:1.4;opacity:.62}
.file-link{text-decoration:none;display:inline-block;margin-left:6px}
.real-file-status{padding:16px}
.real-file-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.real-file-summary>div{border:1px solid #e3e7eb;border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:4px}
.real-file-summary span{font-size:.69rem;text-transform:uppercase;opacity:.55}.real-file-summary b{word-break:break-word}
.real-mapping-wrap,.real-quality-wrap,.real-preview-wrap{margin-top:14px;overflow:hidden}
.real-mapping-wrap>.cardhead,.real-quality-wrap>.cardhead,.real-preview-wrap>.cardhead{padding:13px 15px;border-bottom:1px solid #e4e8eb}
.real-mapping-grid{padding:10px 15px}
.real-map-row{display:grid;grid-template-columns:minmax(160px,1fr) 36px minmax(180px,1fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #edf0f2}
.real-map-row:last-child{border-bottom:0}.real-map-row select{padding:8px;border:1px solid #cfd5dc;border-radius:7px;background:#fff}
.real-map-arrow{text-align:center;opacity:.45}
.real-map-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;border-top:1px solid #e4e8eb}
.real-map-footer span{font-size:.78rem;opacity:.68}
.real-quality-metrics{display:grid;grid-template-columns:repeat(5,1fr)}
.real-quality-metrics>div{padding:14px;border-right:1px solid #e4e8eb;display:flex;flex-direction:column}.real-quality-metrics>div:last-child{border-right:0}
.real-quality-metrics b{font-size:1.4rem}.real-quality-metrics span{font-size:.7rem;opacity:.63}
.real-quality-explain{padding:11px 14px;border-top:1px solid #e4e8eb;font-size:.78rem;line-height:1.45}
.real-export-actions{display:flex;gap:7px;flex-wrap:wrap}
.real-table-wrap{overflow:auto;max-height:430px}.real-table{width:100%;border-collapse:collapse;font-size:.76rem}
.real-table th,.real-table td{text-align:left;padding:8px 9px;border-bottom:1px solid #e5e8eb;vertical-align:top}.real-table th{position:sticky;top:0;background:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65}
.real-table tr.quarantined{background:#fbf8f7}.real-status{display:inline-block;border:1px solid #cfd5dc;border-radius:999px;padding:3px 6px;font-size:.62rem;font-weight:800}.real-status.bad{border-style:dashed}
@media(max-width:800px){.real-import-grid{grid-template-columns:1fr}.real-quality-metrics{grid-template-columns:1fr 1fr}.real-map-row{grid-template-columns:1fr}.real-map-arrow{display:none}}
@media(max-width:520px){.real-quality-metrics{grid-template-columns:1fr}.real-file-summary{grid-template-columns:1fr}.real-map-footer{align-items:flex-start;flex-direction:column}}

/* Checkpoint 9b */
#import .cardhead > div,#import .panel-header > div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#import .cardhead b,#import .cardhead small{display:block}
#import .cardhead small{line-height:1.35}
.import-primary-label{margin:24px 0 10px}
.import-primary-label h2,.sample-import-divider h2{margin:4px 0 5px}
.import-primary-label p,.sample-import-divider p{margin:0;opacity:.72;line-height:1.45}
.live-import-panel{margin-top:10px;border:2px solid #cfd9e2}
.sample-import-divider{margin:30px 0 10px;padding-top:22px;border-top:1px solid #d8dde3}
#import .import-quality-card .cardhead,#import .import-preview-card .cardhead{min-height:54px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#import .import-quality-card .empty-state,#import .import-preview-card .empty-state{padding:12px 15px}

/* Checkpoint 9c */
.mapping-integrity-note,.normalized-field-check{
  margin:12px 0;padding:11px 13px;border:1px solid #d8dde3;border-radius:9px;
  display:flex;gap:8px;align-items:flex-start;font-size:.8rem;line-height:1.4;background:#fff
}
.mapping-integrity-note b,.normalized-field-check b{white-space:nowrap}
.mapping-conflict-box,.mapping-ok-box{
  margin:10px 15px 0;padding:11px 13px;border:1px dashed #c7cfd7;border-radius:9px;
  font-size:.78rem;line-height:1.4
}
.mapping-conflict-box>div{
  display:grid;grid-template-columns:140px 1fr;gap:8px;padding-top:6px
}
.mapping-conflict-box span{opacity:.65}
.mapping-ok-box{display:flex;gap:8px;align-items:center;border-style:solid}
.real-map-footer .btn:disabled{opacity:.45;cursor:not-allowed}

/* Checkpoint 10: live AI drafting */
.live-ai-strip{
  margin:14px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 16px;border:1px solid #d8dde3;border-radius:11px;background:#fff
}
.live-ai-strip>div:first-child{display:flex;flex-direction:column;gap:4px}
.live-ai-strip>div:first-child>b{font-size:1rem}
.live-ai-strip>div:first-child>span{font-size:.78rem;opacity:.66}
.live-ai-actions{display:flex;gap:8px;flex-wrap:wrap}
.live-ai-result{
  margin:0 0 14px;border:1px solid #d8dde3;border-radius:11px;background:#fff;overflow:hidden
}
.live-ai-result .empty-state{padding:16px}
.live-ai-output{padding:16px}
.live-ai-output-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.live-ai-output-head>div{display:flex;flex-direction:column;gap:4px}
.live-ai-badge{display:inline-block;border:1px solid #cfd5dc;border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:800}
.live-ai-subject{padding:10px 12px;border:1px solid #d8dde3;border-radius:9px 9px 0 0;background:#fafbfc}
.live-ai-body{padding:14px;border:1px solid #d8dde3;border-top:0;border-radius:0 0 9px 9px;white-space:pre-wrap;line-height:1.5}
.live-ai-rationale{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.live-ai-rationale>div{border:1px solid #e1e5e9;border-radius:9px;padding:11px}
.live-ai-rationale b{display:block;margin-bottom:5px}.live-ai-rationale p{margin:0;font-size:.78rem;line-height:1.4;opacity:.76}
.live-ai-review-note{margin-top:12px;padding:10px 12px;border:1px dashed #cbd3da;border-radius:9px;font-size:.78rem;line-height:1.4}
.live-ai-error{padding:14px 16px}.live-ai-error b{display:block;margin-bottom:5px}
@media(max-width:760px){.live-ai-strip{align-items:flex-start;flex-direction:column}.live-ai-rationale{grid-template-columns:1fr}}

/* Checkpoint 10b */
.live-ai-edit-actions{margin-top:12px}
.live-ai-edit-form{display:flex;flex-direction:column;gap:12px}
.live-ai-edit-form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700}
.live-ai-edit-form input,.live-ai-edit-form textarea{
  width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;font:inherit
}
.live-ai-edit-form textarea{min-height:220px;resize:vertical;line-height:1.5}

/* Checkpoint 11 */
.live-classify-strip{margin:14px 0;padding:14px 16px;border:1px solid #d8dde3;border-radius:11px;background:#fff}
.live-classify-strip>div{display:flex;flex-direction:column;gap:4px}.live-classify-strip span{font-size:.78rem;opacity:.68}
.live-classify-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.classify-input,.classify-result{border:1px solid #d8dde3;border-radius:11px;background:#fff;padding:15px}
.classify-input label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:700}
.classify-input textarea{min-height:180px;resize:vertical;padding:11px 12px;border:1px solid #cfd5dc;border-radius:8px;font:inherit;line-height:1.45}
.reply-presets{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}
.classify-output-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.classify-bucket{display:inline-block;border:1px solid #cfd5dc;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900}
.classify-confidence{font-size:.78rem;opacity:.68}
.classify-box{border:1px solid #e1e5e9;border-radius:9px;padding:11px;margin-top:10px}
.classify-box b{display:block;margin-bottom:5px}.classify-box p{margin:0;line-height:1.45;font-size:.8rem}
.classify-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.override-select{padding:8px 9px;border:1px solid #cfd5dc;border-radius:8px;background:#fff}
.classify-confirmed{margin-top:10px;padding:10px 12px;border:1px solid #cbd5cb;border-radius:9px;background:#f7faf7}
@media(max-width:800px){.live-classify-panel{grid-template-columns:1fr}}

/* Checkpoint 12 */
.action-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.action-summary>div{border:1px solid #d8dde3;border-radius:11px;padding:14px;background:#fff;display:flex;flex-direction:column}
.action-summary b{font-size:1.45rem}.action-summary span{font-size:.75rem;opacity:.66}
.action-filterbar{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}
.action-filterbar .task-chip.active{font-weight:800}
.action-row{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;text-align:left;padding:13px;border:0;border-bottom:1px solid #e4e8eb;background:#fff;cursor:pointer}
.action-row:hover{background:#f7f8fa}.action-row.done{opacity:.58}
.action-row>div:first-child{display:flex;flex-direction:column;gap:4px}.action-row small{opacity:.67}
.action-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.action-type{display:inline-block;border:1px solid #ccd3da;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:800}
.action-priority{font-size:.64rem;font-weight:800;opacity:.72}
.action-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.action-detail-grid>div{border:1px solid #e1e5e9;border-radius:9px;padding:11px}
.action-detail-grid span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;opacity:.58;margin-bottom:5px}
.action-detail-grid strong{line-height:1.4}
.action-reply,.action-assessment,.action-next{border:1px solid #d8dde3;border-radius:10px;padding:12px 13px;margin:10px 0}
.action-reply p,.action-assessment p,.action-next p{margin:6px 0 0;line-height:1.45}
.action-complete{border:1px solid #cbd5cb;background:#f7faf7;border-radius:9px;padding:10px 12px;margin-top:10px}
@media(max-width:820px){.action-summary{grid-template-columns:1fr 1fr}.action-layout{grid-template-columns:1fr!important}.action-detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.action-summary{grid-template-columns:1fr}.action-row{flex-direction:column}.action-tags{justify-content:flex-start}}

/* Checkpoint 12C: contact information stays with the person */
.action-contact-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.action-contact-card>div{border:1px solid #d8dde3;border-radius:9px;padding:11px;background:#fafbfc}
.action-contact-card span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;opacity:.58;margin-bottom:5px}
.action-contact-card strong{font-size:.88rem;word-break:break-word}
@media(max-width:600px){.action-contact-card{grid-template-columns:1fr}}

/* Checkpoint 12C fix: contact details in Conversation Memory */
.cp7-contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:14px 0 16px;padding:14px 16px;border:1px solid var(--line,#d8e0e8);border-radius:12px;background:#f8fafc}
.cp7-contact-card div{display:flex;flex-direction:column;gap:3px;min-width:0}
.cp7-contact-card span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.cp7-contact-card strong{font-size:15px;overflow-wrap:anywhere}
@media(max-width:760px){.cp7-contact-card{grid-template-columns:1fr}}

/* 12C navigation/workflow fix */



#qualifiedBody small{display:inline-block;margin-top:3px;line-height:1.35;opacity:.72}

/* 12C Buckets integration + view isolation */
.view:not(.active){display:none !important;}
#bucketCards{margin-top:12px}
.bucket-card{border:1px solid #d8dde3;border-radius:11px;background:#fff;padding:14px}
.bucket-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.bucket-card-head>div{display:flex;align-items:center;gap:10px}
.bucket-card-head>div>b{font-size:1.45rem}
.bucket-card-head small{max-width:260px;text-align:right;opacity:.66;line-height:1.35}
.bucket-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.bucket-metrics>div{border:1px solid #e1e5e9;border-radius:8px;padding:9px;display:flex;flex-direction:column}
.bucket-metrics strong{font-size:1.1rem}.bucket-metrics span{font-size:.7rem;opacity:.62}
.bucket-people{display:flex;flex-direction:column;gap:7px}
.bucket-people>div{border-top:1px solid #edf0f2;padding-top:7px;display:flex;flex-direction:column}
.bucket-people small{opacity:.68;margin-top:2px}

/* 12C terminology + navigation cleanup */
.response-bucket-note{margin:12px 0 16px;padding:11px 13px;border:1px solid #d8dde3;border-radius:9px;background:#fff;font-size:.82rem;line-height:1.4}
.bucket-person{width:100%;border:0;border-top:1px solid #edf0f2;padding:8px 0;background:transparent;text-align:left;display:flex;flex-direction:column;cursor:pointer;font:inherit}
.bucket-person:hover{background:#f7f8fa}
.bucket-person b{font-weight:800}
.bucket-person small{margin-top:2px;opacity:.68}

/* Build 13 consolidation */
.build13-workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.build13-workflow>div{border:1px solid #d8dde3;border-radius:9px;background:#fff;padding:10px;display:flex;align-items:center;gap:8px}.build13-workflow span{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #cfd5dc;border-radius:50%;font-size:.7rem;font-weight:800}.build13-workflow b{font-size:.78rem}.topbar-actions{display:flex;align-items:flex-start;justify-content:flex-end}@media(max-width:800px){.build13-workflow{grid-template-columns:1fr 1fr}}@media(max-width:520px){.build13-workflow{grid-template-columns:1fr}}

/* Build 13B dashboard consolidation */
.dashboard-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.dashboard-flow span{border:1px solid #d8dde3;background:#fff;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:800}.dashboard-flow i{font-style:normal;opacity:.45}.dashboard-main{margin-top:16px}.dashboard-outcome-row,.dashboard-work-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2}.dashboard-outcome-row:last-child,.dashboard-work-row:last-child{border-bottom:0}.dashboard-outcome-row button{min-width:150px}.dashboard-state-box{border:1px solid #d8dde3;border-radius:10px;padding:13px;background:#fafbfc;line-height:1.45}.dashboard-state-box b{display:block;margin-bottom:4px}.action-summary{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.action-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.dashboard-flow i{display:none}.dashboard-flow span{width:100%;text-align:center}.action-summary{grid-template-columns:1fr}}

/* Build 14: operator-first navigation and contextual help */
.nav-group-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#86a7bc;margin:18px 12px 6px;text-transform:uppercase}.nav-group-label:first-child{margin-top:0}.nav button{position:relative;padding-right:34px}.nav-info,.info-tip{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:800;font-style:normal;line-height:1;opacity:.72;cursor:help;vertical-align:middle;margin-left:5px}.nav-info{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#bfd3e1}.info-tip{color:var(--accent);position:relative;top:-2px}.nav-info::after,.info-tip::after{content:attr(data-tip);position:absolute;z-index:50;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:240px;padding:9px 10px;border-radius:7px;background:#17212b;color:white;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;box-shadow:0 5px 18px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .12s}.nav-info::after{left:auto;right:-4px;transform:none}.nav-info:hover::after,.nav-info:focus::after,.info-tip:hover::after,.info-tip:focus::after{opacity:1}.how-it-works{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px;margin:12px 0 14px;color:var(--text);font-size:13px}.how-it-works b{white-space:nowrap}.how-it-works span{color:var(--muted);line-height:1.4}
@media(max-width:760px){.nav-group-label{display:none}.nav-info{display:none}.how-it-works{display:block}.how-it-works b{display:block;margin-bottom:4px}}


[data-tooltip]{
  position:relative;
}
[data-tooltip]::after{
  z-index:9999;
}
@media (max-width:900px){
  [data-tooltip]::after{
    left:auto !important;
    right:0 !important;
    transform:none !important;
  }
}


/* Build 14A clean grid-based responsive layout fix */
:root{--sidebar-width:340px}

/* The app already owns sidebar/content layout. Keep one layout system only. */
.app{
  display:grid !important;
  grid-template-columns:var(--sidebar-width) minmax(0,1fr) !important;
  min-height:100vh;
  align-items:start;
}

.sidebar{
  position:sticky !important;
  top:0;
  height:100vh !important;
  width:auto !important;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
}

/* Footer participates in scrolling instead of covering lower navigation. */
.sidebar-foot{
  position:static !important;
  margin-top:28px;
  padding-bottom:4px;
}

.sidebar .nav{padding-bottom:8px}

.main{
  margin-left:0 !important;
  width:auto !important;
  min-width:0;
  box-sizing:border-box;
}

.nav-group,.nav button,.nav .nav-item{max-width:100%;box-sizing:border-box}
.nav button,.nav .nav-item{white-space:normal;overflow-wrap:anywhere}

/* Sidebar help opens inward and stays readable. */
.nav-info::after{
  left:auto !important;
  right:-4px !important;
  transform:none !important;
  width:min(240px,calc(100vw - var(--sidebar-width) - 28px)) !important;
  max-width:240px;
}
.info-tip::after{
  max-width:min(260px,calc(100vw - 32px));
}

@media(max-width:1100px){:root{--sidebar-width:300px}}
@media(max-width:880px){:root{--sidebar-width:260px}.main{padding:22px 20px 44px !important}}
@media(max-width:680px){
  :root{--sidebar-width:220px}
  .app{display:grid !important;grid-template-columns:var(--sidebar-width) minmax(0,1fr) !important}
  .sidebar{position:sticky !important;height:100vh !important;padding:20px 14px !important}
  .nav{display:block !important;overflow:visible !important}
  .nav button{display:block !important;width:100% !important;white-space:normal !important}
  .main{padding:18px 14px 38px !important;margin-left:0 !important;width:auto !important}
  .topbar{display:block}
  .pill{display:inline-block;margin-top:10px}
}


/* Build 14 final Jerry-facing polish */
.demo-controls-label{
  margin:24px 0 10px;
  padding-top:18px;
  border-top:1px solid #d8dde3;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.demo-controls-label span{
  font-size:.68rem;
  letter-spacing:.12em;
  font-weight:800;
  color:#69727d;
}
.demo-controls-label small{
  font-size:.72rem;
  color:#7b8490;
}
.decision-label{
  margin:12px 0 8px;
  font-size:.7rem;
  letter-spacing:.1em;
  font-weight:800;
  color:#59636e;
}
.decision-label span{
  display:block;
  margin-top:4px;
  font-size:.75rem;
  letter-spacing:0;
  font-weight:500;
  color:#77818c;
}

.pp-toast{position:fixed;right:24px;bottom:24px;z-index:10000;display:flex;align-items:center;gap:16px;max-width:min(600px,calc(100vw - 48px));padding:14px 16px;border-radius:10px;background:#17212b;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;transform:translateY(16px);pointer-events:none;transition:.18s ease}
.pp-toast.show{opacity:1;transform:translateY(0);pointer-events:auto}
.pp-toast button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:7px;padding:7px 12px;font-weight:700;cursor:pointer}
.pp-toast button:hover{background:rgba(255,255,255,.1)}
@media(max-width:620px){.pp-toast{left:16px;right:16px;bottom:16px;max-width:none}}

/* Build 14 HAQ completion feedback */
.filter-count{
  display:none;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  margin-left:4px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(0,0,0,.08);
  font-size:.67rem;
  font-weight:800;
  line-height:1;
}
.caught-up{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* Build 14 suppression emphasis */
.suppression-primary{font-weight:800}

/* Build 14 recommended cleanup action */
.cleanup-primary{font-weight:800}

/* Build 14 HAQ filter counters */
.filter-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  margin-left:5px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(0,0,0,.07);
  font-size:.68rem;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
}
[data-action-filter].active .filter-count{
  background:rgba(255,255,255,.55);
}


/* Build 14 HAQ entry / row affordance */
.action-row{
  cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.action-row:hover{
  background:#f7f9fb;
  border-color:#cfd6de;
}
.action-row:focus-visible{
  outline:2px solid #8aa6c2;
  outline-offset:2px;
}
