@import url("https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap");:root{--brand-10:#061724;--brand-20:#082338;--brand-30:#0a2e4a;--brand-40:#0c3b5e;--brand-50:#0e4775;--brand-60:#0f548c;--brand-70:#115ea3;--brand-80:#0f6cbd;--brand-90:#2886de;--brand-100:#479ef5;--brand-110:#62abf5;--brand-120:#77b7f7;--brand-130:#96c6fa;--brand-140:#b4d6fa;--brand-150:#cfe4fa;--brand-160:#ebf3fc;--neutral-2:#050505;--neutral-4:#0a0a0a;--neutral-6:#0f0f0f;--neutral-8:#141414;--neutral-10:#1a1a1a;--neutral-12:#1f1f1f;--neutral-14:#242424;--neutral-16:#292929;--neutral-20:#333;--neutral-24:#3d3d3d;--neutral-26:#424242;--neutral-30:#525252;--neutral-40:#616161;--neutral-50:#707070;--neutral-60:#8a8a8a;--neutral-70:#a3a3a3;--neutral-80:#bdbdbd;--neutral-84:#c7c7c7;--neutral-86:#d1d1d1;--neutral-90:#e0e0e0;--neutral-92:#ededed;--neutral-94:#f0f0f0;--neutral-96:#f5f5f5;--neutral-98:#fafafa;--neutral-100:#fff;--surface-primary:#fff;--surface-secondary:#f5f5f5;--surface-tertiary:#fff;--surface-card:#fff;--surface-card-secondary:#f5f5f5;--surface-smoke:rgba(0,0,0,.4);--text-primary:#242424;--text-secondary:#616161;--text-tertiary:#a3a3a3;--text-disabled:#bdbdbd;--text-on-accent:#fff;--text-brand:#0f6cbd;--stroke-card:#e0e0e0;--stroke-default:#d1d1d1;--stroke-subtle:#e0e0e0;--stroke-divider:#e0e0e0;--stroke-focus:#000;--stroke-focus-outer:#fff;--stroke-brand:#0f6cbd;--status-success:#0e700e;--status-success-bg:#f1faf1;--status-success-border:#9fd89f;--status-warning:#bc4b09;--status-warning-bg:#fff9f5;--status-warning-border:#fdcfb4;--status-danger:#b10e1c;--status-danger-bg:#fdf3f4;--status-danger-border:#f1bbbc;--status-info:#0f6cbd;--status-info-bg:#ebf3fc;--status-info-border:#b4d6fa;--status-severe:#da3b01;--status-severe-bg:#fdf3f4;--fluent-red:#d13438;--fluent-red-bg:#fdf6f6;--fluent-green:#107c10;--fluent-green-bg:#f1faf1;--fluent-orange:#da3b01;--fluent-orange-bg:#fdf3f4;--fluent-yellow:#eaa300;--fluent-yellow-bg:#fff9e8;--fluent-blue:#0078d4;--fluent-blue-bg:#ebf3fc;--fluent-purple:#5c2e91;--fluent-purple-bg:#f5f0fa;--fluent-teal:#038387;--fluent-teal-bg:#f0fafa;--fluent-pink:#e3008c;--fluent-pink-bg:#fcf2f8;--fluent-navy:#003966;--fluent-cyan:#0099bc;--brand-primary:var(--brand-80);--brand-hover:var(--brand-70);--brand-pressed:var(--brand-40);--brand-selected:var(--brand-160);--brand-subtle:var(--brand-160);--navy:var(--neutral-14);--navy-light:var(--neutral-24);--blue:var(--brand-80);--blue-light:var(--brand-100);--blue-pale:var(--brand-160);--blue-wash:var(--brand-160);--white:#fff;--snow:var(--neutral-98);--cloud:var(--neutral-96);--mist:var(--neutral-92);--stone:var(--neutral-70);--slate:var(--neutral-40);--ink:var(--neutral-14);--charcoal:var(--neutral-14);--emerald:var(--fluent-green);--emerald-bg:var(--fluent-green-bg);--amber:var(--fluent-orange);--amber-bg:var(--fluent-orange-bg);--rose:var(--fluent-red);--rose-bg:var(--fluent-red-bg);--violet:var(--fluent-purple);--violet-bg:var(--fluent-purple-bg);--apple-blue:var(--brand-80);--apple-blue-hover:var(--brand-70);--apple-blue-pressed:var(--brand-40);--apple-blue-light:var(--brand-160);--apple-blue-subtle:var(--brand-160);--apple-green:var(--fluent-green);--apple-orange:var(--fluent-orange);--apple-red:var(--fluent-red);--apple-purple:var(--fluent-purple);--apple-pink:var(--fluent-pink);--apple-teal:var(--fluent-teal);--apple-indigo:#5b5fc7;--apple-yellow:var(--fluent-yellow);--apple-mint:var(--fluent-teal);--apple-cyan:var(--fluent-cyan);--radius-none:0;--radius-sm:4px;--radius:6px;--radius-lg:8px;--radius-xl:12px;--radius-circular:9999px;--shadow-2:0 1px 2px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--shadow-4:0 2px 4px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--shadow-8:0 4px 8px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--shadow-16:0 8px 16px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);--shadow-28:0 14px 28px rgba(0,0,0,.24),0 0 8px rgba(0,0,0,.12);--shadow-64:0 32px 64px rgba(0,0,0,.24),0 0 8px rgba(0,0,0,.12);--shadow-brand-2:0 1px 2px rgba(15,108,189,.3),0 0 2px rgba(15,108,189,.25);--shadow-brand-4:0 2px 4px rgba(15,108,189,.3),0 0 2px rgba(15,108,189,.25);--shadow-sm:var(--shadow-2);--shadow:var(--shadow-4);--shadow-lg:var(--shadow-16);--ease-decelerate:cubic-bezier(0,0,0,1);--ease-accelerate:cubic-bezier(1,0,1,1);--ease-standard:cubic-bezier(0.8,0,0.2,1);--ease-linear:linear;--spring:cubic-bezier(0.1,0.9,0.2,1);--spring-soft:cubic-bezier(0.1,0.9,0.2,1);--spring-snappy:cubic-bezier(0.1,0.9,0.2,1);--ease-out-expo:cubic-bezier(0.1,0.9,0.2,1);--duration-ultra-fast:50ms;--duration-faster:100ms;--duration-fast:150ms;--duration-normal:250ms;--duration-gentle:300ms;--duration-slow:400ms;--duration-slower:500ms;--duration-instant:50ms;--transition:var(--duration-normal) var(--ease-decelerate)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--surface-secondary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:Segoe UI Variable Display,Segoe UI,system-ui,-apple-system,sans-serif;font-weight:600}a{color:var(--brand-80);text-decoration:none}a:hover{text-decoration:underline;color:var(--brand-70)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neutral-80);border-radius:var(--radius-circular);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--neutral-60)}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--surface-primary);border-right:1px solid var(--stroke-subtle);color:var(--text-primary);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100}.sidebar.sidebar-dark{background:#3e3e42;border-right:1px solid hsla(0,0%,100%,.06);color:#fff}.sidebar-dark::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.16)}.sidebar-dark::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.28)}.sidebar-dark nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.16)}.sidebar-dark nav::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.28)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.main-content{margin-left:260px;flex:1 1;display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%}.header{height:48px;background:var(--surface-primary);border-bottom:1px solid var(--stroke-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.page-content{padding:24px;flex:1 1;min-width:0;overflow-x:hidden}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius);font-family:inherit;font-size:14px;font-weight:400;cursor:pointer;transition:background var(--duration-faster) var(--ease-standard),border-color var(--duration-faster) var(--ease-standard);border:1px solid var(--stroke-default);background:var(--surface-primary);color:var(--text-primary);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:32px}.btn:hover{background:var(--neutral-96)}.btn:active{background:var(--neutral-94)}.btn:focus-visible{border-color:var(--stroke-focus);box-shadow:0 0 0 1px var(--stroke-focus);outline:2px solid var(--stroke-focus-outer);outline-offset:2px}.btn-primary{background:var(--brand-80);color:var(--text-on-accent);border-color:transparent}.btn-primary:hover{background:var(--brand-70);color:var(--text-on-accent)}.btn-primary:active{background:var(--brand-40);color:var(--text-on-accent)}.btn-sm{padding:3px 8px;font-size:12px;min-height:24px}.btn-danger{background:var(--fluent-red);color:var(--text-on-accent);border-color:transparent}.btn-danger:hover{background:#c62828}.btn-danger:active{background:#b71c1c}.btn-subtle{background:transparent;border-color:transparent;color:var(--text-primary)}.btn-subtle:hover{background:var(--neutral-96)}.btn-subtle:active{background:var(--neutral-94)}.card{background:var(--surface-card);border:1px solid var(--stroke-card);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-2);transition:box-shadow var(--duration-normal) var(--ease-decelerate),border-color var(--duration-normal) var(--ease-decelerate)}.card:hover{box-shadow:var(--shadow-4);border-color:var(--stroke-default)}.form-group{margin-bottom:16px}.form-label{display:block;font-weight:400;margin-bottom:4px}.form-input,.form-label{font-size:14px;color:var(--text-primary)}.form-input{width:100%;padding:5px 12px;border:1px solid var(--stroke-default);border-bottom:2px solid var(--neutral-60);border-radius:var(--radius) var(--radius) 0 0;font-family:inherit;background:var(--surface-primary);transition:border-color var(--duration-faster) var(--ease-standard);outline:none;min-height:32px}.form-input:hover{border-bottom-color:var(--neutral-40)}.form-input:focus{border-bottom-color:var(--brand-80);border-bottom-width:2px}.badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.badge-active{background:var(--status-success-bg);color:var(--status-success);border:1px solid var(--status-success-border)}.badge-tender{background:var(--status-warning-bg);color:var(--status-warning);border:1px solid var(--status-warning-border)}.badge-dlp{background:var(--fluent-purple-bg);color:var(--fluent-purple);border:1px solid #d3bfea}.badge-closed{background:var(--neutral-96);color:var(--neutral-40);border:1px solid var(--neutral-90)}@keyframes sfBounce{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.sf-bounce{animation:sfBounce .25s var(--ease-standard) 1}@keyframes sfWiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}.sf-wiggle{animation:sfWiggle .4s var(--ease-standard) 1;transform-origin:top center}@keyframes sfBreathe{0%,to{opacity:.6}50%{opacity:1}}.sf-breathe{animation:sfBreathe 3s ease-in-out infinite}@keyframes sfPulse{0%,to{opacity:1}50%{opacity:.5}}.sf-pulse{animation:sfPulse 2s ease-in-out infinite}@keyframes sfRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sf-rotate{animation:sfRotate 1s linear infinite}@keyframes sfScale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.sf-scale{animation:sfScale .3s var(--ease-decelerate) 1}@keyframes sfAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sf-appear{animation:sfAppear .25s var(--ease-decelerate) forwards;opacity:0}@keyframes sfVariableColor{0%,to{opacity:.5}50%{opacity:1}}.sf-variable-color{animation:sfVariableColor 3s ease-in-out infinite}@keyframes sfReplaceIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sf-replace-in{animation:sfReplaceIn .2s var(--ease-decelerate) forwards}@keyframes pageSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-in{animation:pageSlideUp .35s var(--ease-decelerate) forwards;opacity:0}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.delay-7{animation-delay:.35s}.delay-8{animation-delay:.4s}@keyframes cardPop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-enter{animation:cardPop .3s var(--ease-decelerate) forwards;opacity:0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--neutral-94) 0,var(--neutral-92) 20%,var(--neutral-96) 40%,var(--neutral-96) 60%,var(--neutral-92) 80%,var(--neutral-94) 100%);background-size:800px 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius)}@keyframes progressFill{0%{width:0}}.progress-bar-fill{animation:progressFill .8s var(--ease-decelerate) forwards;transition:width .6s var(--ease-decelerate)}@keyframes bubbleInLeft{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes bubbleInRight{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}.bubble-bot{animation:bubbleInLeft .25s var(--ease-decelerate) forwards}.bubble-user{animation:bubbleInRight .25s var(--ease-decelerate) forwards}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--text-tertiary);display:inline-block}.typing-dot:first-child{animation:typingDot 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation:typingDot 1.2s ease-in-out .15s infinite}.typing-dot:nth-child(3){animation:typingDot 1.2s ease-in-out .3s infinite}@keyframes rowSlideIn{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.row-enter{animation:rowSlideIn .25s var(--ease-decelerate) forwards;opacity:0}@keyframes badgePop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.badge-pop{animation:badgePop .25s var(--ease-decelerate) forwards;opacity:0}@keyframes numberReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.number-reveal{animation:numberReveal .35s var(--ease-decelerate) forwards;opacity:0}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(15,108,189,0)}50%{box-shadow:0 0 0 3px rgba(15,108,189,.15)}}.glow-ring{animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulseGreen{0%,to{box-shadow:0 0 0 0 rgba(16,124,16,0)}50%{box-shadow:0 0 0 3px rgba(16,124,16,.15)}}.glow-ring-green{animation:glowPulseGreen 2s ease-in-out infinite}@keyframes glowPulseRed{0%,to{box-shadow:0 0 0 0 rgba(197,15,31,0)}50%{box-shadow:0 0 0 3px rgba(197,15,31,.15)}}.glow-ring-red{animation:glowPulseRed 2s ease-in-out infinite}@keyframes insightSlide{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.insight-enter{animation:insightSlide .3s var(--ease-decelerate) forwards;opacity:0}@keyframes hoverGlow{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.apple-spinner{width:28px;height:28px;position:relative;display:inline-block}.apple-spinner .tick{position:absolute;top:0;left:50%;width:2.4px;height:8px;margin-left:-1.2px;border-radius:2px;background:currentColor;transform-origin:center 14px;animation:apple-spinner-fade 1s linear infinite}@keyframes apple-spinner-fade{0%,39%,to{opacity:.15}40%{opacity:1}}@keyframes erp-spin{to{transform:rotate(1turn)}}@keyframes erp-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes erp-pop{0%{transform:scale(.96);opacity:0}60%{transform:scale(1.01);opacity:1}to{transform:scale(1);opacity:1}}@keyframes vetra-spin{to{transform:rotate(1turn)}}@keyframes vetra-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes svc-spin{to{transform:rotate(1turn)}}@keyframes svc-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes do-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes vc-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ved-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ev-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tk-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.erp-spin{animation:erp-spin .85s linear infinite}.erp-fade-in{animation:erp-fade-in .32s cubic-bezier(.16,1,.3,1) both}.erp-pop{animation:erp-pop .28s cubic-bezier(.16,1,.3,1) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-in,.badge-pop,.bubble-bot,.bubble-user,.card-enter,.insight-enter,.number-reveal,.row-enter,.sf-appear,.skeleton{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}}