
body.payments-page { --pay-bg:#101114; --pay-surface:#191a1f; --pay-raised:#24252c; --pay-line:#ffffff0c; --pay-text:#f3f3f6; --pay-muted:#a0a1ad; --pay-orange:var(--деньги); --pay-ease:cubic-bezier(.23,1,.32,1); margin:0; background:var(--pay-bg); color:var(--pay-text); overscroll-behavior-y:auto; min-height:100dvh; }
.payments-page ::selection { background:var(--pay-orange); color:#140600; }
.payments-page a { color:inherit; text-underline-offset:4px; }
.payments-page :is(a,button):focus-visible { outline:2px solid var(--pay-orange); outline-offset:4px; }
.payments-header { max-width:1256px; height:88px; margin:auto; padding:0 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.payments-identity { display:flex; align-items:center; gap:24px; }
.payments-brand img { display:block; }
.payments-product { font-size:13px; color:var(--pay-muted); border-left:1px solid #ffffff16; padding-left:24px; }
.payments-header nav { display:flex; align-items:center; gap:12px; font-size:13px; }
.payments-header nav a { text-decoration:none; }
.header-channel { color:#c8c9d2 !important; margin-right:12px; }
.payments-page button { font:inherit; font-size:13px; cursor:pointer; border:0; border-radius:10px; min-height:44px; padding:10px 16px; color:var(--pay-text); background:var(--pay-raised); transition:background-color 150ms var(--pay-ease),color 150ms var(--pay-ease),transform 150ms var(--pay-ease); -webkit-tap-highlight-color:transparent; }
.payments-page button:active:not(:disabled) { transform:scale(.98); }
.payments-page button:disabled { opacity:.45; cursor:wait; }
.payments-page #language { min-width:44px; padding:10px; color:var(--pay-muted); background:none; }
.payments-app-link { display:flex; align-items:center; min-height:44px; padding:10px 17px; border-radius:10px; background:#2b211d; color:#ff9b7b !important; transition:background-color 150ms var(--pay-ease); }
main.payments-main { display:grid; grid-template-columns:232px minmax(0,1fr); gap:56px; width:auto; max-width:1256px; margin:0 auto; padding:34px 36px 40px; min-height:0; align-items:start; }
.payments-sidebar { position:sticky; top:36px; padding-top:4px; }
.payments-sidebar h1 { font-size:38px; font-weight:600; letter-spacing:-.045em; line-height:1.15; margin:0 0 32px; }
.payments-summary { margin:0; }
.payments-summary > dt { color:var(--pay-muted); font-size:12px; }
#total { margin:9px 0 11px; font-size:32px; line-height:1.1; font-weight:550; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#total .money-cents { color:#999ba7; font-size:.8em; }
.payments-count { display:flex; align-items:baseline; gap:5px; font-size:12px; color:var(--pay-muted); }
#count { margin:0; font-variant-numeric:tabular-nums; color:#c9cad4; }
.payments-methods { margin-top:40px; }
.payments-methods h2 { font-size:11px; font-weight:500; color:var(--pay-muted); margin:0 0 12px; padding-left:12px; }
.method-options { display:flex; flex-direction:column; gap:4px; }
.payments-page .method-option { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:48px; text-align:left; background:transparent; padding:11px 12px; color:#b5b6c1; font-size:13px; }
.method-option .method-icon { display:grid; place-items:center; width:26px; height:26px; flex:none; }
.method-icon img { width:24px; height:24px; object-fit:contain; }
.method-icon svg { width:22px; height:22px; }
.method-option .method-label { flex:1; }
.method-option[aria-pressed="true"] { background:#29211e; color:#ff9b7b; }
.method-option[aria-pressed="true"]::after { content:""; width:5px; height:5px; flex:none; border-radius:50%; background:var(--pay-orange); margin-right:4px; }
.payments-side-note { color:#9799a5; font-size:11px; line-height:1.7; max-width:24ch; margin:24px 12px 0; }
.payments-history { min-width:0; }
.payments-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:9px 0 21px; }
.payments-toolbar h2 { margin:0; font-size:21px; font-weight:550; letter-spacing:-.025em; }
.payments-updated { margin:7px 0 0; font-size:11px; color:var(--pay-muted); min-height:16px; }
.payments-page .payments-refresh { background:transparent; color:#b7b8c3; }
.payments-filter-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:20px; padding:17px 0; margin-bottom:24px; border-block:1px solid #ffffff12; }
.filter-summary-method { display:flex; align-items:center; gap:12px; min-width:0; }
.filter-summary-method > div { min-width:0; }
#filter-method { font-size:14px; font-weight:550; }
#filter-period,#filter-count { display:block; font-size:11px; line-height:1.6; color:var(--pay-muted); margin-top:5px; }
.filter-summary-total { min-width:0; text-align:right; font-variant-numeric:tabular-nums; }
#filter-total { display:block; color:#ffac90; font-size:24px; font-weight:550; letter-spacing:-.025em; overflow-wrap:anywhere; }
#filter-total .money-cents { color:#c08c7a; font-size:.75em; }
.payments-list { list-style:none; padding:0; margin:0; }
.payment-day { display:flex; align-items:center; gap:16px; margin:21px 0 12px; font-weight:500; font-size:12px; color:#b8bac6; }
.payment-day::after { content:""; flex:1; height:1px; background:#ffffff0c; }
.payment-entry:first-child .payment-day { margin-top:0; }
.payment-row { display:grid; grid-template-columns:minmax(138px,.8fr) minmax(0,1.65fr) minmax(92px,.55fr); gap:20px; align-items:center; padding:22px 22px; background:var(--pay-surface); border-bottom:1px solid var(--pay-bg); }
.payment-entry:has(.payment-day) .payment-row { border-radius:14px 14px 0 0; }
.payment-entry:has(+ .payment-entry .payment-day) .payment-row,.payment-entry:last-child .payment-row { border-radius:0 0 14px 14px; }
.payment-entry:has(.payment-day):has(+ .payment-entry .payment-day) .payment-row,.payment-entry:last-child:has(.payment-day) .payment-row { border-radius:14px; }
.payment-method { display:flex; align-items:center; gap:13px; min-width:0; }
.payment-mark { display:grid; place-items:center; flex:none; width:34px; height:34px; }
.payment-mark img { display:block; width:32px; height:32px; object-fit:contain; }
.app-icon { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.payment-mark[data-method="card"] { color:#c0c4d4; }
.payment-name { font-size:13px; font-weight:550; }
.payment-network { display:block; font-size:11px; margin-top:4px; color:var(--pay-muted); }
.payment-meta { min-width:0; }
.payment-destination { color:#d6d7df; font-size:12px; line-height:1.65; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.payment-destination a { text-decoration:none; text-underline-offset:4px; }
.payment-destination a::after { content:" ↗"; color:#a4a5b1; }
.payment-destination[data-empty="true"] { color:#a0a1ad; }
.payment-proof { display:block; width:fit-content; color:#f2a88e !important; font-size:11px; margin-top:5px; }
.payment-proof::after { content:none !important; }
.payment-date { margin-top:4px; font-size:11px; color:#9698a5; }
.payment-sum { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.payment-sum strong { font-size:20px; font-weight:550; letter-spacing:-.03em; }
.payment-sum .money-cents { font-size:.75em; color:#a7a9b6; }
.payment-status { display:block; color:#92bba6; font-size:10px; margin-top:5px; }
.payments-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; }
#shown { font-size:12px; color:var(--pay-muted); }
.payments-page .payments-more { min-width:160px; background:#23242b; }
.payments-error { padding:18px 20px; margin:12px 0; background:#2b1c21; color:#ffb3c0; border-radius:12px; font-size:14px; }
.payments-empty { padding:60px 24px; border-radius:16px; background:var(--pay-surface); }
.payments-empty h3 { font-size:20px; font-weight:550; margin:0 0 12px; }
.payments-empty p { max-width:44ch; margin:0; font-size:14px; line-height:1.7; color:var(--pay-muted); }
.payments-footer { display:flex; justify-content:space-between; gap:40px; padding-top:12px; color:#9698a5; font-size:11px; }
.payments-footer p { max-width:56ch; margin:0; line-height:1.8; }
.payments-footer a { flex:none; text-decoration:none; color:#b8bac6; }
.payments-skip:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.payments-skip:focus { display:block; padding:16px; }
.payments-page [hidden] { display:none !important; }
@media (hover:hover) and (pointer:fine) {
  .header-channel:hover,.payments-footer a:hover,.payment-destination a:hover { color:var(--pay-orange) !important; }
  .payment-destination a:hover { text-decoration:underline; }
  .payments-app-link:hover { background:#3b2a23; }
  .payments-page button:hover { background:#272830; }
  .payments-page .method-option[aria-pressed="true"]:hover { background:#34271f; }
  .payments-page .payments-refresh:hover { color:#fff; }
}
@media (prefers-reduced-motion:reduce) { .payments-page *, .payments-page *::before { animation:none !important; transition:none !important; } .payments-page button:active:not(:disabled) { transform:none; } }
@media (max-width:1050px) {
  .payments-header { padding-inline:28px; }
  main.payments-main { padding-inline:28px; grid-template-columns:205px minmax(0,1fr); gap:32px; }
  .payment-row { grid-template-columns:minmax(0,1fr) auto; gap:14px 20px; }
  .payment-sum { grid-column:2; grid-row:1; }
  .payment-meta { grid-column:1 / -1; padding-left:47px; }
  .payments-footer { display:block; }
  .payments-footer a { display:inline-block; margin-top:16px; }
}
@media (max-width:720px) {
  .payments-header { height:72px; padding-inline:20px; }
  .payments-brand img { width:108px; height:auto; }
  .payments-product,.header-channel { display:none; }
  .payments-header nav { gap:3px; font-size:12px; }
  .payments-app-link { padding:10px 12px; }
  main.payments-main { display:block; padding:18px 20px 32px; }
  .payments-sidebar { position:static; padding:0; }
  .payments-sidebar h1 { font-size:36px; margin-bottom:24px; }
  .payments-summary { display:grid; grid-template-columns:1fr auto; align-items:end; gap:6px 12px; }
  .payments-summary > dt { grid-column:1 / -1; font-size:11px; }
  #total { font-size:30px; margin:0; }
  .payments-count { font-size:11px; padding-bottom:3px; display:block; text-align:right; }
  #count { display:inline; margin-right:3px; }
  .payments-count dt { display:inline; }
  .payments-methods { margin:28px -20px 0; }
  .payments-methods h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .method-options { flex-direction:row; overflow-x:auto; scrollbar-width:none; padding:0 20px 12px; gap:8px; }
  .method-options::-webkit-scrollbar { display:none; }
  .payments-page .method-option { width:auto; flex:none; white-space:nowrap; min-height:44px; padding:10px 13px; gap:8px; background:#1b1c22; font-size:12px; }
  .method-option[aria-pressed="true"] { background:#32251e !important; color:#ffac90; }
  .method-option[aria-pressed="true"]::after { display:none; }
  .method-option .method-icon { width:20px; height:20px; }
  .method-icon:empty { display:none; }
  .method-icon img,.method-icon svg { width:20px; height:20px; }
  .payments-side-note { margin:3px 0 0; font-size:10px; max-width:none; }
  .payments-history { margin-top:32px; }
  .payments-toolbar { padding:0 0 24px; gap:10px; }
  .payments-toolbar h2 { font-size:20px; }
  .payments-updated { font-size:10px; }
  .payments-page .payments-refresh { padding-inline:10px; font-size:12px; }
  .payments-filter-summary { gap:12px; }
  #filter-total { font-size:22px; }
  .payment-day { font-size:12px; margin-top:24px; }
  .payment-row { padding:19px 18px; gap:13px 16px; }
  .payment-method { gap:12px; }
  .payment-name { font-size:14px; }
  .payment-network { font-size:11px; }
  .payment-meta { padding-left:0; }
  .payment-destination { font-size:12px; }
  .payment-date { font-size:10px; }
  .payment-sum strong { font-size:21px; }
  .payments-pagination { flex-wrap:wrap; }
  #shown { font-size:11px; }
  .payments-page .payments-more { min-width:140px; }
}
@media (max-width:360px) {
  .payments-header { padding-inline:16px; gap:8px; }
  main.payments-main { padding-inline:16px; }
  .payments-app-link { font-size:11px; padding-inline:10px; }
  .payments-header nav { gap:0; }
  #total { font-size:27px; }
  .payments-count { font-size:10px; }
  .payments-methods { margin-inline:-16px; }
  .method-options { padding-inline:16px; }
  .payment-row { padding-inline:16px; }
  .payments-page .payments-refresh { padding-inline:5px; }
}
.payments-footer { flex-wrap:wrap; }
.payments-visitors { flex-basis:100%; color:#b8bac6; }
.payment-name { font-size:14px; }
.payment-destination { font-size:13px; }
@media (max-width:720px) { .payments-count dt { margin-right:4px; } .payments-count #count { margin-right:0; } .payments-visitors { margin-top:20px !important; } }
.payments-count + .payments-count { margin-top:5px; }
.payments-count dd { margin:0; color:#c9cad4; font-variant-numeric:tabular-nums; }
.payments-timing { margin-top:24px; }
.payments-timing dl { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 12px; margin:0; }
.payments-timing dt { color:var(--pay-muted); font-size:12px; }
.payments-timing dd { margin:0; font-size:18px; font-weight:550; font-variant-numeric:tabular-nums; }
.payments-timing p { margin:8px 0 0; color:var(--pay-muted); font-size:11px; line-height:1.6; }
.payment-duration { margin-top:5px; color:#b6b7c4; font-size:11px; line-height:1.5; }
.history-controls { display:flex; align-items:center; gap:6px; min-width:0; }
.payments-page .period-control { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; padding:10px 14px; background:#212229; font-size:12px; }
#period-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.period-chevron { flex:none; width:6px; height:6px; border-bottom:1.5px solid #a0a1ad; border-right:1.5px solid #a0a1ad; transform:translateY(-2px) rotate(45deg); }
.period-control[aria-expanded="true"] .period-chevron { transform:translateY(2px) rotate(225deg); }
.period-open { overflow:hidden; }
.period-open body.payments-page { position:fixed; top:var(--period-scroll-top); left:0; right:0; padding-right:var(--period-scrollbar); }
.period-panel { position:fixed; inset:0; width:min(360px,calc(100% - 32px)); max-width:none; max-height:calc(100svh - 32px); margin:auto; padding:0; border:0; border-radius:16px; background:var(--pay-raised); color:var(--pay-text); box-shadow:0 16px 45px #0008; overflow:hidden; }
.period-panel[open] { display:flex; flex-direction:column; }
.period-panel::backdrop { background:#0009; }
.period-heading { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px 8px; }
.period-heading h2 { margin:0; font-size:18px; font-weight:550; letter-spacing:-.02em; }
.payments-page #period-close { flex:none; padding-inline:10px; background:transparent; color:#b6b7c4; font-size:12px; }
.period-content { min-height:0; padding:4px 20px 20px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#5b5d69 transparent; }
.period-presets { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.payments-page .period-presets button { background:#2d2e37; font-size:12px; }
.payments-page .period-presets button[aria-pressed="true"] { background:#483025; color:#ffb093; }
.period-panel form { margin-top:16px; padding-top:16px; border-top:1px solid #ffffff10; }
.period-panel form p { margin:0 0 12px; font-size:12px; color:#b6b7c4; }
.period-dates { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.period-dates label { min-width:0; display:block; font-size:11px; color:#b6b7c4; }
.period-dates input { display:block; box-sizing:border-box; width:100%; min-width:0; max-width:100%; height:48px; margin-top:6px; padding:8px; border:0; border-radius:8px; font:inherit; font-size:16px; background:#191a20; color:#f3f3f6; color-scheme:dark; -webkit-appearance:none; appearance:none; }
.period-dates input::-webkit-date-and-time-value { text-align:left; min-height:1.45em; }
.period-dates input:focus-visible { outline:2px solid var(--pay-orange); outline-offset:2px; }
.payments-page .period-panel button[type="submit"] { width:100%; margin-top:12px; background:#ff6e40; color:#1e0b04; font-weight:550; }
@media (max-width:1050px) { .payments-toolbar { align-items:start; flex-wrap:wrap; } }
@media (max-width:720px) {
 .payments-summary { grid-template-columns:1fr auto; }
 .payments-summary > dt { grid-column:1; }
 #total { grid-row:2 / 4; align-self:start; }
 .payments-count { grid-column:2; margin:0 !important; padding:0; }
 .payments-count dd { display:inline; }
 .payments-count:first-of-type { grid-row:2; }
 .payments-count:last-of-type { grid-row:3; }
 .payments-toolbar { display:block; }
 .history-controls { margin-top:15px; justify-content:space-between; }
 .payments-page .period-control { min-width:145px; max-width:calc(100% - 90px); }
 .period-panel { inset:auto 0 0; width:100%; max-height:calc(100svh - 12px - env(safe-area-inset-top)); margin:0 auto; border-radius:16px 16px 0 0; }
 .period-heading { padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right)); }
 .period-content { padding:4px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }
}
@media (max-width:360px) {
 .period-dates { grid-template-columns:1fr; }
}
.payments-filter-summary[hidden] { display: none; }
