/* ESTIMATION AND BIDDING: five steps, one number. Reuses the ws-* shell
   classes; everything of its own is es-. */
.es { display: flex; flex-direction: column; gap: 16px; }
.es-body { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 18px; align-items: start; }

/* ── the list of bids ──────────────────────────────────────────────── */
/* THE BID LIST IS A NAV, AND THE SITE STYLESHEET STYLES EVERY NAV: 68px
   tall, edge to edge, blurred grey background. That rule painted a grey bar
   behind the list header. Every property it sets is pinned here, and the
   light-mode background needs `html.light nav.es-side` to outrank
   `html.light nav`. Same fix as nav.ws-rail. */
nav.es-side {
    position: sticky; top: 88px; left: auto; right: auto; z-index: 1;
    height: auto; min-height: 0; padding: 0;
    display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px;
    background: none; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; transition: none;
}
html.light nav.es-side { background: none; border: 0; }
.es-side-h { display: flex; flex-direction: column; gap: 2px; padding: 2px 4px 6px; }
.es-side-h b { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.es-side-h span { font-size: 12px; color: var(--gray-light, #aeaeb2); }
.es-list { display: flex; flex-direction: column; gap: 8px; }
.es-item {
    display: flex; flex-direction: column; gap: 7px; text-align: left; padding: 13px 14px; border-radius: 14px;
    border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.03); color: var(--white, #fff);
    font: inherit; cursor: pointer; transition: transform .15s ease, border-color .15s ease;
}
.es-item:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.2); }
.es-item.is-on { border-color: rgba(196,23,23,.6); background: rgba(196,23,23,.1); box-shadow: 0 0 0 3px rgba(196,23,23,.12); }
.es-item.is-out { opacity: .72; }
.es-item-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.es-st { font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 100px; white-space: nowrap; }
.es-st.is-building { color: #e6a700; background: rgba(230,167,0,.14); }
.es-st.is-out { color: #37c27a; background: rgba(55,194,122,.14); }
.es-st.is-empty { color: var(--gray-light, #aeaeb2); background: rgba(255,255,255,.08); }
.es-item-t { font-size: 13.5px; font-weight: 650; line-height: 1.3; }
.es-item-m { display: flex; align-items: baseline; gap: 10px; font-size: 12px; color: var(--gray-light, #aeaeb2); }
.es-item-m b { font-size: 15px; font-weight: 800; color: var(--white, #fff); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.es-item-m em { font-style: normal; margin-left: auto; }
.es-item-m em.is-warn { color: #e6a700; } .es-item-m em.is-bad { color: #ff5c5c; font-weight: 700; }
.es-quiet { padding: 12px 4px; color: var(--gray-light, #aeaeb2); font-size: 13px; line-height: 1.5; }

/* ── the bid ───────────────────────────────────────────────────────── */
.es-view { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.es-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.es-head-id { min-width: 0; }
.es-head h2 { margin: 4px 0 0; font-size: 24px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.es-head .ws-meta { margin-top: 10px; }
.es-head-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.es-head-acts .sr-act, .es-add .up-btn, .es-submit { display: inline-flex; align-items: center; gap: 7px; }
.es-head-acts .ws-i, .es-add .ws-i, .es-submit .ws-i, .es-ok .ws-i { width: 14px; height: 14px; }

/* the five steps */
.es-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; counter-reset: step; }
.es-step button {
    position: relative; width: 100%; height: 100%; display: flex; align-items: flex-start; gap: 11px; text-align: left;
    padding: 13px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.03);
    color: var(--white, #fff); font: inherit; cursor: pointer; transition: transform .15s ease, border-color .15s ease;
}
.es-step button:hover:not(:disabled) { transform: translateY(-1px); border-color: rgba(196,23,23,.5); }
.es-step button:disabled { cursor: default; opacity: .6; }
.es-step-n {
    flex: 0 0 auto; width: 28px; height: 28px; border-radius: 100px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 12.5px; font-weight: 800; background: rgba(255,255,255,.08); color: var(--gray-light, #aeaeb2);
}
.es-step-n .ws-i { width: 15px; height: 15px; }
.es-step-b { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.es-step-b b { font-size: 13px; font-weight: 750; letter-spacing: -.01em; line-height: 1.25; }
.es-step-b b small { font-weight: 700; font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--gray-light, #aeaeb2); margin-left: 6px; white-space: nowrap; }
.es-step-b > span { font-size: 11.5px; line-height: 1.4; color: var(--gray-light, #aeaeb2); }
.es-step.is-done .es-step-n { background: rgba(55,194,122,.18); color: #37c27a; }
.es-step.is-done button { border-color: rgba(55,194,122,.3); }
.es-step.is-now .es-step-n { background: var(--red, #c41717); color: #fff; box-shadow: 0 0 0 4px rgba(196,23,23,.2); }
.es-step.is-now button { border-color: rgba(196,23,23,.6); background: rgba(196,23,23,.08); }

/* the numbers */
.es-kpis { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); gap: 10px; }
.es-kpi {
    position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 4px; padding: 15px 16px 13px;
    border-radius: 16px; border: 1px solid rgba(255,255,255,.09); background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
}
.es-kpi-l { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gray-light, #aeaeb2); }
.es-kpi b { font-size: 24px; font-weight: 850; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.es-kpi b .is-mute, .es-kpi b.is-mute { color: var(--gray-light, #aeaeb2); font-size: 18px; font-weight: 700; }
.es-kpi-s { font-size: 11.5px; color: var(--gray-light, #aeaeb2); line-height: 1.4; }
.es-kpi.is-hero { background: linear-gradient(135deg, rgba(196,23,23,.28), rgba(196,23,23,.06)); border-color: rgba(196,23,23,.45); }
.es-kpi.is-hero b { font-size: 34px; }
.es-kpi.is-warn b { color: #e6a700; } .es-kpi.is-bad b { color: #ff5c5c; } .es-kpi.is-bad .es-kpi-s { color: #ff8f8f; }
.es-range { position: relative; display: block; height: 8px; border-radius: 4px; background: rgba(255,255,255,.08); margin: 6px 0 2px; }
.es-range-band { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: rgba(55,194,122,.45); }
.es-range-me { position: absolute; top: -4px; width: 4px; height: 16px; margin-left: -2px; border-radius: 2px; background: var(--red, #c41717); box-shadow: 0 0 0 2px rgba(0,0,0,.35); }

/* the grid */
.es-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.es-main { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.es-aside { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 88px; }

/* the start panel */
.es-start { border: 1px dashed rgba(255,255,255,.16); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.es-start-h b { display: block; font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.es-start-h span { font-size: 13px; color: var(--gray-light, #aeaeb2); }
.es-start-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.es-tile {
    display: flex; flex-direction: column; gap: 8px; align-items: flex-start; text-align: left; padding: 18px 16px; border-radius: 16px;
    border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.04); color: var(--white, #fff); font: inherit; cursor: pointer;
    transition: transform .15s ease, border-color .15s ease;
}
.es-tile:hover:not(:disabled) { transform: translateY(-2px); border-color: rgba(196,23,23,.55); }
.es-tile:disabled { opacity: .5; cursor: default; }
.es-tile .ws-i { width: 22px; height: 22px; color: var(--red, #c41717); }
.es-tile b { font-size: 14px; font-weight: 800; }
.es-tile span { font-size: 12px; line-height: 1.45; color: var(--gray-light, #aeaeb2); }

/* the divisions */
.es-divs { display: flex; flex-direction: column; gap: 12px; }
.es-div { border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); overflow: hidden; }
.es-div-h { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.07); }
.es-div-n { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; padding: 3px 8px; border-radius: 8px; background: var(--red, #c41717); color: #fff; font-family: var(--font-mono); font-size: 11.5px; font-weight: 800; }
.es-div-h > b { font-size: 14px; font-weight: 800; letter-spacing: -.01em; }
.es-div-share { flex: 1 1 auto; height: 6px; border-radius: 3px; background: rgba(255,255,255,.08); overflow: hidden; margin: 0 6px 0 12px; max-width: 220px; }
.es-div-share i { display: block; height: 100%; background: var(--red, #c41717); border-radius: 3px; }
.es-div-h em { font-style: normal; font-size: 11px; color: var(--gray-light, #aeaeb2); min-width: 32px; }
.es-div-h strong { margin-left: auto; font-size: 15px; font-weight: 850; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
/* A division is in the bid or it is not, and the card says which. */
.es-div.is-accepted { border-color: rgba(55,194,122,.4); }
.es-div.is-drifted { border-color: rgba(230,167,0,.5); }
.es-div.is-lit { box-shadow: 0 0 0 3px rgba(196,23,23,.35); }
.es-div { transition: box-shadow .3s ease, border-color .2s ease; }
.es-div-a { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 9px 16px; border-bottom: 1px solid rgba(255,255,255,.06); }
.es-div.is-accepted .es-div-a { background: rgba(55,194,122,.07); }
.es-div.is-drifted .es-div-a { background: rgba(230,167,0,.08); }
.es-div-st { font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
.es-div-st.is-in { color: #37c27a; } .es-div-st.is-drift { color: #e6a700; } .es-div-st.is-out { color: var(--gray-light, #aeaeb2); }
.es-div-b { margin-left: auto; }
.es-div-b.up-btn { padding: 6px 14px; font-size: 12px; }
.es-docs-b { margin-left: 8px; display: inline-flex; align-items: center; gap: 6px; }
.es-docs-b .ws-i { width: 13px; height: 13px; }
.es-docs { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.02); }
html.light .es-docs { background: #fafafb; border-bottom-color: rgba(0,0,0,.06); }
.es-lines { display: flex; flex-direction: column; }
.es-line { display: grid; grid-template-columns: minmax(0, 1fr) 190px 170px 120px 64px; align-items: center; gap: 12px; padding: 10px 16px; border-top: 1px solid rgba(255,255,255,.05); font-size: 13px; }
.es-line:first-child { border-top: 0; }
.es-line:hover { background: rgba(255,255,255,.03); }
.es-line-d { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.es-line-d b { font-weight: 600; overflow-wrap: anywhere; }
.es-line-d small { font-family: var(--font-mono); font-size: 10.5px; color: var(--gray-light, #aeaeb2); }
.es-line-q { font-size: 12px; color: var(--gray-light, #aeaeb2); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-line-a { text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.es-line-x { display: flex; justify-content: flex-end; gap: 4px; }
.es-ib { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--gray-light, #aeaeb2); cursor: pointer; font: inherit; }
.es-ib .ws-i { width: 14px; height: 14px; }
.es-ib:hover { border-color: rgba(255,255,255,.2); color: var(--white, #fff); }
.es-ib.is-danger:hover { border-color: rgba(196,23,23,.5); color: #ff8f8f; }
.es-src { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.es-src.is-quote { background: rgba(55,194,122,.14); color: #37c27a; }
.es-src.is-self { background: rgba(255,255,255,.08); color: var(--gray-light, #aeaeb2); }
.es-src.is-allow { background: rgba(230,167,0,.14); color: #e6a700; }
.es-add { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 2px; }

/* the aside */
.es-card { border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.03); padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .3s ease; }
.es-card.is-lit { box-shadow: 0 0 0 3px rgba(196,23,23,.35); }
.es-card h3 { margin: 0 0 2px; font-size: 14px; font-weight: 800; letter-spacing: -.01em; display: flex; align-items: center; gap: 8px; }
.es-card h3 .sr-act { margin-left: auto; }
.es-n { font-size: 11px; font-weight: 800; padding: 1px 8px; border-radius: 100px; background: rgba(255,255,255,.09); color: var(--gray-light, #aeaeb2); }
/* THE ASSEMBLED BID: how full it is, and what is still out. */
.es-asm.is-ready { border-color: rgba(55,194,122,.45); }
.es-asm-bar { height: 10px; border-radius: 5px; background: rgba(255,255,255,.08); overflow: hidden; }
.es-asm-bar i { display: block; height: 100%; border-radius: 5px; background: #37c27a; transition: width .3s ease; }
.es-asm-l { font-size: 12.5px; color: var(--gray-light, #aeaeb2); }
.es-asm-l b { font-size: 16px; font-weight: 850; color: var(--white, #fff); font-variant-numeric: tabular-nums; }
.es-asm-l .is-out { color: #e6a700; }
.es-asm-o { display: flex; flex-direction: column; gap: 6px; }
.es-asm-d {
    display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px;
    text-align: left; font: inherit; font-size: 12.5px; cursor: pointer; padding: 8px 10px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.03); color: var(--white, #fff);
}
.es-asm-d:hover { border-color: rgba(196,23,23,.5); }
.es-asm-d b { font-family: var(--font-mono); font-size: 11.5px; padding: 2px 0; text-align: center; border-radius: 6px; background: rgba(255,255,255,.09); }
.es-asm-d span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-asm-d em { font-style: normal; font-variant-numeric: tabular-nums; color: var(--gray-light, #aeaeb2); }
.es-asm-d.is-drifted b { background: rgba(230,167,0,.2); color: #e6a700; }
.es-sum-r { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 13px; padding: 4px 0; border-top: 1px solid rgba(255,255,255,.06); }
.es-sum-r:first-of-type { border-top: 0; }
.es-sum-r span { color: var(--gray-light, #aeaeb2); }
.es-sum-r b { font-weight: 650; font-variant-numeric: tabular-nums; }
.es-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-top: 2px solid rgba(255,255,255,.14); padding-top: 12px; margin-top: 4px; }
.es-total span { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gray-light, #aeaeb2); }
.es-total b { font-size: 26px; font-weight: 850; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.es-submit { width: 100%; justify-content: center; margin-top: 4px; }
.es-submit:disabled { opacity: .4; cursor: default; filter: saturate(.5); }
.es-note { font-size: 11.5px; color: var(--gray-light, #aeaeb2); line-height: 1.45; }
.es-basis { font-size: 12px; line-height: 1.5; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.04); white-space: pre-wrap; }
.es-basis span { display: block; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gray-light, #aeaeb2); margin-bottom: 4px; }
.es-carry { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.07); }
.es-carry > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.es-carry > div b { font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-carry > div span { font-size: 11.5px; color: var(--gray-light, #aeaeb2); }
.es-carry strong { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.es-mini { padding: 6px 12px; font-size: 12px; }
.es-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.es-checks li { display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.45; }
.es-checks li i { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 100px; margin-top: 6px; background: var(--gray-light, #aeaeb2); }
.es-checks li.is-warn i { background: #e6a700; } .es-checks li.is-bad i { background: #ff5c5c; } .es-checks li.is-stop i { background: var(--red, #c41717); box-shadow: 0 0 0 3px rgba(196,23,23,.25); }
.es-ok { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #37c27a; }

/* ── light ─────────────────────────────────────────────────────────── */
html.light .es-item, html.light .es-step button, html.light .es-kpi, html.light .es-div, html.light .es-card, html.light .es-tile { background: #fff; border-color: rgba(0,0,0,.09); color: #111; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
html.light .es-item.is-on { background: rgba(196,23,23,.05); border-color: rgba(196,23,23,.55); }
html.light .es-item-m b, html.light .es-kpi b, html.light .es-total b, html.light .es-div-h > b, html.light .es-div-h strong, html.light .es-line-d b, html.light .es-line-a, html.light .es-sum-r b, html.light .es-carry > div b, html.light .es-carry strong, html.light .es-step-b b, html.light .es-tile b, html.light .es-start-h b, html.light .es-side-h b, html.light .es-card h3, html.light .es-item-t { color: #111; }
html.light .es-side-h span, html.light .es-item-m, html.light .es-quiet, html.light .es-kpi-l, html.light .es-kpi-s, html.light .es-step-b > span, html.light .es-step-b b small, html.light .es-div-h em, html.light .es-line-d small, html.light .es-line-q, html.light .es-note, html.light .es-total span, html.light .es-sum-r span, html.light .es-carry > div span, html.light .es-tile span, html.light .es-start-h span, html.light .es-basis span, html.light .es-checks li, html.light .es-kpi b .is-mute, html.light .es-kpi b.is-mute { color: #5f5f66; }
html.light .es-checks li { color: #222; }
html.light .es-step-n, html.light .es-n, html.light .es-src.is-self, html.light .es-st.is-empty, html.light .es-range, html.light .es-div-share, html.light .es-basis { background: rgba(0,0,0,.06); color: #55555c; }
html.light .es-step.is-done .es-step-n { background: rgba(23,138,79,.14); color: #178a4f; }
html.light .es-step.is-now .es-step-n { background: var(--red); color: #fff; }
html.light .es-step.is-now button { background: rgba(196,23,23,.04); }
html.light .es-kpi.is-hero { background: linear-gradient(135deg, rgba(196,23,23,.12), #fff 70%); }
html.light .es-kpi.is-warn b { color: #9a6a00; } html.light .es-kpi.is-bad b { color: #c41717; } html.light .es-kpi.is-bad .es-kpi-s { color: #c41717; }
html.light .es-range-band { background: rgba(23,138,79,.35); }
html.light .es-range-me { box-shadow: 0 0 0 2px #fff; }
html.light .es-start { border-color: rgba(0,0,0,.18); }
html.light .es-div-h { background: #f6f6f8; border-bottom-color: rgba(0,0,0,.07); }
html.light .es-line { border-top-color: rgba(0,0,0,.05); }
html.light .es-line:hover { background: #fafafb; }
html.light .es-ib:hover { border-color: rgba(0,0,0,.2); color: #111; }
html.light .es-src.is-quote { color: #178a4f; } html.light .es-src.is-allow { color: #9a6a00; }
html.light .es-st.is-building { color: #9a6a00; } html.light .es-st.is-out { color: #178a4f; }
html.light .es-sum-r, html.light .es-carry { border-top-color: rgba(0,0,0,.07); }
html.light .es-total { border-top-color: rgba(0,0,0,.14); }
html.light .es-ok { color: #178a4f; }
html.light .es-item-m em.is-warn { color: #9a6a00; } html.light .es-item-m em.is-bad { color: #c41717; }
html.light .es-asm-bar { background: rgba(0,0,0,.07); }
html.light .es-asm-bar i { background: #178a4f; }
html.light .es-asm-l { color: #5f5f66; } html.light .es-asm-l b { color: #111; } html.light .es-asm-l .is-out { color: #9a6a00; }
html.light .es-asm-d { background: #fff; border-color: rgba(0,0,0,.1); color: #111; }
html.light .es-asm-d b { background: rgba(0,0,0,.06); } html.light .es-asm-d em { color: #5f5f66; }
html.light .es-asm-d.is-drifted b { background: rgba(154,106,0,.14); color: #9a6a00; }
html.light .es-div-st.is-in { color: #178a4f; } html.light .es-div-st.is-drift { color: #9a6a00; } html.light .es-div-st.is-out { color: #5f5f66; }
html.light .es-div.is-accepted .es-div-a { background: rgba(23,138,79,.06); }
html.light .es-div.is-drifted .es-div-a { background: rgba(154,106,0,.07); }
html.light .es-div-a { border-bottom-color: rgba(0,0,0,.06); }

@media (max-width: 1400px) {
    .es-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .es-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .es-kpi.is-hero { grid-column: span 3; }
}
@media (max-width: 1100px) {
    .es-body { grid-template-columns: 1fr; }
    .es-side { position: static; }
    .es-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
    .es-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .es-grid { grid-template-columns: 1fr; }
    .es-aside { position: static; }
    .es-start-g { grid-template-columns: 1fr; }
    .es-line { grid-template-columns: minmax(0, 1fr) 110px 64px; }
    .es-line > div:nth-child(2), .es-line-q { display: none; }
}
