/* Salistica DS — component styles extracted from _ds_bundle.js (injected at runtime in the React build). */

.ds-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  border-radius:50%;font:var(--fw-semibold) 13px var(--font);color:var(--accent);
  background:var(--accent-soft);width:36px;height:36px;position:relative;overflow:visible;
  text-transform:uppercase;letter-spacing:.01em;}
.ds-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.ds-avatar--xs{width:24px;height:24px;font-size:10px;}
.ds-avatar--sm{width:30px;height:30px;font-size:11.5px;}
.ds-avatar--lg{width:44px;height:44px;font-size:15px;}
.ds-avatar--xl{width:56px;height:56px;font-size:18px;}
.ds-avatar--info{color:var(--info);background:var(--info-soft);}
.ds-avatar--success{color:var(--success);background:var(--success-soft);}
.ds-avatar--danger{color:var(--danger);background:var(--danger-soft);}
.ds-avatar--vip{color:var(--tip);background:var(--tip-soft);}
.ds-avatar--neutral{color:var(--text-muted);background:var(--hover);}
.ds-avatar__status{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;
  border:2px solid var(--bg-card);}
.ds-avatar__status--online{background:var(--success);}
.ds-avatar__status--busy{background:var(--warning);}
.ds-avatar__status--offline{background:var(--text-faint);}


.ds-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;
  border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-card);
  cursor:pointer;font:var(--fw-medium) 12.5px var(--font);color:var(--text);
  transition:box-shadow var(--dur-fast),border-color var(--dur-fast);user-select:none;}
.ds-chip:hover{border-color:var(--text-faint);}
.ds-chip__dot{width:9px;height:9px;border-radius:50%;background:var(--chip-color,var(--text-light));
  transition:transform var(--dur-fast);flex-shrink:0;}
.ds-chip__meta{color:var(--text-light);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums;}
.ds-chip.is-on{border-color:var(--chip-color,var(--accent));
  box-shadow:inset 0 0 0 1px var(--chip-color,var(--accent));}
.ds-chip.is-on .ds-chip__dot{transform:scale(1.15);}
.ds-chip--sm{height:26px;padding:0 10px;font-size:12px;}


.ds-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;display:flex;flex-direction:column;gap:10px;}
.ds-kpi__label{font:var(--fw-semibold) 11.5px var(--font);color:var(--text-muted);
  text-transform:uppercase;letter-spacing:var(--ls-kicker);}
.ds-kpi__row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.ds-kpi__value{font:var(--fw-bold) 28px var(--font);color:var(--text);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1;}
.ds-kpi__delta{display:inline-flex;align-items:center;gap:3px;font:var(--fw-semibold) 12.5px var(--font);
  font-variant-numeric:tabular-nums;}
.ds-kpi__delta--up{color:var(--success);}
.ds-kpi__delta--down{color:var(--danger);}
.ds-kpi__delta--flat{color:var(--text-light);}
.ds-kpi__sub{font:var(--fw-regular) 12px var(--font);color:var(--text-light);}
.ds-kpi__bar{height:6px;border-radius:999px;background:var(--accent-soft);overflow:hidden;}
.ds-kpi__bar > i{display:block;height:100%;background:var(--accent);border-radius:999px;}


.ds-tbl{width:100%;border-collapse:collapse;font:var(--fw-regular) 13px var(--font);color:var(--text);}
.ds-tbl thead th{text-align:left;font:var(--fw-semibold) 11.5px var(--font);color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;border-bottom:1px solid var(--border);
  white-space:nowrap;background:var(--bg-card);}
