.report-viewer-container{position:relative;width:100%;height:100%;background:#f8fafc;border:none;overflow:hidden}.report-viewer-container iframe{border:none!important;width:100%!important;height:100%!important}.report-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;color:#123062;background:linear-gradient(135deg,#fff5f5,#fef2f2);border:1px solid #fecaca;margin:40px auto;max-width:500px;border-radius:16px;font-weight:500;font-size:1rem;line-height:1.6;box-shadow:0 4px 20px #dc26261a}.report-error:before{content:"";width:64px;height:64px;margin-bottom:20px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:32px}.report-error:after{content:"Please try refreshing the page or contact support if the issue persists.";display:block;margin-top:16px;font-size:.875rem;color:#6b7280;font-weight:400}.report-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#123062;font-size:1.125rem;font-weight:500;gap:16px}.report-loading:before{content:"";width:40px;height:40px;border:3px solid #6cb752;border-top-color:#123062;border-radius:50%;animation:spin .8s linear infinite}.transition-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#f8fafc;display:flex;align-items:center;justify-content:center;z-index:100}.transition-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#123062;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--lp-primary: #123062;--lp-primary-hover: #0d2249;--lp-primary-light: rgba(18, 48, 98, .1);--lp-accent: #6cb752;--lp-text-primary: #123062;--lp-text-secondary: #123062;--lp-text-muted: #6cb752;--lp-bg-primary: #f9b7a1;--lp-bg-secondary: #f8fafc;--lp-border: #e2e8f0;--lp-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--lp-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--lp-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--lp-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--lp-radius-sm: 6px;--lp-radius-md: 12px;--lp-radius-lg: 20px;--lp-transition: .3s cubic-bezier(.4, 0, .2, 1);--lp-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:var(--lp-bg-primary);font-family:var(--lp-font-sans);color:var(--lp-text-primary);position:relative;overflow-x:hidden}.landing-page__background{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.landing-page__gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:0;transition:opacity 1s ease-out}.landing-page--visible .landing-page__gradient-orb{opacity:.5}.landing-page__gradient-orb--1{width:600px;height:600px;background:linear-gradient(135deg,var(--lp-primary-light) 0%,rgba(0,180,216,.15) 100%);top:-200px;right:-100px;animation:float-orb 20s ease-in-out infinite}.landing-page__gradient-orb--2{width:400px;height:400px;background:linear-gradient(135deg,#00b4d81a,#0078d414);bottom:10%;left:-100px;animation:float-orb 25s ease-in-out infinite reverse}.landing-page__gradient-orb--3{width:300px;height:300px;background:radial-gradient(circle,rgba(0,120,212,.12) 0%,transparent 70%);top:50%;right:20%;animation:float-orb 18s ease-in-out infinite 2s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(20px,10px) scale(1.02)}}.landing-page__header{position:relative;z-index:10;padding:24px 40px;display:flex;align-items:center;justify-content:flex-start;opacity:0;transform:translateY(-20px);transition:opacity .6s ease-out,transform .6s ease-out}.landing-page--visible .landing-page__header{opacity:1;transform:translateY(0)}.landing-page__logo{display:flex;align-items:center;gap:12px}.landing-page__logo-image{width:44px;height:44px;border-radius:var(--lp-radius-sm);object-fit:cover;box-shadow:var(--lp-shadow-sm)}.landing-page__logo-text{font-size:1.5rem;font-weight:700;color:var(--lp-text-primary);letter-spacing:-.02em}.landing-page__hero{position:relative;z-index:10;flex:1;display:flex;justify-content:center;align-items:center;padding:40px 80px 80px;max-width:1400px;margin:0 auto;width:100%}.landing-page__hero-content{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s;text-align:center}.landing-page--visible .landing-page__hero-content{opacity:1;transform:translateY(0)}.landing-page__title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:24px;letter-spacing:-.03em}.landing-page__title-line{display:block;color:var(--lp-primary)}.landing-page__title-line--accent{color:#fff}.landing-page__subtitle{font-size:1.25rem;line-height:1.7;color:var(--lp-primary);margin-bottom:40px;max-width:480px;margin-left:auto;margin-right:auto}.landing-page__cta-container{margin-bottom:24px}.landing-page__signin-btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;background:var(--lp-text-primary);color:var(--lp-bg-primary);border:none;border-radius:var(--lp-radius-md);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all var(--lp-transition);box-shadow:var(--lp-shadow-lg);position:relative;overflow:visible}.landing-page__signin-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--lp-primary) 0%,var(--lp-accent) 100%);opacity:0;transition:opacity var(--lp-transition);border-radius:inherit}.landing-page__signin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--lp-shadow-xl)}.landing-page__signin-btn:hover:not(:disabled):before{opacity:1}.landing-page__signin-btn:focus{outline:none}.landing-page__signin-btn:focus-visible{outline:none}.landing-page__signin-btn:active:not(:disabled):not(.landing-page__signin-btn--exploding){transform:translateY(0) scale(.98);outline:none}.landing-page__signin-btn:disabled{cursor:not-allowed}.landing-page__microsoft-logo{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:22px;height:22px;flex-shrink:0}.landing-page__logo-piece{border-radius:1px;transition:all .1s ease}.landing-page__logo-piece--red{background:#f25022}.landing-page__logo-piece--green{background:#7fba00}.landing-page__logo-piece--blue{background:#00a4ef}.landing-page__logo-piece--yellow{background:#ffb900}.landing-page__btn-text{display:inline-flex}.landing-page__btn-content{display:inline-flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:2}.landing-page__text-char{display:inline-block;transition:all .1s ease}.landing-page__explosion{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.landing-page__debris{position:absolute;width:8px;height:8px;background:var(--lp-primary);border-radius:2px;top:50%;left:50%;opacity:0;pointer-events:none}.landing-page__flash{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);opacity:0;pointer-events:none;z-index:5}.landing-page__signin-btn--exploding{animation:btn-shake .1s ease-in-out 2,btn-dissolve .4s ease-out .2s forwards;pointer-events:none}@keyframes btn-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-1deg)}75%{transform:translate(4px) rotate(1deg)}}@keyframes btn-dissolve{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(8px)}}.landing-page__signin-btn--exploding .landing-page__logo-piece--red{animation:piece-fly-red .6s cubic-bezier(.25,.46,.45,.94) forwards}.landing-page__signin-btn--exploding .landing-page__logo-piece--green{animation:piece-fly-green .6s cubic-bezier(.25,.46,.45,.94) forwards}.landing-page__signin-btn--exploding .landing-page__logo-piece--blue{animation:piece-fly-blue .6s cubic-bezier(.25,.46,.45,.94) forwards}.landing-page__signin-btn--exploding .landing-page__logo-piece--yellow{animation:piece-fly-yellow .6s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes piece-fly-red{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(-60px,-80px) rotate(-180deg) scale(.5);opacity:0}}@keyframes piece-fly-green{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(60px,-70px) rotate(200deg) scale(.5);opacity:0}}@keyframes piece-fly-blue{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(-50px,60px) rotate(-220deg) scale(.5);opacity:0}}@keyframes piece-fly-yellow{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(70px,50px) rotate(190deg) scale(.5);opacity:0}}.landing-page__signin-btn--exploding .landing-page__text-char{animation:char-scatter .5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:calc(var(--char-index) * .02s)}@keyframes char-scatter{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(calc((var(--char-index) - 10) * 15px + (var(--char-index) % 3 - 1) * 30px),calc((var(--char-index) % 5 - 2) * 40px)) rotate(calc((var(--char-index) - 10) * 20deg));opacity:0}}.landing-page__signin-btn--exploding .landing-page__debris{animation:debris-explode .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:calc(var(--debris-index) * 15ms)}@keyframes debris-explode{0%{transform:translate(-50%,-50%) scale(0);opacity:1}20%{transform:translate(-50%,-50%) scale(1.5);opacity:1}to{transform:translate(calc(-50% + (var(--debris-index) - 10) * 25px + cos(var(--debris-index) * .5) * 80px),calc(-50% + sin(var(--debris-index) * .8)*100px - 20px)) rotate(calc(var(--debris-index) * 45deg));opacity:0}}.landing-page__debris:nth-child(4n+1){background:#f25022}.landing-page__debris:nth-child(4n+2){background:#7fba00}.landing-page__debris:nth-child(4n+3){background:#00a4ef}.landing-page__debris:nth-child(4n+4){background:#ffb900}.landing-page__debris:nth-child(3n){width:12px;height:12px}.landing-page__debris:nth-child(3n+1){width:6px;height:6px}.landing-page__debris:nth-child(3n+2){width:10px;height:4px;border-radius:4px}.landing-page__signin-btn--exploding .landing-page__flash{animation:flash-burst .3s ease-out forwards}@keyframes flash-burst{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.landing-page__signin-btn>*{position:relative;z-index:1}.landing-page__microsoft-icon{width:22px;height:22px;flex-shrink:0}.landing-page__security-note{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--lp-text-muted)}.landing-page__lock-icon{width:16px;height:16px;flex-shrink:0}.landing-page__preview{opacity:0;transform:translate(40px) rotateY(-5deg);transition:opacity .8s ease-out .4s,transform .8s ease-out .4s;perspective:1000px}.landing-page--visible .landing-page__preview{opacity:1;transform:translate(0) rotateY(0)}.landing-page__preview-window{background:var(--lp-bg-primary);border-radius:var(--lp-radius-lg);box-shadow:var(--lp-shadow-xl),0 0 0 1px var(--lp-border);overflow:hidden;transform:perspective(1000px) rotateX(2deg) rotateY(-3deg);transition:transform var(--lp-transition)}.landing-page__preview-window:hover{transform:perspective(1000px) rotateX(0) rotateY(0)}.landing-page__preview-header{background:var(--lp-bg-secondary);padding:14px 18px;display:flex;gap:8px;border-bottom:1px solid var(--lp-border)}.landing-page__preview-dot{width:12px;height:12px;border-radius:50%;background:var(--lp-border)}.landing-page__preview-dot:nth-child(1){background:#ff5f57}.landing-page__preview-dot:nth-child(2){background:#febc2e}.landing-page__preview-dot:nth-child(3){background:#28c840}.landing-page__preview-content{padding:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;min-height:280px}.landing-page__preview-chart{border-radius:var(--lp-radius-sm);background:var(--lp-bg-secondary);position:relative;overflow:hidden}.landing-page__preview-chart:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.landing-page__preview-chart--bar{background:linear-gradient(to top,var(--lp-primary-light) 20%,var(--lp-bg-secondary) 20%,var(--lp-bg-secondary) 25%,var(--lp-primary-light) 25%,var(--lp-primary-light) 50%,var(--lp-bg-secondary) 50%,var(--lp-bg-secondary) 55%,var(--lp-primary-light) 55%,var(--lp-primary-light) 85%,var(--lp-bg-secondary) 85%);background-size:20% 100%;background-position:center;background-repeat:repeat-x}.landing-page__preview-chart--line{background:linear-gradient(135deg,transparent 48%,var(--lp-primary-light) 48%,var(--lp-primary-light) 52%,transparent 52%),var(--lp-bg-secondary)}.landing-page__preview-chart--pie{background:conic-gradient(var(--lp-primary) 0deg 120deg,var(--lp-accent) 120deg 200deg,var(--lp-primary-light) 200deg 280deg,var(--lp-border) 280deg 360deg);border-radius:50%;margin:20px}.landing-page__preview-chart--metrics{display:flex;flex-direction:column;justify-content:space-around;padding:16px;background:var(--lp-bg-secondary)}.landing-page__preview-chart--metrics:before,.landing-page__preview-chart--metrics:after{content:"";height:12px;background:linear-gradient(90deg,var(--lp-primary) 70%,var(--lp-bg-secondary) 70%);border-radius:6px}.landing-page__preview-chart--metrics:after{background:linear-gradient(90deg,var(--lp-accent) 45%,var(--lp-bg-secondary) 45%)}.landing-page__features{position:relative;z-index:10;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:60px 80px;background:var(--lp-bg-secondary);border-top:1px solid var(--lp-border)}.landing-page__feature{text-align:center;padding:32px 24px;background:var(--lp-bg-primary);border-radius:var(--lp-radius-md);box-shadow:var(--lp-shadow-sm);border:1px solid var(--lp-border);opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow var(--lp-transition)}.landing-page--visible .landing-page__feature{opacity:1;transform:translateY(0)}.landing-page--visible .landing-page__feature:nth-child(1){transition-delay:.5s}.landing-page--visible .landing-page__feature:nth-child(2){transition-delay:.6s}.landing-page--visible .landing-page__feature:nth-child(3){transition-delay:.7s}.landing-page__feature:hover{box-shadow:var(--lp-shadow-lg)}.landing-page__feature:focus-within{outline:2px solid var(--lp-primary);outline-offset:2px}.landing-page__feature-icon{width:56px;height:56px;margin:0 auto 20px;background:var(--lp-primary-light);border-radius:var(--lp-radius-md);display:flex;align-items:center;justify-content:center;color:var(--lp-primary)}.landing-page__feature-icon svg{width:28px;height:28px}.landing-page__feature-title{font-size:1.125rem;font-weight:700;margin-bottom:8px;color:var(--lp-text-primary)}.landing-page__feature-desc{font-size:.9375rem;color:var(--lp-text-secondary);line-height:1.6}.landing-page__footer{position:relative;z-index:10;padding:24px 40px;text-align:center;color:var(--lp-text-muted);font-size:.875rem;border-top:1px solid var(--lp-border);background:var(--lp-bg-primary)}.landing-page__ribbon{position:relative;z-index:10;width:100%;height:320px;background-repeat:repeat-x;background-position:0 bottom;background-size:auto 100%;flex-shrink:0;animation:ribbon-scroll 30s linear infinite}@keyframes ribbon-scroll{0%{background-position:0 bottom}to{background-position:-200% bottom}}@media (max-width: 768px){.landing-page__ribbon{height:180px}}@media (max-width: 1024px){.landing-page__hero{grid-template-columns:1fr;padding:40px;gap:40px}.landing-page__preview{order:-1;max-width:500px;margin:0 auto}.landing-page__hero-content{text-align:center}.landing-page__subtitle{margin-left:auto;margin-right:auto}.landing-page__features{padding:40px}}@media (max-width: 768px){.landing-page__header{padding:20px 24px}.landing-page__hero{padding:24px}.landing-page__title{font-size:2rem}.landing-page__subtitle{font-size:1.0625rem}.landing-page__signin-btn{padding:14px 24px;font-size:1rem;width:100%;justify-content:center}.landing-page__features{grid-template-columns:1fr;padding:32px 24px;gap:20px}.landing-page__feature{padding:24px 20px}.landing-page__preview-content{min-height:200px;padding:16px;gap:12px}}@media (prefers-contrast: high){:root{--lp-text-primary: #000000;--lp-text-secondary: #333333;--lp-border: #000000}.landing-page__signin-btn{border:2px solid var(--lp-bg-primary)}.landing-page__feature{border-width:2px}}@media (prefers-reduced-motion: reduce){.landing-page__gradient-orb,.landing-page__preview-chart:after{animation:none}.landing-page__header,.landing-page__hero-content,.landing-page__preview,.landing-page__feature{transition:none;opacity:1;transform:none}.landing-page__signin-btn,.landing-page__preview-window,.landing-page__feature{transition:none}}.landing-page__signin-btn:focus-visible,.landing-page__feature:focus-visible{outline:3px solid var(--lp-primary);outline-offset:3px}.landing-page__skip-link{position:absolute;top:-40px;left:0;background:var(--lp-primary);color:#fff;padding:8px 16px;z-index:100;transition:top .3s}.landing-page__skip-link:focus{top:0}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{padding:12px 20px;background:linear-gradient(135deg,#123062,#1a4080);display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1230624d;position:relative;z-index:100}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6cb752,#8cd97a,#6cb752)}.app-header__brand{display:flex;align-items:center;gap:16px}.app-header__logo{width:48px;height:48px;border-radius:10px;object-fit:cover;box-shadow:0 4px 12px #0003;border:2px solid rgba(255,255,255,.2);transition:transform .3s ease}.app-header__logo:hover{transform:scale(1.05)}.app-title{margin:0;font-size:1.375rem;font-weight:700;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.user-info-container{display:flex;align-items:center;gap:20px}.user-info{text-align:right}.user-name{font-weight:600;font-size:14px;color:#fff}.user-email{font-size:12px;color:#ffffffbf}.logout-button{padding:10px 24px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logout-button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.reset-settings-btn{padding:8px 14px;background:#ffffff1a;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.reset-settings-btn:hover{background:#fff3;border-color:#fff6;color:#fff}.reset-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.reset-confirm-dialog{background:#fff;padding:24px;border-radius:12px;max-width:400px;box-shadow:0 20px 40px #0003}.reset-confirm-dialog h3{margin:0 0 12px;color:#123062;font-size:1.25rem}.reset-confirm-dialog p{margin:0 0 20px;color:#6b7280;font-size:.95rem;line-height:1.5}.reset-confirm-buttons{display:flex;gap:12px;justify-content:flex-end}.reset-confirm-buttons .confirm-btn{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s ease}.reset-confirm-buttons .confirm-btn:hover{background:#b91c1c}.reset-confirm-buttons .cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-confirm-buttons .cancel-btn:hover{background:#e5e7eb}.login-button{padding:12px 24px;background-color:#0078d4;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer}.login-button:hover{background-color:#106ebe}.report-container{flex:1;overflow:hidden}.login-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}@media (max-width: 768px){.app-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.app-header__brand{gap:12px}.app-header__logo{width:40px;height:40px;border-radius:8px}.app-title{font-size:1.125rem}.user-info-container{gap:12px}.user-info{display:none}.logout-button{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.app-header{padding:10px 12px}.app-header__brand{gap:10px;flex:1;min-width:0}.app-header__logo{width:36px;height:36px;flex-shrink:0}.app-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button{padding:8px 12px;font-size:12px;white-space:nowrap}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.powerbi-embed{width:100%;height:100%;border:none}.powerbi-embed iframe{border:none!important;border-top:none!important}
