/**
 * 全站设计 token（颜色 / 间距 / 字体 / 布局 / 按钮控件）
 * 加载顺序：tokens.css → shared.css → 域/页 CSS
 * 基准：slate 中性灰 + blue-500 主色（Tailwind 语汇，非组件库）
 * 说明见 docs/design-tokens.md · 续做 docs/admin-visual-unification.md
 */
:root {
    /* ── 颜色（新中性基准；语义色 emerald/red/amber 同族，见 semantic-color-unification.md） ── */
    --primary-color: #3b82f6;
    --primary-hover: #2563eb;
    --primary-active: #1d4ed8;
    --success-color: #10b981;
    --success-hover: #059669;
    --danger-color: #ef4444;
    --danger-hover: #dc2626;
    --warning-color: #f59e0b;
    --warning-hover: #d97706;
    --info-color: #64748b;
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-light: #64748b;
    --border-color: #cbd5e1;
    --border-light: #e2e8f0;
    --bg-light: #f8fafc;
    --bg-white: #ffffff;

    /* ── 间距 ── */
    --spacing-xs: 4px;
    --spacing-1: 1px;
    --spacing-2xs: 2px;
    --spacing-3xs: 3px;
    --spacing-5: 5px;
    --spacing-s: 6px;
    --spacing-sm: 8px;
    --spacing-9: 9px;
    --spacing-sm-plus: 10px;
    --spacing-md-minus: 12px;
    --spacing-14: 14px;
    --spacing-18: 18px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;

    /* ── 圆角 / 阴影 ── */
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 12px;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 2px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.15);

    /* ── 字体 ── */
    --font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    --font-size-2xs: 10px;
    --font-size-xs: 11px;
    --font-size-sm: 12px;
    --font-size-body: 13px;
    --font-size-md: 14px;
    --font-size-lg: 16px;
    --font-size-subtitle: 15px;
    --font-size-section: 18px;
    --font-size-heading: 20px;
    --font-size-display-sm: 22px;
    --font-size-empty-icon: 48px;
    --font-size-empty-icon-md: 40px;
    --font-size-empty-icon-sm: 32px;
    --font-size-kpi: 26px;
    --font-size-kpi-lg: 28px;
    --font-size-xl: 24px;
    --line-height-tight: 1;
    --line-height-xs: 1.25;
    --line-height-sm: 1.35;
    --line-height-md: 1.45;
    --line-height-lg: 1.55;

    /* ── 过渡 ── */
    --transition: all 0.3s ease;

    /* ── 按钮 / 表单控件（Admin 工具栏、筛选行） ── */
    /* 默认 32 · 页级主操作 36 · btn-sm / 行内 28 · btn-xs 24 */
    --admin-control-height: 32px;
    --admin-control-height-lg: 36px;
    --admin-control-height-sm: 28px;
    --admin-control-height-xs: 24px;
    --admin-control-padding-x: 12px;
    --admin-control-radius: 6px;
    --admin-width-xs: 80px;
    --admin-width-sm: 120px;
    --admin-width-md: 180px;
    --admin-width-lg: 200px;
    --admin-width-xl: 250px;

    /* ── Admin iframe 子页边距 ── */
    --admin-page-pad-top: clamp(10px, 1.6vw, 18px);
    --admin-page-pad-x: clamp(12px, 2.0vw, 22px);
    --admin-page-pad-bottom: clamp(12px, 2.0vw, 22px);
    --admin-page-title-size: 17px;

    /* ── 卡片 / 表格 ── */
    --card-bg: #ffffff;
    --card-border: var(--border-light);
    --card-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    --card-shadow-hover: 0 4px 16px rgba(15, 23, 42, 0.1);
    --section-bg: #f1f5f9;
    --table-stripe: #f8fafc;
    --table-hover: rgba(59, 130, 246, 0.08);

    /* ── 侧栏 / 耳卡导航（Phase B 替换裸 hex） ── */
    --admin-nav-active-bg: #eff6ff;
    --admin-nav-hover-bg: #f1f5f9;
    --focus-ring: rgba(59, 130, 246, 0.18);

    /* ── 语义色浅底（chip / badge / 行高亮，与 toast 同族） ── */
    --success-soft-bg: #ecfdf5;
    --success-soft-border: #a7f3d0;
    --danger-soft-bg: #fef2f2;
    --danger-soft-border: #fecaca;
    --warning-soft-bg: #fffbeb;
    --warning-soft-border: #fde68a;

    /* ── 侧栏壳（admin/index、tools/index） ── */
    --page-header-h: 52px;
    --page-sidebar-width: 232px;
    --page-sidebar-collapsed-width: 56px;

    /* ── 客户端列表页别名（index.css 等，映射到主 token） ── */
    --primary: var(--primary-color);
    --bg: var(--bg-light);
    --panel: var(--bg-white);
    --text: var(--text-primary);
    --accent: var(--danger-color);
    --success: var(--success-color);
    --warning: var(--warning-color);
    --border: var(--border-light);
    --hover: rgba(59, 130, 246, 0.1);
    /* 悬停别名（见 docs/hover-ui-unification.md） */
    --menu-item-hover-bg: var(--hover);
    --group-row-hover-bg: var(--admin-nav-active-bg);
    --group-row-hover-bg-nested: var(--section-bg);
    --primary-border-subtle: rgba(59, 130, 246, 0.22);
    --primary-border-emphasis: rgba(59, 130, 246, 0.45);

    /* ── Toast / 提示语义色（浅底 + 描边 + 正文；emerald/red/amber 同族） ── */
    --toast-success-bg: var(--success-soft-bg);
    --toast-success-border: var(--success-soft-border);
    --toast-success-text: #047857;
    --toast-error-bg: var(--danger-soft-bg);
    --toast-error-border: var(--danger-soft-border);
    --toast-error-text: #b91c1c;
    --toast-warning-bg: var(--warning-soft-bg);
    --toast-warning-border: var(--warning-soft-border);
    --toast-warning-text: #b45309;
    --toast-info-bg: #eff6ff;
    --toast-info-border: #bfdbfe;
    --toast-info-text: #1e40af;

    /* ── 共享 Badge 语义色 ── */
    --share-received-color: #722ed1;
    --share-received-bg: rgba(114, 46, 209, 0.10);
    --share-received-border: rgba(114, 46, 209, 0.22);
    --share-role-to-bg: #e6f4ff;
    --share-role-to-border: #91caff;
    --share-role-cc-bg: #fafafa;
    --share-role-cc-border: #d9d9d9;
    --share-interaction-pending-border: rgba(250, 173, 20, 0.35);
    --share-interaction-edited-border: rgba(82, 196, 26, 0.35);
    --share-interaction-merged-color: #389e0d;
    --share-interaction-merged-bg: rgba(82, 196, 26, 0.14);
    --share-interaction-merged-border: rgba(82, 196, 26, 0.4);
    --share-interaction-saved-color: #13c2c2;
    --share-interaction-saved-bg: rgba(19, 194, 194, 0.12);
    --share-interaction-saved-border: rgba(19, 194, 194, 0.28);
    --share-interaction-untouched-bg: rgba(0, 0, 0, 0.04);
    --share-interaction-untouched-border: rgba(0, 0, 0, 0.08);
}

