/* Redline cabinets, design v2 (07.10.2026): the page rules of the package «buyer» (loaded after redline-v2.css by UiLocale.CabinetHead).
   Scope every rule like redline-v2.css: :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) …
   The buyer's pages (src/Buyer.Web) and the public pages (src/Web.Shared/CabinetAuthPages.cs) as the mockups
   designs/redlink-v2-20261007/web/V2W-Buyer*.dc.html and V2W-Home/Login/Register/Recover/Download draw them. The classes bv-*
   mirror the mockups' own: .card, .fld, .in, .btn, .tbl, .tile, .line, .bar, .sub. Rules are nested under the cabinet's scope. */

:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 /* ---------- The page: 14 px from the section tabs when the page has no sub-tabs, 12 px between the cards ---------- */
 & header.rv-top-tabs+main.rv-main>h1.sr-only:first-child+*{margin-top:14px}
 & .rv-main .bv-page{display:flex;flex-direction:column;gap:12px}
 & .rv-main .bv-page>*{margin:0}
 & .bv-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
 & .bv-grid>*{margin:0;min-width:0}
 & .bv-side{flex:1 1 380px}
 & .bv-wide{flex:999 1 560px}
 & .bv-fill{flex:1 1 0}
 & .bv-mut{color:var(--rl-muted)}
 & .bv-sec{color:var(--rl-second)}
 & .bv-r{text-align:right}
 & .bv-num{font-variant-numeric:tabular-nums}
 & .bv-good{color:var(--rl-good)}
 & .bv-bad{color:var(--rl-bad)}
 & .bv-blue{color:var(--rl-log-ok)}
 & .bv-warn{color:var(--rl-warn)}
 & .bv-mono{font-family:'JetBrains Mono',Consolas,'Cascadia Mono',monospace;font-size:12px}
 & .bv-nowrap{white-space:nowrap}

 /* ---------- Cards ---------- */
 & .card.bv-card{padding:12px 14px;margin:0;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel);box-shadow:none}
 & .card.bv-card.bv-flush{padding:0;overflow:hidden}
 & .bv-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px}
 & .bv-flush>.bv-head{padding:12px 14px}
 & .bv-head>h2,& .bv-title{margin:0;font-size:14px;font-weight:500;line-height:1.35;color:var(--rl-strong)}
 & .bv-count{font-size:13px;font-weight:400;color:var(--rl-muted)}
 & .bv-note{font-size:12px;color:var(--rl-muted)}
 & .bv-head>:is(button,a.rl-button,.rl-button){margin:0}
 & .bv-head .rl-button,& .bv-head button:not(.primary):not(.rl-primary){height:34px;min-height:34px}
 & .bv-head a:not(.rl-button){font-size:13px;font-weight:400;text-decoration:none}
 & .bv-head .bv-sel{font-size:12.5px;color:var(--rl-second)}
 & .bv-cardbody{padding:0 14px 14px}
 & .bv-sub{margin:0 0 8px;font-size:14px;font-weight:500}
 & .bv-p{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--rl-muted)}
 & .bv-p:first-child{margin-top:0}

 /* ---------- Tables: head #EEF0F3, rows 36–38 px, nothing cut: the card scrolls sideways ---------- */
 & .bv-scroll{overflow-x:auto}
 & table.bv-table{width:100%;border-collapse:collapse;border-spacing:0;margin:0;font-size:13px;font-variant-numeric:tabular-nums;background:var(--rl-panel)}
 & table.bv-table :is(th,td){padding:6px 10px;text-align:left;vertical-align:middle;border:0}
 & table.bv-table th{height:32px;background:var(--rl-head);color:var(--rl-head-text);font-size:12px;font-weight:400;white-space:nowrap;position:static}
 & table.bv-table td{height:38px;border-top:1px solid var(--rl-rowline);color:var(--rl-text);box-sizing:border-box}
 & table.bv-table tbody tr:first-child td{border-top:0}
 & table.bv-table :is(th,td):first-child{padding-left:14px}
 & table.bv-table :is(th,td):last-child{padding-right:14px}
 & table.bv-table :is(th,td).r{text-align:right}
 & table.bv-table :is(th,td).c{text-align:center}
 & table.bv-table td.bv-wrap{white-space:normal;overflow-wrap:anywhere}
 & table.bv-table td.bv-clip{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 & table.bv-table td.bv-empty{height:64px;text-align:center;color:var(--rl-muted)}
 & table.bv-table tr.bv-total td{font-weight:500;background:var(--rl-soft)}
 & table.bv-table th>button[data-b-sort]{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit}
 & table.bv-table th .rl-sort{font-size:10px;opacity:.6}
 & table.bv-table :is(th,td).bv-pick{width:24px;padding-right:0}
 & table.bv-table :is(th,td).bv-menu{width:44px;text-align:right}
 & table.bv-table tbody tr[data-actions]{cursor:context-menu}
 & table.bv-table tbody tr.bv-on td{background:var(--rl-selected)}
 & table.bv-table b{font-weight:500}
 /* The country in a table: the flag and the short code; the name is the tooltip. */
 & .bv-country{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
 /* 15.10.2026: the demands' row icons take the room of a long country, which wraps instead of scrolling the table (rule 8). */
 & .task-table .bv-country{white-space:normal}
 & .bv-country img,& .bv-flag{width:18px;height:13px;flex:none;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #0000001a}
 & .bv-country .flag-code{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:13px;font-size:9px;border-radius:2px;background:var(--rl-head)}

 /* ---------- The card's footer: «N строк · UTC+8» left, the totals right; the page numbers under it ---------- */
 & .bv-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;border-top:1px solid var(--rl-border);background:var(--rl-soft);font-size:12px;color:var(--rl-second)}
 & .bv-foot .bv-totals{font-size:13px;color:var(--rl-text);font-variant-numeric:tabular-nums}
 & .bv-foot .bv-totals b{font-weight:500}
 & .bv-foot label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--rl-second)}
 & .bv-pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}
 & .bv-pages :is(a,span,button){display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;min-height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--rl-input);border-radius:6px;background:var(--rl-panel);color:var(--rl-text);font-size:12px;font-weight:400;text-decoration:none}
 & .bv-pages .on{background:var(--rl-tint);border-color:#f0c8d3;color:var(--rl-accent);font-weight:500}
 & .bv-pages .gap{border-color:transparent;background:transparent;min-width:16px;padding:0}
 & .bv-pages [aria-disabled=true],& .bv-pages button:disabled{opacity:.45;pointer-events:none}

 /* ---------- Forms: captions above the fields, 34 px fields and buttons ---------- */
 & form.bv-form{display:flex;flex-direction:column;gap:10px}
 & .bv-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
 & .bv-row>*{margin:0}
 & .bv-fld{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0;font-size:12px;line-height:18px;font-weight:400;color:var(--rl-second)}
 & .bv-fld>:is(input,select,textarea):not([type=checkbox]):not([type=radio]){height:34px;min-height:34px;box-sizing:border-box;margin:0;padding:0 10px;border:1px solid var(--rl-field);border-radius:6px;background:var(--rl-panel);font-size:13px;color:var(--rl-text);width:100%}
 & .bv-fld>textarea{height:auto!important;min-height:76px!important;padding:8px 10px!important;line-height:1.45;resize:vertical}
 & .bv-fld>.rl-picker,& .bv-fld .picker-button{height:34px;min-height:34px}
 & .bv-fld .bv-hint{font-size:11.5px;color:var(--rl-muted)}
 & .bv-val{display:inline-flex;align-items:center;gap:8px;height:34px;font-size:14px;font-weight:500;color:var(--rl-strong)}
 & .bv-val small{font-size:12px;font-weight:400;color:var(--rl-muted)}
 & .bv-chk{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--rl-text);white-space:nowrap;cursor:pointer}
 & .bv-chk input{margin:0}
 & .bv-chks{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-height:34px}
 & .bv-w80{width:80px}& .bv-w110{width:110px}& .bv-w120{width:120px}& .bv-w140{width:140px}& .bv-w150{width:150px}& .bv-w170{width:170px}
 & .bv-w180{width:180px}& .bv-w190{width:190px}& .bv-w200{width:200px}& .bv-w220{width:220px}& .bv-w240{width:240px}& .bv-w280{width:280px}
 & :is(.bv-w80,.bv-w110,.bv-w120,.bv-w140,.bv-w150,.bv-w170,.bv-w180,.bv-w190,.bv-w200,.bv-w220,.bv-w240,.bv-w280){max-width:100%;flex:0 1 auto}
 & .bv-grow{flex:1 1 220px}
 /* Buttons of the mockups: white with a line, the main one filled, a quiet one without a line, «on» tinted, small row buttons. */
 & .bv-btn,& a.bv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;min-height:34px;padding:0 14px;box-sizing:border-box;border:1px solid var(--rl-input);border-radius:6px;background:var(--rl-panel);color:var(--rl-text);font-size:13px;font-weight:400;text-decoration:none;white-space:nowrap;cursor:pointer;margin:0}
 & .bv-btn:hover{background:var(--rl-soft);border-color:#c3c8d0;color:var(--rl-text)}
 & .bv-btn.bv-p{background:var(--rl-accent-fill);border-color:var(--rl-accent-fill);color:#fff;font-weight:500}
 & .bv-btn.bv-p:hover{background:var(--rl-accent-hover);border-color:var(--rl-accent-hover);color:#fff}
 & .bv-btn.bv-q{border-color:transparent;background:transparent;color:var(--rl-second)}
 & .bv-btn.bv-q:hover{background:var(--rl-soft)}
 & .bv-btn.bv-on{background:var(--rl-tint);border-color:#f0c8d3;color:var(--rl-accent);font-weight:500}
 & .bv-btn.bv-s{height:28px;min-height:28px;padding:0 10px;font-size:12.5px}
 & .bv-btn.bv-soft{border-color:transparent;background:var(--rl-soft-button)}
 & .bv-btn.bv-soft:hover{background:#e3e6ea}
 & .bv-btn.bv-refuse{border-color:transparent;background:var(--rl-soft-refuse);color:var(--rl-bad)}
 & .bv-btn:disabled,& .bv-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
 & .bv-btn.bv-lg{height:40px;min-height:40px;font-size:13.5px}
 & .bv-btn svg{width:15px;height:15px;flex:none}
 & .bv-link{font-size:13px;font-weight:400;text-decoration:none;white-space:nowrap}
 & .bv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

 /* ---------- «Ещё фильтры · N ▾» under the one-line filter ---------- */
 & form.bv-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px 14px;margin:0}
 & form.bv-filter>.rl-filtergrid{display:contents}
 & form.bv-filter>.rl-filtergrid>*{flex:0 1 172px;min-width:130px;margin:0}
 & form.bv-filter>.rl-filtergrid>.bv-wide-field{flex-basis:230px}
 & form.bv-filter>.rl-filteractions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 4px;margin:0}
 & form.bv-filter>.rl-filteractions>*{margin:0}
 & form.bv-filter>.rl-filteractions .rl-small{margin-left:8px}
 & form.bv-filter>details{order:3;align-self:center;margin:0}
 & form.bv-filter>details[open]{order:4;flex:1 0 100%}
 & form.bv-filter>details>.rl-filtergrid{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:10px}
 & form.bv-filter>details>.rl-filtergrid>*{flex:0 1 190px;min-width:140px;margin:0}
 & form.bv-filter :is(.rl-field>span,.picker-field>label){font-size:12px;line-height:18px;font-weight:400;color:var(--rl-second);margin:0}
 & form.bv-filter .picker-field{display:flex;flex-direction:column;gap:4px}
 & form.bv-filter :is(input,select):not([type=checkbox]):not([type=radio]){height:34px;min-height:34px}
 & form.bv-filter>.bv-quick{order:3;display:flex;flex-wrap:wrap;gap:8px;margin-left:8px}

 /* ---------- States: a coloured dot and a word ---------- */
 & .bv-st{display:inline-flex;align-items:center;gap:5px;font-weight:400;white-space:nowrap;color:var(--rl-good)}
 & .bv-st::before{content:'●';font-size:11px;line-height:1}
 & .bv-st.bad{color:var(--rl-bad)}
 & .bv-st.wait{color:var(--rl-muted)}
 & .bv-st.warn{color:var(--rl-warn)}
 & .bv-st.blue{color:var(--rl-log-ok)}

 /* ---------- Figures: tiles, money lines, share bars ---------- */
 & .bv-tiles{display:flex;flex-wrap:wrap;gap:10px}
 & .bv-tile{flex:1 1 180px;min-width:0;box-sizing:border-box;padding:12px 14px;border-radius:8px;background:var(--rl-soft);border:1px solid var(--rl-border);display:flex;flex-direction:column;gap:3px}
 & .bv-tile.bv-main{background:#fdf0f3;border-color:#f0c8d2}
 & .bv-tile .c{font-size:12px;color:var(--rl-second)}
 & .bv-tile .v{font-size:19px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--rl-strong)}
 & .bv-tile.bv-main .v{font-size:22px}
 & .bv-tile .n{font-size:11.5px;color:var(--rl-muted)}
 & .bv-tile .v.bv-good{color:var(--rl-good)}
 & .bv-tile .v.bv-bad{color:var(--rl-bad)}
 & .bv-line{display:flex;align-items:center;gap:12px;min-height:34px;border-bottom:1px solid var(--rl-rowline);font-size:13px}
 & .bv-line>span:last-child{margin-left:auto;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
 & .bv-line.bv-sum{border-top:1px solid var(--rl-input);font-size:13.5px;font-weight:500}
 & .bv-line.bv-sum>span:last-child{font-weight:500}
 & .bv-bar{display:inline-block;width:110px;height:8px;border-radius:4px;background:var(--rl-head);vertical-align:middle;margin-right:8px;overflow:hidden}
 & .bv-bar i{display:block;height:8px;border-radius:4px;background:#c81e4a}
 & .bv-chart{display:block;width:100%;height:auto}
 & .bv-legend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--rl-second)}
 & .bv-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
 & .bv-banner{padding:10px 14px;border-radius:8px;background:var(--rl-tint);color:var(--rl-accent);font-size:13px;font-weight:400}
 & .bv-banner.bv-info{background:#eef3fb;color:#1f56b0}
 & .bv-warnline{color:var(--rl-bad);font-size:12.5px;font-weight:400}
 & .bv-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;background:var(--rl-head);font-size:11.5px;font-weight:400;color:var(--rl-second);white-space:nowrap}
 & .bv-copy{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--rl-muted);cursor:pointer;vertical-align:middle}
 & .bv-copy:hover{background:var(--rl-head);color:var(--rl-text)}
 & .bv-copy svg{width:14px;height:14px}

 /* ---------- Windows (<dialog>) of the pages ---------- */
 & dialog.bv-dialog{width:min(480px,calc(100vw - 32px));padding:18px 20px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel);color:var(--rl-text);box-shadow:0 18px 50px #0003}
 & dialog.bv-dialog::backdrop{background:#262b3366}
 & dialog.bv-dialog>h2{margin:0 0 12px;font-size:15px;font-weight:500}
 & dialog.bv-dialog form{display:flex;flex-direction:column;gap:10px;margin:0}
 & dialog.bv-dialog .bv-dlgactions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
 & dialog.bv-dialog .bv-terms{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px}
 & dialog.bv-dialog .bv-terms dt{color:var(--rl-second)}
 & dialog.bv-dialog .bv-terms dd{margin:0;font-weight:400}
}

@media (max-width:820px){
 :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
  & .bv-side,& .bv-wide{flex-basis:100%}
  & form.bv-filter>.rl-filtergrid>*{flex:1 1 140px}
 }
}

/* ---------- «⋯» of a card's head: the table's rare actions ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-headmenu{position:relative}
 & .bv-headmenu>summary{list-style:none;min-width:40px;font-size:14px;letter-spacing:1px}
 & .bv-headmenu>summary::-webkit-details-marker{display:none}
 & .bv-headmenu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:360px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--rl-panel);border:1px solid var(--rl-input);border-radius:8px;box-shadow:0 10px 26px #0002}
 & .bv-headmenu-list>:is(button,a){display:flex;align-items:center;width:100%;min-height:34px;height:auto;padding:6px 10px;margin:0;border:0;border-radius:6px;background:transparent;color:var(--rl-text);font-size:13px;font-weight:400;text-align:left;text-decoration:none;white-space:normal}
 & .bv-headmenu-list>:is(button,a):hover{background:var(--rl-tint);color:var(--rl-accent)}
 & .bv-headmenu-list>p{margin:4px 10px 4px;font-size:11.5px;line-height:1.4;color:var(--rl-muted)}
 & .bv-seg{display:inline-flex;height:34px}
 & .bv-seg button{height:34px;min-height:34px;padding:0 14px;border:1px solid var(--rl-input);background:var(--rl-panel);color:var(--rl-text);font-size:13px;font-weight:400;margin:0}
 & .bv-seg button+button{border-left:0}
 & .bv-seg button.on{background:var(--rl-tint);border-color:#f0c8d3;color:var(--rl-accent);font-weight:500}
 & .bv-seg button:disabled{opacity:.5;cursor:not-allowed}
}

/* ---------- «Аналитика»: the strip of the period's figures and the three cards side by side ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-kpis{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
 & .bv-kpi{display:flex;flex-direction:column;gap:2px}
 & .bv-kpi span{font-size:12px;color:var(--rl-second)}
 & .bv-kpi b{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}
 & .bv-thirds>*{flex:1 1 340px}
}

/* ---------- «Получить код» (V2W-BuyerGetCode): the form in two lines, «Текущие номера» ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 /* Beats redline-cabinet.css «:is(.fld,.picker-field,…) label:not(:has(>input[type=checkbox]))» (11 px). */
 & .bv-fld.bv-fld>label:not(.bv-x){margin:0;font-size:12px;line-height:18px;font-weight:400;color:var(--rl-second)}
 & .numbers-card .number-table .sms-code{font-size:13px}
 & .bv-fld .picker-button{width:100%;height:34px;min-height:34px;box-sizing:border-box;border:1px solid var(--rl-field);border-radius:6px;background:var(--rl-panel)}
 & .bv-fld :is(.project-slot,.country-slot,.docking-slot)>select:not(.picker-native){width:100%;height:34px}
 & .get-form .bv-row{gap:12px 12px}
 & .get-form .bv-kinds{flex:0 1 auto}
 & .get-form .get-tariff{min-width:100px}
 & .numbers-card .bv-head .bv-btn{padding:0 14px}
 & .numbers-card td.bv-clip{max-width:none}
 & .numbers-card .number-table td.bv-clip>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}
 & .numbers-card .number-table .sms-code{font-weight:500}
 & .numbers-card .number-table tr[data-key]{cursor:default}
 & .numbers-card .notice{margin:0;padding:8px 14px;font-size:12px}
}

