@font-face{font-family:'IBM Plex Sans';src:url('/fonts/plex-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F,U+2116;}
@font-face{font-family:'IBM Plex Sans';src:url('/fonts/plex-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;}
:root{--tg-blue:var(--accent-fill);--tg-blue-dark:var(--accent-text);--page-bg:var(--bg);--card-bg:var(--surface);--text-secondary:var(--muted);--border:var(--line);--green:var(--accent-text);--teal:var(--accent-text);}
html,body{font-family:var(--font-body);color:var(--ink);background:var(--bg);}
.screen{max-width:none;margin:0;}
.tg-topbar{width:100%;background:var(--surface);padding-inline:clamp(16px,4vw,56px);}
.tg-title{color:var(--ink);}
.content{padding:24px max(20px,calc((100vw - 1000px)/2));}
.content:has(.start-hero){padding:0;}
.start-hero{width:100%;min-height:100%;border:0;border-radius:0;box-shadow:none;}
.start-logo{box-shadow:none;max-width:400px;}
.tab-bar{background:var(--surface);display:flex;padding:8px max(12px,calc((100vw - 1000px)/2));border-top:1px solid var(--line);}
.tab-item{border:0;background:transparent;min-height:48px;flex:1;font-size:16px;color:var(--muted-strong);cursor:pointer;font-weight:500;}
.tab-item.active{color:var(--accent-text);background:var(--accent-soft);}
button,input,select,textarea{font:inherit;}
button{min-height:44px;}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.form-input,.form-select,.modal-box,.notify-modal{color:var(--ink);background:var(--surface);}
.form-input,.form-select{min-height:48px;border-color:var(--line-strong);font-size:16px;}
.btn-primary{background:var(--accent-fill);color:var(--accent-on-fill);}
.btn-secondary{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong);}
.card{background:var(--surface);border:0;box-shadow:none;}
.task20-section{padding-block:24px;}
.task20-section h1,.task20-section h2{color:var(--ink);text-align:left;margin:0 0 16px;font-weight:600;}
.task20-section h1{font-size:clamp(28px,4vw,42px);line-height:1.12;}
.task20-facts{display:grid;grid-template-columns:1fr;gap:18px;margin:24px 0 32px;padding:22px 0;border-block:1px solid var(--line-strong);}
.task20-facts dt{color:var(--muted);font-size:15px;}
.task20-facts dd{font-size:26px;font-weight:600;margin:4px 0 0;}
.task20-list{display:flex;flex-direction:column;margin:18px 0;}
.task20-row{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:start;justify-content:space-between;gap:16px;overflow-wrap:anywhere;}
.task20-row p{margin:4px 0;color:var(--muted);font-size:16px;}
.task20-row strong{font-size:18px;}
.task20-form{display:grid;gap:16px;max-width:640px;}
.task20-form label{display:grid;gap:8px;font-size:16px;color:var(--ink);}
.task20-error{color:var(--ink);padding:12px;background:var(--accent-soft);white-space:pre-wrap;}
.task20-error:empty{display:none;}
.task20-link{border:0;background:transparent;color:var(--accent-text);text-align:left;min-height:44px;padding:8px 0;text-decoration:underline;}
.task20-archive{background:var(--surface-2);padding:24px;margin-top:32px;}
.task20-archive .task20-row{display:block;}
@media(min-width:760px){.task20-facts{grid-template-columns:repeat(3,1fr);}.task20-form{max-width:680px;}.task20-section{padding-block:32px;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
.op-home-icon,.filter-chip-icon{display:none;}
.op-home-card{border:0;border-radius:0;box-shadow:none;background:var(--surface);border-bottom:1px solid var(--line);}
.hint-warn,.field-hint,.modal-field-hint,.review-row .k{color:var(--muted-strong);}
.modal-sub,.modal-field-label,.field-label,.review-caption{color:var(--ink);}
.amount-input,.amount-unit,.review-row .v{color:var(--ink);}
.modal-box,.card,.dest-btn,.country-select,.sticky-bottom,.tab-bar,.main-btn-wrap{background:var(--surface);color:var(--ink);}
.dest-btn{border-color:var(--line-strong);min-height:48px;font-size:15px;}
.dest-btn.selected{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent);}
#task20Overlay{padding:12px;background:var(--overlay);}
#task20Overlay .modal-box{width:min(100%,780px);max-height:calc(100dvh - 24px);padding:24px;overflow:auto;}
#task20Overlay .task20-row{flex-wrap:wrap;}
#task20Overlay .task20-row>div{min-width:180px;flex:1;}
#task20Overlay h2{font-size:24px;}
.task20-link,.task20-error{font-size:16px;}
.task20-facts{margin-top:18px;}
.form-select{width:100%;margin-top:12px;}
input,select,textarea{max-width:100%;}

.tier-tile{width:100%;text-align:left;box-shadow:none;border:0;border-radius:0;background:var(--surface);color:var(--ink);}
.tier-title,.modal-title,.modal-head{color:var(--ink);}
.tier-range,.tier-rate-sub{color:var(--muted);}
.tier-info{flex:1;}
.btn-primary,.btn-op{box-shadow:none;}
.btn-primary:disabled{background:var(--surface-2);color:var(--muted-strong);}
.modal-field{display:block;}
.modal-field-label{display:block;margin-bottom:8px;}
.amount-input{background:var(--surface);border-bottom:1px solid var(--line-strong);}

.chat-fab{color:var(--accent-on-fill);background:var(--accent-fill);box-shadow:none;}

.op-home-title,.filter-chip-count{color:var(--ink);}
.op-home-sub,.filter-chip-label{color:var(--muted);}
.filter-chip{background:var(--surface);border-color:var(--line-strong);color:var(--ink);}
.filter-chip.active,.dispatch-bar{background:var(--accent-soft);border-color:var(--line);}
.dispatch-bar-label{color:var(--accent-text);}

.status-badge{background:var(--surface-2);color:var(--ink);}
.status-block.wait{background:var(--surface-2);color:var(--ink);}
.btn-escalate{background:var(--accent-soft);color:var(--accent-text);border-color:var(--line);}
.client-document-signature,.client-document-signature strong{color:var(--ink);border-color:var(--line);}
.review-row{border-color:var(--line);}
:root[data-theme="dark"] .client-document-signature img{filter:invert(1);}

.task20-client-link{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);text-align:left;}

.task20-k{color:var(--muted);font-size:14px;margin-right:6px;}
.task20-v{color:var(--ink);}
.task20-hint{display:block;margin-top:6px;color:var(--muted);font-size:14px;font-weight:400;}
.requisite-card{background:var(--surface-2);border:1.5px dashed var(--line-strong);}
.requisite-bank{color:var(--muted);}
.requisite-name,.requisite-num,.requisite-line{color:var(--ink);}
.requisite-card .copy-btn{color:var(--ink);background:var(--surface);border-color:var(--line-strong);}

/* MINVER1: строка «обновите приложение» для старых оболочек APK.
   .screen занимает 100dvh; пока строка показана, body становится колонкой,
   и экран берёт оставшуюся высоту, чтобы нижняя панель не уходила за край. */
body.has-app-update { display: flex; flex-direction: column; height: 100vh; height: 100dvh; overflow: hidden; }
body.has-app-update .screen { flex: 1 1 auto; height: auto; min-height: 0; }
.app-update-banner {
  flex: 0 0 auto; z-index: 10000;
  display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; justify-content: center;
  padding: 10px 14px; padding-top: calc(10px + env(safe-area-inset-top)); background: #b42318; color: #fff;
  font-size: 14px; line-height: 1.35; text-align: center;
}
.app-update-banner .app-update-link {
  color: #fff; font-weight: 600; text-decoration: underline; white-space: nowrap;
}
