:root{
  --ds-radius-xs:10px;
  --ds-radius-sm:12px;
  --ds-radius-md:16px;
  --ds-radius-lg:20px;
  --ds-radius-xl:24px;
  --ds-space-1:4px;
  --ds-space-2:8px;
  --ds-space-3:12px;
  --ds-space-4:16px;
  --ds-space-5:20px;
  --ds-space-6:24px;
  --ds-shadow-soft:0 14px 34px rgba(2,6,23,.18);
  --ds-border:1px solid var(--line, rgba(255,255,255,.10));
}
*{box-sizing:border-box}
html,body{min-height:100%}
.hidden{display:none !important}
.card,.ds-card{border-radius:var(--ds-radius-lg);border:var(--ds-border);box-shadow:var(--ds-shadow-soft)}
.btn,.ds-btn{border-radius:var(--ds-radius-sm);min-height:40px;padding:0 14px;font-weight:800}
.input,.select,textarea{border-radius:var(--ds-radius-sm)}
.tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px}
.ds-state{display:grid;gap:8px;align-items:center;justify-items:center;text-align:center;padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.ds-state-title{font-size:14px;font-weight:900;color:var(--text)}
.ds-state-text{font-size:12px;line-height:1.5}
.ds-table-wrap{overflow:auto}
.ds-table{width:100%;border-collapse:separate;border-spacing:0}
.ds-table th,.ds-table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;vertical-align:top}
.ds-table thead th{font-weight:900;background:rgba(255,255,255,.04);position:sticky;top:0;z-index:1}
