/* ============================================================
   PLATEGA — общие стили (кабинет + админка)
   Палитра: салатовый акцент, чёрный/тёмно-серый фон, белый текст,
   немного тёмно-синего.
   ============================================================ */
:root{
  --bg:#0a0c10;
  --surface:#13161c;
  --surface-2:#191d25;
  --surface-3:#212733;
  --line:#262d38;
  --line-2:#323a47;
  --text:#eef2f6;
  --muted:#7e8a99;
  --muted-2:#5c6675;
  --lime:#b8f23d;
  --lime-2:#a3e635;
  --lime-soft:rgba(184,242,61,.12);
  --lime-ink:#0c1206;
  --blue:#14233f;
  --blue-2:#1c3157;
  --danger:#ff5a52;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 12px 34px rgba(0,0,0,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea{font-family:inherit}
.hidden{display:none !important}
a{color:var(--lime-2)}

/* ---------- BRAND ---------- */
.brand{display:flex;align-items:center;gap:11px}
.brand .logo{
  width:36px;height:36px;border-radius:10px;
  background:var(--lime);color:var(--lime-ink);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;
}
.brand h1{font-size:17px;letter-spacing:.3px}
.brand .tag{display:block;color:var(--muted);font-size:11px;font-weight:500}

/* ---------- LOGIN ---------- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}
.auth-card{
  width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow);
}
.auth-card .brand{margin-bottom:24px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.input{
  width:100%;padding:12px 13px;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--radius-sm);color:var(--text);font-size:15px;outline:none;transition:.15s;
}
.input:focus{border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}
textarea.input{resize:vertical;min-height:90px;line-height:1.5}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:600;transition:.15s;
}
.btn-lime{background:var(--lime);color:var(--lime-ink)}
.btn-lime:hover{filter:brightness(1.06)}
.btn-block{width:100%}
.btn-ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}
.btn-ghost:hover{color:var(--text);border-color:var(--line-2)}
.btn-danger{background:transparent;border:1px solid transparent;color:var(--danger)}
.btn-danger:hover{background:rgba(255,90,82,.1)}
.btn-sm{padding:8px 12px;font-size:13px}

.hint{margin-top:16px;font-size:12px;color:var(--muted);text-align:center;line-height:1.6}
.hint code{background:var(--surface-2);padding:2px 7px;border-radius:6px;color:var(--lime-2)}
.form-error{color:var(--danger);font-size:13px;margin-top:10px;text-align:center;min-height:18px}
.warn-box{
  background:rgba(255,90,82,.08);border:1px solid rgba(255,90,82,.3);color:#ffb4af;
  padding:11px 13px;border-radius:var(--radius-sm);font-size:12px;line-height:1.55;margin-top:14px;
}

/* ---------- TOPBAR ---------- */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 20px;border-bottom:1px solid var(--line);
  background:rgba(10,12,16,.85);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:20;
}
.topbar .right{display:flex;align-items:center;gap:10px}
.who{display:flex;align-items:center;gap:9px;font-size:13.5px}
.avatar{
  width:32px;height:32px;border-radius:50%;background:var(--blue-2);color:var(--text);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
  border:1px solid var(--line-2);
}
.container{max-width:920px;margin:0 auto;padding:24px 20px 60px}
.page-head{margin-bottom:20px}
.page-head h2{font-size:22px}
.page-head p{color:var(--muted);font-size:13.5px;margin-top:4px}

/* ============================================================
   КАБИНЕТ — блок карты
   ============================================================ */
.cards-list{display:flex;flex-direction:column;gap:16px}
.cardblock{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
.cardblock{position:relative}
.cardblock.selected{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}
.cb-sel{position:absolute;top:10px;right:10px;z-index:3;display:flex;cursor:pointer}
.cb-sel input{width:20px;height:20px;cursor:pointer;accent-color:var(--lime)}
.cards-tools{ margin-bottom:12px }
.rn-modes{ display:flex; gap:8px; margin-bottom:14px }
.rn-mode{ flex:1; padding:8px 10px; border:1px solid var(--line); background:var(--surface-2); color:var(--muted); border-radius:var(--radius-sm); font-size:13px; cursor:pointer; transition:.15s }
.rn-mode.active{ border-color:var(--lime); color:var(--lime-2); background:var(--lime-soft) }
.rn-list{ display:flex; flex-direction:column; gap:8px; max-height:50vh; overflow:auto }
.rn-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap }
.rn-card{ flex:1; min-width:140px }
.rn-num{ font-family:ui-monospace,monospace; font-size:12.5px; color:var(--text) }
.rn-old{ font-size:11.5px; color:var(--muted) }
.rn-new{ flex:1; min-width:140px }
.cardblock-main{display:flex;gap:16px;padding:16px}

