/* ============================================================
   GISTM.ai — DESIGN SYSTEM "TESTEMUNHO"
   Sprint 2026-08-05G60
   ------------------------------------------------------------
   "Testemunho" is the geotechnical term for a drill core sample
   and simultaneously the Portuguese word for documentary proof.
   The whole system uses exactly TWO chromas:

     Prumo  #0C4F58  — everything interactive
     Óxido  #9A4230  — EXCLUSIVELY deficiency

   Verdicts are encoded by GLYPH SHAPE, never by colour.
   Flow state is encoded by OPACITY.
   The app is a dark frame with a light sheet floating inside:
   the frame is the platform, the sheet is the client's data.

   Type: Supreme above 20px · Fira Sans at 20px and below
         IBM Plex Mono for identifiers and dates
   ============================================================ */

:root {
    --tst-prumo:        #0C4F58;
    --tst-prumo-deep:   #073B42;
    --tst-prumo-lift:   #12707D;
    --tst-oxido:        #9A4230;
    --tst-frame:        #071E22;
    --tst-frame-2:      #0A2A30;
    --tst-sheet:        #F6F4F0;
    --tst-sheet-edge:   #E2DED6;
    --tst-ink:          #14201F;
    --tst-ink-soft:     #4C5A59;
    --tst-ink-faint:    #8A9694;
    --tst-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --tst-sans: 'Fira Sans', 'Inter', system-ui, -apple-system, sans-serif;
    --tst-display: 'Supreme', 'Fira Sans', 'Inter', system-ui, sans-serif;
}

/* ---------- 1. SECTION SHELL ---------- */

.tst-section {
    padding: 96px 0;
    background: var(--tst-frame);
    color: #D6E2E1;
    font-family: var(--tst-sans);
}
.tst-section--alt { background: var(--tst-frame-2); }

.tst-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

.tst-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--tst-mono);
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--tst-prumo-lift);
    margin: 0 0 18px;
}
.tst-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--tst-prumo-lift);
}

.tst-h2 {
    font-family: var(--tst-display);
    font-size: clamp(1.7rem, 3.2vw, 2.5rem);
    line-height: 1.14;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 18px;
}
.tst-h3 {
    font-family: var(--tst-display);
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    line-height: 1.25;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 10px;
}
.tst-lede {
    font-size: 1.03rem;
    line-height: 1.72;
    color: #A9BBBA;
    max-width: 74ch;
    margin: 0 0 40px;
}
.tst-lede strong { color: #EAF2F1; font-weight: 600; }
.tst-p {
    font-size: 0.97rem;
    line-height: 1.72;
    color: #A9BBBA;
    margin: 0 0 14px;
}
.tst-p strong { color: #E3EDEC; font-weight: 600; }
.tst-mono { font-family: var(--tst-mono); font-size: 0.86em; letter-spacing: 0.01em; }

/* ---------- 2. THE LIGHT SHEET ---------- */
/* The frame is the platform. The sheet is the client's data. */

.tst-sheet {
    background: var(--tst-sheet);
    border: 1px solid var(--tst-sheet-edge);
    border-radius: 4px;
    box-shadow: 0 34px 70px -34px rgba(0, 0, 0, 0.72),
                0 2px 0 rgba(255, 255, 255, 0.04);
    padding: 34px 34px 36px;
    color: var(--tst-ink);
}
.tst-sheet h3, .tst-sheet h4 { color: var(--tst-ink); }
.tst-sheet .tst-p, .tst-sheet p { color: var(--tst-ink-soft); }
.tst-sheet .tst-p strong, .tst-sheet p strong { color: var(--tst-ink); }

.tst-sheet-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-family: var(--tst-mono);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tst-ink-faint);
    border-bottom: 1px solid var(--tst-sheet-edge);
    padding-bottom: 12px;
    margin-bottom: 22px;
}

/* ---------- 3. VERDICT GLYPHS — SHAPE, NOT COLOUR ---------- */