/* ---------- «Пополнение» (V2W-BuyerTopUp, V2W-BuyerUsdtRequest) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-aside{flex:1 1 300px;max-width:330px;display:flex;flex-direction:column;gap:6px;align-self:stretch}
 & .bv-big{font-size:26px;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;color:var(--rl-strong)}
 & .bv-topup .bv-row{flex-wrap:nowrap}
 & .bv-topup .bv-row>.bv-btn{min-width:210px}
 & .bv-address{display:flex;gap:20px;align-items:flex-start}
 & .bv-address[hidden]{display:none}
 & .bv-qr{flex:none;width:130px;height:130px;padding:6px;border:1px solid var(--rl-border);border-radius:8px;background:#fff;image-rendering:pixelated}
 & .bv-address-body{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px}
 & .bv-addr{padding:9px 12px;border:1px solid var(--rl-border);border-radius:6px;background:var(--rl-soft);font-size:13px;overflow-wrap:anywhere}
 /* Alipay and WeChat (15.10.2026): each service's tile with its icon opens the shop of codes. */
 & .b-code-shops{align-items:center;gap:8px}
 & .b-shop{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--rl-input);border-radius:6px;background:var(--rl-panel);color:var(--rl-strong);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}
 & .b-shop:hover{border-color:var(--rl-muted);background:var(--rl-soft);text-decoration:none}
 & .b-shop img{width:22px;height:22px;flex:none}
 /* «Пополнить баланс» of 19.10.2026: the ways on the left (the code with its shops, the crypto pair, the platform's USDT wallet), the
    chosen way's address on the right, the buyer's addresses and orders under them. */
 & .b-topup2{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:12px;align-items:start}
 & .b-topup-left{display:flex;flex-direction:column;gap:12px;min-width:0}
 & .b-topup-left>.card,& .b-topup2>.card{margin:0}
 & .b-code-card .b-redeem-form{max-width:none;margin:0}
 & .b-code-shops{margin-top:10px;flex-wrap:wrap}
 & .b-code-shops>.bv-sec{flex:1 1 220px;font-size:12.5px}
 & .b-crypto-terms{margin:8px 0 0;font-size:12.5px}
 & .heleket-pick{margin:0}
 & .b-direct-card h2,& .b-crypto-card h2,& .b-code-card h2{display:flex;align-items:center;gap:8px}
 & .b-direct-row{align-items:center}
 & .b-direct-row>.bv-sec{font-size:12.5px}
 & .b-wallet-card{display:flex;flex-direction:column;gap:10px;min-width:0;box-sizing:border-box}
 & .b-view,& .b-wallet{display:flex;flex-direction:column;gap:10px;min-width:0}
 & :is(.b-view,.b-wallet,.b-wallet-empty)[hidden]{display:none}
 & .b-wallet-head{display:flex;align-items:center;gap:8px;min-width:0}
 & .b-wallet-body{display:flex;gap:12px;align-items:flex-start;min-width:0}
 & .b-wallet-body .b-qr{width:112px;height:112px;box-sizing:border-box}
 & .b-wallet-lines{flex:1 1 0;min-width:0}
 & .b-wallet-lines .bv-line{min-height:28px;font-size:12.5px;gap:8px}
 & .b-wallet-lines .bv-line>span:first-child{color:var(--rl-second)}
 & .b-wallet-lines .bv-line>span:last-child{white-space:normal;text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
 & .b-addr{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;font-size:12px;line-height:1.45}
 & .b-addr>span{flex:1 1 0;min-width:0;overflow-wrap:anywhere}
 & .b-wallet-note{margin:0;font-size:12px;line-height:1.45}
 & .b-wallet-empty p{margin:0;padding:18px 4px;font-size:13px;text-align:center}
 & .b-wallet-card .bv-actions .bv-sec{font-size:12px}
 & .b-wallet-history{align-self:flex-start;font-size:12.5px}
 & .b-direct-form{display:flex;flex-direction:column;gap:10px}
 & .b-direct-form>.bv-btn{align-self:flex-start;min-width:160px}
 & table.b-addresses tr[data-heleket-select]{cursor:pointer}
 & table.b-addresses tr[data-heleket-select]:hover>td,& table.b-addresses tr.is-on>td{background:var(--rl-tint)}
 & table.b-addresses tr[data-heleket-select]:focus-visible{outline:2px solid var(--rl-accent);outline-offset:-2px}
}
@media (max-width:820px){
 :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
  & .b-topup2{grid-template-columns:minmax(0,1fr)}
  & .b-direct-row>.bv-btn{min-width:0}
  & .bv-aside{max-width:none}
  & .bv-topup .bv-row{flex-wrap:wrap}
  /* «Код баланса» over its button (18.10.2026): in a column the field's flex basis of 220 px was a height - an empty block. */
  & .bv-topup .b-redeem-form{flex-direction:column;align-items:stretch}
  & .bv-topup .b-redeem-form>.bv-grow{flex:0 0 auto}
  & .bv-topup .b-redeem-form>.bv-btn{min-width:0}
  & .bv-address{flex-direction:column}
 }
}