/* плитка-иконка "Расходы" слева */
.exp-tile{
  flex:0 0 96px;width:96px;border-radius:var(--radius-sm);
  background:linear-gradient(150deg,var(--blue-2),var(--blue));
  border:1px solid var(--line-2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  color:var(--text);transition:.15s;cursor:pointer;padding:10px 6px;
}
.exp-tile:hover{border-color:var(--lime);transform:translateY(-2px)}
.exp-tile svg{width:30px;height:30px;stroke:var(--lime)}
.exp-tile .lbl{font-size:12px;font-weight:600;letter-spacing:.2px}

/* колонка с данными карты */
.card-data{flex:1;min-width:0}
.card-name{font-size:16px;font-weight:700;margin-bottom:10px}
.copy-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 11px;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--radius-sm);margin-bottom:7px;cursor:pointer;transition:.12s;
}
.copy-row:hover{border-color:var(--line-2);background:var(--surface-3)}
.copy-row:active{transform:scale(.99)}
.copy-row .cr-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);width:54px;flex:0 0 auto}
.copy-row .cr-value{flex:1;font-size:14.5px;font-family:ui-monospace,"SF Mono",monospace;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copy-row .cr-copy{flex:0 0 auto;color:var(--muted)}
.copy-row .cr-copy svg{width:15px;height:15px;stroke:currentColor}
.copy-row:hover .cr-copy{color:var(--lime)}

.card-actions{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap;align-items:center}
.card-actions .today-spend{margin-left:auto}
.chip-btn{
  padding:8px 13px;border-radius:20px;font-size:13px;font-weight:600;
  background:var(--surface-2);border:1px solid var(--line);color:var(--text);transition:.15s;
}
.chip-btn:hover{border-color:var(--lime);color:var(--lime-2)}
.chip-btn.active{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}

/* выезжающие панели описание/заметка */
.panel{border-top:1px solid var(--line);padding:14px 16px;background:var(--surface-2)}
.panel .panel-title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px}
.panel p.desc-text{font-size:14px;line-height:1.55;color:var(--text);white-space:pre-wrap}
.panel .empty-text{color:var(--muted-2);font-style:italic;font-size:13.5px}
.note-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;align-items:center}
.saved-flag{color:var(--lime-2);font-size:12.5px;opacity:0;transition:.2s}
.saved-flag.show{opacity:1}

/* ============================================================
   КАЛЕНДАРЬ РАСХОДОВ (модалка)
   ============================================================ */
.overlay{
  position:fixed;inset:0;background:rgba(4,6,9,.7);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;z-index:60;
}
.modal{
  width:100%;max-width:760px;max-height:90vh;overflow:auto;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 20px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--surface);z-index:2;
}
.modal-head h3{font-size:16px}
.modal-head .sub{color:var(--muted);font-size:12px;margin-top:2px;font-family:ui-monospace,monospace}
.close-x{width:32px;height:32px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:17px;display:flex;align-items:center;justify-content:center}
.close-x:hover{color:var(--text)}
.modal-body{padding:18px 20px}

.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-nav .month{font-size:16px;font-weight:700;text-transform:capitalize}
.cal-nav .nav-btns{display:flex;gap:8px}
.nav-btn{width:34px;height:34px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center}
.nav-btn:hover{border-color:var(--lime);color:var(--lime-2)}
.cal-total{font-size:13px;color:var(--muted);margin-bottom:12px}
.cal-total b{color:var(--lime-2);font-size:15px;margin-left:6px}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-dow{text-align:center;color:var(--muted);font-size:11px;font-weight:600;padding-bottom:2px}
.cal-cell{
  aspect-ratio:1/1;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  cursor:pointer;transition:.12s;padding:4px;
}
.cal-cell.blank{background:transparent;border:none;cursor:default}
.cal-cell:not(.blank):hover{border-color:var(--lime)}
.cal-cell.today{border-color:var(--lime-2)}
.cal-cell.has-amount{background:var(--lime-soft);border-color:rgba(184,242,61,.35)}
.cal-cell .d-num{font-size:13px;font-weight:700}
.cal-cell .d-amt{font-size:10.5px;font-family:ui-monospace,monospace;color:var(--muted)}
.cal-cell.has-amount .d-amt{color:var(--lime-2)}
.cal-cell .d-amt.future{color:var(--muted-2)}
.cal-cell.editing{border-color:var(--lime);background:var(--surface-3)}
.day-input{
  width:100%;text-align:center;background:transparent;border:none;outline:none;
  color:var(--lime-2);font-size:12px;font-family:ui-monospace,monospace;
}

/* ---------- TOAST ---------- */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--lime);color:var(--lime-ink);padding:10px 18px;border-radius:22px;
  font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;transition:.22s;z-index:90;
  box-shadow:var(--shadow);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============================================================
   АДМИНКА
   ============================================================ */
.admin-grid{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}
.card-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card-box h3{font-size:15px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.card-box h3 .dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}
.user-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);
  margin-bottom:8px;cursor:pointer;transition:.12s;background:var(--surface-2);
}
.user-row:hover{border-color:var(--line-2)}
.user-row.active{border-color:var(--lime);background:var(--lime-soft)}
.user-row .u-name{font-size:14px;font-weight:600}
.user-row .u-login{font-size:12px;color:var(--muted)}
.list-empty{color:var(--muted);font-size:13px;text-align:center;padding:18px 0}
.divider{height:1px;background:var(--line);margin:16px 0}

