:root{--brand-primary: #BB1147;--brand-primary-dark: #8B0D35;--brand-primary-light: #FBE9ED;--brand-primary-hover: #D1155D;--brand-rose: #D1155D;--brand-deep-pink: #C80055;--brand-magenta: #CC0066;--brand-accent: #C7AB8F;--brand-accent-light: #F2EBE2;--brand-navy: #1B2C45;--brand-navy-light: #E8ECF1;--brand-page-bg: #FAF9FA;--text-primary: #1d1d1f;--text-secondary: #6b6b70;--text-tertiary: #8e8e93;--text-quaternary: #a0a0a5;--text-link: #007AFF;--bg-page: #f5f5f7;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-header: rgba(255, 255, 255, .88);--bg-section: #fafafa;--border-primary: #e5e5ea;--border-secondary: #f0f0f5;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 16px;--radius-3xl: 20px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-brand: 0 2px 8px rgba(187, 17, 71, .25);--shadow-brand-lg: 0 4px 16px rgba(187, 17, 71, .3);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.5px;--tracking-normal: 0;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-in-out: cubic-bezier(.42, 0, .58, 1);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a0a0a5;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8e8e93}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f5f5f7,#e8ecf1,#fbe9ed)}.card-container{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-sm)}.card-container-sm{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-xl);transition:box-shadow var(--duration-normal) var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-md)}.kpi-mini-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-md)}.table-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden}.chart-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-xl)}.filter-bar{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.page-header{margin-bottom:var(--space-2xl)}.page-header h4{margin:0;color:var(--text-primary);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.page-header .subtitle{color:var(--text-secondary);font-size:13px}.stage-node{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:12px;font-weight:var(--font-weight-medium);white-space:nowrap}.phase-timeline{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:nowrap;overflow-x:auto;padding:var(--space-sm) 0}.phase-timeline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.phase-timeline-line{flex:1;height:2px;min-width:20px;border-radius:1px;background:var(--border-primary)}.section-header{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--text-primary);padding-bottom:var(--space-md);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border-primary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-brand{color:var(--brand-primary)}.flex-center{display:flex;align-items:center;justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.ant-card-head{border-bottom:1px solid var(--border-primary)!important;min-height:48px!important}.ant-card-head-title{font-weight:var(--font-weight-semibold)!important;font-size:15px!important;color:var(--text-primary)!important}.ant-table-thead>tr>th{font-weight:var(--font-weight-semibold)!important;font-size:12px!important;color:var(--text-secondary)!important;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-section)!important;border-bottom:1px solid var(--border-primary)!important}.ant-table-tbody>tr.ant-table-row:hover>td{background:#bb114708!important}.ant-menu-item{transition:all var(--duration-fast) var(--ease-out)!important}.ant-menu-item:hover{background:#bb11470f!important}.ant-steps-item-finish .ant-steps-item-icon,.ant-steps-item-process .ant-steps-item-icon{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.ant-tag{border-radius:var(--radius-md)!important;border:none!important;line-height:1.6!important}.ant-select-dropdown{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-primary)!important}.ant-modal-footer{border-top:1px solid var(--border-primary)!important;padding:var(--space-lg) var(--space-2xl)!important}.ant-modal-header{border-bottom:1px solid var(--border-primary)!important;padding:var(--space-xl) var(--space-2xl)!important}.ant-modal-body{padding:var(--space-2xl)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{box-shadow:0 0 0 2px #bb11471a!important}.ant-btn-primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-dark) 100%)!important;border:none!important;box-shadow:var(--shadow-brand)!important}.ant-btn-primary:hover{background:linear-gradient(135deg,#d1155d,#a00f3f)!important;box-shadow:0 4px 12px #bb114759!important}.ant-pagination-item-active{border-color:var(--brand-primary)!important}.ant-pagination-item-active a{color:var(--brand-primary)!important}.tech-bg-dots{position:relative}.tech-bg-dots:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,rgba(187,17,71,.06) 1px,transparent 1px),radial-gradient(circle,rgba(0,122,255,.04) 1px,transparent 1px);background-size:28px 28px,56px 56px;background-position:0 0,14px 14px;animation:dotDrift 20s linear infinite}@keyframes dotDrift{0%{background-position:0 0,14px 14px}to{background-position:28px 28px,42px 42px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .5s var(--ease-out) both}.animate-fade-in-1{animation-delay:.05s}.animate-fade-in-2{animation-delay:.1s}.animate-fade-in-3{animation-delay:.15s}.animate-fade-in-4{animation-delay:.2s}.animate-fade-in-5{animation-delay:.25s}@keyframes pulseGlow{0%,to{box-shadow:0 0 #bb114740}50%{box-shadow:0 0 0 6px #bb114700}}@keyframes pulseGlowBlue{0%,to{box-shadow:0 0 #007aff40}50%{box-shadow:0 0 0 6px #007aff00}}@keyframes pulseGlowGreen{0%,to{box-shadow:0 0 #2da44e40}50%{box-shadow:0 0 0 6px #2da44e00}}.status-pulse{animation:pulseGlow 2s ease-in-out infinite}.status-pulse-blue{animation:pulseGlowBlue 2s ease-in-out infinite}.status-pulse-green{animation:pulseGlowGreen 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-bar{background:linear-gradient(90deg,transparent 0%,rgba(187,17,71,.06) 25%,rgba(187,17,71,.1) 50%,rgba(187,17,71,.06) 75%,transparent 100%);background-size:200% 100%;animation:shimmer 2.5s ease-in-out infinite}.tech-card{background:#fff;border:1px solid #e5e5ea;border-radius:14px;transition:all .3s var(--ease-out)}.tech-card:hover{border-color:#bb114740;box-shadow:0 4px 20px #bb114714;transform:translateY(-1px)}@keyframes dataFlow{0%{background-position:0% 50%}to{background-position:200% 50%}}.tech-divider{height:1px;border:none;background:linear-gradient(90deg,transparent 0%,rgba(187,17,71,.15) 20%,rgba(0,122,255,.12) 50%,rgba(187,17,71,.15) 80%,transparent 100%);background-size:200% 100%;animation:dataFlow 3s ease-in-out infinite;margin:0}@keyframes countReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.count-up-value{animation:countReveal .4s var(--ease-out) both}.kpi-icon-ring{position:relative}.kpi-icon-ring:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:14px;border:2px solid transparent;transition:border-color .3s var(--ease-out)}.tech-card:hover .kpi-icon-ring:after{border-color:#bb114726}@keyframes badgeBreathe{0%,to{box-shadow:0 0 #bb11474d}50%{box-shadow:0 0 12px 2px #bb114726}}.sidebar-badge-glow{animation:badgeBreathe 3s ease-in-out infinite}.ant-menu-item-selected{position:relative}.ant-menu-item-selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--brand-primary);border-radius:0 3px 3px 0;animation:fadeInUp .3s var(--ease-out) both}.ant-layout-header{transition:box-shadow .3s var(--ease-out)}.fund-card{position:relative;overflow:hidden}.fund-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0}.fund-card-central:before{background:linear-gradient(90deg,#bb1147,#d1155d)}.fund-card-local:before{background:linear-gradient(90deg,#007aff,#5856d6)}.fund-card-self:before{background:linear-gradient(90deg,#2da44e,#30d158)}.fund-card-other:before{background:linear-gradient(90deg,#c7ab8f,#8e8e93)}@keyframes tickerPulse{0%,to{opacity:1}50%{opacity:.85}}.ticker-live{animation:tickerPulse 2s ease-in-out infinite}Responsive Breakpoints ══════════════════════════════════════════════════════════ */ @media (max-width: 768px){.card-container{padding:var(--space-lg)}.stat-card{padding:var(--space-md)}.page-header h4{font-size:16px}}@media (max-width: 375px){:root{--space-2xl: 16px;--space-xl: 12px}}