@media (prefers-color-scheme: dark) {
    :root {
        --primary-color: #60a5fa;
        --primary-hover: #3b82f6;
        --primary-active: #2563eb;
        --text-primary: #f1f5f9;
        --text-secondary: #cbd5e1;
        --text-light: #94a3b8;
        --border-color: #475569;
        --border-light: #334155;
        --bg-light: #0f172a;
        --bg-white: #1e293b;
        --card-bg: #1e293b;
        --card-border: #334155;
        --section-bg: #334155;
        --table-stripe: #1e293b;
        --table-hover: rgba(96, 165, 250, 0.12);
        --admin-nav-active-bg: rgba(59, 130, 246, 0.18);
        --admin-nav-hover-bg: #334155;
        --focus-ring: rgba(96, 165, 250, 0.28);
        --hover: rgba(96, 165, 250, 0.12);
        --success-soft-bg: rgba(16, 185, 129, 0.12);
        --success-soft-border: rgba(16, 185, 129, 0.35);
        --danger-soft-bg: rgba(239, 68, 68, 0.12);
        --danger-soft-border: rgba(239, 68, 68, 0.35);
        --warning-soft-bg: rgba(245, 158, 11, 0.12);
        --warning-soft-border: rgba(245, 158, 11, 0.35);
        --toast-success-text: #6ee7b7;
        --toast-error-text: #fca5a5;
        --toast-warning-text: #fcd34d;
        --toast-info-bg: rgba(59, 130, 246, 0.15);
        --toast-info-border: rgba(59, 130, 246, 0.35);
        --toast-info-text: #93c5fd;
        --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.25);
        --shadow-md: 0 2px 12px rgba(0, 0, 0, 0.35);
        --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    }
}