.admin-card-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);
  margin-bottom:9px;background:var(--surface-2);
}
.admin-card-row .ac-info{min-width:0}
.admin-card-row .ac-name{font-size:14.5px;font-weight:600}
.admin-card-row .ac-meta{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace;margin-top:3px;word-break:break-all}
.admin-card-row .ac-desc{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.4}
.row-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* ============================================================
   MOBILE
   ============================================================ */
@media(max-width:680px){
  .container{padding:18px 14px 50px}
  .page-head h2{font-size:20px}

  .cardblock-main{flex-direction:column;gap:13px;padding:13px}
  .exp-tile{
    flex:none;width:100%;flex-direction:row;justify-content:center;gap:12px;
    padding:13px;
  }
  .exp-tile svg{width:24px;height:24px}
  .exp-tile .lbl{font-size:14px}

  .overlay{padding:0;align-items:stretch}
  .modal{max-width:100%;max-height:100vh;height:100%;border-radius:0;border:none}
  .modal-body{padding:14px 14px calc(14px + env(safe-area-inset-bottom,0))}
  .cal-grid{gap:4px}
  .cal-cell{border-radius:8px}
  .cal-cell .d-num{font-size:12px}
  .cal-cell .d-amt{font-size:9px}

  .admin-grid{grid-template-columns:1fr}
  .row-grid{grid-template-columns:1fr}
}
@media(max-width:380px){
  .copy-row .cr-value{font-size:13px}
}

/* ============================================================
   v2: бренд-шрифт, вкладки, дашборд, статусы, статистика
   ============================================================ */

/* фирменный шрифт только для названия */
.brand h1{ font-family:'Bungee', system-ui, sans-serif; letter-spacing:.5px; font-weight:400 }
.auth-card .brand h1{ font-size:24px; background:linear-gradient(90deg,var(--lime),#8fd0ff 70%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* ---------- ВКЛАДКИ (кабинет) ---------- */
.tabs{ display:flex; gap:6px; padding:0 20px; border-bottom:1px solid var(--line);
  background:var(--bg); position:sticky; top:56px; z-index:15 }
.tab{ padding:13px 16px; font-size:14.5px; font-weight:600; color:var(--muted);
  border-bottom:2px solid transparent; margin-bottom:-1px; transition:.15s }
.tab:hover{ color:var(--text) }
.tab.active{ color:var(--lime-2); border-bottom-color:var(--lime) }

/* подвкладки (активные/неактивные/закрытые) */
.subtabs{ display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap }
.subtab{ padding:8px 14px; border-radius:20px; font-size:13px; font-weight:600;
  background:var(--surface-2); border:1px solid var(--line); color:var(--muted); transition:.15s }
.subtab:hover{ color:var(--text) }
.subtab.active{ background:var(--lime); color:var(--lime-ink); border-color:var(--lime) }
.subtab .cnt{ opacity:.7; margin-left:5px; font-weight:700 }

/* ---------- ДИАПАЗОН ДАТ ---------- */
.range-bar{ display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-bottom:20px }
.stat-controls{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:6px }
.addcard-toggle{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text); cursor:pointer; user-select:none; padding:7px 10px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm) }
.addcard-toggle input{ width:16px; height:16px; accent-color:var(--lime); cursor:pointer }
.stat-controls .ms{ max-width:320px }
.range-btn{ padding:7px 12px; border-radius:18px; font-size:12.5px; font-weight:600;
  background:var(--surface-2); border:1px solid var(--line); color:var(--muted); transition:.15s }
.range-btn:hover{ color:var(--text) }
.range-btn.active{ background:var(--blue-2); color:var(--text); border-color:var(--lime) }
.range-custom{ display:flex; gap:6px; align-items:center }
.range-custom input{ padding:7px 9px; background:var(--surface-2); border:1px solid var(--line);
  border-radius:9px; color:var(--text); font-size:12.5px; color-scheme:dark }
.range-custom span{ color:var(--muted); font-size:12px }

/* ---------- DASHBOARD ---------- */
.stat-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:22px }
.stat-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px }
.stat-card .lbl{ font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted) }
.stat-card .val{ font-size:28px; font-weight:800; margin-top:7px }
.stat-card .val.lime{ color:var(--lime-2) }
.stat-card .sub{ font-size:12px; color:var(--muted); margin-top:4px }
.chart-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px }
.chart-box{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px }
.chart-box h4{ font-size:13.5px; margin-bottom:12px; color:var(--text) }
.chart-box .canvas-wrap{ position:relative; height:220px }

/* ---------- СТАТУСЫ КАРТ ---------- */
.card-badge{ display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:20px;
  font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; margin-left:8px }