.ds-tbl tbody td{padding:12px 14px;border-bottom:1px solid var(--divider);vertical-align:middle;}
.ds-tbl tbody tr:last-child td{border-bottom:0;}
.ds-tbl tbody tr{transition:background var(--dur-fast);}
.ds-tbl--hover tbody tr:hover{background:var(--hover);cursor:pointer;}
.ds-tbl--zebra tbody tr:nth-child(even){background:var(--hover);}
.ds-tbl--compact thead th{padding:8px 12px;}
.ds-tbl--compact tbody td{padding:8px 12px;}
.ds-tbl .num{text-align:right;font-variant-numeric:tabular-nums;}
.ds-tbl th.num{text-align:right;}
.ds-tbl th.is-sortable{cursor:pointer;user-select:none;}
.ds-tbl th.is-sortable:hover{color:var(--text);}
.ds-tbl__sort{display:inline-flex;align-items:center;gap:4px;}
.ds-tbl th.num .ds-tbl__sort{flex-direction:row-reverse;}
.ds-tbl__sort i{opacity:.35;display:inline-flex;}
.ds-tbl th.is-sorted .ds-tbl__sort i{opacity:1;color:var(--accent);}
.ds-tbl tfoot td{padding:12px 14px;border-top:1px solid var(--border);
  font:var(--fw-semibold) 13px var(--font);background:var(--hover);}
.ds-tbl tfoot td.num{text-align:right;font-variant-numeric:tabular-nums;}


.ds-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;
  border-radius:var(--radius-xs);font:var(--fw-semibold) 11.5px var(--font);
  border:1px solid transparent;white-space:nowrap;line-height:1;}
.ds-badge--neutral{background:var(--hover);color:var(--text-muted);border-color:var(--border);}
.ds-badge--accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line);}
.ds-badge--info{background:var(--info-soft);color:var(--info);border-color:var(--info-line);}
.ds-badge--success{background:var(--success-soft);color:var(--success);border-color:var(--success-line);}
.ds-badge--warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line);}
.ds-badge--danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line);}
.ds-badge--tip{background:var(--tip-soft);color:var(--tip);border-color:var(--tip-line);}
.ds-badge--solid{background:var(--text);color:#fff;border-color:var(--text);}
.ds-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
.ds-badge--sm{height:18px;padding:0 6px;font-size:10.5px;}


.ds-banner{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;
  border-radius:var(--radius);border:1px solid var(--accent-line);background:var(--accent-soft);}
.ds-banner__ico{flex-shrink:0;color:var(--accent);display:flex;}
.ds-banner__main{flex:1;min-width:0;}
.ds-banner__title{font:var(--fw-semibold) 13.5px var(--font);color:var(--text);}
.ds-banner__desc{font:var(--fw-regular) 12.5px var(--font);color:var(--text-muted);margin-top:2px;}
.ds-banner__cta{flex-shrink:0;}
.ds-banner--info{background:var(--info-soft);border-color:var(--info-line);}
.ds-banner--info .ds-banner__ico{color:var(--info);}
.ds-banner--success{background:var(--success-soft);border-color:var(--success-line);}
.ds-banner--success .ds-banner__ico{color:var(--success);}
.ds-banner--warning{background:var(--warning-soft);border-color:var(--warning-line);}
.ds-banner--warning .ds-banner__ico{color:var(--warning);}
.ds-banner--danger{background:var(--danger-soft);border-color:var(--danger-line);}
.ds-banner--danger .ds-banner__ico{color:var(--danger);}
@media(max-width:600px){.ds-banner{flex-direction:column;align-items:flex-start;}.ds-banner__cta{width:100%;}}


.ds-callout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius);
  border:1px solid var(--tip-line);background:var(--tip-soft);}
.ds-callout__ico{flex-shrink:0;color:var(--tip);margin-top:1px;}
.ds-callout__body{font:var(--fw-regular) 13px var(--font);color:var(--text);line-height:1.55;}
.ds-callout__title{font:var(--fw-semibold) 13px var(--font);margin-bottom:3px;}
.ds-callout__body b{font-weight:var(--fw-semibold);}
.ds-callout__body em{font-style:normal;font-weight:var(--fw-semibold);
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xs);
  padding:1px 6px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.ds-callout--info{background:var(--info-soft);border-color:var(--info-line);}
