/* XpressCAT design system — Inter UI, Manrope display, Indigo and Teal */
:root{
  --brand:#4F46E5!important;
  --brand-dark:#4338CA!important;
  --brand-soft:#EEF2FF!important;
  --brand-softer:#F5F7FB!important;
  --ink:#101828!important;
  --ink-soft:#475467!important;
  --ink-faint:#98A2B3!important;
  --bg:#F5F7FB!important;
  --surface:#FFFFFF!important;
  --surface-soft:#F9FAFB!important;
  --line:#E5E7EB!important;
  --line-strong:#D0D5DD!important;
  --lime:#0D9488!important;
  --blue:#4F46E5!important;
  --blue-soft:#EEF2FF!important;
  --purple:#0D9488!important;
  --purple-soft:#CCFBF1!important;
  --orange:#F79009!important;
  --orange-soft:#FFF7E8!important;
  --red:#F04438!important;
  --red-soft:#FFF0EF!important;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05)!important;
  --shadow-md:0 18px 48px rgba(16,24,40,.10)!important;
}
html,body,button,input,select,textarea{font-family:"Inter",system-ui,sans-serif!important}
h1,h2,h3,.page-head h1,.panel-head h2,.modal-head h2,.stat-value strong,.public-page-hero h1,.landing-hero h1{font-family:"Manrope",sans-serif!important}
body{background:var(--bg)!important;color:var(--ink)!important}
.brand-content{display:inline-flex!important;align-items:center!important}
.brand-content-mark-only .brand-copy{display:none!important}
.brand-mark{
  width:38px!important;height:38px!important;border-radius:11px!important;
  color:#fff!important;background:linear-gradient(135deg,#4F46E5 0%,#4338CA 60%,#0D9488 100%)!important;
  box-shadow:0 10px 28px rgba(79,70,229,.28)!important;
  transform:none!important;font-size:20px!important;font-weight:800!important;letter-spacing:-.06em!important;
}
.brand-mark span{transform:none!important}
.sidebar .brand,.landing-brand,.public-site-brand,.saas-auth-brand,.auth-brand{width:max-content}
.sidebar{
  width:236px!important;padding:22px 14px 18px!important;
  background:linear-gradient(180deg,#0B1020 0%,#11172D 60%,#0B1020 100%)!important;
  border-right:1px solid rgba(255,255,255,.045)!important;
}
:root{--sidebar:236px!important}
.sidebar .brand{margin-bottom:26px!important;padding:0 8px!important}
.nav-label{color:#667085!important;font-size:9px!important;letter-spacing:.12em!important}
.nav-item{min-height:40px!important;border-radius:9px!important;color:#A9B1C2!important;font-size:13px!important;font-weight:500!important}
.nav-item svg{width:17px!important;height:17px!important}
.nav-item:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.nav-item.active{
  background:linear-gradient(90deg,rgba(79,70,229,.34),rgba(124,58,237,.16))!important;
  color:#fff!important;box-shadow:inset 3px 0 0 #38BDF8!important
}
.nav-item em{background:rgba(255,255,255,.08)!important;color:#C9D0DE!important}
.sidebar-foot{border-color:rgba(255,255,255,.07)!important}
.usage-head{color:#98A2B3!important}.usage-head strong{color:#fff!important}.usage-track{background:rgba(255,255,255,.09)!important}.usage-track span{background:linear-gradient(90deg,#4F46E5,#38BDF8)!important}.sidebar-foot small{color:#667085!important}
.workspace{background:#F7F8FC!important}
.topbar{
  height:64px!important;padding:0 26px!important;border-color:#EAECF0!important;
  background:rgba(255,255,255,.90)!important;box-shadow:0 1px 0 rgba(16,24,40,.02)!important
}
.crumb{font-size:12px!important}.crumb strong{color:#344054!important}
.command-search{border-color:#E4E7EC!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important}
#page-root,.page{max-width:1480px}
.page-head{margin-bottom:24px!important}
.page-head h1{color:#101828!important;font-size:30px!important;letter-spacing:-.035em!important}
.page-head p{color:#667085!important;font-size:13px!important}
.button{border-color:#D0D5DD!important;border-radius:9px!important;background:#fff!important;color:#344054!important;box-shadow:0 1px 2px rgba(16,24,40,.05)!important;font-weight:600!important}
.button:hover{background:#F9FAFB!important;border-color:#BFC5D0!important}
.button.primary{border-color:#4F46E5!important;background:linear-gradient(135deg,#4F46E5,#7C3AED)!important;color:#fff!important;box-shadow:0 8px 22px rgba(79,70,229,.20)!important}
.button.primary:hover{background:linear-gradient(135deg,#4338CA,#6D28D9)!important}
.button.soft{border-color:#D9D6FE!important;background:#F4F3FF!important;color:#4F46E5!important}
.stats-grid{gap:14px!important}
.stat-card{
  border:1px solid #E4E7EC!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 8px 26px rgba(16,24,40,.045)!important;padding:20px!important;
}
.stat-card:hover{border-color:#D9D6FE!important;box-shadow:0 14px 36px rgba(79,70,229,.08)!important}
.stat-top>span{color:#667085!important;font-size:11px!important;font-weight:600!important}
.stat-value strong{color:#101828!important;font-size:31px!important;letter-spacing:-.04em!important}
.stat-card small{color:#98A2B3!important}
.stat-icon{background:#EEF2FF!important;color:#4F46E5!important}
.stat-icon.blue{background:#ECF8FF!important;color:#0BA5EC!important}
.stat-icon.purple{background:#F4F3FF!important;color:#7F56D9!important}
.stat-icon.orange{background:#FFF7E8!important;color:#F79009!important}
.panel,.quick-card,.data-panel,.settings-card,.resource-card,.team-card{
  border:1px solid #E4E7EC!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 8px 28px rgba(16,24,40,.04)!important;
}
.panel-head{border-color:#EAECF0!important}
.panel-head h2{color:#101828!important;font-size:14px!important}.panel-head a{color:#4F46E5!important}
.project-row{border-color:#EAECF0!important}.project-row:hover{background:#F9FAFF!important}
.file-icon{background:#EEF2FF!important;color:#4F46E5!important}
.language-pair{color:#475467!important;background:#F2F4F7!important;border-color:#EAECF0!important}
.progress-bar{background:#EEF2F6!important}.progress-bar span{background:linear-gradient(90deg,#4F46E5,#38BDF8)!important}
.activity-dot{color:#4F46E5!important;background:#EEF2FF!important}
.quick-card{
  border-color:#D9D6FE!important;
  background:linear-gradient(135deg,#F8F7FF,#F0F9FF)!important;
}
.quick-card>span{color:#4F46E5!important;background:#fff!important;box-shadow:0 8px 22px rgba(79,70,229,.10)!important}
.processing-banner{border-color:#D9D6FE!important;background:#F5F3FF!important;color:#4F46E5!important}
.data-table thead{background:#F9FAFB!important}.data-table th{color:#667085!important;font-size:10px!important;letter-spacing:.04em!important}.data-table td{border-color:#EAECF0!important}
.status{border-radius:999px!important;font-weight:600!important}
.form-field input,.form-field select,.form-field textarea,.auth-form input,.search-field input{
  border-color:#D0D5DD!important;border-radius:9px!important;background:#fff!important;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.auth-form input:focus,.search-field input:focus{
  border-color:#4F46E5!important;box-shadow:0 0 0 4px rgba(79,70,229,.10)!important;outline:none!important
}
.drop-zone{border-color:#C7D2FE!important;background:#F8F7FF!important}.drop-zone svg{color:#4F46E5!important}
.modal{border:1px solid #EAECF0!important;border-radius:16px!important;box-shadow:0 32px 90px rgba(16,24,40,.18)!important}
.modal-head,.modal-foot{border-color:#EAECF0!important}.modal-foot{background:#F9FAFB!important}
.search-overlay,.busy-overlay,.modal-backdrop{background:rgba(11,16,32,.48)!important}
.search-dialog,.busy-dialog{border:1px solid #EAECF0!important;box-shadow:0 30px 80px rgba(16,24,40,.18)!important}
.search-result>span{color:#4F46E5!important;background:#EEF2FF!important}
.spinner{border-color:#E0E7FF!important;border-top-color:#4F46E5!important}
.auth-backdrop{background:radial-gradient(circle at 20% 20%,#312E81 0,#11172D 42%,#080B16 100%)!important}
.auth-startup{background:#0B1020!important}
.startup-brand .spinner{border-color:rgba(79,70,229,.25)!important;border-top-color:#38BDF8!important}
.auth-card{border-color:#E4E7EC!important;box-shadow:0 30px 90px rgba(16,24,40,.28)!important}
.text-button{color:#4F46E5!important}
.toast{border-color:#D9D6FE!important;box-shadow:0 16px 44px rgba(16,24,40,.12)!important}.toast svg{color:#4F46E5!important}
@media(max-width:820px){.sidebar{width:236px!important}.topbar{padding:0 16px!important}}

.platform-mfa{display:grid;gap:18px;margin-top:22px}
.platform-mfa-note{padding:14px 16px;border:1px solid #E4E7EC;border-radius:12px;background:#F9FAFB}
.platform-mfa-note strong{display:block;margin-bottom:5px;color:#101828;font-size:13px}
.platform-mfa-note p{margin:0!important;color:#667085!important;font-size:11px!important;line-height:1.55!important}
.platform-mfa-qr{width:190px;height:190px;margin:0 auto;padding:10px;border:1px solid #E4E7EC;border-radius:14px;background:#fff}
.platform-mfa-secret{display:grid;gap:6px;padding:12px 14px;border-radius:10px;background:#F5F3FF}
.platform-mfa-secret small{color:#7C3AED;font-size:8px;font-weight:800;letter-spacing:.12em}
.platform-mfa-secret code{overflow-wrap:anywhere;color:#344054;font-size:11px}
.platform-mfa .auth-form input{text-align:center;font-size:22px;letter-spacing:.28em;font-variant-numeric:tabular-nums}

.pending-invitations{margin-top:18px!important}
.invitation-list{display:grid}
.invitation-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-top:1px solid #EAECF0}
.invitation-list article:first-child{border-top:0}
.invitation-list article>div{display:flex;align-items:center;gap:10px}
.invitation-list article>div:first-child{min-width:0;align-items:flex-start;flex-direction:column;gap:3px}
.invitation-list article strong{color:#101828;font-size:12px}
.invitation-list article span:not(.role-pill){color:#667085;font-size:10px;overflow-wrap:anywhere}
.invitation-list article small{color:#98A2B3;font-size:9px}
.invitation-list .text-button{margin-left:4px}
@media(max-width:720px){.invitation-list article{align-items:flex-start;flex-direction:column}.invitation-list article>div:last-child{flex-wrap:wrap}}

/* XpressCAT official typography + functional colour tokens. */
:root{
  --font-ui:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Manrope","Inter",system-ui,sans-serif;
  --xcat-indigo:#4F46E5;
  --xcat-indigo-dark:#4338CA;
  --xcat-indigo-soft:#EEF2FF;
  --xcat-teal:#0D9488;
  --xcat-teal-soft:#CCFBF1;
  --xcat-navy:#101828;
  --xcat-bg:#F5F7FB;
  --xcat-success:#15803D;
  --xcat-warning:#B45309;
  --xcat-error:#DC2626;
}
html,body,button,input,select,textarea,option{font-family:var(--font-ui)!important}
h1,h2,h3,h4,h5,h6,.page-head h1,.panel-head h2,.modal-head h2,.editor-title h1,.stat-value strong,.mini-stat strong,.platform-main header h1,.platform-metrics b,.register-plan-options strong{font-family:var(--font-display)!important}
.app-shell,.react-cat-editor,.react-cat-editor textarea,.react-cat-editor input,.segment-source-text,.segment-target,.segment-source,.target-input,.data-table,.data-table th,.data-table td{font-family:var(--font-ui)!important}
.brand-mark,.brand-copy strong,.ef-public-brand,.platform-sidebar-brand{font-family:var(--font-display)!important}
.app-shell .sidebar{background:#101828!important}
.app-shell .nav-item.active{background:rgba(79,70,229,.18)!important;box-shadow:inset 3px 0 0 var(--xcat-indigo)!important}
.app-shell .nav-item.active,.app-shell .nav-item.active svg{color:#FFFFFF!important}
.app-shell .nav-item:hover{background:rgba(255,255,255,.075)!important}
.react-cat-editor .segment-row.active{border-color:var(--xcat-indigo)!important;box-shadow:0 4px 16px rgba(79,70,229,.10)!important}
.react-cat-editor .target-input:focus,.target-input:focus{border-color:var(--xcat-indigo)!important;box-shadow:0 0 0 3px rgba(79,70,229,.11)!important}
.react-cat-editor .segment-source,.react-cat-editor .segment-target{color:var(--xcat-navy)}
.react-cat-editor .state-dot:focus-visible{outline:3px solid rgba(79,70,229,.35)!important}
.react-cat-editor .segment-row.virtual-joined{border-left-color:var(--xcat-teal)!important;background:#F0FDFA!important}
.react-cat-editor .segment-row.virtual-joined-start{border-top-color:#99F6E4!important}
.react-cat-editor .segment-row.virtual-joined-end{border-bottom-color:#99F6E4!important}
.target-backdrop.readonly{background:#F5F7FB!important}
:focus-visible{outline-color:var(--xcat-indigo)}