.card-badge.inactive{ background:rgba(150,160,175,.15); color:#aab4c2; border:1px solid rgba(150,160,175,.3) }
.card-badge.closed{ background:rgba(255,90,82,.13); color:#ff8e88; border:1px solid rgba(255,90,82,.3) }
.cardblock.inactive, .cardblock.closed{ filter:grayscale(.9) opacity(.8) }
.cardblock.inactive .exp-tile, .cardblock.closed .exp-tile{ background:linear-gradient(150deg,#3a3f48,#2a2e36) }
.cardblock.closed .exp-tile{ background:#23262d; cursor:not-allowed }
.cardblock.closed .exp-tile:hover{ border-color:var(--line-2); transform:none }
.blurred{ filter:blur(6px); user-select:none; pointer-events:none }
.copy-row.locked{ cursor:default }
.copy-row.locked:hover{ border-color:var(--line); background:var(--surface-2) }
.copy-row.locked .cr-copy{ display:none }
.name-input{ background:var(--surface-3); border:1px solid var(--lime); border-radius:8px;
  color:var(--text); font-size:16px; font-weight:700; padding:4px 8px; outline:none; width:100%; max-width:240px }
.card-name.editable{ cursor:text; border-bottom:1px dashed var(--line-2); display:inline-block }
.card-name.editable:hover{ border-bottom-color:var(--lime) }
.name-hint{ font-size:11px; color:var(--muted-2); margin-left:6px; font-weight:400 }

/* ---------- АДМИНКА: аккордеон пользователей ---------- */
.user-acc{ border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:9px; overflow:hidden; background:var(--surface-2) }
.user-acc-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 14px; cursor:pointer }
.user-acc-head:hover{ background:var(--surface-3) }
.user-acc.open .user-acc-head{ background:var(--surface-3) }
.user-acc-head .u-name{ font-size:14.5px; font-weight:600 }
.user-acc-head .u-login{ font-size:12px; color:var(--muted); font-family:ui-monospace,monospace }
.user-acc-head .chev{ color:var(--muted); transition:.2s; font-size:13px }
.user-acc.open .chev{ transform:rotate(90deg) }
.user-acc-body{ padding:0 14px 14px; border-top:1px solid var(--line) }
.cred-box{ display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--surface); border:1px solid var(--line); border-radius:9px; padding:10px 12px; margin:12px 0 }
.cred-box .cred-vals{ font-family:ui-monospace,monospace; font-size:13px; min-width:0 }
.cred-box .cred-vals div{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.cred-box .cred-vals .k{ color:var(--muted); font-size:11px }
.cred-box .cred-vals .v{ color:var(--text) }

/* статусные кнопки карты в админке */
.status-seg{ display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden }
.status-seg button{ padding:6px 10px; font-size:12px; font-weight:600; color:var(--muted); background:var(--surface) }
.status-seg button:hover{ color:var(--text) }
.status-seg button.on.active{ background:var(--lime); color:var(--lime-ink) }
.status-seg button.on.inactive{ background:#6b7280; color:#fff }
.status-seg button.on.closed{ background:var(--danger); color:#fff }

/* ---------- АДМИНКА: статистика ---------- */
.stats-table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-sm); margin-top:14px }
table.stats{ width:100%; border-collapse:collapse; font-size:13px; min-width:520px }
table.stats th, table.stats td{ padding:9px 12px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap }
table.stats thead th{ color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.4px; position:sticky; top:0; background:var(--surface-2) }
table.stats td.num{ text-align:right; font-family:ui-monospace,monospace }
table.stats tr.user-row-st td{ background:var(--blue); font-weight:700 }
table.stats tr.total-row td{ background:var(--surface-3); font-weight:700 }
table.stats tr.total-row td.num{ color:var(--lime-2) }
.export-bar{ display:flex; gap:8px; margin-top:14px; flex-wrap:wrap }

@media(max-width:680px){
  .tabs{ top:53px }
  .chart-grid{ grid-template-columns:1fr }
  .tab{ flex:1; text-align:center }
}

/* ============================================================
   v3: лого-анимация, лоадер, чип «сегодня», фильтр карт,
   партнёры, широкий лейаут, мобайл-полировка
   ============================================================ */

/* ---- бренд без иконки, переливается салатовым ---- */
.brand .logo{ display:none }            /* убрали квадратную иконку */
.brand h1{
  font-family:'Bungee', system-ui, sans-serif; font-weight:400; letter-spacing:.5px;
  background:linear-gradient(90deg, #eef2f6 0%, #eef2f6 35%, var(--lime) 50%, #eef2f6 65%, #eef2f6 100%);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; animation:brandShine 5s linear infinite;
}
.auth-card .brand h1{ font-size:26px }
@keyframes brandShine{ from{ background-position:0% center } to{ background-position:-220% center } }

/* ---- лоадер PLATEGA ---- */
.loader-overlay{ position:fixed; inset:0; z-index:300; background:var(--bg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
  transition:opacity .35s; }
.loader-overlay.hide{ opacity:0; pointer-events:none }
.loader-word{ font-family:'Bungee', sans-serif; font-size:clamp(34px,9vw,56px); letter-spacing:2px;
  background:linear-gradient(90deg, #20242c 0%, #20242c 30%, var(--lime) 50%, #20242c 70%, #20242c 100%);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; animation:loadShine 1.15s linear infinite; }
@keyframes loadShine{ from{ background-position:120% center } to{ background-position:-120% center } }
.loader-bar{ width:140px; height:4px; border-radius:4px; background:var(--surface-3); overflow:hidden; position:relative }
.loader-bar::after{ content:''; position:absolute; left:-40%; top:0; height:100%; width:40%;
  background:var(--lime); border-radius:4px; animation:loadBar 1.15s ease-in-out infinite }
@keyframes loadBar{ 0%{left:-40%} 100%{left:110%} }

/* ---- чип «расходы за сегодня» ---- */
.chips-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:11px; justify-content:flex-end }
.today-spend{ display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:20px; font-size:12.5px; font-weight:700; white-space:nowrap;
  background:var(--lime); color:var(--lime-ink); box-shadow:0 0 14px rgba(184,242,61,.40); }
.today-spend .lbl{ font-weight:600; opacity:.8 }
.today-spend.zero{ background:var(--surface-3); color:var(--muted); box-shadow:none; font-weight:600 }

/* ---- редактирование имени карты: не залазит на номер ---- */
.card-name-wrap{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; min-height:30px }
.card-name{ font-size:16px; font-weight:700; margin:0 }
.name-input{ flex:1; min-width:160px; max-width:280px }

/* ---- закрытая карта: ровные строки ---- */
.copy-row.locked{ cursor:default; justify-content:flex-start; gap:10px }
.copy-row.locked .cr-value{ flex:1 }
.copy-row.locked .cr-value.blurred{ filter:blur(5px); display:inline-block; max-width:120px; overflow:hidden; white-space:nowrap }

/* ---- мультиселект карт/партнёров ---- */
.ms{ position:relative; max-width:360px; width:100% }
.ms-toggle{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:11px 13px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm);
  color:var(--text); font-size:14px; text-align:left }
.ms-toggle:hover{ border-color:var(--line-2) }
.ms-toggle .chev{ color:var(--muted); font-size:11px }
.ms-panel{ position:absolute; z-index:30; top:calc(100% + 6px); left:0; right:0;
  background:var(--surface); border:1px solid var(--line-2); border-radius:var(--radius-sm);
  box-shadow:var(--shadow); padding:8px; max-height:300px; overflow:auto }
.ms-panel.hidden{ display:none }
.ms-search{ width:100%; padding:9px 11px; background:var(--surface-2); border:1px solid var(--line);
  border-radius:8px; color:var(--text); font-size:13px; outline:none; margin-bottom:6px }
.ms-search:focus{ border-color:var(--lime) }
.ms-option{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; cursor:pointer; font-size:13.5px }
.ms-option:hover{ background:var(--surface-2) }
.ms-option .box{ width:18px; height:18px; border-radius:5px; border:1.5px solid var(--line-2);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:12px; color:var(--lime-ink) }
.ms-option.on .box{ background:var(--lime); border-color:var(--lime) }
.ms-option .sub{ color:var(--muted); font-family:ui-monospace,monospace; font-size:11.5px; margin-left:auto }
.ms-divider{ height:1px; background:var(--line); margin:6px 0 }
.dash-controls{ display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-bottom:18px }

/* ---- партнёры ---- */
.partner-acc{ border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:10px; background:var(--surface-2); overflow:hidden }
.partner-acc-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; cursor:pointer }
.partner-acc-head:hover{ background:var(--surface-3) }
.partner-acc.open .partner-acc-head{ background:var(--surface-3) }
.partner-acc-head .p-name{ font-size:15.5px; font-weight:700 }
.partner-acc-head .p-meta{ font-size:12px; color:var(--muted) }
.partner-acc-head .chev{ color:var(--muted); transition:.2s; margin-left:auto }
.partner-acc.open .chev{ transform:rotate(90deg) }
.partner-acc-body{ padding:14px 16px; border-top:1px solid var(--line) }
.group-label{ font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin:14px 0 8px }

/* статус-бейдж пользователя без партнёра */
.np-tag{ font-size:11px; color:var(--muted-2) }

/* ---- широкий лейаут ---- */
.container{ max-width:1180px }
.cards-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(440px,1fr)); gap:16px }

/* ============================================================
   МОБАЙЛ-ПОЛИРОВКА
   ============================================================ */
@media(max-width:680px){
  .cards-list{ grid-template-columns:1fr }
  .dash-controls{ flex-direction:column; gap:12px }
  .ms{ max-width:100% }
  .stat-cards{ grid-template-columns:1fr 1fr }
  .stat-card .val{ font-size:22px }
  .range-bar{ gap:6px }
  .range-btn{ padding:7px 10px; font-size:12px }
  .range-custom{ width:100%; }
  .range-custom input{ flex:1; min-width:0 }
  .card-actions{ width:100% }
  .user-acc-head .u-login, .partner-acc-head .p-meta{ word-break:break-all }
  .cred-box{ flex-direction:column; align-items:stretch }
  .cred-box .btn{ width:100% }
  .export-bar{ flex-direction:column; align-items:stretch }
  table.stats{ font-size:12px }
  table.stats th, table.stats td{ padding:8px 9px }
}
@media(max-width:420px){
  .stat-cards{ grid-template-columns:1fr }
}

/* ============================================================
   v4: вкладка Карты в админке — таблица, чекбоксы, bulk-бар,
   модалки, селекты
   ============================================================ */
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px }
.toolbar h3{ margin:0 }
.toolbar .actions{ display:flex; gap:8px; flex-wrap:wrap }

/* нативные селекты в общем стиле */
select.input{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237e8a99' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:34px; cursor:pointer; }

/* таблица карт */
table.cards-table{ min-width:680px }
table.cards-table td, table.cards-table th{ white-space:nowrap }
table.cards-table .num{ text-align:right }
.row-check{ width:20px; height:20px; accent-color:var(--lime); cursor:pointer; vertical-align:middle }
tr.card-row{ cursor:pointer }
tr.card-row:hover td{ background:var(--surface-2) }
tr.card-row.sel td{ background:rgba(184,242,61,.08) }
.st-pill{ display:inline-block; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700 }
.st-pill.active{ background:var(--lime-soft); color:var(--lime-2) }
.st-pill.inactive{ background:rgba(150,160,175,.15); color:#aab4c2 }
.st-pill.closed{ background:rgba(255,90,82,.13); color:#ff8e88 }
tr.detail-row td{ background:var(--surface-2); white-space:normal }
.card-detail{ display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:6px 4px }
.card-detail .d-block .k{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin-bottom:4px }
.card-detail .d-block .v{ font-size:13.5px; line-height:1.5 }
.card-detail .full{ grid-column:1 / -1 }

/* bulk-бар */
.bulk-bar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 14px; margin-bottom:12px;
  background:var(--blue); border:1px solid var(--lime); border-radius:var(--radius-sm); position:sticky; top:54px; z-index:12 }
.bulk-bar .cnt{ font-weight:700; margin-right:4px }
.bulk-bar .btn{ background:var(--surface); border:1px solid var(--line-2) }
.bulk-bar .btn:hover{ border-color:var(--lime) }

/* модалка (общая, фон блюрится) */
.modal-sm{ max-width:520px }
#modal .modal-body .field{ margin-bottom:12px }
.parse-preview{ font-size:13px; color:var(--lime-2); margin:8px 0 4px; font-weight:600 }

@media(max-width:680px){
  .card-detail{ grid-template-columns:1fr }
  .bulk-bar{ top:53px }
  .toolbar .actions{ width:100% }
  .toolbar .actions .btn{ flex:1 }
}

/* ============================================================
   v5: плавность — анимации появления, переходы, reduced-motion
   ============================================================ */
@keyframes fadeIn    { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp  { from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }
@keyframes popIn     { from{opacity:0; transform:translateY(10px) scale(.985)} to{opacity:1; transform:none} }
@keyframes overlayIn { from{opacity:0} to{opacity:1} }

.anim-fade-up{ animation:fadeInUp .24s ease both }
.stagger > *{ animation:fadeInUp .26s ease both; animation-delay:calc(var(--i,0) * 32ms) }

/* появление вкладок-вью (toggle .hidden -> display) */
#dashboardView:not(.hidden), #cardsView:not(.hidden),
#partnersView:not(.hidden), #usersView:not(.hidden), #statsView:not(.hidden){
  animation:fadeInUp .24s ease both;
}
/* раскрытие аккордеонов и панелей карты */
.user-acc-body:not(.hidden), .partner-acc-body:not(.hidden){ animation:fadeInUp .2s ease both }
.cardblock .panel{ animation:fadeInUp .2s ease both }
/* выпадающие списки */
.ms-panel:not(.hidden){ animation:fadeInUp .16s ease both }
/* bulk-бар */
.bulk-bar:not(.hidden){ animation:fadeInUp .18s ease both }
/* tост */

/* модалки: фон + диалог */
.overlay:not(.hidden){ animation:overlayIn .18s ease both }
.overlay:not(.hidden) .modal{ animation:popIn .22s cubic-bezier(.2,.7,.3,1) both }

/* недостающие transition на интерактиве */
.close-x{ transition:.15s }
.nav-btn{ transition:.15s }
.ms-option{ transition:background .12s }
.status-seg button{ transition:.15s }
.today-spend{ transition:background .2s, box-shadow .2s, color .2s }
table.cards-table td{ transition:background .12s }
.card-badge, .st-pill{ transition:.15s }
.cal-cell{ transition:border-color .14s, background .14s }

/* мягче «прыжок» календаря при смене месяца */
#calGrid{ animation:fadeIn .18s ease both }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* v6: чекбоксы массового выбора партнёров/юзеров */
.sel-all-row{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted); cursor:pointer; margin-bottom:12px; user-select:none }
.sel-all-row input{ width:18px; height:18px; accent-color:var(--lime); cursor:pointer }
.user-acc-head .uchk, .partner-acc-head .pchk{ width:18px; height:18px; accent-color:var(--lime); cursor:pointer; flex:0 0 auto }

/* v7: привязки карты (степпер N / 10) */
.bindings{ display:flex; align-items:center; gap:8px; margin-top:12px; flex-wrap:wrap }
.bindings .b-label{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted) }
.bindings .b-val{ color:var(--text); font-weight:700; font-size:15px; min-width:20px; text-align:center; font-family:ui-monospace,monospace }
.bindings .b-max{ color:var(--muted); font-size:13px }
.bindings .b-btn{ width:28px; height:28px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line); color:var(--text); font-size:17px; line-height:1; display:inline-flex; align-items:center; justify-content:center; transition:.12s }
.bindings .b-btn:hover{ border-color:var(--lime); color:var(--lime-2) }
.bindings .b-btn:active{ transform:scale(.92) }

/* v8: соцы ФБ */
.socials-list{ display:flex; flex-direction:column; gap:12px }
.social-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px;
  animation:fadeInUp .24s ease both }
