@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{min-width:260px;max-width:420px;padding:13px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-toast);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto;transform:translateY(80px);opacity:0;animation:toastIn .3s ease-out forwards;cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1)}.toast:hover{transform:translate(-4px)}.toast:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring)}@keyframes toastIn{0%{transform:translateY(80px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.toast-message{font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--accent-success);flex:1}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s cubic-bezier(.4,0,.2,1)}.toast-close:hover{color:var(--text-primary)}.toast-success{border-left:4px solid var(--accent-success)}.toast-success .toast-icon{background:var(--accent-success);color:#fff}.toast-error{border-left:4px solid var(--accent-error)}.toast-error .toast-icon{background:var(--accent-error);color:#fff}.toast-warning{border-left:4px solid var(--accent-warning)}.toast-warning .toast-icon{background:var(--accent-warning);color:#fff}.toast-info{border-left:4px solid var(--accent-info)}.toast-info .toast-icon{background:var(--accent-info);color:#fff}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:none}}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-header+main{padding-top:76px}.landing-nav{max-width:1200px;margin:0 auto;padding:20px 32px 20px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:24px}.landing-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;margin-right:0}.landing-logo-img{height:36px;width:auto;object-fit:contain}.landing-header .beta-tag{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;background:var(--accent-subtle);border-radius:4px}.landing-menu{display:flex;align-items:center;gap:8px;flex:1 1 0%;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:4px 0;margin:0 4px}.landing-menu::-webkit-scrollbar{display:none}.landing-menu-block{display:flex;align-items:center;gap:6px;padding:0 12px;border-right:1px solid var(--border);flex-shrink:0}.landing-menu-block:first-child{padding-left:4px}.landing-menu-block:last-child{padding-right:4px;border-right:none}.landing-menu-tab{padding:8px 14px;background:none;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;transition:all .15s ease;text-decoration:none;display:inline-block;white-space:nowrap}.landing-menu-tab.active{color:var(--accent);font-weight:600;background:var(--accent-subtle)}.landing-menu-tab:hover{color:var(--text-primary);background:var(--row-hover)}html:not(.light) .landing-menu-tab:hover{background:#ffffff0a}.landing-actions{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-left:auto;position:relative;z-index:2;background:var(--bg-surface);padding:4px 0 4px 24px}.landing-login-btn{padding:10px 24px;background:transparent;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.landing-login-btn:hover{background:var(--row-hover);border-color:var(--accent);color:var(--accent)}html:not(.light) .landing-login-btn:hover{background:#ffffff0a}.landing-login-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border-color:transparent;box-shadow:var(--shadow-btn)}.landing-login-btn.active:hover{background:linear-gradient(135deg,var(--accent-hover),var(--accent));border-color:transparent;box-shadow:var(--shadow-btn-hover)}@media (max-width: 768px){.landing-nav{padding:16px 20px;gap:12px}.landing-menu{margin:0 2px;padding:4px 0;min-width:0;justify-content:flex-start}.landing-menu-block{padding:0 8px;gap:4px}.landing-menu-block:first-child{padding-left:2px}.landing-menu-block:last-child{padding-right:2px}.landing-menu-tab{padding:8px 10px;font-size:13px}.landing-actions{gap:12px}}.home-page{min-height:100vh;background:var(--bg-page);color:var(--text-primary);display:flex;flex-direction:column}.pricing-section{padding:80px 32px 120px}.hero-section{min-height:85vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vh,80px) 32px clamp(60px,12vh,120px);text-align:center;background:linear-gradient(135deg,var(--bg-page) 0%,var(--bg-surface) 50%,var(--bg-elevated) 100%)}.hero-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(16px,3.5vh,36px)}.hero-badge-group{display:flex;flex-direction:column;align-items:center;gap:4px}.hero-badge-large{display:inline-flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.badge-top{display:flex;align-items:center;gap:20px}.badge-number{font-size:52px;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--accent)}.badge-number-roll{display:inline-flex;gap:2px;vertical-align:middle}.digit-roll-placeholder{display:inline-block;min-width:1.5em;height:1em;line-height:1;font-variant-numeric:tabular-nums}.digit-roll{display:inline-block;overflow:hidden;height:1em;width:.55em;line-height:1;text-align:center}.digit-roll-track{display:flex;flex-direction:column;will-change:transform;height:10em}.digit-roll-cell{flex:0 0 1em;height:1em;min-height:1em;display:flex;align-items:center;justify-content:center;font-size:inherit;font-weight:inherit;font-family:inherit;color:inherit}.badge-text{font-size:52px;font-weight:600;font-family:var(--font-display);text-transform:lowercase;letter-spacing:.02em;color:var(--accent)}.badge-text-small{font-size:42px;font-family:var(--font-display);color:var(--text-primary)}.badge-subtext{font-size:32px;font-weight:500;font-family:var(--font-body);color:var(--text-secondary);margin:0;letter-spacing:.03em}.hero-text-container{text-align:center;width:100%}.hero-title{font-size:56px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);margin:0 0 16px;line-height:1.2;letter-spacing:-.03em;white-space:nowrap}.brush-highlight{position:relative;display:inline-block;padding:10px 18px 12px;z-index:0}.hero-roll-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;height:1.2em;line-height:1.2}.hero-roll-track{display:flex;flex-direction:column;transition:transform .55s cubic-bezier(.32,.72,0,1)}.hero-roll-track.hero-roll-no-transition{transition:none}.hero-roll-track .hero-roll-word{flex:0 0 1.2em;height:1.2em;display:flex;align-items:center;box-sizing:border-box}.hero-roll-word{position:relative;display:inline-flex;align-items:center;padding:0 4px;background:linear-gradient(135deg,var(--accent) 0%,var(--brand-primary-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.hero-title-line2{font-size:30px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);margin:0 0 24px;line-height:1.2;letter-spacing:-.03em}.typing-cursor{display:inline-block;margin-left:2px;font-weight:300;animation:typing-blink .8s step-end infinite}@keyframes typing-blink{50%{opacity:0}}.hero-roll-stats-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .25em;margin:0 0 24px;font-size:24px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);line-height:1.2;letter-spacing:-.03em}.hero-roll-stats-line .hero-roll-wrap{vertical-align:middle}.hero-roll-stats-line .hero-roll-wrap:first-of-type .hero-roll-word{font-variant-numeric:tabular-nums}.hero-roll-stats-placeholder{color:var(--text-muted);font-weight:600}.hero-subtitle{font-size:20px;font-weight:400;font-family:var(--font-body);color:var(--text-secondary);margin:0;margin-top:clamp(20px,4vh,48px);line-height:1.6}.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-primary,.cta-secondary{padding:14px 32px;border:none;border-radius:10px;font-size:16px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:all .15s ease;letter-spacing:.04em}.cta-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;box-shadow:var(--shadow-btn)}.cta-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-btn-hover)}.cta-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.cta-secondary:hover{background:var(--row-hover);border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}html:not(.light) .cta-secondary:hover{background:#ffffff0a;border-color:#7c6af7;color:#7c6af7}.video-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:24px;animation:video-modal-fade-in .2s ease}@keyframes video-modal-fade-in{0%{opacity:0}to{opacity:1}}.video-modal{position:relative;width:100%;max-width:900px;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.video-modal-close{position:absolute;top:12px;right:12px;z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .15s}.video-modal-close:hover{background:#000c}.video-modal-content{position:absolute;top:0;right:0;bottom:0;left:0}.video-modal-iframe{width:100%;height:100%;border:none}.video-section{padding:80px 32px;background:var(--bg-surface)}.video-container{max-width:1000px;margin:0 auto}.section-title{font-size:40px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);text-align:center;margin:0 0 16px;letter-spacing:-.02em}.section-subtitle{font-size:18px;font-weight:400;font-family:var(--font-body);color:var(--text-secondary);text-align:center;margin:0 0 48px}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card);background:var(--bg-elevated)}.demo-video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.features-section{padding:80px 32px;background:var(--bg-page)}.features-container{max-width:1200px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:48px}.feature-card{padding:32px;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);transition:all .15s ease;box-shadow:var(--shadow-sm)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--accent)}html:not(.light) .feature-card:hover{border-color:#7c6af766}.feature-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:12px;color:var(--accent);margin-bottom:24px}.feature-title{font-size:20px;font-weight:600;font-family:var(--font-display);color:var(--text-primary);margin:0 0 12px}.feature-description{font-size:15px;font-weight:400;font-family:var(--font-body);color:var(--text-secondary);margin:0;line-height:1.6}.faq-section{padding:80px 32px;background:var(--bg-surface)}.faq-container{max-width:720px;margin:0 auto}.faq-section .section-title{margin-bottom:12px}.faq-section .section-subtitle{margin-bottom:40px}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid var(--border);transition:background-color .15s ease}.faq-item:first-child{border-top:1px solid var(--border)}.faq-item:hover{background:var(--row-hover)}html:not(.light) .faq-item:hover{background:#ffffff08}.faq-item.open{background:var(--accent-dim)}html:not(.light) .faq-item.open{background:#7c6af70f}.faq-question{width:100%;display:flex;align-items:center;gap:12px;padding:18px 20px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:all .15s ease}.faq-num{flex-shrink:0;font-size:14px;font-weight:600;color:var(--accent);font-family:var(--font-mono)}.faq-q-text{flex:1;font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.4}.faq-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--accent)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.open .faq-answer{max-height:500px}.faq-answer p{margin:0 20px 18px 46px;padding:12px 0 20px 16px;font-size:15px;line-height:1.65;color:var(--text-secondary);font-family:var(--font-body);border-left:3px solid transparent}.faq-item.open .faq-answer p{border-left-color:var(--accent)}.login-section{padding:80px 32px;background:var(--bg-page)}.login-container{max-width:500px;margin:0 auto;padding:48px;background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-card);border:1px solid var(--border)}.login-form{margin-top:32px}.form-group{margin-bottom:24px}.login-input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;font-weight:400;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-elevated);transition:all .15s ease}.login-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.login-input::placeholder{color:var(--text-muted)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .login-input{padding-right:48px}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:4px}.password-toggle-btn:hover{color:var(--text-primary)}.login-submit-btn{width:100%;padding:14px 32px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .15s ease;letter-spacing:.04em;box-shadow:var(--shadow-btn)}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-btn-hover)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-section{padding:80px 32px 120px;background:var(--bg-page)}.pricing-container{max-width:1100px;margin:0 auto;text-align:center}.pricing-section .section-title{margin-bottom:12px}.pricing-section .section-subtitle,.pricing-subtitle{margin-bottom:48px;font-family:var(--font-body);color:var(--text-secondary)}.pricing-billing-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin-bottom:40px}.pricing-toggle-buttons{display:flex;align-items:center;gap:12px}.pricing-toggle-btn{padding:10px 20px;font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.pricing-toggle-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.pricing-toggle-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}html:not(.light) .pricing-toggle-btn.active{border-color:#7c6af766}.pricing-toggle-badge{font-size:14px;font-weight:600;color:var(--text-muted);font-family:var(--font-body)}.pricing-savings-badge{display:block;font-size:12px;font-weight:700;color:var(--accent2);margin-top:6px;font-family:var(--font-mono)}.pricing-savings-placeholder{display:block;height:22px;margin-top:6px}.pricing-table-outer{position:relative;margin:0 auto 48px;max-width:900px}.pricing-popular-badge{position:absolute;top:-28px;left:66.5%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;z-index:2;white-space:nowrap;font-family:var(--font-mono)}.pricing-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-card);background:var(--bg-surface)}.pricing-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px;font-family:var(--font-body)}.pricing-col-feature{width:32%}.pricing-col-plan{width:23%;min-width:120px}.pricing-table th,.pricing-table td{padding:16px 20px;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border);color:var(--text-primary)}.pricing-table th:first-child,.pricing-table td:first-child{text-align:left}.pricing-table thead th{font-weight:600;color:var(--text-primary);background:var(--thead-bg);font-family:var(--font-mono)}.pricing-table th:first-child{border-radius:12px 0 0;background:var(--bg-elevated);color:var(--accent)}.pricing-table th:last-child{border-radius:0 12px 0 0}.pricing-plan-header{display:flex;flex-direction:column;align-items:center;gap:4px}.pricing-plan-name{font-weight:600;color:var(--text-primary)}.pricing-plan-price{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.pricing-plan-period{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:2px}.pricing-table-plan-default{background:var(--bg-elevated)}.pricing-table-plan-featured{background:var(--accent-subtle)!important;color:var(--accent)!important;font-weight:600}.pricing-table-plan-featured .pricing-plan-name,.pricing-table-plan-featured .pricing-plan-price{color:var(--accent)!important;font-weight:700}.pricing-table-plan-featured .pricing-plan-period{color:var(--accent)!important;opacity:.9}.pricing-table-plan-featured .pricing-check{color:var(--accent2)!important}.pricing-table tbody tr:last-child td{border-bottom:none}.pricing-table tbody td{color:var(--text-secondary)}.pricing-table tbody td.pricing-table-plan-featured{color:var(--accent)!important}.pricing-table-feature-col{font-weight:500;color:var(--text-primary)}.pricing-check{color:var(--accent2);font-size:18px;font-weight:600}.pricing-table-cta-row td{padding-top:20px;padding-bottom:20px;vertical-align:middle}.pricing-plan-cta{width:100%;padding:12px 20px;font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.pricing-plan-cta:hover{background:var(--row-hover);border-color:var(--accent);color:var(--accent)}html:not(.light) .pricing-plan-cta:hover{background:#ffffff0a;border-color:#7c6af7;color:#7c6af7}.pricing-plan-cta-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border-color:transparent;box-shadow:var(--shadow-btn)}.pricing-plan-cta-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-btn-hover);border-color:transparent;color:#fff}.home-footer-logo{display:block;margin-bottom:16px}.home-footer-logo-img{height:28px;width:auto;display:inline-block}.home-footer{padding:32px;text-align:center;background:var(--bg-surface);border-top:1px solid var(--border);color:var(--text-secondary);font-size:14px;font-family:var(--font-body)}.home-footer-link{color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}.home-footer-link:hover{color:var(--accent-hover);text-decoration:underline}@media (max-width: 768px){.hero-section{min-height:75vh;padding:clamp(40px,6vh,80px) 20px clamp(48px,8vh,60px)}.hero-title{font-size:36px;white-space:normal;line-height:1.25;padding-left:8px;padding-right:8px}.hero-roll-word{padding:0 2px}.hero-title-line2{font-size:28px}.hero-roll-stats-line{font-size:22px}.hero-subtitle{font-size:18px}.section-title{font-size:32px}.features-grid{grid-template-columns:1fr}.hero-cta{flex-direction:column}.cta-primary,.cta-secondary{width:100%}.pricing-table-wrapper{margin-left:16px;margin-right:16px}.pricing-table th,.pricing-table td{padding:12px 16px;font-size:13px}.pricing-plan-cta{width:100%}.pricing-section{padding:48px 20px 80px}.faq-section{padding:48px 20px 60px}.faq-question{padding:16px}.faq-num{font-size:13px}.faq-q-text{font-size:15px}.faq-answer p{margin-left:28px;margin-right:16px;font-size:14px}}@media (max-width: 480px){.hero-title{font-size:28px;padding-left:4px;padding-right:4px}.hero-roll-word{padding:0 2px}.hero-title-line2{font-size:22px}.hero-roll-stats-line{font-size:18px}}.theme-toggle-wrap{display:flex;align-items:center;gap:10px;margin-left:20px}.theme-toggle-label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.theme-toggle-track{width:44px;height:24px;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--toggle-bg, #ebebf5);cursor:pointer;position:relative;transition:border-color .24s cubic-bezier(.34,1.56,.64,1),background .24s cubic-bezier(.34,1.56,.64,1)}html:not(.light) .theme-toggle-track{border-color:#7c6af74d;--toggle-bg: #1e1e2e}html.light .theme-toggle-track{border-color:#4f35e84d}.theme-toggle-thumb{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:9px;line-height:1;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}html.light .theme-toggle-track .theme-toggle-thumb{transform:translateY(-50%) translate(20px)}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#f6f9fdeb;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dark .header{background:#0f1117eb}.header+main{padding-top:64px}.header-nav{max-width:1400px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:8px}.header-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;margin-right:16px}.header-logo-img{height:32px;width:auto}.header-menu{display:flex;align-items:center;gap:2px;flex-shrink:1;overflow:hidden}.header-menu-tab{padding:6px 10px;background:none;border:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:color var(--fast),background var(--fast);text-decoration:none;display:inline-block;white-space:nowrap}.header-menu-tab.active{color:var(--indigo);background:var(--indigo-bg);font-weight:600}.header-menu-tab:hover{color:var(--text);background:var(--surface2)}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:16px}.header-logout-btn{padding:7px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:border-color var(--fast),color var(--fast)}.header-logout-btn:hover{border-color:var(--indigo);color:var(--indigo)}@media (max-width: 768px){.header-menu-tab{font-size:12px;padding:5px 8px}}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-light);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}.auth-loading p{color:var(--text-secondary);font-size:16px}.fm-main{padding:24px 16px 48px;max-width:1600px;width:100%;box-sizing:border-box;margin:0 auto;overflow-x:hidden}.fm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--text-muted)}.fm-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;animation:fm-spin .8s linear infinite}@keyframes fm-spin{to{transform:rotate(360deg)}}.fm-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px;padding:28px 24px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 3px #0000000a}.fm-header-left{display:flex;flex-direction:column;gap:8px;min-width:0}.fm-header-tagline{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.45;font-weight:500;letter-spacing:.01em}.fm-model-selector{position:relative}.fm-model-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .15s}.fm-model-btn:hover{background:var(--bg-active);border-color:var(--brand-primary)}.fm-model-chevron{font-size:10px;color:var(--text-muted)}.fm-model-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);padding:8px;z-index:100}.fm-model-option{display:block;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;font-size:14px;text-align:left;color:var(--text-primary);cursor:pointer;transition:background .15s}.fm-model-option:hover{background:var(--bg-hover)}.fm-model-option.active{background:var(--brand-primary-soft);color:var(--brand-primary);font-weight:600}.fm-model-option.fm-model-delete:hover{background:var(--accent-error-soft);color:var(--accent-error)}.fm-model-menu-divider{height:1px;background:var(--divider);margin:8px 0}.fm-preset-dropdown{display:flex;align-items:center;gap:8px}.fm-preset-label{font-size:13px;color:var(--text-muted);white-space:nowrap}.fm-preset-dropdown select{padding:8px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.fm-title{font-size:30px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.03em;line-height:1.2}.fm-subtitle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin:0;padding:6px 12px;background:var(--bg-hover);border-radius:8px;width:fit-content;font-weight:500;letter-spacing:.02em}.fm-save-btn{margin-left:auto;padding:10px 24px;background:var(--brand-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.fm-save-btn:hover:not(:disabled){background:var(--brand-primary-hover);transform:translateY(-1px)}.fm-save-btn:disabled{opacity:.7;cursor:not-allowed}.fm-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.fm-header-actions .fm-onboarding-link{font-size:13px;color:var(--brand-primary);text-decoration:none;padding:8px 14px;border:1px solid var(--brand-primary-muted);border-radius:6px;background:var(--brand-primary-soft);transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;font-weight:500}.fm-header-actions .fm-onboarding-link:hover{background:var(--brand-primary-muted);color:var(--brand-primary);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.fm-header-actions .fm-onboarding-link:active{transform:translateY(0)}.fm-export-btn{padding:8px 16px;height:44px;min-width:140px;border-radius:8px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;box-shadow:var(--shadow-btn);cursor:pointer;transition:all .2s ease}.fm-export-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-btn-hover)}.fm-export-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.fm-view-toggle{display:flex;gap:4px;background:var(--bg-hover);padding:4px;border-radius:8px}.fm-view-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.fm-view-btn:hover{color:var(--text-primary)}.fm-view-btn.active{background:var(--bg-secondary);color:var(--brand-primary);box-shadow:var(--shadow-sm)}.fm-balance-sheet-section{width:100%}.fm-balance-sheet-section .fm-balance-sheet-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.fm-balance-sheet-section .fm-balance-sheet-table{min-width:fit-content;table-layout:auto}.fm-balance-sheet-section .fm-balance-sheet-table tr,.fm-balance-sheet-section .fm-balance-sheet-table th,.fm-balance-sheet-section .fm-balance-sheet-table td{white-space:nowrap}.fm-balance-sheet-section .fm-balance-sheet-table th:first-child,.fm-balance-sheet-section .fm-balance-sheet-table td:first-child{padding-right:100px}.fm-balance-sheet-section .fm-balance-sheet-table th:not(:first-child),.fm-balance-sheet-section .fm-balance-sheet-table td:not(:first-child){min-width:110px;padding-left:16px;padding-right:16px}.fm-balance-sheet-section .fm-balance-sheet-table th:nth-child(2n),.fm-balance-sheet-section .fm-balance-sheet-table td:nth-child(2n){background:var(--bg-primary)}.fm-balance-sheet-section .fm-balance-sheet-table th:nth-child(odd):not(:first-child),.fm-balance-sheet-section .fm-balance-sheet-table td:nth-child(odd):not(:first-child){background:var(--bg-tertiary)}.fm-balance-sheet-section .fm-balance-sheet-table tbody tr:hover td:nth-child(2n),.fm-balance-sheet-section .fm-balance-sheet-table tbody tr:hover td:nth-child(odd):not(:first-child){background:var(--bg-hover)}.fm-dashboard{padding-bottom:24px}.fm-dashboard-header{margin-bottom:20px}.fm-dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:20px;margin-bottom:28px}.fm-dashboard-metric{border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;border:1px solid transparent;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .2s ease}.fm-dashboard-metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.fm-dashboard-metric-label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.3;opacity:.9}.fm-dashboard-metric-value{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.fm-dashboard-metric--capital18{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}.fm-dashboard-metric--capital18 .fm-dashboard-metric-label{color:#9a3412}.fm-dashboard-metric--capital18 .fm-dashboard-metric-value{color:#c2410c}.fm-dashboard-metric--capital36{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d}.fm-dashboard-metric--capital36 .fm-dashboard-metric-label{color:#92400e}.fm-dashboard-metric--capital36 .fm-dashboard-metric-value{color:#b45309}.fm-dashboard-metric--profitability{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.fm-dashboard-metric--profitability .fm-dashboard-metric-label{color:#065f46}.fm-dashboard-metric--profitability .fm-dashboard-metric-value{color:#059669}.fm-dashboard-metric--expenses{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.fm-dashboard-metric--expenses .fm-dashboard-metric-label{color:#1e40af}.fm-dashboard-metric--expenses .fm-dashboard-metric-value{color:#2563eb}.fm-dashboard-metric--staff{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}.fm-dashboard-metric--staff .fm-dashboard-metric-label{color:#3730a3}.fm-dashboard-metric--staff .fm-dashboard-metric-value{color:#4f46e5}.fm-dashboard-row-2{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px;align-items:start}.fm-dashboard-row-2 .fm-revenue-expense-chart-container,.fm-dashboard-row-2 .fm-pie-chart-container{margin-top:0}.fm-dashboard-row-2 .fm-revenue-expense-chart-wrap{height:380px;min-height:380px}.fm-dashboard-row-3{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:start}.fm-dashboard-row-4{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}@media (max-width: 900px){.fm-dashboard-row-2,.fm-dashboard-row-3{grid-template-columns:1fr}}.fm-dashboard-pie-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:0}.fm-pie-chart-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.fm-chart-title-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 16px}.fm-chart-title-row .fm-pie-chart-title{margin:0}.fm-chart-info-wrap{position:relative;display:inline-flex;flex-shrink:0}.fm-chart-info-wrap--chart-title .fm-chart-info{width:16px;height:16px;font-size:11px}.fm-chart-info-wrap--kpi .fm-chart-info{width:13px;height:13px;font-size:9px}.fm-chart-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--text-muted);color:var(--bg-primary);font-size:11px;font-weight:700;font-style:italic;cursor:help}.fm-chart-info-wrap:hover .fm-chart-info{background:var(--brand-primary);color:#fff}.fm-chart-info-tooltip{z-index:10000;min-width:320px;max-width:420px;padding:10px 12px;font-size:12px;line-height:1.45;font-weight:400;font-style:normal;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);pointer-events:none;white-space:normal;text-align:left}.fm-chart-info-tooltip--fixed{position:fixed;width:380px;max-width:calc(100vw - 24px);max-height:min(50vh,320px);overflow-y:auto;transform:none}.fm-chart-info-tooltip--fixed.fm-chart-info-tooltip--above:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color)}.fm-chart-info-tooltip--fixed.fm-chart-info-tooltip--below:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--border-color)}.fm-pie-chart-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin:0 0 16px;text-align:center}.fm-pie-chart-empty{height:380px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.fm-pie-chart-container .recharts-legend-wrapper{font-size:11px}.fm-pie-chart-container .recharts-legend-wrapper .recharts-legend-item{margin-right:12px}.fm-pie-chart-container .recharts-legend-wrapper .recharts-legend-item .recharts-legend-icon{width:8px;height:8px}.fm-revenue-expense-chart-container{margin-top:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.fm-jcurve-container,.fm-efficiency-frontier-container{margin-top:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.fm-revenue-expense-chart-wrap{width:100%;max-width:100%;min-height:380px;box-sizing:border-box}.fm-revenue-expense-chart-wrap .recharts-cartesian-grid-horizontal line,.fm-revenue-expense-chart-wrap .recharts-cartesian-grid-vertical line{stroke:var(--border-light)}.fm-revenue-expense-chart-wrap .recharts-legend-wrapper{font-size:11px}.fm-revenue-expense-chart-wrap .recharts-legend-wrapper .recharts-legend-item{margin-right:12px}.fm-revenue-expense-chart-wrap .recharts-legend-wrapper .recharts-legend-item .recharts-legend-icon{width:8px;height:8px}.fm-bar-tooltip{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;min-width:140px;font-size:11px}.fm-bar-tooltip-title{font-weight:600;margin-bottom:4px}.fm-bar-tooltip-row{margin-bottom:2px}.fm-bar-tooltip-row.fm-bar-tooltip-revenue{color:var(--accent-success)}.fm-bar-tooltip-total{margin-top:3px;font-weight:600}.fm-bar-tooltip-net-cash{margin-top:4px;padding-top:3px;border-top:1px solid var(--border-color);font-weight:600}.fm-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.fm-chart-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:16px}.fm-chart-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}@media (max-width: 768px){.fm-main{padding:16px 12px 32px}.fm-header{flex-direction:column;align-items:flex-start;padding:20px 16px;gap:20px}.fm-title{font-size:24px}.fm-header-tagline{font-size:13px}.fm-subtitle{font-size:12px;padding:5px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-header-actions{margin-left:0;flex-wrap:wrap;width:100%}.fm-charts,.fm-grid{grid-template-columns:1fr}.fm-revenue-fields{grid-template-columns:1fr 1fr}.fm-preset-dropdown{flex-wrap:wrap}.fm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}.fm-content{display:flex;flex-direction:column;gap:32px}.fm-section{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm)}.fm-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;gap:16px}.fm-section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.fm-section-header .fm-section-title{margin-bottom:0}.fm-section-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.fm-section-save-btn{padding:6px 14px;font-size:13px;font-weight:500;background:var(--brand-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.fm-section-save-btn:hover:not(:disabled){background:var(--brand-primary-hover)}.fm-section-save-btn:disabled{opacity:.7;cursor:not-allowed}.fm-section-revenue{border-left:4px solid #22C55E}.fm-section-revenue .fm-section-header{border-bottom:1px solid rgba(34,197,94,.25)}.fm-section-revenue .fm-section-title{color:#166534}.fm-section-cogs{border-left:4px solid #ff506f}.fm-section-cogs .fm-section-header{border-bottom:1px solid rgba(255,80,111,.25)}.fm-section-cogs .fm-section-title{color:#be123c}.fm-section-sga{border-left:4px solid #3abeff}.fm-section-sga .fm-section-header{border-bottom:1px solid rgba(58,190,255,.25)}.fm-section-sga .fm-section-title{color:#0369a1}.fm-section-staff{border-left:4px solid #2ec4b6}.fm-section-staff .fm-section-header{border-bottom:1px solid rgba(46,196,182,.25)}.fm-section-staff .fm-section-title{color:#0f766e}.fm-section-capex{border-left:4px solid #ffc000}.fm-section-capex .fm-section-header{border-bottom:1px solid rgba(255,192,0,.35)}.fm-section-capex .fm-section-title{color:#b45309}.fm-section-fundraising{border-left:4px solid #22C55E}.fm-section-fundraising .fm-section-header{border-bottom:1px solid rgba(34,197,94,.25)}.fm-section-fundraising .fm-section-title{color:#166534}.fm-tax-subsection{margin-top:20px;padding:16px;border-radius:8px;border-left:4px solid #14425e}.fm-tax-subsection .fm-subsection-title{color:#1e3a5f;margin-top:0}.fm-settings-section{border-left:4px solid #6366f1}.fm-settings-section>.fm-section-title{color:#4338ca}.fm-settings-section .fm-grid:first-of-type{border-bottom:1px solid rgba(99,102,241,.2);padding-bottom:16px;margin-bottom:4px}.fm-section-assumptions{border-left:4px solid #0ea5e9}.fm-section-assumptions .fm-section-header{border-bottom:1px solid rgba(14,165,233,.25)}.fm-section-assumptions .fm-section-title{color:#0369a1}.fm-depreciation-subsection{margin-top:12px;padding-left:16px;border-radius:8px;border-left:4px solid #f59e0b;overflow:hidden}.fm-depreciation-subsection .fm-expandable-header{color:#b45309;padding-left:0;text-align:left;justify-content:flex-start;align-items:center}.fm-depreciation-subsection .fm-expandable-content{border-top:1px solid rgba(245,158,11,.2);padding-top:12px}.fm-depreciation-subsection .fm-subsection-title{color:#92400e}.fm-onboarding-link{font-size:13px;color:var(--brand-primary);text-decoration:none;padding:6px 12px;border:1px solid var(--brand-primary-muted);border-radius:6px;background:var(--brand-primary-soft);transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;font-weight:500}.fm-onboarding-link:hover{background:var(--brand-primary-muted);color:var(--brand-primary);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.fm-onboarding-link:active{transform:translateY(0)}.fm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:start}.fm-settings-section .fm-grid{grid-template-columns:1fr .7fr .7fr .7fr 1fr 1fr 1fr 1fr;gap:10px}.fm-tax-grid{grid-template-columns:repeat(8,1fr);gap:10px}.fm-tax-grid .fm-field{min-width:0}.fm-tax-grid .fm-field label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.fm-tax-grid .fm-field input,.fm-tax-grid .fm-field select{padding:6px 8px;font-size:13px;width:100%;box-sizing:border-box}.fm-tax-grid .fm-field:nth-child(1),.fm-tax-grid .fm-field:nth-child(2),.fm-tax-grid .fm-field:nth-child(3),.fm-tax-grid .fm-field:nth-child(4){min-width:0;flex:1 1 0}.fm-tax-grid .fm-percent-input{width:100%;display:flex;align-items:center;gap:4px}.fm-tax-grid .fm-percent-input input{flex:1;min-width:0}.fm-settings-section .fm-field{min-width:0}.fm-settings-section .fm-field label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;margin-bottom:4px}.fm-settings-section .fm-field input,.fm-settings-section .fm-field select{padding:8px 10px;font-size:13px;width:100%;box-sizing:border-box}.fm-settings-section .fm-grid>.fm-field:nth-child(2),.fm-settings-section .fm-grid>.fm-field:nth-child(3),.fm-settings-section .fm-grid>.fm-field:nth-child(4){max-width:110px}.fm-settings-section .fm-grid>.fm-field:nth-child(2) input,.fm-settings-section .fm-grid>.fm-field:nth-child(2) select,.fm-settings-section .fm-grid>.fm-field:nth-child(3) input,.fm-settings-section .fm-grid>.fm-field:nth-child(3) select,.fm-settings-section .fm-grid>.fm-field:nth-child(4) input,.fm-settings-section .fm-grid>.fm-field:nth-child(4) select{padding:8px;font-size:12px}.fm-settings-section .fm-field input,.fm-settings-section .fm-field select,.fm-settings-section .fm-percent-input,.fm-settings-section .fm-currency-input{height:36px;min-height:36px;box-sizing:border-box}.fm-settings-section .fm-percent-input input,.fm-settings-section .fm-currency-input input{height:100%;min-height:0}.fm-settings-section .fm-percent-input,.fm-settings-section .fm-currency-input{display:flex;align-items:center;gap:4px}.fm-settings-section .fm-field-hint{font-size:10px;margin-top:2px;line-height:1.2}.fm-field{display:flex;flex-direction:column;gap:6px}.fm-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.fm-field-hint{font-size:11px;color:var(--text-muted);margin-top:4px;display:block}.fm-field input,.fm-field select{padding:10px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary)}.fm-field input:focus,.fm-field select:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring-offset),0 0 0 4px var(--focus-ring)}.fm-add-btn{padding:5px 10px;background:var(--brand-primary-soft);color:var(--brand-primary);border:1px solid var(--brand-primary-muted);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.fm-add-btn:hover{background:var(--brand-primary-muted)}.fm-hint{font-size:13px;color:var(--text-muted);margin:0 0 16px}.fm-empty{font-size:14px;color:var(--text-muted);margin:0}.fm-kpis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.fm-kpis-group{display:flex;flex-direction:column;gap:12px;min-width:0}.fm-kpis-group-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-light)}.fm-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fm-kpi-card{padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:0}.fm-kpi-label-row{display:inline-flex;align-items:center;gap:6px}.fm-kpi-label{font-size:12px;font-weight:500;color:var(--text-muted)}.fm-kpi-value{font-size:18px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.fm-kpi-value.fm-positive{color:var(--accent-success)}.fm-kpi-value.fm-negative{color:var(--accent-error)}.fm-kpi-value.fm-status-coral{color:#ff506f}.fm-kpi-value.fm-status-amber{color:#f59e0b}.fm-kpi-value.fm-status-teal{color:#0d9488}.fm-kpi-sparkline{width:100%;height:36px;margin-top:8px;min-height:36px}.fm-kpi-card-footer{margin-top:4px;font-size:10px;font-weight:500;color:var(--text-muted);text-align:right}.fm-kpi-sparkline .recharts-cartesian-axis,.fm-kpi-sparkline .recharts-legend-wrapper{display:none}.fm-kpi-sparkline-tooltip{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px;font-size:12px}.fm-kpi-sparkline-tooltip-label{font-weight:600;color:var(--text-primary)}.fm-kpi-sparkline-tooltip-value{font-variant-numeric:tabular-nums;color:var(--text-muted)}.fm-kpi-header{margin-bottom:20px}.fm-kpi-month-select{display:flex;align-items:center;gap:10px}.fm-kpi-month-label{font-size:13px;font-weight:500;color:var(--text-muted);margin:0;white-space:nowrap}.fm-kpi-month-dropdown{padding:8px 12px;font-size:14px;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;min-width:140px;cursor:pointer}.fm-kpi-month-dropdown:hover{border-color:var(--brand-primary)}.fm-kpi-month-dropdown:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary-soft)}@media (max-width: 900px){.fm-kpis-grid{grid-template-columns:1fr}.fm-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.fm-kpis{grid-template-columns:1fr}}.fm-table .fm-negative{color:var(--accent-error)}.fm-revenue-list{display:flex;flex-direction:column;gap:16px}.fm-revenue-card{padding:16px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px}.fm-revenue-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.fm-revenue-name{flex:1;padding:8px 12px;font-size:14px;font-weight:600;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary)}.fm-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);color:var(--text-muted);border:none;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;transition:all .15s}.fm-remove-btn:hover{background:var(--accent-error-soft);color:var(--accent-error)}.fm-revenue-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.fm-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.fm-table{width:100%;border-collapse:collapse;font-size:14px}.fm-table th,.fm-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light);vertical-align:middle}.fm-derived-row{background:var(--bg-primary)}.fm-derived-row td{color:var(--text-primary)}.fm-derived-label{margin-right:6px}.fm-derived-badge{font-size:11px;color:var(--text-muted);font-weight:500;margin-left:6px}.fm-derived-sep{color:var(--text-muted);margin:0 2px}.fm-derived-role{color:var(--brand-primary);font-weight:500}.fm-action-col{text-align:center;width:44px}.fm-rows-table td:last-child,.fm-staff-table td:last-child{text-align:center}.fm-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary)}.fm-table td{color:var(--text-primary)}.fm-table tbody tr:hover{background:var(--bg-hover)}.fm-num{text-align:right!important;font-variant-numeric:tabular-nums}.fm-num input[type=number]{text-align:right}.fm-num .fm-currency-input,.fm-num .fm-percent-input{justify-content:flex-end}.fm-statement-transposed{min-width:fit-content;table-layout:auto}.fm-statement-transposed tr,.fm-statement-transposed th,.fm-statement-transposed td{white-space:nowrap}.fm-statement-transposed th:not(:first-child),.fm-statement-transposed td:not(:first-child){min-width:110px}.fm-statement-transposed th:first-child,.fm-statement-transposed td:first-child{position:sticky;left:0;background:var(--bg-tertiary);z-index:1;font-weight:600;text-align:left!important;white-space:nowrap}.fm-fs-table th:first-child,.fm-fs-table td:first-child{min-width:200px;max-width:240px;width:200px;padding-right:20px;padding-left:10px;box-sizing:border-box;text-align:left!important}.fm-fs-table td:first-child.fm-stmt-indent{justify-content:flex-start!important}.fm-balance-sheet-table th:first-child,.fm-balance-sheet-table td:first-child{padding-right:100px}.fm-statement-transposed tbody td:first-child{background:var(--bg-secondary);font-weight:500}.fm-statement-transposed tbody tr:hover td:first-child{background:var(--bg-hover)}.fm-statement-transposed th.fm-year-1,.fm-statement-transposed td.fm-year-1{background:var(--bg-tertiary)}.fm-statement-transposed tbody tr:hover td.fm-year-1{background:var(--bg-hover)}.fm-statement-transposed tbody tr.fm-stmt-section-header{cursor:pointer;font-weight:600}.fm-statement-transposed tbody tr.fm-stmt-section-header:hover td{background:inherit!important;filter:brightness(.97)}.fm-stmt-header-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-stmt-label{flex:1}.fm-stmt-chevron{flex-shrink:0;font-size:.7em;color:var(--text-secondary);opacity:.8}.fm-stmt-indent{padding-left:1.75em!important;display:flex;align-items:center;gap:6px;justify-content:flex-start;text-align:left!important}.fm-stmt-row-label{flex:0 1 auto;text-align:left!important}.fm-stmt-info{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;font-size:.85em;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f1f5f9);border-radius:50%;cursor:help;flex-shrink:0}.fm-stmt-info:hover{color:var(--brand-primary, #3b82f6);background:var(--bg-hover, #e2e8f0)}.fm-stmt-tooltip{z-index:9999;padding:8px 12px;font-size:12px;line-height:1.4;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);max-width:280px;white-space:normal;pointer-events:auto}.fm-stmt-row-expandable{cursor:pointer}.fm-stmt-row-expandable:hover td{background:inherit;filter:brightness(.98)}.fm-stmt-row-chevron{margin-right:6px;font-size:.65em;color:var(--text-muted)}.fm-stmt-sub-row td{font-size:.8em}.fm-stmt-sub-indent{padding-left:2.5em!important}.fm-statement-transposed tbody tr.fm-stmt-detail-row td{font-size:.875em;font-weight:400}.fm-statement-transposed tbody tr.fm-stmt-detail-row td:first-child{color:var(--text-secondary, #64748b)}.fm-statement-transposed tbody tr.fm-stmt-revenue td:first-child{background:#dcfce7!important;border-left:3px solid #22C55E}.fm-statement-transposed tbody tr.fm-stmt-revenue td:not(:first-child){background:#f0fdf4}.fm-statement-transposed tbody tr.fm-stmt-revenue:hover td{background:#bbf7d0!important}.fm-statement-transposed tbody tr.fm-stmt-cogs td:first-child{background:#ffe4e6!important;border-left:3px solid #ff506f}.fm-statement-transposed tbody tr.fm-stmt-cogs td:not(:first-child){background:#fff1f2}.fm-statement-transposed tbody tr.fm-stmt-cogs:hover td{background:#ffc9d0!important}.fm-statement-transposed tbody tr.fm-stmt-sga td:first-child{background:#e0f2fe!important;border-left:3px solid #3abeff}.fm-statement-transposed tbody tr.fm-stmt-sga td:not(:first-child){background:#f0f9ff}.fm-statement-transposed tbody tr.fm-stmt-sga:hover td{background:#bae6fd!important}.fm-statement-transposed tbody tr.fm-stmt-staff td:first-child{background:#ccfbf1!important;border-left:3px solid #2ec4b6}.fm-statement-transposed tbody tr.fm-stmt-staff td:not(:first-child){background:#f0fdfa}.fm-statement-transposed tbody tr.fm-stmt-staff:hover td{background:#99f6e4!important}.fm-statement-transposed tbody tr.fm-stmt-capex td:first-child{background:#fef9c3!important;border-left:3px solid #ffc000}.fm-statement-transposed tbody tr.fm-stmt-capex td:not(:first-child){background:#fefce8}.fm-statement-transposed tbody tr.fm-stmt-capex:hover td{background:#fef08a!important}.fm-statement-transposed tbody tr.fm-stmt-fundraising td:first-child{background:#dcfce7!important;border-left:3px solid #22C55E}.fm-statement-transposed tbody tr.fm-stmt-fundraising td:not(:first-child){background:#f0fdf4}.fm-statement-transposed tbody tr.fm-stmt-fundraising:hover td{background:#bbf7d0!important}.fm-statement-transposed tbody tr.fm-stmt-vat td:first-child{background:#c7d2fe!important;border-left:3px solid #14425e}.fm-statement-transposed tbody tr.fm-stmt-vat td:not(:first-child){background:#e0e7ff}.fm-statement-transposed tbody tr.fm-stmt-vat:hover td{background:#a5b4fc!important}.fm-statement-transposed tbody tr.fm-stmt-results td:first-child{background:#dcfce7!important;border-left:3px solid #22C55E}.fm-statement-transposed tbody tr.fm-stmt-results td:not(:first-child){background:#f0fdf4}.fm-statement-transposed tbody tr.fm-stmt-results:hover td{background:#bbf7d0!important}.fm-statement-transposed tbody tr.fm-stmt-ebitda td:first-child{background:#ccfbf1!important;border-left:3px solid #0d9488}.fm-statement-transposed tbody tr.fm-stmt-ebitda td:not(:first-child){background:#f0fdfa}.fm-statement-transposed tbody tr.fm-stmt-ebitda:hover td{background:#99f6e4!important}.fm-statement-transposed tbody tr.fm-stmt-ebit td:first-child{background:#ccfbf1!important;border-left:3px solid #0d9488}.fm-statement-transposed tbody tr.fm-stmt-ebit td:not(:first-child){background:#f0fdfa}.fm-statement-transposed tbody tr.fm-stmt-ebit:hover td{background:#99f6e4!important}.fm-statement-transposed tbody tr.fm-stmt-net td:first-child{background:#dcfce7!important;border-left:3px solid #22C55E}.fm-statement-transposed tbody tr.fm-stmt-net td:not(:first-child){background:#f0fdf4}.fm-statement-transposed tbody tr.fm-stmt-net:hover td{background:#bbf7d0!important}.fm-statement-transposed tbody tr.fm-stmt-cash td:first-child{background:#ede9fe!important;border-left:3px solid #7C3AED;text-align:left!important;justify-content:flex-start!important;padding-left:10px!important}.fm-statement-transposed tbody tr.fm-stmt-cash td:first-child .fm-stmt-row-label{text-align:left!important}.fm-statement-transposed tbody tr.fm-stmt-cash td:not(:first-child){background:#f5f3ff}.fm-statement-transposed tbody tr.fm-stmt-cash:hover td{background:#ddd6fe!important}.fm-section-financial-statement{background:var(--bg-surface)!important;border:1px solid var(--border)!important;border-radius:12px;padding:24px;box-shadow:var(--shadow-card)}.fm-section-financial-statement .fm-section-header{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px}.fm-section-financial-statement .fm-section-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary)}.fm-section-financial-statement .fm-view-toggle{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:4px;gap:3px}.fm-section-financial-statement .fm-view-btn{background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:7px 12px;border-radius:7px;border:none;transition:all .18s ease}.fm-section-financial-statement .fm-view-btn:hover{background:var(--row-hover);color:var(--text-secondary)}html:not(.light) .fm-section-financial-statement .fm-view-btn:hover{background:#ffffff0a;color:#9ca3af}.fm-section-financial-statement .fm-view-btn.active{background:var(--accent-dim);color:var(--accent);box-shadow:0 0 0 1px #4f35e847}html:not(.light) .fm-section-financial-statement .fm-view-btn.active{background:#7c6af72e;color:#7c6af7;box-shadow:0 0 0 1px #7c6af740}.fm-section-financial-statement .fm-table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.fm-section-financial-statement .fm-statement-transposed,.fm-section-financial-statement .fm-balance-sheet-table{background:var(--bg-surface)}.fm-section-financial-statement .fm-statement-transposed thead th,.fm-section-financial-statement .fm-balance-sheet-table thead th{background:var(--thead-bg)!important;color:var(--accent)!important;font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);padding:12px 14px}.fm-section-financial-statement .fm-statement-transposed th:first-child,.fm-section-financial-statement .fm-statement-transposed td:first-child,.fm-section-financial-statement .fm-balance-sheet-table th:first-child,.fm-section-financial-statement .fm-balance-sheet-table td:first-child{background:var(--bg-surface)!important;color:var(--text-primary);border-right:1px solid var(--border)}.fm-section-financial-statement .fm-statement-transposed tbody td:first-child{background:var(--bg-elevated)!important;color:var(--text-primary);font-weight:500}.fm-section-financial-statement .fm-statement-transposed tbody tr:hover td:first-child,.fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:first-child{background:var(--row-hover)!important}html:not(.light) .fm-section-financial-statement .fm-statement-transposed tbody tr:hover td:first-child,html:not(.light) .fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:first-child{background:#7c6af70f!important}.fm-section-financial-statement .fm-statement-transposed td:not(:first-child),.fm-section-financial-statement .fm-balance-sheet-table td:not(:first-child){color:var(--text-primary);font-family:var(--font-mono)}.fm-section-financial-statement .fm-balance-sheet-table th:nth-child(2n),.fm-section-financial-statement .fm-balance-sheet-table td:nth-child(2n),.fm-section-financial-statement .fm-balance-sheet-table th:nth-child(odd):not(:first-child),.fm-section-financial-statement .fm-balance-sheet-table td:nth-child(odd):not(:first-child){background:var(--bg-elevated)!important;color:var(--text-primary)}.fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:nth-child(2n),.fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:nth-child(odd):not(:first-child){background:var(--row-hover)!important}html:not(.light) .fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:nth-child(2n),html:not(.light) .fm-section-financial-statement .fm-balance-sheet-table tbody tr:hover td:nth-child(odd):not(:first-child){background:#7c6af70a!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-revenue td:first-child{background:#22c55e1f!important;border-left:3px solid #22c55e;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-revenue td:not(:first-child){background:#22c55e0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-revenue:hover td{background:#22c55e2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cogs td:first-child{background:#ff506f1f!important;border-left:3px solid #ff506f;color:#fda4af}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cogs td:not(:first-child){background:#ff506f0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cogs:hover td{background:#ff506f2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-sga td:first-child{background:#3abeff1f!important;border-left:3px solid #3abeff;color:#7dd3fc}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-sga td:not(:first-child){background:#3abeff0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-sga:hover td{background:#3abeff2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-staff td:first-child{background:#2ec4b61f!important;border-left:3px solid #2ec4b6;color:#5eead4}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-staff td:not(:first-child){background:#2ec4b60f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-staff:hover td{background:#2ec4b62e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-capex td:first-child{background:#ffc0001f!important;border-left:3px solid #ffc000;color:#fde047}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-capex td:not(:first-child){background:#ffc0000f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-capex:hover td{background:#ffc0002e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-fundraising td:first-child{background:#22c55e1f!important;border-left:3px solid #22c55e;color:#86efac}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-fundraising td:not(:first-child){background:#22c55e0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-fundraising:hover td{background:#22c55e2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-vat td:first-child{background:#6366f11f!important;border-left:3px solid #6366f1;color:#a5b4fc}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-vat td:not(:first-child){background:#6366f10f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-vat:hover td{background:#6366f12e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-results td:first-child,.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-net td:first-child{background:#22c55e1f!important;border-left:3px solid #22c55e;color:#86efac}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-results td:not(:first-child),.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-net td:not(:first-child){background:#22c55e0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-results:hover td,.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-net:hover td{background:#22c55e2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebitda td:first-child,.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebit td:first-child{background:#0d94881f!important;border-left:3px solid #0d9488;color:#5eead4}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebitda td:not(:first-child),.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebit td:not(:first-child){background:#0d94880f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebitda:hover td,.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-ebit:hover td{background:#0d94882e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cash td:first-child{background:#7c3aed1f!important;border-left:3px solid #7c3aed;color:#c4b5fd}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cash td:not(:first-child){background:#7c3aed0f!important;color:var(--text-primary)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-cash:hover td{background:#7c3aed2e!important}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-section-header td,.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-total td,.fm-section-financial-statement .fm-balance-sheet-table tbody tr.fm-stmt-section-header td,.fm-section-financial-statement .fm-balance-sheet-table tbody tr.fm-stmt-total td{background:var(--bg-elevated)!important;color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--border)}.fm-section-financial-statement .fm-statement-transposed tbody tr.fm-stmt-detail-row td:first-child{color:var(--text-secondary)}.fm-section-financial-statement .fm-statement-transposed th.fm-year-1,.fm-section-financial-statement .fm-statement-transposed td.fm-year-1{background:var(--bg-elevated)!important}.fm-staff-table{width:100%;min-width:1200px;border-collapse:collapse;font-size:13px}.fm-staff-table th,.fm-staff-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-light);vertical-align:middle}.fm-staff-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);white-space:normal;line-height:1.3}.fm-staff-table{table-layout:fixed}.fm-staff-table td{color:var(--text-primary)}.fm-staff-table tbody tr:hover{background:var(--bg-hover)}.fm-staff-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.fm-staff-num{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);text-align:right}.fm-staff-select{min-width:100px;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.fm-rows-table{table-layout:fixed}.fm-rows-table th,.fm-rows-table td{padding:8px 10px;vertical-align:middle}.fm-row-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.fm-row-num{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);text-align:right}.fm-currency-input{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.fm-currency-input .fm-currency-symbol{color:var(--text-muted);font-size:13px;flex-shrink:0}.fm-currency-input input{flex:1;min-width:0;border:none;background:transparent;padding:0;font-size:13px;color:var(--text-primary);text-align:right}.fm-percent-input{display:flex;align-items:center;gap:4px;min-width:0;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.fm-percent-input .fm-percent-suffix{color:var(--text-muted);font-size:13px;flex-shrink:0}.fm-percent-input input{flex:1;min-width:0;border:none;background:transparent;padding:0;font-size:13px;color:var(--text-primary);text-align:right}.fm-month-year-input{display:flex;align-items:center;gap:6px;min-width:0;width:100%;box-sizing:border-box}.fm-month-year-empty{width:100%;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.fm-month-year-inactive{display:flex;align-items:center;justify-content:center;min-width:68px;padding:6px 8px;font-size:13px;color:var(--text-muted);border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary)}.fm-month-year-empty .fm-month-year-inactive+.fm-month-year-inactive{min-width:62px}.fm-month-year-active{display:flex;align-items:center;justify-content:center;min-width:68px;padding:6px 8px;font-size:13px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary)}.fm-month-year-empty .fm-month-year-active+.fm-month-year-active{min-width:62px}.fm-month-year-empty .fm-month-year-set{margin-left:auto;flex-shrink:0}.fm-month-year-input .fm-month-select{min-width:68px}.fm-month-year-input .fm-year-select{min-width:62px}.fm-staff-table .fm-year-select{min-width:72px}.fm-month-year-set,.fm-month-year-save{padding:4px 8px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.fm-month-year-set:hover,.fm-month-year-save:hover{background:var(--bg-hover)}.fm-row-select{min-width:90px;width:100%;box-sizing:border-box;padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.fm-muted{color:var(--text-muted)}.fm-placeholder{display:block;width:100%;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1.5}.fm-placeholder-box{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;box-sizing:border-box;min-height:34px;height:34px;padding:6px 8px;font-size:13px;line-height:1;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-muted);font-variant-numeric:tabular-nums}.fm-rows-table td,.fm-staff-table td{min-height:36px}.fm-rows-table .fm-row-select,.fm-rows-table .fm-row-input,.fm-rows-table .fm-row-num,.fm-rows-table .fm-placeholder-box,.fm-rows-table .fm-currency-input,.fm-rows-table .fm-percent-input,.fm-expense-table .fm-row-select,.fm-expense-table .fm-row-input,.fm-expense-table .fm-row-num,.fm-expense-table .fm-placeholder-box,.fm-expense-table .fm-currency-input,.fm-expense-table .fm-percent-input,.fm-staff-table .fm-percent-input{width:100%;box-sizing:border-box}.fm-expense-table td .fm-placeholder,.fm-expense-table td .fm-placeholder-box{text-align:center}.fm-num .fm-placeholder-box{text-align:right}.fm-expense-table td.fm-num .fm-placeholder-box{text-align:center}.fm-assumption-rules-grid{display:flex;flex-direction:column;gap:16px}.fm-assumption-rule-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:20px}.fm-assumption-rule-header{display:flex;align-items:flex-start;gap:16px}.fm-assumption-icon{font-size:28px;line-height:1;flex-shrink:0}.fm-assumption-rule-header>div{flex:1;min-width:0}.fm-assumption-rule-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text-primary)}.fm-assumption-rule-desc{margin:0;font-size:13px;color:var(--text-muted);line-height:1.45}.fm-assumption-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.fm-assumption-toggle input{opacity:0;width:0;height:0}.fm-assumption-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border-color);border-radius:24px;transition:.2s}.fm-assumption-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0003}.fm-assumption-toggle input:checked+.fm-assumption-toggle-slider{background:var(--brand-primary)}.fm-assumption-toggle input:checked+.fm-assumption-toggle-slider:before{transform:translate(20px)}.fm-assumption-rule-fields{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.fm-assumption-rule-fields .fm-field{max-width:200px}.fm-assumptions-table .fm-row-select,.fm-assumptions-table .fm-row-input,.fm-assumptions-table .fm-row-num,.fm-assumptions-table .fm-placeholder-box{min-width:0;width:100%;box-sizing:border-box}.fm-assumption-item-cell{display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:nowrap}.fm-assumption-item-cell .fm-row-select{width:auto;min-width:100px;max-width:140px;flex-shrink:0}.fm-assumption-item-custom{flex:1;min-width:0}.fm-assumptions-extras{margin-top:32px;padding-top:24px;border-top:1px solid var(--divider)}.fm-expandable-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 0;background:none;border:none;font-size:15px;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:center;transition:color .15s}.fm-expandable-header:hover{color:var(--brand-primary)}.fm-expandable-icon{font-size:10px;color:var(--text-muted);flex-shrink:0}.fm-expandable-content{padding-top:8px;padding-left:4px}.fm-subsection-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.fm-assumptions-extras .fm-hint{margin-bottom:12px}.fm-depreciation-table{max-width:480px;margin-bottom:24px}.fm-inflation-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.fm-inflation-row .fm-subsection-title{margin-bottom:0}.fm-inflation-row .fm-hint-inline{margin:0}.fm-field-inline{flex-direction:row;align-items:center;gap:12px}.fm-field-inline label{margin-bottom:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.onboarding-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;color:var(--text-primary);font-family:var(--font-body)}.onboarding-header{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.onboarding-nav{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.onboarding-back-link{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid transparent;background:var(--surface);transition:all .15s ease-out}.onboarding-back-link:hover{color:var(--text-primary);border-color:var(--border-subtle);background:var(--surface)}.onboarding-main{flex:1;padding:40px 24px 56px}.onboarding-container{max-width:980px;margin:0 auto;background:var(--indigo-bg);border-radius:24px;border:1px solid var(--border-subtle);box-shadow:0 24px 80px #0009,0 0 0 1px #94a3b814;padding:32px 32px 28px;position:relative;overflow:hidden}.onboarding-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface2);opacity:.7;pointer-events:none}.onboarding-container>*{position:relative;z-index:1}.onboarding-title{font-family:var(--font-display);font-size:28px;font-weight:var(--weight-semi);letter-spacing:.01em;color:var(--text-primary);margin:0 0 8px}.onboarding-intro{font-size:var(--text-body);color:var(--text-secondary);margin:0 0 24px;line-height:1.6;max-width:640px}.onboarding-section{margin-top:28px;padding:20px 18px 18px;border-radius:18px;border:1px solid var(--border-subtle);background:linear-gradient(135deg,rgba(15,23,42,.96),var(--surface))}.onboarding-section-title{font-size:18px;font-weight:var(--weight-semi);color:var(--text-primary);margin:0 0 8px}.onboarding-section-intro{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 18px;line-height:1.6}.onboarding-steps{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:999px;background:var(--surface);border:1px solid rgba(148,163,184,.16);margin-bottom:10px}.onboarding-step{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-step:before{content:attr(data-step);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid rgba(148,163,184,.4);font-size:11px}.onboarding-step.active{background:linear-gradient(135deg,var(--accent-subtle),var(--surface));color:var(--text-primary);box-shadow:0 0 0 1px #7c6af799,0 0 20px #7c6af766}.onboarding-step.active:before{border-color:transparent;background:radial-gradient(circle at 30% 0,var(--accent),var(--accent-hover));box-shadow:0 0 12px var(--accent-glow);color:var(--text)}.onboarding-step.completed{color:var(--accent2)}.onboarding-step.completed:before{content:"✓";border-color:transparent;background:radial-gradient(circle at 30% 0,var(--accent2),#0f172a);box-shadow:0 0 10px var(--accent2-glow)}.onboarding-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.onboarding-field{display:flex;flex-direction:column;gap:6px}.onboarding-field-full{grid-column:1 / -1}.onboarding-field label{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.onboarding-field input,.onboarding-field select,.onboarding-field textarea{border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-primary);padding:9px 11px;font-size:var(--text-sm);outline:none;transition:border-color .14s ease-out,box-shadow .14s ease-out,background-color .14s ease-out}.onboarding-field input::placeholder,.onboarding-field textarea::placeholder{color:var(--text-muted)}.onboarding-field textarea{resize:vertical;min-height:96px}.onboarding-field input:focus,.onboarding-field select:focus,.onboarding-field textarea:focus{border-color:#7c6af7e6;box-shadow:0 0 0 1px #7c6af7b3,0 0 0 6px #7c6af72e;background:var(--surface)}.onboarding-field-hint{font-size:var(--text-xs);color:var(--text-muted)}.onboarding-sector-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.onboarding-sector-pill{border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-secondary);padding:6px 10px;font-size:var(--text-xs);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,box-shadow .12s ease-out,transform 80ms ease-out}.onboarding-sector-pill:hover{border-color:#94a3b899;background:var(--surface);transform:translateY(-.5px)}.onboarding-sector-pill.selected{border-color:transparent;background:radial-gradient(circle at 30% 0,var(--accent),var(--accent-hover));color:var(--text);box-shadow:0 0 0 1px #7c6af7b3,0 0 18px #7c6af799}.onboarding-sector-pill[disabled]{opacity:.45;cursor:default;box-shadow:none}.onboarding-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.onboarding-btn{border-radius:999px;border:none;padding:9px 18px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 0 0,var(--accent-hover),var(--accent));color:var(--text);box-shadow:0 14px 30px #7c6af78c;transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out}.onboarding-btn:hover{transform:translateY(-1px);box-shadow:0 18px 40px #7c6af7cc}.onboarding-btn:active{transform:translateY(0);box-shadow:0 8px 18px #7c6af799}.onboarding-btn[disabled]{opacity:.6;cursor:default;box-shadow:none}.onboarding-btn-secondary{background:var(--surface);color:var(--text-secondary);box-shadow:none;border:1px solid var(--border-subtle)}.onboarding-btn-secondary:hover{transform:translateY(-1px);background:var(--surface)}@media (max-width: 768px){.onboarding-main{padding:24px 16px 40px}.onboarding-container{padding:22px 18px 20px;border-radius:18px}.onboarding-title{font-size:22px}.onboarding-intro{font-size:var(--text-sm);margin-bottom:18px}.onboarding-steps{flex-direction:column;align-items:stretch}.onboarding-step{justify-content:flex-start}.onboarding-form-grid{grid-template-columns:minmax(0,1fr)}.onboarding-actions{justify-content:space-between}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);transition:background-color .15s cubic-bezier(.4,0,.2,1)}.main-content{flex:1;background-color:var(--bg-primary);transition:background-color .15s cubic-bezier(.4,0,.2,1)}.checkout-complete-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary)}.checkout-complete-card{text-align:center;padding:32px}.checkout-complete-spinner{width:40px;height:40px;margin:0 auto 16px;border:3px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}.checkout-complete-card p{margin:0;color:var(--text-muted);font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary)}.error-boundary-content{max-width:500px;text-align:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;padding:40px;box-shadow:var(--shadow-md)}.error-boundary-icon{font-size:64px;margin-bottom:20px;color:var(--accent-warning)}.error-boundary-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.error-boundary-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.error-boundary-button{padding:12px 24px;background:var(--brand-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.error-boundary-button:hover{opacity:.9;transform:translateY(-1px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}:root{--bg: #ffffff;--surface: #ffffff;--surface2: #f8fafc;--indigo: #6366f1;--indigo-dark: #4338ca;--indigo-light: #818cf8;--indigo-bg: rgba(99,102,241,.08);--indigo-bg2: rgba(99,102,241,.14);--text: #0f172a;--text2: #334155;--muted: #64748b;--border: #cdd5df;--border2: rgba(0,0,0,.07);--green: #16a34a;--green-bg: rgba(22,163,74,.08);--red: #dc2626;--red-bg: rgba(220,38,38,.08);--amber: #d97706;--amber-bg: rgba(217,119,6,.08);--sky: #0284c7;--sky-bg: rgba(2,132,199,.08);--shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 2px 6px rgba(15,23,42,.07);--shadow: 0 1px 3px rgba(15,23,42,.07), 0 4px 14px rgba(15,23,42,.09), 0 12px 32px rgba(15,23,42,.08);--shadow-lg: 0 2px 6px rgba(15,23,42,.07), 0 8px 28px rgba(15,23,42,.12), 0 24px 56px rgba(15,23,42,.12);--fast: .14s ease;--base: .2s ease;--bg-page: var(--bg);--bg-surface: var(--surface);--bg-elevated: var(--surface2);--bg-gradient-start: var(--bg);--bg-gradient-end: var(--bg);--bg-primary: var(--bg);--bg-secondary: var(--surface);--bg-tertiary: var(--surface2);--bg-hover: rgba(99,102,241,.06);--bg-active: rgba(99,102,241,.12);--stats-bar-bg: var(--surface);--accent: var(--indigo);--accent-hover: var(--indigo-dark);--accent-subtle: var(--indigo-bg);--accent-glow: var(--indigo-bg2);--accent-color: var(--indigo);--accent2: var(--green);--accent2-subtle: var(--green-bg);--brand-primary: var(--indigo);--brand-primary-hover: var(--indigo-dark);--brand-primary-pressed: var(--indigo-dark);--brand-primary-soft: var(--indigo-bg);--brand-primary-muted: var(--indigo-light);--text-primary: var(--text);--text-secondary: var(--text2);--text-muted: var(--muted);--border-color: var(--border);--border-light: var(--border2);--border-subtle: var(--border2);--divider: var(--border2);--shadow-card: var(--shadow);--shadow-btn: 0 2px 8px rgba(99,102,241,.22);--shadow-btn-hover:0 4px 14px rgba(99,102,241,.3);--shadow-toast: var(--shadow-lg);--focus-ring: var(--indigo);--overlay-bg: rgba(15,23,42,.6);--backdrop-blur:blur(16px);--error: var(--red);--success: var(--green);--warning: var(--amber);--accent-highlight: var(--indigo);--accent-highlight-rgb: 99,102,241;--accent-highlight-soft: var(--indigo-bg);--accent-success: var(--green);--accent-success-soft: var(--green-bg);--accent-error: var(--red);--accent-error-soft: var(--red-bg);--accent-warning: var(--amber);--accent-warning-soft: var(--amber-bg);--accent-info: var(--sky);--accent-info-soft: var(--sky-bg);--pill-vc-bg: var(--indigo-bg);--pill-vc-border: rgba(99,102,241,.28);--pill-vc-text: var(--indigo-dark);--pill-acc-bg: var(--green-bg);--pill-acc-border:rgba(22,163,74,.28);--pill-acc-text: #166534;--pill-cvc-bg: var(--amber-bg);--pill-cvc-border:rgba(217,119,6,.28);--pill-cvc-text: #92400e;--pill-notcontacted-bg: #eef2f7;--pill-notcontacted-text: #475569;--pill-nextup-bg: var(--indigo-bg);--pill-nextup-text: var(--indigo-dark);--pill-inprogress-bg: var(--amber-bg);--pill-inprogress-text: #92400e;--pill-passed-bg: var(--red-bg);--pill-passed-text: #991b1b;--pill-committed-bg: var(--green-bg);--pill-committed-text: #166534;--tag-palette-0-bg: var(--indigo-bg);--tag-palette-0-text: var(--indigo-dark);--tag-palette-0-border: rgba(99,102,241,.32);--tag-palette-1-bg: var(--green-bg);--tag-palette-1-text: #166534;--tag-palette-1-border: rgba(22,163,74,.32);--tag-palette-2-bg: rgba(219,39,119,.08);--tag-palette-2-text: #9d2b6a;--tag-palette-2-border: rgba(219,39,119,.32);--tag-palette-3-bg: var(--sky-bg);--tag-palette-3-text: #0c5e8a;--tag-palette-3-border: rgba(2,132,199,.32);--tag-palette-4-bg: rgba(168,85,247,.08);--tag-palette-4-text: #703b9c;--tag-palette-4-border: rgba(168,85,247,.32);--tag-palette-5-bg: var(--red-bg);--tag-palette-5-text: #991b1b;--tag-palette-5-border: rgba(220,38,38,.32);--tag-palette-6-bg: var(--sky-bg);--tag-palette-6-text: #0c5e8a;--tag-palette-6-border: rgba(2,132,199,.32);--tag-palette-7-bg: var(--amber-bg);--tag-palette-7-text: #92400e;--tag-palette-7-border: rgba(217,119,6,.32);--tag-palette-8-bg: var(--indigo-bg);--tag-palette-8-text: var(--indigo-dark);--tag-palette-8-border: rgba(99,102,241,.32);--tag-palette-9-bg: var(--green-bg);--tag-palette-9-text: #166534;--tag-palette-9-border: rgba(22,163,74,.32);--beta-tag-bg: var(--indigo);--beta-tag-text: #ffffff;--toggle-bg: #e8ecf4;--h1-from: var(--text);--h1-to: var(--indigo);--divider-line: var(--border);--focus-ring-offset: #ffffff;--glow-purple: none;--glow-teal: none;--row-hover: rgba(99,102,241,.05);--thead-bg: rgba(99,102,241,.07);--dd-bg: var(--surface);--dd-border: var(--border);--dd-hover: rgba(99,102,241,.07);--status-not-contacted: #64748b;--status-favourites: var(--amber);--status-initial-outreach: var(--indigo);--status-passed: var(--red);--status-meeting: var(--sky);--status-meeting-scheduled: var(--sky);--status-pitch-made: #9333ea;--status-due-diligence: var(--amber);--status-term-sheet: var(--green);--status-approach-later: #94a3b8;--status-closed: var(--green);--font-display: "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Menlo", "Consolas", monospace;--text-hero: clamp(32px,5vw,48px);--text-section: 20px;--text-body: 14px;--text-sm: 13px;--text-xs: 12px;--text-2xs: 11px;--weight-black: 800;--weight-bold: 700;--weight-semi: 600;--weight-medium: 500;--weight-regular: 400;--weight-light: 300;--page-max-width: 1800px;--page-padding-x: 24px;--page-padding-x-lg: 48px;--page-padding-top: 40px;--section-gap: 48px;--component-gap: 24px;--element-gap: 12px;--micro-gap: 8px;--row-height: 56px;--cell-padding-x: 16px;--cell-padding-y: 14px;--table-radius: 16px;--btn-height: 44px;--btn-padding-x: 24px;--btn-radius: 10px;--pill-height: 24px;--pill-padding-x:10px;--pill-radius: 999px}.dark{--bg: #0f1117;--surface: #1c1f29;--surface2: #262b3a;--indigo: #818cf8;--indigo-dark: #6366f1;--indigo-light: #a5b4fc;--indigo-bg: rgba(129,140,248,.12);--indigo-bg2: rgba(129,140,248,.2);--text: #f1f5fb;--text2: #c4cfe2;--muted: #7e8fa8;--border: #2e3547;--border2: rgba(255,255,255,.08);--green: #4ade80;--green-bg: rgba(74,222,128,.12);--red: #f87171;--red-bg: rgba(248,113,113,.12);--amber: #fbbf24;--amber-bg: rgba(251,191,36,.12);--sky: #38bdf8;--sky-bg: rgba(56,189,248,.12);--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 2px 6px rgba(0,0,0,.25);--shadow: 0 1px 3px rgba(0,0,0,.35), 0 4px 14px rgba(0,0,0,.3), 0 12px 32px rgba(0,0,0,.3);--shadow-lg: 0 2px 6px rgba(0,0,0,.35), 0 8px 28px rgba(0,0,0,.4), 0 24px 56px rgba(0,0,0,.45);--bg-page: var(--bg);--bg-surface: var(--surface);--bg-elevated: var(--surface2);--bg-primary: var(--bg);--bg-secondary: var(--surface);--bg-tertiary: var(--surface2);--bg-hover: rgba(129,140,248,.1);--bg-active: rgba(129,140,248,.18);--stats-bar-bg: var(--surface);--accent: var(--indigo);--accent-hover: var(--indigo-dark);--accent-subtle: var(--indigo-bg);--brand-primary: var(--indigo);--brand-primary-hover: var(--indigo-dark);--brand-primary-soft: var(--indigo-bg);--brand-primary-muted: var(--indigo-light);--text-primary: var(--text);--text-secondary: var(--text2);--text-muted: var(--muted);--border-color: var(--border);--border-subtle: var(--border2);--shadow-card: var(--shadow);--shadow-btn: 0 2px 8px rgba(129,140,248,.28);--shadow-btn-hover:0 4px 14px rgba(129,140,248,.38);--overlay-bg: rgba(0,0,0,.75);--error: var(--red);--success: var(--green);--toggle-bg: #2a3147;--h1-from: var(--text);--h1-to: var(--indigo);--divider-line: var(--border);--divider: var(--border2);--row-hover: rgba(129,140,248,.08);--thead-bg: rgba(129,140,248,.12);--dd-bg: var(--surface);--dd-border: var(--border);--beta-tag-bg: var(--indigo);--beta-tag-text: #ffffff;--pill-vc-text: var(--indigo-light);--pill-acc-text: var(--green);--pill-notcontacted-text: var(--muted);--pill-nextup-text: var(--indigo-light);--pill-inprogress-text: var(--amber);--pill-passed-text: var(--red);--pill-committed-text: var(--green);--tag-palette-0-text: var(--indigo-light);--tag-palette-1-text: var(--green);--focus-ring-offset: var(--surface)}body{font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;color:var(--text-primary);background:#f6f9fc;min-height:100vh}.dark body{background:#0f1117}.btn-solid,.btn-solid:visited{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--btn-radius);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid var(--indigo);background:var(--indigo);color:#fff;text-decoration:none;white-space:nowrap;transition:background var(--fast),border-color var(--fast);box-shadow:var(--shadow-btn)}.btn-solid:hover{background:var(--indigo-dark);border-color:var(--indigo-dark)}.btn-solid:active{opacity:.92}.btn-solid[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-outline,.btn-outline:visited{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--btn-radius);font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;white-space:nowrap;transition:border-color var(--fast),color var(--fast)}.btn-outline:hover{border-color:var(--indigo);color:var(--indigo)}.btn-outline[disabled]{opacity:.45;cursor:not-allowed}.btn-ghost{background:none;border:none;padding:6px 10px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:color var(--fast)}.btn-ghost:hover{color:var(--indigo)}.btn-danger{background:var(--red-bg);border:1.5px solid rgba(220,38,38,.28);color:var(--red);padding:9px 18px;border-radius:var(--btn-radius);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--fast)}.btn-danger:hover{background:#dc262629}.btn-success{background:var(--green-bg);border:1.5px solid rgba(22,163,74,.28);color:var(--green);padding:9px 18px;border-radius:var(--btn-radius);font-size:13px;font-weight:600;cursor:pointer}.beta-tag{display:inline-flex;align-items:center;padding:2px 6px;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--beta-tag-bg);color:var(--beta-tag-text);border-radius:4px;margin-left:6px;flex-shrink:0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#6366f10a 25%,#6366f114,#6366f10a 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear;border-radius:6px}