.ds-callout--info .ds-callout__ico{color:var(--info);}
.ds-callout--success{background:var(--success-soft);border-color:var(--success-line);}
.ds-callout--success .ds-callout__ico{color:var(--success);}
.ds-callout--warning{background:var(--warning-soft);border-color:var(--warning-line);}
.ds-callout--warning .ds-callout__ico{color:var(--warning);}
.ds-callout--danger{background:var(--danger-soft);border-color:var(--danger-line);}
.ds-callout--danger .ds-callout__ico{color:var(--danger);}
.ds-callout--inline{border:0;background:transparent;padding:6px 0;}


.ds-prog{width:100%;height:8px;border-radius:999px;background:var(--divider);overflow:hidden;}
.ds-prog--sm{height:6px;}
.ds-prog--lg{height:12px;}
.ds-prog__fill{height:100%;border-radius:999px;background:var(--accent);
  transition:width var(--dur-base) var(--ease);}
.ds-prog--success .ds-prog__fill{background:var(--success);}
.ds-prog--warning .ds-prog__fill{background:var(--warning);}
.ds-prog--danger .ds-prog__fill{background:var(--danger);}
.ds-prog-row{display:flex;align-items:center;gap:12px;}
.ds-prog-row__label{font:var(--fw-medium) 12.5px var(--font);color:var(--text-muted);
  width:140px;flex-shrink:0;}
.ds-prog-row .ds-prog{flex:1;}
.ds-prog-row__val{font:var(--fw-semibold) 12.5px var(--font);color:var(--text);
  width:48px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums;}


.ds-toast{position:relative;display:flex;gap:11px;align-items:flex-start;width:380px;max-width:100%;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-md);padding:13px 14px 13px 15px;overflow:hidden;}
.ds-toast::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--info);}
.ds-toast--success::before{background:var(--success);}
.ds-toast--warning::before{background:var(--warning);}
.ds-toast--danger::before{background:var(--danger);}
.ds-toast__ico{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;color:#fff;background:var(--info);}
.ds-toast--success .ds-toast__ico{background:var(--success);}
.ds-toast--warning .ds-toast__ico{background:var(--warning);}
.ds-toast--danger .ds-toast__ico{background:var(--danger);}
.ds-toast__main{flex:1;min-width:0;}
.ds-toast__title{font:var(--fw-semibold) 13px var(--font);color:var(--text);}
.ds-toast__desc{font:var(--fw-regular) 12.5px var(--font);color:var(--text-muted);margin-top:2px;}
.ds-toast__action{margin-top:7px;font:var(--fw-semibold) 12.5px var(--font);color:var(--accent);
  background:none;border:0;cursor:pointer;padding:0;}
.ds-toast__action:hover{text-decoration:underline;}
.ds-toast__close{border:0;background:transparent;color:var(--text-light);cursor:pointer;
  padding:3px;border-radius:var(--radius-xs);display:flex;flex-shrink:0;}
.ds-toast__close:hover{background:var(--hover);color:var(--text);}


.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;
  padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);
  background:var(--bg-card);color:var(--text);font:var(--fw-semibold) 13px var(--font);
  cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),
  border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast);}
