/* Galvanize functional surfaces. Tenant preview accent is intentionally separate. */
@font-face{font-family:Onest;src:url('./fonts/onest-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('./fonts/onest-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Onest;src:url('./fonts/onest-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Onest;src:url('./fonts/onest-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Onest;src:url('./fonts/onest-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--ui-font:Onest,system-ui,sans-serif;--ui-ink:#101a32;--ui-muted:#52647c;--ui-blue:#2f72f4;--ui-blue-dark:#1d55c5;--ui-soft:#eaf2ff;--ui-paper:#f4f8ff;--ui-line:#dbe5f2}
body.cabinet-ready,body.public-blue{font-family:var(--ui-font);color:var(--ui-ink)}
body.cabinet-ready :where(h1,h2,h3,button,input,select,textarea,.cabinet-sidebar,.cabinet-brand-mark,.cabinet-mobilebar){font-family:var(--ui-font)}
body.cabinet-ready h1{font-size:clamp(28px,3.4vw,44px);line-height:1.15;letter-spacing:-.03em;font-weight:650}
body.cabinet-ready h2{font-size:clamp(22px,2.4vw,30px);line-height:1.2;letter-spacing:-.025em;font-weight:650}
body.cabinet-ready h3{font-size:18px;line-height:1.3;letter-spacing:-.015em;font-weight:650}
body.cabinet-ready main{width:calc(100% - 48px);max-width:1420px;container-type:inline-size;container-name:cabinet}
@container cabinet (max-width:1050px){body.cabinet-ready :where(.training-layout,.result-layout,.dashboard-grid,.results-area,.passport-layout,.theme-editor,.lead-layout){grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:900px){body.cabinet-ready main{width:100%}}
body.cabinet-ready :where(.control-card,.theme-editor,.theme-preview,.session-list,.lead-list,.lead-detail,.table-panel,.chat-layout,.feedback-card,.gap-row,.dropzone,.mapping,.enrichment-metrics>div,.source-card,.technical-grid article,.pipeline article){background:var(--cabinet-panel);border-color:var(--ui-line);box-shadow:none}
body.cabinet-ready .theme-editor{padding:20px;gap:24px;background:var(--ui-soft)}
body.cabinet-ready .theme-preview{background:#f4f8ff;border-color:var(--ui-line);padding-bottom:80px;min-height:350px}
body.cabinet-ready :where(.theme-editor h3,.control-card h2,.transcript-heading h2){font-family:var(--ui-font);font-size:24px;line-height:1.25}
body.cabinet-ready :where(.controls,.form-actions,.card-heading,.connected-heading,.source-card-head,.candidate-row,.header-actions,.enrichment-actions){flex-wrap:wrap;gap:12px}
body.cabinet-ready :where(.theme-fields,.form-grid,.control-grid,.lead-meta,.source-meta)>*{min-width:0}
body.cabinet-ready main input[type=file]{display:block;width:100%;min-height:44px;padding:6px;font-family:var(--ui-font);font-size:12px;line-height:1.5;overflow:hidden}
body.cabinet-ready main input[type=file]::file-selector-button{min-height:32px;margin-right:8px;padding:6px 10px;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-soft);color:var(--ui-blue-dark);font:600 12px var(--ui-font);cursor:pointer}
body.cabinet-ready .theme-fields label{align-content:start;gap:8px}
body.cabinet-ready main .settings-form .asset-remove,body.cabinet-ready main :where(.secondary,.guide-action,.actions a):not(.primary){color:var(--ui-blue-dark);background:#fff;border:1px solid var(--ui-line);box-shadow:none!important;font-weight:600}
body.cabinet-ready #resetTheme{margin-top:20px;max-width:100%;white-space:normal;text-align:left}
body.cabinet-ready main :where(button,.primary,.template-link){font-family:var(--ui-font);line-height:1.35;white-space:normal;overflow-wrap:anywhere}
body.cabinet-ready main :where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.55;box-shadow:none!important;transform:none!important}
body.cabinet-ready main [aria-busy=true]{cursor:progress}
body.cabinet-ready main .settings-form .preview-search button{background:var(--preview-accent);color:var(--preview-text);border-color:transparent!important;box-shadow:none!important}
body.cabinet-ready .lead-layout{grid-template-columns:minmax(240px,.7fr) minmax(0,1.6fr);align-items:start;gap:20px}
body.cabinet-ready .lead-list{align-self:start;max-height:650px;overflow:auto}
body.cabinet-ready main .lead-button,body.cabinet-ready main .session-button{display:grid;gap:8px;padding:16px;min-height:44px;color:var(--ui-ink);background:#fff;border:0;border-bottom:1px solid var(--ui-line)!important;border-radius:0!important;box-shadow:none!important;text-align:left}
body.cabinet-ready main :where(.lead-button,.session-button):hover,body.cabinet-ready main :where(.lead-button,.session-button)[aria-current]{background:var(--ui-soft);transform:none}
body.cabinet-ready .lead-button :where(b,span,small){overflow-wrap:anywhere;line-height:1.45}
body.cabinet-ready .lead-button span,body.cabinet-ready .lead-button small{color:var(--ui-muted);font-size:12px}
body.cabinet-ready .lead-detail{min-width:0;padding:24px}
body.cabinet-ready .lead-detail header h2{margin:8px 0;font-size:22px;line-height:1.3;overflow-wrap:anywhere}
body.cabinet-ready .lead-detail header .lead{margin:8px 0 16px;font-size:14px;line-height:1.55}
body.cabinet-ready .lead-detail h3{margin:24px 0 12px;font-size:16px}
body.cabinet-ready .lead-detail a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-soft);color:var(--ui-blue-dark);font:600 13px/1.4 var(--ui-font);text-decoration:none;max-width:100%;overflow-wrap:anywhere}
body.cabinet-ready .lead-meta{margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.cabinet-ready .lead-meta div{padding:12px;background:var(--ui-paper);min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
body.cabinet-ready .lead-meta small{margin-bottom:6px}
body.cabinet-ready .message:not(.customer){background:var(--ui-soft)}
body.cabinet-ready .message.customer{background:var(--ui-blue-dark)}
body.cabinet-ready :where(.control-card,.table-panel,.lead-detail){border-radius:14px}
body.cabinet-ready .guide-action{font-family:var(--ui-font)}
body.public-blue{--paper:var(--ui-paper);--panel:#fff;--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--green:var(--ui-blue);--soft:var(--ui-line);margin:0;background:var(--ui-paper);font:400 16px/1.65 var(--ui-font)}
body.public-blue *{box-sizing:border-box}
body.public-blue :where(h1,h2,h3,button,input,.back-link,.brand,.price){font-family:var(--ui-font)}
body.public-blue :where(h1,h2,h3){letter-spacing:-.025em;overflow-wrap:anywhere}
body.public-blue h1{font-size:clamp(28px,4.5vw,44px);line-height:1.2;font-weight:650}
body.public-blue h2{font-size:24px;line-height:1.35}
body.public-blue a{color:var(--ui-blue-dark);overflow-wrap:anywhere}
body.public-blue :where(article,.card,form){background:#fff;border:1px solid var(--ui-line);border-radius:16px;box-shadow:0 12px 32px #2342760d}
body.public-blue article{margin:24px 0;padding:clamp(20px,4vw,40px)}
body.public-blue header{flex-wrap:wrap;padding:24px 0;gap:16px}
body.public-blue .brand{color:var(--ui-ink);letter-spacing:0;text-transform:none;font-weight:700}
body.public-blue .brand b{color:var(--ui-blue-dark)}
body.public-blue :where(.back-link,.primary,button){min-height:44px;max-width:100%;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--ui-blue);border-radius:10px;background:var(--ui-blue);color:#fff;box-shadow:none;font:600 14px/1.4 var(--ui-font);white-space:normal;text-decoration:none}
body.public-blue :where(.back-link,.primary,button):hover{background:var(--ui-blue-dark)}
body.public-blue :focus-visible{outline:3px solid #2f72f466;outline-offset:3px}
body.public-blue :where(input,select,textarea){font:inherit;min-width:0;max-width:100%;border:1px solid #a9bbd5;border-radius:9px;background:#fff;color:var(--ui-ink)}
body.public-blue .mark{background:var(--ui-blue);color:#fff;border-radius:8px}
body.public-blue form{padding:24px}
body.public-blue form span{font-family:var(--ui-font);text-transform:none;letter-spacing:0}
body.public-blue :where(.error){border-color:#c6463d;background:#fff0ed;color:#9c2b24}
body.public-blue:has(#status){padding:24px}
body.public-blue:has(#status) main{background:#fff;border:1px solid var(--ui-line);border-radius:16px;box-shadow:0 12px 32px #2342760d;max-width:100%}
@media(max-width:1100px){body.cabinet-ready .lead-layout{grid-template-columns:minmax(0,1fr)}body.cabinet-ready .lead-list{max-height:320px}}
@media(max-width:768px){body.cabinet-ready :where(.control-grid,.form-grid,.theme-fields,.lead-meta){grid-template-columns:minmax(0,1fr)}body.cabinet-ready :where(.control-card,.lead-detail,.theme-editor){padding:16px}body.cabinet-ready .lead-list{max-height:260px}body.public-blue .grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){body.cabinet-ready main :where(.query-row,.preview-search){grid-template-columns:minmax(0,1fr)}body.cabinet-ready .theme-preview{min-width:0}body.cabinet-ready .theme-fields input[type=file]{font-size:11px}body.public-blue main{max-width:calc(100% - 24px)}}
/* The login renderer has one stylesheet hook; no authentication markup changes. */
body:has(form[action="login"]){--paper:var(--ui-paper);--panel:#fff;--ink:var(--ui-ink);--muted:var(--ui-muted);--green:var(--ui-blue);background:var(--ui-paper);font-family:var(--ui-font);padding:24px 0}
body:has(form[action="login"]) main{width:calc(100% - 32px);max-width:480px}
body:has(form[action="login"]) h1{font:650 36px/1.2 var(--ui-font)}
body:has(form[action="login"]) form{border:1px solid var(--ui-line);border-radius:16px;background:#fff;padding:24px;box-shadow:0 12px 32px #2342760d}
body:has(form[action="login"]) :where(button,input){min-height:46px;border:1px solid #a9bbd5;border-radius:9px;font:600 14px var(--ui-font);box-shadow:none}
body:has(form[action="login"]) button{color:#fff;background:var(--ui-blue);border-color:var(--ui-blue);text-transform:none;letter-spacing:0}
body:has(form[action="login"]) .mark{background:var(--ui-blue);color:#fff;border-radius:7px}
body:has(form[action="login"]) label span{font-family:var(--ui-font);text-transform:none;letter-spacing:0}
body:has(form[action="login"]) :focus-visible{outline:3px solid #2f72f466;outline-offset:3px}
/* Amended inbox revision: rows are navigation, never primary action buttons. */
body.cabinet-ready main :is(.session-button,.lead-button){background:#fff!important;color:var(--ui-ink)!important;padding:14px 16px;border-left:3px solid transparent!important;filter:none;transform:none;gap:6px}
body.cabinet-ready main :is(.session-button,.lead-button):hover{background:#f4f8ff!important}
body.cabinet-ready main :is(.session-button,.lead-button)[aria-current="true"]{background:var(--ui-soft)!important;border-left-color:var(--ui-blue-dark)!important}
body.cabinet-ready main :is(.session-button,.lead-button):focus-visible{outline:3px solid var(--ui-blue-dark);outline-offset:-3px}
body.cabinet-ready main :is(.session-button,.lead-button) b{font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
body.cabinet-ready main :is(.session-button,.lead-button) :is(span,small){color:var(--ui-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body.cabinet-ready main .session-button span:last-child{justify-self:start;padding:2px 7px;border:1px solid var(--ui-line);border-radius:5px;background:#f4f8ff;font-size:11px;font-weight:500}
body.cabinet-ready .chat-layout{align-items:start;min-height:0;overflow:visible;background:transparent;border:0;gap:20px;grid-template-columns:minmax(240px,.7fr) minmax(0,1.6fr)}
body.cabinet-ready .session-list{align-self:start;border:1px solid var(--ui-line);border-radius:14px;max-height:650px;overflow:auto;overscroll-behavior:contain}
body.cabinet-ready :is(.transcript,.lead-detail){align-self:start;min-height:0;height:auto;padding:20px;background:#fff;border:1px solid var(--ui-line);border-radius:14px;scroll-margin-top:90px}
body.cabinet-ready :is(.transcript-heading,.lead-detail header) h2{font-size:22px;line-height:1.35;margin:8px 0;font-weight:600}
body.cabinet-ready .record-id{font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:var(--ui-muted);margin:6px 0}
body.cabinet-ready .lead-meta{margin:16px 0;padding:12px 0;gap:12px 24px;border-block:1px solid var(--ui-line)}
body.cabinet-ready .lead-meta div{border:0;background:transparent;padding:0;border-radius:0}
body.cabinet-ready .lead-meta b{font-weight:500}
body.cabinet-ready .lead-detail h3{margin:20px 0 8px}
body.cabinet-ready .messages{padding:14px 0 0;gap:12px}
body.cabinet-ready .message:not(.customer){color:var(--ui-ink);background:#f4f8ff;border:1px solid var(--ui-line)}
body.cabinet-ready .message.customer{color:#fff;background:var(--ui-blue-dark)}
body.cabinet-ready .message small{opacity:1;color:inherit;font-size:11px;font-weight:500;text-transform:none}
body.cabinet-ready main .feedback-actions button{color:var(--ui-blue-dark)!important;background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:8px!important;box-shadow:none!important;font-size:12px;font-weight:500;padding:8px 10px}
body.cabinet-ready .feedback-actions{flex-wrap:wrap}
body.cabinet-ready .empty-context{margin:0;padding:12px 14px;border:1px dashed #a9bbd5;border-radius:8px;font-size:13px;line-height:1.5;color:var(--ui-muted)}
body.cabinet-ready :is(.lead-detail,.transcript,.lead-list,.session-list) .empty{min-height:0;padding:24px;font-size:14px;line-height:1.5}
body.cabinet-ready main .inbox-back{display:none;color:var(--ui-blue-dark)!important;background:#fff!important;border:1px solid var(--ui-line)!important;box-shadow:none!important;margin-bottom:12px;font-size:13px}
@container cabinet (max-width:950px){body.cabinet-ready .chat-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){body.cabinet-ready .chat-layout{grid-template-columns:minmax(0,1fr)}body.cabinet-ready .session-list{max-height:440px}body.cabinet-ready main .inbox-back{display:inline-flex}body.cabinet-ready :is(.chat-layout,.lead-layout):not(.detail-open)>:is(.transcript,.lead-detail){display:none}body.cabinet-ready :is(.chat-layout,.lead-layout).detail-open>:is(.session-list,.lead-list){display:none}body.cabinet-ready .lead-list{max-height:440px}}
