/* ─── STAFF ANALYTICS ─── */
.sa-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.sa-sel,.sa-inp{width:auto;padding:6px 10px;font-size:12.5px;border-radius:7px}
.sa-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
@media(max-width:1100px){.sa-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.sa-cards{grid-template-columns:repeat(2,1fr)}}
.sa-card{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.sa-card-label{font-size:11.5px;color:var(--t3);font-weight:500}
.sa-card-val{font-size:22px;font-weight:800;color:var(--t1);line-height:1.1}
.sa-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.sa-badge{font-size:11px;font-weight:700;padding:2px 6px;border-radius:20px}
.sa-badge-up{background:#dcfce7;color:#166534}
.sa-badge-dn{background:#fee2e2;color:#991b1b}
.sa-sparkline{width:80px!important;height:32px!important}
.sa-insight{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:8px;margin-bottom:8px}
.sa-insight:last-child{margin-bottom:0}
.sa-insight-danger{background:#fef2f2;border:1px solid #fecaca}
.sa-insight-warn{background:#fffbeb;border:1px solid #fde68a}
.sa-insight-ok{background:#f0fdf4;border:1px solid #bbf7d0}
.sa-insight-icon{font-size:18px;line-height:1;flex-shrink:0;margin-top:1px}
.sa-insight-title{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:3px}
.sa-insight-body{font-size:12.5px;color:var(--t2);line-height:1.5}

/* ─── SEGMENTS ─── */
.seg-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.seg-meta{font-size:12px;color:var(--t3)}
.seg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.seg-card{background:var(--card);border:1.5px solid var(--bd);border-radius:12px;padding:16px;cursor:pointer;transition:box-shadow .15s,transform .1s;position:relative;overflow:visible}
.seg-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.1);transform:translateY(-1px)}
.seg-card-bar{position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0}
.seg-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.seg-card-emoji{font-size:22px;line-height:1}
.seg-card-pct{font-size:12px;font-weight:700;color:var(--t3)}
.seg-card-label{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:4px;line-height:1.3}
.seg-card-count{font-size:26px;font-weight:800;color:var(--t1);line-height:1;margin-bottom:8px}
.seg-card-stats{display:flex;gap:10px;flex-wrap:wrap}
.seg-card-stat{font-size:11px;color:var(--t3)}
.seg-card-stat b{color:var(--t2);font-weight:600}
.seg-empty-card{opacity:.4}
.seg-zone-label{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--bd)}
/* Segment card tooltip — shown above card, needs overflow:visible on card */
.seg-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:0;right:0;margin:0 auto;width:220px;background:#1e293b;color:#f1f5f9;font-size:11.5px;line-height:1.5;padding:8px 11px;border-radius:8px;z-index:600;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.3);white-space:normal;text-align:left}
.seg-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1e293b}
.seg-card:hover .seg-tooltip{display:block}
/* Segment client drawer */
.seg-drawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;display:none;align-items:stretch;justify-content:flex-end}
.seg-drawer-ov.open{display:flex}
.seg-drawer{width:460px;max-width:100vw;background:var(--card);height:100vh;overflow-y:auto;overflow-x:hidden;box-shadow:-4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;flex-shrink:0}
@media(max-width:600px){.seg-drawer{width:100vw}}
.seg-drawer-hdr{padding:16px 20px 14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:10px;position:sticky;top:0;background:var(--card);z-index:1;flex-wrap:wrap}
.seg-drawer-title{font-size:14px;font-weight:700;flex:1;min-width:0}
.seg-drawer-body{padding:14px 20px;flex:1}
.seg-client-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer}
.seg-client-row:last-child{border-bottom:none}
.seg-client-row:hover{background:var(--bg);margin:0 -24px;padding:10px 24px}
.seg-client-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.seg-client-name{font-size:13px;font-weight:600;color:var(--t1)}
.seg-client-phone{font-size:12px;color:var(--t3)}
.seg-client-info{margin-left:auto;text-align:right}
.seg-client-spent{font-size:12px;font-weight:600;color:var(--t2)}
.seg-client-visits{font-size:11px;color:var(--t3)}