.ds-btn:hover{background:var(--hover);border-color:var(--text-faint);}
.ds-btn:active{transform:translateY(.5px);}
.ds-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}
.ds-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.ds-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);}
.ds-btn--primary:focus-visible{box-shadow:var(--focus-ring-accent);}
.ds-btn--ghost{background:transparent;border-color:transparent;color:var(--text-muted);}
.ds-btn--ghost:hover{background:var(--hover);color:var(--text);border-color:transparent;}
.ds-btn--danger{background:var(--danger);color:#fff;border-color:var(--danger);}
.ds-btn--danger:hover{filter:brightness(.94);}
.ds-btn--link{background:transparent;border-color:transparent;color:var(--accent);height:auto;padding:2px 0;}
.ds-btn--link:hover{background:transparent;text-decoration:underline;border-color:transparent;}
.ds-btn--sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:var(--radius-sm);}
.ds-btn--lg{height:42px;padding:0 18px;font-size:14px;}
.ds-btn--icon{padding:0;width:36px;}
.ds-btn--icon.ds-btn--sm{width:30px;}
.ds-btn--icon.ds-btn--lg{width:42px;}
.ds-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none;}
.ds-btn--loading{position:relative;color:transparent !important;pointer-events:none;}
.ds-btn__spin{position:absolute;width:15px;height:15px;border:2px solid currentColor;
  border-right-color:transparent;border-radius:50%;animation:ds-spin .6s linear infinite;}
.ds-btn--primary .ds-btn__spin,.ds-btn--danger .ds-btn__spin{color:#fff;}
@keyframes ds-spin{to{transform:rotate(360deg);}}


.ds-cbx{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;}
.ds-cbx input{position:absolute;opacity:0;width:0;height:0;}
.ds-cbx__box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-strong);
  background:var(--bg-card);display:flex;align-items:center;justify-content:center;
  color:#fff;transition:background var(--dur-fast),border-color var(--dur-fast);flex-shrink:0;}
.ds-cbx__box svg{opacity:0;transition:opacity var(--dur-fast);}
.ds-cbx input:checked + .ds-cbx__box{background:var(--text);border-color:var(--text);}
.ds-cbx input:checked + .ds-cbx__box svg{opacity:1;}
.ds-cbx input:focus-visible + .ds-cbx__box{box-shadow:var(--focus-ring);}
.ds-cbx__label{font:var(--fw-regular) 13px var(--font);color:var(--text);}
.ds-cbx--off{opacity:.5;cursor:not-allowed;}


.ds-field{display:flex;flex-direction:column;gap:6px;}
.ds-field__label{font:var(--fw-medium) 12.5px var(--font);color:var(--text-muted);}
.ds-field__wrap{display:flex;align-items:center;background:var(--bg-card);
  border:1px solid var(--border-strong);border-radius:var(--radius-xs);
  transition:box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast);}
.ds-field__wrap:focus-within{border-color:var(--text-light);box-shadow:var(--focus-ring);}
.ds-field--err .ds-field__wrap{border-color:var(--danger);}
.ds-field--err .ds-field__wrap:focus-within{box-shadow:0 0 0 3px rgba(220,38,38,.14);}
.ds-field__prefix{padding:0 4px 0 12px;color:var(--text-muted);font:var(--fw-medium) 13.5px var(--font);
  display:flex;align-items:center;gap:6px;}
.ds-field__ico{padding-left:12px;color:var(--text-light);display:flex;}
.ds-field__input{flex:1;min-width:0;height:38px;border:0;background:transparent;outline:none;
  padding:0 12px;font:var(--fw-regular) 13.5px var(--font);color:var(--text);}
.ds-field__input::placeholder{color:var(--text-light);}
.ds-field__input:disabled{cursor:not-allowed;color:var(--text-light);}
.ds-field__prefix + .ds-field__input{padding-left:2px;}
.ds-field__ico + .ds-field__input{padding-left:8px;}
.ds-field__msg{font:var(--fw-regular) 12px var(--font);color:var(--text-light);}
.ds-field--err .ds-field__msg{color:var(--danger);}


.ds-search{position:relative;display:flex;align-items:center;background:var(--bg-card);
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);height:38px;width:100%;
  transition:box-shadow var(--dur-fast),border-color var(--dur-fast);}
.ds-search:focus-within{border-color:var(--text-light);box-shadow:var(--focus-ring);}
.ds-search__icon{padding-left:12px;color:var(--text-light);display:flex;}
.ds-search__input{flex:1;min-width:0;border:0;outline:none;background:transparent;height:100%;
  padding:0 10px;font:var(--fw-regular) 13.5px var(--font);color:var(--text);}
