/* Foundation */
.wog-logo { display: block; width: var(--wog-logo-width); max-width: 100%; height: auto; margin-bottom: var(--space-8); }
.wog-intro { white-space: pre-line; }
.wog-code-panel { display: grid; justify-items: center; gap: var(--space-6); text-align: center; }
.wog-code { text-transform: none; white-space: nowrap; max-width: 100%; }
.wog-profile-code { display: block; margin-top: var(--space-6); text-transform: none; }
.wog-recipient .key-values dd { overflow-wrap: anywhere; }
.wog-conditions .key-values > div { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-8); }
.wog-conditions .key-values dt { font-size: var(--text-md); }
.wog-conditions .key-values dd { color: var(--action); font-weight: var(--weight-medium); white-space: nowrap; }
* { box-sizing: border-box; }
html { background: var(--surface); scroll-behavior: auto; scroll-padding-bottom: calc(var(--nav-height) + var(--safe-bottom-total) + var(--space-12)); }
body { margin: 0; color: var(--ink); font: var(--weight-regular) var(--text-body)/var(--leading-body) var(--font-body); background: var(--surface); overflow-wrap: break-word; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: var(--disabled-opacity); }
a { color: var(--action); text-decoration: none; }
a:hover { text-decoration: underline; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: var(--stroke-accent) solid var(--focus); outline-offset: var(--space-1); }
h1, h2, h3, h4 { font-family: var(--font-heading); line-height: var(--leading-heading); margin: 0; color: var(--ink); overflow-wrap: anywhere; }
h1 { font-size: var(--text-h1); letter-spacing: var(--tracking-heading); }
h2 { font-size: var(--text-h2); letter-spacing: var(--tracking-h2); }
h3 { font-size: var(--text-h3); }
p { margin: 0; }
small, .small { font-size: var(--text-label); }
.muted { color: var(--muted); }
[hidden] { display: none !important; }
.eyebrow { font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--action); margin-bottom: var(--space-5); }
.skip-link { position: fixed; left: var(--space-5); top: var(--space-5); background: var(--white); padding: var(--space-5); border-radius: var(--radius-small); z-index: var(--layer-feedback); }
.skip-link:not(:focus-visible) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.icon { display: inline-block; width: var(--icon-size); height: var(--icon-size); flex-shrink: 0; vertical-align: middle; }
.mini-icon { width: var(--icon-mini); height: var(--icon-mini); }

/* Shell and navigation */
.site-header { padding-top: calc(var(--safe-top) + var(--content-safe-top)); border-bottom: var(--stroke) solid var(--line); background: var(--white); }
.header-inner { max-width: var(--content-max); margin: auto; min-height: var(--header-height); padding: var(--space-9) var(--space-12); display: flex; align-items: center; gap: var(--space-10); }
.brand { display: block; flex-shrink: 0; line-height: 0; border-radius: var(--radius-small); }
.brand img { width: var(--brand-width); height: auto; display: block; }
.brand-description { font-size: var(--text-xs); line-height: var(--leading-copy); color: var(--muted); padding-left: var(--space-10); border-left: var(--stroke) solid var(--border); }
.brand-description strong { font-weight: var(--weight-medium); }
.header-label { margin-left: auto; color: var(--muted); font-size: var(--text-sm); }
.app-layout { max-width: var(--content-max); margin: auto; display: grid; grid-template-columns: var(--sidebar-width) minmax(0,1fr); align-items: start; gap: var(--space-13); padding: var(--space-12) var(--space-12) calc(var(--space-14) + var(--space-7)); }
main { grid-column: 2; grid-row: 1; min-width: 0; outline: none; min-height: 60vh; }
.tab-bar { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: var(--space-2); position: sticky; top: var(--space-10); }
.tab { position: relative; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--muted); padding: var(--space-7) var(--space-5); text-align: left; display: flex; align-items: center; gap: var(--space-5); font-size: var(--text-md); min-height: var(--control-height); transition: background-color var(--motion-feedback), color var(--motion-feedback), transform var(--motion-fast); }
.tab .icon { width: var(--icon-size); height: var(--icon-size); }
.tab.active { background: var(--green-tint); color: var(--action); font-weight: var(--weight-medium); }
.tab.active .icon { stroke-width: var(--icon-stroke-active); }
.page { min-width: 0; }
.page-enter { animation: screen-enter var(--motion-screen) var(--motion-ease) both; }
.page-head { margin: 0 0 var(--space-10); }
.page-head p { margin-top: var(--space-5); max-width: var(--copy-max); color: var(--muted); }
.back { display: inline-flex; gap: var(--space-3); align-items: center; border: var(--stroke) solid var(--line); border-radius: var(--radius-small); background: var(--white); padding: var(--space-3) var(--space-5); margin-bottom: var(--space-9); color: var(--muted); font-size: var(--text-label); min-height: var(--touch-min); transition: transform var(--motion-fast), background-color var(--motion-feedback); }
.back .icon { height: var(--icon-mini); width: var(--icon-mini); }
.title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-7); }
.title-row .subtle-count { flex-shrink: 0; }
.subtle-count { font-size: var(--text-sm); color: var(--action); padding: var(--space-2) var(--space-4); background: var(--green-tint); border-radius: var(--radius-pill); min-width: var(--space-12); text-align: center; }
.section-title { margin: var(--space-12) 0 var(--space-7); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.section-title h2 { font-size: var(--text-h2-small); }
.stack { display: flex; flex-direction: column; gap: var(--space-6); }
.row { display: flex; align-items: center; gap: var(--space-4); }
.wrap { flex-wrap: wrap; }
.between { justify-content: space-between; }
.grid-two, .service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-7); }

