/* Kit v3 Translation studio (docs/design/KIT_V3.md; docs/design/ESTATE_PAGES_ADOPTION.md). Tokens from v3.css only;
   logical properties only, so the studio works right to left; one radius (var(--r)). Script fonts are self-hosted in
   vendor/fonts (SIL Open Font License 1.1, from @fontsource): Estedad and Vazirmatn for the Arabic-based alphabets,
   IBM Plex Sans for Latin and Cyrillic, Noto Sans for Greek, Hebrew, Armenian, Georgian and Devanagari. Chinese,
   Japanese and Korean use the reader's system fonts. Pastel only on bars; red only on the selection and the one action. */
@font-face { font-family: "Plex"; src: url(vendor/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plex"; src: url(vendor/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plex"; src: url(vendor/fonts/ibm-plex-sans-cyrillic-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Plex"; src: url(vendor/fonts/ibm-plex-sans-cyrillic-600-normal.woff2) format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "TsArab"; src: url(vendor/fonts/estedad-arabic-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "TsArab"; src: url(vendor/fonts/estedad-arabic-600-normal.woff2) format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "TsGrek"; src: url(vendor/fonts/noto-sans-greek-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0370-03FF, U+1F00-1FFF; }
@font-face { font-family: "TsHebr"; src: url(vendor/fonts/noto-sans-hebrew-hebrew-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0590-05FF, U+FB1D-FB4F; }
@font-face { font-family: "TsArmn"; src: url(vendor/fonts/noto-sans-armenian-armenian-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0530-058F, U+FB13-FB17; }
@font-face { font-family: "TsGeor"; src: url(vendor/fonts/noto-sans-georgian-georgian-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
@font-face { font-family: "TsDeva"; src: url(vendor/fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF; }

:root { --ts-w: 404px; --ts-iw: 372px; --ts-tx: "Plex", "TsArab", "TsGrek", "TsHebr", "TsArmn", "TsGeor", "TsDeva", system-ui, sans-serif; }
body { font-family: var(--ts-tx); }
.tx { font-family: var(--ts-tx); unicode-bidi: plaintext; }
.tx[dir="rtl"] { font-family: "TsArab", "TsHebr", var(--ts-tx); line-height: 1.7; }

/* Frame positions (Home: main panel at the start, inspector at the end clear of the rail, the strip at the foot) */
.ts-stage { overflow: hidden; }
.ts-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ts-main { inset-block: 76px 120px; inset-inline-start: 84px; width: var(--ts-w); }
.ts-insp { width: var(--ts-iw); max-height: calc(100% - 196px); }
.ts-hd { padding-block: 14px 12px; }
.ts-hd__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ts-hd .title { font-size: 20px; }
.ts-hd .stats { margin-block-start: 12px; }
.ts-hd .stat { padding: 10px 12px; }
.ts-hd .stat b { font-size: 26px; }
.ts-hd .stat span { font-size: 11.5px; }
.ts-hd .ctx1 { margin-block-start: 10px; }
.ts-loc { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ts-loc select, .ts-sel { height: 30px; max-width: 100%; min-width: 0; padding-inline: 8px 22px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg-2); color: var(--ink); font-size: 12.5px; }
.ts-tabs { display: flex; gap: 2px; padding: 6px; border-block-end: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.ts-tabs::-webkit-scrollbar { display: none; }
.ts-tabs button { flex: 1 0 auto; padding-inline: 7px; }
.ts-tabs button { display: flex; align-items: center; justify-content: center; gap: 6px; height: 34px; border: 0; border-radius: var(--r); background: transparent; color: var(--ink-3); font-size: 12.5px; font-weight: 500; min-width: 0; }
.ts-tabs button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-tabs button em { font-style: normal; font-size: 11px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ts-tabs button:hover { color: var(--ink); background: var(--bg-2); }
.ts-tabs button[aria-selected="true"] { color: var(--ink); background: var(--bg-2); box-shadow: inset 0 -1px 0 var(--red); }
.ts-filters { padding: 10px 12px; border-block-end: 1px solid var(--line); display: grid; gap: 8px; }
.ts-filters:empty { display: none; }
.ts-frow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.ts-frow > label { min-width: 0; }
.ts-frow input { width: 100%; height: 30px; min-width: 0; padding-inline: 8px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg-1); color: var(--ink); font-size: 12.5px; }
.ts-states { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.ts-states button { display: grid; grid-template-columns: 10px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; gap: 3px 6px; padding: 6px 8px; border-radius: var(--r); border: 1px solid var(--line); background: transparent; color: var(--ink-2); font-size: 11px; text-align: start; min-width: 0; }
.ts-states button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-states button b { grid-column: 2; font: 600 15px/1 var(--f); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--ink); }
.ts-states button[aria-pressed="true"] { border-color: var(--line-2); background: var(--bg-2); color: var(--ink); box-shadow: inset 0 -1px 0 var(--red); }
.ts-states button:disabled { opacity: .55; cursor: default; }

/* State marks: monochrome by state; the translated drafts carry the pastel on their bar only */
.sd { width: 8px; height: 8px; border-radius: 50%; flex: none; display: inline-block; }
.sd--miss { border: 1px solid var(--ink-3); background: transparent; }
.sd--same { background: var(--ink-3); }
.sd--mt { background: var(--ink-2); }
.sd--nnr { background: var(--pastel); }
.sd--rev { border: 1.5px solid var(--ink); background: transparent; }
.sd--ok { background: var(--ink); }

/* Queue rows */
.ts-q { padding: 6px; }
.ts-qh { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px; }
.ts-row { width: 100%; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 8px; border: 0; border-radius: var(--r); background: transparent; text-align: start; }
.ts-row:hover { background: var(--bg-2); }
.ts-row[aria-selected="true"] { background: var(--red-soft); }
.ts-row__en { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-row__t { grid-column: 2 / 4; color: var(--ink-2); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-row__t.is-miss { color: var(--ink-3); font-style: italic; }
.ts-row__n { color: var(--ink-3); font-size: 11.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ts-row .sd { grid-row: 1; }
.ts-more { padding: 8px 8px 14px; color: var(--ink-3); font-size: 12px; display: flex; gap: 8px; align-items: center; justify-content: space-between; }

/* Languages */
.ts-lrow { width: 100%; display: grid; grid-template-columns: 30px minmax(0, 1fr) 64px 38px; gap: 10px; align-items: center; padding: 8px; border: 0; border-radius: var(--r); background: transparent; text-align: start; }
.ts-lrow:hover { background: var(--bg-2); }
.ts-lrow[aria-selected="true"] { background: var(--red-soft); }
.ts-lrow__c { font: 500 11px/1 var(--m); color: var(--ink-3); text-transform: uppercase; }
.ts-lrow__n { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ts-lrow__n b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-lrow__n small { color: var(--ink-3); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-lrow__p { text-align: end; font-variant-numeric: tabular-nums; color: var(--ink-2); font-size: 12px; }
.ts-bar { height: 2px; border-radius: 1px; background: var(--line-2); overflow: hidden; display: flex; }
.ts-bar i { display: block; height: 100%; }
.ts-bar .b-nnr { background: var(--pastel); background-size: 64px 100%; }
.ts-bar .b-same { background: var(--ink-3); }
.ts-bar .b-ok { background: var(--ink); }
.ts-lrow[aria-selected="true"] .ts-bar .b-nnr { background: var(--red); }

/* Terms */
.ts-trow { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px; border: 0; border-radius: var(--r); background: transparent; text-align: start; }
.ts-trow:hover { background: var(--bg-2); }
.ts-trow[aria-selected="true"] { background: var(--red-soft); }
.ts-trow b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-trow .tx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); }
.ts-trow .is-gap { color: var(--ink-3); font-style: italic; }
.ts-tk { font: 500 10px/1 var(--m); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); padding: 4px 6px; border: 1px solid var(--line-2); border-radius: var(--r); }

/* In place: the step rail with live control previews */
.ts-steps { list-style: none; margin: 0; padding: 12px 16px 16px; position: relative; display: grid; gap: 14px; }
.ts-steps::before { content: ""; position: absolute; inset-block: 24px 30px; inset-inline-start: 27px; width: 1.5px; background: linear-gradient(180deg, var(--p1), var(--p2) 40%, var(--p3) 75%, var(--p4)); opacity: .8; }
.ts-step { position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; }
.ts-step > i { position: relative; z-index: 1; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--bg-1); border: 1px solid var(--line-2); font: 600 11px/1 var(--m); font-style: normal; color: var(--ink-2); }
.ts-step.is-on > i { border-color: var(--red); color: var(--ink); box-shadow: 0 0 0 3px var(--red-soft); }
.ts-step__b { min-width: 0; display: grid; gap: 8px; }
.ts-step__t { font-weight: 600; font-size: 12.5px; padding-block-start: 3px; }
.ts-pv { padding: 10px; border-radius: var(--r); border: 1px solid var(--line); background: var(--bg-1); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.ts-pv .btn { height: 30px; font-size: 12px; }
.ts-pv .btn[disabled] { opacity: .6; cursor: default; }
.ts-tog { display: inline-flex; align-items: center; gap: 10px; border: 0; background: none; padding: 0; color: var(--ink); font-size: 12.5px; }
.ts-tog i { width: 32px; height: 18px; border-radius: var(--r); background: var(--bg-3); border: 1px solid var(--line-2); position: relative; transition: background-color .15s var(--ease); }
.ts-tog i::after { content: ""; position: absolute; inset-block-start: 2px; inset-inline-start: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--ink-2); transition: inset-inline-start .15s var(--ease); }
.ts-tog[aria-pressed="true"] i { background: var(--red); border-color: var(--red); }
.ts-tog[aria-pressed="true"] i::after { inset-inline-start: 16px; background: #fff; }
.ts-seg { padding: 2px 4px; border-radius: var(--r); outline: 1px dashed var(--ink-3); outline-offset: 2px; cursor: pointer; }
.ts-seg.is-on { outline: 2px solid var(--red); background: var(--red-soft); }
.ts-dlg { width: 100%; display: grid; gap: 6px; }
.ts-dlg__h { font-weight: 600; font-size: 13px; }
.ts-dlg__k { font: 500 10.5px/1 var(--f); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.ts-dlg__v { font-size: 12.5px; color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ts-dlg textarea, .ts-form textarea { width: 100%; min-height: 54px; resize: vertical; padding: 8px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg); color: var(--ink); font-size: 13px; }
.ts-dlg__a { display: flex; gap: 6px; justify-content: flex-end; }
.ts-langs { display: flex; flex-wrap: wrap; gap: 4px; }
.ts-langs span { height: 26px; display: inline-flex; align-items: center; padding-inline: 8px; border-radius: var(--r); border: 1px solid var(--line); font-size: 12px; color: var(--ink-2); }
.ts-langs span.is-on { border-color: var(--red); color: var(--ink); }
.ts-pipe { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; }
.ts-pipe svg { color: var(--ink-3); }

/* Inspector */
.ts-insp .panel__hd { padding-inline-end: 52px; }
.ts-en { font: 500 16px/1.4 var(--f); margin: 8px 0 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.ts-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 10px; }
.ts-chips .chip { height: 22px; font-size: 11.5px; }
.ts-chips .mono { font-size: 11px; }
.ts-ai { display: flex; gap: 10px; align-items: flex-start; margin: 12px 16px 0; padding: 10px 12px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg-1); font-size: 12px; color: var(--ink-2); }
.ts-ai svg { flex: none; margin-block-start: 1px; color: var(--ink); }
.ts-ai b { color: var(--ink); font-weight: 600; }
.ts-cur { margin: 12px 16px 0; padding: 12px; border-radius: var(--r); background: var(--bg-1); border: 1px solid var(--line); }
.ts-cur .tx { font-size: 15px; display: block; margin-block-start: 6px; }
.ts-cur .is-miss { color: var(--ink-3); font-style: italic; font-size: 13px; }
.ts-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border-radius: var(--r); overflow: hidden; margin-block-start: 10px; }
.ts-checks div { background: var(--bg-2); padding: 8px 10px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ts-checks small { color: var(--ink-3); font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-checks b { font-size: 12px; font-weight: 600; }
.ts-checks b.is-bad { color: var(--red); }
.ts-sec { margin: 14px 16px 0; }
.ts-sec > .eyebrow { display: flex; justify-content: space-between; align-items: center; margin-block-end: 8px; }
.ts-terms { display: flex; flex-wrap: wrap; gap: 6px; }
.ts-term { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 3px 8px; border-radius: var(--r); border: 1px solid var(--line); background: var(--bg-1); font-size: 12px; max-width: 100%; }
.ts-term b { font-weight: 500; }
.ts-term .tx { color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-shot { height: 92px; border-radius: var(--r); border: 1px dashed var(--line-2); display: grid; grid-template-columns: 120px minmax(0, 1fr); overflow: hidden; }
.ts-shot__f { background: repeating-linear-gradient(0deg, var(--bg-2) 0 6px, transparent 6px 14px); border-inline-end: 1px dashed var(--line-2); position: relative; }
.ts-shot__f::after { content: ""; position: absolute; inset-inline: 14px 30px; inset-block-start: 40px; height: 9px; border-radius: var(--r); outline: 1px dashed var(--ink-3); }
.ts-shot__m { padding: 10px 12px; display: flex; flex-direction: column; justify-content: space-between; gap: 4px; min-width: 0; }
.ts-shot__m small { color: var(--ink-3); font-size: 11.5px; }
.ts-paths { display: flex; flex-wrap: wrap; gap: 4px; }
.ts-paths span { font: 400 11px/1 var(--m); padding: 4px 6px; border-radius: var(--r); background: var(--bg-2); color: var(--ink-2); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-kv { display: grid; grid-template-columns: 108px minmax(0, 1fr); border-radius: var(--r); border: 1px solid var(--line); overflow: hidden; font-size: 12px; }
.ts-kv > * { padding: 6px 10px; border-block-end: 1px solid var(--line); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-kv > :nth-last-child(-n+2) { border-block-end: 0; }
.ts-kv dt { color: var(--ink-3); background: var(--bg-1); }
.ts-kv dd { margin: 0; color: var(--ink); }
.ts-kv .mono { font-size: 11.5px; }
.ts-kv .is-none { color: var(--ink-3); }
.ts-hist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.ts-hist li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 5px 0; font-size: 12px; }
.ts-hist li i { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--ink-3); background: var(--bg); justify-self: center; }
.ts-hist li.is-done i { border-color: var(--ink); background: var(--ink); }
.ts-hist li small { color: var(--ink-3); font-size: 11px; white-space: nowrap; }
.ts-hist li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-com { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.ts-com input { height: 32px; min-width: 0; padding-inline: 10px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--bg-1); color: var(--ink); font-size: 12.5px; }
.ts-acts { position: sticky; inset-block-end: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; padding: 12px 16px; margin-block-start: 14px; border-block-start: 1px solid var(--line); background: var(--glass-2); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.ts-acts .btn { justify-content: center; height: 32px; font-size: 12.5px; padding-inline: 8px; }
.ts-acts .btn--red { grid-column: 1 / -1; }
.ts-acts .ts-wlb { grid-column: 1 / -1; justify-content: space-between; }
.ts-acts .ts-wlb small { color: var(--ink-3); font-weight: 400; font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ts-acts .ts-wlb span { display: inline-flex; gap: 6px; align-items: center; }
.ts-form { display: grid; gap: 10px; }
.ts-form label { display: grid; gap: 5px; }
.ts-form label > span { font: 500 11px/1 var(--f); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.ts-form .seg button { font-size: 11.5px; padding-inline: 4px; }
.ts-form .chk { display: flex; gap: 8px; align-items: center; font-size: 12.5px; }
.ts-reasons { display: flex; flex-wrap: wrap; gap: 4px; }
.ts-reasons button { height: 26px; padding-inline: 8px; border-radius: var(--r); border: 1px solid var(--line); background: transparent; color: var(--ink-2); font-size: 11.5px; }
.ts-reasons button[aria-pressed="true"] { border-color: var(--red); color: var(--ink); background: var(--red-soft); }
.ts-req { margin: 0; padding: 10px; border-radius: var(--r); background: var(--bg-1); border: 1px solid var(--line); font: 400 11px/1.5 var(--m); color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 220px; overflow: auto; }
.ts-states4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border-radius: var(--r); overflow: hidden; }
.ts-states4 div { background: var(--bg-1); padding: 8px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ts-states4 div.is-on { box-shadow: inset 0 -1px 0 var(--red); }
.ts-states4 b { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-states4 small { font-size: 10.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Foot strip: the pipeline flow and Weblate */
.ts-strip { grid-template-columns: 196px minmax(0, 1fr) 270px; }
.ts-strip .time__now span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-flow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: stretch; padding: 12px 16px; gap: 0; min-width: 0; }
.ts-flow button { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 4px; padding: 2px 12px; border: 0; border-inline-start: 1px solid var(--line); background: transparent; text-align: start; min-width: 0; color: var(--ink); }
.ts-flow button:first-child { border-inline-start: 0; }
.ts-flow button:hover { background: var(--bg-2); }
.ts-flow button[aria-pressed="true"] { box-shadow: inset 0 -1px 0 var(--red); }
.ts-flow b { font: 600 22px/1 var(--f); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ts-flow span { font-size: 11.5px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 6px; }
.ts-flow small { font-size: 10.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-flow .ts-bar { height: 2px; }
.ts-wl { gap: 6px; }
.ts-wl b { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-wl .btn { height: 28px; font-size: 12px; justify-content: center; }
.ts-wl > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }

.ts-toast { position: absolute; z-index: 60; inset-block-end: 132px; inset-inline-start: 50%; transform: translateX(-50%); padding: 9px 14px; font-size: 12.5px; max-width: min(520px, calc(100% - 24px)); display: flex; gap: 10px; align-items: center; }
.ts-toast[hidden] { display: none; }
.ts-toast code { font: 500 11px/1 var(--m); color: var(--ink-3); }
[dir="rtl"] .ts-toast { transform: translateX(50%); }

/* Phone: the field stays on top, the studio is a bottom sheet, the inspector a sheet over it */
@media (max-width: 760px) {
  .ts-main { max-height: 50vh !important; }
  .ts-hd .stats, .ts-hd .ctx1 { display: none; }
  .ts-hd { padding-block: 12px 10px; }
  .ts-hd .title { font-size: 17px; }
  .ts-insp { max-height: 74vh; z-index: 14; }
  .ts-insp[hidden] { display: none; }
  .ts-states { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ts-states button { padding: 5px 6px; font-size: 10.5px; }
  .ts-states button b { font-size: 13px; }
  .ts-tabs button em { display: none; }
  .ts-filters { padding: 8px 10px; }
  .ts-toast { inset-block-end: 24px; }
}
[dir="rtl"] .ts-en, [dir="rtl"] .ts-row__en, [dir="rtl"] .ts-dlg__v[dir="ltr"] { text-align: right; }
[dir="ltr"] .ts-strip .time__now .tx, [dir="ltr"] .ts-kv dd.tx, [dir="ltr"] .ts-lrow__n .tx, [dir="ltr"] .ts-row__t, [dir="ltr"] .ts-trow .tx, [dir="ltr"] .ts-term .tx { text-align: left; }
[dir="rtl"] .ts-strip .time__now .tx, [dir="rtl"] .ts-kv dd.tx, [dir="rtl"] .ts-lrow__n .tx, [dir="rtl"] .ts-row__t, [dir="rtl"] .ts-trow .tx, [dir="rtl"] .ts-term .tx { text-align: right; }
.ts-none { color: var(--ink-3); font-size: 12px; }
.ts-ai span, .ts-none, .ts-cur small, .ts-hist span, .ts-more span, .ctx1 span { unicode-bidi: plaintext; }

/* Estate modes (nexus-translate): workspace, review queue, coverage */
.ts-find { display: flex; gap: 8px; align-items: stretch; margin-block-end: 8px; }
.ts-find label { flex: 1 1 auto; min-width: 0; display: flex; }
.ts-find input, .ts-find textarea { width: 100%; min-width: 0; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--bg-1); color: var(--ink); font: inherit; padding: 7px 10px; }
.ts-find textarea { min-height: 64px; resize: vertical; }
.ts-find--col { flex-direction: column; }
.ts-find .btn { height: 34px; }
.ts-wstats { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-block-end: 6px; color: var(--ink-2); font-size: 12px; }
.ts-wstats span { display: inline-flex; align-items: center; gap: 6px; }
.ts-wstats b { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.ts-rules { display: grid; gap: 6px; padding: 10px; border-radius: var(--r); border: 1px solid var(--line); background: var(--bg-1); color: var(--ink-2); font-size: 12px; }
.ts-rules span { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; }
.ts-rules svg { margin-block-start: 2px; color: var(--ink-3); }
.ts-cov { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-radius: var(--r); overflow: hidden; background: var(--line); }
.ts-cov div { display: flex; flex-direction: column; gap: 2px; padding: 10px; background: var(--bg-1); }
.ts-cov b { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ts-cov span { color: var(--ink-3); font-size: 11.5px; }
.ts-chips [data-wpage] { border: 0; cursor: pointer; }
.ts-chips [data-wpage][aria-pressed="true"] { box-shadow: inset 0 -1px 0 var(--red); color: var(--ink); }
