:root{--report-bg: #F7F9FC;--report-surface: #FFFFFF;--report-ink: #0B1220;--report-muted: #5B677A;--report-line: #E6EAF0;--report-header: #101828;--report-header-text: #F2F4F7;--report-primary: #2563EB;--report-primary-soft: #DBEAFE;--report-success: #16A34A;--report-warning: #F59E0B;--report-danger: #DC2626;--report-radius: 12px;--report-shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--report-shadow-md: 0 6px 18px rgba(16, 24, 40, .1);--report-ease: cubic-bezier(.2, .8, .2, 1);--report-duration-fast: .16s;--report-duration-normal: .22s;--report-duration-slow: .32s}.report-card{background:var(--report-surface);border:1px solid var(--report-line);border-radius:var(--report-radius);box-shadow:var(--report-shadow-sm);transition:box-shadow var(--report-duration-fast) var(--report-ease)}.report-card:hover{box-shadow:var(--report-shadow-md)}.report-h1{font-size:26px;font-weight:700;letter-spacing:-.2px;color:var(--report-ink)}.report-h2{font-size:18px;font-weight:700;color:var(--report-ink)}.report-h3{font-size:14px;font-weight:600;color:var(--report-ink)}.report-body{font-size:14px;line-height:1.5;color:var(--report-ink)}.report-caption{font-size:12px;line-height:1.4;color:var(--report-muted)}.report-kpi{text-align:center;padding:16px}.report-kpi-value{font-size:22px;font-weight:700;color:var(--report-ink)}.report-kpi-label{font-size:12px;color:var(--report-muted);margin-top:4px}.report-dl{display:flex;flex-direction:column}.report-dl-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--report-line)}.report-dl-item:last-child{border-bottom:none}.report-dl-label{font-size:13px;color:var(--report-muted)}.report-dl-value{font-size:13px;font-weight:500;color:var(--report-ink)}.report-step{display:flex;align-items:flex-start;gap:16px;padding:16px;border-bottom:1px solid var(--report-line);transition:background var(--report-duration-fast) var(--report-ease)}.report-step:hover{background:#2563eb0a}.report-step-active{background:var(--report-primary-soft);border-left:3px solid var(--report-primary)}.report-step-index{font-size:12px;font-weight:600;color:var(--report-muted);min-width:24px}.report-step-active .report-step-index{color:var(--report-primary)}.report-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.report-badge-success{background:#16a34a1a;color:var(--report-success)}.report-badge-warning{background:#f59e0b1a;color:var(--report-warning)}.report-badge-danger{background:#dc26261a;color:var(--report-danger)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.animate-marquee{display:inline-block;padding-left:100%;animation:marquee 15s linear infinite;white-space:nowrap}@keyframes btn-pulse{0%{box-shadow:0 0 #0ea5e9b3;transform:scale(1)}70%{box-shadow:0 0 0 10px #0ea5e900;transform:scale(1.02)}to{box-shadow:0 0 #0ea5e900;transform:scale(1)}}.animate-btn-pulse{animation:btn-pulse 2s infinite}@keyframes btn-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.animate-btn-shimmer{background:linear-gradient(110deg,var(--btn-bg, #3b82f6) 8%,var(--btn-shine, #60a5fa) 18%,var(--btn-bg, #3b82f6) 33%);background-size:200% 100%;animation:btn-shimmer 3s linear infinite}@keyframes btn-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-btn-bounce{animation:btn-bounce 1s infinite}@keyframes btn-heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.animate-btn-heartbeat{animation:btn-heartbeat 1.5s infinite}@keyframes btn-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.animate-btn-wiggle{animation:btn-wiggle .3s linear infinite}@keyframes btn-hyper-shimmer{0%{left:-100%;opacity:0}20%{opacity:.5}50%{opacity:1}to{left:100%;opacity:0}}.animate-btn-hyper-shimmer{position:relative;overflow:hidden}.animate-btn-hyper-shimmer:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.8),transparent);transform:skew(-20deg);animation:btn-hyper-shimmer 1.5s infinite}@keyframes banner-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.animate-banner-pulse{animation:banner-pulse 1.5s ease-in-out infinite}@keyframes banner-glow{0%,to{box-shadow:0 0 5px #ffffff4d}50%{box-shadow:0 0 20px #fffc,0 0 30px #fff6}}.animate-banner-glow{animation:banner-glow 2s ease-in-out infinite}@keyframes banner-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-banner-bounce{animation:banner-bounce 1s ease-in-out infinite}@keyframes banner-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-banner-shake{animation:banner-shake .8s ease-in-out infinite}@keyframes banner-blink{0%,to{opacity:1}50%{opacity:.6}}.animate-banner-blink{animation:banner-blink 1s ease-in-out infinite}@keyframes banner-rubberBand{0%{transform:scaleZ(1)}30%{transform:scale3d(1.15,.85,1)}40%{transform:scale3d(.85,1.15,1)}50%{transform:scale3d(1.05,.95,1)}65%{transform:scale3d(.98,1.02,1)}75%{transform:scale3d(1.02,.98,1)}to{transform:scaleZ(1)}}.animate-banner-rubberBand{animation:banner-rubberBand 1.5s infinite}@keyframes banner-wobble{0%,to{transform:translate(0)}15%{transform:translate(-5%) rotate(-5deg)}30%{transform:translate(4%) rotate(3deg)}45%{transform:translate(-3%) rotate(-3deg)}60%{transform:translate(2%) rotate(2deg)}75%{transform:translate(-1%) rotate(-1deg)}}.animate-banner-wobble{animation:banner-wobble 2s infinite}@keyframes banner-shimmer-move{0%{left:-100%;opacity:0}20%{opacity:0}50%{opacity:.5}to{left:100%;opacity:0}}.animate-banner-shimmer{position:relative;overflow:hidden}.animate-banner-shimmer:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.6),transparent);transform:skew(-20deg);animation:banner-shimmer-move 2.5s infinite;pointer-events:none}@keyframes banner-swing{20%{transform:rotate3d(0,0,1,5deg)}40%{transform:rotate3d(0,0,1,-5deg)}60%{transform:rotate3d(0,0,1,3deg)}80%{transform:rotate3d(0,0,1,-3deg)}to{transform:rotate3d(0,0,1,0)}}.animate-banner-swing{transform-origin:top center;animation:banner-swing 2s infinite}@keyframes banner-tada{0%{transform:scaleZ(1)}10%,20%{transform:scale3d(.95,.95,.95) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{transform:scale3d(1.05,1.05,1.05) rotate3d(0,0,1,3deg)}40%,60%,80%{transform:scale3d(1.05,1.05,1.05) rotate3d(0,0,1,-3deg)}to{transform:scaleZ(1)}}.animate-banner-tada{animation:banner-tada 1.5s infinite}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-fade-up{animation:fadeUp .7s ease-out}.animate-slide-in-left{animation:slideInLeft .7s ease-out}.animate-slide-in-right{animation:slideInRight .7s ease-out}.animate-zoom-in{animation:zoomIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes headline-bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:headline-bounce-in .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes headline-glitch{0%{transform:translate(0);text-shadow:-2px 0 #ff00ff,2px 0 #00ffff}20%{transform:translate(-2px,2px);text-shadow:2px 0 #ff00ff,-2px 0 #00ffff}40%{transform:translate(-2px,-2px);text-shadow:-2px 0 #00ffff,2px 0 #ff00ff}60%{transform:translate(2px,2px);text-shadow:2px 0 #ff00ff,-2px 0 #00ffff}80%{transform:translate(2px,-2px);text-shadow:-2px 0 #ff00ff,2px 0 #00ffff}to{transform:translate(0);text-shadow:none}}.animate-glitch{animation:headline-glitch .5s ease-in-out 3}@keyframes headline-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-wave{animation:headline-wave 1s ease-in-out infinite}@keyframes headline-blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-blink{animation:headline-blink 1s step-end infinite}