/* Cards and catalogue */
.card, .service-card, .partner-card, .code-panel, .history-card, .profile-card, .empty, .metric, .list, .table-wrap { background: var(--white); border: var(--stroke) solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.card { padding: var(--space-10); }
.card p+p { margin-top: var(--space-4); }
.card h3 { margin-bottom: var(--space-3); }
.card-small { padding: var(--space-8); }
.card-accent, .transfer-new { border-top: var(--stroke-accent) solid var(--green); }
.service-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: var(--space-10); min-height: var(--card-height); color: var(--ink); transition: border-color var(--motion-feedback), box-shadow var(--motion-feedback), transform var(--motion-fast); }
.service-icon { width: var(--service-icon-width); height: var(--service-icon-height); object-fit: contain; object-position: left center; color: var(--green); margin-bottom: var(--space-9); }
.service-card h2 { font-size: var(--text-h3); line-height: var(--leading-card); padding-right: var(--space-4); }
.service-card p { font-size: var(--text-label); color: var(--muted); margin-top: var(--space-3); padding-right: var(--space-5); }
.service-card .card-arrow { position: absolute; right: var(--space-8); top: var(--space-10); color: var(--action); width: var(--icon-small); height: var(--icon-small); }
.hero-heading { max-width: var(--hero-max); font-size: var(--text-hero); line-height: var(--leading-title); }
.green-text { color: var(--action); }
.hero-caption { margin: var(--space-6) 0 var(--space-11); max-width: var(--hero-copy-max); color: var(--muted); }
.info-band { margin-top: var(--space-10); padding: var(--space-9); background: var(--green-tint); border: var(--stroke) solid var(--step-track); border-radius: var(--radius-card); display: flex; gap: var(--space-5); align-items: flex-start; }
.info-band p { font-size: var(--text-label); }
.info-band .icon { color: var(--action); }
.list { display: flex; flex-direction: column; }
.list-button { display: flex; align-items: center; gap: var(--space-6); width: 100%; background: transparent; text-align: left; border: 0; border-bottom: var(--stroke) solid var(--line); padding: var(--space-8) var(--space-9); color: var(--ink); min-height: var(--list-row-height); transition: background-color var(--motion-feedback), transform var(--motion-fast); }
.list-button:first-child { border-radius: var(--radius-card) var(--radius-card) 0 0; }
.list-button:last-child { border-bottom: 0; border-radius: 0 0 var(--radius-card) var(--radius-card); }
.list-button:only-child { border-radius: var(--radius-card); }
.list-button:focus-visible { outline-offset: calc(-1 * var(--space-1)); }
.list-button .copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.list-button .copy strong { display: block; font-weight: var(--weight-medium); line-height: var(--leading-copy); }
.list-button .copy small { display: block; color: var(--muted); margin-top: var(--space-1); line-height: var(--leading-copy); }
.list-button>.icon { color: var(--action); }
.list-button .arrow { color: var(--icon-muted); width: var(--icon-mini); }
.list-empty { padding: var(--space-9); color: var(--muted); font-size: var(--text-label); }