.tst-glyph {
    display: inline-block;
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    vertical-align: -1px;
    margin-right: 8px;
}
/* Atende — filled square */
.tst-glyph--atende {
    background: currentColor;
}
/* Atende Parcialmente — half-filled square */
.tst-glyph--parcial {
    border: 1.5px solid currentColor;
    background: linear-gradient(to right, currentColor 50%, transparent 50%);
}
/* Não Atende — triangle (the ONLY glyph allowed Óxido) */
.tst-glyph--naoatende {
    width: 0; height: 0;
    border-left: 6.5px solid transparent;
    border-right: 6.5px solid transparent;
    border-bottom: 11px solid currentColor;
    background: none;
}
/* Não Aplicável — dash */
.tst-glyph--naoaplic {
    height: 2px;
    margin-bottom: 5px;
    background: currentColor;
}
/* Não Avaliado — empty outline */
.tst-glyph--naoaval {
    border: 1.5px solid currentColor;
    background: none;
    opacity: 0.5;
}

.tst-verdicts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 2px;
    background: var(--tst-sheet-edge);
    border: 1px solid var(--tst-sheet-edge);
}
.tst-verdict {
    background: var(--tst-sheet);
    padding: 18px 18px 20px;
    color: var(--tst-prumo);
}
.tst-verdict--def { color: var(--tst-oxido); }
.tst-verdict-name {
    display: flex;
    align-items: center;
    font-family: var(--tst-display);
    font-size: 1rem;
    font-weight: 600;
    color: var(--tst-ink);
    margin: 0 0 6px;
}
.tst-verdict-weight {
    font-family: var(--tst-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: var(--tst-ink-faint);
    text-transform: uppercase;
}

/* ---------- 4. COLUNA DE TESTEMUNHO — 692 × 30 px ---------- */
/* The whole facility in one core-sample strip: 77 cells,
   grouped by the 6 thematic areas. Cells fill as work is
   ratified, so the page darkens over the months.            */

.tst-core-figure { margin: 0; }
.tst-core-scroll { overflow-x: auto; padding-bottom: 6px; }

.tst-core {
    display: flex;
    align-items: stretch;
    gap: 6px;
    width: 692px;
    height: 30px;
    min-width: 692px;
}
.tst-core-group {
    display: flex;
    gap: 1px;
    align-items: stretch;
    border-bottom: 2px solid var(--tst-prumo);
    min-width: 0;
}
.tst-core-cell {
    flex: 1 1 0;
    min-width: 0;
    background: #D8D3C9;
    border: 0;
    padding: 0;
    cursor: default;
}
/* Ratified / approved — full Prumo */
.tst-core-cell[data-state="aprovado"]   { background: var(--tst-prumo); }
/* Partially conformant — mid Prumo */
.tst-core-cell[data-state="parcial"]    { background: var(--tst-prumo-lift); opacity: 0.72; }
/* Deficiency — the one place Óxido appears */
.tst-core-cell[data-state="naoatende"]  { background: var(--tst-oxido); }
/* Not applicable */
.tst-core-cell[data-state="naoaplic"]   { background: #BFC7C6; }
/* In flow — encoded by opacity, never by colour */
.tst-core-cell[data-state="elaboracao"] { background: var(--tst-prumo); opacity: 0.34; }
.tst-core-cell[data-state="aprovacao"]  { background: var(--tst-prumo); opacity: 0.55; }
.tst-core-cell[data-state="naoiniciado"]{ background: #D8D3C9; }

.tst-core-axis {
    display: flex;
    gap: 6px;
    width: 692px;
    min-width: 692px;
    margin-top: 10px;
}
.tst-core-axis > span {
    min-width: 0;
}
.tst-core-axis span {
    font-family: var(--tst-mono);
    font-size: 0.58rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--tst-ink-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tst-core-caption {
    font-family: var(--tst-mono);
    font-size: 0.72rem;
    color: var(--tst-ink-faint);
    margin: 18px 0 0;
    line-height: 1.6;
}

/* ---------- 5. SCORES ---------- */

.tst-scores {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin: 0 0 26px;
}
.tst-score {
    border-left: 3px solid var(--tst-prumo);
    padding: 4px 0 4px 16px;
}
.tst-score-value {
    font-family: var(--tst-display);
    font-size: clamp(2rem, 4.4vw, 2.9rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--tst-prumo);
}
.tst-score-name {
    font-family: var(--tst-mono);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tst-ink-faint);
    margin-top: 8px;
}
.tst-score-note {
    font-size: 0.82rem;
    color: var(--tst-ink-soft);
    margin-top: 8px;
    line-height: 1.55;
}

/* ---------- 6. STATE FLOW (opacity ladder) ---------- */

.tst-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 3px;
    overflow: hidden;
}
.tst-flow-step {
    flex: 1 1 180px;
    padding: 20px 20px 22px;
    border-right: 1px solid rgba(255, 255, 255, 0.10);
    background: var(--tst-prumo);
}
.tst-flow-step:last-child { border-right: 0; }
.tst-flow-step[data-op="1"] { background: rgba(12, 79, 88, 0.22); }
.tst-flow-step[data-op="2"] { background: rgba(12, 79, 88, 0.48); }
.tst-flow-step[data-op="3"] { background: rgba(12, 79, 88, 0.74); }
.tst-flow-step[data-op="4"] { background: var(--tst-prumo); }
.tst-flow-num {
    font-family: var(--tst-mono);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    color: rgba(255, 255, 255, 0.6);
    display: block;
    margin-bottom: 8px;
}
.tst-flow-name {
    font-family: var(--tst-display);
    font-size: 1.02rem;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 6px;
}
.tst-flow-desc {
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.74);
    margin: 0;
}

/* ---------- 7. SPEC GRIDS & ROLE TABLE ---------- */

.tst-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.tst-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }

.tst-card {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-left: 2px solid var(--tst-prumo-lift);
    border-radius: 3px;
    padding: 24px 24px 26px;
}
.tst-card--def { border-left-color: var(--tst-oxido); }
.tst-card-num {
    font-family: var(--tst-mono);
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    color: var(--tst-prumo-lift);
    display: block;
    margin-bottom: 10px;
}
.tst-card--def .tst-card-num { color: var(--tst-oxido); }
.tst-card h4 {
    font-family: var(--tst-display);
    font-size: 1.05rem;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 10px;
}
.tst-card p {
    font-size: 0.91rem;
    line-height: 1.68;
    color: #A2B4B3;
    margin: 0;
}
.tst-card p + p { margin-top: 10px; }

.tst-table-wrap { overflow-x: auto; }
.tst-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    min-width: 620px;
}
.tst-table thead th {
    font-family: var(--tst-mono);
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: left;
    color: var(--tst-ink-faint);
    padding: 0 14px 12px;
    border-bottom: 1px solid var(--tst-sheet-edge);
    white-space: nowrap;
}
.tst-table tbody td {
    padding: 15px 14px;
    border-bottom: 1px solid var(--tst-sheet-edge);
    color: var(--tst-ink-soft);
    line-height: 1.6;
    vertical-align: top;
}
.tst-table tbody tr:last-child td { border-bottom: 0; }
.tst-table .tst-td-role {
    font-family: var(--tst-display);
    font-weight: 600;
    color: var(--tst-ink);
    white-space: nowrap;
}
.tst-table .tst-td-id {
    font-family: var(--tst-mono);
    font-size: 0.8rem;
    color: var(--tst-prumo);
    white-space: nowrap;
}

/* ---------- 8. HISTORY TIMELINE (immutable) ---------- */

.tst-history { list-style: none; margin: 0; padding: 0; }
.tst-history li {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--tst-sheet-edge);
}
.tst-history li:last-child { border-bottom: 0; }
.tst-history time {
    font-family: var(--tst-mono);
    font-size: 0.8rem;
    color: var(--tst-prumo);
    white-space: nowrap;
}
.tst-history-event {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--tst-ink-soft);
}
.tst-history-event strong { color: var(--tst-ink); font-weight: 600; }

/* ---------- 9. DIFF BLOCK (approval queue) ---------- */

.tst-diff {
    font-family: var(--tst-mono);
    font-size: 0.82rem;
    line-height: 1.7;
    border: 1px solid var(--tst-sheet-edge);
    border-radius: 3px;
    overflow: hidden;
}
.tst-diff-row { padding: 10px 14px; display: flex; gap: 12px; }
.tst-diff-row + .tst-diff-row { border-top: 1px solid var(--tst-sheet-edge); }
.tst-diff-sign { flex: 0 0 12px; font-weight: 700; }
.tst-diff-row--old { background: rgba(154, 66, 48, 0.07); color: var(--tst-oxido); }
.tst-diff-row--new { background: rgba(12, 79, 88, 0.07); color: var(--tst-prumo); }
.tst-diff-text { color: var(--tst-ink-soft); }