/* buyer.css limits a form with labels to 640 px (.app form:has(>label)); the v2 forms take their card's width. */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) :is(.bv-page,dialog.bv-dialog) form:not(.bv-request){max-width:none!important}

/* ---------- «Публичные стыковки», «Мои стыковки» (V2W-BuyerMarket, V2W-BuyerDockings) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-hall{max-width:560px;box-sizing:border-box}
 & form.bv-filter .bv-filtercheck{flex:0 0 auto;min-width:0;align-self:flex-end;height:34px;margin-right:8px}
 & table.bv-table th>button[data-bw-col]{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit}
 & table.bv-table th.r>button[data-bw-col]{flex-direction:row-reverse}
 & table.bv-table th .rl-sort{font-size:10px;opacity:.6}
 & .bv-foot>span+span:not(.bv-fill):not(.bv-totals){color:var(--rl-muted)}
}

/* ---------- «Спрос» (V2W-BuyerDemand, V2W-BuyerRecommend) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-demand{flex:1 1 480px;max-width:500px;box-sizing:border-box}
 & .bv-kindset{margin:0;padding:0;border:0;min-width:0}
 & .bv-kindset>legend{padding:0;margin:0 0 6px;font-size:12px;color:var(--rl-second)}
 & .bv-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 & .bv-opt{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--rl-input);border-radius:6px;font-size:13px;color:var(--rl-text);cursor:pointer;margin:0}
 & .bv-opt:has(input:checked){border-color:#f0c8d3;background:var(--rl-tint);color:var(--rl-accent);font-weight:400}
 & .bv-opt input{margin:0}
 & .bv-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 & .bv-demandtext{display:block;min-height:34px;padding:8px 10px;box-sizing:border-box;border-radius:6px;background:var(--rl-soft);border:1px solid var(--rl-border);font-size:13px;color:var(--rl-text);line-height:1.45}
 & .bv-demand .task-price>span{font-size:12px;color:var(--rl-second)}
}

/* ---------- «Проекты» (V2W-BuyerProjects, V2W-BuyerOnlineNumbers, V2W-BuyerAddProject) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bw-views>.bv-page[hidden]{display:none}
 & table.bv-table th>a.rl-sort-link{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;font:inherit}
 /* A right-aligned sortable column («Цена от»): the label ends over its right-aligned values (the cell's padding only), the arrow goes before it. */
 & table.bv-table th.r>a.rl-sort-link{flex-direction:row-reverse;justify-content:flex-start;padding-right:0}
 /* A left-aligned one («Стыковка» of the catalog): the label starts over its values, as the columns sorted on the page. */
 & table.bw-catalog th:not(.r)>a.rl-sort-link{padding-left:0}
 & .bv-request{max-width:620px!important;box-sizing:border-box}
 & .bv-chips{display:flex;flex-wrap:wrap;gap:6px}
 & .bv-chips:empty{display:none}
 & .bv-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 4px 0 8px;border:1px solid var(--rl-input);border-radius:14px;background:var(--rl-soft);font-size:12.5px;color:var(--rl-text)}
 & .bv-chip img{width:18px;height:13px;border-radius:2px;object-fit:cover}
 & .bv-chip button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-height:20px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--rl-muted);font-size:14px;line-height:1;cursor:pointer}
 & .bv-chip button:hover{background:var(--rl-head);color:var(--rl-text)}
 & .bv-chipsearch{height:34px;min-height:34px;box-sizing:border-box;padding:0 10px;border:1px solid var(--rl-field);border-radius:6px;font-size:13px}
 & .bv-matches{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;border:1px solid var(--rl-border);border-radius:6px;padding:0 6px;margin:0;gap:0}
 & .bv-matches:not(:has(label:not([hidden]))){display:none}
 & .bv-matches label{display:flex;flex-shrink:0;align-items:center;gap:8px;min-height:36px;padding:4px 6px;border:0;font-size:13px;color:var(--rl-text);cursor:pointer;margin:0}
 & .bv-matches label:not([hidden]){border-top:1px solid var(--rl-border)}
 & .bv-matches label:not([hidden])~label:not([hidden]){border-top:0}
 & .bv-matches label[hidden]{display:none}
 & .bv-matches .rl-picker-label{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
 & .bv-matches .rl-country-meta{margin-left:auto;flex-shrink:0;white-space:nowrap}
 & .bv-request .bv-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 & .bv-request input,& .bv-request select{min-width:0;max-width:100%}
 & .bv-matches .rl-picker-label img{width:18px;height:13px;border-radius:2px;object-fit:cover}
}

