:root{--primary-color: #2457d6;--primary-dark: #183d99;--primary-gradient: linear-gradient(135deg, #2457d6 0%, #173f9f 100%);--primary-light: #bfcef6;--primary-bg: #e8efff;--success-color: #1f8f5f;--success-dark: #146341;--success-gradient: linear-gradient(135deg, #239767 0%, #146341 100%);--success-bg: #e7f6ee;--warning-color: #b86a12;--warning-dark: #8d4f0d;--warning-bg: #fff3df;--danger-color: #c74747;--danger-dark: #983030;--danger-gradient: linear-gradient(135deg, #d25555 0%, #ac3434 100%);--danger-bg: #fdecec;--neutral-color: #475569;--neutral-dark: #334155;--neutral-bg: #eef2f7;--bg-primary: #f7f9fc;--bg-secondary: #edf2f7;--bg-card: #ffffff;--text-primary: #152033;--text-secondary: #344256;--text-tertiary: #5f6f83;--text-muted: #94a3b8;--border-light: #dbe3ee;--border-medium: #c0ccda;--border-dark: #94a3b8;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 25px;--spacing-2xl: 30px;--radius-sm: 5px;--radius-md: 5px;--radius-lg: 5px;--radius-xl: 5px;--radius-2xl: 5px;--radius-full: 9999px;--control-height: 36px;--control-height-lg: 40px;--card-padding: 15px;--section-padding: 15px;--modal-max-width-small: 560px;--modal-max-width-medium: 760px;--modal-max-width-large: 1080px;--shadow-sm: 0 1px 2px rgb(15 23 42 / .05), 0 1px 3px rgb(15 23 42 / .08);--shadow-md: 0 8px 18px rgb(15 23 42 / .08);--shadow-lg: 0 14px 30px rgb(15 23 42 / .1);--shadow-xl: 0 24px 48px rgb(15 23 42 / .14);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .4s ease-in-out;--font-sans: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono: "DejaVu Sans Mono", "Liberation Mono", "SFMono-Regular", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);line-height:var(--leading-normal)}button,input,select,textarea{font:inherit}button,input,select,textarea{min-height:var(--control-height);border-radius:var(--radius-md)}table{width:100%;border-collapse:separate;border-spacing:0}thead th{position:sticky;top:0;z-index:5}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full);transition:background var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.slide-down{animation:slideDown var(--transition-normal)}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.spin{animation:spin 1s linear infinite}.global-status,.status-badge,.role-status,.badge-success,.badge-danger,.badge-warning{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;line-height:1;border:1px solid transparent}.global-status.enabled,.global-status.active,.global-status.success,.role-status.enabled,.badge-success{background:var(--success-bg);color:var(--success-dark);border-color:#1f8f5f2e}.global-status.disabled,.global-status.inactive,.global-status.danger,.role-status.disabled,.badge-danger{background:var(--danger-bg);color:var(--danger-dark);border-color:#c7474729}.global-status.warning,.badge-warning{background:var(--warning-bg);color:var(--warning-dark);border-color:#b86a1229}.global-status.neutral{background:var(--neutral-bg);color:var(--neutral-dark);border-color:#47556924}.time-text,.time,.log-time,.history-time,.conclusion-time,.info-value.time-value,.meta-item.time-text{font-family:var(--font-mono);font-size:inherit;letter-spacing:0;font-variant-numeric:tabular-nums}.modal-surface,.custom-alert-container,.role-modal,.modal-container,.page-shell,.page-panel,.card,.add-record-card,.chart-card,.stat-card,.role-table-wrap,.feedback-group,.compact-section{border-radius:var(--radius-lg)}.page-shell,.page-panel,.card,.add-record-card,.chart-card,.stat-card,.compact-section{padding:var(--card-padding)}.table-compact th,.table-compact td,.role-table th,.role-table td,.params-table th,.params-table td,.ai-model-table th,.ai-model-table td{padding:10px 12px;font-size:var(--text-sm);vertical-align:middle}.table-compact th,.role-table th,.params-table th,.ai-model-table th{background:#f7f9fc;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-light)}button[class*=btn],button[class*=button],a[class*=btn],a[class*=button]{min-height:var(--control-height);border-radius:var(--radius-md);align-items:center;justify-content:center}input,select,textarea,.setting-input,.setting-select,.role-input,.compact-input,.compact-select,.search-input{border-radius:var(--radius-md)!important}.card,[class*=card],[class*=panel],[class*=section],[class*=container],[class*=modal],[class*=dialog]{border-radius:var(--radius-lg)}[class*=card],[class*=panel],[class*=section]{scrollbar-gutter:stable}
