/* Возрождение — рассылка покупателям: CRM-трекер на localStorage */

.by-hero{ background:linear-gradient(180deg, var(--band-a) 0%, var(--band-b) 100%); color:#F3EFDF; padding:44px 20px 28px; }
.by-hero .wrap{ max-width:1080px; }
.by-hero h1{ font-size:clamp(24px,4.5vw,34px); color:#FBF8EE; margin-bottom:10px; }
.by-hero p{ color:#D9E1D3; max-width:70ch; margin:0; font-size:14.5px; }
.by-back{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#C6D2BF; text-decoration:none; margin-bottom:16px; }
.by-back:hover{ color:#FBF8EE; }

.by-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin:20px 0; }
.by-stat{ background:var(--surface); padding:14px 12px; text-align:center; }
.by-stat .n{ font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--gold); }
.by-stat .l{ font-size:11px; color:var(--ink-3); margin-top:2px; }
@media (max-width:560px){ .by-stats{ grid-template-columns:repeat(2,1fr); } }

.by-controls{ position:sticky; top:0; z-index:20; background:var(--bg); border-bottom:1px solid var(--border); padding:10px 0; }

/* Always-visible compact toggle bar */
.by-togglebar{
  display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%;
  font-family:'Public Sans'; font-size:13px; font-weight:600; color:var(--ink);
  background:var(--surface); border:1px solid var(--border-2); border-radius:10px;
  padding:10px 14px; cursor:pointer;
}
.by-togglebar-left{ display:flex; align-items:center; gap:7px; }
.by-togglebar-right{ display:flex; align-items:center; gap:6px; font-weight:400; font-size:12.5px; color:var(--ink-3); white-space:nowrap; }
.by-filterbadge{
  display:inline-flex; align-items:center; justify-content:center; min-width:17px; height:17px; padding:0 4px;
  border-radius:100px; background:var(--gold-deco); color:#1B2A1F; font-size:10.5px; font-weight:700;
}
.by-filterbadge[hidden]{ display:none; }
.by-chevron{ transition:transform .2s ease; flex:none; }
.by-togglebar[aria-expanded="true"] .by-chevron{ transform:rotate(180deg); }

/* Expandable panel */
.by-controls-inner{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; width:100%;
  margin-top:10px; padding-top:10px; border-top:1px solid var(--border);
}
.by-controls-inner[hidden]{ display:none; }
.by-search{
  flex:1 1 200px; min-width:0; box-sizing:border-box; font-family:'Public Sans'; font-size:14px; padding:10px 14px; border-radius:10px;
  border:1px solid var(--border-2); background:var(--surface); color:var(--ink); height:40px;
}
.by-search::placeholder{ color:var(--ink-3); }
.by-filter{
  min-width:0; box-sizing:border-box; font-family:'Public Sans'; font-size:13px; padding:9px 12px; border-radius:10px;
  border:1px solid var(--border-2); background:var(--surface); color:var(--ink); cursor:pointer; height:40px;
}
.by-clearfilters{
  font-family:'Public Sans'; font-size:12.5px; font-weight:600; color:var(--gold-strong); background:var(--gold-tint);
  border:1px solid transparent; border-radius:8px; padding:9px 12px; cursor:pointer; white-space:nowrap; height:40px;
}
.by-resetbtn{ font-family:'Public Sans'; font-size:12.5px; color:var(--ink-3); background:none; border:1px solid var(--border); border-radius:8px; padding:9px 12px; cursor:pointer; white-space:nowrap; height:40px; margin-left:auto; }
.by-resetbtn:hover{ color:var(--crit,#8A3B2C); border-color:var(--crit,#8A3B2C); }
@media (max-width:640px){
  .by-controls-inner{ flex-direction:column; align-items:stretch; }
  .by-search, .by-filter, .by-clearfilters, .by-resetbtn{ flex:none; width:100%; margin-left:0; }
  .by-togglebar-right{ display:none; }
}

.by-list{ display:grid; gap:10px; padding:14px 0 40px; }
.by-card{
  border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:var(--shadow);
  padding:14px 16px;
}
.by-card.is-sent{ border-color:#B9CBAE; }
.by-card.is-due{ border-color:var(--gold-deco); box-shadow:0 0 0 2px rgba(184,134,46,.18), var(--shadow); }
.by-card.is-refused{ opacity:.6; border-color:var(--border); box-shadow:none; }
.by-card.is-refused:hover{ opacity:1; }
.by-check-refuse{ margin-top:8px; font-size:12px; color:var(--ink-3); }
.by-check-refuse input{ accent-color:var(--crit,#8A3B2C); }
.by-refusebadge{
  display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; margin-left:8px;
  color:var(--crit,#8A3B2C);
}
.by-card-body[hidden]{ display:none; }
.by-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.by-name{ font-size:15.5px; font-weight:600; line-height:1.3; }
.by-rank{ font-family:'IBM Plex Mono',monospace; color:var(--ink-3); font-weight:400; font-size:12px; }
.by-badge{ font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:100px; white-space:nowrap; flex:none; }
.by-badge.p-A_{ background:#F3E0D9; color:#8A3B2C; }
.by-badge.p-A{ background:#F3E7C7; color:#7A5710; }
.by-badge.p-B{ background:var(--river-tint); color:var(--river); }
.by-badge.p-C{ background:var(--surface-2); color:var(--ink-3); }
.by-meta{ font-size:12.5px; color:var(--ink-3); margin-top:3px; }
.by-contacts{ margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.by-chip{
  display:inline-flex; align-items:center; gap:5px; font-size:12.5px; padding:6px 11px; border-radius:100px;
  background:var(--surface-2); color:var(--ink); text-decoration:none; border:1px solid var(--border);
}
.by-chip:hover{ border-color:var(--gold); color:var(--ink); }
button.by-chip{ font-family:'Public Sans'; cursor:pointer; }
.by-chip.mail{ background:var(--gold-tint); color:var(--gold-strong); border-color:transparent; }
.by-chip.tg{ background:#E3F0FA; color:#1C6FA8; border-color:transparent; }
.by-chip.wa{ background:#DFF3E3; color:#237A3D; border-color:transparent; }
.by-chip.max{ background:#EDE3FA; color:#6B3FA0; border-color:transparent; }
.by-chip.is-clicked{ opacity:.65; }
.by-chip.is-clicked:hover{ opacity:1; }
.by-chip.missing{ background:none; border-style:dashed; color:var(--ink-3); font-style:italic; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .by-chip.tg{ background:#152A38; color:#7FC0EA; }
  :root:not([data-theme="light"]) .by-chip.wa{ background:#12301A; color:#8FDB9E; }
  :root:not([data-theme="light"]) .by-chip.max{ background:#241C38; color:#B69EE0; }
  :root:not([data-theme="light"]) .by-badge.p-A_{ background:#332019; color:#E0917B; }
  :root:not([data-theme="light"]) .by-badge.p-A{ background:#332812; color:#E0B563; }
}
:root[data-theme="dark"] .by-chip.tg{ background:#152A38; color:#7FC0EA; }
:root[data-theme="dark"] .by-chip.wa{ background:#12301A; color:#8FDB9E; }
:root[data-theme="dark"] .by-chip.max{ background:#241C38; color:#B69EE0; }
:root[data-theme="dark"] .by-badge.p-A_{ background:#332019; color:#E0917B; }
:root[data-theme="dark"] .by-badge.p-A{ background:#332812; color:#E0B563; }

.by-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; padding-top:10px; border-top:1px solid var(--border); }
.by-checks{ display:flex; flex-wrap:wrap; gap:14px; }
.by-check{ display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink-2); cursor:pointer; user-select:none; }
.by-check input{ width:17px; height:17px; accent-color:var(--gold-deco); cursor:pointer; }
.by-check-warn{ color:var(--crit,#8A3B2C); }
.by-check-warn input{ accent-color:var(--crit,#8A3B2C); }
.by-sentinfo{ font-size:11.5px; color:var(--ink-3); font-family:'IBM Plex Mono',monospace; }
.by-duebadge{
  display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:4px 10px;
  border-radius:100px; background:var(--gold-tint); color:var(--gold-strong);
}
.by-bouncebadge{
  display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:4px 10px;
  border-radius:100px; background:#F5DEDA; color:var(--crit,#8A3B2C); margin-right:8px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .by-bouncebadge{ background:#3A241F; color:#E19E8C; }
}
:root[data-theme="dark"] .by-bouncebadge{ background:#3A241F; color:#E19E8C; }
.by-card.is-bounced{ border-color:var(--crit,#8A3B2C); }

.by-app-select{
  font-family:'Public Sans'; font-size:12.5px; padding:5px 8px; border-radius:8px;
  border:1px solid var(--border-2); background:var(--surface); color:var(--ink); cursor:pointer;
}

.by-meeting-row{ margin-top:10px; }
.by-meeting-btn{
  font-family:'Public Sans'; font-size:12.5px; font-weight:600; color:var(--river); background:var(--river-tint);
  border:1px solid transparent; border-radius:8px; padding:7px 12px; cursor:pointer; white-space:nowrap;
}
.by-meeting-badge{
  display:inline-flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:12.5px; font-weight:600;
  padding:6px 12px; border-radius:10px; background:var(--river-tint); color:var(--river);
}
.by-meeting-edit{
  font-family:'Public Sans'; font-size:11.5px; font-weight:600; color:var(--ink-3); background:none;
  border:none; text-decoration:underline; cursor:pointer; padding:0;
}
.by-meeting-form{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; padding:12px; border-radius:10px;
  background:var(--surface-2); border:1px solid var(--border);
}
.by-meeting-form[hidden]{ display:none; }
.by-meeting-form input[type="date"],
.by-meeting-form input[type="time"],
.by-meeting-form input[type="text"]{
  font-family:'Public Sans'; font-size:13px; padding:8px 10px; border-radius:8px;
  border:1px solid var(--border-2); background:var(--surface); color:var(--ink); flex:1 1 120px; min-width:0;
}
.by-meeting-form .jm-save{
  font-family:'Public Sans'; font-size:12.5px; font-weight:600; color:#1B2A1F; background:var(--gold-deco);
  border:none; border-radius:8px; padding:8px 14px; cursor:pointer;
}
.by-meeting-form .jm-cancel{
  font-family:'Public Sans'; font-size:12.5px; color:var(--ink-3); background:none;
  border:1px solid var(--border); border-radius:8px; padding:8px 14px; cursor:pointer;
}
@media (max-width:480px){
  .by-meeting-form{ flex-direction:column; }
  .by-meeting-form input, .by-meeting-form .jm-save, .by-meeting-form .jm-cancel{ width:100%; }
}

.by-empty{ text-align:center; padding:40px 20px; color:var(--ink-3); font-size:14px; }
.by-foot{ font-size:12px; color:var(--ink-3); padding:8px 0 0; max-width:80ch; }

.by-backup{ margin:24px 0 48px; padding:18px 20px; border-radius:12px; background:var(--surface-2); border:1px solid var(--border); }
.by-backup h2{ font-family:'Fraunces',serif; font-size:16px; font-weight:600; color:var(--ink); margin:0 0 6px; }
.by-backup p{ font-size:12.5px; color:var(--ink-3); max-width:80ch; margin:0 0 14px; }
.by-backup-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.by-backup-btn{
  display:inline-flex; align-items:center; gap:7px; font-family:'Public Sans'; font-size:12.5px; font-weight:600;
  color:var(--river); background:var(--river-tint); border:1px solid transparent; border-radius:8px;
  padding:9px 14px; cursor:pointer; white-space:nowrap;
}
.by-backup-btn:hover{ border-color:var(--river); }
.by-backup-upload{ position:relative; }
.by-backup-status{ font-size:12px; color:var(--ink-3); margin:12px 0 0; }
.by-backup-status.is-error{ color:var(--crit,#8A3B2C); }
@media (max-width:560px){
  .by-backup-actions{ flex-direction:column; align-items:stretch; }
  .by-backup-btn{ justify-content:center; }
}