/* Actions and forms */
.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); padding: var(--space-6) var(--space-8); min-height: var(--control-height); border: var(--stroke) solid var(--action); border-radius: var(--radius-control); background: var(--action); font-size: var(--text-body); font-weight: var(--weight-medium); color: var(--white); line-height: var(--leading-control); text-align: center; text-decoration: none; white-space: normal; transition: transform var(--motion-fast) var(--motion-ease), background-color var(--motion-feedback), border-color var(--motion-feedback), opacity var(--motion-feedback); }
.button.secondary { background: var(--white); color: var(--action); border-color: var(--border); }
.button.ghost { background: transparent; color: var(--muted); border-color: transparent; font-size: var(--text-md); }
.button.small { min-height: var(--touch-min); padding: var(--space-4) var(--space-5); font-size: var(--text-label); }
.button.full { width: 100%; }
.button .icon { height: var(--icon-small); width: var(--icon-small); }
.actions { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-10); }
.actions.inline { flex-direction: row; flex-wrap: wrap; }
.actions.inline>* { flex: 1; min-width: var(--action-min); }
.field { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.field label { font-size: var(--text-label); font-weight: var(--weight-medium); }
.field input, .field select { min-height: var(--control-height); width: 100%; border: var(--stroke) solid var(--border); border-radius: var(--radius-control); padding: var(--space-5) var(--space-6); color: var(--ink); background: var(--white); min-width: 0; font-size: var(--text-input); transition: border-color var(--motion-feedback), box-shadow var(--motion-feedback); scroll-margin-block: var(--space-10); }
.field input:focus, .field select:focus { border-color: var(--action); box-shadow: var(--shadow-focus); }
.field .hint { font-size: var(--text-sm); color: var(--muted); }
.promo-input { text-transform: uppercase; letter-spacing: var(--tracking-label); }
.form { display: flex; flex-direction: column; gap: var(--space-8); }
.search-field { margin-bottom: var(--space-8); }
.inline-form { display: flex; gap: var(--space-4); align-items: flex-end; }
.inline-form .field { flex: 1; min-width: 0; }
.inline-form>.button { flex-shrink: 0; }
.operator-code { letter-spacing: var(--tracking-code-small); font-size: var(--text-h2-small); }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-8); font-size: var(--text-sm); color: var(--muted); }
.pagination .button { min-width: var(--touch-min); }

