/*
 * UU 工作坊通用 UI 规范
 * 页面只定义业务布局；颜色、间距、控件、状态和动效统一从这里取值。
 */
:root{
  --ui-brand-1:var(--theme-a,#6f3ff0);
  --ui-brand-2:var(--theme-b,#12bdd0);
  --ui-brand-gradient:linear-gradient(135deg,var(--ui-brand-1),var(--ui-brand-2));
  --ui-text-1:#252039;
  --ui-text-2:#625c70;
  --ui-text-3:#8c8796;
  --ui-surface:#fff;
  --ui-surface-soft:color-mix(in srgb,var(--ui-brand-1) 5%,#fff);
  --ui-line:color-mix(in srgb,var(--ui-brand-1) 13%,#e2e3ea);
  --ui-success:#218f69;
  --ui-warning:#b87412;
  --ui-danger:#df5c57;
  --ui-radius-xs:8px;
  --ui-radius-sm:10px;
  --ui-radius-md:14px;
  --ui-radius-lg:18px;
  --ui-shadow-sm:0 8px 22px rgba(42,34,69,.06);
  --ui-shadow-md:0 16px 40px rgba(42,34,69,.10);
  --ui-control-h:42px;
  --ui-space-1:6px;
  --ui-space-2:10px;
  --ui-space-3:14px;
  --ui-space-4:18px;
  --ui-space-5:24px;
  --ui-ease:cubic-bezier(.2,.8,.2,1);
}

/* Shared cards and panels */
.card,.rr-config-list,.rr-config-editor,.dv-rule-list,.dv-rule-editor,.dv-help-content{
  border-color:var(--ui-line)!important;
  border-radius:var(--ui-radius-lg)!important;
  background:var(--ui-surface);
  box-shadow:var(--ui-shadow-sm);
}

/* Shared buttons. Existing semantic classes automatically inherit one system. */
button,.ui-button{
  font-family:inherit;
  transition:
    color .18s var(--ui-ease),background .18s var(--ui-ease),
    border-color .18s var(--ui-ease),box-shadow .18s var(--ui-ease),
    transform .18s var(--ui-ease);
}
button:not(:disabled):active,.ui-button:not(:disabled):active{transform:translateY(1px)}
button:focus-visible,.ui-button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--ui-brand-1) 22%,transparent);
  outline-offset:2px;
}
.primary,.ui-button--primary{
  min-height:var(--ui-control-h);
  border:0!important;border-radius:var(--ui-radius-sm)!important;
  background:var(--ui-brand-gradient)!important;color:#fff!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--ui-brand-1) 22%,transparent);
  font-weight:800;
}
.primary:hover,.ui-button--primary:hover{
  box-shadow:0 13px 28px color-mix(in srgb,var(--ui-brand-1) 30%,transparent);
  transform:translateY(-1px);
}
.light,.ui-button--secondary{
  min-height:var(--ui-control-h);
  border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius-sm)!important;
  background:#fff!important;color:var(--ui-text-1)!important;
  box-shadow:none!important;font-weight:750;
}
.light:hover,.ui-button--secondary:hover{
  border-color:color-mix(in srgb,var(--ui-brand-1) 38%,var(--ui-line))!important;
  background:var(--ui-surface-soft)!important;color:var(--ui-brand-1)!important;
}
.danger-lite,.ui-button--danger{
  min-height:var(--ui-control-h);
  border:1px solid color-mix(in srgb,var(--ui-danger) 35%,#fff)!important;
  border-radius:var(--ui-radius-sm)!important;background:#fff!important;color:var(--ui-danger)!important;
}
.danger-lite:hover,.ui-button--danger:hover{background:color-mix(in srgb,var(--ui-danger) 7%,#fff)!important}
button:disabled,.ui-button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none!important}

/* Shared fields and dropdowns */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
textarea,select,.select,.ui-field{
  box-sizing:border-box;
  border:1px solid var(--ui-line)!important;
  border-radius:var(--ui-radius-sm)!important;
  background:#fff!important;color:var(--ui-text-1)!important;
  font-family:inherit;box-shadow:none!important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
select,.select,.ui-field{min-height:var(--ui-control-h)}
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
textarea,select{padding:10px 12px}
input:focus,textarea:focus,select:focus,.select:focus-visible,.ui-field:focus{
  outline:0!important;
  border-color:color-mix(in srgb,var(--ui-brand-1) 66%,var(--ui-line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-brand-1) 12%,transparent)!important;
}
textarea{line-height:1.65;resize:vertical}
select{
  appearance:none;
  padding-right:38px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--ui-text-3) 50%),
    linear-gradient(135deg,var(--ui-text-3) 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important;
  background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;
}
label{color:var(--ui-text-2)}

/* Shared tabs, chips, status and checkbox/radio controls */
.tabs,.users-tabs,.rr-config-domains,.rr-config-subtabs,.ui-tabs{
  border-color:var(--ui-line)!important;
}
.chip,.filters button,.rr-config-domains button,.rr-config-subtabs button,.ui-chip{
  border-radius:var(--ui-radius-sm)!important;
}
.chip.active,.filters button.active,.rr-config-domains button.active,.rr-config-subtabs button.active,.ui-chip.is-active{
  border-color:transparent!important;background:var(--ui-brand-gradient)!important;color:#fff!important;
}
.status-tag,.ready,.ui-status{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:24px;padding:0 9px;border-radius:999px;
  background:color-mix(in srgb,var(--ui-success) 9%,#fff);color:var(--ui-success);
  font-size:10px;font-weight:750;
}
input[type="checkbox"],input[type="radio"]{
  width:17px;height:17px;accent-color:var(--ui-brand-1);
}

/* Shared popovers and motion */
.rr-dropdown-menu,.dv-export-menu,.ui-popover{
  border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius-md)!important;
  background:rgba(255,255,255,.98)!important;box-shadow:var(--ui-shadow-md)!important;
  backdrop-filter:blur(16px);
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  button,.ui-button{transition:none!important}
}