.ds-search__input::placeholder{color:var(--text-light);}
.ds-search__kbd{margin-right:10px;font:var(--fw-semibold) 11px var(--font);color:var(--text-light);
  background:var(--hover);border:1px solid var(--border);border-radius:var(--radius-xs);
  padding:2px 6px;white-space:nowrap;}
.ds-search__clear{margin-right:8px;border:0;background:transparent;color:var(--text-light);
  cursor:pointer;display:flex;padding:4px;border-radius:var(--radius-xs);}
.ds-search__clear:hover{background:var(--hover);color:var(--text);}


.ds-sel{display:flex;flex-direction:column;gap:6px;}
.ds-sel__label{font:var(--fw-medium) 12.5px var(--font);color:var(--text-muted);}
.ds-sel__wrap{position:relative;display:flex;align-items:center;}
.ds-sel__el{appearance:none;-webkit-appearance:none;width:100%;height:38px;
  padding:0 36px 0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);
  background:var(--bg-card);color:var(--text);font:var(--fw-regular) 13.5px var(--font);
  cursor:pointer;outline:none;transition:box-shadow var(--dur-fast),border-color var(--dur-fast);}
.ds-sel__el:focus-visible{border-color:var(--text-light);box-shadow:var(--focus-ring);}
.ds-sel__el:disabled{cursor:not-allowed;color:var(--text-light);}
.ds-sel__chev{position:absolute;right:11px;color:var(--text-muted);pointer-events:none;}


.ds-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;}
.ds-toggle__track{position:relative;width:36px;height:20px;border-radius:999px;
  background:var(--text-faint);transition:background var(--dur-base) var(--ease);flex-shrink:0;}
.ds-toggle__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.2);transition:transform var(--dur-base) var(--ease);}
.ds-toggle input{position:absolute;opacity:0;width:0;height:0;}
.ds-toggle input:checked + .ds-toggle__track{background:var(--success);}
.ds-toggle input:checked + .ds-toggle__track .ds-toggle__knob{transform:translateX(16px);}
.ds-toggle input:focus-visible + .ds-toggle__track{box-shadow:var(--focus-ring);}
.ds-toggle__label{font:var(--fw-medium) 13px var(--font);color:var(--text);}
.ds-toggle--off{opacity:.5;cursor:not-allowed;}


.ds-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);
  padding:var(--card-pad);}
.ds-card--flush{padding:0;}
.ds-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  margin-bottom:16px;}
.ds-card__titles{min-width:0;}
.ds-card__kicker{font:var(--fw-semibold) 11.5px var(--font);color:var(--text-muted);
  text-transform:uppercase;letter-spacing:var(--ls-kicker);}
.ds-card__title{font:var(--fw-semibold) 14px var(--font);color:var(--text);letter-spacing:-.005em;}
.ds-card__desc{font:var(--fw-regular) 12.5px var(--font);color:var(--text-muted);margin-top:4px;line-height:1.5;}
.ds-card__tools{display:flex;align-items:center;gap:6px;flex-shrink:0;}


.ds-drawer-ov{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:1000;
  display:flex;justify-content:flex-end;animation:ds-fade var(--dur-base) var(--ease);}
.ds-drawer{width:480px;max-width:calc(100vw - 40px);height:100%;background:var(--bg-card);
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;
  animation:ds-slide var(--dur-base) var(--ease);}
@keyframes ds-slide{from{transform:translateX(100%);}to{transform:none;}}
.ds-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px;border-bottom:1px solid var(--divider);flex-shrink:0;}
.ds-drawer__title{font:var(--fw-semibold) 16px var(--font);color:var(--text);letter-spacing:-.01em;}
.ds-drawer__sub{font:var(--fw-regular) 12.5px var(--font);color:var(--text-muted);margin-top:3px;}
.ds-drawer__body{padding:20px;overflow-y:auto;flex:1;}
.ds-drawer__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;
  border-top:1px solid var(--divider);flex-shrink:0;}