.social-info{ min-width:0 }
.social-name{ font-size:15.5px; font-weight:700 }
.social-meta{ font-size:12.5px; color:var(--muted); margin-top:3px; word-break:break-word }
.social-actions{ display:flex; gap:8px; flex-shrink:0 }
@media(max-width:680px){ .social-actions{ width:100% } .social-actions .btn[data-pull]{ flex:1 } }

/* v9: соц — панель периода + лог импорта */
.social-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; animation:fadeInUp .24s ease both }
.social-card .social-row{ background:transparent; border:none; border-radius:0; padding:14px 16px; animation:none }
.soc-panel{ border-top:1px solid var(--line); padding:14px 16px; background:var(--surface-2); animation:fadeInUp .18s ease both }
.soc-range{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:12px }
.soc-log{ background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-sm); padding:10px 12px; max-height:260px; overflow:auto; font-family:ui-monospace,monospace; font-size:12px; line-height:1.65 }
.soc-log .log-line{ white-space:pre-wrap; color:var(--muted) }
.soc-log .log-line.ok{ color:var(--lime-2) }
.soc-log .log-line.warn{ color:#e9c46a }
.soc-log .log-line.err{ color:var(--danger) }
@media(max-width:680px){ .soc-range .range-custom{ width:100% } .soc-range .range-custom input{ flex:1; min-width:0 } .soc-range [data-import]{ width:100% } }

/* v10: список кабинетов соца (ручная привязка) */
.acc-list{ display:flex; flex-direction:column; gap:8px; max-height:60vh; overflow:auto }
.acc-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 11px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm) }
.acc-info{ min-width:0 }
.acc-name{ font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:46vw }
.acc-meta{ font-size:11.5px; color:var(--muted); margin-top:2px }
.acc-sel{ width:auto; max-width:200px; flex:0 0 auto; padding:8px 28px 8px 10px; font-size:13px }
@media(max-width:680px){ .acc-row{ flex-direction:column; align-items:stretch } .acc-sel{ max-width:100%; width:100% } .acc-name{ max-width:100% } }
.acc-item{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:9px 11px }
.acc-item .acc-row{ background:none; border:0; padding:0 }
.acc-ctrl{ display:flex; align-items:center; gap:6px; flex:0 0 auto }
.bind-chain{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:6px; font-size:11.5px; color:var(--muted) }
.bind-chain .bc-item b{ color:var(--lime-2); font-weight:600 }
.bind-chain .bc-per{ color:var(--muted-2) }
.bind-chain .bc-arrow{ color:var(--muted-2) }
.acc-switch-form{ margin-top:10px; padding-top:10px; border-top:1px dashed var(--line-2) }
.acc-switch-form .sf-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px }
.acc-switch-form label{ display:flex; flex-direction:column; gap:4px; font-size:11.5px; color:var(--muted) }
.acc-switch-form .sf-act{ display:flex; gap:8px; margin-top:8px }
.acc-switch-form .sf-msg:empty{ display:none }
.acc-switch-form .sf-msg{ margin-top:6px }
@media(max-width:680px){ .acc-ctrl{ flex-wrap:wrap } .acc-switch-form .sf-grid{ grid-template-columns:1fr } }
.soc-log .ps-row{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:7px 8px; background:var(--lime-soft); border-radius:7px; margin:3px 0 }
.soc-log .ps-row b{ color:var(--lime-2) }
.soc-log .ps-row .ps-date{ background:var(--surface); border:1px solid var(--line-2); color:var(--text); border-radius:6px; padding:3px 6px; font-size:12px }
.soc-log .ps-row .ps-apply{ padding:4px 10px }
.soc-log .ps-row .ps-st{ color:var(--muted); font-size:11.5px }
.today-spend.charged{ background:rgba(122,162,255,.14); color:#9bb8ff; box-shadow:0 0 14px rgba(122,162,255,.30) }
.today-spend.charged .lbl{ color:#8b97a6 }
.today-spend.stmt{ background:rgba(255,176,80,.14); color:#ffc879; box-shadow:0 0 14px rgba(255,176,80,.28) }
.today-spend.stmt .lbl{ color:#8b97a6 }
.tl-head{ font-size:11.5px; color:var(--muted); margin-bottom:8px }
.tl-rows{ display:flex; flex-direction:column; gap:7px; margin-bottom:8px }
.tl-row{ display:flex; gap:7px; align-items:center }
.tl-row .tl-card{ flex:1; min-width:0; padding:8px 28px 8px 10px; font-size:13px }
.tl-row .tl-from{ width:auto; flex:0 0 auto; padding:8px 10px; font-size:13px }
.tl-row .tl-del{ flex:0 0 auto; width:30px; height:30px; border-radius:8px; background:rgba(255,90,82,.1); border:1px solid rgba(255,90,82,.3); color:#ffb4af; font-size:13px }
.tl-add{ margin-bottom:4px }
@media(max-width:680px){ .tl-row{ flex-wrap:wrap } .tl-row .tl-card{ flex:1 1 100% } .tl-row .tl-from{ flex:1 } }
.cal-mode{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px }
.cal-mode-hint{ font-size:11.5px; color:var(--muted) }
/* кастомный диапазонный календарь (импорт соц) */
.dr{ position:relative; display:inline-block }
.dr-field{ background:var(--surface-2); border:1px solid var(--line); color:var(--text); border-radius:var(--radius-sm); padding:8px 12px; font-size:13px; cursor:pointer; transition:.15s; white-space:nowrap }
.dr-field:hover{ border-color:var(--line-2) }
.dr-field:active{ transform:scale(.97) }
.dr-field.on{ border-color:var(--lime); color:var(--lime-2); background:var(--lime-soft) }
.dr-pop{ position:fixed; z-index:200; width:300px; max-width:92vw; background:var(--surface-3); border:1px solid var(--line-2); border-radius:var(--radius); box-shadow:var(--shadow); padding:12px; animation:faqIn .15s ease }
.dp-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px }
.dp-title{ font-size:13.5px; font-weight:600; text-transform:capitalize }
.dp-nav{ width:30px; height:30px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line); color:var(--muted); font-size:16px; cursor:pointer }
.dp-nav:hover{ border-color:var(--lime); color:var(--lime-2) }
.dp-dow{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:2px }
.dp-dow span{ text-align:center; font-size:10px; color:var(--muted); font-weight:600 }
.dp-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px }
.dp-cell{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:12.5px; border-radius:7px; cursor:pointer; user-select:none; transition:background .12s }
.dp-cell.blank{ visibility:hidden }
.dp-cell:not(.dis):not(.blank):hover{ background:var(--surface-2) }
.dp-cell.dis{ color:var(--muted-2); opacity:.4; cursor:default }
.dp-cell.inr{ background:var(--lime-soft) }
.dp-cell.sel{ background:var(--lime); color:var(--lime-ink); font-weight:700 }
.dp-foot{ display:flex; align-items:center; gap:8px; margin-top:10px }
.dp-hint{ flex:1; font-size:11px; color:var(--muted) }
.dp-quick{ background:var(--surface-2); border:1px solid var(--line); color:var(--lime-2); border-radius:7px; padding:5px 9px; font-size:11.5px; cursor:pointer }
.dp-quick:hover{ border-color:var(--lime) }

/* ================= FAQ / СПРАВКА ================= */
.faq-search{ margin:0 0 18px; max-width:480px }
.faq{ display:flex; flex-direction:column; gap:24px }
.faq-group{ display:flex; flex-direction:column; gap:10px }
.faq-group-title{ font-size:12px; text-transform:uppercase; letter-spacing:.9px; color:var(--lime-2); font-weight:700; padding-left:2px }
.faq-item{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; transition:border-color .18s }
.faq-item[open]{ border-color:var(--line-2) }
.faq-item:hover{ border-color:var(--line-2) }
.faq-item>summary{ list-style:none; cursor:pointer; padding:14px 16px; font-size:14.5px; font-weight:600; display:flex; align-items:center; gap:10px; user-select:none }
.faq-item>summary::-webkit-details-marker{ display:none }
.faq-item>summary::before{ content:"+"; flex:0 0 auto; width:22px; height:22px; border-radius:6px; background:var(--surface-2); color:var(--lime-2); font-size:16px; line-height:22px; text-align:center; transition:transform .2s, background .2s }
.faq-item[open]>summary::before{ content:"−"; background:var(--lime-soft) }
.faq-item>summary:hover{ color:var(--lime-2) }
.faq-body{ padding:0 16px 16px 48px; color:var(--muted); font-size:13.5px; line-height:1.7; animation:faqIn .22s ease }
.faq-body p{ margin:0 0 8px }
.faq-body p:last-child{ margin-bottom:0 }
.faq-body b{ color:var(--text); font-weight:600 }
.faq-body ul,.faq-body ol{ margin:0 0 8px; padding-left:20px }
.faq-body li{ margin-bottom:5px }
.faq-body li:last-child{ margin-bottom:0 }
.faq-body code{ background:var(--surface-2); padding:1px 7px; border-radius:6px; color:var(--lime-2); font-size:12.5px }
.faq-note{ background:var(--lime-soft); border-left:3px solid var(--lime); padding:8px 12px; border-radius:6px; color:var(--text) }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-4px) } to{ opacity:1; transform:none } }
@media(prefers-reduced-motion:reduce){ .faq-body{ animation:none } .faq-item>summary::before{ transition:none } }
@media(max-width:680px){ .faq-body{ padding-left:16px } }