/* ---------- 10. SCREEN LIST & GAP LIST ---------- */

.tst-screens { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; background: rgba(255,255,255,0.09); border: 1px solid rgba(255,255,255,0.09); }
.tst-screens li {
    background: var(--tst-frame);
    padding: 16px 18px;
    display: flex;
    gap: 12px;
    align-items: baseline;
}
.tst-section--alt .tst-screens li { background: var(--tst-frame-2); }
.tst-screens b {
    font-family: var(--tst-mono);
    font-size: 0.78rem;
    color: var(--tst-prumo-lift);
    flex: 0 0 auto;
}
.tst-screens span {
    font-family: var(--tst-display);
    font-size: 0.97rem;
    color: #E3EDEC;
    font-weight: 500;
}

.tst-gaps { list-style: none; margin: 0; padding: 0; }
.tst-gaps li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 13px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
    font-size: 0.94rem;
    line-height: 1.6;
    color: #A9BBBA;
}
.tst-gaps li:last-child { border-bottom: 0; }
.tst-gaps li .tst-glyph { color: var(--tst-oxido); margin-top: 5px; }

/* ---------- 11. GUARDRAIL CALLOUT ---------- */

.tst-guard {
    border: 1px solid var(--tst-prumo-lift);
    border-left: 4px solid var(--tst-prumo-lift);
    border-radius: 3px;
    background: rgba(12, 79, 88, 0.20);
    padding: 26px 28px 28px;
}
.tst-guard-title {
    font-family: var(--tst-display);
    font-size: 1.18rem;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 12px;
}
.tst-guard p { color: #B6C7C6; font-size: 0.95rem; line-height: 1.72; margin: 0 0 10px; }
.tst-guard p:last-child { margin-bottom: 0; }
.tst-guard-quote {
    font-family: var(--tst-display);
    font-size: 1.06rem;
    font-style: italic;
    color: #FFFFFF;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    padding-top: 16px;
    margin-top: 16px;
}

/* ---------- 12. TYPE SPECIMEN ---------- */

.tst-type {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2px;
    background: var(--tst-sheet-edge);
    border: 1px solid var(--tst-sheet-edge);
}
.tst-type-item { background: var(--tst-sheet); padding: 22px 20px 24px; }
.tst-type-sample { color: var(--tst-ink); line-height: 1.15; margin: 0 0 12px; }
.tst-type-sample--display { font-family: var(--tst-display); font-size: 1.9rem; font-weight: 600; letter-spacing: -0.02em; }
.tst-type-sample--sans { font-family: var(--tst-sans); font-size: 1.15rem; }
.tst-type-sample--mono { font-family: var(--tst-mono); font-size: 1.05rem; }
.tst-type-meta { font-family: var(--tst-mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tst-ink-faint); }

/* ---------- 13. CHROMA SWATCHES ---------- */

.tst-chromas { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.tst-chroma { border-radius: 3px; overflow: hidden; border: 1px solid rgba(255,255,255,0.10); }
.tst-chroma-block { height: 92px; }
.tst-chroma-block--prumo { background: var(--tst-prumo); }
.tst-chroma-block--oxido { background: var(--tst-oxido); }
.tst-chroma-body { padding: 16px 18px 18px; background: rgba(255,255,255,0.035); }
.tst-chroma-name { font-family: var(--tst-display); font-size: 1.05rem; font-weight: 600; color: #FFF; margin: 0 0 4px; }
.tst-chroma-hex { font-family: var(--tst-mono); font-size: 0.8rem; color: var(--tst-prumo-lift); }
.tst-chroma--oxido .tst-chroma-hex { color: var(--tst-oxido); }
.tst-chroma-use { font-size: 0.87rem; line-height: 1.6; color: #A2B4B3; margin: 10px 0 0; }

/* ---------- 14. ⌘K COMMAND PALETTE MOCK ---------- */

.tst-cmdk {
    font-family: var(--tst-mono);
    background: var(--tst-sheet);
    border: 1px solid var(--tst-sheet-edge);
    border-radius: 4px;
    overflow: hidden;
    max-width: 520px;
    box-shadow: 0 24px 50px -26px rgba(0,0,0,0.6);
}
.tst-cmdk-input {
    padding: 15px 18px;
    border-bottom: 1px solid var(--tst-sheet-edge);
    font-size: 0.9rem;
    color: var(--tst-ink);
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.tst-cmdk-key {
    border: 1px solid var(--tst-sheet-edge);
    border-radius: 3px;
    padding: 1px 7px;
    font-size: 0.75rem;
    color: var(--tst-ink-faint);
}
.tst-cmdk ul { list-style: none; margin: 0; padding: 6px 0; }
.tst-cmdk li { padding: 9px 18px; font-size: 0.83rem; color: var(--tst-ink-soft); display: flex; justify-content: space-between; gap: 14px; }
.tst-cmdk li b { color: var(--tst-prumo); font-weight: 600; }

/* ---------- 15. DEMO FIGURE STRIP ---------- */

.tst-figures {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 1px;
    background: var(--tst-sheet-edge);
    border: 1px solid var(--tst-sheet-edge);
}
.tst-figure { background: var(--tst-sheet); padding: 18px 16px 20px; }
.tst-figure-n { font-family: var(--tst-display); font-size: 1.55rem; font-weight: 600; color: var(--tst-prumo); line-height: 1; letter-spacing: -0.02em; }
.tst-figure--def .tst-figure-n { color: var(--tst-oxido); }
.tst-figure-l { font-family: var(--tst-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tst-ink-faint); margin-top: 8px; line-height: 1.5; }

/* ---------- 16. INDEPENDENCE NOTICE ---------- */

.tst-independence {
    font-family: var(--tst-mono);
    font-size: 0.76rem;
    line-height: 1.7;
    color: var(--tst-ink-faint);
    border-top: 1px solid var(--tst-sheet-edge);
    margin-top: 26px;
    padding-top: 16px;
}
.tst-section > .tst-wrap > .tst-independence--dark,
.tst-independence--dark {
    color: #7C8E8D;
    border-top-color: rgba(255, 255, 255, 0.12);
}

/* ---------- 17. DASHBOARD SHOT ---------- */

.tst-shot {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    box-shadow: 0 34px 70px -34px rgba(0, 0, 0, 0.75);
}
.tst-shot-cap {
    font-family: var(--tst-mono);
    font-size: 0.74rem;
    color: #7C8E8D;
    margin: 14px 0 0;
    line-height: 1.6;
}

/* ---------- 18. SPEC NAV (jump list) ---------- */

.tst-specnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
}
.tst-specnav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--tst-mono);
    font-size: 0.74rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: #A9BBBA;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    padding: 8px 15px;
    transition: border-color 0.18s, color 0.18s, background 0.18s;
}
.tst-specnav a:hover,
.tst-specnav a:focus-visible {
    color: #FFFFFF;
    border-color: var(--tst-prumo-lift);
    background: rgba(12, 79, 88, 0.34);
}
.tst-specnav a b { color: var(--tst-prumo-lift); font-weight: 600; }

/* ---------- 19. AREA CHIPS (6 thematic areas) ---------- */

.tst-areas { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
.tst-areas li {
    font-family: var(--tst-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #C3D3D2;
    border: 1px solid var(--tst-prumo-lift);
    border-radius: 2px;
    padding: 8px 14px;
    background: rgba(12, 79, 88, 0.26);
}
.tst-areas li span { color: var(--tst-prumo-lift); margin-left: 8px; }

/* ---------- 20. RESPONSIVE ---------- */

@media (max-width: 860px) {
    .tst-section { padding: 68px 0; }
    .tst-sheet { padding: 24px 20px 26px; }
    .tst-flow-step { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.10); }
    .tst-flow-step:last-child { border-bottom: 0; }
}
@media (max-width: 560px) {
    .tst-section { padding: 54px 0; }
    .tst-wrap { padding: 0 18px; }
    .tst-history li { grid-template-columns: 1fr; gap: 6px; }
    .tst-sheet-label { font-size: 0.62rem; }
    .tst-core-caption { font-size: 0.68rem; }
}