.ds-drawer-ov .ds-x{border:0;background:transparent;color:var(--text-light);cursor:pointer;
  padding:5px;border-radius:var(--radius-xs);display:flex;}
.ds-drawer-ov .ds-x:hover{background:var(--hover);color:var(--text);}
@media(max-width:600px){.ds-drawer{width:100%;max-width:100%;}}


.ds-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:1000;
  display:flex;animation:ds-fade var(--dur-base) var(--ease);}
@keyframes ds-fade{from{opacity:0;}to{opacity:1;}}
.ds-modal{margin:auto;width:480px;max-width:calc(100vw - 32px);background:var(--bg-card);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;
  animation:ds-pop var(--dur-base) var(--ease);}
.ds-modal--sm{width:380px;}.ds-modal--lg{width:640px;}
@keyframes ds-pop{from{opacity:0;transform:translateY(8px) scale(.99);}to{opacity:1;transform:none;}}
.ds-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px;border-bottom:1px solid var(--divider);}
.ds-modal__title{font:var(--fw-semibold) 16px var(--font);color:var(--text);letter-spacing:-.01em;}
.ds-modal__body{padding:20px;font:var(--fw-regular) 13.5px var(--font);color:var(--text);line-height:1.6;}
.ds-modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;
  border-top:1px solid var(--divider);background:var(--hover);}
.ds-x{border:0;background:transparent;color:var(--text-light);cursor:pointer;padding:5px;
  border-radius:var(--radius-xs);display:flex;}
.ds-x:hover{background:var(--hover);color:var(--text);}
@media(max-width:600px){.ds-overlay{align-items:flex-end;}.ds-modal{width:100%;max-width:100%;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:ds-up var(--dur-base) var(--ease);}}
@keyframes ds-up{from{transform:translateY(100%);}to{transform:none;}}


.ds-stepper{display:flex;align-items:center;gap:0;}
.ds-step{display:inline-flex;align-items:center;gap:9px;}
.ds-step__num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;font:var(--fw-semibold) 12.5px var(--font);
  border:1.5px solid var(--border-strong);color:var(--text-light);background:var(--bg-card);}
.ds-step__label{font:var(--fw-semibold) 13px var(--font);color:var(--text-light);white-space:nowrap;}
.ds-step.is-active .ds-step__num{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.ds-step.is-active .ds-step__label{color:var(--text);}
.ds-step.is-done .ds-step__num{border-color:var(--accent);background:var(--accent);color:#fff;}
.ds-step.is-done .ds-step__label{color:var(--text-muted);}
.ds-step__bar{flex:1;height:1.5px;background:var(--border-strong);margin:0 14px;min-width:28px;}
.ds-step__bar.is-done{background:var(--accent);}


/* underline tabs */
.ds-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);}
.ds-tabs__tab{position:relative;display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;border:0;background:none;cursor:pointer;
  font:var(--fw-semibold) 13px var(--font);color:var(--text-muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast);}
.ds-tabs__tab:hover{color:var(--text);}
.ds-tabs__tab.is-on{color:var(--text);border-bottom-color:var(--accent);}
.ds-tabs__count{font:var(--fw-semibold) 11px var(--font);background:var(--hover);
  border:1px solid var(--border);border-radius:999px;padding:1px 7px;color:var(--text-muted);}
.ds-tabs__tab.is-on .ds-tabs__count{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);}
/* segmented */
.ds-seg{display:inline-flex;gap:2px;padding:3px;background:var(--divider);border-radius:var(--radius-sm);}
.ds-seg__tab{border:0;background:transparent;cursor:pointer;padding:6px 14px;border-radius:6px;
  font:var(--fw-semibold) 12.5px var(--font);color:var(--text-muted);transition:all var(--dur-fast);}
.ds-seg__tab:hover{color:var(--text);}
.ds-seg__tab.is-on{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-sm);}