/* Discounts and laboratory details */
.partner-card { padding: var(--space-11); display: flex; gap: var(--space-10); align-items: center; }
.partner-card>div:last-child { min-width: 0; }
.partner-wordmark { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--partner-size); height: var(--partner-size); border-radius: var(--radius-card); background: var(--partner-green); color: var(--white); font: var(--weight-heavy) var(--text-h2)/1 var(--font-heading); letter-spacing: var(--tracking-partner); }
.partner-card h2 { font-size: var(--text-h2); }
.partner-card p { font-size: var(--text-label); color: var(--muted); margin: var(--space-4) 0 var(--space-8); }
.benefit { background: var(--green-tint); border: var(--stroke) solid var(--step-track); border-radius: var(--radius-card); padding: var(--space-11); margin-bottom: var(--space-6); }
.benefit-number { font: var(--weight-heavy) var(--text-benefit)/1 var(--font-heading); letter-spacing: var(--tracking-benefit); color: var(--action); margin-bottom: var(--space-6); }
.benefit h2 { font-size: var(--text-h2-small); }
.benefit p { margin-top: var(--space-5); font-size: var(--text-md); }
.steps { display: flex; gap: var(--space-2); margin: 0 0 var(--space-10); }
.step { height: var(--space-1); border-radius: var(--radius-pill); background: var(--step-track); flex: 1; transition: background-color var(--motion-feedback); }
.step.active { background: var(--green); }
.step-label { font-size: var(--text-sm); color: var(--muted); margin-bottom: var(--space-4); }
.key-values { display: flex; flex-direction: column; gap: var(--space-7); margin: 0; }
.key-values>div { display: grid; grid-template-columns: var(--details-label-width) minmax(0,1fr); gap: var(--space-5); }
.key-values dt { font-size: var(--text-sm); color: var(--muted); }
.key-values dd { margin: 0; font-size: var(--text-md); min-width: 0; overflow-wrap: anywhere; }
.key-values a[href^="tel:"] { display: inline-flex; align-items: center; min-height: var(--touch-min); }
.lab-heading { display: flex; align-items: center; gap: var(--space-4); color: var(--action); font-size: var(--text-sm); margin-bottom: var(--space-3); }
.lab-heading .icon { height: var(--icon-mini); width: var(--icon-mini); }
.lab-address { font-size: var(--text-lead); font-weight: var(--weight-medium); line-height: var(--leading-copy); margin-bottom: var(--space-4); overflow-wrap: anywhere; }
.lab-city { font-family: var(--font-heading); font-size: var(--text-h2); font-weight: var(--weight-bold); line-height: var(--leading-subtitle); margin-bottom: var(--space-2); }
.tags { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.tag { font-size: var(--text-xs); padding: var(--space-2) var(--space-4); background: var(--surface); color: var(--muted); border-radius: var(--radius-small); }
.notice { background: var(--warning-bg); color: var(--warning); border: var(--stroke) solid var(--dev-border); border-radius: var(--radius-small); padding: var(--space-6); font-size: var(--text-label); line-height: var(--leading-body); margin-top: var(--space-7); }
.status { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); line-height: var(--leading-copy); padding: var(--space-2) var(--space-4); border-radius: var(--radius-pill); font-weight: var(--weight-medium); color: var(--warning); background: var(--warning-bg); }
.status::before { content: ''; width: var(--space-2); height: var(--space-2); flex-shrink: 0; border-radius: var(--radius-pill); background: currentColor; }
.status.used { background: var(--green-tint); color: var(--action); }
.status.revoked, .status.expired, .status.not_found { background: var(--error-bg); color: var(--error); }
.code-panel { text-align: center; border-top: var(--stroke-accent) solid var(--green); padding: var(--space-11) var(--space-9); }
.code-label { font-size: var(--text-sm); color: var(--muted); margin: var(--space-9) 0 var(--space-2); }
.confirmation-code { font: var(--weight-semibold) var(--text-code)/var(--leading-control) var(--font-body); letter-spacing: var(--tracking-code); white-space: nowrap; user-select: all; font-variant-numeric: tabular-nums; display: block; margin-bottom: var(--space-9); color: var(--ink); }
.code-help { max-width: var(--code-help-max); margin: var(--space-8) auto 0; font-size: var(--text-label); color: var(--muted); }
.code-panel>.button { max-width: var(--code-action-max); width: 100%; }
.transfer-label { font-size: var(--text-tiny); letter-spacing: var(--tracking-label); font-weight: var(--weight-semibold); color: var(--muted); text-transform: uppercase; margin-bottom: var(--space-4); }

/* Profile and staff */
.history-card { display: block; text-align: left; padding: var(--space-9); width: 100%; color: var(--ink); transition: transform var(--motion-fast), border-color var(--motion-feedback), box-shadow var(--motion-feedback); }
.history-card .history-code { font-size: var(--text-h2); font-weight: var(--weight-medium); letter-spacing: var(--tracking-history); font-variant-numeric: tabular-nums; }
.history-card h3 { font: var(--weight-medium) var(--text-md)/var(--leading-copy) var(--font-body); margin: var(--space-5) 0 var(--space-2); }
.history-card .history-address { font-size: var(--text-sm); color: var(--muted); overflow-wrap: anywhere; }
.history-card .history-date { font-size: var(--text-xs); color: var(--muted); margin-top: var(--space-5); }
.profile-card { display: flex; align-items: center; gap: var(--space-9); padding: var(--space-10); margin-bottom: var(--space-10); }
.profile-card>div:last-child { min-width: 0; overflow-wrap: anywhere; }
.avatar { width: var(--avatar-size); height: var(--avatar-size); flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--green-tint); color: var(--action); border-radius: var(--radius-card); font: var(--weight-bold) var(--text-h2) var(--font-heading); }
.profile-card h2 { font-size: var(--text-h2-small); margin-bottom: var(--space-1); }
.profile-card p { font-size: var(--text-label); color: var(--muted); }
.profile-card .phone { margin-top: var(--space-2); color: var(--ink); }
.empty { text-align: center; padding: var(--space-12) var(--space-9); }
.empty>.icon { width: var(--space-13); height: var(--space-13); color: var(--green); margin-bottom: var(--space-5); }
.empty h3 { font-size: var(--text-lead); margin-bottom: var(--space-4); }
.empty p { max-width: var(--empty-copy-max); margin: auto; color: var(--muted); font-size: var(--text-label); }
.empty>.button { margin-top: var(--space-9); }
.metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); margin-bottom: var(--space-10); }
.metric { padding: var(--space-9); min-width: 0; overflow-wrap: anywhere; }
.metric strong { font: var(--weight-bold) var(--text-metric) var(--font-heading); display: block; color: var(--action); }
.metric span { font-size: var(--text-sm); color: var(--muted); }
.table-wrap { max-width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); text-align: left; }
th, td { padding: var(--space-5) var(--space-6); border-bottom: var(--stroke) solid var(--line); vertical-align: top; }
th { background: var(--table-heading); font-weight: var(--weight-medium); }
tbody tr:last-child td { border-bottom: 0; }
.filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); margin-bottom: var(--space-9); }
.divider { border: 0; border-top: var(--stroke) solid var(--line); margin: var(--space-10) 0; }
.stat-detail { font-size: var(--text-label); }
.stat-detail .row { padding: var(--space-3) 0; border-bottom: var(--stroke) solid var(--line); overflow-wrap: anywhere; }
.stat-detail .row:last-child { border-bottom: 0; }
.refresh-button { margin-left: auto; }