/* ---------- «Отправить SMS» (V2W-BuyerSendSms, V2W-BuyerSendGot) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-issued{margin-top:12px;padding-top:12px;border-top:1px solid var(--rl-rowline)}
 & .bv-issued[hidden]{display:none}
 /* Compact since 20.10.2026 (owner: «продумай более компактный дизайн»): one card - the number's row, the number obtained as one line,
    the message's row, one small line of the outcome and the payment; the table below takes the full width. */
 & .b-send-card{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
 & .b-send-card form.bv-row{gap:10px 12px}
 & .b-send-card form.b-send-take>.bv-btn{min-width:150px}
 & .b-send-card .b-send-tariff .bv-val{height:34px;font-size:13.5px}
 & .b-send.is-ready .b-send-take>.bv-btn.bv-p{background:var(--rl-panel);border-color:var(--rl-input);color:var(--rl-text);font-weight:400}
 & .b-send-issued{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-height:40px;padding:5px 6px 5px 12px;box-sizing:border-box;border:1px solid var(--rl-rowline);border-radius:6px;background:var(--rl-soft);font-size:13px}
 & .b-send-issued[hidden]{display:none}
 & .b-send-phone{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--rl-strong);font-variant-numeric:tabular-nums}
 & .b-send-phone img{width:18px;height:13px;border-radius:2px;object-fit:cover}
 & .b-send-card .b-send-text{flex:1 1 360px;min-width:0;position:relative}
 & .b-send-card .b-send-text textarea{height:52px!important;min-height:52px!important;padding:6px 52px 6px 10px!important;line-height:19px;resize:vertical}
 & .b-send-card .b-send-text .bv-hint{position:absolute;right:9px;bottom:5px;font-size:11px;pointer-events:none}
 & .b-send-card form.b-send-form{align-items:flex-start}
 & .b-send-card form.b-send-form>.bv-btn{min-width:120px;align-self:flex-end}
 & .b-send-foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;margin:0;font-size:12px;color:var(--rl-muted)}
 & .b-send-foot .b-send-status{color:var(--rl-text);font-size:12.5px}
 & .b-send-foot .b-send-status.is-bad{color:var(--rl-bad)}
 & .b-send-foot .b-send-status[hidden]{display:none}
 & .b-send-table td:last-child{width:1%;white-space:nowrap}
 /* «Ответ» (2784): the newest reply of the lease - its text on up to two lines, then when and its charge; «Ещё: N» opens the others. */
 & .b-reply{min-width:160px;max-width:300px;white-space:normal}
 & .b-reply-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
 & .b-reply-meta{display:block;font-size:11.5px}
 & .b-reply-meta.is-code{color:var(--rl-text);font-weight:500}
 & .b-reply-rest .b-reply{margin-top:6px}
 & .b-reply-more{font-size:12px;padding:0;border:0;background:none;cursor:pointer}
 & .bv-pages button{cursor:pointer}
 & .bv-pages[hidden]{display:none}
}
/* A phone: every field of the card on its own line, the buttons across. */
@media (max-width:600px){
 :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
  & .b-send-card form.bv-row>*{flex:1 1 100%;width:auto;min-width:0}
  & .b-send-card form.bv-row>.bv-btn{min-width:0}
  & .b-send-card .b-send-tariff{flex-direction:row;align-items:center;gap:8px}
  & .b-send-card .b-send-tariff .bv-val{height:auto}
  /* A long checkbox label («Если в стыковках нет номера — искать в публичной зоне» of «Мои стыковки») wraps instead of widening the page. */
  & .bv-chk{white-space:normal;max-width:100%}
 }
}

