@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,700;1,800&display=swap');

:root {
  --satib-red:#E42627;
  --satib-green:#00793E;
  --satib-black:#000;
  --satib-grey:#D9D9D9;
  --satib-bg:#f5f5f3;
  --satib-panel:#fff;
  --satib-text:#111;
}

body { font-family:"Fira Sans", Arial, sans-serif; background:var(--satib-bg); }
.app-canvas { background:var(--satib-bg); }
.app-main { background:var(--satib-bg); }
h1, h2, h3, .font-bold { font-family:"Fira Sans", Arial, sans-serif; letter-spacing:0; }
.brand-title, .page-title { font-style:italic; font-weight:800; }
.brand-title { color:var(--satib-black); line-height:1.1; }
.page-title { font-size:1.875rem; line-height:2.25rem; color:var(--satib-black); }
.section-title { margin-bottom:.75rem; font-size:1rem; font-weight:800; color:var(--satib-black); }
.panel { border: 1px solid rgba(148,163,184,.24); border-radius: 18px; background: rgba(255,255,255,.94); padding: 1.25rem; box-shadow: 0 18px 46px rgba(15,23,42,.07); }
.contained-panel { min-height: 282px; overflow: hidden; }
.metric { border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; padding: 1rem; }
.metric span { display:block; color:#64748b; font-size:.875rem; }
.metric strong { display:block; color:var(--satib-black); font-size:1.5rem; line-height:2rem; }
.nav-link { display:flex; min-height:44px; align-items:center; gap:.75rem; border-radius:14px; padding:.65rem .75rem; color:#334155; font-weight:700; }
.nav-link:hover, .tab-link:hover { background:#fef2f2; color:var(--satib-red); }
.tab-link { border:1px solid var(--satib-grey); border-radius:12px; background:#fff; padding:.55rem .85rem; color:var(--satib-black); font-weight:800; box-shadow:0 8px 20px rgba(15,23,42,.04); }
.btn, .btn-secondary, .icon-btn { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:.45rem; border-radius:8px; font-weight:700; }
.btn { background:var(--satib-red); color:white; padding:.6rem .95rem; box-shadow:0 10px 24px rgba(228,38,39,.20); }
.btn:hover { background:#bd1d20; }
.btn-secondary { border:1px solid #cbd5e1; background:#fff; color:#0f172a; padding:.55rem .85rem; }
.icon-btn { width:44px; border:1px solid #cbd5e1; background:#fff; color:#0f172a; }
.field { min-height:44px; width:100%; border:1px solid #cbd5e1; border-radius:12px; padding:.55rem .75rem; background:#fff; }
.label { display:block; margin-bottom:.25rem; font-size:.875rem; font-weight:700; color:#334155; }
.field-error { margin-top:.35rem; color:var(--satib-red); font-size:.82rem; font-weight:800; }
.pipeline-filter-bar { display:grid; grid-template-columns:minmax(220px,1fr) 180px 220px auto; gap:.75rem; align-items:center; border:1px solid rgba(148,163,184,.24); border-radius:18px; background:rgba(255,255,255,.94); padding:.85rem; box-shadow:0 12px 30px rgba(15,23,42,.05); }
.pipeline-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.7rem; }
.row-link { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #e2e8f0; padding:.75rem 0; color:#0f172a; }
.row-link span { color:#64748b; font-size:.9rem; }
.stage-track { display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.5rem; }
.stage-step, .stage-terminal { white-space:nowrap; border-radius:999px; padding:.45rem .7rem; font-size:.8rem; font-weight:700; background:#f1f5f9; color:#475569; }
.stage-step span { display:inline-block; width:.6rem; height:.6rem; border-radius:999px; margin-right:.35rem; }
.stage-step.done { background:#ecfdf5; color:#047857; }
.stage-step.current { outline:2px solid var(--satib-red); color:var(--satib-black); }
.stage-terminal { color:white; }
.target-fill { background:#dc2626; transition: width .8s ease, background-color .4s ease; }
.upload-zone { display:grid; gap:.5rem; border:1px dashed var(--satib-grey); border-radius:8px; background:#f8fafc; padding:.75rem; }
.table { width:100%; border-collapse:collapse; font-size:.95rem; }
.table th, .table td { border-bottom:1px solid #e2e8f0; padding:.75rem; text-align:left; }
.focus-card { border:1px solid rgba(217,217,217,.9); border-radius:22px; background:linear-gradient(135deg,#ffffff 0%,#f7f7f7 56%,#eef7f2 100%); padding:1.6rem; box-shadow:0 22px 60px rgba(0,0,0,.08); }
.focus-card-strong { position:relative; overflow:hidden; }
.focus-card-strong:after { content:""; position:absolute; inset:auto -40px -90px auto; width:260px; height:260px; border-radius:50%; background:rgba(0,121,62,.08); }
.eyebrow { color:var(--satib-red); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.focus-title { margin-top:.25rem; color:var(--satib-black); font-size:2rem; line-height:2.35rem; font-style:italic; font-weight:800; }
.next-action-hero { margin-top:1rem; border-left:4px solid #d97706; border-radius:8px; background:#fffbeb; padding:1rem; }
.next-action-hero.danger { border-left-color:#dc2626; background:#fef2f2; }
.next-action-hero span, .quiet-stat span { display:block; color:#64748b; font-size:.85rem; font-weight:700; }
.next-action-hero strong { display:block; color:#0f172a; font-size:1.25rem; line-height:1.6rem; }
.next-action-hero small { color:#64748b; }
.quiet-stat { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #e2e8f0; padding:.6rem 0; }
.quiet-stat strong { color:var(--satib-black); font-size:1.25rem; }
.stat-panel { display:flex; min-height:100%; align-items:center; justify-content:space-between; gap:1rem; color:var(--satib-black); transition:transform .16s ease, box-shadow .16s ease; }
.stat-panel:hover { transform:translateY(-2px); box-shadow:0 22px 52px rgba(15,23,42,.10); }
.stat-panel span { color:#64748b; font-size:.9rem; font-weight:800; }
.stat-panel strong { font-size:2rem; line-height:2.25rem; font-weight:900; }
.inline-stats { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.inline-stats .quiet-stat { min-height:76px; align-items:flex-start; flex-direction:column; border:1px solid #e2e8f0; border-radius:14px; background:#f8fafc; padding:.75rem; color:var(--satib-black); }
.inline-stats .quiet-stat:hover { border-color:rgba(228,38,39,.35); background:#fff; }
.inline-stats .quiet-stat span { display:block; }
.layer-panel { border:1px solid rgba(148,163,184,.28); border-radius:16px; background:#fff; padding:1rem; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.layer-panel + .layer-panel { margin-top:.75rem; }
.layer-panel summary { cursor:pointer; color:var(--satib-black); font-weight:800; }
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.carousel { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; min-height:132px; }
.carousel::-webkit-scrollbar { display:none; }
.carousel-slide { flex:0 0 100%; scroll-snap-align:start; }
.carousel-controls { display:flex; gap:.5rem; }
.empty-state { display:grid; min-height:120px; place-items:center; border:1px dashed #cbd5e1; border-radius:16px; background:#f8fafc; color:#64748b; font-weight:700; text-align:center; }
.deal-card { position:relative; min-height:136px; border:1px solid rgba(148,163,184,.28); border-left:5px solid var(--stage-color,var(--satib-red)); border-radius:12px; background:#fff; padding:.85rem; box-shadow:0 8px 18px rgba(15,23,42,.05); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.deal-card:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(15,23,42,.10); }
.deal-card:focus-visible, .deal-card.active { outline:3px solid rgba(228,38,39,.18); border-color:rgba(228,38,39,.52); }
.deal-card-title { display:-webkit-box; min-height:2.5rem; overflow:hidden; line-height:1.25rem; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.deal-card-meta { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stage-badge { border-radius:999px; padding:.35rem .6rem; font-size:.72rem; font-weight:800; color:#fff; }
.target-list { display:grid; gap:.75rem; max-height:220px; overflow:hidden; }
.target-row { position:relative; display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:1rem; overflow:hidden; border:1px solid var(--satib-grey); border-radius:16px; padding:.75rem .9rem; color:#0f172a; background:#fff; }
.target-row:before { content:""; position:absolute; inset:0 auto 0 0; width:var(--progress); background:linear-gradient(90deg,rgba(228,38,39,.14),rgba(0,121,62,.16)); }
.target-row span, .target-row em { position:relative; z-index:1; }
.target-row small { display:block; color:#64748b; font-size:.8rem; }
.target-row em { color:var(--satib-black); font-style:normal; font-weight:900; }
.subtle-link { color:var(--satib-red); font-size:.9rem; font-weight:800; }
.disabled-link { opacity:.52; pointer-events:none; }
.numbers-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.number-tile { border:1px solid #e2e8f0; border-radius:18px; background:#f8fafc; padding:1rem; }
.number-tile.wide { grid-column:1 / -1; }
.number-tile span { display:block; color:#64748b; font-size:.82rem; font-weight:800; }
.number-tile strong { display:block; color:var(--satib-black); font-size:1.65rem; line-height:2rem; font-weight:900; }
.number-tile small.good { color:#047857; font-weight:800; }
.number-tile small.bad { color:#dc2626; font-weight:800; }
.chart-panel { background:linear-gradient(180deg,#fff,#f8fafc); }
.chart-wrap { height:360px; border:1px solid #e2e8f0; border-radius:18px; background:#fff; padding:1rem; }
.chart-wrap-compact { height:280px; }
.chart-pill { border:1px solid var(--satib-grey); border-radius:999px; background:#f7f7f7; color:var(--satib-black); padding:.35rem .7rem; font-size:.82rem; font-weight:800; }
.compact-stack { display:grid; gap:.75rem; max-height:260px; overflow:auto; padding-right:.25rem; }
.segment-row { display:inline-flex; border:1px solid var(--satib-grey); border-radius:14px; background:#fff; padding:.25rem; box-shadow:0 10px 24px rgba(15,23,42,.05); }
.segment-row a { border-radius:10px; padding:.55rem .85rem; color:#64748b; font-weight:800; }
.segment-row a.active { background:var(--satib-red); color:#fff; }
.stage-action-grid { display:flex; flex-wrap:wrap; gap:.6rem; }
.stage-action { display:inline-flex; min-height:42px; align-items:center; gap:.45rem; border:1px solid #dbe3ee; border-radius:999px; background:#fff; padding:.45rem .75rem; color:#334155; font-weight:800; }
.stage-action span { width:.65rem; height:.65rem; border-radius:50%; background:var(--stage-color); }
.stage-action.current { border-color:var(--stage-color); background:color-mix(in srgb, var(--stage-color) 14%, white); color:var(--satib-black); box-shadow:0 8px 22px rgba(15,23,42,.08); }
.next-action-box { border:1px solid rgba(0,121,62,.42); border-radius:18px; background:#edf7f1; padding:1.1rem; }
.next-action-box.danger { border-color:rgba(0,121,62,.42); background:#edf7f1; }
.next-activity-label { color:var(--satib-green); font-size:.78rem; font-weight:900; letter-spacing:.08em; }
.deal-summary-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:1rem; }
.deal-summary-card { border:1px solid #e2e8f0; border-radius:16px; background:#f8fafc; padding:1rem; }
.deal-summary-card strong { display:block; margin-top:.3rem; color:var(--satib-black); font-size:1.1rem; line-height:1.4rem; font-weight:900; }
.deal-summary-card span { display:block; margin-top:.35rem; color:#64748b; font-size:.88rem; }
.deal-summary-value strong { font-size:1.6rem; line-height:2rem; }
.lookup-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.lookup-detail-grid span { margin:0; border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:.65rem; overflow-wrap:anywhere; }
.lookup-detail-grid span.wide { grid-column:1 / -1; }
.lookup-detail-grid strong { margin:0 0 .2rem; color:#334155; font-size:.76rem; line-height:1rem; text-transform:uppercase; }
.contact-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-info-card { border:1px solid rgba(217,217,217,.9); border-radius:16px; background:#fff; padding:1rem; box-shadow:0 10px 24px rgba(15,23,42,.04); }
.contact-info-card strong { display:block; margin-top:.3rem; color:var(--satib-black); font-size:1.05rem; line-height:1.35rem; font-weight:900; }
.contact-lines { display:grid; gap:.35rem; margin-top:.65rem; color:#64748b; font-size:.88rem; }
.contact-lines span { display:flex; align-items:flex-start; gap:.45rem; min-width:0; overflow-wrap:anywhere; }
.contact-lines i { margin-top:.08rem; color:var(--satib-green); font-size:1rem; }
.relationship-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #e2e8f0; border-radius:16px; background:#fff; padding:1rem; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.relationship-row > a:first-child { min-width:0; color:#0f172a; }
.relationship-row strong { display:block; overflow-wrap:anywhere; font-weight:900; }
.relationship-row span { display:block; margin-top:.2rem; color:#64748b; font-size:.88rem; overflow-wrap:anywhere; }
.lead-with-contact { display:grid; gap:.55rem; }
.linked-contact-strip { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; padding:.65rem .75rem; }
.linked-contact-strip span { color:#64748b; font-size:.78rem; font-weight:900; text-transform:uppercase; }
.linked-contact-strip a:not(.btn-secondary), .linked-contact-strip strong { color:#0f172a; font-weight:900; overflow-wrap:anywhere; }
.activity-type { display:inline-flex; margin-bottom:.25rem; border-radius:999px; background:#edf7f1; color:var(--satib-green); padding:.15rem .45rem; font-size:.68rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.task-list { display:grid; gap:.55rem; max-height:178px; overflow:auto; padding-right:.2rem; }
.task-row { display:grid; grid-template-columns:auto 1fr; gap:.65rem; align-items:start; border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:.7rem; }
.task-row input { margin-top:.15rem; width:1rem; height:1rem; accent-color:var(--satib-green); }
.task-row strong { margin:0; font-size:.95rem; line-height:1.2rem; }
.task-row p { margin:.18rem 0 0; color:#64748b; font-size:.84rem; line-height:1.15rem; }
.task-row span { margin-top:.25rem; color:#64748b; font-size:.78rem; }
.task-row.completed { opacity:.72; order:2; }
.task-row.completed strong, .task-row.completed p { text-decoration:line-through; }
.empty-task-list { display:grid; min-height:92px; place-items:center; border:1px dashed #cbd5e1; border-radius:12px; background:#fff; color:#64748b; font-weight:700; }
.mini-icon-btn { min-height:34px; width:34px; border-radius:999px; }
.edit-modal { width:min(420px,calc(100vw - 2rem)); border:0; border-radius:18px; padding:0; background:transparent; }
.edit-modal::backdrop { background:rgba(0,0,0,.32); backdrop-filter:blur(3px); }
.edit-modal-card { border:1px solid var(--satib-grey); border-radius:18px; background:#fff; padding:1.1rem; box-shadow:0 24px 70px rgba(0,0,0,.22); }
.pipeline-status-toast { position:fixed; right:1.25rem; bottom:1.25rem; z-index:80; display:flex; min-height:44px; align-items:center; gap:.55rem; transform:translateY(18px); opacity:0; pointer-events:none; border:1px solid var(--satib-grey); border-radius:999px; background:#fff; color:#111; padding:.65rem .9rem; font-weight:900; box-shadow:0 18px 44px rgba(0,0,0,.16); transition:opacity .18s ease, transform .18s ease; }
.pipeline-status-toast.visible { transform:translateY(0); opacity:1; }
.pipeline-status-toast.success { border-color:rgba(0,121,62,.35); background:#edf7f1; color:var(--satib-green); }
.pipeline-status-toast.error { border-color:rgba(228,38,39,.35); background:#fef2f2; color:var(--satib-red); }
.saving-dot { width:.7rem; height:.7rem; border:2px solid rgba(0,121,62,.24); border-top-color:var(--satib-green); border-radius:50%; animation:satib-spin .8s linear infinite; }
.confetti-burst { position:fixed; left:50%; top:24%; z-index:90; pointer-events:none; }
.confetti-burst span { position:absolute; width:9px; height:14px; border-radius:2px; animation:satib-confetti 1s ease-out forwards; }
@keyframes satib-spin { to { transform:rotate(360deg); } }
@keyframes satib-confetti {
  0% { transform:translate(-50%,-50%) scale(.7) rotate(0deg); opacity:1; }
  100% { transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(540deg); opacity:0; }
}
.suggestion-grid { display:flex; flex-wrap:wrap; gap:.6rem; }
.suggestion-chip { display:inline-flex; min-height:42px; align-items:center; gap:.45rem; border:1px solid #dbe3ee; border-radius:999px; background:#fff; padding:.45rem .75rem; color:#334155; font-weight:800; }
.suggestion-chip.selected { border-color:var(--satib-green); background:#edf7f1; color:var(--satib-green); }
.guided-fields { display:none; margin-top:1rem; grid-template-columns:180px 1fr auto; gap:.75rem; align-items:end; }
.guided-fields.visible { display:grid; }
.lead-form { border-radius:18px; }
.sub-panel { border:1px solid rgba(217,217,217,.9); border-radius:16px; background:#fff; padding:1rem; box-shadow:0 10px 28px rgba(15,23,42,.04); }
.mode-toggle { display:inline-flex; border:1px solid var(--satib-grey); border-radius:12px; background:#f8fafc; padding:.2rem; }
.mode-toggle button { min-height:36px; border-radius:9px; padding:.35rem .65rem; color:#64748b; font-size:.84rem; font-weight:900; }
.mode-toggle button.selected { background:var(--satib-green); color:#fff; box-shadow:0 8px 18px rgba(0,121,62,.18); }
.mode-panel[hidden] { display:none; }
.inline-checkboxes { display:flex; flex-wrap:wrap; gap:.5rem; }
.inline-checkboxes label { display:inline-flex; min-height:38px; align-items:center; gap:.4rem; border:1px solid #dbe3ee; border-radius:999px; background:#fff; padding:.35rem .65rem; color:#334155; font-size:.86rem; font-weight:800; }
.inline-checkboxes input { width:1rem; height:1rem; accent-color:var(--satib-green); }
.inline-checkboxes label:has(input:checked) { border-color:var(--satib-green); background:#edf7f1; color:var(--satib-green); }
.checkbox-field { display:inline-flex; min-height:44px; align-items:center; gap:.5rem; border:1px solid #dbe3ee; border-radius:12px; background:#f8fafc; padding:.55rem .75rem; color:#334155; font-weight:800; }
.checkbox-field input { width:1rem; height:1rem; accent-color:var(--satib-green); }
.checkbox-field:has(input:checked) { border-color:var(--satib-green); background:#edf7f1; color:var(--satib-green); }
.task-starter { border:1px solid rgba(0,121,62,.22); border-radius:16px; background:linear-gradient(180deg,#fff,#edf7f1); padding:1rem; }
.task-suggestions { display:flex; flex-wrap:wrap; gap:.5rem; }
.task-suggestions button { min-height:36px; border:1px solid rgba(0,121,62,.24); border-radius:999px; background:#fff; color:#334155; padding:.35rem .65rem; font-size:.82rem; font-weight:900; }
.task-suggestions button.selected { background:var(--satib-green); color:#fff; border-color:var(--satib-green); }
.broker-lock { border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; padding:.7rem .75rem; }
.broker-lock strong, .broker-lock span:last-child { display:block; }
.broker-lock strong { color:var(--satib-black); font-weight:900; }
.broker-lock span:last-child { color:#64748b; font-size:.82rem; }
.eyebrow.green { color:var(--satib-green); }
.lead-stack { display:grid; gap:.9rem; max-height:540px; overflow:auto; padding-right:.25rem; }
.lead-card { display:grid; grid-template-columns:1fr 280px; gap:1rem; align-items:center; border:1px solid #e2e8f0; border-radius:18px; background:#fff; padding:1rem; box-shadow:0 10px 24px rgba(15,23,42,.05); }
.lead-source { display:inline-flex; border-radius:999px; background:#fef2f2; color:var(--satib-red); padding:.2rem .55rem; font-size:.72rem; font-weight:900; text-transform:uppercase; }
.lead-card h3 { margin-top:.35rem; color:var(--satib-black); font-size:1.15rem; font-weight:900; }
.lead-card p { color:#64748b; font-size:.92rem; }
.lead-meta { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.lead-meta span { border-radius:999px; background:#f1f5f9; color:#334155; padding:.25rem .55rem; font-size:.78rem; font-weight:800; }
.assign-form { display:grid; gap:.6rem; }
.routed-lead, .rule-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #e2e8f0; border-radius:16px; background:#fff; padding:.85rem; }
.routed-lead span, .rule-row span { display:block; color:#64748b; font-size:.86rem; }
.routed-actions { display:flex; align-items:center; gap:.5rem; }
.lead-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.lead-detail-item { border:1px solid #e2e8f0; border-radius:14px; background:#f8fafc; padding:.85rem; overflow-wrap:anywhere; }
.lead-detail-item.wide { grid-column:1 / -1; }
.lead-detail-item span { display:block; color:#64748b; font-size:.74rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.lead-detail-item strong { display:block; margin-top:.3rem; color:var(--satib-black); font-size:.98rem; line-height:1.35rem; }
.research-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }
.research-filter-actions { display:flex; flex-wrap:wrap; align-items:end; gap:.75rem; }
.insight-card { border:1px solid rgba(148,163,184,.22); border-radius:20px; background:linear-gradient(160deg,#fff 0%,#fbfbfb 55%,#edf7f1 100%); padding:1.1rem; box-shadow:0 14px 36px rgba(15,23,42,.05); }
.insight-card span { display:block; color:#64748b; font-size:.82rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.insight-card strong { display:block; margin-top:.35rem; color:var(--satib-black); font-size:2rem; line-height:2.25rem; font-style:italic; font-weight:900; }
.insight-card small { display:block; margin-top:.3rem; color:#64748b; font-size:.86rem; }
.research-matrix { display:grid; gap:1rem; }
.matrix-card { border:1px solid #e2e8f0; border-radius:18px; background:linear-gradient(180deg,#fff,#f8fafc); padding:1rem; }
.matrix-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.matrix-head strong { color:var(--satib-black); font-size:1rem; font-weight:900; }
.matrix-head span { color:#64748b; font-size:.82rem; font-weight:800; }
.matrix-bars { display:grid; gap:.65rem; }
.matrix-bar-row { display:grid; grid-template-columns:minmax(0,180px) minmax(0,1fr) 36px; gap:.75rem; align-items:center; }
.matrix-bar-label, .matrix-bar-value { color:#334155; font-size:.84rem; font-weight:800; }
.matrix-bar-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.matrix-bar-track { height:12px; overflow:hidden; border-radius:999px; background:#e2e8f0; }
.matrix-bar-track span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--satib-red),#ef4444,#f59e0b); }
.research-category-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.research-summary-card { border:1px solid #e2e8f0; border-radius:18px; background:#fff; padding:1rem; box-shadow:0 10px 24px rgba(15,23,42,.04); }
.research-summary-card h3 { margin-bottom:.75rem; color:var(--satib-black); font-size:1rem; font-weight:900; }
.empty-state-small { min-height:72px; font-size:.9rem; }
.login-screen { background:linear-gradient(135deg,#ffffff 0%,#f6f6f4 58%,#eeeeeb 100%); }
.login-panel { border:1px solid rgba(217,217,217,.95); border-radius:18px; background:rgba(255,255,255,.96); padding:2rem; box-shadow:0 22px 55px rgba(0,0,0,.10); }
.login-reset-link { color:#4b5563; font-weight:700; }
.login-reset-link:hover { color:var(--satib-red); }
.field:focus { border-color:var(--satib-red); box-shadow:0 0 0 3px rgba(228,38,39,.12); outline:none; }
@media (max-width: 767px) {
  .page-title { font-size:1.5rem; line-height:2rem; }
  .focus-title { font-size:1.55rem; line-height:1.95rem; }
  .btn, .btn-secondary { width:100%; }
  .pipeline-filter-bar { grid-template-columns:1fr; }
  .inline-stats { grid-template-columns:1fr; }
  .row-link { align-items:flex-start; flex-direction:column; }
  .relationship-row, .linked-contact-strip { align-items:flex-start; flex-direction:column; }
  .panel-head { flex-direction:column; }
  .guided-fields { grid-template-columns:1fr; }
  .numbers-grid { grid-template-columns:1fr; }
  .lead-card { grid-template-columns:1fr; }
  .lead-detail-grid { grid-template-columns:1fr; }
  .routed-actions { width:100%; align-items:stretch; flex-direction:column; }
  .deal-summary-grid { grid-template-columns:1fr; }
  .contact-info-grid { grid-template-columns:1fr; }
  .research-filter-actions { flex-direction:column; align-items:stretch; }
  .matrix-bar-row { grid-template-columns:1fr; }
  .matrix-bar-value { text-align:right; }
}
