:root{--color-brand-primary:#1677ff;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border-secondary:#eef1f6;--color-surface-app:#f5f7fb;--color-surface-card:#fff;--color-surface-subtle:#f7f9fc;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a0f, 0 2px 6px #0f172a0d;--shadow-lg:0 12px 32px #0f172a1a, 0 4px 12px #0f172a0f;--gradient-brand:linear-gradient(135deg, #4f8cff 0%, #1677ff 55%, #0e5fe0 100%);--font-family-base:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--motion-duration-fast:.16s;--motion-duration-normal:.2s;--motion-duration-slow:.24s;--motion-easing:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}body{font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-surface-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px}#root{min-height:100vh}.tabular-nums{font-variant-numeric:tabular-nums}.brand-mark,.user-menu-trigger,.top-nav__menu-btn{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.brand-mark{flex-shrink:0;align-items:center;display:inline-flex}.user-menu-trigger{transition:background var(--motion-duration-fast) var(--motion-easing), box-shadow var(--motion-duration-fast) var(--motion-easing);border-radius:8px;align-items:center;padding:4px 8px;display:inline-flex}.user-menu-trigger:hover{background:var(--color-surface-subtle)}.user-menu-trigger__name{color:var(--color-text-primary);font-weight:500}.top-nav__inner{align-items:center;display:flex}.top-nav-menu{flex:1;justify-content:flex-start;min-width:0;line-height:54px}.top-nav-menu.ant-menu-horizontal>.ant-menu-item,.top-nav-menu.ant-menu-horizontal>.ant-menu-submenu{padding-inline:16px}.top-nav-menu.ant-menu-horizontal>.ant-menu-item-selected,.top-nav-menu.ant-menu-horizontal>.ant-menu-submenu-selected>.ant-menu-submenu-title{background:0 0!important}.top-nav__menu-btn{width:36px;height:36px;color:var(--color-text-primary);border-radius:8px;justify-content:center;align-items:center;margin-left:auto;margin-right:8px;display:inline-flex}.top-nav__menu-btn:hover{background:var(--color-surface-subtle)}@media (width<=767px){.user-menu-trigger__name,.user-menu-trigger__role,.brand-mark .ant-typography{display:none}}@media (width>=768px){.top-nav__menu-btn{display:none}}.surface-card{background:var(--color-surface-card);box-shadow:var(--shadow-sm);transition:transform var(--motion-duration-normal) var(--motion-easing), box-shadow var(--motion-duration-normal) var(--motion-easing);border-radius:12px;padding:20px}.surface-card--interactive{cursor:pointer}.surface-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.surface-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.surface-card__header-main{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.surface-card__extra{flex-shrink:0;align-self:flex-start}.surface-card__icon{width:40px;height:40px;color:var(--color-brand-primary);background:#eef4ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.stat-card{background:var(--color-surface-card);box-shadow:var(--shadow-sm);text-align:left;width:100%;transition:transform var(--motion-duration-normal) var(--motion-easing), box-shadow var(--motion-duration-normal) var(--motion-easing), border-color var(--motion-duration-normal) var(--motion-easing);border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;display:flex}button.stat-card{cursor:pointer;font:inherit;color:inherit}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card--active{background:#eef4ff;border-color:#b9d0ff}.stat-card__value{color:var(--color-text-primary);font-size:28px;font-weight:600;line-height:1.1}.stat-card__label{color:var(--color-text-secondary);font-size:13px}.stat-card__icon{color:var(--color-brand-primary);margin-bottom:4px;font-size:18px}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.status-badge__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-badge--default{color:#475569;background:#f1f5f9}.status-badge--default .status-badge__dot{background:#94a3b8}.status-badge--info{color:#0e5fe0;background:#eef4ff}.status-badge--info .status-badge__dot{background:#1677ff}.status-badge--processing{color:#0e5fe0;background:#eef4ff}.status-badge--processing .status-badge__dot{background:#1677ff}.status-badge--warning{color:#c2410c;background:#fff7ed}.status-badge--warning .status-badge__dot{background:#f59e0b}.status-badge--success{color:#15803d;background:#f0fdf4}.status-badge--success .status-badge__dot{background:#16a34a}.status-badge--error{color:#b91c1c;background:#fef2f2}.status-badge--error .status-badge__dot{background:#ef4444}.status-badge--pulse .status-badge__dot{animation:1.4s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.semantic-chip{border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.semantic-chip--brand{color:#0e5fe0;background:#eef4ff}.semantic-chip--neutral{color:#475569;background:#f1f5f9}.semantic-chip--success{color:#15803d;background:#f0fdf4}.semantic-chip--warning{color:#c2410c;background:#fff7ed}.semantic-chip--info{color:#0e5fe0;background:#eef4ff}.empty-state{text-align:center;color:var(--color-text-secondary);padding:32px 16px}.empty-state__icon{color:var(--color-text-muted);margin-bottom:12px}.data-table .ant-table-thead>tr>th{font-weight:600}.task-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=991px){.task-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=575px){.task-stat-row{grid-template-columns:1fr}}.login-page{background:radial-gradient(circle at 15% 20%,#4f8cff2e,#0000 42%),radial-gradient(circle at 85% 10%,#0e5fe01f,#0000 38%),linear-gradient(#eef4ff 0%,#f5f7fb 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #ffffffa6;border-radius:16px;padding:32px}.login-card__logo{background:var(--gradient-brand);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-weight:700;display:inline-flex}.config-progress{margin-bottom:8px}.client-brief-template{white-space:pre-wrap;color:var(--text-secondary,#000000a6);margin:0;font-family:inherit;font-size:13px}.hub-card-meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.record-data-table .ant-table-content{overflow-x:auto!important}.record-data-table .ant-table-thead>tr>th,.record-data-table .ant-table-tbody>tr>td{white-space:normal;word-break:break-word;vertical-align:top}.record-data-table__value-cell,.record-data-table__review-cell{min-width:96px;max-width:200px}.record-data-table__index-cell{min-width:64px}.record-data-table__text{white-space:normal;word-break:break-word;display:block}.record-data-table .record-cell .ant-input,.record-data-table .record-cell .ant-input-textarea,.record-data-table .record-cell .ant-input-number,.record-data-table .record-cell .ant-picker,.record-data-table .record-cell .ant-select{width:100%;max-width:100%}.record-data-table .record-cell .ant-input-textarea textarea{white-space:normal;word-break:break-word;resize:vertical}.record-cell--flagged .ant-input,.record-cell--flagged .ant-input-textarea textarea,.record-cell--flagged .ant-input-number,.record-cell--flagged .ant-picker,.record-cell--flagged .ant-select-selector{background:#fffbeb;border-color:#f59e0b}.record-cell--saved .ant-input,.record-cell--saved .ant-input-textarea textarea,.record-cell--saved .ant-input-number-input,.record-cell--saved .ant-picker,.record-cell--saved .ant-select-selector{border-color:#52c41a}.record-cell--error .ant-input,.record-cell--error .ant-input-textarea textarea,.record-cell--error .ant-input-number,.record-cell--error .ant-picker,.record-cell--error .ant-select-selector{border-color:#ff4d4f}.record-cell--saving{opacity:.72}.record-cell-error{color:#ff4d4f;margin-top:4px;font-size:12px;line-height:1.4}.record-row--edited>.ant-table-cell{background:#f0f9ff}.record-flags{color:#c2410c;font-weight:500}.page-transition{animation:page-enter var(--motion-duration-slow) var(--motion-easing)}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-skeleton{flex-direction:column;gap:16px;display:flex}.page-skeleton--default{padding:8px 0}.page-skeleton__block{margin-bottom:0}.api-error-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.api-error-alert__icon{color:#ef4444;flex-shrink:0;margin-top:2px;font-size:18px}.api-error-alert__body{flex:1;min-width:0}.api-error-alert__title{color:#991b1b;margin-bottom:4px;font-weight:600}.api-error-alert__message{color:#b91c1c;word-break:break-word;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