/* ---------- «API» (V2W-BuyerApi). The shell puts «Документация API» in the sub-tabs' corner of /api: the page has it in its first card. ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .rv-corner>a[data-api-doc-link]{display:none}
 & .bw-api-access .bw-pin{display:none}
 & .rv-subtabs:not(:has(.rv-tablist>*)):not(:has(.rv-corner>:not([data-api-doc-link]))){display:none}
 & .bv-kv{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--rl-rowline);font-size:13px}
 & .bv-kv:last-of-type{border-bottom:0}
 & .bv-kv>span:first-child{color:var(--rl-second)}
 & .bv-kv>span:first-child b{color:var(--rl-text)}
 & .bv-kvv{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
 & .bv-kvv>input{flex:1 1 320px;max-width:520px;height:34px;min-height:34px;box-sizing:border-box;padding:0 10px;border:1px solid var(--rl-field);border-radius:6px;background:var(--rl-soft);font-size:12.5px}
 & .bw-api-access .bw-inline-form{display:inline-flex;margin:0}
 /* «Методы API» (owner, 18.10.2026, as the RedLink program's API page): the sticky list of methods by group on the left, a card per
    method on the right — verb, path and title; opened: description, money, parameters with hints, the full URL, the tester, replies. */
 & .bw-apidocs{padding:12px 14px 16px}
 & .bw-ad-head{margin-bottom:8px}
 & .bw-proto{display:inline-flex;padding:2px;border:1px solid var(--rl-input);border-radius:7px;background:var(--rl-soft)}
 & .bw-proto label{display:inline-flex;align-items:center;margin:0;cursor:pointer}
 & .bw-proto input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
 & .bw-proto span{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:5px;font-size:12.5px;color:var(--rl-second);white-space:nowrap}
 & .bw-proto input:checked+span{background:var(--rl-panel);color:var(--rl-accent);font-weight:500;box-shadow:0 0 0 1px var(--rl-input)}
 & .bw-proto input:focus-visible+span{outline:2px solid var(--rl-accent);outline-offset:1px}
 & .bw-ad-intro p{margin:0 0 6px;font-size:12.5px;line-height:1.55;color:var(--rl-second)}
 & .bw-ad-intro code,& .bw-apidocs .hint code{font:12px 'JetBrains Mono',Consolas,monospace;overflow-wrap:anywhere}
 & .bw-ad-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;margin:10px 0 12px;padding:10px 0;border-top:1px solid var(--rl-rowline);border-bottom:1px solid var(--rl-rowline)}
 & .bw-ad-tools>.bv-note{flex:1 1 260px;min-width:0}
 & .bw-ad-search{flex:0 1 260px;margin:0}
 & .bw-ad-search input{width:100%;height:34px;min-height:34px;box-sizing:border-box}
 & .bw-ad-token{display:flex;flex-direction:column;gap:4px;flex:0 1 320px;min-width:0;margin:0;font-size:12px;color:var(--rl-second)}
 & .bw-ad-tokenbox{display:flex;gap:6px}
 & .bw-ad-tokenbox input{flex:1 1 auto;min-width:0;height:34px;min-height:34px;box-sizing:border-box}
 & .bw-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--rl-field);border-radius:6px;background:var(--rl-panel);color:var(--rl-second);cursor:pointer}
 & .bw-icon[aria-pressed=true]{color:var(--rl-accent);border-color:var(--rl-accent)}
 & .bw-ad{display:flex;align-items:flex-start;gap:16px}
 & .bw-ad-nav{position:sticky;top:120px;flex:0 0 228px;max-height:calc(100vh - 136px);overflow:auto;display:flex;flex-direction:column;gap:8px;padding:10px 8px;border:1px solid var(--rl-border);border-radius:8px;background:var(--rl-panel);box-sizing:border-box}
 & .bw-ad-navhead{display:flex;align-items:baseline;gap:8px;padding:0 6px;font-size:14px}
 & .bw-ad-navhead b{font-weight:500;color:var(--rl-strong)}
 & .bw-ad-group{display:flex;flex-direction:column;gap:1px}
 & .bw-ad-gt{padding:4px 8px 3px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rl-muted)}
 & .bw-ad-group a{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;border-radius:6px;color:var(--rl-text);text-decoration:none}
 & .bw-ad-group a:hover{background:var(--rl-soft)}
 & .bw-ad-group a.on{background:var(--rl-tint);box-shadow:inset 3px 0 0 var(--rl-accent)}
 & .bw-ad-group a.on .bw-ad-act{font-weight:600;color:var(--rl-accent)}
 & .bw-ad-act{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:13px 'JetBrains Mono',Consolas,monospace}
 & .bw-verb{flex:none;width:34px;font:600 10px 'JetBrains Mono',Consolas,monospace;color:var(--rl-good)}
 & .bw-verb[data-verb=POST]{color:var(--rl-warn)}
 & details.bw-ep .ep-verb[data-verb=POST]{background:color-mix(in srgb,var(--rl-warn) 14%,transparent);color:var(--rl-warn)}
 & [data-api-group][hidden],& .bw-ad-group a[hidden],& details.bw-ep[hidden]{display:none}
 & .bw-ad-none{margin:4px 8px;font-size:12px;color:var(--rl-muted)}
 & .bw-ad-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
 & .bw-ad-section{display:flex;flex-direction:column;gap:8px}
 & .bw-ad-gh{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rl-muted)}
 & details.bw-ep{margin:0;border:1px solid var(--rl-border);border-radius:8px;background:var(--rl-panel);overflow:hidden;scroll-margin-top:124px}
 & details.bw-ep[open]{border-color:var(--rl-log-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--rl-log-ok) 12%,transparent)}
 & details.bw-ep>summary.ep-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:46px;padding:8px 14px;cursor:pointer;list-style:none;border-bottom:1px solid transparent}
 & details.bw-ep>summary.ep-h::-webkit-details-marker{display:none}
 & details.bw-ep[open]>summary.ep-h{border-bottom-color:var(--rl-rowline)}
 & details.bw-ep .ep-verb{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:5px;background:color-mix(in srgb,var(--rl-good) 14%,transparent);color:var(--rl-good);font:600 11px 'JetBrains Mono',Consolas,monospace}
 & .bw-ep-path{font:13.5px 'JetBrains Mono',Consolas,monospace;color:var(--rl-text);background:none;padding:0;overflow-wrap:anywhere}
 & .bw-ep-path b{font-weight:600}
 & .bw-ep-title{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;background:var(--rl-head);color:var(--rl-second);font-size:12px;white-space:nowrap}
 & details.bw-ep .ep-desc{flex:1 1 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--rl-muted)}
 & details.bw-ep[open] .ep-desc{visibility:hidden}
 & .bw-chev{flex:none;margin-left:auto;color:var(--rl-muted);transition:transform .15s}
 & details.bw-ep[open] .bw-chev{transform:rotate(180deg)}
 & details.bw-ep>.ep-b{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;font-size:13px;line-height:1.55;color:var(--rl-text)}
 & details.bw-ep .ep-b p{margin:0}
 & details.bw-ep .ep-b>p:not(.ep-warn):not(.hint){color:var(--rl-second)}
 & details.bw-ep .ep-b>p.bw-ep-lead{color:var(--rl-text);font-size:13.5px}
 & .bw-money{padding:8px 12px;border-radius:6px;background:var(--rl-soft);border-left:2px solid var(--rl-good)}
 & .bw-money b{font-weight:600;color:var(--rl-text)}
 & details.bw-ep .ep-b h4{margin:8px 0 0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--rl-strong)}
 & .bw-ep-label{font-size:12px;color:var(--rl-second)}
 & details.bw-ep .ep-example{margin:0;padding:10px 12px;border-radius:7px;background:#17181b;color:#d9dee8;font:12px/1.55 'JetBrains Mono',Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}
 & details.bw-ep .hint{margin:0;font-size:12px;color:var(--rl-muted)}
 & details.bw-ep .ep-replies{width:100%;border-collapse:collapse;font-size:12.5px}
 & details.bw-ep .ep-replies td,& .bw-ad-common .ep-replies td{padding:6px 8px;border-bottom:1px solid var(--rl-rowline);vertical-align:top;color:var(--rl-text)}
 & details.bw-ep .ep-replies td:first-child,& .bw-ad-common .ep-replies td:first-child{white-space:nowrap;width:1%}
 & :is(details.bw-ep,.bw-ad-common) .ep-replies td:last-child{white-space:normal;overflow-wrap:anywhere}
 & details.bw-ep [data-proto]>p.hint{margin:3px 0 0}
 & .ep-replies code{font:12px 'JetBrains Mono',Consolas,monospace;background:none;padding:0}
 & .bw-try{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0}
 & .bw-params{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:10px 14px;align-items:start;max-width:760px}
 & .bw-params>[data-proto]{display:contents}
 & .bw-params>[data-proto][hidden]{display:none}
 & .bw-param{display:contents}
 & .bw-pname{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-height:34px}
 & .bw-pname label{margin:0}
 & .bw-pname code{font:13px 'JetBrains Mono',Consolas,monospace;color:var(--rl-text);background:none;padding:0}
 /* The parameter's type badge only: «Каталог проектов» also has a td.bw-type cell, which must keep the table's padding and background. */
 & .bw-pname .bw-type,& .bw-req{font-size:11px;line-height:16px;padding:0 6px;border-radius:8px;white-space:nowrap}
 & .bw-pname .bw-type{background:var(--rl-head);color:var(--rl-second)}
 & .bw-req{background:var(--rl-tint);color:var(--rl-accent)}
 & .bw-pval{display:flex;flex-direction:column;gap:3px;min-width:0}
 & .bw-pval>:is(input,select):not(.picker-native){width:100%;max-width:420px;height:34px;min-height:34px;box-sizing:border-box;font-family:'JetBrains Mono',Consolas,monospace;font-size:12.5px}
 & .bw-pval .picker{max-width:420px}
 & .bw-pval .check{display:flex;align-items:center;gap:8px;min-height:34px;margin:0;font-size:13px}
 & .bw-pval .check input{width:16px;min-height:16px;margin:0}
 & .bw-static{display:flex;align-items:center;height:34px;font-size:12.5px;color:var(--rl-muted)}
 & .bw-hint{font-size:12px;line-height:1.45;color:var(--rl-muted)}
 & .bw-url{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
 & .bw-urltext{flex:1 1 360px;min-width:0;margin:0;padding:9px 12px;border:1px solid var(--rl-border);border-radius:7px;background:var(--rl-soft);color:var(--rl-text);font:12.5px/1.5 'JetBrains Mono',Consolas,monospace;white-space:pre-wrap;word-break:break-all}
 & .bw-urlbtns{display:flex;gap:6px}
 & .bw-urlbtns .bv-btn,& .bw-send{display:inline-flex;align-items:center;gap:6px}
 & .bw-try .try-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 0}
 & .bw-send-note{font-size:12px;color:var(--rl-muted)}
 & .bw-try .try-warn{margin:0}
 & .bw-result{margin:4px 0 0;border-radius:9px;overflow:hidden;background:#17181b;color:#d9dee8}
 & .bw-result[hidden]{display:none}
 & .bw-result-head{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 14px;border-bottom:1px solid #2a2c31;font-size:12px;color:#a9abb2}
 & .bw-result-head b{font-weight:600;color:#fff}
 & .bw-status{font:600 11px 'JetBrains Mono',Consolas,monospace}
 & .bw-result.bw-ok .bw-status{color:#8fd3ae}
 & .bw-result.bw-fail .bw-status{color:#ffb4a8}
 & .bw-result pre{margin:0;padding:10px 14px;background:none;border:0;color:inherit;font:12.5px/1.6 'JetBrains Mono',Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:380px;overflow:auto}
 & .bw-result pre:empty{display:none}
 & .bw-result .bw-result-request{color:#a9abb2;border-bottom:1px solid #2a2c31}
 & .bw-result .try-explain{margin:0;padding:0 14px 12px;font-size:12.5px;color:#d9dee8}
 & .bw-result .try-explain:empty{display:none}
 & .bw-ep-common a{font-size:12px}
 & .bw-ad-common{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--rl-border);border-radius:8px;scroll-margin-top:124px}
 & .bw-ad-common .hint{margin:0;font-size:12px;color:var(--rl-muted)}
 & .bw-ad-common details[data-reference]{border-top:1px solid var(--rl-rowline);padding-top:6px}
 & .bw-ad-common details[data-reference]>summary{cursor:pointer;font-size:13px}
}
@media (max-width:820px){
 :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
  & .bv-kv{grid-template-columns:1fr}
  & .bw-ad{flex-direction:column;gap:12px}
  & .bw-ad-nav{position:static;flex:none;width:100%;max-height:none;flex-direction:row;flex-wrap:wrap;gap:6px 12px}
  & .bw-ad-navhead{flex-basis:100%}
  & .bw-ad-group{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px}
  & .bw-ad-gt{flex-basis:100%;padding:2px 4px}
  & .bw-ad-group a{height:30px;border:1px solid var(--rl-border)}
  & .bw-ad-group .bw-verb{display:none}
  & .bw-ad-tools>*{flex:1 1 100%}
  & .bw-params{grid-template-columns:1fr;gap:4px}
  & .bw-pname{min-height:0;margin-top:6px}
  & details.bw-ep>summary.ep-h{padding:8px 10px}
  & details.bw-ep>.ep-b{padding:10px 10px 14px}
  & details.bw-ep .ep-desc{flex-basis:100%;white-space:normal}
  & details.bw-ep[open] .ep-desc{display:none}
  & .bw-proto{flex-wrap:wrap}
 }
}

/* ---------- «Обзор», «Заработок», «Помощь», «Чат» (V2W-BuyerOverview, V2W-BuyerPromo, V2W-BuyerHelp, V2W-BuyerChat) ---------- */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .bv-hometitle{display:flex;align-items:baseline;gap:10px}
 & .bv-hometitle h2{margin:0;font-size:16.5px;font-weight:500}
 & .bv-hometiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
 & .bv-hometile{display:flex;flex-direction:column;gap:3px;padding:14px 16px}
 & .bv-hometile .c{font-size:12px;color:var(--rl-second)}
 & .bv-hometile .v{font-size:21px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--rl-strong)}
 & .bv-hometile .v.bv-bad{color:var(--rl-bad)}
 & .bv-hometile .n{font-size:11.5px;color:var(--rl-muted)}
 & .bv-homeside{flex:1 1 300px;max-width:340px;display:flex;flex-direction:column;gap:12px}
 & .bv-homechartbody{padding:0 14px 12px}
 & .bv-step{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--rl-rowline)}
 & .bv-step:last-child{border-bottom:0;padding-bottom:0}
 & .bv-ck{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:10px;border:1px solid var(--rl-input);color:var(--rl-muted);font-size:11.5px}
 & .bv-ck.done{border-color:transparent;background:#e5f3eb;color:var(--rl-good)}
 & .bv-stept{display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--rl-second)}
 & .bv-stept b{font-size:13px;color:var(--rl-text)}
 & .bv-announce{margin:8px 0 0;font-size:13px;line-height:1.5}
 & .bv-promo{max-width:760px;box-sizing:border-box}
 & .card.bv-card.bv-help{display:flex;gap:0;padding:0;overflow:hidden}
 & .bv-topics{flex:0 0 270px;display:flex;flex-direction:column;gap:2px;padding:14px;border-right:1px solid var(--rl-border)}
 & .bv-topics>b{font-size:14px;margin-bottom:6px}
 & .bv-topics>input{height:34px;min-height:34px;box-sizing:border-box;margin:0 0 8px;padding:0 10px;border:1px solid var(--rl-field);border-radius:6px}
 & .bv-topic{display:block;padding:8px 10px;border-radius:6px;color:var(--rl-text);font-size:13px;font-weight:400;text-decoration:none}
 & .bv-topic:hover{background:var(--rl-soft)}
 & .bv-topic.on{background:var(--rl-tint);color:var(--rl-accent);font-weight:500}
 & .bv-topic[hidden]{display:none}
 & .bv-article{flex:1 1 0;min-width:0;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
 & .bv-article h2{margin:0;font-size:15.5px;font-weight:500}
 & .bv-article>p{margin:0}
 & .bv-helpstep{display:flex;gap:12px}
 & .bv-helpstep .n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:13px;background:var(--rl-tint);color:var(--rl-accent);font-weight:500}
 & .bv-helpstep b{font-size:13px}
 & .bv-helpstep p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--rl-second)}
 & .bv-nohelp{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding:12px 14px;border:1px solid var(--rl-border);border-radius:8px;background:var(--rl-soft);font-size:13px}
 & .bv-chat{display:flex;gap:0;min-height:560px}
 & .bv-convs{flex:0 0 300px;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--rl-border);background:var(--rl-panel)}
 & .bv-convhead{padding:12px 14px;font-size:12px;font-weight:400;color:var(--rl-second);border-bottom:1px solid var(--rl-border)}
 & .bv-conv{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-bottom:1px solid var(--rl-rowline);color:var(--rl-text);text-decoration:none}
 & .bv-conv:hover{background:var(--rl-soft)}
 & .bv-conv.on{background:var(--rl-tint)}
 & .bv-conv .t{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}
 & .bv-conv .t .bv-mut{font-size:11.5px;font-weight:400}
 & .bv-conv .p{font-size:12px;color:var(--rl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 & .bv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#c81e4a;color:#fff;font-size:11px;font-weight:500}
 & .bv-badge[hidden]{display:none}
 & .bv-chatmain{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
 & .bv-chathead{display:flex;align-items:baseline;gap:8px;padding:12px 16px;border-bottom:1px solid var(--rl-border);font-size:14px}
 & .bv-chathead .bv-mut{font-size:12px}
 & .bv-thread{flex:1 1 auto;min-height:320px;max-height:62vh;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--rl-bg);border:0;border-radius:0}
 & .bv-thread .bw-chat-day{align-self:center;padding:2px 10px;border-radius:10px;background:var(--rl-panel);font-size:11.5px;color:var(--rl-muted)}
 & .bv-thread .rl-bubble{max-width:72%;align-self:flex-start;padding:10px 12px;border:1px solid var(--rl-border);border-radius:10px;background:var(--rl-panel);font-size:13px;line-height:1.45;box-shadow:none}
 & .bv-thread .rl-bubble.mine{align-self:flex-end;background:#fdf2f5;border-color:#f0c8d3}
 & .bv-thread .rl-bubble p{margin:0;white-space:pre-wrap}
 & .bv-thread .rl-bubble .rl-small{margin-top:4px;font-size:11.5px;color:var(--rl-muted)}
 & .bv-compose{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-top:1px solid var(--rl-border);margin:0}
 & .bv-compose textarea{width:100%;box-sizing:border-box;min-height:64px;padding:8px 10px;border:1px solid var(--rl-field);border-radius:6px;font-size:13px;resize:vertical}
}
@media (max-width:820px){
 :is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
  & .bv-homeside{max-width:none}
  & .bv-help,& .bv-chat{flex-direction:column}
  & .bv-topics,& .bv-convs{flex-basis:auto;border-right:0;border-bottom:1px solid var(--rl-border)}
 }
}

/* ---------- The public pages (CabinetAuthPages: V2W-Home, V2W-Login, V2W-Login2fa, V2W-Register, V2W-Recover, V2W-Download), body.rv-public ---------- */
body.rl-cabinet.rv-public {
 display:flex;flex-direction:column;min-height:100vh;margin:0;
 & .bv-pubhead{background:var(--rl-panel);border-bottom:1px solid var(--rl-border)}
 & .bv-pubbar{max-width:1200px;margin:0 auto;min-height:56px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:8px 20px;box-sizing:border-box}
 & .bv-pubbrand{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
 & .bv-pubbrand>span{font-size:19px;font-weight:700}
 & .bv-pubbrand>small{margin-left:4px}
 & .bv-pubbrand>small{font-size:13px;color:var(--rl-muted)}
 & .bv-pubnav{display:flex;flex-wrap:wrap;gap:4px 18px}
 & .bv-pubnav a{font-size:13px;font-weight:400;color:var(--rl-second);text-decoration:none}
 & .bv-pubnav a:hover{color:var(--rl-accent)}
 & .bv-publang{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--rl-second)}
 & .bv-publang select{height:32px;min-height:32px;padding:0 28px 0 10px;border:1px solid var(--rl-field);border-radius:6px;background-color:var(--rl-panel);font-size:13px}
 & .bv-pubhead .bv-btn{height:32px;min-height:32px}
 & .bv-theme{font-weight:400;white-space:nowrap}
 & .bv-pubmain{flex:1;width:100%;box-sizing:border-box;padding:48px 16px 40px;display:flex;flex-direction:column;align-items:center;gap:14px}
 & .bv-pubfoot{background:var(--rl-panel);border-top:1px solid var(--rl-border)}
 & .bv-pubfoot .bv-pubbar{min-height:0;padding:14px 20px;font-size:12.5px;color:var(--rl-muted)}
 & .bv-pubfoot a{color:var(--rl-second);text-decoration:none}
 & .bv-pubcenter{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
 & .bv-pubcard{width:100%;max-width:440px;box-sizing:border-box;padding:28px 28px 24px;margin:0;display:flex;flex-direction:column;gap:16px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel)}
 & .bv-pubcard.bv-wide520{max-width:520px;gap:14px}
 & .bv-pubcard.bv-center{align-items:center;text-align:center}
 & .bv-pubtitle{display:flex;flex-direction:column;gap:4px}
 & .bv-pubtitle h1{margin:0;font-size:21px;font-weight:500;letter-spacing:0}
 & .bv-pubtitle h2{margin:0;font-size:16.5px;font-weight:500}
 & .bv-pubtitle>span{font-size:13px;color:var(--rl-muted);line-height:1.45}
 & .bv-pubfld{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--rl-second)}
 & .bv-pubfld label{font-size:12px;color:var(--rl-second);margin:0}
 & .bv-pubfld input,& .bv-codefield{width:100%;height:38px;min-height:38px;box-sizing:border-box;padding:0 10px;border:1px solid var(--rl-field);border-radius:6px;background:var(--rl-panel);font-size:13px;color:var(--rl-text)}
 & .bv-pubfld .bv-hint,& .bv-pubcard .bv-hint{font-size:11.5px;color:var(--rl-muted)}
 & .bv-pass{position:relative;display:block}
 & .bv-pass input{padding-right:42px}
 & .bv-eye{position:absolute;right:4px;top:4px;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--rl-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
 & .bv-eye.on{color:var(--rl-accent)}
 & .bv-roles{display:flex;gap:3px;padding:3px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-bg)}
 & .bv-roles>*{flex:1;display:inline-flex;align-items:center;justify-content:center;height:32px;border-radius:6px;font-size:13px;font-weight:400;color:var(--rl-second);text-decoration:none}
 & .bv-roles>.on{background:var(--rl-panel);color:var(--rl-accent);font-weight:500;box-shadow:0 0 0 1px var(--rl-input)}
 & .bv-roles>[aria-disabled=true]{opacity:.55;cursor:not-allowed}
 & .bv-pubrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
 & .bv-pubrow a{font-size:13px;font-weight:400;text-decoration:none}
 & .bv-full{width:100%}
 & .bv-pubalt{text-align:center;font-size:13px;color:var(--rl-second)}
 & .bv-pubalt a{font-weight:400;text-decoration:none}
 & .bv-pubnote{max-width:520px;font-size:12.5px;line-height:1.45;color:var(--rl-muted);text-align:center}
 & .bv-pubnote a{font-weight:400;text-decoration:none}
 & .bv-autherror{width:100%;max-width:440px;box-sizing:border-box;margin:0;padding:10px 14px;border-radius:8px;background:var(--rl-soft-refuse);color:var(--rl-bad);font-size:13px;font-weight:400}
 & .bv-authguard:empty{display:none}
 & .bv-authguard .browser-check{font-size:11.5px;color:var(--rl-muted)}
 & .bv-pubico{width:40px;height:40px;border-radius:8px;background:var(--rl-tint);color:var(--rl-accent);display:inline-flex;align-items:center;justify-content:center;flex:none}
 & .bv-cells{display:flex;gap:8px;justify-content:center}
 & .bv-cells[hidden]{display:none}
 & .bv-cells input{width:46px;height:52px;min-height:52px;box-sizing:border-box;padding:0;border:1px solid var(--rl-field);border-radius:8px;text-align:center;font-size:20px;font-weight:500;color:var(--rl-text);background:var(--rl-panel)}
 & .bv-cells input:focus{border-color:var(--focus-border);outline:1px solid var(--focus-border);outline-offset:1px}
 & .bv-codefield[hidden]{display:none}
 & .bv-linkbtn{border:0;background:none;padding:0;min-height:0;color:var(--rl-accent);font-size:13px;font-weight:400;cursor:pointer}
 & .bv-linkbtn[hidden]{display:none}
 & .bv-pubcard.bv-center>a{font-size:13px;font-weight:400;text-decoration:none}
 & .bv-steps{display:flex;gap:10px;align-items:center;margin:0;padding:0;list-style:none;width:100%;max-width:920px}
 & .bv-steps li{display:flex;align-items:center;gap:8px;flex:1;font-size:13px;color:var(--rl-muted)}
 & .bv-steps li .dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:13px;border:1px solid var(--rl-input);background:var(--rl-panel);font-weight:500}
 & .bv-steps li.on{color:var(--rl-text);font-weight:400}
 & .bv-steps li.on .dot{border-color:#c81e4a;background:#c81e4a;color:#fff}
 & .bv-recovercards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;width:100%;max-width:920px}
 & .bv-recovercards .bv-pubcard{max-width:none}
 & .bv-recovercards .bv-cells input{width:36px;height:44px;min-height:44px}
 & .bv-pubwide{width:100%;max-width:1160px;display:flex;flex-direction:column;gap:32px}
 & .bv-hero{display:flex;flex-direction:column;gap:22px}
 & .bv-hero h1{margin:0;max-width:860px;font-size:26px;line-height:1.3;font-weight:500}
 & .bv-hero>h2{margin:0;font-size:16.5px;font-weight:500;color:var(--rl-second)}
 & .bv-herotext{display:flex;flex-direction:column;gap:10px}
 & .bv-herotext>p{margin:0;max-width:760px;font-size:15px;line-height:1.55;color:var(--rl-second)}
 & .bv-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}
 & .bv-two.bv-top{align-items:start}
 & .bv-two .bv-pubcard{max-width:none}
 & .bv-role{padding:24px;margin:0;display:flex;flex-direction:column;gap:14px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel)}
 & .bv-rolehead{display:flex;align-items:center;gap:12px}
 & .bv-rolehead h3{margin:0;font-size:19px;font-weight:500}
 & .bv-rolehead h2{margin:0;font-size:17px;font-weight:500}
 & .bv-role>p{margin:0;font-size:14px;line-height:1.5;color:var(--rl-second)}
 & .bv-role>p.bv-rolenote{margin-top:-6px;font-size:12.5px;line-height:1.45;color:var(--rl-muted)}
 & .bv-pubsec{display:flex;flex-direction:column;gap:14px}
 & .bv-pubsec h2{margin:0;font-size:18px;font-weight:500}
 & .bv-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.45}
 & .bv-points li{display:flex;align-items:baseline;gap:10px}
 & .bv-points li::before{content:'';flex:none;width:6px;height:6px;border-radius:3px;background:#c81e4a;transform:translateY(-2px)}
 & .bv-progs{display:flex;flex-direction:column;gap:14px}
 & .bv-progs h2{margin:0;font-size:18px;font-weight:500}
 & .bv-prog{padding:18px 20px;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel)}
 & .bv-progname{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}
 & .bv-progname b{font-size:15px}
 & .bv-progname span{font-size:12.5px;color:var(--rl-second)}
 & .bv-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
 & .bv-point{padding:18px 20px;margin:0;display:flex;gap:14px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel)}
 & .bv-point>div{display:flex;flex-direction:column;gap:4px}
 & .bv-point b{font-size:14px}
 & .bv-point span{font-size:13px;line-height:1.45;color:var(--rl-second)}
 & .bv-needhelp{padding:18px 20px;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;border:1px solid var(--rl-input);border-radius:8px;background:var(--rl-panel)}
 & .bv-needhelp>div:first-child{flex:1 1 320px;display:flex;flex-direction:column;gap:4px}
 & .bv-needhelp b{font-size:15px}
 & .bv-needhelp span{font-size:13px;color:var(--rl-second)}
 & .bv-progcard{gap:14px}
 & .bv-sec2{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--rl-rowline);font-size:13px}
 & .bv-pubkv{display:flex;gap:12px;font-size:13px}
 & .bv-pubkv>span:first-child{color:var(--rl-muted);min-width:70px}
 & .bv-inst{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
 & .bv-inst li{display:flex;gap:10px;align-items:baseline}
 & .bv-inst .n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:11px;background:var(--rl-tint);color:var(--rl-accent);font-size:11.5px;font-weight:500}
}
/* The theme switch shows the action: «☾ Тёмная тема» in the light theme, «☀ Светлая тема» in the dark one; hidden without theme.js. */
:root[data-theme=dark] body.rv-public .bv-theme-dark,:root:not([data-theme=dark]) body.rv-public .bv-theme-light,:root:not([data-theme]) body.rv-public .bv-theme{display:none}
@media (max-width:820px){
 body.rl-cabinet.rv-public {
  & .bv-pubmain{padding:24px 12px 28px}
  & .bv-hero h1{font-size:20px}
  & .bv-pubnav{display:none}
 }
}

/* «Мои номера» (the shell's tab of «Получить код»): the former table of the numbers' history inside the v2 card. */
:is(body.rl-cabinet,.rl-cabinet>body:not(.desktop-client)) {
 & .numbers-card>#lease-results>.rl-tablewrap{margin:0;border:0;border-radius:0}
 & .numbers-card>#lease-results>.rl-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--rl-border);background:var(--rl-soft);font-size:12px;color:var(--rl-second)}
}
