:root{
  --bg:#f5f5f7; --card:#ffffff; --text:#1d1d1f; --muted:#6e6e73;
  --accent:#0071e3; --line:rgba(0,0,0,.08);
  --green:#1a8b3a; --red:#d13b3b; --amber:#8a6d00;
}
*{ -webkit-tap-highlight-color: transparent; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--text);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
h1{ letter-spacing:-.02em; }
.tabular{ font-variant-numeric:tabular-nums; }
.muted{ color:var(--muted); }
.pos{ color:var(--green); } .neg{ color:var(--red); }

/* Карточка */
.card{ background:var(--card); border:1px solid var(--line); border-radius:18px;
  box-shadow:0 1px 3px rgba(0,0,0,.04); }

/* Кнопки */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  border-radius:980px; padding:.5rem 1.1rem; font-weight:500; font-size:.95rem;
  border:1px solid transparent; cursor:pointer; transition:filter .15s,background .15s;
  text-decoration:none; line-height:1; }
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ filter:brightness(1.06); }
.btn-secondary{ background:#e8e8ed; color:var(--text); }
.btn-secondary:hover{ background:#dedee3; }
.btn-ghost{ color:var(--accent); background:transparent; }
.btn-sm{ padding:.32rem .7rem; font-size:.85rem; }
.btn-icon{ background:transparent; padding:.25rem .45rem; border-radius:8px; line-height:1; }
.btn-icon:hover{ background:#f0f0f2; }

/* Поля ввода */
.field{ width:100%; background:#fff; border:1px solid #d2d2d7; border-radius:12px;
  padding:.55rem .8rem; font-size:.95rem; color:var(--text);
  transition:border-color .15s,box-shadow .15s; }
.field:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(0,113,227,.15); }
.field-num{ text-align:right; font-variant-numeric:tabular-nums; }
.field-sm{ padding:.4rem .6rem; font-size:.9rem; }
.label{ display:flex; flex-direction:column; gap:.25rem; font-size:.78rem; color:var(--muted); }

/* Сегмент-контрол (переключатель) */
.seg{ display:inline-flex; background:#e8e8ed; border-radius:980px; padding:3px; }
.seg a{ padding:.35rem .95rem; border-radius:980px; font-size:.88rem; color:var(--text);
  text-decoration:none; transition:background .15s; }
.seg a.active{ background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.12); font-weight:500; }

/* Таблицы */
.tbl{ width:100%; font-size:.9rem; border-collapse:collapse; }
.tbl th{ text-align:left; color:var(--muted); font-weight:500; font-size:.78rem;
  padding:.4rem .5rem; }
.tbl td{ padding:.5rem .5rem; border-top:1px solid var(--line); }
.tbl tr:first-child td{ border-top:none; }

input[type="number"]{ text-align:right; }

/* Обязательный выбор (канал/счёт): красная подсветка, пока не выбрано */
select:required:invalid{ border-color:var(--red); color:var(--red); }
