@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');

:root { --navy:#17212b; --navy-2:#20303d; --ink:#1c2a35; --muted:#7c8992; --muted-2:#a7b1b7; --surface:#fff; --surface-2:#f7f7f4; --surface-3:#f1f2ef; --line:#e7e8e3; --gold:#d4aa2e; --gold-bright:#f2cc52; --gold-pale:#fff8df; --green:#23815c; --green-pale:#eaf7f0; --red:#c8564e; --red-pale:#fff0ef; --orange:#b77a1f; --orange-pale:#fff6e5; --blue:#587eae; --blue-pale:#eff5fb; --violet:#7660a8; --shadow:0 12px 30px rgba(27,38,46,.06); --radius:18px; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--surface-2); color:var(--ink); font-family:'Vazirmatn',Tahoma,'Segoe UI',sans-serif; }
body { direction:rtl; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:flex; direction:rtl; }
.sidebar { width:278px; min-height:100vh; background:var(--navy); color:#fff; display:flex; flex-direction:column; padding:28px 18px 18px; position:fixed; right:0; top:0; bottom:0; z-index:10; }
.brand-lockup { display:flex; align-items:center; gap:11px; padding:0 10px 27px; border-bottom:1px solid rgba(255,255,255,.1); }
.brand-mark-wrap { width:42px; height:42px; border-radius:14px; background:#fff; display:grid; place-items:center; overflow:hidden; flex:0 0 auto; }
.brand-logo { width:38px; height:38px; object-fit:contain; }
.brand-logo-fallback { display:none; width:38px; height:38px; place-items:center; font-weight:800; font-size:24px; color:#fff; background:#14232d; overflow:hidden; }
.brand-logo-fallback img,.report-seal img { display:block; width:100%; height:100%; object-fit:cover; }
.brand-lockup strong { display:block; font-size:16px; letter-spacing:-.4px; }
.brand-lockup div:last-child span { display:block; color:#9ba9b2; font-size:10px; direction:ltr; text-align:right; margin-top:2px; }
.workspace-label { color:#71818c; font-size:10px; font-weight:700; padding:25px 13px 9px; }
.main-nav { display:flex; flex-direction:column; gap:4px; }
.nav-item { width:100%; border:0; background:transparent; color:#a9b5bc; min-height:44px; display:flex; align-items:center; gap:12px; border-radius:12px; padding:0 13px; text-align:right; transition:background .18s,color .18s,transform .18s; }
.nav-item:hover { background:rgba(255,255,255,.075); color:#fff; transform:translateX(-2px); }
.nav-item.active { background:rgba(242,204,82,.13); color:#f5d66e; }
.nav-item.nav-primary { color:#f3d56b; background:linear-gradient(90deg,rgba(212,170,46,.19),rgba(212,170,46,.06)); margin-bottom:12px; }
.nav-item.settings-link { margin-top:8px; }
.nav-icon { width:18px; text-align:center; font-size:18px; line-height:1; color:currentColor; }
.nav-item span:nth-child(2) { flex:1; font-size:12px; font-weight:600; }
.nav-count { font-size:10px; color:#8f9da6; background:rgba(255,255,255,.09); padding:2px 7px; border-radius:99px; direction:ltr; }
.nav-count.danger { color:#ffc0bc; background:rgba(200,86,78,.22); }
.sidebar-spacer { flex:1; }
.environment-card { border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.045); border-radius:14px; padding:13px 13px 12px; margin:18px 0 10px; }
.eyebrow { display:block; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.sidebar .eyebrow { color:#758693; }
.env-row { display:flex; align-items:center; gap:7px; margin-top:7px; font-size:11px; direction:ltr; justify-content:flex-end; }
.env-detail { color:#8797a0; display:block; font-size:10px; margin-top:5px; }
.status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; flex:0 0 auto; }
.status-dot.online { background:#51c994; box-shadow:0 0 0 4px rgba(81,201,148,.12); }
.user-chip { display:flex; align-items:center; gap:9px; border-top:1px solid rgba(255,255,255,.1); margin-top:12px; padding:17px 7px 0; }
.avatar { width:30px; height:30px; border-radius:50%; background:#e8c454; color:#3b2d0a; display:grid; place-items:center; font-weight:800; font-size:12px; flex:0 0 auto; border:0; }
.user-chip strong { display:block; font-size:10px; }
.user-chip small { display:block; color:#83929d; font-size:9px; margin-top:2px; direction:ltr; text-align:right; }
.more { color:#81909a; margin-right:auto; letter-spacing:2px; }
.main-content { width:calc(100% - 278px); margin-right:278px; min-height:100vh; display:flex; flex-direction:column; }
.topbar { height:88px; background:rgba(255,255,255,.88); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 42px; position:sticky; top:0; z-index:5; backdrop-filter:blur(15px); }
.mobile-menu-toggle { display:none; border:1px solid var(--line); background:#fff; color:var(--ink); width:34px; height:34px; border-radius:10px; font-size:16px; }
.breadcrumb { color:#a0abb0; font-size:10px; direction:ltr; display:block; margin-bottom:3px; }
.topbar h1 { font-size:16px; margin:0; letter-spacing:-.45px; }
.topbar-actions { display:flex; align-items:center; gap:18px; direction:ltr; }
.live-status { color:#718078; font-size:10px; display:flex; align-items:center; gap:7px; direction:rtl; }
.icon-button { position:relative; width:34px; height:34px; border:1px solid var(--line); background:#fff; border-radius:10px; color:#71808a; font-size:18px; }
.notification-dot { position:absolute; width:5px; height:5px; background:var(--red); border-radius:50%; top:7px; right:8px; }
.avatar-top { width:34px; height:34px; }
.content-wrap { flex:1; padding:38px 42px 20px; max-width:1600px; width:100%; margin:0 auto; }
.view { display:none; animation:fadeIn .32s ease both; }
.view.active { display:block; }
@keyframes fadeIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.page-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:31px; }
.overview-intro { align-items:center; }
.section-kicker { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; font-weight:700; margin-bottom:9px; }
.gold-line { display:inline-block; width:20px; height:2px; background:var(--gold); border-radius:5px; }
.page-intro h2 { margin:0; font-size:30px; line-height:1.25; letter-spacing:-1.2px; }
.page-intro h2 em { color:var(--gold); font-style:normal; }
.page-intro p { color:var(--muted); font-size:12px; margin:9px 0 0; }
.compact-intro { align-items:center; }
.compact-intro h2 { font-size:25px; }
.primary-button,.secondary-button,.ghost-button { border-radius:11px; min-height:42px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid transparent; font-size:11px; font-weight:700; transition:transform .18s,box-shadow .18s,background .18s; }
.primary-button { background:var(--navy); color:#fff; box-shadow:0 8px 18px rgba(23,33,43,.12); }
.primary-button:hover { transform:translateY(-2px); box-shadow:0 12px 22px rgba(23,33,43,.16); }
.primary-button span { color:var(--gold-bright); font-size:17px; line-height:0; }
.secondary-button { color:var(--ink); border-color:var(--line); background:#fff; }
.secondary-button:hover { border-color:#d8c47a; background:var(--gold-pale); }
.ghost-button { color:var(--muted); background:transparent; }
.ghost-button:hover { color:var(--ink); background:var(--surface-3); }
.full { width:100%; }
.text-button { border:0; background:transparent; color:#8d7a39; font-size:10px; font-weight:700; padding:3px 0; }
.text-button:hover { color:var(--ink); }
.metric-strip { background:#fff; border:1px solid var(--line); border-radius:var(--radius); display:grid; grid-template-columns:repeat(4,1fr); padding:24px 28px; margin-bottom:24px; box-shadow:var(--shadow); }
.metric-block { padding:0 25px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.metric-block:first-child { padding-right:0; }
.metric-block:last-child { border-left:0; }
.metric-label { color:var(--muted); font-size:10px; font-weight:600; }
.metric-value { font-size:29px; letter-spacing:-1px; color:var(--ink); line-height:1.15; }
.metric-unit { font-size:13px; color:#8c979d; font-weight:500; margin-right:2px; }
.metric-trend { font-size:9px; font-weight:700; }
.positive { color:var(--green); }.neutral { color:var(--muted); }.warning { color:var(--orange); }.danger-text { color:var(--red)!important; }.success-text { color:var(--green)!important; }.warning-text { color:var(--orange)!important; }.muted-text { color:#9aa4a8!important; }
.dashboard-grid { display:grid; grid-template-columns:1.45fr 1fr; gap:24px; }
.lower-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:24px; margin-top:24px; }
.section-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.health-panel,.run-panel,.activity-panel { padding:24px; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:21px; }
.panel-heading h3,.section-panel h3 { margin:4px 0 0; font-size:15px; letter-spacing:-.4px; }
.health-chart { display:flex; height:220px; margin-top:5px; }
.chart-y-labels { width:29px; display:flex; flex-direction:column; justify-content:space-between; color:#adb5b8; font-size:9px; padding:3px 0 24px; }
.chart-area { position:relative; flex:1; margin-right:8px; }
.chart-gridline { position:absolute; right:0; left:0; height:1px; background:#eef0ed; }
.g1{top:0}.g2{top:25%}.g3{top:50%}.g4{top:75%}
.line-chart { width:100%; height:calc(100% - 24px); position:relative; z-index:1; overflow:visible; }
.chart-x-labels { display:flex; justify-content:space-between; color:#a4afb2; font-size:9px; margin-top:6px; }
.chart-footnote { border-top:1px solid var(--line); padding-top:13px; color:#8c989c; font-size:9px; display:flex; gap:7px; align-items:center; }
.legend-dot { width:7px; height:7px; border-radius:50%; background:var(--gold); }
.muted { color:#c1c8ca; }
.status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:99px; font-size:9px; font-weight:800; padding:5px 10px; white-space:nowrap; }
.status-badge.success { background:var(--green-pale); color:var(--green); }.status-badge.warning { background:var(--orange-pale); color:var(--orange); }.status-badge.danger { background:var(--red-pale); color:var(--red); }.status-badge.running { background:var(--blue-pale); color:var(--blue); }.status-badge.progress { background:#f0eefb; color:var(--violet); }.status-badge.open { background:var(--orange-pale); color:var(--orange); }.status-badge.done { background:var(--green-pale); color:var(--green); }
.run-summary { display:flex; align-items:center; gap:17px; padding:15px 0 22px; border-bottom:1px solid var(--line); }
.run-score { color:var(--gold); font-size:39px; font-weight:800; letter-spacing:-2px; line-height:1; direction:ltr; }.run-score span { color:#aab2b4; font-size:14px; letter-spacing:0; font-weight:500; }
.run-summary strong { display:block; font-size:11px; }.run-summary p { color:var(--muted); font-size:9px; margin:5px 0 0; }
.progress-row { display:grid; grid-template-columns:1fr 35px; gap:7px; padding:17px 0; color:var(--muted); font-size:9px; align-items:center; }.progress-row strong { color:var(--ink); text-align:left; font-size:10px; }.progress-track { background:#eef0eb; height:7px; border-radius:99px; overflow:hidden; grid-column:1 / -1; }.progress-track i { display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); border-radius:inherit; transition:width .5s; }
.mini-results { display:flex; justify-content:space-between; margin:0 0 21px; }.mini-results div { display:flex; flex-direction:column; gap:3px; }.result-number { font-size:19px; }.mini-results span { color:var(--muted); font-size:9px; }.run-panel .secondary-button { min-height:37px; font-size:10px; }
.activity-count { color:var(--muted); font-size:9px; }
.attention-list { display:flex; flex-direction:column; }.attention-row { display:grid; grid-template-columns:8px 1fr auto; gap:11px; align-items:center; padding:14px 0; border-top:1px solid var(--line); }.severity-mark { width:7px; height:32px; border-radius:99px; display:inline-block; }.severity-mark.critical,.severity-mark.high { background:var(--red); }.severity-mark.medium { background:var(--orange); }.severity-mark.low { background:#a9b4b7; }.attention-row strong { display:block; font-size:10px; }.attention-row span:not(.severity-mark):not(.priority-tag) { display:block; color:var(--muted); font-size:9px; margin-top:4px; }
.priority-tag { border-radius:5px; padding:4px 7px; font-size:8px; font-weight:800; }.critical-tag,.high-tag { color:var(--red); background:var(--red-pale); }.low-tag { color:var(--orange); background:var(--orange-pale); }
.timeline { display:flex; flex-direction:column; gap:18px; }.timeline-item { display:flex; align-items:flex-start; gap:11px; position:relative; }.timeline-item:not(:last-child)::after { content:""; position:absolute; right:3px; top:16px; bottom:-18px; width:1px; background:var(--line); }.timeline-dot { width:7px; height:7px; border-radius:50%; margin-top:5px; z-index:1; box-shadow:0 0 0 4px #fff; }.timeline-dot.green { background:#51bb86; }.timeline-dot.gold { background:var(--gold); }.timeline-dot.blue { background:#83a4cd; }.timeline-item strong { display:block; font-size:10px; }.timeline-item span:not(.timeline-dot) { color:var(--muted); font-size:9px; display:block; margin-top:4px; }
.policy-chip { display:inline-flex; align-items:center; gap:7px; color:var(--green); background:var(--green-pale); border-radius:99px; padding:8px 11px; font-size:10px; font-weight:700; }
.run-policy-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.run-layout { display:grid; grid-template-columns:1.5fr .65fr; gap:24px; align-items:start; }.run-config-panel { padding:28px; }.step-header { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:25px; }.step-header h3 { margin-top:4px; }.step-number { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--navy); font-size:11px; font-weight:800; }.step-number.active { background:var(--gold); color:var(--navy); }.field-label { display:block; color:var(--ink); font-size:10px; font-weight:800; margin:0 0 8px; }.field-label span { color:var(--red); }.phone-input-wrap { display:flex; direction:ltr; align-items:center; background:#fbfcfa; border:1px solid #dfe3de; border-radius:11px; height:46px; overflow:hidden; }.phone-input-wrap:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,170,46,.12); }.country-code { padding:0 12px; color:var(--muted); font-size:11px; border-right:1px solid var(--line); height:100%; display:flex; align-items:center; }.phone-input-wrap input { border:0; outline:0; flex:1; background:transparent; padding:0 12px; color:var(--ink); direction:ltr; text-align:left; font-size:13px; }.field-state { color:var(--green); background:var(--green-pale); margin-left:8px; padding:4px 7px; border-radius:5px; font-size:8px; }.field-help { color:var(--muted); font-size:9px; margin:7px 0 21px; }.environment-options { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:22px; }.radio-option,.pack-option { border:1px solid var(--line); border-radius:11px; cursor:pointer; transition:all .18s; }.radio-option { padding:13px 12px; display:flex; gap:8px; align-items:flex-start; }.radio-option input,.pack-option input { display:none; }.radio-option.selected,.radio-option:has(input:checked) { border-color:#d9ba4c; background:var(--gold-pale); }.radio-mark { width:14px; height:14px; border:1px solid #bbc3c2; border-radius:50%; margin-top:2px; flex:0 0 auto; position:relative; }.radio-option:has(input:checked) .radio-mark { border-color:var(--gold); }.radio-option:has(input:checked) .radio-mark::after { content:""; width:6px; height:6px; background:var(--gold); border-radius:50%; position:absolute; inset:3px; }.radio-option strong,.pack-option strong { display:block; font-size:10px; }.radio-option small,.pack-option small { display:block; color:var(--muted); font-size:8px; margin-top:4px; line-height:1.5; }.form-divider { height:1px; background:var(--line); margin:22px 0; }.field-header { display:flex; justify-content:space-between; align-items:center; }.pack-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }.pack-option { display:flex; align-items:flex-start; gap:8px; padding:11px 12px; }.pack-option:has(input:checked) { border-color:#d9ba4c; background:#fffdf4; }.pack-check { display:grid; place-items:center; width:16px; height:16px; border-radius:5px; color:transparent; background:#eff1ee; font-size:10px; flex:0 0 auto; }.pack-option:has(input:checked) .pack-check { color:var(--navy); background:var(--gold); }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:end; }.field-row select,.setting-row select { width:100%; background:#fbfcfa; border:1px solid #dfe3de; border-radius:10px; height:42px; padding:0 11px; color:var(--ink); font-size:10px; outline:0; }.toggle-row { display:flex; align-items:center; gap:8px; color:var(--ink); font-size:10px; cursor:pointer; }.toggle-row input { display:none; }.toggle { width:30px; height:17px; background:#dce1df; border-radius:99px; position:relative; transition:background .18s; }.toggle::after { content:""; width:13px; height:13px; background:#fff; border-radius:50%; position:absolute; top:2px; right:2px; transition:transform .18s; box-shadow:0 1px 3px #aaa; }.toggle-row:has(input:checked) .toggle { background:var(--gold); }.toggle-row:has(input:checked) .toggle::after { transform:translateX(-13px); }.policy-note { display:flex; align-items:flex-start; gap:10px; background:var(--gold-pale); border:1px solid #f0dda1; border-radius:12px; padding:12px; margin:23px 0 20px; }.lock-icon { color:#b98714; font-size:18px; line-height:1; }.policy-note strong { display:block; color:#7c5e13; font-size:10px; }.policy-note p { color:#9a7d35; font-size:9px; margin:4px 0 0; line-height:1.65; }.submit-run { min-height:47px; }.run-side-panel { padding:24px; position:sticky; top:111px; }.contract-line { display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }.contract-line strong { color:var(--ink); font-size:10px; direction:ltr; }.side-divider { height:24px; }.output-list { display:flex; flex-direction:column; gap:12px; padding:14px 0 19px; }.output-list span { color:#617078; font-size:10px; display:flex; align-items:center; gap:8px; }.output-icon { width:23px; height:23px; border-radius:7px; display:grid; place-items:center; color:var(--gold); background:var(--gold-pale); font-style:normal; font-size:10px; direction:ltr; }.side-help { display:flex; gap:9px; align-items:flex-start; background:var(--surface-3); border-radius:11px; padding:12px; }.side-help > span { width:18px; height:18px; display:grid; place-items:center; background:#dce4e6; color:#66747b; border-radius:50%; font-size:10px; }.side-help p { color:var(--muted); font-size:9px; line-height:1.7; margin:0; }.hidden { display:none!important; }.otp-gate { text-align:center; max-width:420px; margin:15px auto 10px; }.otp-orbit { width:58px; height:58px; border-radius:50%; background:var(--gold-pale); border:1px solid #efd991; color:var(--gold); display:grid; place-items:center; margin:0 auto 18px; font-size:24px; animation:float 2.5s ease-in-out infinite; }.otp-gate h3 { font-size:21px; margin:7px 0; }.otp-gate > p { color:var(--muted); font-size:10px; line-height:1.8; margin:0 auto 21px; }.otp-gate > p strong { color:var(--ink); direction:ltr; display:inline-block; }.otp-input { width:100%; height:54px; border:1px solid #dfe3de; border-radius:12px; background:#fbfcfa; text-align:center; letter-spacing:10px; font-size:22px; color:var(--ink); outline:0; direction:ltr; }.otp-input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,170,46,.12); }.otp-meta { display:flex; justify-content:space-between; align-items:center; padding:10px 0 17px; font-size:10px; color:var(--muted); }.demo-note { color:#a7afb0; font-size:8px; display:block; margin-top:13px; }.otp-gate .ghost-button { margin-top:7px; }.run-progress { max-width:650px; margin:8px auto; }.run-progress-top { display:flex; justify-content:space-between; align-items:start; margin-bottom:26px; }.run-progress-top h3 { font-size:21px; margin-top:7px; }.big-progress { display:flex; align-items:center; gap:13px; margin-bottom:21px; }.big-progress .progress-track { flex:1; height:10px; }.big-progress strong { font-size:15px; color:var(--gold); min-width:33px; }.current-test { display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:12px; padding:14px; background:#fbfcfa; }.current-icon { width:31px; height:31px; display:grid; place-items:center; color:var(--gold); background:var(--gold-pale); border-radius:10px; animation:spin 1.5s linear infinite; }.current-test strong { display:block; font-size:10px; }.current-test span:not(.current-icon) { display:block; color:var(--muted); font-size:9px; margin-top:4px; }.current-eta { color:var(--muted); margin-right:auto; }.run-checklist { display:flex; flex-direction:column; gap:0; margin:21px 0; }.run-check { display:grid; grid-template-columns:22px 1fr auto; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding:12px 0; }.check-icon { width:19px; height:19px; border-radius:50%; display:grid; place-items:center; font-size:10px; background:var(--surface-3); color:#9aa5a7; }.run-check.done .check-icon { color:#fff; background:var(--green); }.run-check.live .check-icon { color:var(--navy); background:var(--gold); animation:pulse 1s infinite; }.run-check strong { font-size:10px; }.run-check small { display:block; color:var(--muted); font-size:8px; margin-top:3px; }.run-check-status { color:var(--muted); font-size:9px; }.blocked-note { display:flex; align-items:center; justify-content:center; gap:8px; color:#9d7c28; background:var(--gold-pale); border-radius:9px; padding:9px; font-size:9px; }.blocked-note span:first-child { font-size:16px; }.pulse-dot { width:6px; height:6px; border-radius:50%; background:currentColor; animation:pulse 1.2s infinite; }@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.library-toolbar,.findings-toolbar { display:flex; justify-content:space-between; gap:15px; margin-bottom:22px; }.search-input { display:flex; align-items:center; gap:8px; width:290px; height:40px; padding:0 12px; background:#fff; border:1px solid var(--line); border-radius:10px; color:#a7b0b2; }.search-input input { border:0; background:transparent; outline:0; width:100%; font-size:10px; color:var(--ink); }.filter-group { display:flex; gap:6px; flex-wrap:wrap; }.filter-button { border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--muted); min-height:34px; padding:0 11px; font-size:9px; }.filter-button.active,.filter-button:hover { border-color:#dfc768; color:#8c7124; background:var(--gold-pale); }.library-list { display:flex; flex-direction:column; gap:18px; }.library-group { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }.group-heading { display:flex; align-items:center; gap:11px; padding:20px 23px; }.group-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; font-size:17px; }.group-icon.engineering { color:var(--gold); background:var(--gold-pale); }.group-icon.data { color:var(--blue); background:var(--blue-pale); }.group-heading h3 { margin:0; font-size:13px; }.group-heading span:not(.group-icon):not(.group-score) { display:block; color:var(--muted); font-size:9px; margin-top:3px; }.group-score { margin-right:auto; font-size:10px; font-weight:800; }.test-table,.jira-table,.history-table { overflow:auto; }.test-row,.jira-row,.history-row { min-width:730px; display:grid; grid-template-columns:2fr 1.1fr .8fr 1fr 24px; gap:18px; align-items:center; border-top:1px solid var(--line); padding:15px 23px; font-size:10px; color:#65727a; }.test-row.header,.jira-row.header,.history-row.header { background:#fbfbf8; color:#a1abad; font-size:9px; font-weight:700; padding-top:11px; padding-bottom:11px; }.test-row strong,.jira-row strong,.history-row strong { display:block; color:var(--ink); font-size:10px; }.test-row small,.jira-row small,.history-row small { display:block; color:var(--muted); font-size:8px; margin-top:4px; }.row-action { border:0; background:transparent; color:#9da8aa; font-size:17px; }.findings-summary { display:flex; gap:15px; color:var(--muted); font-size:10px; }.findings-summary i { display:inline-block; width:7px; height:7px; border-radius:50%; margin-left:4px; }.critical-dot { background:var(--red); }.medium-dot { background:var(--orange); }.low-dot { background:#a9b4b7; }.findings-list { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }.finding-row { display:grid; grid-template-columns:8px 1fr auto; gap:16px; align-items:center; padding:19px 24px; border-bottom:1px solid var(--line); }.finding-row:last-child { border-bottom:0; }.finding-main > div { display:flex; align-items:center; gap:9px; }.finding-main strong { font-size:11px; }.finding-main p { font-size:9px; color:var(--muted); margin:7px 0 9px; }.finding-meta { display:flex; gap:13px; color:#a1abad; font-size:8px; }.finding-owner { color:#8e9ca2; font-size:9px; }.finding-owner span { color:var(--gold); font-size:14px; }.report-hero { background:var(--navy); border-radius:var(--radius); padding:27px 30px; color:#fff; display:flex; justify-content:space-between; align-items:center; margin-bottom:23px; overflow:hidden; position:relative; }.report-hero::after { content:""; width:260px; height:260px; border:1px solid rgba(242,204,82,.17); border-radius:50%; position:absolute; left:-50px; top:-110px; box-shadow:0 0 0 25px rgba(242,204,82,.035),0 0 0 50px rgba(242,204,82,.025); }.report-brand { display:flex; align-items:center; gap:13px; position:relative; z-index:1; }.report-seal { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:var(--gold); color:var(--navy); font-weight:800; font-size:24px; }.report-brand .eyebrow { color:#9cabb3; }.report-brand h3 { margin:4px 0; font-size:17px; }.report-brand span:last-child { color:#9cabb3; font-size:9px; }.report-score { text-align:left; position:relative; z-index:1; }.report-score span,.report-score small { display:block; color:#aab7bc; font-size:9px; }.report-score strong { display:inline-block; color:var(--gold-bright); font-size:42px; line-height:1; margin:4px 0; }.report-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:23px; margin-bottom:23px; }.report-section { padding:24px; }.report-section p { color:#6f7c82; font-size:10px; line-height:2; margin:0; }.report-highlights { display:flex; gap:38px; border-top:1px solid var(--line); margin-top:21px; padding-top:17px; }.report-highlights strong { display:block; font-size:22px; }.report-highlights span { color:var(--muted); font-size:9px; }.action-list { padding:0; margin:0; list-style:none; display:flex; flex-direction:column; gap:15px; }.action-list li { display:flex; align-items:center; gap:10px; }.action-list li > span { width:25px; height:25px; display:grid; place-items:center; background:var(--gold-pale); color:#9e7c20; border-radius:8px; font-size:9px; }.action-list strong { display:block; font-size:10px; }.action-list small { display:block; color:var(--muted); margin-top:3px; font-size:8px; }.team-health { padding:24px; }.team-row { display:grid; grid-template-columns:145px 1fr 36px 55px; gap:13px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }.team-row:last-child { border-bottom:0; }.team-name { font-size:10px; display:flex; gap:7px; align-items:center; }.team-dot { width:7px; height:7px; border-radius:50%; }.team-dot.gold { background:var(--gold); }.team-dot.blue { background:var(--blue); }.team-dot.violet { background:var(--violet); }.team-dot.green { background:var(--green); }.team-bar { height:6px; background:#eef0ec; border-radius:99px; overflow:hidden; }.team-bar i { display:block; height:100%; background:var(--green); border-radius:inherit; }.team-bar i.warning-fill { background:var(--orange); }.team-row > strong { font-size:9px; color:var(--muted); }.jira-connection { background:#fff; border:1px solid var(--line); border-radius:15px; padding:16px 20px; display:flex; align-items:center; gap:11px; margin-bottom:22px; }.connection-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#587eae; background:var(--blue-pale); }.jira-connection strong { display:block; font-size:10px; }.jira-connection span:not(.connection-icon):not(.status-badge) { display:block; font-size:8px; color:var(--muted); margin-top:3px; }.jira-connection .status-badge { margin-right:auto; }.jira-connection .text-button { margin-right:7px; }.jira-table { padding-bottom:0; }.table-title { padding:21px 24px; display:flex; justify-content:space-between; align-items:center; }.table-title h3 { margin:0; }.jira-row { grid-template-columns:78px 2fr 80px 105px 100px; }.jira-key,.run-id { color:#8d7022; font-family:ui-monospace,monospace; font-size:10px; direction:ltr; text-align:right; }.history-table { padding-bottom:0; }.history-row { grid-template-columns:90px 2fr 1.1fr 1.2fr 90px 55px; }.settings-layout { display:grid; grid-template-columns:190px 1fr; gap:23px; align-items:start; }.settings-nav { display:flex; flex-direction:column; gap:4px; }.settings-tab { border:0; background:transparent; text-align:right; border-radius:10px; padding:11px 13px; color:var(--muted); font-size:10px; }.settings-tab.active,.settings-tab:hover { color:#8b7025; background:var(--gold-pale); font-weight:700; }.settings-content { padding:26px; }.settings-heading { display:flex; justify-content:space-between; align-items:center; padding-bottom:17px; border-bottom:1px solid var(--line); }.settings-heading.separated { margin-top:26px; padding-top:26px; }.brand-preview { display:flex; align-items:center; gap:7px; direction:ltr; color:var(--ink); font-size:11px; font-weight:700; }.brand-logo-fallback.small { display:grid; width:28px; height:28px; border-radius:9px; font-size:16px; }.setting-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }.setting-row strong { display:block; font-size:10px; }.setting-row p { color:var(--muted); font-size:9px; margin:4px 0 0; }.setting-row select { width:200px; }.policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0 23px; }.policy-grid > div { background:var(--gold-pale); border:1px solid #f0dda1; border-radius:12px; padding:14px; }.policy-grid strong { font-size:10px; display:block; margin-top:8px; }.policy-grid p { color:#9a7d35; font-size:9px; line-height:1.7; margin:4px 0 0; }.app-footer { display:flex; justify-content:space-between; align-items:center; padding:14px 42px 20px; color:#a4afb2; font-size:9px; direction:ltr; }.app-footer span:nth-child(2) { direction:ltr; }.app-footer span:last-child { direction:rtl; }
.toast { position:fixed; bottom:25px; left:35px; background:var(--navy); color:#fff; padding:12px 15px; border-radius:11px; display:flex; align-items:center; gap:9px; font-size:10px; box-shadow:0 10px 30px rgba(23,33,43,.2); opacity:0; transform:translateY(12px); pointer-events:none; transition:all .25s; z-index:50; }.toast.show { opacity:1; transform:none; }.toast-icon { width:20px; height:20px; display:grid; place-items:center; color:var(--navy); background:var(--gold); border-radius:50%; font-weight:800; }
@media (max-width:1100px){.sidebar{width:228px}.main-content{width:calc(100% - 228px);margin-right:228px}.content-wrap{padding:30px 27px}.topbar{padding:0 27px}.dashboard-grid,.lower-grid,.report-grid{grid-template-columns:1fr}.run-layout{grid-template-columns:1fr}.run-side-panel{position:static}.metric-strip{padding:20px 15px}.metric-block{padding:0 14px}.environment-options{grid-template-columns:1fr}.app-footer{padding:14px 27px 20px}}
@media (max-width:760px){.sidebar{position:static;width:100%;min-height:auto;padding:15px;display:block}.app-shell{display:block}.brand-lockup{border:0;padding:0 3px 14px}.workspace-label,.main-nav,.sidebar-spacer,.environment-card,.settings-link,.user-chip{display:none}.main-content{width:100%;margin:0}.topbar{height:68px;padding:0 16px}.topbar h1{font-size:14px}.live-status{display:none}.content-wrap{padding:24px 15px}.page-intro,.compact-intro{align-items:flex-start;flex-direction:column;gap:17px}.page-intro h2{font-size:24px}.page-intro .primary-button{width:100%}.metric-strip{grid-template-columns:repeat(2,1fr);gap:18px;padding:18px 16px}.metric-block{border:0;padding:0!important}.metric-value{font-size:24px}.dashboard-grid,.lower-grid{gap:15px}.health-panel,.run-panel,.activity-panel,.run-config-panel,.run-side-panel,.report-section,.team-health,.settings-content{padding:18px}.health-chart{height:190px}.panel-heading h3{font-size:13px}.pack-grid,.field-row,.policy-grid{grid-template-columns:1fr}.library-toolbar,.findings-toolbar{flex-direction:column}.search-input{width:100%}.findings-summary{flex-wrap:wrap}.finding-row{grid-template-columns:7px 1fr;gap:10px;padding:16px}.finding-owner{display:none}.report-hero{padding:21px 18px}.report-brand h3{font-size:14px}.report-score strong{font-size:34px}.team-row{grid-template-columns:110px 1fr 31px 50px;gap:7px}.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow:auto}.settings-tab{white-space:nowrap}.setting-row{align-items:flex-start;flex-direction:column;gap:10px}.setting-row select{width:100%}.app-footer{padding:14px 15px;flex-direction:column;gap:7px;align-items:flex-start}.app-footer span:nth-child(2){display:none}.otp-gate,.run-progress{padding:10px}.topbar-actions{gap:9px}}

/* Quality operations are intentionally calm and dense: the page is for
   deciding what ships, not for decorating a dashboard. */
.qa-metric-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:23px; box-shadow:var(--shadow); }
.qa-metric-strip > div { background:#fff; padding:18px 21px; }.qa-metric-strip span { display:block; color:var(--muted); font-size:9px; margin-bottom:8px; }.qa-metric-strip strong { font-size:20px; color:var(--ink); }.qa-metric-strip strong.success { color:var(--green); }.qa-metric-strip strong.danger { color:var(--red); }.qa-metric-strip strong.warning { color:#a47711; }
.qa-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:23px; margin-bottom:23px; }.qa-bottom-grid { grid-template-columns:1.1fr .9fr; }.qa-cases-panel,.qa-suite-panel,.qa-release-panel,.qa-integration-panel { min-width:0; padding-bottom:0; }.qa-form { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:9px; padding:0 24px 17px; }.qa-form input,.qa-form select { min-width:0; height:39px; }.qa-form-wide { grid-column:span 3; }.qa-form-stacked { grid-template-columns:1fr; padding-bottom:17px; }.qa-form-stacked button { width:100%; }.qa-form .secondary-button { min-height:39px; white-space:nowrap; }.qa-list { border-top:1px solid var(--line); }.qa-list-row,.qa-release-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:15px 24px; border-bottom:1px solid var(--line); }.qa-list-row:last-child,.qa-release-row:last-child { border-bottom:0; }.qa-list-row strong,.qa-release-row strong { display:block; color:var(--ink); font-size:10px; }.qa-list-row span,.qa-release-row span { display:block; color:var(--muted); font-size:8px; margin-top:5px; }.qa-count-badge { color:#806523!important; background:var(--gold-pale); border:1px solid #ecd98e; border-radius:999px; padding:5px 9px; white-space:nowrap; }.qa-release-row { grid-template-columns:minmax(0,1fr) auto auto; }.qa-release-row .secondary-button { min-height:32px; padding:0 10px; font-size:9px; }.integration-list { padding:0 24px; }.integration-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); }.integration-row:last-child { border-bottom:0; }.integration-row strong { display:block; color:var(--ink); font-size:10px; }.integration-row span:not(.status-badge) { display:block; color:var(--muted); font-size:8px; margin-top:5px; }.qa-integration-note { margin:0 24px 22px; padding:12px 14px; border:1px solid #e6dfc6; background:#fffaf0; color:#8a7746; border-radius:10px; font-size:9px; line-height:1.8; }.finding-collaboration { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; padding-top:11px; border-top:1px dashed var(--line); }.finding-collaboration select,.finding-collaboration input { min-height:32px; border:1px solid var(--line); border-radius:8px; background:#fff; padding:0 8px; color:var(--ink); font:inherit; font-size:9px; }.finding-collaboration input[data-finding-collaboration="comment"] { flex:1 1 190px; }.finding-collaboration .secondary-button { min-height:32px; padding:0 10px; font-size:9px; }.finding-row-expanded { align-items:start; }.finding-row-expanded > .row-action { align-self:center; white-space:nowrap; }
@media (max-width:900px){.qa-grid,.qa-bottom-grid{grid-template-columns:1fr}.qa-form{grid-template-columns:1fr 1fr}.qa-form-wide{grid-column:span 2}.qa-release-row{grid-template-columns:1fr auto}.qa-release-row .qa-gate-button{grid-column:1 / -1; width:100%}}
@media (max-width:760px){.qa-metric-strip{grid-template-columns:repeat(2,1fr)}.qa-form{grid-template-columns:1fr;padding-inline:18px}.qa-form-wide{grid-column:auto}.qa-list-row{grid-template-columns:1fr auto}.qa-list-row .status-badge{grid-column:1 / -1; justify-self:start}.integration-list{padding-inline:18px}.qa-integration-note{margin-inline:18px}.finding-collaboration{flex-direction:column}.finding-collaboration input,.finding-collaboration select,.finding-collaboration button{width:100%}.finding-row-expanded > .row-action{grid-column:2; justify-self:start}}
.sidebar.mobile-open .workspace-label { display:block; }
.sidebar.mobile-open .main-nav { display:flex; }
.sidebar.mobile-open .environment-card { display:block; }
.sidebar.mobile-open .settings-link { display:flex; }
.sidebar.mobile-open .user-chip { display:flex; }
@media (max-width:760px){.mobile-menu-toggle{display:grid;place-items:center}}

/* Testic · competitor intelligence */
.competitor-intro { margin-bottom:18px; }
.competitor-actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.competitor-phone-control { display:flex; align-items:center; gap:7px; height:40px; padding:0 10px; background:#fff; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:8px; }
.competitor-phone-control input { width:94px; border:0; outline:0; background:transparent; direction:ltr; text-align:left; color:var(--ink); font-size:10px; }
.competitor-scope-note { display:flex; align-items:flex-start; gap:12px; padding:14px 17px; border:1px solid #efdda4; border-radius:13px; background:linear-gradient(90deg,#fffdf5,#fff); margin-bottom:18px; }
.competitor-scope-note .lock-icon { flex:0 0 auto; margin-top:1px; }
.competitor-scope-note strong { display:block; font-size:10px; color:#795e18; }
.competitor-scope-note p { margin:4px 0 0; color:#9a7d35; font-size:9px; line-height:1.75; }
.competitor-scope-note .status-badge { margin-right:auto; white-space:nowrap; }
.competitor-metrics-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius); margin-bottom:18px; box-shadow:var(--shadow); }
.competitor-metrics-strip > div { padding:17px 20px; border-left:1px solid var(--line); }
.competitor-metrics-strip > div:last-child { border-left:0; }
.competitor-metrics-strip span { display:block; color:var(--muted); font-size:9px; margin-bottom:6px; }
.competitor-metrics-strip strong { display:block; color:var(--ink); font-size:16px; }
.competitor-tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:17px; overflow:auto; }
.competitor-tab { border:0; background:transparent; color:var(--muted); padding:11px 14px 13px; font-size:10px; white-space:nowrap; border-bottom:2px solid transparent; }
.competitor-tab:hover,.competitor-tab.active { color:#8d6f1e; border-bottom-color:var(--gold); }
.competitor-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.competitor-table-wrap { overflow:auto; }
.competitor-table { width:100%; min-width:940px; border-collapse:collapse; font-size:10px; }
.competitor-table th { background:#fbfbf8; color:#8f9b9e; font-size:9px; font-weight:700; text-align:right; white-space:nowrap; padding:12px 16px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.competitor-table td { color:#637178; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:middle; white-space:nowrap; }
.competitor-table tbody tr:last-child td { border-bottom:0; }
.competitor-table td strong { display:block; color:var(--ink); font-size:10px; }
.competitor-table td small { display:block; color:#a2abad; font-size:8px; margin-top:4px; max-width:180px; overflow:hidden; text-overflow:ellipsis; }
.competitor-table td:first-child { min-width:145px; }
.competitor-table .status-badge { font-size:8px; }
.competitor-footnote { color:#9aa4a6; font-size:8px; line-height:1.8; padding:13px 17px; background:#fbfcfa; border-top:1px solid var(--line); }
.empty-competitor { text-align:center; color:var(--muted); padding:34px!important; }
.feature-status { display:inline-flex; align-items:center; gap:5px; font-size:8px; border-radius:99px; padding:4px 7px; }
.feature-status i { display:block; width:5px; height:5px; border-radius:50%; background:currentColor; }
.feature-status.detected { color:#28856c; background:#e8f5ef; }
.feature-status.not-found { color:#9ca5a7; background:#f0f2f0; }
.feature-status.unknown { color:#9a7d35; background:#fff5cf; }
.feature-table td { white-space:normal; min-width:120px; }
.feature-table td:first-child { min-width:170px; white-space:nowrap; }
.feature-insight { color:#8d6f1e; font-size:8px; line-height:1.6; }
.opportunity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; padding:15px 17px 18px; border-top:1px solid var(--line); }
.opportunity-card { padding:14px; background:#fffdf4; border:1px solid #f0dda1; border-radius:11px; }
.opportunity-card strong { display:block; color:#7d6119; font-size:10px; margin:7px 0 4px; }
.opportunity-card p { margin:0; color:#9a7d35; font-size:8px; line-height:1.8; }
.change-list { padding:9px 22px 17px; }
.change-item { display:flex; gap:11px; align-items:flex-start; padding:15px 0; border-bottom:1px solid var(--line); }
.change-item:last-child { border-bottom:0; }
.change-icon { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:var(--gold-pale); color:#a27b19; }
.change-item strong { display:block; font-size:10px; }
.change-item p { color:var(--muted); font-size:9px; line-height:1.7; margin:4px 0 0; }
.source-list { padding:3px 21px 0; }
.source-item { display:flex; align-items:center; gap:10px; padding:14px 0; border-bottom:1px solid var(--line); }
.source-item:last-child { border-bottom:0; }
.source-avatar { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:var(--navy); color:var(--gold-bright); font-weight:800; }
.source-item > div { min-width:0; flex:1; }
.source-item strong { display:block; color:var(--ink); font-size:10px; }
.source-item small { display:block; color:var(--muted); font-size:8px; direction:ltr; text-align:right; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-item .status-badge { white-space:nowrap; }
.source-check { display:flex; align-items:center; gap:5px; color:#8b7025; font-size:8px; white-space:nowrap; cursor:pointer; }
.source-check input { accent-color:var(--gold); }
.source-remove { border:0; background:transparent; color:#b2bbbc; font-size:18px; line-height:1; cursor:pointer; }
.source-remove:hover { color:var(--red); }
.competitor-run-progress { margin-top:18px; padding:23px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.competitor-run-progress .run-progress-top { margin-bottom:20px; }
.competitor-run-progress h3 { margin:6px 0 0; font-size:16px; }
.competitor-otp { margin:18px auto 0; padding:26px 30px; max-width:500px; text-align:center; background:#fff; border:1px solid #edda9a; border-radius:var(--radius); box-shadow:var(--shadow); }
.competitor-otp h3 { font-size:18px; margin:7px 0; }
.competitor-otp h3 span { color:#9b7b20; }
.otp-queue { display:inline-block; color:#9b7b20; background:var(--gold-pale); border-radius:99px; padding:5px 9px; margin-top:11px; font-size:8px; }
.competitor-otp > p { color:var(--muted); font-size:9px; line-height:1.8; margin:0 auto 17px; }
.competitor-otp > p strong { direction:ltr; display:inline-block; color:var(--ink); }
.competitor-otp .field-label { text-align:right; margin-top:12px; }
.competitor-otp .password-input { letter-spacing:3px; }
.finance-audit-table { min-width:1080px; }
.audit-observed { color:var(--green); font-weight:700; }
.audit-missing { color:var(--red); font-weight:700; }
.audit-unknown { color:var(--muted); }
.full-width { width:100%; }
.competitor-url-workspace { margin:18px 0; overflow:hidden; }
.competitor-url-workspace .table-title { align-items:flex-start; }
.competitor-url-workspace .table-title p { margin:5px 0 0; font-size:9px; }
.competitor-url-form { padding:0 24px 22px; }
.competitor-url-list { display:grid; gap:9px; }
.competitor-url-entry { display:grid; grid-template-columns:34px minmax(0,1fr) 36px; gap:10px; align-items:end; padding:11px 12px; border:1px solid #e3e8e3; border-radius:11px; background:#fbfcfa; transition:border-color .18s ease,background .18s ease; }
.competitor-url-entry:focus-within { border-color:#d3b45d; background:#fffdf5; box-shadow:0 0 0 3px rgba(212,170,46,.09); }
.competitor-url-index { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#765d1a; background:#fff3c7; font-weight:800; font-size:12px; }
.competitor-url-entry label { display:grid; gap:5px; min-width:0; color:#5f706c; font-size:10px; font-weight:700; }
.competitor-url-entry input { width:100%; min-height:38px; padding:0 11px; border:1px solid #dfe3de; border-radius:8px; background:#fff; color:var(--ink); outline:0; direction:ltr; text-align:left; font-size:12px; }
.competitor-url-entry input:focus { border-color:var(--gold); }
.competitor-remove-url { width:32px; height:32px; color:#a27162; border:1px solid #eadbd6; background:#fffaf8; font-size:19px; }
.competitor-remove-url:disabled { opacity:.35; cursor:not-allowed; }
.competitor-url-list-actions { display:flex; align-items:center; gap:12px; margin-top:10px; }
.competitor-url-list-actions .secondary-button { min-height:36px; }
.competitor-url-form-actions { display:flex; align-items:center; gap:14px; margin-top:12px; }
.competitor-url-form-actions .field-help { margin:0; }
.competitor-route-comparison { margin-bottom:18px; overflow:hidden; }
.comparison-note { color:var(--muted); font-size:10px; line-height:1.8; margin:0 24px 17px; }
.route-compare-table { overflow:auto; }
.route-compare-row { min-width:920px; display:grid; grid-template-columns:1.5fr .7fr 1fr 1fr 1.2fr .8fr; align-items:center; gap:13px; padding:13px 24px; border-top:1px solid var(--line); color:#637178; font-size:9px; }
.route-compare-row.header { color:#8f9b9e; background:#fbfbf8; font-size:8px; font-weight:700; }
.route-compare-row strong,.route-compare-row small { display:block; }
.route-compare-row strong { color:var(--ink); font-size:10px; }
.route-compare-row small { color:var(--muted); direction:ltr; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; }
.auth-discovery-panel { display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; margin-top:13px; padding:12px; border:1px solid #efdda4; border-radius:11px; background:#fffdf5; color:#8c7027; font-size:9px; }
.auth-discovery-panel strong { color:#795e18; font-size:10px; }
.auth-discovery-panel > span { color:#9a7d35; }
.auth-discovery-panel.muted { display:block; color:var(--muted); background:#fbfcfa; border-color:var(--line); }
.auth-scope-actions { width:100%; display:flex; gap:8px; margin-top:3px; }
.auth-scope-actions button { min-height:34px; font-size:9px; }
.auth-scope-actions button:disabled { opacity:.55; cursor:default; transform:none; box-shadow:none; }
.competitor-discovery-workspace { margin:18px 0; overflow:hidden; }
.competitor-discovery-workspace .table-title { align-items:flex-start; }
.competitor-discovery-workspace .table-title p { max-width:720px; margin:5px 0 0; font-size:10px; line-height:1.9; }
.discovery-contract { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr); gap:18px; margin:0 24px 17px; padding:15px 16px; border:1px solid #e6dfc8; border-radius:12px; background:#fffdf5; }
.discovery-contract > div:first-child { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; align-items:start; }
.discovery-contract-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#1e343e; color:#f3d167; font-size:18px; }
.discovery-contract strong { color:#5e4a14; font-size:11px; }
.discovery-contract p { grid-column:2; margin:3px 0 0; color:#8a7849; font-size:9px; line-height:1.9; }
.discovery-contract-points { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; align-content:center; }
.discovery-contract-points span { padding:5px 7px; border:1px solid #eadcae; border-radius:99px; color:#866d28; background:#fff; font-size:8px; white-space:nowrap; }
.discovery-actions { display:flex; align-items:center; gap:13px; padding:0 24px 18px; }
.discovery-actions .field-help { margin:0; }
.discovery-results { border-top:1px solid var(--line); background:#fbfcfa; }
.discovery-results-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 24px; }
.discovery-results-head > div:first-child { display:grid; gap:3px; }
.discovery-results-head strong { color:var(--ink); font-size:11px; }
.discovery-results-head span { color:var(--muted); font-size:9px; }
.discovery-result-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.compact-button { min-height:34px!important; padding-inline:12px!important; font-size:9px!important; }
.discovery-candidate-list { display:grid; gap:8px; padding:0 24px 20px; }
.discovery-candidate { display:grid; grid-template-columns:24px minmax(0,1fr) 190px; gap:12px; align-items:start; min-width:0; padding:14px 13px; border:1px solid #e2e8e3; border-radius:11px; background:#fff; cursor:pointer; }
.discovery-candidate:hover { border-color:#d2b252; box-shadow:0 7px 18px rgba(40,49,42,.05); }
.discovery-candidate-select { display:flex; align-items:center; justify-content:center; padding-top:3px; }
.discovery-candidate-select input { width:16px; height:16px; accent-color:var(--gold); }
.discovery-candidate-main { display:grid; gap:5px; min-width:0; }
.discovery-candidate-title,.source-registry-title { display:flex; align-items:center; gap:8px; min-width:0; flex-wrap:wrap; }
.discovery-candidate-title strong,.source-registry-title strong { color:var(--ink); font-size:11px; }
.discovery-score { padding:3px 7px; border-radius:99px; color:#7d6119!important; background:#fff4cc; font-size:8px!important; white-space:nowrap; }
.discovery-candidate-main > a,.source-registry-main > a { direction:ltr; text-align:right; color:#77909a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; text-decoration:none; }
.discovery-candidate-main > a:hover,.source-registry-main > a:hover { color:#8e6c17; text-decoration:underline; }
.discovery-candidate-meta { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.competitor-tag-list { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.competitor-tag { display:inline-flex; align-items:center; min-height:20px; padding:2px 7px; border:1px solid #dce8e2; border-radius:99px; color:#527266; background:#f5faf7; font-size:8px; white-space:nowrap; }
.competitor-tag.group-tag { color:#7d6524; border-color:#eadcae; background:#fffaf0; }
.discovery-candidate-main p { margin:1px 0 0; color:var(--muted); font-size:9px; line-height:1.7; }
.discovery-candidate-group { display:grid; gap:5px; min-width:0; color:#6d7a78; font-size:9px; }
.discovery-candidate-group input,.source-group-actions select { min-width:0; min-height:35px; padding:0 9px; border:1px solid #dfe5df; border-radius:8px; color:var(--ink); background:#fff; font:inherit; outline:0; }
.discovery-candidate-group input:focus,.source-group-actions select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,137,22,.1); }
.source-list { padding:0 21px; }
.source-group-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 3px; border-bottom:1px solid var(--line); }
.source-group-toolbar > div:first-child { display:grid; gap:3px; }
.source-group-toolbar strong { color:var(--ink); font-size:11px; }
.source-group-toolbar span { color:var(--muted); font-size:9px; }
.source-group-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.source-group-actions select { height:34px; font-size:9px; }
.source-registry-list { display:grid; }
.source-registry-row { display:grid; grid-template-columns:24px minmax(0,1fr) 32px; gap:10px; align-items:start; min-width:0; padding:14px 3px; border-bottom:1px solid var(--line); cursor:pointer; }
.source-registry-row:last-child { border-bottom:0; }
.source-registry-row[hidden] { display:none; }
.source-registry-main { display:grid; gap:5px; min-width:0; }
.source-registry-row .icon-button { width:30px; height:30px; color:#a27162; border:1px solid #eadbd6; background:#fffaf8; }
.source-registry-row .status-badge { font-size:8px; }
.button-spinner { display:inline-block; width:11px; height:11px; margin-left:4px; border:2px solid currentColor; border-left-color:transparent; border-radius:50%; vertical-align:-1px; animation:competitor-spin .7s linear infinite; }
@keyframes competitor-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) {
  .competitor-metrics-strip { grid-template-columns:repeat(2,1fr); }
  .competitor-metrics-strip > div:nth-child(2) { border-left:0; }
  .competitor-metrics-strip > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .competitor-scope-note { flex-wrap:wrap; }
  .competitor-scope-note .status-badge { margin-right:0; }
  .competitor-actions { width:100%; }
  .competitor-phone-control { flex:1; }
  .competitor-phone-control input { flex:1; width:auto; }
  .competitor-actions button { flex:1; }
  .opportunity-grid { grid-template-columns:1fr; }
  .competitor-otp { padding:21px 17px; }
  .competitor-url-form { padding:0 17px 17px; }
  .competitor-url-form-actions { align-items:flex-start; flex-direction:column; gap:7px; }
  .competitor-url-form-actions .primary-button { width:100%; }
  .route-compare-row { padding:13px 17px; }
  .comparison-note { margin-inline:17px; }
  .auth-scope-actions { flex-direction:column; }
}
 .otp-progress { display:inline-flex; align-items:center; gap:7px; margin:0 auto 12px; padding:7px 10px; border:1px solid #efd991; border-radius:999px; background:var(--gold-pale); color:#9d7c28; font-size:9px; font-weight:800; }
.run-progress-actions { display:flex; align-items:center; gap:9px; }
.stop-run-button { min-height:34px; padding:0 11px; color:#9a4f4f; border:1px solid #e3bcbc; border-radius:9px; background:#fff8f8; font-size:9px; }
.stop-run-button:hover { color:#7f3030; border-color:#c98989; background:#fff0f0; }
.stop-run-button:disabled { opacity:.55; cursor:default; }
/* Operational controls: report downloads, scoped coverage and clean error logs. */
.report-downloads{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center}
.coverage-scope-list,.error-log-list{display:grid;gap:8px;margin-top:16px}
.coverage-scope-row,.error-log-group{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1.4fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line,#e7e1d7);border-radius:12px;background:#fff}
.error-log-group{grid-template-columns:minmax(90px,.35fr) auto minmax(180px,2fr)}
.error-log-group small{color:var(--muted,#7b7b7b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.error-log-empty{padding:16px;border:1px dashed var(--line,#e7e1d7);border-radius:12px;color:var(--muted,#7b7b7b);text-align:center}
.setting-control-inline{display:flex;align-items:center;gap:8px;min-width:270px}
.setting-control-inline input{width:110px;padding:10px 12px;border:1px solid var(--line,#e7e1d7);border-radius:10px;background:#fff;font:inherit}
.setting-control-inline input:focus{outline:2px solid rgba(180,135,47,.25);border-color:#b4872f}
.action-delay-setting small{display:block;margin-top:6px;color:var(--muted,#7b7b7b)}
@media (max-width:720px){.coverage-scope-row,.error-log-group{grid-template-columns:1fr;gap:6px}.setting-control-inline{min-width:0;flex-wrap:wrap}.report-downloads{width:100%}.report-downloads button{flex:1 1 140px}}
.finding-filter-controls{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:8px;align-items:end;width:100%;margin-top:10px}
.finding-filter-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:8px;font-weight:700}
.finding-filter-controls select{height:36px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:9px;outline:0}
.finding-filter-controls select:focus{border-color:#d9ba4c;box-shadow:0 0 0 3px rgba(212,170,46,.1)}
.findings-toolbar{align-items:flex-start;flex-wrap:wrap}
.findings-toolbar .search-input{flex:1 1 250px}
.finding-meta{flex-wrap:wrap;row-gap:5px}
@media (max-width:760px){.finding-filter-controls{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.findings-toolbar .search-input{flex-basis:100%}}
.quality-run-options{align-items:start}
.device-model-note{display:block;min-height:38px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#faf8f3;color:var(--ink);font-size:11px;line-height:1.6}
.field-label small#qualityConfigSummary{display:inline-block;margin-inline-start:8px;color:var(--muted);font-size:9px;font-weight:500}
.device-selection{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.device-option{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.device-option:hover{border-color:#c9a44d;transform:translateY(-1px)}
.device-option.selected{border-color:#c9a44d;background:#fffaf0}
.device-option input{position:absolute;opacity:0;pointer-events:none}
.device-option-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f1eadb;color:#8e6a22;font-size:15px;flex:none}
.device-option strong,.device-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-option strong{font-size:10px}.device-option small{margin-top:3px;color:var(--muted);font-size:9px}
.quality-threshold-setting{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.setting-help{margin:0 0 14px;color:var(--muted);font-size:10px}
.threshold-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.threshold-grid label{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:10px;font-weight:700}
.threshold-grid input,.wide-setting-input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.threshold-grid label input{flex:1 1 70px}.threshold-grid label span{font-size:9px;color:var(--muted)}
.wide-setting-input{max-width:320px}
@media (max-width:720px){.device-grid,.threshold-grid{grid-template-columns:1fr}.wide-setting-input{max-width:none}}
.product-help-guide{margin:-8px 0 24px;padding:22px 24px;background:#fffdf5;border:1px solid #efdfaa;border-radius:16px;box-shadow:0 8px 22px rgba(104,78,20,.05)}
.help-guide-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #f0e5c6}
.help-guide-heading h3{margin:5px 0 0;font-size:18px}
.help-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:18px 0 6px}
.help-guide-grid>div{padding-left:15px;border-left:1px solid #eadfbe}
.help-guide-grid>div:last-child{border-left:0}
.help-guide-grid strong{display:block;color:#614b16;font-size:13px;margin-bottom:6px}
.help-guide-grid p,.help-guide-details p{margin:0;color:#77683e;font-size:12px;line-height:1.9}
.help-guide-details{border-top:1px solid #f0e5c6;padding-top:13px;color:#7a672e}
.help-guide-details summary{cursor:pointer;font-size:12px;font-weight:800}
.help-guide-details>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:12px}
@media (max-width:1100px){.help-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-guide-grid>div:nth-child(2){border-left:0}}
@media (max-width:760px){.product-help-guide{padding:18px}.help-guide-heading{flex-direction:column}.help-guide-grid,.help-guide-details>div{grid-template-columns:1fr}.help-guide-grid>div{padding:0 0 14px;border-left:0;border-bottom:1px solid #eadfbe}.help-guide-grid>div:last-child{border-bottom:0}}

/* Readability scale: the original runner used compact 8–10px utility text. */
body{font-size:15px;line-height:1.65}
.eyebrow{font-size:11px}.workspace-label{font-size:12px}.nav-item span:nth-child(2){font-size:14px}.nav-count{font-size:11px}.env-row{font-size:13px}.env-detail{font-size:12px}.user-chip strong{font-size:12px}.user-chip small{font-size:11px}
.breadcrumb{font-size:12px}.topbar h1{font-size:19px}.live-status{font-size:12px}.section-kicker{font-size:12px}.page-intro p{font-size:14px}.compact-intro h2{font-size:28px}.primary-button,.secondary-button,.ghost-button{font-size:13px}.text-button{font-size:12px}
.metric-label{font-size:12px}.metric-trend{font-size:11px}.panel-heading h3,.section-panel h3{font-size:18px}.run-summary strong{font-size:13px}.run-summary p{font-size:12px}.activity-count{font-size:12px}.attention-row strong{font-size:13px}.attention-row span:not(.severity-mark):not(.priority-tag){font-size:11px}.timeline-item strong{font-size:12px}.timeline-item span:not(.timeline-dot){font-size:11px}.policy-chip{font-size:12px}.status-badge{font-size:11px}
.field-label{font-size:13px}.field-help{font-size:12px}.radio-option strong,.pack-option strong{font-size:13px}.radio-option small,.pack-option small{font-size:11px}.field-row select,.toggle-row{font-size:13px}.policy-note strong{font-size:13px}.policy-note p{font-size:12px}.contract-line{font-size:12px}.contract-line strong{font-size:12px}.output-list span{font-size:12px}.side-help p{font-size:12px}.run-check strong{font-size:13px}.run-check small,.run-check-status{font-size:11px}.blocked-note{font-size:12px}.toast{font-size:12px}
.group-heading h3{font-size:16px}.group-heading span:not(.group-icon):not(.group-score){font-size:11px}.test-row,.jira-row,.history-row{font-size:12px}.test-row.header,.jira-row.header,.history-row.header{font-size:11px}.test-row strong,.jira-row strong,.history-row strong{font-size:12px}.test-row small,.jira-row small,.history-row small{font-size:11px}.finding-main strong{font-size:13px}.finding-main p{font-size:12px}.finding-meta,.finding-owner{font-size:11px}.report-section p{font-size:12px}.report-highlights span{font-size:11px}.action-list strong{font-size:12px}.action-list small{font-size:11px}.team-name{font-size:12px}.settings-tab{font-size:12px}.setting-row strong{font-size:13px}.setting-row p{font-size:12px}.policy-grid strong{font-size:13px}.policy-grid p{font-size:12px}.app-footer{font-size:11px}

/* URL-first workspace */
.url-first-form{display:grid;gap:18px}
.target-urls-input{width:100%;height:56px;min-height:56px;resize:none;border:1px solid #dfe4ea;border-radius:14px;background:#fbfcfd;color:#17212b;padding:0 16px;font:500 14px/1.8 inherit;direction:ltr;text-align:left;outline:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.target-urls-input:focus{border-color:#d6a824;background:#fff;box-shadow:0 0 0 4px rgba(214,168,36,.12)}
.url-first-contract{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:15px 0}
.url-first-contract .contract-icon{color:#bd8f16;font-size:22px;line-height:1}
.url-first-contract strong,.url-first-contract span{display:block}.url-first-contract strong{color:#17212b;font-size:13px;margin-bottom:4px}.url-first-contract span{color:#77818d;font-size:12px;line-height:1.8}
.url-first-actions{display:grid;gap:8px}.url-first-safe-note{color:#7c8792;font-size:11px;text-align:center}
.url-first-target-list{display:grid;gap:8px;margin-top:18px}.url-target-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid #eef1f3}
.target-role-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:800}.target-role-mark.primary{color:#7a5a08;background:#fff3c8}.target-role-mark.competitor{color:#3d6380;background:#e8f2f8}
.url-target-main{min-width:0}.url-target-main strong,.url-target-main small,.url-target-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-target-main strong{color:#17212b;font-size:13px}.url-target-main small{color:#7c8792;direction:ltr;text-align:right;font-size:11px;margin-top:2px}.url-target-main span{color:#a0a9b2;font-size:11px;margin-top:3px}
.route-baseline-panel{margin-top:20px;border-top:1px solid #e9edf0;padding-top:18px}.baseline-route-content{display:grid;gap:16px}.baseline-target-block{padding:13px 0;border-bottom:1px solid #eef1f3}.baseline-target-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.baseline-target-heading strong,.baseline-target-heading small{display:block}.baseline-target-heading strong{font-size:13px}.baseline-target-heading small{color:#85909b;font-size:11px;direction:ltr;text-align:right;margin-top:3px}
.baseline-route-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;direction:ltr}.baseline-route-chips span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;border-radius:6px;background:#f3f5f7;color:#5f6b77;font:600 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.baseline-route-chips .baseline-empty{background:transparent;color:#9aa3ad;font-family:inherit}.baseline-diff-line{color:#876d1d;font-size:11px;margin-top:10px}
.url-first-comparison{margin-bottom:18px}.comparison-note{color:#7c8792;font-size:12px;line-height:1.8;margin:-4px 0 14px}.comparison-table{overflow-x:auto}.comparison-row{display:grid;grid-template-columns:minmax(220px,1.5fr) .6fr .8fr .55fr;gap:12px;align-items:center;min-width:620px;padding:12px 0;border-bottom:1px solid #eef1f3;color:#697580;font-size:12px}.comparison-row.header{color:#9aa3ad;font-size:11px;padding-top:0}.comparison-row strong,.comparison-row small{display:block}.comparison-row strong{color:#17212b;font-size:13px}.comparison-row small{direction:ltr;text-align:right;color:#8c96a0;margin-top:3px}
@media (max-width:760px){.url-target-row{grid-template-columns:28px minmax(0,1fr)}.url-target-row .status-badge{grid-column:2;justify-self:start}.baseline-target-heading{flex-direction:column}}

/* Public product surface */
.public-experience{min-height:100vh;background:#f7f6f1;color:#14212b;overflow:hidden}
.public-header{position:absolute;z-index:10;top:0;right:0;left:0;max-width:1320px;margin:auto;padding:24px 32px;display:flex;align-items:center;gap:38px;color:#f8f6ef}
.public-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:190px}.public-brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#15232c;background:#f3d167;font-size:20px;font-weight:900;box-shadow:0 8px 25px rgba(243,209,103,.14)}.public-brand-mark.small{width:32px;height:32px;border-radius:11px;font-size:16px}.public-brand strong{display:block;font-size:14px;letter-spacing:-.35px}.public-brand small{display:block;color:#92a2aa;font-size:8px;margin-top:2px;direction:ltr;text-align:right}
.public-nav{display:flex;align-items:center;gap:29px;margin-right:auto}.public-nav a{color:#aab7bc;font-size:10px;text-decoration:none;transition:color .2s}.public-nav a:hover{color:#fff}.public-header-actions{display:flex;align-items:center;gap:18px}.public-login-button{border:0;background:transparent;color:#d8e0e0;font-size:10px;font-weight:700;padding:9px 2px}.public-cta-button,.hero-primary{border:1px solid #f3d167;background:#f3d167;color:#182731;min-height:43px;border-radius:10px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:10px;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s,background .2s}.public-cta-button:hover,.hero-primary:hover{transform:translateY(-2px);background:#f7dc7d;box-shadow:0 16px 32px rgba(0,0,0,.18)}.public-cta-button span,.hero-primary span{font-size:17px;line-height:0}
.landing-hero{min-height:760px;height:min(100svh,860px);position:relative;display:flex;align-items:center;background:#14232d;color:#f6f4ec;overflow:hidden}.landing-hero::before{content:"";position:absolute;width:850px;height:850px;left:-300px;top:-350px;border-radius:50%;border:1px solid rgba(243,209,103,.14);box-shadow:0 0 0 54px rgba(243,209,103,.025),0 0 0 108px rgba(243,209,103,.018),0 0 0 162px rgba(243,209,103,.013)}.landing-hero::after{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 76%,transparent);pointer-events:none}.landing-hero-inner{width:min(1260px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:.87fr 1.13fr;gap:90px;align-items:center;position:relative;z-index:2;direction:rtl}.landing-hero-copy{max-width:480px;animation:publicReveal .75s ease both}.landing-kicker{display:inline-flex;align-items:center;gap:8px;color:#9baab0;font-size:9px;font-weight:800}.landing-kicker i{width:20px;height:2px;background:#edc653;border-radius:3px;display:inline-block}.landing-hero-copy h1{margin:22px 0 18px;font-size:clamp(42px,5.1vw,76px);line-height:1.1;letter-spacing:-3px;font-weight:800}.landing-hero-copy h1 em,.section-intro h2 em,.workflow-heading h2 em,.safety-copy h2 em,.final-cta h2 em,.auth-message-column h1 em{color:#f3d167;font-style:normal}.landing-hero-copy>p{color:#a8b5b8;font-size:13px;line-height:2.05;max-width:415px;margin:0}.landing-hero-actions{display:flex;align-items:center;gap:21px;margin-top:29px}.hero-primary{min-height:49px;padding:0 20px}.hero-secondary{color:#bcc6c7;font-size:10px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:color .2s}.hero-secondary:hover{color:#f3d167}.hero-secondary span{color:#f3d167;font-size:15px}.landing-trust{display:flex;align-items:center;gap:8px;color:#7e9199;font-size:8px;margin-top:24px}.trust-dot{width:6px;height:6px;border-radius:50%;background:#56c894;box-shadow:0 0 0 4px rgba(86,200,148,.12)}
.hero-visual{direction:rtl;min-height:465px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border-radius:20px;padding:20px;box-shadow:0 32px 80px rgba(0,0,0,.22);backdrop-filter:blur(12px);transform:rotate(-1.6deg);animation:visualEnter .9s .12s cubic-bezier(.2,.75,.2,1) both}.hero-visual-top,.hero-visual-footer{display:flex;align-items:center;justify-content:space-between;color:#d8e0de;font-size:9px}.hero-visual-top>span{display:flex;align-items:center;gap:7px;color:#9edab9}.hero-visual-top>span i{width:6px;height:6px;border-radius:50%;background:#58cb91;box-shadow:0 0 0 4px rgba(88,203,145,.13)}.hero-visual-top small{color:#74868e;font:10px ui-monospace,monospace;direction:ltr}.hero-visual-body{min-height:367px;display:grid;grid-template-columns:1.04fr .96fr;gap:14px;margin:19px 0 15px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(11,24,33,.43)}.visual-label{display:block;color:#71868d;font-size:8px;margin-bottom:17px}.hero-route-column{border-left:1px solid rgba(255,255,255,.1);padding-left:16px}.route-node{position:relative;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:8px;padding:11px 9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:10px;margin-bottom:14px}.route-node b{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#1c2c33;background:#dce6df;font-size:9px}.route-node span{color:#e9eee9;font-size:9px;font-weight:700}.route-node small{grid-column:2;color:#71868d;font-size:7px;margin-top:-5px}.route-node-main{border-color:rgba(243,209,103,.5);background:rgba(243,209,103,.08)}.route-node-main b{background:#f3d167}.route-branch{position:relative;margin-right:20px}.route-branch>span{position:absolute;right:-14px;top:-14px;height:34px;width:1px;background:linear-gradient(#f3d167,rgba(255,255,255,.15))}.route-branch>span::after{content:"";position:absolute;bottom:0;right:-3px;width:7px;height:7px;border-radius:50%;background:#f3d167}.route-branch-short{margin-right:54px}.route-branch-short>span{opacity:.55}.hero-signal-column{padding-right:5px}.signal-score{display:flex;align-items:baseline;gap:4px;margin:-4px 0 20px;direction:ltr}.signal-score strong{color:#f3d167;font-size:45px;line-height:1;letter-spacing:-2px}.signal-score span{color:#83969d;font-size:10px}.signal-line{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin:15px 0;color:#8fa1a5;font-size:8px}.signal-line b{color:#d9e2df;font-size:8px;font-weight:600}.signal-line i{grid-column:1/-1;height:5px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.09)}.signal-line i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b59230,#f3d167)}.signal-finding{display:flex;align-items:center;gap:8px;margin-top:26px;border-top:1px solid rgba(255,255,255,.08);padding-top:15px}.signal-finding>span{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;color:#1d2a31;background:#f2bb71;font-weight:900;font-size:10px}.signal-finding strong{display:block;color:#e9ece8;font-size:8px}.signal-finding small{display:block;color:#82939a;font-size:7px;margin-top:4px}.hero-visual-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;color:#819299;font-size:8px}.hero-visual-footer span{display:flex;gap:7px;align-items:center}.hero-visual-footer i{width:6px;height:6px;border-radius:50%}.mini-green{background:#58cb91}.mini-gold{background:#f3d167}.hero-grain{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");pointer-events:none}
.landing-section{max-width:1180px;margin:0 auto;padding:135px 32px}.product-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.section-intro{max-width:420px}.section-intro h2,.workflow-heading h2,.safety-copy h2,.final-cta h2{font-size:clamp(29px,3.4vw,47px);line-height:1.35;letter-spacing:-1.6px;margin:19px 0 17px;color:#1b2b35}.section-intro p,.safety-copy p{margin:0;color:#7a888d;font-size:12px;line-height:2}.feature-ledger{border-top:1px solid #dfe1da}.feature-ledger article{position:relative;padding:25px 0 27px 52px;border-bottom:1px solid #dfe1da}.feature-index{position:absolute;left:0;top:28px;color:#b18b28;font:10px ui-monospace,monospace;direction:ltr}.feature-ledger h3{font-size:17px;margin:0 0 8px}.feature-ledger p{color:#78858a;font-size:11px;line-height:1.9;max-width:500px;margin:0 0 12px}.feature-ledger a{color:#967621;text-decoration:none;font-size:9px;font-weight:800}.feature-ledger a span{font-size:15px;margin-right:5px}
.workflow-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:130px;background:#ecece5;max-width:none;padding-right:max(32px,calc((100% - 1116px)/2));padding-left:max(32px,calc((100% - 1116px)/2))}.workflow-steps{border-top:1px solid #d4d6ce}.workflow-step{display:grid;grid-template-columns:34px 1fr;gap:15px;align-items:start;padding:22px 0;border-bottom:1px solid #d4d6ce}.workflow-step>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#937522;border:1px solid #d7b84c;font-size:10px}.workflow-step strong{display:block;font-size:13px}.workflow-step p{color:#7c898c;margin:5px 0 0;font-size:10px;line-height:1.8}
.safety-section{padding:115px max(32px,calc((100% - 1180px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;background:#15262f;color:#fff}.safety-copy h2{color:#fff}.safety-copy p{color:#a9b6b7;max-width:390px}.safety-list{border-top:1px solid rgba(255,255,255,.15)}.safety-list>div{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.15)}.safety-list>div>span{color:#efcb5c;font:10px ui-monospace,monospace}.safety-list strong{font-size:13px;font-weight:700}.safety-list p{margin:5px 0 0;color:#8fa2a7;font-size:10px;line-height:1.8}
.report-preview-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:center}.report-preview{background:#fff;border:1px solid #dfdfd7;box-shadow:0 20px 50px rgba(28,42,53,.08);border-radius:16px;padding:22px}.report-preview-head{display:flex;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #e8e9e4;color:#7f8b8d;font-size:9px}.report-preview-head span:first-child{color:#20313b;font-weight:800}.report-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0;gap:15px}.report-preview-grid>div{padding-left:15px;border-left:1px solid #e7e8e3}.report-preview-grid>div:last-child{border-left:0}.report-preview-grid small,.report-preview-grid strong,.report-preview-grid span{display:block}.report-preview-grid small{color:#95a0a2;font-size:8px}.report-preview-grid strong{color:#1d2e38;font-size:30px;line-height:1.25;margin:4px 0}.report-preview-grid span{font-size:8px}.report-good{color:#2c8a63}.report-warn{color:#b47e26}.report-preview-lines{display:flex;flex-direction:column;gap:12px;padding-top:17px;border-top:1px solid #e8e9e4;color:#829092;font-size:9px}.report-preview-lines span{display:flex;align-items:center;gap:8px}.report-preview-lines i{width:6px;height:6px;border-radius:50%}.line-good{background:#4ebc84}.line-warn{background:#d49a3b}.line-neutral{background:#a7b2b3}
.faq-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;padding-top:50px}.faq-list{border-top:1px solid #dfe1da}.faq-list details{border-bottom:1px solid #dfe1da;padding:21px 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#ae8c30;font-size:19px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:#7a878a;font-size:10px;line-height:1.9;max-width:600px;margin:13px 0 0}.final-cta{max-width:1180px;margin:0 auto 55px;padding:60px 32px;background:#e9e5d2;display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta h2{margin-bottom:0}.public-footer{max-width:1180px;margin:auto;padding:0 32px 30px;display:flex;align-items:center;gap:28px;color:#95a0a1;font-size:8px}.public-footer>span:first-child{color:#606f72;font-weight:800}.public-footer>span:nth-child(2){margin-left:auto}.public-footer div{display:flex;gap:16px}.public-footer a,.public-footer button{color:#7f8b8d;border:0;background:none;text-decoration:none;font-size:8px;padding:0}
.public-auth{min-height:100vh;background:#14232d;color:#fff;padding:30px max(28px,calc((100% - 1120px)/2)) 50px}.auth-back-row{display:flex;justify-content:space-between;align-items:center;color:#7e9199;font-size:9px}.auth-back{border:0;background:transparent;color:#c1cccb;font-size:10px;padding:8px 0}.auth-layout{max-width:1030px;margin:75px auto 0;display:grid;grid-template-columns:1fr .8fr;gap:130px;align-items:center;direction:rtl}.auth-message-column{max-width:460px}.auth-message-column h1{margin:21px 0 17px;font-size:clamp(35px,4.8vw,61px);line-height:1.2;letter-spacing:-2.5px}.auth-message-column>p{color:#a8b5b8;font-size:12px;line-height:2;max-width:390px}.auth-promise{display:flex;gap:11px;align-items:flex-start;margin-top:26px}.auth-promise>span{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#162630;background:#f3d167;font-size:11px;font-weight:900}.auth-promise strong{display:block;font-size:10px}.auth-promise small{display:block;color:#84959b;font-size:9px;line-height:1.7;margin-top:4px}.auth-panel{background:#fbfaf6;color:#1c2c35;border-radius:17px;padding:27px;box-shadow:0 30px 80px rgba(0,0,0,.23)}.auth-panel-heading{display:flex;align-items:center;gap:9px;padding-bottom:22px;border-bottom:1px solid #e2e3dc}.auth-panel-heading strong{display:block;font-size:13px}.auth-panel-heading small{color:#8a9697;font-size:9px;display:block;margin-top:3px}.auth-tabs{display:flex;gap:25px;margin:21px 0 24px;border-bottom:1px solid #e2e3dc}.auth-tab{border:0;border-bottom:2px solid transparent;background:none;color:#9aa4a5;font-size:11px;font-weight:700;padding:0 0 12px}.auth-tab.active{color:#1d2d36;border-bottom-color:#d3ae37}.auth-panel label{display:block;color:#35434a;font-size:10px;font-weight:800;margin-bottom:8px}.auth-panel input{width:100%;height:47px;border:1px solid #dfe1db;border-radius:10px;background:#fff;color:#1d2d36;outline:none;direction:ltr;text-align:left;padding:0 13px;font-size:12px}.auth-panel input:focus{border-color:#d3ae37;box-shadow:0 0 0 3px rgba(211,174,55,.13)}.auth-field-help{color:#8d9899;font-size:8px;margin:7px 0 20px}.auth-submit{width:100%;height:47px;border:0;border-radius:10px;color:#172630;background:#edc957;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px}.auth-submit:hover{background:#f4d975}.auth-submit span{font-size:16px}.auth-message{min-height:24px;color:#6e7d7e;font-size:9px;line-height:1.7;margin-top:13px}.auth-message.error{color:#b6514e}.auth-message.success{color:#287c5b}.auth-dev-link{display:flex;justify-content:center;align-items:center;gap:7px;color:#936f16;background:#fff6d5;border:1px solid #ead38a;border-radius:9px;padding:10px;text-decoration:none;font-size:9px;font-weight:800;margin-top:4px}.auth-dev-link span{font-size:14px}.auth-legal{color:#a2abad;font-size:8px;line-height:1.8;text-align:center;border-top:1px solid #e4e5df;padding-top:15px;margin-top:20px}
.public-legal{min-height:100vh;background:#14232d;color:#fff;padding:30px max(28px,calc((100% - 1120px)/2)) 70px}.legal-shell{max-width:900px;margin:0 auto}.legal-content{max-width:690px;margin:100px auto 0}.legal-content h1{font-size:clamp(35px,5vw,60px);line-height:1.2;letter-spacing:-2px;margin:20px 0 32px}.legal-copy{background:#fbfaf6;color:#263640;border-radius:16px;padding:30px 34px;box-shadow:0 24px 70px rgba(0,0,0,.18)}.legal-copy h2{font-size:16px;margin:28px 0 8px;color:#1c303a}.legal-copy h2:first-of-type{margin-top:0}.legal-copy p{font-size:11px;line-height:2;color:#758287;margin:0}.legal-copy .legal-lead{font-size:13px;color:#4d5d62;padding-bottom:25px;border-bottom:1px solid #e4e5df;margin-bottom:25px}
@keyframes publicReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes visualEnter{from{opacity:0;transform:rotate(-4deg) translateY(25px) scale(.97)}to{opacity:1;transform:rotate(-1.6deg) translateY(0) scale(1)}}
@media (max-width:900px){.public-nav{display:none}.public-header{padding:20px}.public-header-actions{margin-right:auto}.landing-hero{height:auto;min-height:0;padding:150px 0 80px}.landing-hero-inner{width:min(100% - 40px,620px);grid-template-columns:1fr;gap:54px}.landing-hero-copy{max-width:none}.hero-visual{transform:none}.product-section,.workflow-section,.safety-section,.report-preview-section,.faq-section{grid-template-columns:1fr;gap:45px}.landing-section{padding:85px 25px}.workflow-section{padding:85px 25px}.safety-section{padding:85px 25px}.report-preview-section{padding-top:85px}.final-cta{margin:0 25px 35px;padding:42px 25px}.auth-layout{grid-template-columns:1fr;gap:45px;max-width:520px;margin-top:55px}.auth-message-column{max-width:none}.legal-content{margin-top:70px}}
@media (max-width:560px){.public-header{padding:17px 15px}.public-brand{min-width:auto}.public-brand small{display:none}.public-brand strong{font-size:12px}.public-header-actions{gap:10px}.public-login-button{font-size:9px}.public-cta-button{min-height:38px;padding:0 11px;font-size:8px}.landing-hero-inner{width:calc(100% - 30px)}.landing-hero-copy h1{font-size:43px;letter-spacing:-1.9px}.landing-hero-copy>p{font-size:11px}.landing-hero-actions{align-items:stretch;flex-direction:column;gap:16px}.hero-primary{width:100%}.hero-secondary{justify-content:center}.hero-visual{padding:13px;border-radius:15px}.hero-visual-body{grid-template-columns:1fr;gap:25px;min-height:0}.hero-route-column{border-left:0;border-bottom:1px solid rgba(255,255,255,.1);padding:0 0 12px}.hero-signal-column{padding:0}.landing-section{padding:70px 18px}.section-intro h2,.workflow-heading h2,.safety-copy h2,.final-cta h2{font-size:30px}.feature-ledger article{padding-left:39px}.safety-section{padding:70px 18px}.report-preview-section{padding:70px 18px}.report-preview-grid{gap:8px}.report-preview-grid strong{font-size:23px}.final-cta{margin:0 18px 25px;align-items:flex-start;flex-direction:column;padding:34px 20px}.final-cta .hero-primary{width:100%}.public-footer{padding:0 18px 25px;display:block}.public-footer>span{display:block;margin-bottom:10px}.public-footer>span:nth-child(2){margin-left:0}.public-footer div{margin-top:14px}.public-auth{padding:20px 18px 35px}.auth-back-row>span{display:none}.auth-layout{margin-top:60px}.auth-panel{padding:21px}.auth-message-column h1{font-size:40px}.public-legal{padding:20px 18px 35px}.legal-content{margin-top:55px}.legal-copy{padding:24px 20px}}

/* Final readability and layout pass. Keep long Persian copy inside its component. */
.main-content,
.content-wrap,
.view,
.section-panel,
.page-intro,
.page-intro > div,
.panel-heading > div,
.dashboard-grid,
.lower-grid,
.run-layout,
.report-grid,
.settings-layout { min-width:0; }
.content-wrap { overflow-x:hidden; }
.page-intro { align-items:flex-start; }
.page-intro > div { flex:1 1 auto; }
.page-intro p { max-width:680px; line-height:1.8; }
.page-intro .primary-button,
.page-intro .secondary-button,
.page-intro > .status-badge { flex:0 0 auto; }
.dashboard-grid { grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr); }
.lower-grid { grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr); }
.metric-strip { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric-block { min-width:0; }
.metric-label,
.metric-trend,
.panel-heading h3,
.run-summary strong,
.attention-row strong,
.timeline-item strong { line-height:1.55; overflow-wrap:anywhere; }
.panel-heading { min-width:0; }
.panel-heading h3 { max-width:100%; }
.attention-row { grid-template-columns:8px minmax(0,1fr) auto; }
.attention-row > div,
.timeline-item > div,
.run-summary > div,
.current-test > div { min-width:0; }
.run-layout { grid-template-columns:minmax(0,1.5fr) minmax(270px,.65fr); }

/* Each signed-in account works inside its own business workspace. */
.workspace-context { display:grid; gap:7px; margin:18px 7px 0; padding:13px 10px 12px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.035); }
.workspace-context .eyebrow { color:#84949d; font-size:10px; }
.workspace-switcher { width:100%; min-width:0; border:1px solid rgba(243,209,103,.28); border-radius:8px; background:#1d303b; color:#f4f2e8; padding:8px 9px; font:700 12px/1.4 inherit; outline:none; }
.workspace-switcher:focus { border-color:#f3d167; box-shadow:0 0 0 3px rgba(243,209,103,.12); }
.workspace-create { border:0; padding:0; background:transparent; color:#d9bb5e; text-align:right; cursor:pointer; font:700 11px/1.5 inherit; }
.workspace-create:hover { color:#f6df8b; }
.workspace-label { padding-top:18px; }
@media (max-width:760px) {
  .workspace-context { display:none; }
  .sidebar.mobile-open .workspace-context { display:grid; }
}
.run-progress-top { gap:16px; }
.run-progress-top > div { min-width:0; }
.run-progress-top h3 { line-height:1.5; }
.current-test strong,
.current-test span:not(.current-icon) { overflow-wrap:anywhere; }
.run-side-panel { min-width:0; }
.product-help-guide { min-width:0; }
.help-guide-heading { min-width:0; }
.help-guide-heading > div { min-width:0; }
.help-guide-heading h3 { line-height:1.5; }
.help-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.help-guide-grid > div { min-width:0; padding-left:18px; }
.help-guide-grid p,
.help-guide-details p,
.side-help p,
.auth-discovery-panel > span { overflow-wrap:anywhere; }
.url-first-form { min-width:0; }
.url-first-contract > div { min-width:0; }
.url-first-contract span { overflow-wrap:anywhere; }
.competitor-scope-note > div { min-width:0; flex:1 1 auto; }
.competitor-scope-note p,
.comparison-note,
.competitor-footnote { overflow-wrap:anywhere; }
.competitor-url-workspace .table-title { gap:18px; }
.competitor-url-workspace .table-title > div { min-width:0; }
.auth-scope-actions button { flex:1 1 0; min-width:0; line-height:1.45; }
.report-hero,
.report-brand,
.report-brand > div { min-width:0; }
.report-brand h3,
.report-brand span:last-child { overflow-wrap:anywhere; }
.table-title > div { min-width:0; }
.settings-heading > div { min-width:0; }
.setting-row > div { min-width:0; }
.app-footer { gap:16px; flex-wrap:wrap; }

/* The public surface uses a larger reading rhythm than the old compact runner. */
.public-brand small { font-size:9px; }
.landing-hero-copy h1 { max-width:560px; font-size:clamp(38px,4.1vw,61px); line-height:1.16; letter-spacing:-2.2px; }

/* Keep horizontally scrollable comparison UI anchored correctly in RTL layouts. */
.competitor-tabs { direction:ltr; justify-content:flex-start; }
.competitor-tab { direction:rtl; }
.competitor-table-wrap,
.route-compare-table,
.comparison-table { direction:ltr; }
.competitor-table { direction:rtl; }
.route-compare-row,
.comparison-row { direction:rtl; }
.landing-hero-copy > p { font-size:14px; line-height:2; }
.section-intro p,
.safety-copy p { font-size:13px; line-height:2; }
.feature-ledger p { font-size:12px; line-height:1.95; }
.workflow-step p,
.safety-list p,
.faq-list p { font-size:11px; line-height:1.95; }
.report-preview-head,
.report-preview-grid small,
.report-preview-grid span,
.report-preview-lines { font-size:10px; }
.faq-list summary { line-height:1.7; }
.safety-list > div > strong,
.safety-list > div > p { grid-column:2; }

@media (max-width:1200px) {
  .dashboard-grid,
  .lower-grid { grid-template-columns:1fr; }
  .run-layout { grid-template-columns:1fr; }
  .run-side-panel { position:static; }
  .help-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .page-intro p { max-width:none; }
  .metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .help-guide-grid { grid-template-columns:1fr; }
  .help-guide-grid > div { padding-left:0; }
  .run-progress-top { flex-direction:column; }
  .run-progress-actions { width:100%; justify-content:space-between; }
  .run-progress-actions .stop-run-button { flex:1 1 auto; }
  .competitor-url-workspace .table-title,
  .competitor-scope-note { flex-direction:column; align-items:stretch; }
  .competitor-url-list-actions { align-items:stretch; flex-direction:column; }
  .competitor-url-list-actions .secondary-button { width:100%; }
  .competitor-url-workspace .table-title > .status-badge,
  .competitor-scope-note .status-badge { align-self:flex-start; margin-right:0; }
  .app-footer { align-items:flex-start; flex-direction:column; }
  .landing-hero-copy h1 { letter-spacing:-1.8px; }
}

/* Public capability map: an editorial feature inventory instead of vague marketing cards. */
.capabilities-section { padding-top:110px; padding-bottom:125px; }
.capabilities-heading { max-width:760px; margin-bottom:48px; }
.capabilities-heading h2 { max-width:760px; margin:18px 0 15px; color:#1b2b35; font-size:clamp(29px,3.4vw,47px); line-height:1.35; letter-spacing:-1.6px; }
.capabilities-heading h2 em { color:#b58b22; font-style:normal; }
.capabilities-heading p { max-width:620px; margin:0; color:#7a888d; font-size:13px; line-height:2; }
.capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 38px; border-top:1px solid #dfe1da; }
.capability-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:17px; min-width:0; padding:25px 0 27px; border-bottom:1px solid #dfe1da; }
.capability-card-wide { grid-column:1 / -1; }
.capability-index { color:#b18b28; font:10px ui-monospace,monospace; direction:ltr; padding-top:4px; }
.capability-card h3 { margin:0 0 8px; color:#1b2b35; font-size:16px; line-height:1.55; }
.capability-card p { max-width:520px; margin:0 0 12px; color:#78858a; font-size:11px; line-height:1.95; }
.capability-card small { color:#a08029; font-size:9px; line-height:1.7; }
.capability-card-dark { background:#15262f; border-color:rgba(255,255,255,.13); padding-left:20px; padding-right:20px; }
.capability-card-dark h3 { color:#f6f4ec; }
.capability-card-dark p { color:#a9b6b7; }
.capability-card-dark small { color:#efcb5c; }
.capability-card-accent { background:#eee9d6; padding-left:20px; padding-right:20px; }

@media (max-width:900px) {
  .capabilities-section { padding-top:85px; padding-bottom:95px; }
  .capability-grid { grid-template-columns:1fr; gap:0; }
  .capability-card-wide { grid-column:auto; }
}

@media (max-width:560px) {
  .capabilities-section { padding-top:70px; padding-bottom:75px; }
  .capabilities-heading h2 { font-size:30px; }
  .capability-card { grid-template-columns:31px minmax(0,1fr); gap:8px; padding:22px 0 24px; }
  .capability-card-dark,
  .capability-card-accent { padding-left:15px; padding-right:15px; }
  .capability-card h3 { font-size:15px; }
  .capability-card p { font-size:11px; }
}

/* Product run contract: discovery and execution are intentionally separate stages. */
.product-stage-switch { display:flex; align-items:center; gap:10px; margin:14px 0 18px; color:#899499; font-size:11px; }
.stage-marker { display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; border:1px solid #e3e9e7; border-radius:999px; background:#f8faf9; white-space:nowrap; }
.stage-marker.active { border-color:#d9bd68; background:#fff8df; color:#775d19; font-weight:700; }
.stage-connector { height:1px; flex:0 1 45px; background:#dfe6e3; }
.product-config-stage { margin-top:18px; padding:20px; border:1px solid #e4e9e7; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(36,53,48,.04); }
.config-stage-header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding-bottom:16px; border-bottom:1px solid #edf0ef; }
.config-stage-header h3 { margin:5px 0 4px; font-size:19px; color:#1d2d2c; }
.config-stage-header p { max-width:680px; margin:0; color:#718080; font-size:12px; line-height:1.8; }
.config-choice-section { margin-top:18px; }
.config-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:10px; }
.config-section-heading strong { color:#263836; font-size:13px; }
.config-section-heading span { color:#84908f; font-size:11px; }
.product-config-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.product-config-card { display:flex; gap:9px; align-items:flex-start; min-height:74px; padding:12px; border:1px solid #e3e9e7; border-radius:10px; background:#fbfcfb; cursor:pointer; transition:.18s ease; }
.product-config-card:hover,.product-config-card.selected { border-color:#d2b358; background:#fffaf0; }
.product-config-card input,.test-selection-card input,.competitor-test-group input { margin-top:3px; accent-color:#a47b23; }
.product-config-card span,.test-selection-card span,.competitor-test-group span { min-width:0; }
.product-config-card strong,.product-config-card small,.test-selection-card strong,.test-selection-card small,.competitor-test-group strong,.competitor-test-group small { display:block; }
.product-config-card strong { font-size:12px; color:#304442; }
.product-config-card small { margin-top:4px; color:#7c8988; font-size:10px; line-height:1.65; }
.test-selection-group { margin:16px 0 0; padding:0; border:0; }
.test-selection-group legend { color:#3c4c4a; font-size:12px; font-weight:700; }
.test-selection-group > p { margin:4px 0 9px; color:#879290; font-size:10px; }
.test-selection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.test-selection-card { display:flex; gap:7px; min-height:55px; padding:9px; border:1px solid #e7ecea; border-radius:8px; background:#fcfdfc; cursor:pointer; }
.test-selection-card.selected { border-color:#d7c078; background:#fffaf0; }
.test-selection-card strong { color:#3b4d4b; font-size:10px; line-height:1.5; }
.test-selection-card small { margin-top:3px; color:#899493; font-size:9px; line-height:1.45; }
.config-finance-note { margin:12px 0 0; color:#7b6b3d; font-size:10px; }
.config-users { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:13px 0; border-top:1px solid #edf0ef; border-bottom:1px solid #edf0ef; }
.config-users > div > strong,.config-users > div > span { display:block; }
.config-users > div > strong { color:#344745; font-size:12px; }
.config-users > div > span { max-width:590px; margin-top:4px; color:#81908d; font-size:10px; line-height:1.65; }
.number-field { display:grid; grid-template-columns:auto 82px; align-items:center; gap:5px 10px; flex:0 0 auto; color:#566765; font-size:10px; }
.number-field input { width:82px; padding:8px 9px; border:1px solid #dce5e1; border-radius:7px; color:#2e403d; font:600 12px Vazirmatn,Tahoma,sans-serif; }
.number-field small { grid-column:2; color:#9aa5a2; font-size:9px; }
.config-submit-row { display:flex; align-items:center; gap:12px; margin-top:17px; }
.config-submit-row .field-help { color:#7f8d8a; font-size:10px; }
.competitor-test-config { margin-top:16px; padding:16px; border:1px solid #e6ece9; border-radius:11px; background:#fbfcfb; }
.competitor-config-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.competitor-config-grid label { display:grid; gap:5px; color:#657472; font-size:10px; }
.competitor-config-grid select,.competitor-config-grid input { width:100%; padding:8px 9px; border:1px solid #dce5e1; border-radius:7px; background:#fff; color:#314441; font:500 11px Vazirmatn,Tahoma,sans-serif; }
.competitor-test-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.competitor-test-group { display:flex; gap:8px; align-items:flex-start; padding:10px; border:1px solid #e5ebe8; border-radius:8px; background:#fff; cursor:pointer; }
.competitor-test-group:has(input:checked) { border-color:#d7c078; background:#fffaf0; }
.competitor-test-group strong { color:#3b4d4b; font-size:10px; }
.competitor-test-group small { margin-top:3px; color:#879390; font-size:9px; line-height:1.5; }
@media (max-width:900px) { .test-selection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .product-config-grid,.competitor-config-grid { grid-template-columns:1fr; } .test-selection-grid,.competitor-test-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } .config-stage-header,.config-users { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .product-config-stage { padding:14px; } .test-selection-grid,.competitor-test-groups { grid-template-columns:1fr; } .product-stage-switch { gap:5px; font-size:9px; } .stage-marker { padding-inline:7px; } }

/* Final type and contrast pass. Secondary text must remain readable on pale surfaces. */
:root { --muted:#5f6e76; --muted-2:#89979d; }
body { font-size:16px; line-height:1.7; }
.eyebrow { font-size:12px; letter-spacing:.25px; }
.sidebar .eyebrow { color:#9aabb3; }
.brand-lockup div:last-child span { color:#b2c0c5; font-size:11px; }
.workspace-label { color:#92a4ad; font-size:12px; }
.nav-item span:nth-child(2) { font-size:14px; }
.nav-count { font-size:12px; color:#c1cdd1; }
.env-row { font-size:13px; }
.env-detail { color:#a7b6bc; font-size:12px; }
.user-chip strong { font-size:12px; }
.user-chip small { color:#a2b0b6; font-size:11px; }
.breadcrumb { color:#68777e; font-size:12px; }
.topbar h1 { font-size:19px; }
.live-status { color:#52646a; font-size:12px; }
.section-kicker { color:#5f6e76; font-size:12px; }
.page-intro p { color:#5f6e76; font-size:14px; line-height:1.9; }
.compact-intro h2 { font-size:29px; }
.primary-button,.secondary-button,.ghost-button { font-size:13px; }
.text-button { color:#725b1f; font-size:12px; }
.metric-label { color:#5f6e76; font-size:13px; }
.metric-trend { font-size:12px; }
.panel-heading h3,.section-panel h3 { font-size:18px; }
.chart-y-labels,.chart-x-labels { color:#65747b; font-size:11px; }
.chart-footnote { color:#5f6e76; font-size:11px; }
.muted { color:#5f6e76; }
.status-badge { font-size:11px; }
.run-summary strong { font-size:13px; }
.run-summary p { font-size:12px; }
.progress-row { font-size:11px; }
.mini-results span,.activity-count { font-size:11px; }
.attention-row strong { font-size:13px; }
.attention-row span:not(.severity-mark):not(.priority-tag) { color:#5f6e76; font-size:11px; }
.timeline-item strong { font-size:12px; }
.timeline-item span:not(.timeline-dot) { color:#5f6e76; font-size:11px; }
.field-label { font-size:13px; }
.field-help { color:#5f6e76; font-size:12px; }
.radio-option strong,.pack-option strong { font-size:13px; }
.radio-option small,.pack-option small { color:#5f6e76; font-size:11px; }
.policy-note strong { font-size:13px; }
.policy-note p,.side-help p { color:#6a5b35; font-size:12px; }
.contract-line,.contract-line strong,.output-list span { font-size:12px; }
.run-check strong { font-size:13px; }
.run-check small,.run-check-status { color:#5f6e76; font-size:11px; }
.group-heading h3 { font-size:16px; }
.group-heading span:not(.group-icon):not(.group-score) { color:#5f6e76; font-size:11px; }
.test-row,.jira-row,.history-row { color:#53636b; font-size:12px; }
.test-row.header,.jira-row.header,.history-row.header { color:#68777e; font-size:11px; }
.test-row strong,.jira-row strong,.history-row strong { font-size:12px; }
.test-row small,.jira-row small,.history-row small { color:#5f6e76; font-size:11px; }
.finding-main strong { font-size:13px; }
.finding-main p { color:#5f6e76; font-size:12px; }
.finding-meta,.finding-owner { color:#5f6e76; font-size:11px; }
.report-section p { color:#56666d; font-size:12px; }
.report-highlights span,.action-list small { color:#5f6e76; font-size:11px; }
.action-list strong { font-size:12px; }
.team-name { font-size:12px; }
.setting-row strong { font-size:13px; }
.setting-row p,.policy-grid p { color:#5f6e76; font-size:12px; }
.policy-grid strong { font-size:13px; }
.app-footer { color:#697980; font-size:11px; }
.url-first-safe-note { color:#5f6e76; font-size:12px; }
.url-first-contract strong { font-size:14px; }
.url-first-contract span { color:#5f6e76; font-size:13px; }
.url-target-main strong { font-size:14px; }
.url-target-main small,.url-target-main span { color:#5f6e76; font-size:12px; }
.comparison-note,.competitor-footnote { color:#5f6e76; font-size:13px; }
.route-compare-row { color:#53636b; font-size:11px; }
.route-compare-row.header { color:#68777e; font-size:10px; }
.route-compare-row strong { font-size:12px; }
.route-compare-row small { color:#5f6e76; }
.auth-discovery-panel { color:#6e551b; font-size:11px; }
.auth-discovery-panel strong { font-size:12px; }
.help-guide-grid p,.help-guide-details p { color:#5e5132; font-size:13px; }
.help-guide-grid strong { font-size:14px; }

/* Public surface */
.public-brand small { color:#b4c2c5; font-size:10px; }
.public-nav a { color:#c0cccf; font-size:12px; }
.public-login-button,.public-cta-button,.hero-primary { font-size:12px; }
.landing-kicker { color:#b4c1c4; font-size:11px; }
.landing-hero-copy > p { color:#c0cbcc; font-size:15px; line-height:2; }
.landing-trust { color:#aab9bc; font-size:10px; }
.hero-visual-top,.hero-visual-footer { font-size:11px; }
.hero-visual-top small { color:#a2b3b8; font-size:11px; }
.visual-label { color:#9eb0b4; font-size:10px; }
.route-node span { font-size:11px; }
.route-node small { color:#a0b1b5; font-size:9px; }
.signal-line { color:#b1c0c2; font-size:10px; }
.signal-line b { color:#f2f4ec; font-size:10px; }
.signal-finding strong { font-size:10px; }
.signal-finding small { color:#a7b6b9; font-size:9px; }
.section-intro p,.safety-copy p { color:#56666d; font-size:14px; line-height:2; }
.feature-ledger h3 { font-size:18px; }
.feature-ledger p { color:#56666d; font-size:13px; line-height:1.95; }
.feature-ledger a { font-size:11px; }
.capabilities-heading p { color:#56666d; font-size:14px; }
.capability-card h3 { font-size:18px; }
.capability-card p { color:#56666d; font-size:13px; }
.capability-card small { color:#795c14; font-size:11px; }
.capability-card-dark p { color:#c0cbcc; }
.capability-card-dark small { color:#f1d36e; }
.capability-card-accent small { color:#795c14; }
.workflow-step strong { font-size:14px; }
.workflow-step p { color:#56666d; font-size:12px; line-height:1.95; }
.safety-list strong { font-size:14px; }
.safety-list p { color:#bdc9ca; font-size:12px; line-height:1.95; }
.report-preview-head { color:#56666d; font-size:11px; }
.report-preview-grid small { color:#5f6e76; font-size:11px; }
.report-preview-grid span,.report-preview-lines { color:#56666d; font-size:11px; }
.faq-list summary { font-size:14px; }
.faq-list p { color:#56666d; font-size:12px; line-height:1.95; }
.public-footer { color:#697980; font-size:10px; }
.public-footer a,.public-footer button { color:#56666d; font-size:10px; }
.auth-message-column > p { color:#c0cbcc; font-size:13px; }
.auth-promise strong { font-size:11px; }
.auth-promise small { color:#b4c1c4; font-size:10px; }
.auth-panel-heading strong { font-size:14px; }
.auth-panel-heading small { color:#66777b; font-size:10px; }
.auth-panel label { font-size:11px; }
.auth-field-help { color:#66777b; font-size:10px; }
.auth-submit { font-size:12px; }
.auth-message { color:#56666d; font-size:10px; }
.auth-legal { color:#68777e; font-size:9px; }

@media (max-width:760px) {
  .topbar h1 { font-size:16px; }
  .page-intro h2 { font-size:26px; }
  .panel-heading h3,.section-panel h3 { font-size:16px; }
  .metric-label { font-size:12px; }
  .metric-trend { font-size:11px; }
  .public-nav { display:none; }
  .landing-hero-copy > p { font-size:13px; }
  .landing-hero-copy h1 { font-size:42px; line-height:1.18; }
  .landing-kicker { font-size:10px; }
  .capability-card h3 { font-size:16px; }
  .capability-card p { font-size:12px; }
  .capability-card small { font-size:10px; }
  .workflow-step strong { font-size:13px; }
  .workflow-step p,.safety-list p,.faq-list p { font-size:11px; }
  .faq-list summary { font-size:13px; }
}

/* Final contrast pass: gold is an accent, not body text on a pale surface. */
.page-intro h2 em,
.landing-section .section-intro h2 em,
.workflow-section .workflow-heading h2 em,
.final-cta h2 em,
.capabilities-heading h2 em { color:#8a6912; }
.safety-copy h2 em,
.auth-message-column h1 em { color:#f3d167; }

/* Raise compact public labels so the visual remains readable at a glance. */
.public-brand small { color:#bdc9cc; font-size:11px; }
.landing-trust { color:#bdc9cc; font-size:11px; }
.hero-visual-top,.hero-visual-footer { font-size:12px; }
.visual-label { color:#bcc8c8; font-size:11px; }
.route-node span { font-size:12px; }
.route-node small { color:#b0bec0; font-size:10px; }
.signal-line { color:#c1cccb; font-size:11px; }
.signal-line b { font-size:11px; }
.signal-finding strong { font-size:11px; }
.signal-finding small { color:#b2c0c2; font-size:10px; }
.public-footer { font-size:11px; }
.public-footer a,.public-footer button { font-size:11px; }
.auth-back-row,.auth-back { font-size:11px; }
.auth-promise small { color:#bdc9cc; font-size:11px; }
.auth-panel-heading small { color:#66777b; font-size:11px; }
.auth-field-help { color:#66777b; font-size:11px; }
.auth-message { color:#56666d; font-size:11px; }
.auth-legal { color:#68777e; font-size:10px; }

@media (max-width:760px) {
  .landing-kicker { font-size:11px; }
  .hero-visual-top,.hero-visual-footer { font-size:11px; }
  .public-footer { font-size:11px; }
}

/* Give the landing page a shorter rhythm and clear visual bands between sections. */
.landing-hero { min-height:670px; height:min(100svh,760px); }
.landing-section { padding-top:92px; padding-bottom:92px; }
.product-section,
.report-preview-section { background:#fff; border-top:1px solid #e4e7e2; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.capabilities-section { background:#eef1ee; border-top:1px solid #dfe5df; box-shadow:0 0 0 100vmax #eef1ee; clip-path:inset(0 -100vmax); padding-top:78px; padding-bottom:92px; }
.workflow-section { background:#e7ede9; border-top:1px solid #d8e1dc; padding-top:82px; padding-bottom:82px; }
.safety-section { padding-top:88px; padding-bottom:88px; }
.faq-section { background:#f7f6f1; border-top:1px solid #e2e5df; padding-top:38px; padding-bottom:76px; }
.final-cta { margin-bottom:38px; padding-top:43px; padding-bottom:43px; }
.landing-section .landing-kicker,
.final-cta .landing-kicker { color:#56666d; }
.landing-section .landing-kicker i,
.final-cta .landing-kicker i { background:#b18b28; }

/* Replace the tilted mockup with a calmer, compact evidence view. */
.landing-hero { min-height:650px; height:min(100svh,720px); }
.hero-visual { min-height:0; transform:none; border-radius:24px; padding:22px; background:linear-gradient(145deg,#263b47,#1a2b35); border-color:rgba(255,255,255,.16); animation:visualEnterClean .9s .12s cubic-bezier(.2,.75,.2,1) both; }
.hero-visual-body { min-height:300px; margin:16px 0 14px; padding:16px; background:#12242d; border-color:rgba(255,255,255,.1); }
.hero-route-column { border-left-color:rgba(255,255,255,.13); }
.route-node { background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.11); }
.route-node-main { background:rgba(243,209,103,.11); border-color:rgba(243,209,103,.62); }
.signal-line i { background:rgba(255,255,255,.12); }
.hero-visual-footer { padding-top:12px; }
@keyframes visualEnterClean { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:none; } }

@media (max-width:900px) {
  .landing-hero { height:auto; min-height:0; padding-top:124px; padding-bottom:58px; }
  .landing-section { padding-top:66px; padding-bottom:66px; }
  .capabilities-section { padding-top:62px; padding-bottom:72px; }
  .workflow-section,
  .safety-section { padding-top:66px; padding-bottom:66px; }
  .report-preview-section { padding-top:66px; padding-bottom:66px; }
  .faq-section { padding-top:32px; padding-bottom:62px; }
  .final-cta { margin-bottom:30px; padding-top:34px; padding-bottom:34px; }
}

@media (max-width:560px) {
  .landing-hero { padding-top:116px; padding-bottom:50px; }
  .hero-visual { min-height:0; padding:13px; }
  .hero-visual-body { grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:10px; min-height:0; margin-top:14px; margin-bottom:12px; padding:12px; }
  .hero-route-column { border-left:1px solid rgba(255,255,255,.1); border-bottom:0; padding-left:10px; }
  .route-branch { margin-right:10px; }
  .route-branch-short { margin-right:22px; }
  .route-branch > span { right:-9px; }
  .route-node { grid-template-columns:20px minmax(0,1fr); gap:5px; padding:9px 7px; margin-bottom:9px; }
  .route-node b { width:20px; height:20px; }
  .route-node span { font-size:11px; line-height:1.45; }
  .route-node small { font-size:9px; line-height:1.35; }
  .signal-score { margin-bottom:14px; }
  .signal-score strong { font-size:36px; }
  .signal-line { gap:5px; margin:10px 0; }
  .signal-finding { margin-top:17px; padding-top:11px; }
  .landing-hero-actions { margin-top:22px; gap:12px; }
  .landing-trust { margin-top:17px; }
  .landing-section { padding-top:55px; padding-bottom:58px; }
  .capabilities-section { padding-top:52px; padding-bottom:64px; }
  .workflow-section,
  .safety-section { padding-top:56px; padding-bottom:56px; }
  .report-preview-section { padding-top:56px; padding-bottom:56px; }
  .faq-section { padding-top:28px; padding-bottom:54px; }
  .final-cta { margin-bottom:24px; padding-top:30px; padding-bottom:30px; }
  .workflow-step { padding-top:17px; padding-bottom:17px; }
  .safety-list > div { padding-top:17px; padding-bottom:17px; }
  .faq-list details { padding-top:17px; padding-bottom:17px; }
  .landing-kicker { font-size:12px; }
  .capability-card small { font-size:11px; }
}

/* Signup collects the minimum context needed to create a useful workspace. */
.signup-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 12px; margin-bottom:18px; }
.signup-field:first-child { grid-column:1 / -1; }
.signup-field label { margin-bottom:7px; }
.signup-field input { direction:rtl; text-align:right; font-size:13px; }
.signup-field input::placeholder { color:#879396; }

@media (max-width:560px) {
  .signup-fields { grid-template-columns:1fr; gap:11px; }
  .signup-field:first-child { grid-column:auto; }
}

/* Final responsive type pass: keep page headers and footer text separated at narrow widths. */
.public-header,
.public-header-actions,
.public-brand,
.public-footer,
.app-footer,
.topbar,
.topbar-title,
.topbar-actions { min-width:0; }
.public-header { justify-content:space-between; }
.public-brand { flex:0 0 auto; }
.public-brand > span:last-child { min-width:0; }
.public-brand strong { white-space:nowrap; line-height:1.35; }
.public-header-actions { flex:0 0 auto; margin-right:0; }
.public-cta-button { white-space:nowrap; }
.topbar-title { overflow:hidden; }
.topbar h1 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.45; }
.breadcrumb { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.topbar-actions { flex:0 0 auto; }

/* Keep the public footer on a predictable baseline instead of mixing inline and block flow. */
.public-footer {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:28px;
  row-gap:10px;
  line-height:1.7;
}
.public-footer > span { margin:0; min-width:0; }
.public-footer > span:nth-child(2) { margin-left:0; text-align:center; }
.public-footer > div {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px 18px;
  min-width:0;
}
.public-footer a,
.public-footer button { line-height:1.7; white-space:nowrap; }
.app-footer { line-height:1.7; }
.app-footer span { min-width:0; }

@media (max-width:900px) {
  .public-header { padding:20px; gap:18px; }
  .public-brand { gap:9px; }
  .public-header-actions { gap:12px; }
  .topbar { gap:12px; }
  .topbar-title { flex:1 1 auto; }
}

@media (max-width:760px) {
  .topbar { padding:0 14px; }
  .topbar-title { min-width:0; }
  .topbar h1 { font-size:16px; }
  .app-footer {
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:14px 15px 22px;
  }
  .app-footer span:nth-child(2) { display:block; }
}

@media (max-width:560px) {
  .public-header {
    padding:14px 15px;
    gap:8px;
  }
  .public-brand {
    gap:8px;
    align-items:center;
  }
  .public-brand-mark { width:36px; height:36px; border-radius:12px; }
  .public-brand strong { font-size:11px; }
  .public-brand small { display:none; }
  .public-header-actions { gap:8px; }
  .public-login-button { padding:8px 1px; font-size:10px; white-space:nowrap; }
  .public-cta-button { min-height:36px; padding:0 10px; font-size:9px; gap:6px; }
  .public-cta-button span { font-size:15px; }
  .public-footer {
    grid-template-columns:1fr;
    row-gap:8px;
    padding:0 18px 30px;
  }
  .public-footer > span:nth-child(2) { text-align:right; }
  .public-footer > div { gap:7px 20px; margin-top:3px; }
}

@media (max-width:360px) {
  .public-header { padding-left:14px; padding-right:14px; }
  .public-brand { gap:7px; }
  .public-brand strong { font-size:10px; }
  .public-brand-mark { width:34px; height:34px; }
  .public-header-actions { gap:7px; }
  .public-cta-button { font-size:8px; padding:0 8px; }
}

/* Testic mark: connected product paths ending in a verified test result. */
.public-brand-mark {
  color:transparent;
  background:#14232d url('./favicon.svg') center / cover no-repeat;
  overflow:hidden;
  box-shadow:0 8px 25px rgba(243,209,103,.14);
}
.public-brand-mark img { display:block; width:100%; height:100%; object-fit:cover; }
.report-seal {
  color:transparent;
  background:#14232d url('./favicon.svg') center / cover no-repeat;
  overflow:hidden;
}
.brand-preview .brand-logo-fallback {
  color:transparent;
  background:#14232d url('./favicon.svg') center / cover no-repeat;
}

/* Auth and legal pages share the public header; reserve its top band so the back row never sits underneath it. */
.public-auth,
.public-legal {
  padding-top:104px;
}
.public-auth .auth-back-row,
.public-legal .auth-back-row {
  position:relative;
  z-index:1;
}
.auth-layout { margin-top:46px; }
.legal-content { margin-top:66px; }

/* Short sales contact page for paid plans. It keeps the handoff human and asks only for useful contact details. */
.public-plan-request { min-height:100vh; background:#14232d; color:#fff; padding:104px max(28px,calc((100% - 1120px)/2)) 70px; }
.plan-request-shell { max-width:1120px; margin:0 auto; }
.plan-request-layout { max-width:1040px; margin:46px auto 0; display:grid; grid-template-columns:1fr .82fr; gap:104px; align-items:center; direction:rtl; }
.plan-request-copy { max-width:500px; }
.plan-request-copy h1 { margin:21px 0 18px; font-size:clamp(36px,4.8vw,61px); line-height:1.2; letter-spacing:-2.5px; }
.plan-request-copy h1 em { color:#f3d167; font-style:normal; }
.plan-request-copy>p { max-width:420px; margin:0; color:#a8b5b8; font-size:14px; line-height:2; }
.plan-request-summary { display:grid; grid-template-columns:1fr auto; gap:5px 18px; margin-top:32px; padding:19px 20px; border:1px solid rgba(243,209,103,.32); border-radius:13px; background:rgba(243,209,103,.08); }
.plan-request-summary span { grid-column:1/-1; color:#9baab0; font-size:11px; }
.plan-request-summary strong { color:#f6f4ec; font-size:20px; }
.plan-request-summary b { align-self:center; color:#f3d167; font-size:14px; text-align:left; }
.plan-request-promise { display:flex; align-items:flex-start; gap:11px; margin-top:22px; }
.plan-request-promise>span { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; border-radius:7px; color:#162630; background:#f3d167; font-size:11px; font-weight:900; }
.plan-request-promise p { margin:0; color:#84959b; font-size:12px; line-height:1.9; }
.plan-request-panel { padding:28px; border-radius:17px; background:#fbfaf6; color:#1c2c35; box-shadow:0 30px 80px rgba(0,0,0,.23); }
.plan-request-panel-heading { display:flex; align-items:center; gap:9px; padding-bottom:20px; border-bottom:1px solid #e2e3dc; }
.plan-request-panel-heading strong { display:block; font-size:16px; }
.plan-request-panel-heading small { display:block; margin-top:4px; color:#8a9697; font-size:11px; }
.plan-request-panel form { margin-top:21px; }
.plan-request-panel label { display:block; margin:15px 0 8px; color:#35434a; font-size:12px; font-weight:800; }
.plan-request-panel label:first-of-type { margin-top:0; }
.plan-request-panel label span { color:#b6514e; }
.plan-request-panel label small { color:#8a9697; font-size:10px; font-weight:600; }
.plan-request-panel input { width:100%; height:47px; border:1px solid #dfe1db; border-radius:10px; background:#fff; color:#1d2d36; outline:none; direction:ltr; text-align:left; padding:0 13px; font-size:13px; }
.plan-request-panel input:focus { border-color:#d3ae37; box-shadow:0 0 0 3px rgba(211,174,55,.13); }
.plan-request-panel .auth-submit { margin-top:22px; font-size:12px; }
.plan-request-message { min-height:24px; margin-top:13px; color:#6e7d7e; font-size:11px; line-height:1.8; }
.plan-request-message.error { color:#b6514e; }
.plan-request-message.success { color:#287c5b; }
.plan-request-legal { margin:13px 0 0; padding-top:13px; border-top:1px solid #e4e5df; color:#8d9899; font-size:10px; line-height:1.8; }
.plan-request-success { text-align:center; padding:24px 4px 10px; }
.plan-request-success-mark { width:44px; height:44px; display:grid; place-items:center; margin:0 auto 14px; border-radius:14px; background:#d8f0e2; color:#287c5b; font-size:22px; font-weight:900; }
.plan-request-success strong { display:block; font-size:19px; }
.plan-request-success p { margin:9px 0 8px; color:#6e7d7e; font-size:12px; line-height:1.9; }
.plan-request-success small { display:block; color:#9aa4a5; font:11px ui-monospace,monospace; direction:ltr; }
.plan-request-success .hero-secondary { margin-top:21px; color:#8a6b1f; font-size:11px; }
@media (max-width:900px) {
  .plan-request-layout { grid-template-columns:1fr; gap:45px; max-width:520px; }
  .plan-request-copy { max-width:none; }
}
@media (max-width:560px) {
  .public-plan-request { padding:82px 18px 35px; }
  .plan-request-layout { margin-top:42px; }
  .plan-request-copy h1 { font-size:40px; }
  .plan-request-copy>p { font-size:12px; }
  .plan-request-panel { padding:21px; }
}

@media (max-width:900px) {
  .public-auth,
  .public-legal { padding-top:88px; }
  .auth-layout { margin-top:42px; }
  .legal-content { margin-top:48px; }
}

@media (max-width:560px) {
  .public-auth,
  .public-legal { padding-top:82px; }
  .auth-layout { margin-top:42px; }
  .legal-content { margin-top:38px; }
}

/* Legal pages: long-form reading layout with clear sections, facts and mobile rhythm. */
.legal-content { max-width:980px; }
.legal-heading { max-width:760px; }
.legal-heading > p { max-width:620px; color:#a8b5b8; font-size:12px; line-height:2; margin:0; }
.legal-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:23px; padding-top:14px; border-top:1px solid rgba(255,255,255,.12); color:#7f9298; font-size:9px; line-height:1.8; }
.legal-copy { max-width:none; margin-top:36px; padding:42px 48px; }
.legal-copy > section { scroll-margin-top:32px; border-top:1px solid #e3e6df; padding-top:27px; margin-top:27px; }
.legal-copy > section:first-of-type { margin-top:31px; }
.legal-copy h2 { font-size:16px; line-height:1.6; margin:0 0 10px; }
.legal-copy p { max-width:780px; font-size:11px; line-height:2.15; color:#69787d; }
.legal-copy ul { margin:7px 0 0; padding:0 21px 0 0; color:#69787d; }
.legal-copy li { font-size:11px; line-height:2.05; margin:7px 0; padding-right:4px; }
.legal-copy li::marker { color:#c39e2e; }
.legal-callout { margin-top:24px; padding:15px 17px; border-right:3px solid #58cb91; background:#edf6f0; color:#47645a; font-size:11px; line-height:2; }
.legal-callout strong { color:#244a3d; }
.legal-callout-warn { border-right-color:#d3ae37; background:#fff7d9; color:#725f28; }
.legal-callout-warn strong { color:#574516; }
.legal-index { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px 16px; margin-top:30px; padding:18px 0 2px; border-top:1px solid #e3e6df; border-bottom:1px solid #e3e6df; }
.legal-index strong { grid-column:1 / -1; color:#263740; font-size:10px; }
.legal-index a { color:#8b6b1f; font-size:10px; line-height:1.7; text-decoration:none; }
.legal-index a:hover { color:#4b6f63; text-decoration:underline; }
.legal-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin-top:5px; }
.legal-facts > div { display:flex; flex-direction:column; gap:6px; border-top:1px solid #e3e6df; padding:16px 0 13px; }
.legal-facts > div:nth-child(-n+2) { border-top:0; padding-top:5px; }
.legal-facts strong { color:#263740; font-size:11px; }
.legal-facts span { color:#758287; font-size:10px; line-height:1.9; }

@media (max-width:760px) {
  .legal-copy { padding:30px 25px; }
  .legal-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-facts { grid-template-columns:1fr; }
  .legal-facts > div:nth-child(2) { border-top:1px solid #e3e6df; padding-top:16px; }
}

@media (max-width:560px) {
  .legal-heading h1 { font-size:39px; letter-spacing:-1.5px; }
  .legal-heading > p { font-size:11px; }
  .legal-meta { display:block; font-size:9px; }
  .legal-meta span { display:block; margin-top:4px; }
  .legal-copy { margin-top:27px; padding:24px 19px; border-radius:13px; }
  .legal-copy .legal-lead { font-size:12px; line-height:2; padding-bottom:19px; margin-bottom:19px; }
  .legal-callout { font-size:10px; padding:12px 13px; }
  .legal-copy h2 { font-size:15px; }
  .legal-copy p,
  .legal-copy li { font-size:11px; line-height:2.05; }
  .legal-index { grid-template-columns:1fr; gap:7px; padding:15px 0 3px; }
  .legal-index a { font-size:11px; }
  .legal-copy > section { padding-top:22px; margin-top:22px; }
}

.flow-policy-note{display:flex;align-items:flex-start;gap:12px;background:var(--gold-pale);border:1px solid #f0dda1;border-radius:14px;padding:15px 17px;margin-bottom:22px}.flow-policy-note .lock-icon{font-size:20px}.flow-policy-note strong{display:block;font-size:11px;color:#7c5e13}.flow-policy-note p{color:#9a7d35;font-size:9px;line-height:1.8;margin:4px 0 0}.flow-builder-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:23px;align-items:start}.flow-builder-form,.flow-library-panel{padding:0;overflow:hidden}.flow-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0 24px 20px}.flow-form-fields .field-label{display:flex;flex-direction:column;gap:8px}.flow-form-fields input,.flow-form-fields select,.flow-step input,.flow-step select{width:100%;height:40px;background:#fbfcfa;border:1px solid #dfe3de;border-radius:9px;padding:0 10px;color:var(--ink);font-size:10px;outline:0}.flow-form-fields input:focus,.flow-form-fields select:focus,.flow-step input:focus,.flow-step select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,170,46,.1)}.flow-steps-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flow-steps-heading h3{margin-top:5px}.flow-step-list{display:flex;flex-direction:column;gap:12px;padding:16px 24px}.flow-step{border:1px solid var(--line);border-radius:12px;background:#fbfcfa;padding:13px}.flow-step-top{display:grid;grid-template-columns:30px 1fr 1fr 28px;gap:10px;align-items:end}.flow-step-top .step-number{width:28px;height:28px;font-size:10px}.flow-step-type-label,.flow-step-label-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:8px;font-weight:700}.flow-step-type-label select,.flow-step-label-field input{height:34px;background:#fff;font-size:9px}.flow-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0 0 40px;padding-top:12px;border-top:1px solid var(--line)}.flow-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:8px;font-weight:700}.flow-field input,.flow-field select{height:34px;background:#fff;font-size:9px}.flow-field-ms{position:relative}.flow-field-ms span{position:absolute;left:10px;bottom:10px;color:#9aa5a7;font-size:8px}.flow-field-ms input{padding-left:28px}.flow-form-actions{display:flex;align-items:center;gap:12px;padding:17px 24px 23px;border-top:1px solid var(--line)}.flow-form-actions .field-help{margin:0}.custom-flows-list{display:flex;flex-direction:column;gap:10px;padding:0 18px 20px}.custom-flow-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfa}.custom-flow-card>div:first-child{display:flex;align-items:flex-start;gap:10px}.flow-card-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#8d7022;background:var(--gold-pale);font-size:16px}.custom-flow-card strong{display:block;font-size:10px}.custom-flow-card small{display:block;color:var(--muted);font-size:8px;line-height:1.7;margin-top:4px;word-break:break-word;direction:ltr;text-align:right}.custom-flow-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:8px}.custom-flow-card-meta .secondary-button{min-height:31px;padding:0 10px;font-size:9px}.flow-run-status{margin:0 18px 20px;padding:15px;border:1px solid #e7d58f;border-radius:12px;background:#fffdf4}.flow-run-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.flow-run-heading h3{margin-top:5px}.flow-run-status .big-progress{margin:16px 0 10px}.flow-run-status .big-progress strong{font-size:11px;min-width:40px}.flow-run-detail{margin:0;color:var(--muted);font-size:9px}.flow-run-steps{display:flex;flex-direction:column;gap:6px;margin-top:13px}.flow-run-step{display:grid;grid-template-columns:20px 1fr;gap:3px 7px;align-items:center;padding:7px 9px;border-radius:8px;background:#f4f6f1;color:var(--muted)}.flow-run-step>span{grid-row:1 / span 2;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#dfe6df;font-size:9px}.flow-run-step.passed>span{background:var(--green);color:#fff}.flow-run-step.failed>span{background:var(--red);color:#fff}.flow-run-step strong{font-size:9px;color:var(--ink)}.flow-run-step small{font-size:8px}.flow-run-error{color:#a33b35;background:#fff0ee;border:1px solid #f0c1bc;border-radius:8px;padding:8px;font-size:8px;line-height:1.7}
.credential-capture-form{position:fixed;right:0;bottom:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.credential-username{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}

@media (max-width:760px){.flow-builder-layout{grid-template-columns:1fr}.flow-form-fields{grid-template-columns:1fr}.flow-step-fields{grid-template-columns:1fr;margin-right:0}.flow-step-top{grid-template-columns:28px 1fr 28px}.flow-step-label-field{grid-column:2 / -1}.flow-step-type-label{font-size:9px}.flow-step-type-label select{font-size:10px}.custom-flow-card-meta{align-items:flex-start;flex-direction:column}}

/* Product screenshot hero: one readable surface that shows the actual job of Testic. */
:root { --font-ui:'Vazirmatn', Tahoma, 'Segoe UI', sans-serif; }
html, body,
button, input, select, textarea { font-family:var(--font-ui); }
.baseline-route-chips span,
.feature-index,
.safety-list > div > span,
.capability-index,
.hero-visual-top small,
.jira-key,
.run-id { font-family:var(--font-ui); font-variant-numeric:tabular-nums; }

.hero-visual {
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  transform:none;
  animation:none;
}
.product-shot-window {
  overflow:hidden;
  width:100%;
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  background:#eff5f1;
  box-shadow:0 30px 70px rgba(0,0,0,.28), 0 0 0 8px rgba(255,255,255,.035);
  direction:rtl;
  animation:visualEnterClean .9s .12s cubic-bezier(.2,.75,.2,1) both;
}
.product-shot-chrome {
  min-height:54px;
  display:grid;
  grid-template-columns:1fr minmax(210px,1.3fr) 1fr;
  align-items:center;
  gap:16px;
  padding:0 19px;
  background:#fbfdfb;
  border-bottom:1px solid #dce6e0;
  direction:ltr;
}
.shot-window-dots { display:flex; align-items:center; gap:6px; }
.shot-window-dots i { width:8px; height:8px; border-radius:50%; background:#c8d4ce; }
.shot-window-dots i:first-child { background:#d9b84c; }
.shot-url {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:8px 12px;
  border:1px solid #dfe8e1;
  border-radius:9px;
  background:#f3f7f4;
  color:#526b66;
  text-align:center;
  direction:ltr;
  font-size:10px;
  font-weight:600;
}
.shot-url span { color:#899b96; font-weight:500; }
.shot-url b { margin-left:7px; color:#328062; font-size:9px; }
.shot-live { display:flex; align-items:center; justify-content:flex-end; gap:7px; color:#4d7264; direction:rtl; font-size:10px; font-weight:700; }
.shot-live i { width:7px; height:7px; border-radius:50%; background:#38a979; box-shadow:0 0 0 4px rgba(56,169,121,.12); }
.product-shot-body { min-height:418px; display:flex; background:#edf3ef; }
.shot-sidebar { width:150px; flex:0 0 150px; padding:20px 13px; background:#162c35; color:#fff; }
.shot-brand { display:flex; align-items:center; gap:8px; padding:0 5px 20px; border-bottom:1px solid rgba(255,255,255,.11); }
.shot-brand-mark { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; overflow:hidden; background:#263f49; }
.shot-brand-mark img { width:100%; height:100%; object-fit:cover; }
.shot-brand strong { color:#f5f3e9; font-size:13px; }
.shot-workspace { padding:20px 6px 9px; color:#849aa0; font-size:9px; font-weight:700; }
.shot-nav { display:flex; align-items:center; gap:8px; min-height:35px; padding:0 8px; border-radius:8px; color:#9fb0b3; font-size:10px; }
.shot-nav + .shot-nav { margin-top:4px; }
.shot-nav i { width:15px; color:currentColor; font-style:normal; text-align:center; }
.shot-nav span { flex:1; }
.shot-nav b { min-width:17px; padding:2px 4px; border-radius:99px; background:rgba(255,255,255,.1); color:#d9e2de; text-align:center; font-size:8px; }
.shot-nav.active { background:rgba(240,205,91,.14); color:#f2d267; }
.shot-nav.active i { color:#f2d267; }
.shot-main { min-width:0; flex:1; padding:22px 23px 18px; background:#f6faf7; color:#20343b; }
.shot-main-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:17px; }
.shot-main-heading small { display:block; color:#748883; font-size:9px; margin-bottom:4px; }
.shot-main-heading strong { display:block; color:#1d343a; font-size:17px; letter-spacing:-.35px; }
.shot-success { flex:0 0 auto; padding:6px 9px; border:1px solid #b7dfcc; border-radius:7px; background:#e9f7ef; color:#2d805e; font-size:9px; font-weight:800; }
.shot-stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:13px; }
.shot-stat-row > div { min-width:0; padding:11px 12px 10px; border:1px solid #dfe9e2; border-radius:10px; background:#fff; }
.shot-stat-row small { display:block; overflow:hidden; color:#778984; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.shot-stat-row strong { display:inline-block; margin-top:6px; color:#1c353c; font-size:22px; line-height:1; }
.shot-stat-row span { margin-right:4px; color:#8a9b97; font-size:8px; }
.shot-evidence-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:11px; }
.shot-route-map, .shot-result { min-width:0; min-height:226px; padding:14px; border:1px solid #dfe9e2; border-radius:12px; background:#fff; }
.shot-section-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; color:#29434a; font-size:10px; font-weight:800; }
.shot-section-title b { color:#6f8c82; font-size:8px; font-weight:700; white-space:nowrap; }
.shot-route-line { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:7px; align-items:center; padding:10px 0; border-top:1px solid #edf1ed; }
.shot-route-line > i { width:19px; height:19px; display:grid; place-items:center; border-radius:6px; background:#dff2e7; color:#2d8b62; font-size:10px; font-style:normal; font-weight:900; }
.shot-route-line > i.attention { background:#fff0d5; color:#a87819; }
.shot-route-line strong { display:block; overflow:hidden; color:#30484d; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.shot-route-line small { display:block; overflow:hidden; margin-top:3px; color:#7c8d89; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.shot-route-line > span { color:#318160; font-size:8px; font-weight:800; }
.shot-route-line:last-child > span { color:#a87819; }
.shot-score-ring { width:112px; height:112px; display:grid; place-items:center; align-content:center; margin:15px auto 13px; border:8px solid #e7f0e9; border-top-color:#d3ac36; border-left-color:#e2c75f; border-radius:50%; }
.shot-score-ring strong { color:#203940; font-size:24px; line-height:1; }
.shot-score-ring span { margin-top:5px; color:#789087; font-size:8px; }
.shot-progress { display:flex; align-items:center; gap:8px; direction:ltr; }
.shot-progress > span { height:6px; flex:1; overflow:hidden; border-radius:99px; background:#e8efea; }
.shot-progress > span i { display:block; height:100%; border-radius:inherit; background:#d5b13e; }
.shot-progress b { color:#637a73; direction:rtl; font-size:8px; white-space:nowrap; }
.shot-finding { display:flex; align-items:center; gap:7px; margin-top:16px; padding-top:11px; border-top:1px solid #edf1ed; }
.shot-finding > i { width:19px; height:19px; display:grid; place-items:center; border-radius:6px; background:#fff0d5; color:#a87819; font-size:10px; font-style:normal; font-weight:900; }
.shot-finding strong { display:block; color:#465d5a; font-size:9px; }
.shot-finding small { display:block; margin-top:3px; color:#82918d; font-size:8px; }
.shot-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding-top:12px; border-top:1px solid #dfe9e2; color:#70847e; font-size:9px; }
.shot-footer span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shot-footer span:first-child { display:flex; align-items:center; gap:6px; color:#388463; }
.shot-footer i { width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:#43ad7c; }
.hero-visual-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 3px 0; color:#9fb0b3; font-size:10px; }
.hero-visual-caption > span { display:flex; align-items:center; gap:7px; }
.hero-visual-caption > span i { width:6px; height:6px; border-radius:50%; background:#f3d167; }
.hero-visual-caption small { color:#7f959b; font-size:9px; }

@media (max-width:900px) {
  .product-shot-body { min-height:0; }
  .shot-sidebar { width:136px; flex-basis:136px; }
  .shot-main { padding:20px 18px 16px; }
}

@media (max-width:560px) {
  .product-shot-window { border-radius:18px; box-shadow:0 20px 42px rgba(0,0,0,.24); }
  .product-shot-chrome { min-height:45px; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; padding:0 11px; }
  .shot-window-dots { gap:4px; }
  .shot-window-dots i { width:6px; height:6px; }
  .shot-url { padding:6px 7px; font-size:8px; }
  .shot-url b { margin-left:3px; font-size:7px; }
  .shot-live { font-size:8px; }
  .shot-live i { width:6px; height:6px; }
  .shot-sidebar { width:92px; flex-basis:92px; padding:14px 7px; }
  .shot-brand { justify-content:center; padding:0 0 13px; }
  .shot-brand strong, .shot-workspace, .shot-nav span, .shot-nav b { display:none; }
  .shot-nav { justify-content:center; min-height:34px; padding:0; }
  .shot-nav i { font-size:13px; }
  .shot-main { padding:14px 11px 12px; }
  .shot-main-heading { margin-bottom:11px; }
  .shot-main-heading small { font-size:7px; }
  .shot-main-heading strong { font-size:12px; }
  .shot-success { padding:4px 6px; font-size:7px; }
  .shot-stat-row { gap:5px; margin-bottom:8px; }
  .shot-stat-row > div { padding:8px 6px; border-radius:7px; }
  .shot-stat-row small { font-size:7px; }
  .shot-stat-row strong { margin-top:4px; font-size:16px; }
  .shot-stat-row span { margin-right:1px; font-size:6px; }
  .shot-evidence-grid { gap:6px; }
  .shot-route-map, .shot-result { min-height:180px; padding:9px 8px; border-radius:8px; }
  .shot-section-title { margin-bottom:4px; font-size:8px; }
  .shot-section-title b { font-size:6px; }
  .shot-route-line { grid-template-columns:16px minmax(0,1fr) auto; gap:4px; padding:7px 0; }
  .shot-route-line > i { width:15px; height:15px; font-size:8px; }
  .shot-route-line strong { font-size:7px; }
  .shot-route-line small { margin-top:1px; font-size:6px; }
  .shot-route-line > span { font-size:6px; }
  .shot-score-ring { width:78px; height:78px; margin:10px auto 8px; border-width:6px; }
  .shot-score-ring strong { font-size:16px; }
  .shot-score-ring span { margin-top:3px; font-size:6px; }
  .shot-progress { gap:4px; }
  .shot-progress > span { height:4px; }
  .shot-progress b { font-size:6px; }
  .shot-finding { gap:4px; margin-top:9px; padding-top:7px; }
  .shot-finding > i { width:15px; height:15px; font-size:8px; }
  .shot-finding strong { font-size:6px; }
  .shot-finding small { margin-top:1px; font-size:5px; }
  .shot-footer { margin-top:8px; padding-top:8px; font-size:6px; }
  .hero-visual-caption { align-items:flex-start; flex-direction:column; gap:4px; padding-top:10px; font-size:9px; }
  .hero-visual-caption small { font-size:8px; }
}

/* Progress always reads left-to-right, even inside the RTL product shell. */
.progress-track { direction:ltr; text-align:left; }
.progress-track i { margin-left:0; margin-right:auto; transform-origin:left center; }

/* In-dashboard help: the same product story, readable at a glance while working. */
.help-page-intro .secondary-button { white-space:nowrap; }
.help-page-flow { padding:0; overflow:hidden; }
.help-page-flow .table-title, .help-page-card .table-title { padding:22px 24px 18px; border-bottom:1px solid var(--line); }
.help-flow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.help-flow-steps > div { min-width:0; padding:20px 22px 21px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.help-flow-steps > div:nth-child(3n) { border-left:0; }
.help-flow-steps b { display:grid; place-items:center; width:27px; height:27px; margin-bottom:12px; border:1px solid #d5b548; border-radius:50%; color:#98751c; font-size:10px; }
.help-flow-steps strong, .help-type-list strong, .help-fact-list strong { display:block; color:var(--ink); font-size:11px; }
.help-flow-steps p, .help-type-list p, .help-fact-list p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.9; }
.help-page-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:23px; margin-top:23px; align-items:start; }
.help-page-card { min-width:0; padding:0; overflow:hidden; }
.help-type-list, .help-fact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.help-type-list > div, .help-fact-list > div { min-width:0; padding:17px 20px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.help-type-list > div:nth-child(2n), .help-fact-list > div:nth-child(2n) { border-left:0; }
.help-type-list strong, .help-fact-list strong { color:#9a761b; }
.help-page-note { margin:0; padding:15px 20px 20px; color:#8c782f; background:#fffdf3; font-size:9px; line-height:1.9; }
.help-page-safety { display:flex; align-items:flex-start; gap:12px; margin-top:23px; padding:18px 20px; border:1px solid #efdda2; border-radius:14px; background:var(--gold-pale); }
.help-page-safety .lock-icon { flex:0 0 auto; font-size:20px; }
.help-page-safety strong { display:block; color:#795d16; font-size:11px; }
.help-page-safety p { max-width:820px; margin:5px 0 0; color:#907531; font-size:10px; line-height:1.9; }
.help-page-safety .status-badge { margin-right:auto; flex:0 0 auto; }
@media (max-width:900px) {
  .help-flow-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .help-flow-steps > div:nth-child(3n) { border-left:1px solid var(--line); }
  .help-flow-steps > div:nth-child(2n) { border-left:0; }
  .help-page-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .help-page-intro .secondary-button { width:100%; white-space:normal; }
  .help-flow-steps, .help-type-list, .help-fact-list { grid-template-columns:1fr; }
  .help-flow-steps > div, .help-type-list > div, .help-fact-list > div { border-left:0; }
  .help-flow-steps > div:nth-child(3n), .help-flow-steps > div:nth-child(2n) { border-left:0; }
  .help-page-safety { flex-wrap:wrap; }
  .help-page-safety .status-badge { margin-right:32px; }
}

/* Public guide: a calm reference page for the product, not another marketing block. */
.public-guide { min-height:100vh; padding:104px max(28px,calc((100% - 1120px)/2)) 55px; background:#14232d; color:#f5f3e9; }
.guide-shell { max-width:1120px; margin:0 auto; }
.guide-hero { display:grid; grid-template-columns:1fr .78fr; gap:86px; align-items:center; margin:54px 0 92px; direction:rtl; }
.guide-hero-copy { max-width:560px; }
.guide-hero-copy h1 { margin:20px 0 18px; color:#f5f3e9; font-size:clamp(39px,5vw,66px); line-height:1.18; letter-spacing:-2.4px; }
.guide-hero-copy h1 em { color:#f3d167; font-style:normal; }
.guide-hero-copy > p { max-width:480px; margin:0; color:#c0cbcc; font-size:14px; line-height:2; }
.guide-hero-actions { display:flex; align-items:center; gap:22px; margin-top:29px; }
.guide-text-link { color:#c5d0d0; font-size:11px; text-decoration:none; }
.guide-text-link span { margin-right:6px; color:#f3d167; font-size:15px; }
.guide-flow-preview { padding:19px 21px; border:1px solid #d7e3dc; border-radius:17px; background:#f4f8f5; color:#203940; box-shadow:0 25px 60px rgba(0,0,0,.2); }
.guide-flow-preview-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:13px; border-bottom:1px solid #dce7df; color:#2f4b51; font-size:11px; font-weight:800; }
.guide-flow-preview-head b { color:#7c8e88; font-size:9px; }
.guide-flow-preview-step { display:grid; grid-template-columns:27px minmax(0,1fr) auto; gap:9px; align-items:center; padding:12px 0; border-bottom:1px solid #e7eee8; }
.guide-flow-preview-step:last-child { border-bottom:0; padding-bottom:2px; }
.guide-flow-preview-step > i { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:#e3ece6; color:#668078; font-size:10px; font-style:normal; font-weight:800; }
.guide-flow-preview-step.active > i { background:#e9ce62; color:#293b3d; }
.guide-flow-preview-step strong { display:block; color:#30484d; font-size:10px; }
.guide-flow-preview-step small { display:block; margin-top:3px; color:#758883; font-size:8px; }
.guide-flow-preview-step > span { color:#668078; font-size:8px; font-weight:700; }
.guide-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:66px; align-items:start; direction:rtl; }
.guide-index { position:sticky; top:105px; display:flex; flex-direction:column; gap:0; padding:15px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.guide-index > span { margin-bottom:11px; color:#83979d; font-size:10px; font-weight:800; }
.guide-index a { padding:7px 0; color:#b7c4c5; font-size:10px; text-decoration:none; transition:color .18s, transform .18s; }
.guide-index a:hover { color:#f3d167; transform:translateX(-3px); }
.guide-content { min-width:0; }
.guide-section { display:grid; grid-template-columns:43px minmax(0,1fr); gap:19px; padding:0 0 51px; margin-bottom:51px; border-bottom:1px solid rgba(255,255,255,.13); scroll-margin-top:105px; }
.guide-section:last-child { margin-bottom:0; }
.guide-section-number { padding-top:4px; color:#f0cc5e; font-size:11px; font-weight:800; direction:ltr; }
.guide-section .eyebrow { color:#83979d; font-size:10px; }
.guide-section h2 { margin:9px 0 13px; color:#f5f3e9; font-size:clamp(24px,3vw,37px); line-height:1.35; letter-spacing:-1px; }
.guide-section p { max-width:760px; margin:0; color:#b7c5c5; font-size:12px; line-height:2; }
.guide-callout { display:flex; align-items:flex-start; gap:8px; max-width:760px; margin-top:19px; padding:13px 15px; border-right:3px solid #e1bc43; background:rgba(239,206,94,.09); color:#d7d6bc; font-size:11px; line-height:1.9; }
.guide-callout strong { color:#f0cf6a; white-space:nowrap; }
.guide-callout-green { border-right-color:#55bc8a; background:rgba(85,188,138,.09); }
.guide-callout-green strong { color:#83d3ad; }
.guide-step-list { max-width:780px; margin-top:19px; border-top:1px solid rgba(255,255,255,.13); }
.guide-step-list > div { display:grid; grid-template-columns:30px minmax(0,1fr); gap:13px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.guide-step-list > div > b { width:25px; height:25px; display:grid; place-items:center; border:1px solid #d8b845; border-radius:50%; color:#f0cf69; font-size:10px; }
.guide-step-list strong { display:block; color:#f3f2e9; font-size:13px; }
.guide-step-list p { margin-top:4px; font-size:11px; }
.guide-type-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; max-width:800px; margin-top:18px; border-top:1px solid rgba(255,255,255,.13); }
.guide-type-list > div { padding:17px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.guide-type-list strong { display:block; color:#f3d167; font-size:12px; }
.guide-type-list span { display:block; margin-top:6px; color:#b7c5c5; font-size:11px; line-height:1.9; }
.guide-muted-note { margin-top:16px !important; color:#899da2 !important; font-size:10px !important; }
.guide-fact-list, .guide-result-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; max-width:800px; margin-top:17px; border-top:1px solid rgba(255,255,255,.13); }
.guide-fact-list > div, .guide-result-list > div { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.guide-fact-list strong { display:block; color:#f3d167; font-size:12px; }
.guide-fact-list span, .guide-result-list span { display:block; margin-top:5px; color:#b7c5c5; font-size:11px; line-height:1.9; }
.guide-result-list b { display:block; color:#f3d167; direction:ltr; font-size:11px; }
.guide-output-line { display:flex; align-items:center; justify-content:space-between; gap:15px; max-width:800px; margin-top:21px; padding-top:14px; border-top:1px solid rgba(255,255,255,.13); color:#8da1a4; font-size:10px; }
.guide-output-line strong { color:#e4e5d6; font-size:10px; direction:ltr; text-align:left; }
.guide-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:800px; margin-top:18px; }
.guide-two-column > div { padding-top:16px; border-top:1px solid rgba(255,255,255,.16); }
.guide-two-column strong { display:block; color:#f3d167; font-size:13px; }
.guide-two-column p { margin-top:7px; font-size:11px; }
.guide-bottom-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:92px; padding:31px 0 12px; border-top:1px solid rgba(255,255,255,.15); }
.guide-bottom-cta h2 { margin:10px 0 5px; color:#f5f3e9; font-size:25px; }
.guide-bottom-cta p { margin:0; color:#a9b9ba; font-size:11px; }

@media (max-width:900px) {
  .public-guide { padding-top:88px; }
  .guide-hero { grid-template-columns:1fr; gap:42px; margin-top:45px; margin-bottom:70px; }
  .guide-layout { grid-template-columns:1fr; gap:35px; }
  .guide-index { position:static; flex-direction:row; flex-wrap:wrap; gap:4px 18px; padding:12px 0; }
  .guide-index > span { width:100%; margin-bottom:2px; }
  .guide-index a { padding:5px 0; }
}

@media (max-width:560px) {
  .public-guide { padding:80px 18px 35px; }
  .guide-hero { gap:32px; margin:35px 0 54px; }
  .guide-hero-copy h1 { font-size:40px; letter-spacing:-1.5px; }
  .guide-hero-copy > p { font-size:12px; }
  .guide-hero-actions { align-items:stretch; flex-direction:column; gap:15px; }
  .guide-hero-actions .hero-primary { width:100%; }
  .guide-text-link { text-align:center; }
  .guide-flow-preview { padding:14px; border-radius:13px; }
  .guide-flow-preview-step { grid-template-columns:24px minmax(0,1fr) auto; gap:7px; padding:10px 0; }
  .guide-flow-preview-step > i { width:22px; height:22px; font-size:9px; }
  .guide-flow-preview-step strong { font-size:9px; }
  .guide-flow-preview-step small { font-size:7px; }
  .guide-section { grid-template-columns:27px minmax(0,1fr); gap:10px; padding-bottom:37px; margin-bottom:37px; }
  .guide-section h2 { font-size:25px; }
  .guide-section p { font-size:11px; }
  .guide-type-list, .guide-fact-list, .guide-result-list, .guide-two-column { grid-template-columns:1fr; gap:0; }
  .guide-output-line { align-items:flex-start; flex-direction:column; gap:7px; }
  .guide-output-line strong { text-align:right; }
  .guide-bottom-cta { align-items:flex-start; flex-direction:column; margin-top:54px; gap:21px; }
  .guide-bottom-cta .hero-primary { width:100%; }
}

.public-experience.guide-mode .public-footer {
  max-width:none;
  padding-left:max(28px,calc((100% - 1120px)/2));
  padding-right:max(28px,calc((100% - 1120px)/2));
  color:#9db0b3;
  background:#14232d;
  box-shadow:0 0 0 100vmax #14232d;
  clip-path:inset(0 -100vmax);
}
.public-experience.guide-mode .public-footer > span:first-child,
.public-experience.guide-mode .public-footer a,
.public-experience.guide-mode .public-footer button { color:#c0cccd; }

/* Human product voice: clear hierarchy, quiet controls, and less ornamental motion. */
.public-header { border-bottom:1px solid rgba(255,255,255,.08); }
.public-cta-button,
.hero-primary,
.primary-button,
.secondary-button,
.ghost-button { font-weight:700; letter-spacing:0; }
.public-cta-button,
.hero-primary { box-shadow:0 8px 18px rgba(0,0,0,.12); }
.public-cta-button:hover,
.hero-primary:hover { transform:translateY(-1px); }
.landing-hero-copy h1 { letter-spacing:-1.5px; }
.landing-hero-copy > p,
.section-intro p,
.capabilities-heading p,
.workflow-step p,
.faq-list p { max-width:620px; }
.feature-ledger article,
.capability-card { transition:background .2s, padding .2s; }
.feature-ledger article:hover { background:#f7f8f5; padding-right:12px; padding-left:12px; }
.capability-card:hover { background:#f7f9f6; }
.capability-card-dark:hover { background:#1b323c; }
.capability-card-accent:hover { background:#f0ead2; }

/* Final readable type floor: utility copy should be easy to scan without
   changing the product's calm density or forcing wide layouts to overflow. */
.status-badge,
.priority-tag,
.policy-chip,
.filter-button,
.settings-tab,
.competitor-tab,
.source-check { font-size:12px; line-height:1.45; }
.chart-y-labels,
.chart-x-labels,
.chart-footnote,
.progress-row,
.mini-results span,
.activity-count,
.attention-row span:not(.severity-mark):not(.priority-tag),
.timeline-item span:not(.timeline-dot),
.run-check small,
.run-check-status { font-size:12px; line-height:1.65; }
.attention-row strong,
.run-check strong,
.timeline-item strong { font-size:14px; line-height:1.55; }
.test-row,
.jira-row,
.history-row,
.competitor-table,
.route-compare-row { font-size:13px; line-height:1.55; }
.test-row.header,
.jira-row.header,
.history-row.header,
.route-compare-row.header,
.competitor-table th { font-size:12px; line-height:1.5; }
.test-row strong,
.jira-row strong,
.history-row strong,
.competitor-table td strong,
.route-compare-row strong { font-size:13px; line-height:1.55; }
.test-row small,
.jira-row small,
.history-row small,
.competitor-table td small,
.route-compare-row small,
.competitor-footnote { font-size:12px; line-height:1.65; }
.finding-main strong { font-size:14px; line-height:1.55; }
.finding-main p,
.finding-meta,
.finding-owner,
.report-section p,
.report-highlights span,
.action-list small,
.setting-row p,
.policy-grid p { font-size:12px; line-height:1.8; }
.action-list strong,
.team-name,
.setting-row strong,
.policy-grid strong { font-size:14px; line-height:1.55; }
.competitor-table .status-badge,
.feature-status { font-size:11px; }
.feature-insight,
.opportunity-card p,
.change-item p,
.source-item small,
.comparison-note { font-size:12px; line-height:1.75; }
.opportunity-card strong,
.change-item strong,
.source-item strong { font-size:13px; line-height:1.55; }
.flow-policy-note p,
.flow-run-detail,
.flow-run-error,
.custom-flow-card small { font-size:12px; line-height:1.75; }
.flow-step-type-label,
.flow-step-label-field,
.flow-field { font-size:11px; line-height:1.5; }
.flow-form-fields input,
.flow-form-fields select,
.flow-step input,
.flow-step select,
.flow-step-type-label select,
.flow-step-label-field input,
.flow-field input,
.flow-field select { font-size:12px; }
.custom-flow-card strong,
.flow-run-step strong { font-size:12px; line-height:1.55; }
.flow-run-step small,
.custom-flow-card-meta,
.flow-run-step>span { font-size:11px; }
.auth-discovery-panel,
.auth-scope-actions button,
.otp-progress,
.stop-run-button { font-size:12px; }
.auth-discovery-panel strong { font-size:13px; }

/* Public pages use the same readable scale as the workspace. */
.public-brand small,
.public-nav a,
.public-login-button,
.public-cta-button,
.hero-primary,
.landing-kicker,
.landing-trust,
.hero-visual-top,
.hero-visual-footer,
.visual-label,
.route-node span,
.signal-line,
.signal-line b,
.signal-finding strong,
.public-footer,
.public-footer a,
.public-footer button { font-size:12px; line-height:1.6; }
.route-node small,
.signal-finding small,
.hero-visual-caption small { font-size:11px; line-height:1.6; }
.landing-hero-copy > p,
.section-intro p,
.capabilities-heading p,
.feature-ledger p,
.workflow-step p,
.safety-list p,
.faq-list p { font-size:13px; line-height:2; }
.capability-card p { font-size:12px; line-height:1.95; }
.capability-card small,
.feature-ledger a,
.report-preview-head,
.report-preview-grid small,
.report-preview-grid span,
.report-preview-lines { font-size:12px; line-height:1.7; }
.auth-back-row,
.auth-back,
.auth-promise strong,
.auth-panel label,
.auth-field-help,
.auth-message,
.auth-dev-link { font-size:12px; line-height:1.7; }
.auth-promise small,
.auth-panel-heading small,
.auth-legal { font-size:11px; line-height:1.8; }
.auth-panel-heading strong,
.auth-tab { font-size:13px; }
.legal-heading > p,
.legal-copy p,
.legal-copy li,
.legal-callout,
.legal-facts span { font-size:12px; line-height:2; }
.legal-meta,
.legal-index a,
.legal-index strong,
.legal-facts strong { font-size:12px; line-height:1.8; }

/* The guide and the small product preview are also content, not microcopy. */
.guide-text-link,
.guide-index a,
.guide-index > span,
.guide-section .eyebrow,
.guide-callout,
.guide-output-line,
.guide-output-line strong,
.guide-bottom-cta p { font-size:12px; line-height:1.9; }
.guide-section p,
.guide-step-list p,
.guide-type-list span,
.guide-fact-list span,
.guide-result-list span,
.guide-two-column p { font-size:12px; line-height:2; }
.guide-type-list strong,
.guide-fact-list strong,
.guide-two-column strong { font-size:13px; }
.guide-flow-preview-head,
.guide-flow-preview-step strong { font-size:12px; }
.guide-flow-preview-head b,
.guide-flow-preview-step small,
.guide-flow-preview-step > span { font-size:10px; line-height:1.55; }
.help-flow-steps strong,
.help-type-list strong,
.help-fact-list strong { font-size:13px; }
.help-flow-steps p,
.help-type-list p,
.help-fact-list p,
.help-page-note,
.help-page-safety p { font-size:12px; line-height:1.9; }

@media (max-width:760px) {
  .test-row,
  .jira-row,
  .history-row,
  .competitor-table,
  .route-compare-row { font-size:12px; }
  .test-row strong,
  .jira-row strong,
  .history-row strong,
  .competitor-table td strong,
  .route-compare-row strong { font-size:12px; }
  .finding-main strong,
  .action-list strong,
  .team-name,
  .setting-row strong,
  .policy-grid strong { font-size:13px; }
  .landing-hero-copy > p,
  .section-intro p,
  .capabilities-heading p,
  .feature-ledger p,
  .workflow-step p,
  .safety-list p,
  .faq-list p { font-size:12px; }
  .public-header .public-login-button,
  .public-header .public-cta-button { font-size:11px; }
}

@media (max-width:560px) {
  .public-brand strong { font-size:12px; }
  .public-login-button,
  .public-cta-button,
  .hero-primary { font-size:11px; }
  .landing-hero-copy > p { font-size:13px; }
  .public-footer,
  .public-footer a,
  .public-footer button { font-size:12px; }
  .route-node span,
  .signal-line,
  .signal-line b { font-size:11px; }
  .route-node small,
  .signal-finding small { font-size:10px; }
  .shot-url,
  .shot-live,
  .shot-section-title,
  .shot-footer { font-size:9px; }
  .shot-url b,
  .shot-section-title b,
  .shot-route-line > span,
  .shot-progress b { font-size:8px; }
  .shot-main-heading small,
  .shot-stat-row small,
  .shot-route-line small,
  .shot-score-ring span,
  .shot-finding small,
  .hero-visual-caption small { font-size:8px; }
  .shot-success,
  .shot-route-line strong,
  .shot-finding strong { font-size:9px; }
  .guide-flow-preview-step strong { font-size:10px; }
  .guide-flow-preview-step small,
  .guide-flow-preview-step > span { font-size:10px; }
  .guide-section p,
  .guide-step-list p,
  .guide-type-list span,
  .guide-fact-list span,
  .guide-result-list span,
  .guide-two-column p { font-size:12px; }
  .legal-heading > p,
  .legal-copy p,
  .legal-copy li,
  .legal-callout,
  .legal-facts span { font-size:12px; }
  .flow-step-type-label,
  .flow-step-label-field,
  .flow-field { font-size:11px; }
}

@media (max-width:360px) {
  .public-login-button { font-size:11px; }
  .public-cta-button { font-size:10px; }
}

/* Keep the product preview visually separate from the header and hero copy. */
@media (min-width:901px) {
  .landing-hero .hero-visual { margin-top:48px; }
}

@media (max-width:900px) {
  .landing-hero .hero-visual { margin-top:18px; }
}

/* The hero product preview is a live UI mock, so its labels need the same
   reading scale as the rest of the landing page. */
.shot-url,
.shot-live,
.shot-nav,
.shot-section-title,
.shot-footer { font-size:12px; line-height:1.55; }
.shot-url b,
.shot-nav b,
.shot-section-title b,
.shot-progress b { font-size:10px; line-height:1.5; }
.shot-workspace,
.shot-main-heading small,
.shot-stat-row small,
.shot-route-line small,
.shot-score-ring span,
.shot-finding small,
.hero-visual-caption small { font-size:11px; line-height:1.6; }
.shot-workspace { font-size:11px; }
.shot-main-heading small,
.shot-stat-row small,
.shot-route-line small,
.shot-score-ring span { font-size:11px; }
.shot-main-heading strong { font-size:19px; line-height:1.45; }
.shot-success { font-size:10px; line-height:1.5; }
.shot-route-line strong { font-size:12px; line-height:1.5; }
.shot-route-line > span { font-size:11px; line-height:1.5; }
.shot-score-ring strong { font-size:28px; }
.shot-finding strong { font-size:11px; line-height:1.5; }
.hero-visual-caption { font-size:11px; line-height:1.7; }

@media (max-width:560px) {
  .shot-url,
  .shot-live,
  .shot-section-title,
  .shot-footer { font-size:11px; }
  .shot-url b,
  .shot-section-title b,
  .shot-route-line > span,
  .shot-progress b { font-size:9px; }
  .shot-main-heading small,
  .shot-stat-row small,
  .shot-route-line small,
  .shot-score-ring span,
  .shot-finding small,
  .hero-visual-caption small { font-size:9px; }
  .shot-main-heading strong { font-size:16px; }
  .shot-success,
  .shot-route-line strong,
  .shot-finding strong { font-size:11px; }
  .shot-stat-row span { font-size:9px; }
  .shot-score-ring strong { font-size:21px; }
  .hero-visual-caption { font-size:10px; }
}

/* Close the remaining legacy microcopy overrides in the workspace. */
.progress-row strong,
.run-panel .secondary-button,
.field-state,
.field-label small#qualityConfigSummary,
.device-option strong,
.device-option small,
.otp-gate > p,
.otp-meta,
.current-test strong,
.current-test span:not(.current-icon),
.group-score,
.findings-summary,
.report-brand span:last-child,
.report-score span,
.report-score small,
.action-list li > span,
.team-row > strong,
.competitor-scope-note strong,
.competitor-scope-note p,
.competitor-metrics-strip span,
.competitor-otp > p,
.jira-connection strong,
.jira-connection span:not(.connection-icon):not(.status-badge),
.jira-key,
.run-id,
.setting-row select,
.help-flow-steps b { font-size:12px; line-height:1.7; }
.demo-note,
.otp-queue { font-size:11px; line-height:1.7; }
.report-score span,
.report-score small,
.action-list li > span,
.team-row > strong { font-size:11px; }
.field-state { line-height:1.45; }
.competitor-url-workspace .table-title p { font-size:12px; line-height:1.75; }
.pack-check,
.output-icon,
.side-help > span,
.help-flow-steps b { line-height:1; }

/* Live route discovery stays in the shell while the user moves between pages. */
.live-scan-indicator { display:inline-flex; align-items:center; gap:8px; min-width:205px; max-width:290px; min-height:38px; padding:6px 10px; border:1px solid #ead58e; border-radius:10px; background:#fff9df; color:#6e591b; text-align:right; direction:rtl; cursor:pointer; }
.live-scan-indicator:hover { border-color:#d7b943; background:#fff6cd; }
.live-scan-indicator > span:nth-child(2) { min-width:0; flex:1; }
.live-scan-indicator strong,.live-scan-indicator small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.live-scan-indicator strong { font-size:10px; line-height:1.35; }
.live-scan-indicator small { margin-top:2px; color:#917b3d; font-size:9px; direction:rtl; }
.live-scan-indicator > b { flex:0 0 auto; font-size:11px; color:#8f6d19; }
.route-discovery-live { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:14px; padding:11px 13px; border:1px solid #e8ecee; border-radius:10px; background:#fbfcfa; }
.route-discovery-live > div { display:flex; align-items:center; gap:8px; min-width:0; }
.route-discovery-live strong,.route-discovery-live small { display:block; }
.route-discovery-live strong { font-size:11px; }
.route-discovery-live small { max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7b8990; font:500 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; direction:ltr; text-align:right; }
.route-discovery-live > span { flex:0 0 auto; color:#68787c; font-size:10px; }
.route-spinner { width:15px; height:15px; flex:0 0 auto; border:2px solid #e8dbab; border-top-color:#bd9225; border-radius:50%; animation:spin 1s linear infinite; }
.route-discovery-live.complete .route-spinner { border:0; background:#4f9b7b; position:relative; animation:none; }
.route-discovery-live.complete .route-spinner::after { content:'✓'; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:10px; }
.baseline-route-chips { align-items:flex-start; }
.baseline-route-chip { display:inline-flex; align-items:center; gap:5px; }
.baseline-route-chip i { width:5px; height:5px; flex:0 0 auto; border-radius:50%; background:#4f9b7b; }
.baseline-route-chip b { color:#6e9b88; font:600 9px/1.4 Vazirmatn,Tahoma,sans-serif; }
.baseline-route-chip.inaccessible { background:#fff4f2; color:#a4605b; }
.baseline-route-chip.inaccessible i { background:#ca756d; }
.baseline-route-chip.inaccessible b { color:#b56b65; }
.baseline-more { display:inline-flex; align-items:center; min-height:25px; padding:4px 8px; border-radius:6px; color:#78858a; background:#f5f7f6; font-size:10px; }
.team-health > .team-row:nth-child(3) .team-bar i { width:63%; }
.team-health > .team-row:nth-child(4) .team-bar i { width:71%; }
.team-health > .team-row:nth-child(5) .team-bar i { width:88%; }
@media (max-width:760px) {
  .live-scan-indicator { min-width:0; max-width:170px; padding:5px 7px; }
  .live-scan-indicator small { display:none; }
  .live-scan-indicator strong { font-size:9px; }
  .route-discovery-live { align-items:flex-start; flex-direction:column; gap:7px; }
}

/* Keep compact previews and live status readable even at narrow widths. */
.shot-url b,
.shot-nav b,
.shot-section-title b,
.shot-progress b,
.shot-main-heading small,
.shot-stat-row small,
.shot-route-line small,
.shot-score-ring span,
.shot-finding small,
.hero-visual-caption small,
.baseline-route-chip b { font-size:11px; }
.shot-success,
.shot-route-line strong,
.shot-finding strong,
.baseline-more { font-size:11px; }
.live-scan-indicator strong { font-size:11px; }
.live-scan-indicator small,
.route-discovery-live small,
.route-discovery-live > span { font-size:11px; }

@media (max-width:560px) {
  .shot-url b,
  .shot-nav b,
  .shot-section-title b,
  .shot-progress b,
  .shot-main-heading small,
  .shot-stat-row small,
  .shot-route-line small,
  .shot-score-ring span,
  .shot-finding small,
  .hero-visual-caption small { font-size:10px; }
  .shot-stat-row span { font-size:10px; }
  .live-scan-indicator strong { font-size:10px; }
}

/* Final product polish: clearer hierarchy, stronger contrast, predictable RTL
   and safer wrapping across the workspace. */
:root {
  --muted: #5f7078;
  --muted-2: #7e8c93;
  --line: #dfe6e3;
  --surface-2: #f5f7f5;
  --surface-3: #edf2ef;
  --gold: #b88916;
  --gold-bright: #e4bb45;
  --gold-pale: #fff9e5;
  --shadow: 0 12px 28px rgba(27,38,46,.055);
}

html, body { overflow-x: hidden; }
body { font-size: 14px; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { line-height: 1.7; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(184,137,22,.32); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .62; transform: none !important; box-shadow: none !important; }
.main-content, .content-wrap, .view, .section-panel, .topbar, .app-footer { direction: rtl; }
.main-content, .content-wrap, .view, .section-panel { min-width: 0; }
.content-wrap { max-width: 1680px; }
.dashboard-grid > *, .lower-grid > *, .run-layout > *, .report-grid > *, .settings-layout > * { min-width: 0; }
.topbar-title, .page-intro > div, .panel-heading > div, .finding-main, .current-test > div, .run-summary > div, .url-target-main { min-width: 0; }
.eyebrow, .breadcrumb, .section-kicker { font-size: 12px; letter-spacing: 0; line-height: 1.8; }
.breadcrumb { direction: rtl; text-align: right; }
.page-intro h2 { font-size: clamp(25px, 2.2vw, 32px); line-height: 1.45; }
.page-intro p, .section-panel p, .field-help, .setting-row p { font-size: 13px; line-height: 1.95; }
.panel-heading h3, .section-panel h3 { font-size: 17px; line-height: 1.6; }
.metric-label, .metric-trend, .activity-count, .chart-footnote, .timeline-item span:not(.timeline-dot), .attention-row span:not(.severity-mark):not(.priority-tag) { font-size: 12px; line-height: 1.7; }
.metric-value { font-size: 31px; }
.primary-button, .secondary-button, .ghost-button { min-height: 44px; padding-inline: 18px; font-size: 13px; line-height: 1.55; white-space: normal; }
.text-button { font-size: 13px; line-height: 1.6; }
.status-badge, .priority-tag, .policy-chip { font-size: 12px; line-height: 1.5; }
.status-badge { padding: 6px 11px; }
.metric-strip, .section-panel, .library-group, .findings-list, .competitor-panel, .jira-connection { border-color: var(--line); }
.metric-strip, .dashboard-grid, .lower-grid { gap: 22px; }
.metric-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-block { min-width: 0; }
.metric-block .metric-trend { overflow-wrap: anywhere; }
.attention-row strong, .timeline-item strong, .finding-main strong, .test-row strong, .history-row strong, .jira-row strong { font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
.attention-row, .finding-row, .timeline-item, .test-row, .history-row, .jira-row { min-width: 0; }
.attention-row span:not(.severity-mark):not(.priority-tag), .finding-meta, .test-row small, .history-row small, .jira-row small { overflow-wrap: anywhere; }
.run-summary strong, .current-test strong, .run-check strong { font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
.run-summary p, .current-test span:not(.current-icon), .run-check small, .run-check-status { font-size: 12px; line-height: 1.75; }
.field-label, .radio-option strong, .pack-option strong, .device-option strong { font-size: 13px; line-height: 1.75; }
.radio-option small, .pack-option small, .device-option small { font-size: 12px; line-height: 1.75; }
.field-row select, .setting-row select, .search-input input, .target-urls-input, .number-field input, .wide-setting-input { font-size: 13px; }
.target-urls-input, .search-input, .field-row select, .setting-row select, .number-field input, .wide-setting-input { min-height: 44px; }
.target-urls-input, .number-field input, .wide-setting-input { width: 100%; border: 1px solid #d8e1dd; border-radius: 11px; background: #fff; color: var(--ink); padding: 10px 13px; outline: 0; }
.target-urls-input:focus, .number-field input:focus, .wide-setting-input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184,137,22,.13); }
.target-urls-input::placeholder, input::placeholder { color: #8d9aa0; opacity: 1; }
.url-first-contract, .policy-note, .side-help, .product-help-guide, .competitor-scope-note { color: #5c6d73; }
.url-first-contract strong, .policy-note strong, .side-help strong { color: #4d5f65; }
.url-first-contract span, .policy-note p, .side-help p { color: #66777d; }
.route-discovery-live small, .baseline-route-chip, .technical-id, .run-id, .jira-key { direction: ltr; unicode-bidi: plaintext; }
.route-discovery-live small, .baseline-route-chip { text-align: right; }
.baseline-route-chip { max-width: 100%; overflow-wrap: anywhere; }
.baseline-route-chip b { font-size: 12px; }
.table-title, .config-stage-header, .settings-heading, .help-guide-heading { gap: 16px; }
.table-title h3, .config-stage-header h3 { line-height: 1.65; }
.test-table, .jira-table, .history-table, .competitor-table-wrap { scrollbar-color: #c7d0cd transparent; }
.app-footer { direction: rtl; text-align: right; flex-wrap: wrap; gap: 10px 24px; font-size: 12px; line-height: 1.8; }
.app-footer span:nth-child(2) { direction: rtl; }
.toast { font-size: 12px; line-height: 1.8; max-width: min(420px, calc(100vw - 32px)); }
.live-scan-indicator strong, .live-scan-indicator small, .route-discovery-live strong, .route-discovery-live > span { font-size: 12px; line-height: 1.7; }

/* Shared pagination keeps long operational lists scannable without hiding the total. */
.list-pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:14px 2px 2px; border-top:1px solid var(--line); direction:rtl; flex-wrap:wrap; }
.pagination-summary { color:var(--muted); font-size:12px; line-height:1.7; white-space:nowrap; }
.pagination-controls { display:flex; align-items:center; justify-content:flex-start; gap:6px; flex-wrap:wrap; }
.pagination-button { min-width:36px; min-height:36px; padding:6px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-size:12px; line-height:1; cursor:pointer; transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.pagination-button:hover:not(:disabled) { border-color:#d5b948; color:#826716; background:var(--gold-pale); transform:translateY(-1px); }
.pagination-button.active { border-color:var(--ink); background:var(--ink); color:#fff; cursor:default; }
.pagination-button:disabled { opacity:.42; cursor:not-allowed; }
.pagination-ellipsis { min-width:18px; color:var(--muted-2); text-align:center; font-size:14px; }
.finding-list .list-pagination, .findings-list .list-pagination { padding-inline:18px; padding-bottom:14px; }
.history-table > .list-pagination, .jira-table > .list-pagination { padding-inline:23px; padding-bottom:16px; }
.library-group .test-table > .list-pagination { min-width:730px; padding-inline:23px; padding-bottom:16px; }
.baseline-target-block > .list-pagination { margin-top:0; padding-inline:0; }
.baseline-route-chips + .list-pagination { margin-top:10px; }
.run-checklist .list-pagination, .flow-run-steps .list-pagination { margin-top:10px; padding-inline:0; }
.competitor-panel > .list-pagination { margin-inline:22px; width:calc(100% - 44px); }
.url-first-comparison .list-pagination { margin-top:10px; }
@media (max-width: 620px) {
  .list-pagination { align-items:stretch; flex-direction:column; gap:9px; }
  .pagination-summary { white-space:normal; }
  .pagination-controls { width:100%; justify-content:space-between; }
  .pagination-button { min-height:38px; }
  .library-group .test-table > .list-pagination { min-width:0; }
  .competitor-panel > .list-pagination { margin-inline:14px; width:calc(100% - 28px); }
}

@media (max-width: 1100px) {
  .content-wrap { padding-inline: 28px; }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
  .metric-block:nth-child(2) { border-left: 0; }
}

@media (max-width: 760px) {
  .sidebar { border-bottom: 1px solid rgba(255,255,255,.08); }
  .brand-lockup { padding-bottom: 15px; }
  .content-wrap { padding: 28px 18px 24px; }
  .topbar { padding-inline: 18px; }
  .topbar-title { flex: 1; }
  .topbar h1 { font-size: 17px; }
  .page-intro h2 { font-size: 28px; }
  .page-intro p, .section-panel p, .field-help, .setting-row p { font-size: 13px; }
  .metric-strip { gap: 20px 16px; padding: 20px 18px; }
  .metric-label, .metric-trend { font-size: 12px; }
  .metric-value { font-size: 28px; }
  .panel-heading h3, .section-panel h3 { font-size: 16px; }
  .attention-row strong, .timeline-item strong, .finding-main strong, .test-row strong, .history-row strong, .jira-row strong { font-size: 13px; }
  .app-footer { align-items: flex-start; font-size: 12px; }
  .app-footer span { max-width: 100%; }
  .app-footer span:nth-child(2) { display: block; }
  .run-policy-chips { justify-content: flex-start; }
  .policy-chip { font-size: 12px; }
  .product-help-guide, .run-config-panel, .run-side-panel, .report-section, .team-health, .settings-content { border-radius: 15px; }
  .url-first-actions .primary-button { width: 100%; }
  .config-submit-row { align-items: stretch; }
  .config-submit-row .primary-button { width: 100%; }
}

@media (max-width: 480px) {
  .content-wrap { padding-inline: 14px; }
  .topbar { padding-inline: 14px; }
  .topbar-actions { gap: 7px; }
  .topbar-actions .icon-button { width: 36px; height: 36px; }
  .page-intro h2 { font-size: 25px; }
  .metric-strip { grid-template-columns: 1fr 1fr; padding-inline: 15px; }
  .metric-value { font-size: 25px; }
  .primary-button, .secondary-button, .ghost-button { width: 100%; }
  .panel-heading { align-items: flex-start; }
  .panel-heading > .status-badge, .panel-heading > .text-button { flex: 0 0 auto; }
  .finding-meta { display: grid; grid-template-columns: 1fr; gap: 4px; }
  .app-footer { padding-inline: 14px; }
}

@media (max-width:1100px) {
  /* Give the two workbench columns enough reading width on tablets. */
  .flow-builder-layout,
  .settings-layout { grid-template-columns:1fr; }
  .settings-nav {
    flex-direction:row;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .settings-tab { white-space:nowrap; }
  .setting-row {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:12px;
  }
  .setting-row > div:first-child { flex:1 1 360px; }
  .setting-row > select,
  .setting-row > button,
  .setting-row > .toggle-row,
  .setting-row > .setting-control-inline {
    flex:0 1 auto;
    max-width:100%;
  }
  .setting-control-inline { min-width:0; }
}

/* Responsive workspace shell: keep the navigation and environment status
   inside the viewport while allowing only the long navigation list to scroll. */
.app-shell { min-height:100svh; }
.app-shell .sidebar {
  height:100svh;
  min-height:0;
  overflow:hidden;
}
.app-shell .main-nav {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
.app-shell .sidebar-spacer { display:none; }
.app-shell .environment-card {
  flex:0 0 auto;
  min-width:0;
  margin-top:14px;
  overflow:hidden;
}
.app-shell .env-row,
.app-shell .env-row strong,
.app-shell .env-detail,
.app-shell .user-chip > span { min-width:0; }
.app-shell .env-row strong,
.app-shell .env-detail,
.app-shell .user-chip strong,
.app-shell .user-chip small {
  overflow-wrap:anywhere;
  word-break:break-word;
}
.app-shell .env-row strong { text-align:right; }
.app-shell .env-detail { line-height:1.7; }
.app-shell .main-content { min-width:0; overflow-x:clip; }
.app-shell .content-wrap { min-width:0; width:100%; }
.app-shell .app-footer { min-width:0; }
.mobile-sidebar-close { display:none; }

@media (max-width:760px) {
  .app-shell { display:block; min-height:100svh; }
  .app-shell .sidebar {
    position:static;
    width:100%;
    height:auto;
    min-height:auto;
    max-height:none;
    overflow:visible;
    display:block;
  }
  .app-shell .main-nav {
    flex:none;
    min-height:auto;
    max-height:none;
    overflow:visible;
  }
  .app-shell .environment-card { margin-top:12px; }
  .app-shell .sidebar.mobile-open {
    position:fixed;
    inset:0;
    width:100%;
    height:100svh;
    max-height:100svh;
    overflow-y:auto;
    overflow-x:hidden;
    display:flex;
    flex-direction:column;
    z-index:20;
  }
  .app-shell .mobile-sidebar-close {
    display:none;
  }
  .app-shell .sidebar.mobile-open .mobile-sidebar-close {
    display:grid;
    place-items:center;
    position:fixed;
    top:14px;
    left:14px;
    right:auto;
    z-index:30;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(255,255,255,.35);
    border-radius:10px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:22px;
    line-height:1;
  }
  .app-shell .sidebar.mobile-open .main-nav {
    flex:0 0 auto;
    min-height:auto;
    max-height:none;
    overflow:visible;
  }
  .app-shell .sidebar.mobile-open .environment-card {
    flex:0 0 auto;
    margin-top:12px;
  }
  .app-shell .sidebar.mobile-open .user-chip { margin-bottom:4px; }
}

@media (max-width:480px) {
  .app-shell .environment-card { padding:11px 12px 10px; }
  .app-shell .env-row { font-size:12px; }
  .app-shell .env-detail { font-size:11px; line-height:1.75; }
  .app-shell .app-footer { padding-inline:14px; }
}

/* Sales-facing landing section: explain the buying path without inventing fixed pricing. */
.plans-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start; }
.plans-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.plan-card { min-width:0; min-height:310px; display:flex; flex-direction:column; align-items:flex-start; padding:24px 20px 20px; border:1px solid #dfe1da; background:#fff; border-radius:14px; box-shadow:0 12px 30px rgba(28,42,53,.045); }
.plan-card-featured { border-color:#d5b54b; background:#172a34; color:#f6f4ec; box-shadow:0 20px 42px rgba(23,42,52,.15); }
.plan-index { color:#ae8a27; font:10px ui-monospace,monospace; direction:ltr; }
.plan-card h3 { margin:22px 0 6px; font-size:19px; color:#1b2b35; }
.plan-card-featured h3 { color:#f6f4ec; }
.plan-card strong { display:block; color:#7d6524; font-size:14px; line-height:1.7; }
.plan-card-featured strong { color:#f3d167; }
.plan-card p { margin:13px 0 20px; color:#78858a; font-size:13px; line-height:1.9; }
.plan-card-featured p { color:#b7c2c2; }
.plan-feature-list { width:100%; list-style:none; display:grid; gap:7px; margin:0 0 20px; padding:0; color:#5e6d70; font-size:11px; line-height:1.65; }
.plan-feature-list li { position:relative; padding-right:15px; }
.plan-feature-list li::before { content:'✓'; position:absolute; right:0; color:#ae8a27; font-weight:800; }
.plan-card-featured .plan-feature-list { color:#d1dbd9; }
.plan-card .hero-primary,.plan-card .hero-secondary { margin-top:auto; min-height:40px; font-size:12px; }
.plan-card .hero-secondary { padding:0 2px; color:#8a6b1f; }
.plan-badge { align-self:flex-end; padding:4px 7px; border-radius:99px; background:#f1d879; color:#574615; font-size:10px; font-weight:800; }
.plans-note { grid-column:2; margin:0; color:#8a9698; font-size:12px; line-height:1.8; }
@media (max-width:1100px) {
  .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .plans-section { grid-template-columns:1fr; gap:38px; }
  .plans-note { grid-column:auto; }
}
@media (max-width:620px) {
  .plans-grid { grid-template-columns:1fr; }
  .plan-card { min-height:0; }
}

@media (max-width:760px) {
  .discovery-contract { grid-template-columns:1fr; margin-inline:17px; }
  .discovery-contract-points { justify-content:flex-start; }
  .discovery-actions { padding-inline:17px; align-items:stretch; flex-direction:column; }
  .discovery-actions .primary-button { width:100%; }
  .discovery-results-head { padding-inline:17px; align-items:flex-start; flex-direction:column; }
  .discovery-result-actions { width:100%; }
  .discovery-result-actions button { flex:1; }
  .discovery-candidate-list { padding-inline:17px; }
  .discovery-candidate { grid-template-columns:24px minmax(0,1fr); }
  .discovery-candidate-group { grid-column:2; }
  .source-list { padding-inline:17px; }
  .source-group-toolbar { align-items:stretch; flex-direction:column; }
  .source-group-actions { justify-content:stretch; }
  .source-group-actions select,.source-group-actions button { flex:1; }
}

/* Workspace operations stay usable on a VPS-sized desktop and collapse cleanly on mobile. */
.settings-control-panel { margin-top:18px; padding:22px; }
.workspace-ops-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.workspace-ops-card { min-width:0; padding:17px; border:1px solid #e4e5df; border-radius:13px; background:#fff; }
.workspace-ops-card-wide { grid-column:1/-1; }
.ops-card-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:13px; }
.ops-card-heading strong { color:#24363e; font-size:13px; }
.ops-card-heading span { color:#8c989a; font-size:10px; }
.inline-ops-form { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.inline-ops-form input,.inline-ops-form select { min-width:0; height:38px; padding:0 10px; border:1px solid #dfe1db; border-radius:8px; background:#fbfcfa; color:#273940; font:inherit; font-size:11px; }
.inline-ops-form input { flex:1; direction:ltr; text-align:left; }
.inline-ops-form select { width:112px; }
.inline-ops-form .secondary-button { flex:none; min-height:38px; padding-inline:12px; white-space:nowrap; }
.role-help { display:grid; gap:3px; margin:-4px 0 14px; padding:9px 11px; border:1px solid #ead9a0; border-radius:9px; background:#fff9e8; color:#5b4a22; font-size:10px; line-height:1.8; }
.role-help strong { color:#8b651f; }
.role-help span { color:#776c51; }
.workspace-role-legend { display:grid; gap:7px; margin:0 0 14px; padding:11px; border:1px solid #e8ece8; border-radius:10px; background:#f8faf7; }
.workspace-role-legend-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:2px; }
.workspace-role-legend-heading strong { color:#24363e; font-size:11px; }
.workspace-role-legend-heading span { color:#8c989a; font-size:9px; }
.workspace-role-item { display:grid; grid-template-columns:75px minmax(0,1fr); gap:2px 8px; padding:7px 0; border-top:1px solid #e9ede8; font-size:9px; line-height:1.7; }
.workspace-role-item strong { grid-row:span 2; color:#8b651f; font-size:10px; }
.workspace-role-item span { color:#526168; }
.workspace-role-item small { grid-column:2; color:#899598; font-size:8px; }
.ops-list { display:grid; gap:7px; max-height:168px; overflow:auto; }
.ops-list-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:8px 9px; border:1px solid #edf0eb; border-radius:8px; background:#fafbf8; font-size:10px; }
.ops-list-row > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-list-row small { display:block; color:#8c989a; font-size:9px; margin-top:2px; }
.ops-list-row .row-action { flex:none; }
.usage-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.usage-metric { padding:10px; border-radius:9px; background:#f5f6f1; }
.usage-metric strong { display:block; color:#24363e; font-size:16px; }
.usage-metric span { color:#899598; font-size:9px; }
.schedule-form label { display:flex; align-items:center; gap:6px; color:#7f8d90; font-size:10px; white-space:nowrap; }
@media (max-width:720px) {
  .workspace-ops-grid { grid-template-columns:1fr; }
  .workspace-ops-card-wide { grid-column:auto; }
  .inline-ops-form { flex-wrap:wrap; }
  .inline-ops-form input { flex:1 1 180px; }
  .schedule-form label { flex:1 1 150px; }
  .schedule-form label select { flex:1; width:auto; }
  .workspace-role-legend-heading { align-items:flex-start; flex-direction:column; gap:1px; }
  .workspace-role-item { grid-template-columns:66px minmax(0,1fr); }
}

/* Testic visual system: clearer contrast, stronger brand presence and calmer controls. */
:root {
  --gold: #a87512;
  --gold-bright: #f2ca5c;
  --muted: #66757c;
  --line: #dfe6e4;
  --shadow: 0 16px 38px rgba(27, 38, 46, .07);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(190, 143, 34, .34);
  outline-offset: 3px;
}

.public-brand-mark,
.public-brand-mark.small,
.brand-mark-wrap,
.report-seal,
.shot-brand-mark {
  background: #10252f;
  border: 1px solid rgba(244, 201, 93, .3);
  box-shadow: 0 10px 24px rgba(16, 37, 47, .22);
}

.public-brand-mark img,
.brand-mark-wrap img,
.report-seal img,
.shot-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-brand strong { font-size: 16px; letter-spacing: -.5px; }
.public-brand small { color: #b9c7c8; font-size: 10px; }
.brand-lockup strong { font-size: 17px; }
.brand-lockup div:last-child span { font-size: 11px; }

.landing-kicker,
.section-kicker,
.eyebrow { letter-spacing: .15px; }
.landing-kicker { font-size: 11px; }
.section-intro h2 em,
.workflow-heading h2 em,
.final-cta h2 em,
.page-intro h2 em { color: #a87512; }
.feature-index,
.feature-ledger a,
.faq-list summary span { color: #94670f; }
.feature-ledger,
.workflow-steps,
.faq-list { border-color: #d5dedb; }
.feature-ledger article,
.workflow-step,
.faq-list details { border-color: #d5dedb; }

.landing-hero-copy > p { color: #c3cecf; }
.landing-trust { font-size: 10px; }
.hero-secondary { font-size: 11px; }
.hero-visual { border-color: rgba(244, 201, 93, .22); }

.nav-item span:nth-child(2) { font-size: 13px; }
.nav-item { min-height: 46px; }
.topbar h1 { font-size: 17px; }
.content-wrap { padding-top: 42px; }
.page-intro h2 { font-size: 32px; }
.page-intro p { font-size: 13px; color: #63727a; }
.section-panel,
.metric-strip { border-color: #dbe4e1; box-shadow: var(--shadow); }
.section-panel h3,
.panel-heading h3 { font-size: 16px; }

.auth-panel { border: 1px solid rgba(244, 201, 93, .16); }
.auth-panel-heading strong { font-size: 15px; }
.auth-panel-heading small { font-size: 10px; }
.auth-panel label { font-size: 11px; }
.auth-panel input { font-size: 13px; }
.auth-field-help,
.auth-message { font-size: 10px; }

.app-footer { margin-top: auto; }

@media (max-width: 900px) {
  .public-brand strong { font-size: 15px; }
  .landing-kicker { font-size: 10px; }
  .page-intro h2 { font-size: 28px; }
}

@media (max-width: 560px) {
  .public-brand strong { font-size: 13px; }
  .public-brand-mark { width: 38px; height: 38px; }
  .landing-trust { align-items: flex-start; line-height: 1.7; }
  .page-intro h2 { font-size: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.integration-config-form { margin:0 24px 22px; padding-top:17px; border-top:1px solid var(--line); }.integration-config-form > strong { display:block; font-size:10px; color:var(--ink); }.integration-config-form p { color:var(--muted); font-size:8px; line-height:1.8; margin:5px 0 10px; }.integration-config-form > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px; }.integration-config-form input { min-width:0; height:34px; }.integration-config-form .secondary-button { min-height:34px; font-size:9px; }
@media (max-width:760px){.integration-config-form{margin-inline:18px}.integration-config-form > div{grid-template-columns:1fr}}

/* Team delivery and baseline history stay operational, compact, and readable. */
.page-intro-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.team-connections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.team-connections .jira-connection { margin-bottom:0; min-width:0; }
.trello-icon { color:#1f6f8b; background:#e2f1f4; }
.trello-table { margin-top:18px; padding-bottom:0; }
.trello-table a { color:#8d7022; text-decoration:none; }
.trello-table a:hover { text-decoration:underline; }
.trello-setup { margin-top:18px; padding-bottom:20px; }
.trello-setup .table-title { align-items:flex-start; }
.trello-setup .table-title p { margin:5px 0 0; max-width:650px; line-height:1.8; }
.trello-connection-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0 24px; }
.trello-connection-form label { display:grid; gap:6px; color:var(--ink); font-size:10px; }
.trello-connection-form input { min-width:0; min-height:42px; border:1px solid #d8e1dd; border-radius:10px; background:#fff; color:var(--ink); padding:9px 12px; font:500 12px Vazirmatn,Tahoma,sans-serif; outline:0; }
.trello-connection-form input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,137,22,.13); }
.trello-connection-actions { grid-column:1 / -1; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.trello-connection-actions small { color:var(--muted); font-size:9px; line-height:1.8; }
.finding-delivery-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-start; }
.finding-delivery-actions .row-action { font-size:10px; white-space:nowrap; }
.changelog-intro { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:20px 24px; margin-bottom:18px; background:#fffaf0; border-color:#eadcae; }
.changelog-intro strong { display:block; font-size:13px; }
.changelog-intro p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.9; }
.changelog-retention { color:#8b6c24; font-size:10px; white-space:nowrap; }
.baseline-changelog-list { display:grid; gap:14px; }
.changelog-entry { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; padding:22px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.changelog-entry-side { border-left:1px solid var(--line); padding-left:18px; color:var(--muted); }
.changelog-entry-side strong { display:block; color:var(--ink); font-size:11px; line-height:1.8; }
.changelog-entry-side span { display:block; margin-top:4px; font-size:10px; }
.changelog-entry-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.changelog-entry-heading h3 { margin:5px 0 0; font-size:15px; }
.changelog-entry-main>p { margin:10px 0; color:var(--muted); font-size:11px; }
.changelog-meta { display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:9px; }
.changelog-meta span { overflow-wrap:anywhere; }
.changelog-counts { display:flex; gap:7px; flex-wrap:wrap; margin-top:14px; }
.changelog-count { padding:4px 8px; border-radius:999px; background:#f1f3f1; color:#5e6d72; font-size:9px; }
.changelog-count.added { background:#e6f4ec; color:#26734d; }
.changelog-count.removed { background:#fff0ee; color:#9a4f48; }
.changelog-count.changed { background:#fff7dc; color:#8b6c24; }
.changelog-entry details { margin-top:14px; border-top:1px solid var(--line); padding-top:11px; }
.changelog-entry summary { cursor:pointer; color:#8b6c24; font-size:10px; }
.changelog-route-list { display:grid; gap:8px; margin-top:10px; }
.changelog-route-list>div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; align-items:center; padding:7px 0; border-bottom:1px dashed var(--line); }
.changelog-route-list strong { font-size:10px; overflow-wrap:anywhere; }
.changelog-route-list small { grid-column:2; color:var(--muted); font-size:9px; }
.changelog-route-kind { font-size:8px; color:var(--muted); }
.changelog-route-kind.added { color:#26734d; }
.changelog-route-kind.removed { color:#9a4f48; }
.changelog-route-kind.changed { color:#8b6c24; }
@media (max-width:760px) {
  .team-connections { grid-template-columns:1fr; }
  .page-intro-actions { width:100%; }
  .page-intro-actions button { flex:1; }
  .finding-delivery-actions { grid-column:2; justify-self:start; }
  .trello-connection-form { grid-template-columns:1fr; padding-inline:18px; }
  .trello-connection-actions { align-items:stretch; flex-direction:column; }
  .trello-connection-actions button { width:100%; }
  .changelog-intro { flex-direction:column; }
  .changelog-entry { grid-template-columns:1fr; gap:12px; }
  .changelog-entry-side { border-left:0; border-bottom:1px solid var(--line); padding:0 0 10px; }
  .changelog-entry-heading { flex-direction:column; }
  .changelog-meta { line-height:1.8; }
}

.billing-current { padding:26px; margin-bottom:23px; }
.billing-current-main { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.billing-current-main h3 { font-size:24px; margin:8px 0; }
.billing-current-main p { color:var(--muted); max-width:520px; }
.billing-current-price { text-align:left; }
.billing-current-price strong { display:block; font-size:22px; color:var(--ink); }
.billing-current-price small { color:var(--muted); }
.billing-inquiry { padding:22px 26px; margin-bottom:23px; background:linear-gradient(135deg,#fffdf7 0%,#fff 72%); border-color:#eadcae; }
.billing-inquiry-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.billing-inquiry-heading h3 { margin:6px 0 5px; font-size:18px; color:var(--ink); }
.billing-inquiry-heading p { color:var(--muted); font-size:11px; line-height:1.9; margin:0; }
.billing-inquiry-form { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(0,1.6fr); gap:16px; align-items:end; }
.billing-inquiry-plan,.billing-inquiry-field { display:grid; gap:7px; min-width:0; }
.billing-inquiry-plan label,.billing-inquiry-field label { color:var(--ink); font-size:11px; font-weight:700; }
.billing-inquiry-plan label span,.billing-inquiry-field label span { color:#b27e20; }
.billing-inquiry-plan select,.billing-inquiry-field input { width:100%; min-height:44px; border:1px solid #dce1e7; border-radius:10px; background:#fff; color:var(--ink); padding:0 12px; font:inherit; font-size:12px; outline:none; transition:border-color .2s,box-shadow .2s; }
.billing-inquiry-plan select:focus,.billing-inquiry-field input:focus { border-color:#c59b3b; box-shadow:0 0 0 3px rgba(197,155,59,.14); }
.billing-inquiry-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.billing-inquiry-actions { grid-column:1 / -1; display:flex; align-items:center; gap:14px; margin-top:2px; }
.billing-inquiry-actions button { min-width:190px; }
#billingInquiryMessage { color:var(--muted); font-size:11px; line-height:1.8; }
#billingInquiryMessage.success { color:#26734d; }
#billingInquiryMessage.error { color:#a64b43; }
.billing-usage { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.billing-usage > div:not(.billing-progress) { display:flex; justify-content:space-between; gap:16px; }
.billing-usage span,.billing-usage small { color:var(--muted); font-size:9px; }
.billing-progress { height:8px; background:#eef1f4; border-radius:999px; overflow:hidden; margin:10px 0; }
.billing-progress i { display:block; height:100%; background:var(--gold); border-radius:inherit; }
.billing-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.billing-plan { padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; min-width:0; }
.billing-plan.featured { border-color:#d8b24d; box-shadow:var(--shadow); }
.billing-plan.current { background:#fffaf0; }
.billing-plan h3 { margin:13px 0 8px; font-size:20px; color:var(--ink); }
.billing-plan h3 small { display:block; font-size:9px; color:var(--muted); margin-top:4px; }
.billing-plan p { color:var(--muted); min-height:58px; font-size:10px; line-height:1.8; }
.billing-plan ul { list-style:none; margin:18px 0; padding:0; display:grid; gap:8px; color:var(--ink); font-size:9px; }
.billing-plan li { color:#566171; }
.billing-plan button { width:100%; }
.billing-note { color:var(--muted); font-size:10px; line-height:1.9; margin:16px 0 0; }
.billing-config-note { color:#8b6c24; background:#fffaf0; border:1px solid #eadcae; border-radius:8px; padding:8px 10px; font-size:9px; line-height:1.8; }
.product-config-card.locked,.test-selection-card.locked,.competitor-test-group.locked { opacity:.55; cursor:not-allowed; }
.plan-feature-lock { margin:0 0 14px; font-weight:700; }
.feature-locked > :not(.plan-feature-lock) { opacity:.58; }
.feature-locked .plan-feature-lock { opacity:1; }
@media (max-width:1100px){ .billing-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1100px){ .billing-inquiry-form { grid-template-columns:1fr; } .billing-inquiry-plan { max-width:360px; } }
@media (max-width:760px){ .billing-current-main { flex-direction:column; } .billing-current-price { text-align:right; } .billing-plan-grid { grid-template-columns:1fr; } .billing-inquiry { padding:18px; } .billing-inquiry-heading { flex-direction:column; gap:10px; } .billing-inquiry-fields { grid-template-columns:1fr; } .billing-inquiry-plan { max-width:none; } .billing-inquiry-actions { align-items:stretch; flex-direction:column; } .billing-inquiry-actions button { width:100%; } }