/* ─── HOME CARE ─── */
:root{--hc-cream:#faf4ec;--hc-gold:#c9a96e;--hc-gold-light:rgba(201,169,110,.15);--hc-brown:#2c2416;--hc-brown2:#7a6a55;--hc-border:#e8dcc8}
.hc-form-ov{position:fixed;inset:0;background:rgba(44,36,22,.55);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}
.hc-form-ov.open{display:flex}
.hc-form-box{background:var(--hc-cream);border-radius:14px;width:860px;max-width:100%;padding:28px 32px;position:relative;margin:auto;border:1px solid var(--hc-border);box-shadow:0 20px 60px rgba(44,36,22,.2)}
.hc-form-header{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1.5px solid var(--hc-gold)}
.hc-form-logo{font-size:18px;font-weight:800;color:var(--hc-brown);letter-spacing:4px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px}
.hc-form-logo-leaf{color:var(--hc-gold);font-size:22px}
.hc-form-sub{font-size:10.5px;color:var(--hc-brown2);letter-spacing:2px;margin-top:2px}
.hc-form-title-row{margin-top:10px;font-size:20px;font-weight:600;color:var(--hc-brown);font-family:Georgia,serif}
.hc-form-divider{width:60px;height:2px;background:var(--hc-gold);margin:8px auto 0}
.hc-section{background:#fff;border:1px solid var(--hc-border);border-radius:10px;margin-bottom:12px;box-shadow:0 1px 4px rgba(201,169,110,.08)}
.hc-section-hd{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:linear-gradient(135deg,#fdf8f0,#f5ece0);border-bottom:1px solid var(--hc-border);cursor:pointer;user-select:none}
.hc-section-title{font-size:13px;font-weight:700;color:var(--hc-brown);display:flex;align-items:center;gap:7px}
.hc-section-body{padding:14px 16px;background:#fff}
.hc-cat{margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--hc-border)}
.hc-cat:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.hc-cat-label{font-size:11px;font-weight:700;color:var(--hc-gold);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.hc-cat-label span:first-child::before{content:'✓ ';color:var(--hc-gold)}
.hc-item{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:start;margin-bottom:7px}
.hc-item input{padding:7px 10px;font-size:16px;border-color:var(--hc-border);background:#fdfaf5}
.hc-item input:focus{border-color:var(--hc-gold);box-shadow:0 0 0 3px rgba(201,169,110,.15)}
.hc-item-del{width:28px;height:32px;border-radius:6px;background:transparent;border:1px solid var(--hc-border);color:var(--hc-brown2);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s;margin-top:1px}
.hc-item-del:hover{background:#fef2f2;border-color:#fecaca;color:var(--danger)}
.hc-add-btn{font-size:12px;color:var(--hc-gold);background:transparent;border:1px dashed var(--hc-gold);border-radius:6px;padding:4px 10px;cursor:pointer;font-family:inherit;font-weight:600;transition:.15s;white-space:nowrap}
.hc-add-btn:hover{background:var(--hc-gold-light)}
.hc-client-drop{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--hc-border);border-radius:8px;box-shadow:0 4px 16px rgba(44,36,22,.12);z-index:100;max-height:220px;overflow-y:auto;margin-top:3px}
.hc-client-opt{padding:9px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--hc-border)}
.hc-client-opt:last-child{border-bottom:none}
.hc-client-opt:hover{background:var(--hc-gold-light)}
.hc-client-wrap{position:relative}
.hc-ac-wrap{position:relative;flex:1}
.hc-ac-drop{position:fixed;background:#fff;border:1px solid var(--hc-border);border-radius:8px;box-shadow:0 4px 20px rgba(44,36,22,.18);z-index:3000;max-height:220px;overflow-y:auto;display:none}
.hc-ac-opt{padding:8px 12px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--hc-border)}
.hc-ac-opt:last-child{border-bottom:none}
.hc-ac-opt:hover{background:var(--hc-gold-light)}
.hc-tabs{display:flex;gap:3px;background:rgba(201,169,110,.12);padding:3px;border-radius:9px;margin-bottom:18px;border:1px solid var(--hc-border)}
.hc-tab{flex:1;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;text-align:center;color:var(--hc-brown2);border:none;background:transparent;transition:.15s;font-family:inherit}
.hc-tab.active{background:#fff;color:var(--hc-brown);box-shadow:0 1px 4px rgba(201,169,110,.2);border:1px solid var(--hc-border)}
.hc-tab-panel{display:none}
.hc-tab-panel.active{display:block}
.hc-client-input-wrap{background:#fff;border:1px solid var(--hc-border);border-radius:8px;padding:14px 16px;margin-bottom:18px}
.hc-client-input-wrap .fl{color:var(--hc-gold);font-weight:700;letter-spacing:.3px}
.hc-client-wrap input{border-color:var(--hc-border);background:#fdfaf5}
.hc-save-row{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--hc-border)}
.hc-btn-save{background:var(--hc-gold);color:#fff;border:none;padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.hc-btn-save:hover{background:#b8935a}
.hc-btn-print{background:transparent;color:var(--hc-brown);border:1px solid var(--hc-border);padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.hc-btn-print:hover{background:var(--hc-gold-light);border-color:var(--hc-gold)}
.hc-btn-cancel{background:transparent;color:var(--hc-brown2);border:1px solid var(--hc-border);padding:9px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;transition:.15s}
.hc-btn-cancel:hover{background:rgba(0,0,0,.04)}
@media(max-width:700px){.hc-item{grid-template-columns:1fr auto}}
.hc-pick-btn{background:transparent;border:1px solid var(--hc-border);border-radius:6px;padding:0 8px;cursor:pointer;font-size:14px;color:var(--hc-brown2);height:32px;transition:.15s;flex-shrink:0;white-space:nowrap}
.hc-pick-btn:hover{background:var(--hc-gold-light);border-color:var(--hc-gold);color:var(--hc-brown)}
.hc-picker-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2500;align-items:center;justify-content:center}
.hc-picker-ov.open{display:flex}
.hc-picker-box{background:#fff;border-radius:12px;width:520px;max-width:96vw;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.hc-picker-hdr{padding:14px 18px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:10px}
.hc-picker-body{flex:1;overflow-y:auto}
.hc-picker-cat-hdr{padding:8px 18px;background:#f6f4f1;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd);border-top:1px solid var(--bd);margin-top:4px;user-select:none}
.hc-picker-cat-hdr:first-child{margin-top:0}
.hc-picker-item{padding:9px 30px;font-size:13px;cursor:pointer;border-bottom:1px solid #f0f0f0;color:var(--t1)}
.hc-picker-item:hover{background:#fdf8f0}
.hc-period{margin-bottom:16px;padding:12px;background:#f8f6f0;border-radius:8px}
.hc-period h3{margin:0 0 8px 0;font-size:14px;color:#4A4540}
.hc-period-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hc-period-row label{font-size:13px;color:#4A4540;display:flex;align-items:center;gap:6px}
.hc-period-row input[type=date]{padding:4px 8px;border:1px solid #d0c8b8;border-radius:4px}
.hc-period-row input[type=date]:disabled{background:#eee;color:#999}
.hc-open-ended{gap:4px !important}
.hc-days { grid-column:1 / -1; display:flex; gap:4px; flex-wrap:wrap; padding-left:2px; margin-top:4px; }
.hc-days .hc-day {
  padding:3px 10px; font-size:12px; cursor:pointer;
  border:1px solid var(--hc-border); border-radius:14px; background:#fff; color:var(--hc-brown2);
  min-width:36px; text-align:center;
}
.hc-days .hc-day.active { background:var(--hc-gold); border-color:var(--hc-gold); color:#fff; }
.hc-days .hc-day-all {
  padding:3px 12px; font-size:12px; cursor:pointer; margin-left:8px;
  border:1px dashed var(--hc-gold); border-radius:14px; background:transparent; color:var(--hc-brown2);
}
.hc-days .hc-day:focus-visible, .hc-days .hc-day-all:focus-visible {
  outline:2px solid var(--hc-gold); outline-offset:2px;
}

.hc-modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.45);
  display:flex; align-items:center; justify-content:center; z-index:1000;
}
.hc-modal {
  background:#fff; border-radius:12px; padding:20px 24px;
  width:min(640px, 92vw); max-height:90vh; overflow:auto; position:relative;
}
.hc-modal-close {
  position:absolute; top:10px; right:14px; background:none; border:none;
  font-size:22px; cursor:pointer; color:var(--hc-brown2);
}
.hc-modal-header { margin-bottom:16px; }
.hc-modal-header > div:first-child { font-size:16px; font-weight:600; color:var(--hc-brown); }
.hc-modal-sub { font-size:13px; color:var(--hc-brown2); margin-top:4px; }

.hc-cal-header { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-top:8px;
  font-size:11px; color:var(--hc-brown2); text-align:center; text-transform:uppercase; }
.hc-cal-grid   { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-top:4px; }
.hc-cal-cell   { aspect-ratio:1; border-radius:3px; }

.hc-cal-legend { display:flex; gap:12px; flex-wrap:wrap; font-size:12px;
  margin-top:12px; color:var(--hc-brown2); }
.hc-cal-legend span { display:flex; align-items:center; gap:6px; }
.hc-cal-legend i {
  display:inline-block; width:12px; height:12px; border-radius:2px;
  border:1px solid rgba(0,0,0,0.06);
}

.hc-day-detail { margin-top:16px; padding:12px; background:var(--hc-cream); border-radius:8px; }
.hc-day-detail h4 { margin:0 0 8px 0; font-size:14px; color:var(--hc-brown); }
.hc-day-item {
  display:flex; gap:10px; align-items:baseline; padding:4px 0; font-size:13px;
}
.hc-day-section { color:var(--hc-brown2); min-width:48px; font-size:12px; }
.hc-day-name    { flex:1; color:var(--hc-brown); }
.hc-day-status  { font-size:12px; }
.hc-day-empty   { color:var(--hc-brown2); font-size:13px; }

/* ─── MOBILE: настройки ─── */
@media(max-width:700px){
  #page-settings{margin:-14px}                       /* совпадает с .content padding на мобиле */
  #page-settings.active{flex-direction:column}       /* sidebar (чипы) над контентом, не сбоку */
  /* sidebar → горизонтальная прокручиваемая полоса чипов */
  #page-settings .stg-sidebar{
    width:auto;flex-shrink:0;position:static;max-height:none;
    border-right:none;border-bottom:1px solid var(--bd);
    display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;
    padding:8px;white-space:nowrap;-webkit-overflow-scrolling:touch}
  /* группы разворачиваем в одну строку чипов */
  #page-settings .stg-group{display:contents}
  #page-settings .stg-group-lbl,
  #page-settings .stg-sep{display:none}             /* подписи групп/разделители прячем на мобиле */
  #page-settings .stg-item{flex:0 0 auto;margin:0;padding:8px 12px;min-height:38px;border:1px solid var(--bd);border-radius:20px;font-size:13px}
  #page-settings .stg-item.active{border-color:var(--a)}
  #page-settings .stg-content{padding:16px;max-width:none}
}
@media(max-width:480px){
  #page-settings{margin:-10px}                       /* совпадает с .content padding на ≤480 */
}

/* ─── STAFF DASHBOARD (личный кабинет специалиста) ─── */
.sd-toolbar{display:flex;gap:8px;padding:14px 0;align-items:center;flex-wrap:wrap}
.sd-meta{font-size:13px;color:var(--t3)}
.sd-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sd-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
/* при перезагрузке данных (смена пресета) приглушаем старый контент */
.sd-stale{opacity:.45;pointer-events:none;transition:opacity .2s}

@media(max-width:1100px){
  .sd-g4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .sd-g3,.sd-g4{grid-template-columns:repeat(2,1fr);gap:10px}
  .sd-card-rev{grid-column:1/-1}              /* выручка — на всю ширину */
  #page-staff-dashboard .sc{padding:12px 14px}
  #page-staff-dashboard .sv{font-size:20px;letter-spacing:-.3px}
  .sd-toolbar{padding:10px 0;gap:6px}
  .sd-toolbar .btn{padding:8px 12px;font-size:13px}
  .sd-meta{flex-basis:100%;order:9;font-size:12px}
  .sd-top5 th,.sd-top5 td{padding:6px 4px!important;font-size:12px}
}
@media(max-width:400px){
  .sd-g3,.sd-g4{grid-template-columns:1fr}
}

/* ─── Экран приветствия + анимация сбора данных ─── */
.sd-hello{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;animation:sdHelloIn .5s ease both}
.sd-hello-emoji{font-size:46px;line-height:1;margin-bottom:16px;animation:sdFloat 2.4s ease-in-out infinite}
.sd-hello h2{margin:0 0 10px;font-size:26px;letter-spacing:-.4px;color:var(--t1)}
.sd-hello-sub{position:relative;width:100%;color:var(--t3);font-size:14px;height:20px}
.sd-step-txt{position:absolute;left:0;right:0;top:0;animation:sdStepIn .3s ease both}
.sd-step-txt.sd-step-out{animation:sdStepOut .25s ease both}
@keyframes sdStepIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes sdStepOut{from{opacity:1}to{opacity:0}}
.sd-hello-bar{width:min(280px,72vw);height:6px;background:var(--bg);border:1px solid var(--bd);border-radius:4px;overflow:hidden;margin-top:20px}
.sd-hello-fill{height:100%;width:0;background:linear-gradient(90deg,#19c39c,#13a05e);border-radius:4px;transition:width 2.6s cubic-bezier(.3,.6,.25,1)}
.sd-hello-fill.done{transition:width .6s cubic-bezier(.3,.7,.4,1)}
.sd-hello.out{animation:none;opacity:0;transform:translateY(-10px);transition:opacity .35s ease,transform .35s ease}
.sd-enter{animation:sdHelloIn .45s ease both}
@media(max-width:700px){.sd-hello h2{font-size:21px}.sd-hello-emoji{font-size:38px}}
@keyframes sdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sdHelloIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ─── STAFF DASHBOARD PASTEL REDESIGN ─────────────────────────── */
/* Палитра: --sdp-* фон, --sda-* акцент. Спека 2026-06-12. */
:root{
  --sdp-rev:#e6f7f1;   --sda-rev:#0fa97e;
  --sdp-vis:#e8f1fd;   --sda-vis:#3b82f6;
  --sdp-nosh:#fdf0e6;  --sda-nosh:#e8833a;
  --sdp-avg:#f0ecfd;   --sda-avg:#7c5cf0;
  --sdp-new:#fdecf2;   --sda-new:#e0508a;
  --sdp-ret:#e4f6f8;   --sda-ret:#0ea5b7;
  --sdp-reap:#eff8e6;  --sda-reap:#6aa832;
  --sdp-goods:#fdf4e2; --sda-goods:#d99114;
  --sdp-util:#f5ebfa;  --sda-util:#a855d8;
}
[data-theme="dark"]{
  --sdp-rev:#11261f;   --sda-rev:#2dd4a8;
  --sdp-vis:#13202f;   --sda-vis:#60a5fa;
  --sdp-nosh:#2a1d12;  --sda-nosh:#f0995a;
  --sdp-avg:#1d1830;   --sda-avg:#a78bfa;
  --sdp-new:#2a1520;   --sda-new:#f077a8;
  --sdp-ret:#10262a;   --sda-ret:#38c5d8;
  --sdp-reap:#1a2412;  --sda-reap:#8fc758;
  --sdp-goods:#27200f; --sda-goods:#eab94a;
  --sdp-util:#231630;  --sda-util:#c084ec;
}

/* Пастельная карточка: фон по метрике, без рамки, скругление 16 */
.sd-p{border:none!important;border-radius:16px!important;
  background:var(--sdp,var(--card));
  transition:transform .2s ease,box-shadow .2s ease}
.sd-p:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.10)}
.sd-p .sv{color:var(--sda,var(--t1))}
.sd-p-rev  {--sdp:var(--sdp-rev);  --sda:var(--sda-rev)}
.sd-p-vis  {--sdp:var(--sdp-vis);  --sda:var(--sda-vis)}
.sd-p-nosh {--sdp:var(--sdp-nosh); --sda:var(--sda-nosh)}
.sd-p-avg  {--sdp:var(--sdp-avg);  --sda:var(--sda-avg)}
.sd-p-new  {--sdp:var(--sdp-new);  --sda:var(--sda-new)}
.sd-p-ret  {--sdp:var(--sdp-ret);  --sda:var(--sda-ret)}
.sd-p-reap {--sdp:var(--sdp-reap); --sda:var(--sda-reap)}
.sd-p-goods{--sdp:var(--sdp-goods);--sda:var(--sda-goods)}
.sd-p-util {--sdp:var(--sdp-util); --sda:var(--sda-util)}

/* Иконка метрики в белом круге */
.sd-p-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.sd-p-head .sl{margin-bottom:0}
.sd-p-ico{width:30px;height:30px;border-radius:50%;background:var(--card);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;box-shadow:0 1px 3px rgba(0,0,0,.08);flex-shrink:0}

/* Hero */
.sd-hero{display:flex;align-items:center;gap:14px;padding:18px 20px;
  border-radius:20px;margin-bottom:14px;
  background:linear-gradient(135deg,var(--sdp-rev) 0%,var(--sdp-avg) 100%)}
.sd-hero-ava{width:56px;height:56px;border-radius:50%;object-fit:cover;
  border:3px solid var(--card);box-shadow:0 2px 8px rgba(0,0,0,.10);flex-shrink:0}
.sd-hero-ava-fb{width:56px;height:56px;border-radius:50%;flex-shrink:0;
  border:3px solid var(--card);background:var(--sda-rev);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}
.sd-hero-t h2{margin:0;font-size:19px;letter-spacing:-.3px;color:var(--t1)}
.sd-hero-sub{font-size:13px;color:var(--t2);margin-top:3px}
.sd-hero-dates{margin-left:auto;font-size:12px;color:var(--t3);white-space:nowrap}

/* Сегментный контрол со скользящей пилюлей */
.sd-seg{position:relative;display:inline-flex;background:var(--bg);
  border:1px solid var(--bd);border-radius:12px;padding:3px;gap:0}
.sd-seg button{position:relative;z-index:1;border:none;background:transparent;
  padding:8px 18px;font-size:13px;font-weight:600;color:var(--t3);cursor:pointer;
  border-radius:9px;font-family:inherit;transition:color .2s}
.sd-seg button.on{color:var(--t1)}
.sd-seg-pill{position:absolute;top:3px;bottom:3px;border-radius:9px;
  background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.12);
  transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1)}

/* Каскад появления */
.sd-anim{animation:sdCardIn .5s ease both;animation-delay:calc(var(--i,0)*60ms)}
@keyframes sdCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Прогресс-кольцо */
.sd-ring-row{display:flex;align-items:center;gap:12px;margin-top:4px}
.sd-ring{width:64px;height:64px;flex-shrink:0}
.sd-ring .bgc{fill:none;stroke:var(--card);stroke-width:7}
.sd-ring .fgc{fill:none;stroke:var(--sda,var(--a));stroke-width:7;stroke-linecap:round;
  transform:rotate(-90deg);transform-origin:50% 50%;
  transition:stroke-dashoffset .7s cubic-bezier(.3,.6,.3,1)}
.sd-ring text{font-size:15px;font-weight:800;fill:var(--sda,var(--t1))}

/* Мини-бары в разбивке выручки */
.sd-mini{height:4px;border-radius:2px;background:rgba(0,0,0,.06);overflow:hidden;margin-top:2px}
[data-theme="dark"] .sd-mini{background:rgba(255,255,255,.08)}
.sd-mini i{display:block;height:100%;border-radius:2px;width:0;transition:width .7s ease .2s}

/* SVG-график */
.sd-chart-wrap{position:relative;margin-top:10px}
.sd-chart-wrap svg{display:block;width:100%}
.sd-chart-line{fill:none;stroke:var(--sda-rev);stroke-width:2.5;
  stroke-linecap:round;stroke-linejoin:round}
.sd-chart-dot{fill:var(--sda-rev);stroke:var(--card);stroke-width:2;opacity:0;transition:opacity .15s}
.sd-chart-guide{stroke:var(--t3);stroke-width:1;stroke-dasharray:3 4;opacity:0;transition:opacity .15s}
.sd-chart-x{font-size:10px;fill:var(--t3)}
.sd-tip{position:absolute;pointer-events:none;background:var(--t1);color:var(--card);
  font-size:12px;font-weight:600;padding:5px 9px;border-radius:8px;white-space:nowrap;
  transform:translate(-50%,-130%);opacity:0;transition:opacity .15s;z-index:5}

/* Топ-5 */
.sd-t5-row{display:grid;grid-template-columns:26px 1fr 64px 90px;gap:8px;
  align-items:center;padding:9px 4px;border-bottom:1px solid var(--bg);font-size:13px}
.sd-t5-rank{font-weight:800;color:var(--t3);text-align:center}
.sd-t5-name{min-width:0}
.sd-t5-name span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-t5-bar{height:6px;border-radius:3px;background:var(--bg);overflow:hidden;margin-top:5px}
.sd-t5-bar i{display:block;height:100%;border-radius:3px;background:var(--sdp-rev);width:0;transition:width .7s ease .15s}
.sd-t5-row.lead .sd-t5-bar i{background:var(--sda-rev)}
.sd-t5-cnt{text-align:right;color:var(--t2)}
.sd-t5-sum{text-align:right;font-weight:700}
.sd-t5-h{display:grid;grid-template-columns:26px 1fr 64px 90px;gap:8px;padding:4px;
  font-size:11px;color:var(--t3);font-weight:600;border-bottom:1px solid var(--bd)}
.sd-t5-h .srt{cursor:pointer;text-align:right;user-select:none}
.sd-t5-h .srt:hover{color:var(--t1)}

/* Десктоп: карточка выручки занимает 2 из 3 колонок ряда 1 */
@media(min-width:701px){.sd-g3 .sd-card-rev{grid-column:span 2}}

/* Доступность: всё статично при reduced-motion */
@media (prefers-reduced-motion: reduce){
  .sd-anim{animation:none}
  .sd-ring .fgc,.sd-mini i,.sd-t5-bar i,.sd-seg-pill,.sd-p{transition:none}
}
@media(max-width:700px){
  .sd-hero{flex-wrap:wrap;padding:14px 16px}
  .sd-hero-dates{margin-left:0;flex-basis:100%}
  .sd-hero-t h2{font-size:17px}
}

/* ═══════════════════════════════════════════════════════════════
   BROADCASTS PAGE (📨 Рассылка в Telegram)
   ═══════════════════════════════════════════════════════════════ */

/* Шапка страницы */
.bc-head{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:20px;flex-wrap:wrap;gap:12px}
.bc-head-title{font-size:16px;font-weight:700}
.bc-head-sub{font-size:12.5px;color:var(--t3);margin-top:2px}

/* Composer modal: на десктопе шире обычной модалки */
.bc-modal{width:760px;max-width:96vw}
.bc-modal-body{display:flex;flex-direction:column;gap:14px}

/* Секции фильтра / редактора текста */
.bc-section{padding:12px;border:1px solid var(--bd);border-radius:8px}
.bc-section-title{font-size:13px;font-weight:600;margin-bottom:8px}
.bc-section-hint{font-size:11.5px;color:var(--t3);margin-bottom:6px}
.bc-section-hint code{cursor:pointer;background:var(--bg2);padding:1px 6px;
  border-radius:4px;margin:0 2px;font-size:11px}

/* Чипы сегментов */
.bc-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.bc-chip{display:inline-block;padding:5px 11px;border-radius:14px;
  font-size:12px;border:1px solid var(--bd);cursor:pointer;
  user-select:none;background:var(--bg2);transition:.15s}
.bc-chip.on{background:var(--a);border-color:var(--a);color:#fff}

/* Сетка фильтров: 4 поля в ряд на десктопе */
.bc-filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bc-filter-row-2{grid-template-columns:repeat(2,1fr)}  /* для рядов из 2 полей */
.bc-filter-row .fg{margin-bottom:0}

/* Превью аудитории */
.bc-preview{padding:10px;background:var(--bg2);border-radius:6px;font-size:13px}
.bc-preview-count{font-weight:700}
.bc-preview-sample{color:var(--t3);margin-left:8px}

/* Textarea сообщения */
.bc-textarea{width:100%;font-family:inherit;font-size:13.5px;resize:vertical;
  min-height:120px;padding:8px 10px;border:1px solid var(--bd);
  border-radius:6px;background:var(--bg);color:var(--t1);box-sizing:border-box}
.bc-textarea:focus{outline:none;border-color:var(--a)}
.bc-char-count{font-size:11px;color:var(--t3);margin-top:4px;text-align:right}

/* Действия (Отмена / Отправить) */
.bc-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* История рассылок */
.bc-row{background:var(--bg2);border:1px solid var(--bd);border-radius:10px;
  padding:14px 16px;margin-bottom:10px}
.bc-row-grid{display:flex;justify-content:space-between;align-items:flex-start;
  gap:12px;flex-wrap:wrap}
.bc-row-left{flex:1;min-width:0}  /* min-width:0 чтобы preview мог сжиматься */
.bc-row-right{text-align:right;min-width:160px;flex-shrink:0}
.bc-row-status{display:inline-block;padding:2px 8px;border-radius:10px;
  font-size:11px;font-weight:600;margin-right:8px}
.bc-row-meta{font-size:13px;font-weight:600;margin-bottom:4px}
.bc-row-preview{font-size:12.5px;color:var(--t2);margin-bottom:6px;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}
.bc-row-filters{font-size:11.5px;color:var(--t3)}
.bc-row-errors{margin-top:6px;font-size:11px;color:var(--t3);
  word-wrap:break-word;overflow-wrap:break-word}
.bc-progress-lbl{font-size:11px;color:var(--t3)}
.bc-progress-val{font-size:13.5px;font-weight:700}
.bc-progress-bar{height:6px;background:var(--bd);border-radius:3px;
  margin-top:6px;overflow:hidden}
.bc-progress-bar i{display:block;height:100%;transition:width .3s}

/* ─── Мобильные брейкпоинты ──────────────────────────────────── */
@media(max-width:700px){
  .bc-modal{width:100%;max-width:100vw;border-radius:0;
    max-height:100vh;height:100vh;padding:16px}
  .bc-filter-row{grid-template-columns:repeat(2,1fr);gap:8px}
  .bc-section{padding:10px}
  .bc-textarea{min-height:140px;font-size:14px}  /* 14px чтобы iOS не зумил */
  .bc-actions{justify-content:stretch}
  .bc-actions .btn{flex:1;justify-content:center}
  .bc-row-grid{flex-direction:column}
  .bc-row-right{text-align:left;min-width:0;width:100%}
  .bc-progress-bar{margin-top:4px}
  .bc-head{margin-bottom:14px}
  .bc-head .btn{width:100%}
  .bc-head>div:first-child{flex:1 1 100%}
}
@media(max-width:480px){
  .bc-filter-row{grid-template-columns:1fr}
  .bc-modal{padding:12px}
  .bc-section{padding:8px}
  .bc-section-hint code{display:inline-block;margin:2px 2px;font-size:10.5px}
  .bc-row{padding:12px;border-radius:8px}
  .bc-row-preview{font-size:12px}
  .bc-chip{padding:5px 9px;font-size:11.5px}
}

/* ═══ MEDICAL CERT VISUAL COORDS EDITOR ═══ */
#mc-visual-editor { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1100; }
#mc-visual-editor .mc-ve-shell { position:absolute; inset:24px; background:#fff; border-radius:12px; display:flex; flex-direction:column; overflow:hidden; }
#mc-visual-editor .mc-ve-head { display:flex; gap:8px; align-items:center; padding:10px 14px; border-bottom:1px solid #e5e7eb; }
#mc-visual-editor .mc-ve-body { flex:1; display:flex; min-height:0; }
#mc-ve-pages { flex:1; overflow:auto; background:#94a3b8; padding:16px; display:flex; flex-direction:column; gap:16px; align-items:center; }
#mc-ve-panel { width:240px; border-left:1px solid #e5e7eb; padding:12px; overflow:auto; }
.mc-ve-page { position:relative; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.3); }
.mc-ve-page canvas { display:block; }
.mc-ve-marker { position:absolute; color:#1d4ed8; line-height:1; white-space:nowrap; cursor:move; outline:none; user-select:none; }
.mc-ve-marker.sel { background:rgba(29,78,216,.15); box-shadow:0 0 0 1px #1d4ed8; }
.mc-ve-marker:focus { box-shadow:0 0 0 2px #f59e0b; }
.mc-ve-cell { position:absolute; top:0; }
.mc-ve-grid-h { position:absolute; left:0; right:0; height:1px; background:rgba(220,38,38,.35); }
.mc-ve-grid-v { position:absolute; top:0; bottom:0; width:1px; background:rgba(220,38,38,.2); }
.mc-ve-grid-lbl { position:absolute; left:2px; top:-10px; font-size:9px; color:#dc2626; }