/* Feedback: entrance is explicitly attached by the screen controller. */
.error-box { margin: var(--space-7) 0; border: var(--stroke) solid var(--error); border-radius: var(--radius-control); background: var(--error-bg); padding: var(--space-8); color: var(--error); font-size: var(--text-label); animation: feedback-enter var(--motion-feedback) var(--motion-ease); }
.error-box p { margin-bottom: var(--space-5); }
.loading { display: flex; min-height: var(--loading-height); justify-content: center; align-items: center; gap: var(--space-5); color: var(--muted); }
.spinner { display: inline-block; width: var(--icon-size); height: var(--icon-size); border: var(--spinner-stroke) solid var(--line); border-top-color: var(--green); border-radius: var(--radius-pill); animation: spin var(--motion-loading) linear infinite; }
main[aria-busy=true]::before { content: ''; height: var(--stroke-accent); display: block; position: fixed; top: 0; left: 0; right: 0; background: var(--green); z-index: var(--layer-feedback); animation: pulse var(--motion-loading) ease-in-out infinite; }
.toast { position: fixed; left: 50%; bottom: calc(var(--space-10) + var(--safe-bottom-total)); transform: translateX(-50%); background: var(--ink); color: var(--white); padding: var(--space-5) var(--space-8); border-radius: var(--radius-control); font-size: var(--text-label); box-shadow: var(--shadow-toast); max-width: calc(100% - var(--space-12)); width: max-content; z-index: var(--layer-toast); animation: toast-enter var(--motion-feedback) var(--motion-ease); }
.dev-strip { background: var(--dev-bg); border-bottom: var(--stroke) solid var(--dev-border); color: var(--dev-ink); padding: var(--space-3) var(--space-8); font-size: var(--text-xs); display: flex; justify-content: center; align-items: center; gap: var(--space-7); flex-wrap: wrap; }
.dev-strip strong { font-weight: var(--weight-medium); }
.dev-strip select { background: var(--white); border: var(--stroke) solid var(--dev-border); border-radius: var(--radius-small); color: var(--dev-ink); padding: var(--space-2) var(--space-4); max-width: 100%; min-height: var(--touch-min); font-size: var(--text-sm); }
.dev-strip label { display: flex; gap: var(--space-3); align-items: center; }
.screen-footer { margin-top: var(--space-11); color: var(--muted); font-size: var(--text-xs); text-align: center; }
.service-hint { font-size: var(--text-sm); margin-bottom: var(--space-7); color: var(--action); }
.section-gap { margin-top: var(--space-8); }
.step-description { margin: var(--space-5) 0 var(--space-9); }
.form-intro { margin: var(--space-4) 0 var(--space-10); }
.card-gap { margin-bottom: var(--space-6); }
details { border-radius: var(--radius-card); }
summary { min-height: var(--touch-min); cursor: pointer; }
details[open]>:not(summary) { animation: feedback-enter var(--motion-feedback) var(--motion-ease); }

@media (hover:hover) {
  .tab:hover, .back:hover { background: var(--green-tint); }
  .service-card:hover, .history-card:hover { border-color: var(--green-accent); box-shadow: var(--shadow-hover); transform: translateY(var(--lift-distance)); }
  .list-button:hover { background: var(--green-tint); }
  .button:hover { background: var(--action-hover); border-color: var(--action-hover); color: var(--white); text-decoration: none; }
  .button.secondary:hover { border-color: var(--action); background: var(--green-tint); color: var(--action); }
  .button.ghost:hover { background: var(--line); border-color: transparent; color: var(--muted); }
}
button:not(:disabled):active, a.button:active { transform: scale(var(--press-scale)); }
@keyframes screen-enter { from { opacity: var(--entrance-opacity); transform: translateY(var(--motion-distance)); } to { opacity: 1; transform: none; } }
@keyframes feedback-enter { from { opacity: var(--feedback-opacity); transform: translateY(calc(var(--motion-distance) / 2)); } to { opacity: 1; transform: none; } }
@keyframes toast-enter { from { opacity: 0; transform: translate(-50%,var(--motion-distance)); } to { opacity: 1; transform: translate(-50%,0); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 50% { opacity: var(--entrance-opacity); } }

/* Mobile: navigation sits above both OS and Telegram safe areas. */
@media (max-width:760px) {
  .header-inner { padding: var(--space-7) var(--space-9); padding-left: calc(var(--space-9) + var(--safe-left) + var(--content-safe-left)); padding-right: calc(var(--space-9) + var(--safe-right) + var(--content-safe-right)); min-height: var(--header-height-mobile); gap: var(--space-8); }
  .brand img { width: var(--brand-mobile-width); }
  .brand-description { font-size: var(--text-brand-mobile); padding-left: var(--space-7); }
  .header-label { display: none; }
  .app-layout { display: block; max-width: var(--mobile-max); padding: var(--space-10) var(--space-9) calc(var(--nav-height) + var(--safe-bottom-total) + var(--space-14)); padding-left: calc(var(--space-9) + var(--safe-left) + var(--content-safe-left)); padding-right: calc(var(--space-9) + var(--safe-right) + var(--content-safe-right)); }
  main { min-height: 65vh; }
  .tab-bar { position: fixed; top: auto; bottom: calc(var(--nav-edge) + var(--safe-bottom-total)); left: calc(var(--nav-edge) + var(--safe-left) + var(--content-safe-left)); right: calc(var(--nav-edge) + var(--safe-right) + var(--content-safe-right)); max-width: var(--mobile-max); margin-inline: auto; z-index: var(--layer-nav); flex-direction: row; justify-content: center; background: var(--white); border: var(--stroke) solid var(--line); border-radius: var(--radius-nav); box-shadow: var(--shadow-nav); padding: var(--space-2); gap: var(--space-1); }
  .tab { flex: 1; min-width: 0; flex-direction: column; justify-content: center; gap: var(--space-1); padding: var(--space-3) var(--space-1); text-align: center; font-size: var(--text-tiny); line-height: var(--leading-title); min-height: var(--nav-tab-height); }
  .tab .icon { height: var(--icon-size); width: var(--icon-size); }
  h1 { font-size: var(--text-h1-mobile); }
  .hero-heading { font-size: var(--text-metric); }
  .hero-caption { font-size: var(--text-md); margin: var(--space-5) 0 var(--space-10); }
  .eyebrow { font-size: var(--text-tiny); margin-bottom: var(--space-4); }
  .service-grid { gap: var(--space-5); }
  .service-card { min-height: var(--card-height); padding: var(--space-9) var(--space-7); }
  .service-card h2 { font-size: var(--text-body); line-height: var(--leading-control); padding-right: 0; }
  .service-card p { font-size: var(--text-sm); padding-right: 0; }
  .service-icon { width: var(--service-icon-mobile-width); height: var(--service-icon-mobile-height); margin-bottom: var(--space-7); }
  .service-card .card-arrow { top: var(--space-9); right: var(--space-5); width: var(--icon-mini); height: var(--icon-mini); }
  .info-band { padding: var(--space-7); margin-top: var(--space-9); }
  .card { padding: var(--space-9); }
  .page-head { margin-bottom: var(--space-10); }
  .back { margin-bottom: var(--space-8); }
  .list-button { padding: var(--space-7); }
  .lab-city { font-size: var(--text-h2-small); }
  .lab-address { font-size: var(--text-body); }
  .partner-card { padding: var(--space-10); display: block; }
  .partner-wordmark { width: var(--partner-mobile-width); height: var(--partner-mobile-height); margin-bottom: var(--space-9); }
  .partner-card .button { width: 100%; margin-top: var(--space-1); }
  .benefit { padding: var(--space-10); }
  .benefit-number { font-size: var(--text-benefit-mobile); }
  .key-values>div { grid-template-columns: var(--details-label-mobile-width) minmax(0,1fr); gap: var(--space-4); }
  .profile-card { gap: var(--space-6); padding: var(--space-9); }
  .avatar { width: var(--avatar-mobile-size); height: var(--avatar-mobile-size); font-size: var(--text-h2-small); border-radius: var(--radius-control); }
  .profile-card h2 { font-size: var(--text-h3); }
  .history-card { padding: var(--space-8); }
  .history-card .row { align-items: flex-start; flex-wrap: wrap; }
  .history-card .history-code { font-size: var(--text-h2-small); }
  .code-panel { padding: var(--space-10) var(--space-7); }
  .grid-two { grid-template-columns: 1fr; }
  .metric-grid { gap: var(--space-3); }
  .metric { padding: var(--space-6) var(--space-4); border-radius: var(--radius-control); }
  .metric strong { font-size: var(--text-metric-mobile); }
  .metric span { font-size: var(--text-xs); }
  .dev-strip { gap: var(--space-1); padding: var(--space-2) var(--space-5); font-size: var(--text-tiny); flex-direction: column; }
  .dev-strip select { max-width: var(--dev-select-max); }
  .actions.inline { flex-direction: column; }
  .actions.inline>* { min-width: 0; width: 100%; }
  .inline-form { align-items: stretch; flex-direction: column; }
  .inline-form>.button { width: 100%; }
  .table-wrap th, .table-wrap td { padding: var(--space-4); }
  .toast { bottom: calc(var(--nav-height) + var(--safe-bottom-total) + var(--space-10)); }
  .keyboard-open .tab-bar { display: none; }
  .keyboard-open .app-layout { padding-bottom: calc(var(--space-12) + var(--keyboard-inset)); }
  .keyboard-open { scroll-padding-bottom: calc(var(--space-10) + var(--keyboard-inset)); }
  .keyboard-open .toast { bottom: calc(var(--keyboard-inset) + var(--space-7)); }
}
@media (max-width:374px) {
  .app-layout, .header-inner { padding-left: calc(var(--space-7) + var(--safe-left) + var(--content-safe-left)); padding-right: calc(var(--space-7) + var(--safe-right) + var(--content-safe-right)); }
  .header-inner { gap: var(--space-5); }
  .brand img { width: var(--brand-narrow-width); }
  .brand-description { padding-left: var(--space-5); }
  .hero-heading { font-size: var(--text-h1-mobile); }
  .service-card { padding: var(--space-8) var(--space-6); }
  .service-card h2 { font-size: var(--text-md); }
  .confirmation-code { letter-spacing: var(--tracking-code-small); font-size: var(--text-metric); }
  .filters { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  button:not(:disabled):active, a.button:active, .service-card:hover, .history-card:hover { transform: none; }
}
/* Shared program identity; original palette and reduced-motion rules remain. */
.partner-logos { display: flex; align-items: center; justify-content: center; gap: var(--partner-logos-gap); margin-block: var(--space-5) var(--space-9); max-width: 100%; }
.partner-logos img { width: var(--partner-logo-width); height: var(--partner-logo-height); object-fit: contain; min-width: 0; }
.partner-logos img[alt="Fishka"] { background: var(--ink); border-radius: var(--radius-small); padding: var(--space-3); }
.partner-logos span { flex-shrink: 0; }
.partner-card { display: block; }
.award-result { margin-block: var(--space-5); overflow-wrap: anywhere; }
.award-result p { margin-bottom: 0; }
.report-filters summary { cursor: pointer; min-height: var(--touch-min); display: flex; align-items: center; font-weight: var(--weight-semibold); }
.report-filters[open] .form { margin-top: var(--space-5); }
