:root{--navbar-height-mobile: 60px;--navbar-height-desktop: 70px;--navbar-bg: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);--navbar-border: rgba(226, 232, 240, .8);--navbar-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--text-primary: #334155;--text-secondary: #475569;--text-hover: #1e293b;--primary-blue: #3b82f6;--primary-green: #059669;--border-radius: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--dropdown-bg: #ffffff;--dropdown-hover-bg: #f8fafc;--dropdown-border: #e2e8f0}.top-navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height-mobile);z-index:9999;background:var(--navbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--navbar-border);color:var(--text-primary);box-shadow:var(--navbar-shadow);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:var(--transition);width:100%}.top-navbar-inner{width:100%;height:100%;max-width:1600px;margin:0 auto;display:flex;align-items:center;padding:0 16px;box-sizing:border-box;gap:0}.logo-link{display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease;text-decoration:none}.logo-link:hover{transform:scale(1.02)}.logo-image{height:36px;width:auto;border-radius:6px;transition:filter .2s ease}.logo-image:hover{filter:brightness(1.05)}.top-navbar-menu{display:flex!important;align-items:center!important;height:100%!important;margin-left:24px!important;margin-right:auto!important;gap:0!important;justify-content:flex-start!important;flex-wrap:nowrap!important}.menu-item{position:relative!important;height:100%!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important;flex-shrink:0!important}.menu-item a,.menu-item .dropdown-title{display:flex!important;align-items:center!important;height:100%!important;color:var(--text-secondary)!important;text-decoration:none!important;transition:var(--transition)!important;padding:0 16px!important;font-weight:500!important;font-size:15px!important;white-space:nowrap!important;cursor:pointer!important;border-radius:0!important;margin:0!important;border-right:1px solid rgba(226,232,240,.6)!important;box-sizing:border-box!important;position:relative!important}.menu-item:last-child a,.menu-item:last-child .dropdown-title{border-right:none!important}.menu-item a:hover,.menu-item .dropdown-title:hover{color:var(--text-hover)!important;background:#3b82f614!important}.dropdown-wrapper{position:relative;height:100%;display:flex;align-items:center}.dropdown-title{position:relative}.dropdown-title:after{content:"▾";font-size:12px;margin-left:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);color:#94a3b8;display:inline-block}.dropdown-wrapper:hover .dropdown-title:after{transform:rotate(180deg);color:var(--text-secondary)}.dropdown-content{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(-10px) scale(.95);min-width:140px;max-width:200px;width:max-content;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:12px;box-shadow:0 8px 25px #00000014,0 4px 12px #0000000a,0 0 0 1px #fffc;z-index:2000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;padding:8px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);list-style:none;margin:0}.dropdown-wrapper:hover .dropdown-content{display:block;opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1)}.dropdown-content:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:12px;background:#fff;border:1px solid rgba(0,0,0,.05);border-bottom:none;border-right:none;transform:translate(-50%) rotate(45deg);z-index:1}.dropdown-content li{list-style:none;margin:0;padding:0}.dropdown-content a{display:flex!important;align-items:center!important;color:#475569!important;text-decoration:none!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;font-size:14px!important;font-weight:500!important;height:auto!important;border:none!important;border-radius:8px!important;margin:2px 0!important;white-space:nowrap!important;cursor:pointer!important;line-height:1.4!important;position:relative!important;padding:10px 12px 10px 28px!important}.dropdown-content a:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#e2e8f0;border-radius:50%;transition:all .2s ease}.dropdown-content a:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;color:#1e293b!important;transform:translateY(-1px)!important;box-shadow:0 4px 8px #00000014!important}.dropdown-content a:hover:before{background:#3b82f6;transform:translateY(-50%) scale(1.2);box-shadow:0 0 0 3px #3b82f633}.mobile-menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;transition:background-color .2s ease;margin-left:auto}.mobile-menu-toggle:hover{background:#4755690f}.hamburger{width:24px;height:20px;position:relative;transform:rotate(0);transition:.3s ease-in-out}.hamburger span{display:block;position:absolute;height:2px;width:100%;background:var(--text-secondary);border-radius:2px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.mobile-menu-toggle.active .hamburger span:nth-child(1){top:8px;transform:rotate(135deg)}.mobile-menu-toggle.active .hamburger span:nth-child(2){opacity:0;left:-60px}.mobile-menu-toggle.active .hamburger span:nth-child(3){top:8px;transform:rotate(-135deg)}.mobile-menu-panel{position:fixed;top:var(--navbar-height-mobile);left:0;right:0;background:var(--dropdown-bg);border-bottom:1px solid var(--navbar-border);box-shadow:var(--navbar-shadow);transform:translateY(-100%);opacity:0;visibility:hidden;transition:var(--transition);z-index:9998;max-height:calc(100vh - var(--navbar-height-mobile));overflow-y:auto}.mobile-menu-panel.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-menu-content{padding:16px}.mobile-menu-item{margin-bottom:4px}.mobile-menu-item a,.mobile-menu-item .mobile-dropdown-title{display:block;padding:14px 16px;color:var(--text-secondary);text-decoration:none;border-radius:8px;transition:var(--transition);font-weight:500;font-size:15px;border:1px solid transparent}.mobile-menu-item a:hover,.mobile-menu-item .mobile-dropdown-title:hover{background:var(--dropdown-hover-bg);color:var(--text-hover);border-color:var(--dropdown-border)}.mobile-dropdown-title{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.mobile-dropdown-content{margin-top:8px;padding-left:0;background:#f8fafc;border-radius:8px;overflow:hidden}.mobile-dropdown-content a{padding:12px 20px!important;font-size:14px!important;font-weight:400!important;color:#64748b!important;margin:0!important;border-radius:0!important;border-bottom:1px solid #e2e8f0!important}.mobile-dropdown-content a:last-child{border-bottom:none!important}.mobile-dropdown-content a:hover{background:#fff!important;color:var(--text-hover)!important}.auth{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.welcome{color:var(--text-secondary);font-weight:500;font-size:14px;white-space:nowrap}.auth-btn{background:var(--primary-blue);color:#fff;border:none;padding:8px 16px;font-weight:500;border-radius:6px;cursor:pointer;font-size:14px;transition:var(--transition);box-shadow:0 1px 2px #0000000d;white-space:nowrap;text-decoration:none;display:inline-block}.auth-btn:hover{background:#2563eb;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;color:#fff}.auth-btn:active{background:#1d4ed8;box-shadow:0 1px 2px #0000000d}.auth-btn.admin{background:var(--primary-green)}.auth-btn.admin:hover{background:#047857}.auth-btn.admin:active{background:#065f46}@media (min-width: 768px){.top-navbar{height:var(--navbar-height-desktop)}.top-navbar-inner{padding:0 32px}.logo-image{height:40px}.top-navbar-menu{margin-left:32px!important}.mobile-menu-panel{top:var(--navbar-height-desktop);max-height:calc(100vh - var(--navbar-height-desktop))}}@media (min-width: 1024px){.top-navbar-inner{padding:0 48px}.top-navbar-menu{margin-left:40px!important}.menu-item a,.menu-item .dropdown-title{padding:0 20px!important;font-size:15px!important}.dropdown-content{min-width:160px;max-width:220px}}@media (min-width: 1280px){.top-navbar-inner{padding:0 48px}}@media (max-width: 768px){.top-navbar-menu{display:none!important}.mobile-menu-toggle{display:block}.auth{gap:8px;margin-left:16px}.auth-btn{padding:6px 12px;font-size:13px}}@media (max-width: 480px){.top-navbar-inner{padding:0 12px;gap:0}.logo-image{height:32px}.welcome{display:none}.auth{gap:6px;margin-left:12px}.auth-btn{padding:6px 10px;font-size:12px}}@media (prefers-color-scheme: dark){:root{--navbar-bg: linear-gradient(135deg, #1e293b 0%, #334155 100%);--navbar-border: rgba(71, 85, 105, .3);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-hover: #f8fafc;--dropdown-bg: #334155;--dropdown-hover-bg: #475569;--dropdown-border: rgba(71, 85, 105, .3)}.menu-item a,.menu-item .dropdown-title{border-right-color:#47556966!important}.dropdown-content{background:#334155!important;border-color:#4755694d!important;box-shadow:0 8px 25px #0000004d,0 4px 12px #0003,0 0 0 1px #ffffff1a!important}.dropdown-content:before{background:#334155!important;border-color:#4755694d!important}.dropdown-content a{color:#cbd5e1!important}.dropdown-content a:before{background:#64748b!important}.dropdown-content a:hover{background:linear-gradient(135deg,#475569,#64748b)!important;color:#f8fafc!important}.dropdown-content a:hover:before{background:#3b82f6!important}.mobile-menu-panel{background:#334155}.mobile-dropdown-content{background:#475569}.mobile-dropdown-content a{border-bottom-color:#47556966!important}.mobile-dropdown-content a:hover{background:#334155!important}}@media (prefers-contrast: high){.top-navbar{border-bottom:2px solid #000}.menu-item a,.dropdown-title{border:1px solid transparent}.menu-item a:hover,.dropdown-title:hover{border-color:#000;background:#fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}:root{--footer-bg-light: #f8fafc;--footer-bg-dark: #1e293b;--footer-text-light: #64748b;--footer-text-dark: #94a3b8;--footer-border-light: rgba(226, 232, 240, .6);--footer-border-dark: rgba(71, 85, 105, .3);--footer-transition: all .3s ease}.footer{width:100%;text-align:center;background:linear-gradient(135deg,var(--footer-bg-light) 0%,#ffffff 100%);border-top:1px solid var(--footer-border-light);color:var(--footer-text-light);transition:var(--footer-transition);flex-shrink:0;margin-top:auto;padding:clamp(16px,4vw,24px) clamp(16px,4vw,32px);font-size:clamp(11px,2.5vw,14px);line-height:1.5}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}.footer-text{margin:0;font-weight:400;opacity:.8;transition:var(--footer-transition)}.footer-text:hover{opacity:1}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,2vw,16px);margin-top:4px}.footer-link{color:inherit;text-decoration:none;padding:4px 8px;border-radius:4px;transition:var(--footer-transition);font-size:inherit}.footer-link:hover{color:#3b82f6;background-color:#3b82f61a;transform:translateY(-1px)}.footer-separator{color:inherit;opacity:.5;margin:0 4px;-webkit-user-select:none;user-select:none}@media (min-width: 480px){.footer-content{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:clamp(12px,3vw,20px)}.footer-links{margin-top:0}}@media (min-width: 768px){.footer{padding:clamp(20px,3vw,28px) clamp(32px,5vw,64px)}.footer-content{gap:clamp(16px,4vw,24px)}}@media (min-width: 1024px){.footer{padding:clamp(24px,2.5vw,32px) clamp(48px,6vw,80px)}}@media (max-width: 320px){.footer{padding:12px 8px;font-size:10px}.footer-content,.footer-links{gap:6px}.footer-link{padding:2px 6px}}@media (min-width: 1600px){.footer{font-size:15px}.footer-content{max-width:1400px}}@media (prefers-color-scheme: dark){.footer{background:linear-gradient(135deg,var(--footer-bg-dark) 0%,#334155 100%);border-top-color:var(--footer-border-dark);color:var(--footer-text-dark)}.footer-link:hover{color:#60a5fa;background-color:#60a5fa1a}}@media (prefers-contrast: high){.footer{border-top:2px solid #000;background:#fff;color:#000}.footer-link{border:1px solid transparent}.footer-link:hover{border-color:#000;background-color:#f0f0f0}}@media (prefers-reduced-motion: reduce){.footer,.footer-text,.footer-link{transition:none}.footer-link:hover{transform:none}}@media print{.footer{background:none!important;border:none!important;color:#000!important;padding:12px 0!important;font-size:12px!important}.footer-link{color:#000!important;text-decoration:underline!important}.footer-link:hover{background:none!important;transform:none!important}}:root{--nav-height-mobile: 60px;--nav-height-desktop: 70px;--card-gap: 20px;--card-padding: 18px;--border-radius: 12px;--shadow-light: 0 2px 8px rgba(0, 0, 0, .06);--shadow-hover: 0 8px 25px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--container-padding-mobile: 16px;--container-padding-tablet: 32px;--container-padding-desktop: 50px;--container-padding-wide: 60px}.home-dashboard{width:100%;box-sizing:border-box;padding:var(--nav-height-mobile) 0 0;margin:0;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}@media (min-width: 768px){.home-dashboard{padding-top:var(--nav-height-desktop)}}.home-header{padding:clamp(12px,3vw,24px) var(--container-padding-mobile);text-align:center;background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid rgba(226,232,240,.8);box-shadow:0 1px 3px #0000000d}.home-header h1{margin:0 auto;max-width:100%;font-size:clamp(18px,4.5vw,28px);font-weight:700;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:normal;word-break:break-word;line-height:1.2;letter-spacing:-.02em}.module-grid{display:grid;gap:var(--card-gap);padding:clamp(16px,3vw,32px) var(--container-padding-mobile);width:100%;max-width:1300px;margin:0 auto;flex:1;grid-template-columns:1fr}.module-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:inherit;background:linear-gradient(135deg,#fff,#fefefe);padding:var(--card-padding);border-radius:var(--border-radius);border:1px solid rgba(226,232,240,.6);box-shadow:var(--shadow-light);transition:var(--transition);min-height:120px;position:relative;overflow:hidden}.module-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);opacity:0;transition:var(--transition)}.module-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px) scale(1.02);border-color:#3b82f64d}.module-card:hover:before{opacity:1}.module-card:active{transform:translateY(-3px) scale(1.01)}.module-icon{font-size:clamp(22px,5.5vw,32px);margin-bottom:10px;transition:var(--transition);filter:grayscale(.2)}.module-card:hover .module-icon{transform:scale(1.1);filter:grayscale(0)}.module-title{font-size:clamp(13px,3.2vw,16px);font-weight:600;color:#1e293b;text-align:center;white-space:normal;word-break:break-word;line-height:1.3;margin-bottom:6px;transition:var(--transition)}.module-card:hover .module-title{color:#3b82f6}.module-desc{font-size:clamp(11px,2.2vw,13px);color:#64748b;text-align:center;line-height:1.3;max-width:100%;opacity:.9;transition:var(--transition)}.module-card:hover .module-desc{color:#475569;opacity:1}@media (min-width: 480px){:root{--card-gap: 18px}.home-header,.module-grid{padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}.module-grid{grid-template-columns:repeat(2,1fr)}.module-card{min-height:140px;padding:20px 18px}}@media (min-width: 768px){:root{--card-gap: 22px}.module-grid{grid-template-columns:repeat(3,1fr)}.module-card{min-height:150px;padding:22px 18px}.module-icon{margin-bottom:12px}.module-title{margin-bottom:8px}}@media (min-width: 1024px){:root{--card-gap: 24px}.home-header,.module-grid{padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}.module-grid{grid-template-columns:repeat(4,1fr)}.module-card{min-height:160px;padding:24px 20px}}@media (min-width: 1280px){:root{--card-gap: 26px}.home-header,.module-grid{padding-left:var(--container-padding-wide);padding-right:var(--container-padding-wide)}.module-card{min-height:170px;padding:26px 22px}}@media (min-width: 1536px){.module-grid{max-width:1400px;gap:28px}.module-card{min-height:180px;padding:28px 24px}}@media (max-width: 320px){.home-header,.module-grid{padding-left:12px;padding-right:12px}.module-card{min-height:110px;padding:14px 10px}.module-grid{gap:14px}}@media (max-height: 700px){.module-grid{padding-top:12px;padding-bottom:12px}.module-card{min-height:100px;padding:14px}.module-icon{margin-bottom:6px}.module-title{margin-bottom:4px}}@media (prefers-color-scheme: dark){.home-dashboard{background:linear-gradient(135deg,#0f172a,#1e293b)}.home-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom-color:#4755694d}.home-header h1{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.module-card{background:linear-gradient(135deg,#334155,#475569);border-color:#4755694d}.module-title{color:#f1f5f9}.module-card:hover .module-title{color:#60a5fa}.module-desc{color:#cbd5e1}.module-card:hover .module-desc{color:#e2e8f0}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.module-card:hover,.module-card:hover .module-icon{transform:none}}@media (prefers-contrast: high){.module-card{border:2px solid #000}.module-title{color:#000;font-weight:700}.module-desc{color:#333}}:root{--nav-height: 70px;--content-gap: 12px;--sidebar-left-width: 220px;--sidebar-right-width: 260px;--color-bg-main: #f8f9fa;--color-bg-card: #ffffff;--color-border-light: rgba(225, 232, 237, .5);--color-text-primary: #1f2937;--color-text-secondary: #4a5568;--color-text-muted: #6b7280;--color-primary: #1976d2;--color-primary-light: #42a5f5}.app-layout{display:flex;width:100%;min-height:100vh;padding-top:calc(var(--nav-height) + var(--content-gap));background-color:var(--color-bg-main);min-width:1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text-primary)}.main-content{flex:1;margin-left:var(--sidebar-left-width);width:calc(100% - var(--sidebar-left-width) - var(--sidebar-right-width));min-width:0;padding:0 var(--content-gap) var(--content-gap) var(--content-gap);display:flex;flex-direction:column;gap:var(--content-gap)}.company-search-area{background-color:var(--color-bg-card);padding:16px;border-radius:6px;border:1px solid var(--color-border-light);box-shadow:0 1px 4px #0000000a}.pdf-download-area{background-color:transparent;padding:0;border:none;box-shadow:none}.data-section{flex:1;background-color:var(--color-bg-card);border-radius:6px;border:1px solid var(--color-border-light);box-shadow:0 1px 4px #0000000a;min-height:600px;overflow:auto;padding:0}.module-wrapper{margin-bottom:16px;background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000000a;overflow:hidden;scroll-margin-top:100px}.module-wrapper:last-child{margin-bottom:0}.module-section{padding:0;background:transparent}.placeholder-text{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;font-size:16px;font-weight:500;color:var(--color-text-muted);text-align:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px dashed var(--color-border-light);border-radius:6px;margin:20px}.placeholder-text:before{content:"🔍";font-size:48px;margin-bottom:16px;opacity:.6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:20px;margin:20px}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{margin:0;color:var(--color-text-secondary);font-size:16px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted);background:#fff;border-radius:6px;margin:20px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-state h3{margin:0 0 12px;color:var(--color-text-primary);font-size:18px}.empty-state p{margin:0;font-size:14px;line-height:1.5}@media (max-width: 1600px){:root{--sidebar-left-width: 200px;--sidebar-right-width: 260px}}@media (max-width: 1400px){:root{--sidebar-left-width: 180px;--sidebar-right-width: 240px;--content-gap: 10px}}@media (max-width: 1200px){:root{--sidebar-left-width: 160px;--sidebar-right-width: 220px;--content-gap: 8px}.main-content{padding:0 6px var(--content-gap) 6px}}@media (max-width: 992px){.sidebar-left{display:none}.main-content{margin-left:0;width:100%;padding:0 10px var(--content-gap) 10px;height:calc(100vh - var(--nav-height) - var(--content-gap));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.data-section{min-height:auto;overflow:visible}.app-layout{flex-direction:column;min-width:auto}}@media (max-width: 768px){.app-layout{padding-top:var(--nav-height)}.main-content{padding:10px;height:calc(100vh - var(--nav-height))}.company-search-area{padding:12px}.data-section{min-height:auto;overflow:visible}.placeholder-text,.loading-container,.empty-state{margin:10px}}@media (max-width: 480px){.main-content{padding:8px;gap:8px;height:calc(100vh - var(--nav-height))}.company-search-area{padding:10px}.data-section{min-height:auto;overflow:visible}.placeholder-text,.loading-container,.empty-state{margin:8px;padding:40px 16px}.placeholder-text:before{font-size:36px;margin-bottom:12px}.empty-icon{font-size:36px;margin-bottom:12px}}.simplified-search-bar{position:relative;width:100%;max-width:600px;margin:0 auto;z-index:100;padding:20px 0}.search-main-container{display:flex;align-items:center;gap:12px;width:100%}.search-input-wrapper{position:relative;flex:1;display:flex;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease;overflow:visible}.search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper.invalid{border-color:#ef4444}.search-icon{position:absolute;left:16px;width:18px;height:18px;color:#6b7280;pointer-events:none;z-index:1}.company-input-simplified{flex:1;height:48px;padding:0 80px 0 48px;font-size:16px;font-weight:400;border:none;outline:none;background:transparent;color:#374151;line-height:1.5}.company-input-simplified::placeholder{color:#9ca3af;font-weight:400}.company-input-simplified.invalid{color:#dc2626}.validation-indicator{position:absolute;right:48px;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.status-icon{width:18px;height:18px;font-weight:700}.status-icon.validating{color:#3b82f6;animation:spin 1s linear infinite}.status-icon.invalid{color:#ef4444}.clear-button{position:absolute;right:16px;background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:2;min-width:32px;min-height:32px}.clear-button:hover{background:#f3f4f6;color:#374151}.clear-button:active{background:#e5e7eb}.clear-icon{width:16px;height:16px}.search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #00000026}.suggestion-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:all .2s ease;display:flex;flex-direction:column;gap:4px;min-height:56px}.suggestion-item:hover,.suggestion-item.selected{background:#f0f9ff;border-left:3px solid #3b82f6}.suggestion-item:last-child{border-bottom:none}.suggestion-main{display:flex;align-items:center;gap:8px}.suggestion-name{font-size:14px;font-weight:600;color:#1f2937}.suggestion-code{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:monospace}.suggestion-meta{display:flex;align-items:center;gap:8px}.suggestion-industry{font-size:12px;color:#9ca3af}.suggestions-footer{padding:8px 16px;background:#f9fafb;border-top:1px solid #e5e7eb;font-size:12px;color:#6b7280;text-align:center}.search-button-simplified{height:48px;padding:0 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:120px}.search-button-simplified:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.search-button-simplified:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.company-list-button{height:48px;padding:0 20px;background:#fff;color:#3b82f6;border:1px solid #3b82f6;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:100px}.company-list-button:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.button-icon{width:18px;height:18px}.button-icon.spinning{animation:spin 1s linear infinite}.error-toast{position:fixed;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;box-shadow:0 4px 12px #00000026;z-index:1001;max-width:90%;animation:slideInDown .3s ease-out}.error-toast .error-message-icon{width:16px;height:16px;flex-shrink:0}.error-toast .error-close{background:none;border:none;color:#dc2626;cursor:pointer;padding:2px;border-radius:4px;transition:background-color .2s ease;margin-left:8px;min-width:24px;min-height:24px}.error-toast .error-close:hover{background:#dc26261a}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.company-browser-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.company-browser-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;height:70vh;max-height:600px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #00000026}.browser-modal-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#f9fafb}.browser-modal-header .header-left h3{margin:0 0 4px;color:#1f2937;font-size:1.3rem;font-weight:600}.browser-modal-header .company-stats{color:#6b7280;font-size:.9rem}.browser-modal-header .header-actions{display:flex;align-items:center;gap:8px}.close-browser-btn{background:#ef4444;border:none;border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-weight:600;font-size:16px;transition:all .2s ease;min-width:44px;min-height:44px}.close-browser-btn:hover{background:#dc2626}.browser-modal-content{flex:1;overflow:hidden}.companies-browser-container{height:100%;overflow-y:auto;padding:20px}.browser-loading-state,.browser-error-state,.browser-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280}.browser-loading-state p,.browser-error-state .error-message-text,.browser-empty-state p{margin:12px 0 0;font-size:1rem;color:#374151}.browser-error-state .retry-btn{margin-top:12px;background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.browser-error-state .retry-btn:hover{background:#2563eb}.companies-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:16px!important}.company-browser-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:center;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.company-browser-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.company-browser-card.current{background:#f0f9ff;border-color:#3b82f6}.company-browser-icon{font-size:1.8rem;margin-bottom:8px;opacity:.7}.company-browser-name{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 6px;line-height:1.2}.company-browser-code{font-size:.8rem;color:#6b7280;font-family:monospace;margin-bottom:6px}.company-browser-meta{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#6b7280}.industry-tag{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.7rem}.current-indicator{position:absolute;top:8px;right:8px;background:#10b981;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:500}@media (min-width: 1200px){.companies-grid{grid-template-columns:repeat(5,1fr)!important}}@media (max-width: 1024px){.companies-grid{grid-template-columns:repeat(4,1fr)!important;gap:12px!important}.company-browser-modal{width:95%;height:80vh}.browser-modal-header,.companies-browser-container{padding:15px}}@media (max-width: 768px){.simplified-search-bar{padding:15px 10px}.search-main-container{flex-direction:column;gap:12px}.search-input-wrapper,.search-button-simplified,.company-list-button{width:100%;height:52px}.company-input-simplified{height:52px;font-size:16px}.search-button-simplified,.company-list-button{justify-content:center;min-width:unset}.companies-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.company-browser-card{min-height:100px;padding:12px}.company-browser-name{font-size:1rem}.company-browser-modal{width:100%;height:100vh;max-width:none;max-height:none;border-radius:0}.browser-modal-header{padding:12px 15px;position:sticky;top:0;z-index:10}.browser-modal-header .header-left h3{font-size:1.1rem}.companies-browser-container{padding:10px}.search-suggestions{max-height:250px}.suggestion-item{padding:14px 16px;min-height:60px}.suggestions-footer{display:none}.error-toast{top:80px;max-width:95%;font-size:13px}}@media (max-width: 480px){.simplified-search-bar{padding:10px 5px}.companies-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.company-browser-card{min-height:80px;padding:10px}.company-browser-name{font-size:.95rem}.browser-modal-header .header-left h3{font-size:1rem}.search-input-wrapper{height:48px}.company-input-simplified{height:48px;padding:0 70px 0 40px}.search-icon{left:12px;width:16px;height:16px}.validation-indicator{right:40px}.clear-button{right:12px}.error-toast{font-size:12px;padding:10px 12px}}@media (hover: none) and (pointer: coarse){.clear-button,.close-browser-btn{min-width:44px;min-height:44px}.suggestion-item{min-height:56px;padding:16px}.company-browser-card{min-height:80px}}@media (max-width: 768px) and (orientation: landscape){.company-browser-modal{height:95vh}.companies-grid{grid-template-columns:repeat(3,1fr)!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.search-icon,.status-icon,.clear-icon,.button-icon{transform:translateZ(0)}}.vh-sidebar-container{position:fixed;left:0;top:calc(var(--nav-height, 70px) + var(--content-gap, 12px));bottom:0;width:var(--sidebar-left-width, 220px);z-index:1000;background:linear-gradient(180deg,#f0f4f8,#e8f1f8);border-right:1px solid rgba(25,118,210,.1);box-shadow:2px 0 8px #0000000a;overflow-y:auto;overflow-x:hidden;padding:6px 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.vh-sidebar-header{padding:12px 0 16px;border-bottom:1px solid rgba(25,118,210,.1);margin-bottom:12px}.vh-sidebar-header h3{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--color-text-primary, #1f2937);display:flex;align-items:center;gap:8px}.vh-sidebar-header h3:before{content:"📈";font-size:18px}.vh-sidebar-module-count{font-size:11px;color:var(--color-text-secondary, #4a5568);background:#1976d21a;padding:2px 8px;border-radius:10px;font-weight:500}.vh-sidebar-menu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.vh-sidebar-menu-list li{margin:0}.vh-sidebar-menu-link{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:4px;text-decoration:none;gap:2px;font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap;color:var(--color-text-primary, #1f2937);background-color:transparent;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.vh-sidebar-menu-icon{font-size:12px;width:12px;text-align:center;flex-shrink:0;opacity:.9;transition:all .2s ease;margin-right:4px}.vh-sidebar-menu-text{flex:1;text-align:left;font-size:13px;font-weight:500;margin-left:0}.vh-sidebar-menu-index{font-size:8px;color:var(--color-text-muted, #6b7280);background:#00000014;padding:1px 3px;border-radius:3px;font-weight:600;min-width:12px;text-align:center;flex-shrink:0;transition:all .2s ease;margin-left:4px}.vh-sidebar-menu-link:hover{background:linear-gradient(135deg,#fff,#f8fafc);color:var(--color-primary, #1976d2);border-color:#1976d233;box-shadow:0 1px 6px #1976d21f;transform:translate(2px)}.vh-sidebar-menu-link:hover .vh-sidebar-menu-icon{color:var(--color-primary, #1976d2);transform:scale(1.05)}.vh-sidebar-menu-link:hover .vh-sidebar-menu-index{background:#1976d226;color:var(--color-primary, #1976d2)}.vh-sidebar-menu-link.vh-sidebar-active{background:linear-gradient(135deg,var(--color-primary, #1976d2) 0%,var(--color-primary-light, #42a5f5) 100%);color:#fff;font-weight:600;border-color:var(--color-primary, #1976d2);box-shadow:0 2px 8px #1976d24d;transform:translate(2px)}.vh-sidebar-menu-link.vh-sidebar-active .vh-sidebar-menu-icon,.vh-sidebar-menu-link.vh-sidebar-active .vh-sidebar-menu-text,.vh-sidebar-menu-link.vh-sidebar-active .vh-sidebar-menu-index{color:#fff}.vh-sidebar-menu-link.vh-sidebar-active .vh-sidebar-menu-index{background:#ffffff40}.vh-sidebar-menu-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:0;background:var(--color-primary, #1976d2);border-radius:0 2px 2px 0;transition:all .2s ease}.vh-sidebar-menu-link:hover:before{width:3px;height:50%}.vh-sidebar-menu-link.vh-sidebar-active:before{width:3px;height:70%;background:#fff}.vh-sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(25,118,210,.1)}.vh-sidebar-progress-indicator{padding:12px 0}.vh-sidebar-progress-text{font-size:12px;color:var(--color-text-secondary, #4a5568);margin-bottom:8px;font-weight:500}.vh-sidebar-progress-bar{height:4px;background:#1976d21a;border-radius:2px;overflow:hidden}.vh-sidebar-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #1976d2),var(--color-primary-light, #42a5f5));border-radius:2px;transition:width .5s ease;box-shadow:0 0 4px #1976d24d}@keyframes vh-sidebar-slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.vh-sidebar-menu-list li{animation:vh-sidebar-slideInLeft .3s ease-out;animation-fill-mode:both}.vh-sidebar-menu-list li:nth-child(1){animation-delay:.05s}.vh-sidebar-menu-list li:nth-child(2){animation-delay:.1s}.vh-sidebar-menu-list li:nth-child(3){animation-delay:.15s}.vh-sidebar-menu-list li:nth-child(4){animation-delay:.2s}.vh-sidebar-menu-list li:nth-child(5){animation-delay:.25s}.vh-sidebar-menu-list li:nth-child(6){animation-delay:.3s}.vh-sidebar-menu-list li:nth-child(7){animation-delay:.35s}.vh-sidebar-menu-list li:nth-child(8){animation-delay:.4s}.vh-sidebar-menu-list li:nth-child(9){animation-delay:.45s}.vh-sidebar-menu-list li:nth-child(10){animation-delay:.5s}.vh-sidebar-menu-list li:nth-child(11){animation-delay:.55s}.vh-sidebar-menu-list li:nth-child(12){animation-delay:.6s}@media (max-width: 992px){.vh-sidebar-container{position:static;width:100%;height:auto;border-right:none;border-bottom:1px solid rgba(25,118,210,.1);padding:10px}.vh-sidebar-menu-list{flex-direction:row;gap:6px;overflow-x:auto;padding:6px 0}.vh-sidebar-menu-link{min-width:max-content;padding:8px 12px;font-size:13px;flex-direction:column;gap:4px;text-align:center}.vh-sidebar-menu-link:before{display:none}.vh-sidebar-menu-text{font-size:11px;text-align:center}.vh-sidebar-menu-icon{font-size:16px}.vh-sidebar-menu-index{position:absolute;top:2px;right:2px;font-size:8px;padding:1px 3px;min-width:12px;height:12px;line-height:10px}.vh-sidebar-footer{display:none}}@media (max-width: 768px){.vh-sidebar-menu-link{padding:6px 10px;font-size:12px}.vh-sidebar-menu-text{font-size:10px}.vh-sidebar-menu-icon{font-size:14px}.vh-sidebar-menu-index{font-size:7px;min-width:10px;height:10px;line-height:8px}}.vh-sidebar-container::-webkit-scrollbar{width:4px}.vh-sidebar-container::-webkit-scrollbar-track{background:#0000000d;border-radius:2px}.vh-sidebar-container::-webkit-scrollbar-thumb{background:#1976d24d;border-radius:2px}.vh-sidebar-container::-webkit-scrollbar-thumb:hover{background:#1976d280}.vh-sidebar-menu-list::-webkit-scrollbar{height:4px}.vh-sidebar-menu-list::-webkit-scrollbar-track{background:#0000000d;border-radius:2px}.vh-sidebar-menu-list::-webkit-scrollbar-thumb{background:#1976d24d;border-radius:2px}.vh-sidebar-menu-list::-webkit-scrollbar-thumb:hover{background:#1976d280}.vh-rsidebar-container{max-width:220px;min-width:200px;width:220px;position:relative;height:fit-content}@media (max-width: 768px){.vh-rsidebar-container{display:none!important}}.vh-rsidebar-card{background:#fff;border-radius:8px;padding:12px;margin-bottom:10px;border:1px solid #e1e8ed;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;width:100%;box-sizing:border-box}.vh-rsidebar-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-2px)}.vh-rsidebar-card:last-child{margin-bottom:0}.vh-rsidebar-card h3{font-size:16px;font-weight:700;margin:0 0 10px;color:#1a202c;display:flex;align-items:center;gap:8px;position:relative;letter-spacing:-.02em;line-height:1.3}.vh-rsidebar-card h3:before{content:"⭐";font-size:18px}.vh-rsidebar-recommend-list{list-style:none;padding:0;margin:0}.vh-rsidebar-recommend-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;margin-bottom:6px;background:#f8fafc;border-radius:6px;cursor:pointer;transition:all .25s ease;border:1px solid transparent;position:relative}.vh-rsidebar-recommend-item:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#1976d233;transform:translate(4px);box-shadow:0 4px 12px #1976d226}.vh-rsidebar-recommend-item:last-child{margin-bottom:0}.vh-rsidebar-recommend-item.vh-rsidebar-up{border-left:4px solid #22c55e}.vh-rsidebar-recommend-item.vh-rsidebar-down{border-left:4px solid #ef4444}.vh-rsidebar-recommend-item.vh-rsidebar-stable{border-left:4px solid #f59e0b}.vh-rsidebar-company-info{display:flex;flex-direction:column;gap:3px;flex:1}.vh-rsidebar-company-info .vh-rsidebar-company-name{font-weight:600;font-size:14px;color:#1a202c;line-height:1.2;margin-bottom:2px}.vh-rsidebar-company-info .vh-rsidebar-company-sector{font-size:11px;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:8px;display:inline-block;width:fit-content;font-weight:500}.vh-rsidebar-company-trend{font-size:18px;opacity:.9;line-height:1;transition:transform .2s ease}.vh-rsidebar-recommend-item:hover .vh-rsidebar-company-trend{transform:scale(1.1)}.vh-rsidebar-card.vh-rsidebar-loading{opacity:.8;pointer-events:none}.vh-rsidebar-loading-content{display:flex;flex-direction:column;gap:8px}.vh-rsidebar-loading-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#f8fafc;border-radius:6px}.vh-rsidebar-loading-shimmer-line{width:120px;height:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:vh-rsidebar-shimmer 1.5s infinite;border-radius:4px}.vh-rsidebar-loading-shimmer-small{width:20px;height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:vh-rsidebar-shimmer 1.5s infinite;border-radius:50%}@keyframes vh-rsidebar-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.vh-rsidebar-empty-state{text-align:center;padding:20px 10px;color:#6b7280}.vh-rsidebar-empty-icon{font-size:28px;margin-bottom:8px;display:block}.vh-rsidebar-empty-text{font-size:14px;margin-bottom:12px;color:#9ca3af}.vh-rsidebar-retry-button{background:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.vh-rsidebar-retry-button:hover{background:#2563eb;transform:translateY(-1px)}.vh-rsidebar-actions{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.vh-rsidebar-refresh-button{width:100%;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid #d1d5db;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.vh-rsidebar-refresh-button:hover:not(:disabled){background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.vh-rsidebar-refresh-button:disabled{opacity:.6;cursor:not-allowed}@keyframes vh-rsidebar-slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.vh-rsidebar-card{animation:vh-rsidebar-slideInRight .4s ease-out}.vh-rsidebar-recommend-item{animation:vh-rsidebar-slideInRight .3s ease-out;animation-fill-mode:both}.vh-rsidebar-recommend-item:nth-child(1){animation-delay:.1s}.vh-rsidebar-recommend-item:nth-child(2){animation-delay:.15s}.vh-rsidebar-recommend-item:nth-child(3){animation-delay:.2s}.vh-rsidebar-recommend-item:nth-child(4){animation-delay:.25s}.vh-rsidebar-recommend-item:nth-child(5){animation-delay:.3s}.vh-rsidebar-recommend-item:nth-child(6){animation-delay:.35s}@media (max-width: 1400px) and (min-width: 769px){.vh-rsidebar-container{max-width:200px;width:200px}.vh-rsidebar-card{padding:10px}.vh-rsidebar-card h3{font-size:15px;margin-bottom:8px}.vh-rsidebar-company-info .vh-rsidebar-company-name{font-size:13px}.vh-rsidebar-company-info .vh-rsidebar-company-sector{font-size:10px;padding:1px 6px}}@media (max-width: 1200px) and (min-width: 769px){.vh-rsidebar-container{max-width:190px;width:190px}.vh-rsidebar-card{padding:9px}.vh-rsidebar-card h3{font-size:14px}.vh-rsidebar-recommend-item{padding:6px 8px;margin-bottom:4px}.vh-rsidebar-company-info .vh-rsidebar-company-name{font-size:12px}.vh-rsidebar-company-info .vh-rsidebar-company-sector{font-size:9px;padding:1px 5px}.vh-rsidebar-company-trend{font-size:16px}}@media (prefers-reduced-motion: reduce){.vh-rsidebar-card,.vh-rsidebar-recommend-item,.vh-rsidebar-company-trend,.vh-rsidebar-retry-button,.vh-rsidebar-refresh-button{animation:none;transition:none}.vh-rsidebar-recommend-item:hover,.vh-rsidebar-card:hover{transform:none}}.pdf-download-simple{width:100%}.pdf-download-btn-simple{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;outline:none;min-height:48px;position:relative}.pdf-download-btn-simple:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.pdf-download-btn-simple:active:not(:disabled){transform:translateY(0)}.pdf-download-btn-simple:disabled{opacity:.6;cursor:not-allowed;transform:none}.pdf-download-btn-simple.generating{background:linear-gradient(135deg,#ffa726,#ff7043);cursor:wait}.pdf-download-btn-simple.error{background:linear-gradient(135deg,#ef5350,#e53935)}.btn-content{display:flex;align-items:center;gap:10px;z-index:1}.progress-bar{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#fff3;border-radius:0 0 6px 6px;overflow:hidden}.progress-fill{height:100%;background:#fffc;transition:width .3s ease;border-radius:0 0 6px 6px}.download-icon,.error-icon{width:18px;height:18px;flex-shrink:0}.simple-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:simple-spin 1s linear infinite;flex-shrink:0}@keyframes simple-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.simple-error-msg{margin-top:8px;padding:8px 12px;background:#fff5f5;color:#e53e3e;border:1px solid #fed7d7;border-radius:4px;font-size:13px;text-align:center}@media (max-width: 768px){.pdf-download-btn-simple{font-size:14px;padding:12px 16px;min-height:44px}.btn-content{gap:8px}.download-icon,.error-icon,.simple-spinner{width:16px;height:16px}}@media (max-width: 480px){.pdf-download-btn-simple{font-size:13px;padding:10px 14px;min-height:40px}}.title-module{background:#f1f5f9;padding:20px;text-align:center;margin:0}.title-module__header{display:flex;align-items:center;justify-content:center;gap:12px}.title-module__icon{font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}.title-module__title{margin:0;font-size:28px;font-weight:700;color:#1e293b;line-height:1.2;display:flex;align-items:center}.title-module__description{margin:8px 0 0;color:#475569;font-size:14px;line-height:1.4}@media (max-width: 768px){.title-module{padding:16px}.title-module__header{flex-direction:column;gap:10px}.title-module__icon,.title-module__title{font-size:22px}.title-module__description{font-size:13px}}.title-module .title-module__title{background:transparent;border:none;text-decoration:none;box-shadow:none}.title-module .title-module__icon{background:transparent;border:none;box-shadow:none;padding:0;border-radius:0}.roe-roic-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.roe-roic-chart-title{font-size:15px;font-weight:700;fill:#333}.roe-roic-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.roe-roic-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.roe-roic-chart-empty-text{font-size:14px}.roe-roic-chart-container .recharts-wrapper{outline:none;border:none}.roe-roic-chart-container .recharts-surface{outline:none}@media (max-width: 768px){.roe-roic-chart-container{height:260px}.roe-roic-chart-title{font-size:14px}}@media (max-width: 480px){.roe-roic-chart-container{height:240px}.roe-roic-chart-title{font-size:13px}.roe-roic-chart-empty-title{font-size:14px;margin-bottom:8px}.roe-roic-chart-empty-text{font-size:12px}}.roe-roic-table{margin:0;max-width:100%;width:100%;padding:12px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #ddd;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;box-sizing:border-box}.roe-roic-table__header{text-align:center;margin-bottom:8px;color:#333;font-size:14px;font-weight:600;line-height:1.3}.roe-roic-table__table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid #ddd;background:#fff;margin-top:4px;display:grid;grid-template-columns:max-content repeat(var(--year-count, 10),1fr);overflow:hidden}.roe-roic-table__table thead,.roe-roic-table__table tbody,.roe-roic-table__table tr{display:contents}.roe-roic-table__table th,.roe-roic-table__table td{padding:8px 6px;border:1px solid #ddd;text-align:center;font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:36px;box-sizing:border-box}.roe-roic-table__table thead th{background-color:#f8f9fa;color:#333;font-weight:400;border:1px solid #ddd}.roe-roic-table__table tbody td{background:#fff;border:1px solid #ddd}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{background-color:#f1f3f4;color:#333;border:1px solid #ddd;white-space:nowrap;padding:8px 12px;text-align:center;justify-content:center;font-size:12px;font-weight:400;line-height:1.3;min-width:max-content}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{text-align:center;justify-content:center;font-weight:400}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){min-width:60px;border:1px solid #ddd}.roe-roic-table__table td:not(:first-child){font-family:Consolas,Monaco,SF Mono,monospace;font-weight:400;font-size:12px;text-align:center;justify-content:center}.roe-roic-table__table tbody tr:hover th,.roe-roic-table__table tbody tr:hover td{background-color:#f0f7ff}.roe-roic-table__table tbody tr:hover td:first-child,.roe-roic-table__table tbody tr:hover th:first-child{background-color:#e8f0fe}@media (max-width: 1024px) and (min-width: 769px){.roe-roic-table{padding:10px}.roe-roic-table__header{font-size:13px;margin-bottom:6px}.roe-roic-table__table{font-size:11px}.roe-roic-table__table th,.roe-roic-table__table td{padding:6px 4px;font-size:11px;min-height:32px}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{font-size:11px;padding:6px 8px}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){min-width:55px;font-size:11px}}@media (max-width: 768px) and (min-width: 481px){.roe-roic-table{padding:8px}.roe-roic-table__header{font-size:12px;margin-bottom:5px}.roe-roic-table__table{font-size:10px}.roe-roic-table__table th,.roe-roic-table__table td{padding:6px 3px;font-size:10px;min-height:30px}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{font-size:10px;padding:6px}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){min-width:50px;font-size:10px}}@media (max-width: 480px){.roe-roic-table{padding:6px}.roe-roic-table__header{font-size:11px;margin-bottom:4px}.roe-roic-table__table{font-size:9px}.roe-roic-table__table th,.roe-roic-table__table td{padding:5px 2px;font-size:9px;min-height:28px}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{font-size:9px;padding:5px 4px;white-space:normal;line-height:1.1}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){min-width:45px;font-size:9px}}@media (max-width: 360px){.roe-roic-table{padding:4px}.roe-roic-table__header{font-size:10px;margin-bottom:2px}.roe-roic-table__table{font-size:8px}.roe-roic-table__table th,.roe-roic-table__table td{padding:4px 1px;font-size:8px;min-height:26px}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{font-size:8px;padding:4px 2px}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){min-width:40px;font-size:8px}}@supports not (display: grid){.roe-roic-table__table{display:table;table-layout:fixed}.roe-roic-table__table thead,.roe-roic-table__table tbody{display:table-header-group}.roe-roic-table__table tbody{display:table-row-group}.roe-roic-table__table tr{display:table-row}.roe-roic-table__table th,.roe-roic-table__table td{display:table-cell}.roe-roic-table__table th:first-child,.roe-roic-table__table td:first-child{width:30%}.roe-roic-table__table th:not(:first-child),.roe-roic-table__table td:not(:first-child){width:calc(70% / var(--year-count, 10))}}.roe-roic-module{width:100%;display:flex;flex-direction:column;gap:8px}.roe-roic-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 768px){.roe-roic-module{gap:6px}.roe-roic-charts{grid-template-columns:1fr;gap:6px}}@media (max-width: 480px){.roe-roic-module,.roe-roic-charts{gap:4px}}.profitability-container{background:transparent;border-radius:0;box-shadow:none;border:none;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column;gap:12px;padding:0}.profitability-container .charts-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;flex:1;min-height:680px}.profitability-container .table-card{background:transparent;padding:0;border-radius:0;box-shadow:none;border:none}@media (max-width: 1400px){.profitability-container .charts-container{min-height:650px}}@media (max-width: 1200px){.profitability-container .charts-container{min-height:620px}}@media (max-width: 992px){.profitability-container .charts-container{min-height:580px;gap:14px}}@media (max-width: 768px){.profitability-container{gap:12px;padding:6px}.profitability-container .charts-container{grid-template-columns:1fr;grid-template-rows:repeat(4,auto);gap:12px;min-height:auto}.profitability-container .table-card{padding:0}}@media (max-width: 480px){.profitability-container{gap:8px;padding:4px}.profitability-container .charts-container{gap:8px}.profitability-container .table-card{padding:0}}.profitability-table{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #ddd;margin:0;max-width:100%;width:100%;padding:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;box-sizing:border-box}.profitability-table__header{text-align:center;margin-bottom:8px;color:#333;font-size:14px;font-weight:600;line-height:1.3}.profitability-table__table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid #ddd;background:#fff;margin-top:4px;display:grid;grid-template-columns:max-content repeat(var(--year-count, 10),1fr);overflow:hidden}.profitability-table__table thead,.profitability-table__table tbody,.profitability-table__table tr{display:contents}.profitability-table__table th,.profitability-table__table td{padding:8px 6px;border:1px solid #ddd;text-align:center;font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:36px;box-sizing:border-box}.profitability-table__table thead th{background-color:#f8f9fa;color:#333;font-weight:500;border:1px solid #ddd}.profitability-table__table tbody td{background:#fff;border:1px solid #ddd}.profitability-table__table th:first-child,.profitability-table__table td:first-child{background-color:#f1f3f4;color:#333;border:1px solid #ddd;white-space:nowrap;padding:8px 12px;text-align:center;justify-content:center;font-size:12px;font-weight:500;line-height:1.3;min-width:max-content}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){min-width:60px;border:1px solid #ddd}.profitability-table__table td:not(:first-child){font-family:Consolas,Monaco,SF Mono,monospace;font-weight:400;font-size:12px;text-align:center;justify-content:center}.profitability-table__table tbody tr:hover th,.profitability-table__table tbody tr:hover td{background-color:#f0f7ff;transition:background-color .15s ease}.profitability-table__table tbody tr:hover td:first-child,.profitability-table__table tbody tr:hover th:first-child{background-color:#e8f0fe}.profitability-table__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;padding:16px;color:#666}.profitability-table__empty-title{font-size:16px;font-weight:600;margin-bottom:8px;color:#333}.profitability-table__empty-text{font-size:14px;color:#666}@media (max-width: 1024px) and (min-width: 769px){.profitability-table{padding:10px}.profitability-table__header{font-size:13px;margin-bottom:6px}.profitability-table__table{font-size:11px}.profitability-table__table th,.profitability-table__table td{padding:6px 4px;font-size:11px;min-height:32px}.profitability-table__table th:first-child,.profitability-table__table td:first-child{font-size:11px;padding:6px 8px}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){min-width:55px;font-size:11px}}@media (max-width: 768px) and (min-width: 481px){.profitability-table{padding:8px}.profitability-table__header{font-size:12px;margin-bottom:5px}.profitability-table__table{font-size:10px}.profitability-table__table th,.profitability-table__table td{padding:6px 3px;font-size:10px;min-height:30px}.profitability-table__table th:first-child,.profitability-table__table td:first-child{font-size:10px;padding:6px}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){min-width:50px;font-size:10px}}@media (max-width: 480px){.profitability-table{padding:6px}.profitability-table__header{font-size:11px;margin-bottom:4px}.profitability-table__table{font-size:9px}.profitability-table__table th,.profitability-table__table td{padding:5px 2px;font-size:9px;min-height:28px}.profitability-table__table th:first-child,.profitability-table__table td:first-child{font-size:9px;padding:5px 4px;white-space:normal;line-height:1.1}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){min-width:45px;font-size:9px}}@media (max-width: 360px){.profitability-table{padding:4px}.profitability-table__header{font-size:10px;margin-bottom:2px}.profitability-table__table{font-size:8px}.profitability-table__table th,.profitability-table__table td{padding:4px 1px;font-size:8px;min-height:26px}.profitability-table__table th:first-child,.profitability-table__table td:first-child{font-size:8px;padding:4px 2px}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){min-width:40px;font-size:8px}}@supports not (display: grid){.profitability-table__table{display:table;table-layout:fixed}.profitability-table__table thead,.profitability-table__table tbody{display:table-header-group}.profitability-table__table tbody{display:table-row-group}.profitability-table__table tr{display:table-row}.profitability-table__table th,.profitability-table__table td{display:table-cell}.profitability-table__table th:first-child,.profitability-table__table td:first-child{width:35%}.profitability-table__table th:not(:first-child),.profitability-table__table td:not(:first-child){width:calc(65% / var(--year-count, 10))}}.gross-profit-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.gross-profit-chart-title{font-size:15px;font-weight:700;fill:#333}.gross-profit-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.gross-profit-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.gross-profit-chart-empty-text{font-size:14px}.gross-profit-chart-container .recharts-wrapper{outline:none!important;border:none!important}.gross-profit-chart-container .recharts-surface,.gross-profit-chart-container *{outline:none!important}@media (max-width: 768px){.gross-profit-chart-container{height:260px}.gross-profit-chart-title{font-size:14px}}@media (max-width: 480px){.gross-profit-chart-container{height:240px}.gross-profit-chart-title{font-size:13px}.gross-profit-chart-empty-title{font-size:14px;margin-bottom:8px}.gross-profit-chart-empty-text{font-size:12px}}.net-profit-margin-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.net-profit-margin-chart-title{font-size:15px;font-weight:700;fill:#333}.net-profit-margin-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.net-profit-margin-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.net-profit-margin-chart-empty-text{font-size:14px}.net-profit-margin-chart-container .recharts-wrapper{outline:none!important;border:none!important}.net-profit-margin-chart-container .recharts-surface,.net-profit-margin-chart-container *{outline:none!important}@media (max-width: 768px){.net-profit-margin-chart-container{height:260px}.net-profit-margin-chart-title{font-size:14px}}@media (max-width: 480px){.net-profit-margin-chart-container{height:240px}.net-profit-margin-chart-title{font-size:13px}.net-profit-margin-chart-empty-title{font-size:14px;margin-bottom:8px}.net-profit-margin-chart-empty-text{font-size:12px}}.revenue-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;margin:0;width:100%;height:320px}.revenue-chart-title{font-size:15px;font-weight:700;fill:#333}.revenue-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;padding:16px;color:#666}.revenue-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333;text-align:center}.revenue-chart-empty-text{font-size:14px;text-align:center}.revenue-chart-container .recharts-wrapper{outline:none!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}.revenue-chart-container .recharts-surface{outline:none!important;border:none!important;background:transparent!important}.revenue-chart-container *{outline:none!important}.chart-card .revenue-chart-container{margin:0!important;padding:0!important}@media (min-width: 1200px){.revenue-chart-container{height:340px}.revenue-chart-title{font-size:16px}}@media (max-width: 768px){.revenue-chart-container{height:280px}.revenue-chart-title{font-size:14px}.revenue-chart-empty-title{font-size:14px;margin-bottom:8px}}@media (max-width: 480px){.revenue-chart-container{height:260px}.revenue-chart-title{font-size:13px}.revenue-chart-empty-title{font-size:14px;margin-bottom:6px}.revenue-chart-empty-text{font-size:12px}}.netprofit-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;margin:0;width:100%;height:320px}.netprofit-chart-title{font-size:15px;font-weight:700;fill:#333}.netprofit-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;padding:16px;color:#666}.netprofit-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333;text-align:center}.netprofit-chart-empty-text{font-size:14px;text-align:center}.netprofit-chart-container .recharts-wrapper{outline:none!important;border:none!important;padding:0!important;margin:0!important;background:transparent!important}.netprofit-chart-container .recharts-surface{outline:none!important;border:none!important;background:transparent!important}.netprofit-chart-container *{outline:none!important}.chart-card .netprofit-chart-container{margin:0!important;padding:0!important}@media (min-width: 1200px){.netprofit-chart-container{height:340px}.netprofit-chart-title{font-size:16px}}@media (max-width: 768px){.netprofit-chart-container{height:280px}.netprofit-chart-title{font-size:14px}.netprofit-chart-empty-title{font-size:14px;margin-bottom:8px}}@media (max-width: 480px){.netprofit-chart-container{height:260px}.netprofit-chart-title{font-size:13px}.netprofit-chart-empty-title{font-size:14px;margin-bottom:6px}.netprofit-chart-empty-text{font-size:12px}}.fcf-structure-module{width:100%;display:flex;flex-direction:column;gap:8px}.fcf-loading{text-align:center;padding:40px;color:#666}.fcf-error{text-align:center;padding:40px;color:#e53e3e}.fcf-fallback-notice{background-color:#fff3cd;border:1px solid #ffeaa7;padding:12px;border-radius:6px;font-size:.9em}.fcf-charts{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:8px}.fcf-chart-full{grid-column:1 / 3}@media (max-width: 768px){.fcf-structure-module{gap:6px}.fcf-charts{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:6px}.fcf-chart-full,.fcf-chart-half{grid-column:1}}@media (max-width: 480px){.fcf-structure-module,.fcf-charts{gap:4px}}.fcf-table{margin:0;max-width:100%;width:100%;padding:8px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #ddd;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;box-sizing:border-box}.fcf-table__header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;text-align:center;border-radius:8px 8px 0 0;margin:-12px -12px 12px}.fcf-table__title{font-size:16px;font-weight:600;margin:0;line-height:1.3}.fcf-table__subtitle{font-size:11px;opacity:.9;margin-top:4px;margin-bottom:0}.fcf-table__wrapper{border-radius:8px;border:1px solid #ddd;overflow:hidden;width:100%}.fcf-table__main{width:100%;border-collapse:collapse;font-size:12px;background:#fff;table-layout:auto}.fcf-table__main thead,.fcf-table__main tbody{display:table-header-group}.fcf-table__main tbody{display:table-row-group}.fcf-table__main tr{display:table-row}.fcf-table__main th,.fcf-table__main td{padding:10px 8px;border:1px solid #d1d5db;text-align:center;font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap;vertical-align:middle;box-sizing:border-box}.fcf-table__formula-cell{padding:12px 16px;text-align:center;border:1px solid #d1d5db;font-weight:600;color:#374151;font-size:14px;background:#f3f4f6;white-space:normal;line-height:1.4}.fcf-table__main thead th{background-color:#f8fafc;color:#374151;font-weight:600;border-bottom:2px solid #d1d5db}.fcf-table__main tbody td{background:#fff;border:1px solid #d1d5db}.fcf-table__main th:first-child,.fcf-table__main td:first-child{background-color:#f1f3f4;color:#374151;border:1px solid #d1d5db;white-space:nowrap;padding:10px 12px;text-align:center;font-size:12px;font-weight:500;line-height:1.3;width:auto;min-width:120px;max-width:200px}.fcf-table__main th:not(:first-child),.fcf-table__main td:not(:first-child){border:1px solid #d1d5db;width:auto;min-width:80px}.fcf-table__main td:not(:first-child){font-family:Consolas,Monaco,SF Mono,monospace;font-weight:400;font-size:12px;text-align:center}.fcf-table__main tbody tr:nth-child(2n) td{background:#f9fafb}.fcf-table__main tbody tr:nth-child(2n) td:first-child{background:#f1f3f4}.fcf-table__main tbody tr:hover th,.fcf-table__main tbody tr:hover td{background-color:#f0f7ff!important}.fcf-table__main tbody tr:hover td:first-child,.fcf-table__main tbody tr:hover th:first-child{background-color:#e8f0fe!important}.fcf-table__hidden-notice{background-color:#e3f2fd;border:1px solid #bbdefb;padding:8px 12px;border-radius:6px;margin-bottom:12px;color:#1565c0;text-align:center;font-size:12px;line-height:1.4}.fcf-table__loading,.fcf-table__error{padding:20px;text-align:center;border-radius:8px;margin:10px 0}.fcf-table__loading{background:#f8f9fa;color:#666}.fcf-table__error{background:#fff5f5;border:1px solid #fed7d7}.fcf-table__loading-title,.fcf-table__error-title{margin:0 0 8px;font-size:14px;font-weight:600}.fcf-table__error-title{color:#e53e3e}.fcf-table__loading-subtitle,.fcf-table__error-content{font-size:12px;margin:0;line-height:1.4}.fcf-table__error-list{text-align:left;display:inline-block;margin:8px 0 0;padding-left:20px;font-size:11px}@media (max-width: 1024px) and (min-width: 769px){.fcf-table{padding:10px}.fcf-table__header{padding:10px 14px;margin:-10px -10px 10px}.fcf-table__title{font-size:15px}.fcf-table__hidden-notice{font-size:11px;padding:6px 10px;margin-bottom:10px}.fcf-table__subtitle{font-size:10px}.fcf-table__main{font-size:11px}.fcf-table__formula-cell{font-size:13px;padding:10px 14px}.fcf-table__main th,.fcf-table__main td{padding:8px 6px;font-size:11px}.fcf-table__main th:first-child,.fcf-table__main td:first-child{font-size:11px;padding:8px 10px;min-width:100px;max-width:160px}.fcf-table__main th:not(:first-child),.fcf-table__main td:not(:first-child){font-size:11px;min-width:70px}}@media (max-width: 768px) and (min-width: 481px){.fcf-table{padding:8px}.fcf-table__header{padding:8px 12px;margin:-8px -8px 8px}.fcf-table__title{font-size:14px}.fcf-table__hidden-notice{font-size:10px;padding:6px 8px;margin-bottom:8px}.fcf-table__subtitle{font-size:9px;margin-top:2px}.fcf-table__main{font-size:10px}.fcf-table__formula-cell{font-size:12px;padding:8px 12px}.fcf-table__main th,.fcf-table__main td{padding:6px 4px;font-size:10px}.fcf-table__main th:first-child,.fcf-table__main td:first-child{font-size:10px;padding:6px 8px;min-width:90px;max-width:140px}.fcf-table__main th:not(:first-child),.fcf-table__main td:not(:first-child){font-size:10px;min-width:60px}}@media (max-width: 480px){.fcf-table{padding:6px}.fcf-table__header{padding:6px 10px;margin:-6px -6px 6px}.fcf-table__hidden-notice{font-size:11px;padding:6px 10px;margin-bottom:8px}.fcf-table__subtitle{font-size:8px;margin-top:2px}.fcf-table__main{font-size:9px}.fcf-table__formula-cell{font-size:11px;padding:6px 10px;line-height:1.3}.fcf-table__main th,.fcf-table__main td{padding:5px 3px;font-size:9px}.fcf-table__main th:first-child,.fcf-table__main td:first-child{font-size:9px;padding:5px 6px;white-space:normal;line-height:1.1;min-width:80px;max-width:120px}.fcf-table__main th:not(:first-child),.fcf-table__main td:not(:first-child){font-size:9px;min-width:50px}}@media (max-width: 360px){.fcf-table{padding:4px}.fcf-table__header{padding:4px 8px;margin:-4px -4px 4px}.fcf-table__title{font-size:12px}.fcf-table__hidden-notice{font-size:8px;padding:4px 6px;margin-bottom:4px;line-height:1.2}.fcf-table__subtitle{font-size:7px;margin-top:1px}.fcf-table__main{font-size:8px}.fcf-table__formula-cell{font-size:10px;padding:4px 8px;line-height:1.2}.fcf-table__main th,.fcf-table__main td{padding:4px 2px;font-size:8px}.fcf-table__main th:first-child,.fcf-table__main td:first-child{font-size:8px;padding:4px;min-width:70px;max-width:100px}.fcf-table__main th:not(:first-child),.fcf-table__main td:not(:first-child){font-size:8px;min-width:40px}}.capex-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;width:100%;height:280px;padding:0;margin:0;transform:translateZ(0);will-change:transform;transition:all .3s ease-in-out;overflow:hidden;position:relative;display:flex;flex-direction:column;outline:none!important;-webkit-tap-highlight-color:transparent}.capex-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;color:#6b7280;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px}.capex-chart-empty-title{font-size:16px;font-weight:600;margin-bottom:8px;color:#374151}.capex-chart-empty-text{font-size:14px;color:#6b7280;text-align:center;line-height:1.4}.capex-chart-container .recharts-wrapper{width:100%!important;height:100%!important;outline:none!important;overflow:hidden;margin:0;padding:0}.capex-chart-container .recharts-surface{width:100%!important;height:100%!important;outline:none!important;overflow:visible}.capex-chart-container .recharts-bar-rectangle{transition:all .3s ease-in-out}.capex-chart-container .recharts-cartesian-axis-tick-value{transition:all .2s ease-in-out}.capex-chart-container .recharts-label{transition:font-size .2s ease-in-out}.capex-chart-container .recharts-tooltip-wrapper{z-index:99999!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}.capex-chart-container .recharts-default-tooltip{opacity:1!important;visibility:visible!important;z-index:99999!important}.capex-chart-container .recharts-tooltip-wrapper *{opacity:1!important;visibility:visible!important;pointer-events:auto!important}@media (min-width: 1200px){.capex-chart-container{min-height:300px}}@media (max-width: 768px){.capex-chart-container{min-height:240px}}@media (max-width: 480px){.capex-chart-container{min-height:220px}.capex-chart-empty{padding:15px}.capex-chart-empty-title{font-size:14px}.capex-chart-empty-text{font-size:12px}}@media (max-height: 500px) and (orientation: landscape){.capex-chart-container{min-height:180px}}.capex-chart-container{animation:fadeIn .4s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.capex-chart-container{background:#1f2937;border-color:#374151;color:#fff}.capex-chart-empty{background:linear-gradient(135deg,#374151,#1f2937);color:#d1d5db}.capex-chart-empty-title{color:#f9fafb}.capex-chart-empty-text{color:#9ca3af}}@media (prefers-contrast: high){.capex-chart-container{border:2px solid #000!important;box-shadow:none!important}}@media (prefers-reduced-motion: reduce){.capex-chart-container,.capex-chart-container .recharts-bar-rectangle,.capex-chart-container .recharts-cartesian-axis-tick-value,.capex-chart-container .recharts-label{animation:none!important;transition:none!important}}.nopat-chart-container *{outline:none!important}.nopat-chart-container .recharts-surface{outline:none!important}.nopat-chart-container{height:200px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;width:100%;padding:0;margin:0;overflow:hidden;position:relative;display:flex;flex-direction:column;transform:translateZ(0);transition:all .3s ease-in-out;outline:none!important;-webkit-tap-highlight-color:transparent}@media (min-width: 1200px){.nopat-chart-container{height:220px}}@media (min-width: 800px) and (max-width: 1199px){.nopat-chart-container{height:200px}}@media (min-width: 600px) and (max-width: 799px){.nopat-chart-container{height:180px}}@media (min-width: 480px) and (max-width: 599px){.nopat-chart-container{height:160px}}@media (max-width: 479px){.nopat-chart-container{height:140px}}@media (max-height: 500px) and (orientation: landscape){.nopat-chart-container{height:120px!important}}.nopat-chart-container .recharts-tooltip-wrapper{z-index:99999!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}.nopat-chart-container .recharts-default-tooltip{opacity:1!important;visibility:visible!important;z-index:99999!important}.nopat-chart-container .recharts-tooltip-wrapper *{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.nopat-chart-container .recharts-wrapper{width:100%!important;height:100%!important;outline:none!important;overflow:hidden;margin:0;padding:0}.nopat-chart-container .recharts-surface{width:100%!important;height:100%!important;outline:none!important;overflow:visible}.nopat-chart-container .recharts-bar-rectangle{transition:all .3s ease-in-out}.nopat-chart-container .recharts-cartesian-axis-tick-value{transition:all .2s ease-in-out}.nopat-chart-container .recharts-label{transition:font-size .2s ease-in-out}.nopat-chart-container{animation:nopatChartFadeIn .4s ease-in-out}@keyframes nopatChartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.nopat-chart-container{background:#1f2937;border-color:#374151;color:#fff}}@media (prefers-contrast: high){.nopat-chart-container{border:2px solid #000!important;box-shadow:none!important}}@media (prefers-reduced-motion: reduce){.nopat-chart-container{animation:none!important}.nopat-chart-container .recharts-bar-rectangle,.nopat-chart-container .recharts-cartesian-axis-tick-value,.nopat-chart-container .recharts-label{transition:none!important}}.capex-chart-container *{outline:none!important}.capex-chart-container{outline:none!important;-webkit-tap-highlight-color:transparent!important}.capex-chart-container .recharts-wrapper{outline:none!important;border:none!important}.capex-chart-container .recharts-surface,.noncash-cost-chart-container *{outline:none!important}.noncash-cost-chart-container{outline:none!important;-webkit-tap-highlight-color:transparent!important}.noncash-cost-chart-container .recharts-wrapper{outline:none!important;border:none!important}.noncash-cost-chart-container .recharts-surface,.nopat-chart-container *{outline:none!important}.nopat-chart-container{outline:none!important;-webkit-tap-highlight-color:transparent!important}.nopat-chart-container .recharts-wrapper{outline:none!important;border:none!important}.nopat-chart-container .recharts-surface,.working-capital-chart-container *{outline:none!important}.working-capital-chart-container{outline:none!important;-webkit-tap-highlight-color:transparent!important}.working-capital-chart-container .recharts-wrapper{outline:none!important;border:none!important}.working-capital-chart-container .recharts-surface{outline:none!important}.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;width:100%;height:280px;padding:0;margin:0;transform:translateZ(0);will-change:transform;transition:all .3s ease-in-out;overflow:hidden;position:relative;display:flex;flex-direction:column;outline:none!important;-webkit-tap-highlight-color:transparent}.capex-chart-empty,.noncash-cost-chart-empty,.nopat-chart-empty,.working-capital-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;color:#6b7280;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px}.capex-chart-empty-title,.noncash-cost-chart-empty-title,.nopat-chart-empty-title,.working-capital-chart-empty-title{font-size:16px;font-weight:600;margin-bottom:8px;color:#374151}.capex-chart-empty-text,.noncash-cost-chart-empty-text,.nopat-chart-empty-text,.working-capital-chart-empty-text{font-size:14px;color:#6b7280;text-align:center;line-height:1.4}.capex-chart-container .recharts-wrapper,.noncash-cost-chart-container .recharts-wrapper,.nopat-chart-container .recharts-wrapper,.working-capital-chart-container .recharts-wrapper{width:100%!important;height:100%!important;outline:none!important;overflow:hidden;margin:0;padding:0}.capex-chart-container .recharts-surface,.noncash-cost-chart-container .recharts-surface,.nopat-chart-container .recharts-surface,.working-capital-chart-container .recharts-surface{width:100%!important;height:100%!important;outline:none!important;overflow:visible}.capex-chart-container .recharts-bar-rectangle,.noncash-cost-chart-container .recharts-bar-rectangle,.nopat-chart-container .recharts-bar-rectangle,.working-capital-chart-container .recharts-bar-rectangle{transition:all .3s ease-in-out}.capex-chart-container .recharts-cartesian-axis-tick-value,.noncash-cost-chart-container .recharts-cartesian-axis-tick-value,.nopat-chart-container .recharts-cartesian-axis-tick-value,.working-capital-chart-container .recharts-cartesian-axis-tick-value{transition:all .2s ease-in-out}.capex-chart-container .recharts-label,.noncash-cost-chart-container .recharts-label,.nopat-chart-container .recharts-label,.working-capital-chart-container .recharts-label{transition:font-size .2s ease-in-out}.capex-chart-container .recharts-tooltip-wrapper,.noncash-cost-chart-container .recharts-tooltip-wrapper,.nopat-chart-container .recharts-tooltip-wrapper,.working-capital-chart-container .recharts-tooltip-wrapper{z-index:99999!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}.capex-chart-container .recharts-default-tooltip,.noncash-cost-chart-container .recharts-default-tooltip,.nopat-chart-container .recharts-default-tooltip,.working-capital-chart-container .recharts-default-tooltip{opacity:1!important;visibility:visible!important;z-index:99999!important}.capex-chart-container .recharts-tooltip-wrapper *,.noncash-cost-chart-container .recharts-tooltip-wrapper *,.nopat-chart-container .recharts-tooltip-wrapper *,.working-capital-chart-container .recharts-tooltip-wrapper *{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{animation:chartFadeIn .4s ease-in-out;transform:translateZ(0);will-change:transform}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1200px){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{min-height:300px}}@media (max-width: 768px){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{min-height:240px}}@media (max-width: 480px){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{min-height:220px}.capex-chart-empty,.noncash-cost-chart-empty,.nopat-chart-empty,.working-capital-chart-empty{padding:15px}.capex-chart-empty-title,.noncash-cost-chart-empty-title,.nopat-chart-empty-title,.working-capital-chart-empty-title{font-size:14px}.capex-chart-empty-text,.noncash-cost-chart-empty-text,.nopat-chart-empty-text,.working-capital-chart-empty-text{font-size:12px}}@media (max-height: 500px) and (orientation: landscape){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{min-height:180px}}@media (prefers-color-scheme: dark){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{background:#1f2937;border-color:#374151;color:#fff}.capex-chart-empty,.noncash-cost-chart-empty,.nopat-chart-empty,.working-capital-chart-empty{background:linear-gradient(135deg,#374151,#1f2937);color:#d1d5db}.capex-chart-empty-title,.noncash-cost-chart-empty-title,.nopat-chart-empty-title,.working-capital-chart-empty-title{color:#f9fafb}.capex-chart-empty-text,.noncash-cost-chart-empty-text,.nopat-chart-empty-text,.working-capital-chart-empty-text{color:#9ca3af}}@media (prefers-contrast: high){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{border:2px solid #000!important;box-shadow:none!important}}@media (prefers-reduced-motion: reduce){.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{animation:none!important}.capex-chart-container .recharts-bar-rectangle,.noncash-cost-chart-container .recharts-bar-rectangle,.nopat-chart-container .recharts-bar-rectangle,.working-capital-chart-container .recharts-bar-rectangle,.capex-chart-container .recharts-cartesian-axis-tick-value,.noncash-cost-chart-container .recharts-cartesian-axis-tick-value,.nopat-chart-container .recharts-cartesian-axis-tick-value,.working-capital-chart-container .recharts-cartesian-axis-tick-value,.capex-chart-container .recharts-label,.noncash-cost-chart-container .recharts-label,.nopat-chart-container .recharts-label,.working-capital-chart-container .recharts-label{transition:none!important}}@media print{.capex-chart-container,.noncash-cost-chart-container,.nopat-chart-container,.working-capital-chart-container{box-shadow:none!important;border:1px solid #ccc!important;background:#fff!important;outline:none!important}}.dcf-valuation-container{width:100%;display:flex;flex-direction:column;gap:8px;padding:0}.dcf-table-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;border:1px solid #e0e6ed}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{display:flex;align-items:center;justify-content:center;min-height:300px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.dcf-valuation-container .loading-state{color:#6c757d;font-size:16px}.dcf-valuation-container .error-state{color:#dc3545;font-size:16px;font-weight:500}.dcf-valuation-container .empty-data{text-align:center;padding:60px 20px;color:#6c757d}.dcf-valuation-container .empty-data .empty-icon{font-size:48px;margin-bottom:16px}.dcf-valuation-container .empty-data h3{margin:0 0 8px;color:#495057;font-size:18px}.dcf-valuation-container .empty-data p{margin:0;font-size:14px;line-height:1.5}@media (max-width: 1024px){.dcf-valuation-container{gap:6px;padding:0 8px}.dcf-table-card{border-radius:10px;box-shadow:0 3px 10px #00000014}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{min-height:250px;font-size:14px}.dcf-valuation-container .empty-data{padding:40px 16px}.dcf-valuation-container .empty-data .empty-icon{font-size:40px;margin-bottom:12px}.dcf-valuation-container .empty-data h3{font-size:16px}.dcf-valuation-container .empty-data p{font-size:13px}}@media (max-width: 768px){.dcf-valuation-container{gap:4px;padding:0 4px}.dcf-table-card{border-radius:8px;box-shadow:0 2px 8px #0000000f;margin:0 -4px}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{min-height:200px;font-size:13px;padding:16px;margin:8px;border-radius:6px}.dcf-valuation-container .empty-data{padding:32px 12px}.dcf-valuation-container .empty-data .empty-icon{font-size:36px;margin-bottom:10px}.dcf-valuation-container .empty-data h3{font-size:15px;margin-bottom:6px}.dcf-valuation-container .empty-data p{font-size:12px}}@media (max-width: 480px){.dcf-valuation-container{gap:2px;padding:0 2px}.dcf-table-card{border-radius:6px;margin:0 -2px}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{min-height:180px;font-size:12px;padding:12px;margin:4px}.dcf-valuation-container .empty-data{padding:24px 8px}.dcf-valuation-container .empty-data .empty-icon{font-size:32px;margin-bottom:8px}.dcf-valuation-container .empty-data h3{font-size:14px;margin-bottom:4px}.dcf-valuation-container .empty-data p{font-size:11px}}@media (max-height: 500px) and (orientation: landscape){.dcf-valuation-container{gap:2px}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{min-height:120px;font-size:12px}.dcf-valuation-container .empty-data{padding:16px 12px}.dcf-valuation-container .empty-data .empty-icon{font-size:28px;margin-bottom:6px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx){.dcf-table-card{box-shadow:0 2px 6px #00000014}}@media print{.dcf-valuation-container{gap:4px;padding:0}.dcf-table-card{box-shadow:none;border:1px solid #ccc;page-break-inside:avoid}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{display:none}}@media (prefers-reduced-motion: reduce){.dcf-table-card{transition:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}@media (prefers-contrast: high){.dcf-table-card{border:2px solid #000}.dcf-valuation-container .loading-state,.dcf-valuation-container .error-state{border:2px solid #666}}.fcf-revenue-ratio-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.fcf-revenue-ratio-chart-title{font-size:15px;font-weight:700;fill:#333}.fcf-revenue-ratio-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.fcf-revenue-ratio-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.fcf-revenue-ratio-chart-empty-text{font-size:14px}.fcf-revenue-ratio-chart-container .recharts-wrapper{outline:none;border:none}.fcf-revenue-ratio-chart-container .recharts-surface{outline:none}@media (max-width: 768px){.fcf-revenue-ratio-chart-container{height:260px}.fcf-revenue-ratio-chart-title{font-size:14px}}@media (max-width: 480px){.fcf-revenue-ratio-chart-container{height:240px}.fcf-revenue-ratio-chart-title{font-size:13px}.fcf-revenue-ratio-chart-empty-title{font-size:14px;margin-bottom:8px}.fcf-revenue-ratio-chart-empty-text{font-size:12px}}.fcf-ev-ratio-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.fcf-ev-ratio-chart-title{font-size:15px;font-weight:700;fill:#333}.fcf-ev-ratio-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.fcf-ev-ratio-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.fcf-ev-ratio-chart-empty-text{font-size:14px}.fcf-ev-ratio-chart-container .recharts-wrapper{outline:none;border:none}.fcf-ev-ratio-chart-container .recharts-surface{outline:none}@media (max-width: 768px){.fcf-ev-ratio-chart-container{height:260px}.fcf-ev-ratio-chart-title{font-size:14px}}@media (max-width: 480px){.fcf-ev-ratio-chart-container{height:240px}.fcf-ev-ratio-chart-title{font-size:13px}.fcf-ev-ratio-chart-empty-title{font-size:14px;margin-bottom:8px}.fcf-ev-ratio-chart-empty-text{font-size:12px}}.fcf-capex-ratio-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.fcf-capex-ratio-chart-title{font-size:15px;font-weight:700;fill:#333}.fcf-capex-ratio-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.fcf-capex-ratio-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.fcf-capex-ratio-chart-empty-text{font-size:14px}.fcf-capex-ratio-chart-container .recharts-wrapper{outline:none;border:none}.fcf-capex-ratio-chart-container .recharts-surface{outline:none}@media (max-width: 768px){.fcf-capex-ratio-chart-container{height:260px}.fcf-capex-ratio-chart-title{font-size:14px}}@media (max-width: 480px){.fcf-capex-ratio-chart-container{height:240px}.fcf-capex-ratio-chart-title{font-size:13px}.fcf-capex-ratio-chart-empty-title{font-size:14px;margin-bottom:8px}.fcf-capex-ratio-chart-empty-text{font-size:12px}}.fcf-netprofit-ratio-chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e8f0;padding:0;width:100%;height:310px}.fcf-netprofit-ratio-chart-title{font-size:15px;font-weight:700;fill:#333}.fcf-netprofit-ratio-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;color:#666}.fcf-netprofit-ratio-chart-empty-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#333}.fcf-netprofit-ratio-chart-empty-text{font-size:14px}.fcf-netprofit-ratio-chart-container .recharts-wrapper{outline:none;border:none}.fcf-netprofit-ratio-chart-container .recharts-surface{outline:none}@media (max-width: 768px){.fcf-netprofit-ratio-chart-container{height:260px}.fcf-netprofit-ratio-chart-title{font-size:14px}}@media (max-width: 480px){.fcf-netprofit-ratio-chart-container{height:240px}.fcf-netprofit-ratio-chart-title{font-size:13px}.fcf-netprofit-ratio-chart-empty-title{font-size:14px;margin-bottom:8px}.fcf-netprofit-ratio-chart-empty-text{font-size:12px}}.fcf-ratio-module{width:100%;display:flex;flex-direction:column;gap:8px}.fcf-ratio-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 768px){.fcf-ratio-module{gap:6px}.fcf-ratio-charts{grid-template-columns:1fr;gap:6px}}@media (max-width: 480px){.fcf-ratio-module,.fcf-ratio-charts{gap:4px}}:root{--val-font-title: 1.4rem;--val-font-subtitle: 1.1rem;--val-font-header: 1rem;--val-font-content: .9rem;--val-font-company: 24px;--val-font-button: .85rem;--val-font-caption: .8rem;--val-font-search: 16px;--val-col-subject: 180px;--val-col-year: 80px;--val-col-single: 120px;--val-row-height: 28px;--val-row-header: 32px;--val-cell-padding: 4px 3px;--val-header-padding: 6px 3px;--val-color-primary: #007bff;--val-color-primary-hover: #0056b3;--val-color-success: #28a745;--val-color-warning: #ffc107;--val-color-info: #17a2b8;--val-color-danger: #dc3545;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--val-color-border: #c0c0c0;--val-color-header-bg: #f8f9fa;--val-color-cell-bg: #ffffff;--val-color-alt-row: #f8f9fa;--val-color-historical-bg: #e8f4fd;--val-color-historical-border: #1976d2;--val-color-forecast-bg: #fff8e1;--val-color-forecast-border: #f57f17;--val-color-editable-bg: #ffebee;--val-color-editable-color: #c62828;--val-color-editable-border: #c62828;--val-color-editable-hover-bg: #ffcdd2;--val-color-editable-focus-border: #d32f2f;--val-color-editable-focus-shadow: rgba(211, 47, 47, .25);--search-bg: #ffffff;--search-border: #e5e7eb;--search-border-focus: #3b82f6;--search-shadow: rgba(0, 0, 0, .1);--search-shadow-focus: rgba(59, 130, 246, .25);--val-spacing-xs: .25rem;--val-spacing-sm: .5rem;--val-spacing-md: .8rem;--val-spacing-lg: 1.2rem;--val-spacing-xl: 1.6rem;--val-transition-fast: .15s ease-out;--val-transition-normal: .3s ease-out;--val-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--val-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--val-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--val-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}.fcf-parameter-management{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;padding-top:70px!important;box-sizing:border-box;line-height:1.5}.fcf-container{max-width:1600px;margin:0 auto;padding:0 1rem 1rem;background:#fff;min-height:calc(100vh - 70px);border-radius:8px;box-shadow:var(--val-shadow-lg)}.company-search-section-redesigned{background:linear-gradient(145deg,#fff,#f8fafc);padding:2rem 2.5rem;border-radius:20px;margin-bottom:2rem;border:none!important;box-shadow:0 8px 32px #0000000f,0 4px 16px #3b82f60a;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.company-search-section-redesigned:hover{transform:translateY(-1px);box-shadow:0 12px 40px #00000014,0 6px 20px #3b82f60f}.company-search-section-redesigned:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#06b6d4,#10b981);opacity:.8}.search-container-redesigned{display:flex;flex-direction:column;gap:24px;max-width:900px;margin:0 auto}.search-header-redesigned{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px}.search-icon-redesigned{color:#3b82f6;filter:drop-shadow(0 2px 4px rgba(59,130,246,.2))}.search-title-redesigned{font-size:1.5rem;font-weight:700;margin:0;color:#1e293b;text-shadow:0 1px 2px rgba(0,0,0,.05);letter-spacing:-.025em}.search-input-group-redesigned{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:8px;border:2px solid #e2e8f0;box-shadow:0 4px 12px #0000000a,inset 0 1px #ffffffe6;transition:all .25s ease}.search-input-group-redesigned:focus-within{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f61f,0 0 0 3px #3b82f614}.company-search-input-redesigned{flex:1;padding:16px 20px;border:none!important;background:transparent!important;border-radius:12px;font-size:16px;font-weight:500;color:#1e293b;outline:none!important;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.company-search-input-redesigned::placeholder{color:#64748b;font-size:15px;font-weight:400;opacity:.7}.company-search-input-redesigned:focus{background:#f8fafc80!important;color:#0f172a}.company-search-input-redesigned.search-failed{color:#dc2626;background:#fef2f299!important;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.search-button-redesigned{padding:16px 28px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .25s ease;min-width:120px;box-shadow:0 4px 12px #3b82f640;display:flex;align-items:center;justify-content:center;gap:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.search-button-redesigned:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f64d;transform:translateY(-1px)}.search-button-redesigned:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #3b82f640}.search-button-redesigned:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);cursor:not-allowed;opacity:.7;box-shadow:0 2px 6px #94a3b833}.search-button-redesigned.searching{background:linear-gradient(135deg,#06b6d4,#0891b2);animation:pulse 2s infinite}.company-browser-button{padding:16px 24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#475569;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 2px 6px #0000000a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.company-browser-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155;box-shadow:0 4px 10px #0000000f;transform:translateY(-.5px)}.company-browser-button:active{transform:translateY(0)}.current-company-info{background:linear-gradient(135deg,#fff,#f8fafc);padding:1.2rem 1.5rem;border-radius:12px;margin-bottom:1.2rem;border:1px solid var(--gray-200);box-shadow:var(--val-shadow-md);text-align:center;position:relative;overflow:hidden}.current-company-info:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--val-color-primary) 0%,var(--val-color-success) 100%)}.company-title{margin:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.valuation-company-title{font-size:var(--val-font-company)!important;font-weight:700!important;color:var(--gray-900)!important;text-shadow:0 2px 4px rgba(0,0,0,.1)!important;letter-spacing:-.01em!important;line-height:1!important;margin:0!important;text-align:center!important;display:inline-block!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif!important;background:linear-gradient(135deg,var(--gray-900),var(--gray-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.analysis-type{font-size:var(--val-font-search);color:var(--gray-600);font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:#3b82f614;border-radius:14px;border:1px solid rgba(59,130,246,.15);white-space:nowrap}.analysis-type:before{content:"📊";font-size:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.financial-table-container{background:#fff;border:2px solid var(--val-color-border);border-radius:12px;margin:1.5rem 0;box-shadow:var(--val-shadow-lg);overflow:visible}.financial-table-header{background:linear-gradient(135deg,var(--val-color-header-bg) 0%,#e9ecef 100%);padding:1.2rem;border-bottom:2px solid var(--val-color-border);text-align:center;border-radius:10px 10px 0 0;position:relative;display:flex;align-items:center;justify-content:center}.financial-table-header h3{margin:0;font-size:var(--val-font-subtitle);font-weight:800;color:var(--gray-800);display:flex;align-items:center;justify-content:center;gap:.6rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.financial-table-wrapper{overflow-x:auto;overflow-y:visible;width:100%;border-radius:0 0 10px 10px;scrollbar-width:thin;scrollbar-color:var(--gray-400) var(--gray-100)}.financial-table-wrapper::-webkit-scrollbar{height:6px}.financial-table-wrapper::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.financial-table-wrapper::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:3px;transition:background-color var(--val-transition-fast)}.financial-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.financial-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--val-font-content);table-layout:fixed;font-family:Segoe UI,system-ui,sans-serif;min-width:800px}.financial-table .subject-col{width:var(--val-col-subject);min-width:var(--val-col-subject);white-space:normal}.financial-table .year-col{width:var(--val-col-year);min-width:var(--val-col-year);white-space:nowrap}.financial-table .single-value-col{width:var(--val-col-single);min-width:var(--val-col-single)}.financial-table th{padding:var(--val-header-padding);text-align:center!important;font-weight:800;font-size:var(--val-font-header)!important;border:1px solid var(--val-color-border);color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;height:var(--val-row-header);box-sizing:border-box;background:var(--val-color-header-bg);position:relative;text-shadow:0 1px 2px rgba(0,0,0,.05)}.financial-table th.subject-col{text-align:center!important;padding:var(--val-header-padding)!important;font-weight:800!important;font-size:var(--val-font-header)!important;background:linear-gradient(135deg,#e8e8e8,#f0f0f0)!important;border-right:2px solid var(--val-color-border)!important;color:var(--gray-800)!important;vertical-align:middle!important;box-shadow:inset 0 1px 2px #0000000d;position:sticky!important;left:0!important;z-index:10!important}.financial-table th.historical-year{background:linear-gradient(135deg,var(--val-color-historical-bg),#e1f5fe)!important;color:var(--val-color-historical-border)!important;font-weight:800;font-size:var(--val-font-header)!important;border:1px solid var(--val-color-border)!important;text-align:center!important}.financial-table th.forecast-year{background:linear-gradient(135deg,var(--val-color-forecast-bg),#fff3e0)!important;color:var(--val-color-forecast-border)!important;font-weight:800;font-size:var(--val-font-header)!important;border:1px solid var(--val-color-border)!important;text-align:center!important}.financial-table tbody tr{border:none;transition:background-color var(--val-transition-fast)}.financial-table tbody tr:nth-child(2n){background-color:var(--val-color-alt-row)}.financial-table tbody tr:hover{background-color:#3b82f614}.financial-table td{padding:var(--val-cell-padding);text-align:center!important;border:1px solid var(--val-color-border);font-size:var(--val-font-content)!important;font-weight:700!important;vertical-align:middle;height:var(--val-row-height);box-sizing:border-box;white-space:nowrap;transition:all var(--val-transition-fast);overflow:hidden;text-overflow:ellipsis;color:var(--gray-800)!important}.financial-table tbody td.subject-cell,.financial-table tfoot td.subject-cell{text-align:center!important;padding:var(--val-cell-padding)!important;font-weight:700!important;font-size:var(--val-font-content)!important;color:var(--gray-800)!important;white-space:normal!important;background:linear-gradient(135deg,#f5f5f5,#f8f9fa)!important;border-right:2px solid var(--val-color-border)!important;position:sticky!important;left:0!important;z-index:10!important;line-height:1.3!important;vertical-align:middle!important;display:table-cell!important}.financial-table tbody td.subject-cell.long-text,.financial-table tfoot td.subject-cell.long-text{font-size:.85rem!important;font-weight:700!important;line-height:1.25!important;padding:3px 2px!important;text-align:center!important}.financial-table td.historical-cell,.financial-table td.forecast-cell{background:#fff!important;color:var(--gray-800)!important;font-weight:700!important;font-size:var(--val-font-content)!important;border:1px solid var(--val-color-border)!important}.financial-table tfoot tr:last-child td{background:#e8f5e9!important;font-weight:800!important;font-size:var(--val-font-content)!important;color:var(--gray-800)!important;border:1px solid var(--val-color-border)!important}.financial-table tfoot tr:last-child td.subject-cell{background:#e8f5e9!important;font-weight:800!important;font-size:var(--val-font-content)!important;color:var(--gray-800)!important}.financial-table td.forecast-cell.editable-cell{background:var(--val-color-editable-bg)!important;color:var(--val-color-editable-color)!important;font-weight:700!important;font-size:var(--val-font-content)!important;border:1px solid var(--val-color-editable-border)!important;cursor:text;position:relative;transition:all var(--val-transition-normal)}.financial-table td.forecast-cell.editable-cell:hover{background:var(--val-color-editable-hover-bg)!important;border-color:var(--val-color-editable-focus-border)!important;box-shadow:0 0 0 1px #d32f2f33!important}.financial-table td.forecast-cell.editable-cell:focus-within{background:#fff!important;border-color:var(--val-color-editable-focus-border)!important;box-shadow:0 0 0 3px var(--val-color-editable-focus-shadow)!important}.editable-cell-wrapper-simple{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.editable-cell-wrapper-simple .editable-input-simple{width:70px;text-align:center;background:transparent;border:none;border-radius:4px;padding:2px 4px;font-size:var(--val-font-content)!important;font-weight:700!important;color:inherit;outline:none;transition:all var(--val-transition-fast)}.editable-cell-wrapper-simple .editable-input-simple:focus{background:#fff!important;border:1px solid var(--val-color-editable-focus-border)!important;outline:none!important;box-shadow:0 0 0 2px var(--val-color-editable-focus-shadow)!important;color:var(--val-color-editable-focus-border)!important}.editable-cell-wrapper-simple .editable-input-simple:hover{background:#d32f2f0d!important}.editable-input-simple{width:100%;height:100%;border:none;background:transparent;text-align:center!important;font-size:var(--val-font-content)!important;font-weight:700!important;color:inherit;padding:2px 4px;margin:0;outline:none;font-family:inherit;border-radius:0;cursor:text;transition:all var(--val-transition-fast)}.editable-input-simple:focus{background:#fffffff2!important;outline:1px solid var(--val-color-editable-focus-border)!important;outline-offset:-1px;color:var(--val-color-editable-focus-border)!important;font-weight:800;border-radius:4px}.editable-input-simple::selection{background-color:var(--val-color-editable-focus-border)!important;color:#fff!important}.editable-input-simple::-moz-selection{background-color:var(--val-color-editable-focus-border)!important;color:#fff!important}.editable-input-simple::placeholder{color:var(--gray-400);font-weight:500;opacity:.8}.editable-input-simple:focus::placeholder{opacity:.4}.value-display{display:block;width:100%;height:100%;padding:2px 1px;text-align:center!important;font-weight:700!important;font-size:var(--val-font-content)!important;transition:all var(--val-transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-800)!important}.value-display.value-changed{font-weight:800!important;font-size:var(--val-font-content)!important;color:var(--val-color-success)!important;background:#28a7451a;border-radius:3px}.percentage-field{position:relative}.percentage-field:after{content:"%";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:var(--val-font-content);font-weight:500;pointer-events:none;z-index:5;opacity:.8;transition:all var(--val-transition-fast)}.percentage-field:hover:after{color:var(--gray-500);opacity:1}.percentage-field:focus-within:after{color:var(--val-color-editable-focus-border);font-weight:600;opacity:1}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;border:2px solid;border-radius:6px;font-size:var(--val-font-button);font-weight:700;cursor:pointer;transition:background-color var(--val-transition-fast),border-color var(--val-transition-fast),box-shadow var(--val-transition-fast);text-decoration:none;background:none;position:relative;overflow:hidden}.btn-primary{background:var(--val-color-primary);border-color:var(--val-color-primary);color:#fff;box-shadow:var(--val-shadow-sm)}.btn-primary:hover{background:var(--val-color-primary-hover);border-color:var(--val-color-primary-hover);box-shadow:var(--val-shadow-md)}.btn-secondary{background:#fff;border-color:var(--gray-400);color:var(--gray-600)}.btn-secondary:hover{background:var(--gray-600);color:#fff;box-shadow:var(--val-shadow-md)}.btn-success{background:var(--val-color-success);border-color:var(--val-color-success);color:#fff;box-shadow:var(--val-shadow-sm)}.btn-success:hover{background:#218838;border-color:#218838;box-shadow:var(--val-shadow-md)}.btn-info{background:var(--val-color-info);border-color:var(--val-color-info);color:#fff;box-shadow:var(--val-shadow-sm)}.btn-info:hover{background:#138496;border-color:#138496;box-shadow:var(--val-shadow-md)}.btn-warning{background:var(--val-color-warning);border-color:var(--val-color-warning);color:var(--gray-800);box-shadow:var(--val-shadow-sm)}.btn-warning:hover{background:#e0a800;border-color:#e0a800;color:#fff;box-shadow:var(--val-shadow-md)}.btn-danger{background:var(--val-color-danger);border-color:var(--val-color-danger);color:#fff;min-width:140px;box-shadow:var(--val-shadow-sm)}.btn-danger:hover{background:#c82333;border-color:#c82333;box-shadow:var(--val-shadow-md)}.btn-danger:disabled{background:var(--gray-400);border-color:var(--gray-400);cursor:not-allowed}.btn-sm{padding:.4rem .8rem;font-size:var(--val-font-caption);border-radius:4px}.calculating-indicator{display:inline-flex;align-items:center;gap:.6rem;margin-left:1.2rem;padding:.4rem .8rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:16px;font-size:var(--val-font-caption);font-weight:700;box-shadow:0 3px 8px #f59e0b66;animation:pulse 2s infinite;border:1px solid rgba(255,255,255,.2)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.calculating-indicator .w-4{animation:spin 1.5s linear infinite}.download-valuation-btn-header{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px #0596694d;min-width:80px;justify-content:center;z-index:10}.download-valuation-btn-header:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #05966966;transform:translateY(-50%) translateY(-1px)}.download-valuation-btn-header:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,var(--gray-400) 0%,var(--gray-500) 100%);box-shadow:0 2px 6px #9ca3af33}.download-valuation-btn-header:active:not(:disabled){transform:translateY(-50%) translateY(0);box-shadow:0 2px 6px #0596694d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--gray-600);background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;box-shadow:var(--val-shadow-lg)}.loading-spinner{font-size:2.5rem;margin-bottom:1.2rem;animation:spin 1s linear infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.loading-container p{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0}.message-alert-large{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:1.2rem 1.6rem;border-radius:12px;box-shadow:0 12px 36px #00000026;min-width:350px;max-width:600px;animation:slideDownBounce .4s cubic-bezier(.68,-.55,.265,1.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid rgba(255,255,255,.3)}@keyframes slideDownBounce{0%{opacity:0;transform:translate(-50%) translateY(-30px) scale(.85)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.message-alert-large.message-success{background:linear-gradient(135deg,#d4f6d4,#e8f5e8);border-left:6px solid var(--val-color-success);color:#1b5e20}.message-alert-large.message-error{background:linear-gradient(135deg,#fdeaea,#fee);border-left:6px solid var(--val-color-danger);color:#c62828}.message-alert-large.message-warning{background:linear-gradient(135deg,#fff8e1,#fffde7);border-left:6px solid var(--val-color-warning);color:#e65100}.message-alert-large.message-info{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-left:6px solid var(--val-color-info);color:#1565c0}.message-content-large{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.8rem}.message-content-large svg{flex-shrink:0;margin-top:2px;width:20px;height:20px}.message-content-large span{flex:1;font-weight:600;line-height:1.4;font-size:var(--val-font-button)}.message-close-large{position:absolute;top:.8rem;right:1.2rem;background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1;transition:all var(--val-transition-fast);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.message-close-large:hover{opacity:1;background:#0000001a}.message-alert{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:.8rem 1.2rem;border-radius:10px;box-shadow:var(--val-shadow-xl);min-width:300px;max-width:500px;animation:slideDownBounce .4s cubic-bezier(.68,-.55,.265,1.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.message-success{background:linear-gradient(135deg,#d4f6d4,#e8f5e8);border-left:4px solid var(--val-color-success);color:#1b5e20}.message-error{background:linear-gradient(135deg,#fdeaea,#fee);border-left:4px solid var(--val-color-danger);color:#c62828}.message-warning{background:linear-gradient(135deg,#fff8e1,#fffde7);border-left:4px solid var(--val-color-warning);color:#e65100}.message-info{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-left:4px solid var(--val-color-info);color:#1565c0}.message-content{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.6rem}.message-content svg{flex-shrink:0;margin-top:1px}.message-content span{flex:1;font-weight:600;line-height:1.3;font-size:var(--val-font-button)}.message-close{position:absolute;top:.6rem;right:.8rem;background:none;border:none;font-size:1.3rem;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1;transition:all var(--val-transition-fast);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.message-close:hover{opacity:1;background:#0000001a}@media (max-width: 1600px){:root{--val-col-subject: 160px;--val-col-year: 75px;--val-col-single: 110px;--val-font-header: .95rem;--val-font-content: .85rem}.fcf-container{max-width:1400px}.financial-table{min-width:750px}.download-valuation-btn-header{right:1rem;padding:7px 10px;font-size:.7rem;min-width:75px}.company-search-section-redesigned{padding:1.8rem 2.2rem;border-radius:18px}}@media (max-width: 1400px){:root{--val-col-subject: 150px;--val-col-year: 70px;--val-col-single: 100px;--val-font-company: 22px;--val-font-header: .9rem;--val-font-content: .8rem}.fcf-container{max-width:1200px}.financial-table{min-width:700px}.valuation-company-title{font-size:22px!important}.analysis-type{font-size:15px;padding:2px 8px}.company-search-section-redesigned{padding:1.5rem 2rem}.search-title-redesigned{font-size:1.4rem}.company-search-input-redesigned{font-size:15px;padding:15px 18px}.search-button-redesigned,.company-browser-button{padding:15px 22px;font-size:14px}.financial-table td.subject-cell.long-text{font-size:.75rem!important}}@media (max-width: 1200px){:root{--val-col-subject: 140px;--val-col-year: 65px;--val-col-single: 95px;--val-font-header: .85rem;--val-font-content: .75rem;--val-row-height: 26px;--val-row-header: 30px;--val-cell-padding: 3px 2px}.fcf-container{max-width:100%;padding:0 .6rem}.financial-table{min-width:650px}.valuation-company-title{font-size:20px!important;line-height:1!important;margin:0!important}.analysis-type{font-size:14px;padding:2px 6px}.company-search-section-redesigned{padding:1.5rem;border-radius:16px}.search-title-redesigned{font-size:1.25rem}.company-search-input-redesigned{padding:14px 16px;font-size:15px}.search-button-redesigned,.company-browser-button{padding:14px 20px;font-size:14px}.financial-table td.subject-cell.long-text{font-size:.7rem!important}}@media (max-width: 768px){:root{--val-col-subject: 120px;--val-col-year: 60px;--val-col-single: 85px;--val-font-header: .8rem;--val-font-content: .7rem;--val-font-company: 18px;--val-row-height: 24px;--val-row-header: 28px;--val-cell-padding: 2px 1px;--val-header-padding: 4px 2px}.fcf-parameter-management{padding-top:75px!important}.fcf-container{min-height:calc(100vh - 75px);padding:0 .4rem .4rem;border-radius:4px}.financial-table{min-width:550px}.valuation-company-title{font-size:18px!important;line-height:1.1!important;margin:0!important;text-align:center!important}.analysis-type{font-size:12px;padding:1px 6px}.company-search-section-redesigned{padding:1.5rem;border-radius:16px;margin:0 1rem 1.5rem}.search-title-redesigned{font-size:1.25rem;text-align:center}.search-input-group-redesigned{flex-direction:column;gap:12px;padding:12px}.company-search-input-redesigned{width:100%;padding:14px 16px;text-align:center}.search-button-redesigned,.company-browser-button{width:100%;padding:14px 20px;justify-content:center}.percentage-field:after{right:3px;font-size:var(--val-font-content)}.current-company-info{padding:1rem}.message-alert{top:85px;min-width:250px;max-width:calc(100vw - 1.5rem);margin:0 .75rem}.message-alert-large{top:85px;min-width:280px;max-width:calc(100vw - 1.5rem);margin:0 .75rem;padding:1rem 1.2rem}.download-valuation-btn-header{position:static;transform:none;margin-top:6px;width:100%;font-size:.75rem;padding:6px 10px}.financial-table-header{flex-direction:column;gap:6px}.financial-table td.subject-cell.long-text{font-size:.65rem!important}}@media (max-width: 480px){:root{--val-col-subject: 100px;--val-col-year: 50px;--val-col-single: 75px;--val-font-header: .75rem;--val-font-content: .65rem;--val-font-company: 16px;--val-row-height: 22px;--val-cell-padding: 1px 1px}.financial-table{min-width:500px}.valuation-company-title{font-size:16px!important;line-height:1.1!important;margin:0!important}.analysis-type{font-size:11px;padding:1px 4px}.company-search-section-redesigned{padding:1.25rem;border-radius:12px;margin:0 .5rem 1.5rem}.search-title-redesigned{font-size:1.1rem;line-height:1.3}.search-input-group-redesigned{padding:10px;gap:10px}.company-search-input-redesigned{padding:12px 14px;font-size:15px}.search-button-redesigned,.company-browser-button{padding:12px 16px;font-size:14px}.current-company-info{padding:.8rem}.message-alert-large{min-width:240px;padding:.8rem 1rem}.financial-table td.subject-cell.long-text{font-size:.6rem!important}}.company-search-input-redesigned:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.search-button-redesigned:focus-visible,.company-browser-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.editable-input-simple:focus-visible{outline:2px solid var(--val-color-editable-focus-border);outline-offset:1px}.btn:focus-visible{outline:2px solid var(--val-color-primary);outline-offset:2px}.suggestion-item:focus-visible{outline:2px solid var(--val-color-primary);outline-offset:-2px}@media (prefers-reduced-motion: reduce){.company-search-section-redesigned,.search-input-group-redesigned,.company-search-input-redesigned,.search-button-redesigned,.company-browser-button{transition:none;animation:none}.company-search-section-redesigned:before{animation:none}.calculating-indicator,.search-button-redesigned.searching{animation:none}}@media print{.fcf-header{background:#fff!important;color:#000!important;border:2px solid #000;padding:.8rem 1.2rem!important;box-shadow:none!important}.financial-table-container{box-shadow:none;border:2px solid #000;margin:.6rem 0;break-inside:avoid}.financial-table th,.financial-table td{border:1px solid #000!important;font-size:.65rem!important;padding:3px 2px!important}.btn,.data-status-cards,.adjustment-status-display,.system-status,.message-alert,.message-alert-large,.company-search-section,.company-search-section-redesigned,.company-suggestions-dropdown{display:none!important}.editable-input-simple{border:none!important;background:transparent!important;color:inherit!important}.financial-table-header h3{font-size:1.1rem!important;color:#000!important}.valuation-company-title{font-size:32px!important;color:#000!important;line-height:.9!important;margin-bottom:8px!important;text-shadow:none!important;background:none!important;-webkit-text-fill-color:initial!important}.percentage-field:after{content:" %"!important;position:static!important;color:#000!important}}.financial-table{border-spacing:0;border-collapse:separate}@supports (position: sticky){.financial-table th.subject-col,.financial-table td.subject-cell{position:sticky;left:0}}.financial-table td,.financial-table th{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.financial-table td.subject-cell{white-space:normal}.company-browser-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;animation:fadeIn .2s ease-out}.company-browser-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;width:85%;max-width:900px;height:70vh;max-height:600px;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.browser-header{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;flex-shrink:0}.header-left h3{margin:0 0 4px;color:#2c3e50;font-size:1.4rem;font-weight:600}.company-stats{color:#6c757d;font-size:1rem}.close-btn{background:#ff4757;border:2px solid white;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-weight:700;font-size:18px;transition:all .2s ease;box-shadow:0 2px 8px #ff47574d}.close-btn:hover{background:#ff3742;transform:scale(1.1);box-shadow:0 4px 12px #ff475766}.browser-toolbar{padding:16px 24px;background:#fff;border-bottom:1px solid #e9ecef;flex-shrink:0}.search-section{width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center;max-width:400px}.search-icon{position:absolute;left:12px;color:#6c757d;pointer-events:none}.browser-search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid #dee2e6;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#f8f9fa}.browser-search-input:focus{outline:none;border-color:#007bff;background:#fff;box-shadow:0 0 0 3px #007bff1a}.clear-search-btn{position:absolute;right:8px;background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-search-btn:hover{background:#e9ecef;color:#495057}.browser-content{flex:1;overflow:hidden;position:relative}.companies-container{height:100%;overflow-y:auto;padding:20px 24px}.company-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;width:100%}.company-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease;position:relative;text-align:center;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center}.company-card:hover{border-color:#007bff;box-shadow:0 4px 16px #007bff26;transform:translateY(-2px)}.company-card.current{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-color:#007bff;box-shadow:0 4px 16px #007bff33}.company-card .company-icon{font-size:2rem;margin-bottom:8px;opacity:.8}.company-card .company-name{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0 0 8px;line-height:1.1;text-align:center}.company-card .company-code{font-size:.8rem;color:#6c757d;font-family:monospace;margin-bottom:6px}.company-card .company-meta{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#6c757d}.company-card .industry{background:#f8f9fa;padding:3px 8px;border-radius:8px;border:1px solid #e9ecef;font-size:.8rem}.current-indicator{position:absolute;top:8px;right:8px;background:#28a745;color:#fff;font-size:.75rem;padding:3px 8px;border-radius:10px;font-weight:500}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6c757d}.loading-state p,.error-state .error-message,.empty-state p{margin:12px 0 0;font-size:1.1rem}.retry-btn{margin-top:16px;background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.retry-btn:hover{background:#0056b3}.browser-footer{padding:16px 24px;background:#f8f9fa;border-top:1px solid #e9ecef;flex-shrink:0}.footer-info{color:#6c757d;font-size:.9rem;text-align:center}@media (max-width: 1024px){.company-grid{grid-template-columns:repeat(4,1fr);gap:10px}.company-browser-container{width:95%;height:80vh}.browser-header{padding:16px 20px}.header-left h3{font-size:1.25rem}.company-stats{font-size:.9rem}.browser-toolbar{padding:16px 20px}.search-input-wrapper{max-width:none}.browser-search-input{font-size:1rem;padding:12px 12px 12px 40px}.companies-container{padding:16px 20px}}@media (max-width: 768px){.company-browser-overlay{align-items:flex-start;padding-top:5vh}.company-browser-container{width:95%;height:90vh;max-height:none;margin:0 10px;border-radius:16px 16px 0 0}.browser-header{padding:16px 20px}.header-left h3{font-size:1.25rem}.company-stats{font-size:.9rem}.browser-toolbar{padding:16px 20px}.search-input-wrapper{max-width:none}.browser-search-input{font-size:1rem;padding:12px 12px 12px 40px}.companies-container{padding:16px 20px}.company-grid{grid-template-columns:repeat(2,1fr);gap:12px}.company-card{min-height:120px;padding:16px 12px;border-radius:12px}.company-card .company-icon{font-size:2.2rem;margin-bottom:8px}.company-card .company-name{font-size:1.1rem;line-height:1.2;margin-bottom:6px;font-weight:600}.company-card .company-code{font-size:.75rem;margin-bottom:4px}.company-card .industry{font-size:.7rem;padding:2px 6px}.current-indicator{top:6px;right:6px;font-size:.65rem;padding:2px 6px}.browser-footer{padding:12px 20px}.footer-info{font-size:.85rem}}@media (max-width: 480px){.company-browser-container{width:100%;height:100vh;margin:0;border-radius:0}.browser-header,.browser-toolbar,.companies-container{padding:12px 16px}.company-grid{grid-template-columns:repeat(2,1fr);gap:10px}.company-card{min-height:110px;padding:14px 10px}.company-card .company-name{font-size:1rem;line-height:1.1}.company-card .company-icon{font-size:2rem}.browser-footer{padding:10px 16px}}@media (max-width: 768px) and (orientation: landscape){.company-browser-container{height:95vh}.company-grid{grid-template-columns:repeat(3,1fr)}}.industry-category-panel{width:240px;min-width:240px;background-color:#fff;border-right:1px solid #e2e8f0;padding:16px 12px;height:fit-content;box-shadow:0 1px 3px #0000001a}.industry-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.industry-category-header h3{margin:0;font-size:15px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:6px}.industry-refresh-btn{background:none;border:1px solid #d1d5db;color:#6b7280;width:28px;height:28px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.industry-refresh-btn:hover{background:#f3f4f6;color:#374151;transform:rotate(90deg)}.industry-category-list{display:flex;flex-direction:column;gap:2px}.industry-category-item{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;gap:8px;-webkit-user-select:none;user-select:none;border:1px solid transparent}.industry-category-item:hover{background-color:#f8fafc;transform:translate(2px);border-color:#e5e7eb}.industry-category-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;transform:translate(4px);border-color:transparent}.industry-category-item.selected:hover{transform:translate(4px)}.industry-category-item.selected .industry-category-icon{filter:brightness(1.2);transform:scale(1.1)}.industry-category-item.special{font-weight:500}.industry-category-item.special:not(.selected){color:#374151;background-color:#f9fafb}.industry-category-item.special:not(.selected):hover{background-color:#f3f4f6;border-color:#e5e7eb}.industry-category-icon{font-size:14px;min-width:18px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.industry-category-name{flex:1;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.industry-category-count{font-size:12px;background:#0000001a;color:#6b7280;padding:2px 6px;border-radius:10px;min-width:16px;text-align:center;opacity:.8}.industry-category-item.selected .industry-category-count{background:#ffffff40;color:#fff;opacity:1}.industry-empty-categories{margin-top:24px;padding:16px;text-align:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border:1px dashed #cbd5e1}.industry-empty-categories-text{font-size:14px;color:#6b7280;margin-bottom:4px;font-weight:500}.industry-empty-categories-hint{font-size:12px;color:#9ca3af;line-height:1.4}.industry-category-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:#fff6;border-radius:0 3px 3px 0;transition:height .2s ease}.industry-category-item.selected:before{height:60%}@media (max-width: 768px){.industry-category-panel{position:static;width:100%;min-width:unset;border-right:none;border-bottom:1px solid #e2e8f0}.industry-category-header{position:static;padding:12px 16px 8px}.industry-category-list{padding:8px 16px 12px;flex-direction:row;flex-wrap:wrap;gap:6px;justify-content:flex-start}.industry-category-item{flex:0 0 auto;white-space:nowrap;padding:6px 10px;transform:none!important}.industry-category-item:hover,.industry-category-item.selected:hover{transform:none!important}.industry-empty-categories{margin:12px 16px;order:999;width:calc(100% - 32px)}}.industry-research-wrapper{display:flex;flex-direction:column;width:100%;max-width:1400px;margin:60px auto 0;min-height:calc(100vh - 60px);background-color:#f6f9fc}.page-header{padding:24px 32px;background-color:#fff;border-bottom:1px solid #e0e6ed;margin-bottom:0}.page-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:12px}.page-header p{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.content-container{display:flex;flex:1;gap:0}.industry-research-wrapper .industry-category-panel{width:240px;min-width:240px;padding:16px 12px;background-color:#fff;border-right:1px solid #e0e6ed}.industry-research-wrapper .pdf-file-list{flex:1;padding:24px 32px 60px;background-color:#fff;overflow:visible}.pdf-file-list h2{margin:0 0 24px;font-size:20px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.pdf-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:24px}.pdf-file-list .pdf-table{width:100%;border-collapse:collapse;font-size:14px}.pdf-file-list .pdf-table th{padding:16px 12px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.pdf-file-list .pdf-table td{padding:12px;border-bottom:1px solid #f1f5f9;color:#6b7280;vertical-align:middle}.pdf-file-list .pdf-table tbody tr:hover{background-color:#f8fafc}.pdf-file-list .pdf-table tbody tr:last-child td{border-bottom:none}.pdf-file-list .pdf-table td:nth-child(1){max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#1f2937;width:60%}.pdf-file-list .pdf-table td:nth-child(2){min-width:120px;width:25%;font-family:SF Mono,Consolas,monospace;font-size:13px;color:#6b7280}.pdf-file-list .pdf-table td:nth-child(3){min-width:80px;width:15%;text-align:center}.preview-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:6px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.preview-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.preview-btn:active{transform:translateY(0)}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-top:20px;border-top:1px solid #e2e8f0}.pagination-info{color:#6b7280;font-size:14px}.pagination-controls{display:flex;gap:8px;align-items:center}.pagination-btn{background:#fff;border:1px solid #d1d5db;color:#374151;padding:6px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-btn.active:hover{background:#2563eb}.page-size-selector{display:flex;align-items:center;gap:8px;margin-left:16px}.page-size-selector select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:16px;font-weight:500;margin-bottom:8px}.empty-state-desc{font-size:14px;opacity:.8}@media (max-width: 768px){.industry-research-wrapper{margin:60px 0 0}.page-header{padding:16px 20px}.page-header h1{font-size:24px}.content-container{flex-direction:column}.industry-research-wrapper .industry-category-panel{width:100%;min-width:unset;border-right:none;border-bottom:1px solid #e0e6ed}.industry-research-wrapper .pdf-file-list{padding:16px 16px 40px}.pdf-file-list .pdf-table td:nth-child(1){max-width:250px}.pagination-container{flex-direction:column;gap:16px;align-items:stretch}.pagination-controls{justify-content:center}}.login-container{min-height:100vh;background:linear-gradient(135deg,#e0f2fe,#e8eaf6);display:flex;align-items:center;justify-content:center;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-card{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000026;padding:24px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;animation:fadeInUp .6s ease-out}.login-header{text-align:center;margin-bottom:24px}.login-title{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 6px}.login-subtitle{color:#6b7280;margin:0;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:18px}.password-input{padding-right:48px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.submit-button{width:100%;background:#4f46e5;color:#fff;padding:10px 16px;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;margin-top:4px}.spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.register-link{margin-top:16px;text-align:center}.register-link p{font-size:.875rem;color:#6b7280;margin:0}@media (max-width: 480px){.login-container{padding:8px}.login-card{padding:20px;max-height:95vh}.login-title{font-size:1.5rem}.login-form{gap:16px}.form-input{padding:8px 12px}.submit-button{padding:8px 16px}}@media (prefers-color-scheme: dark){.login-container{background:linear-gradient(135deg,#1e293b,#0f172a)}.login-card{background:#1e293b;color:#f1f5f9}.login-title{color:#f1f5f9}.login-subtitle{color:#94a3b8}.form-label{color:#e2e8f0}.form-input{background:#334155;border-color:#475569;color:#f1f5f9}.form-input:focus{border-color:#6366f1}.form-input::placeholder{color:#94a3b8}.password-toggle:hover{background-color:#475569}}*{box-sizing:border-box}.register-container{min-height:calc(100vh - 64px);background:linear-gradient(135deg,#e0f2fe,#e8eaf6);display:flex;align-items:center;justify-content:center;padding:80px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.register-card{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000026;padding:24px;width:100%;max-width:400px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.register-header{text-align:center;margin-bottom:24px}.register-title{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 6px}.register-subtitle{color:#6b7280;margin:0;font-size:.875rem}.register-form{display:flex;flex-direction:column;gap:18px}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:6px}.form-input{width:100%;padding:10px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease-in-out;background:#fff;outline:none}.form-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-input:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.form-input.error{border-color:#ef4444}.form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.password-input-container{position:relative}.password-input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.password-toggle:hover{background-color:#f3f4f6}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{margin-top:3px;font-size:.75rem;color:#ef4444;margin-bottom:0}.help-text{margin-top:3px;font-size:.75rem;color:#6b7280;margin-bottom:0}.submit-button{width:100%;background:#4f46e5;color:#fff;padding:11px 16px;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;margin-top:6px}.submit-button:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #4f46e533}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-content{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.message{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.875rem;display:flex;align-items:center;gap:8px;animation:slideIn .3s ease-out}.success-message{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.error-message-box{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.message-icon{flex-shrink:0}.login-link{margin-top:18px;text-align:center}.login-link p{font-size:.875rem;color:#6b7280;margin:0}.link-button{background:none;border:none;color:#4f46e5;font-weight:500;cursor:pointer;text-decoration:none;margin-left:4px;padding:0;font-size:inherit;transition:color .2s}.link-button:hover:not(:disabled){color:#4338ca;text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme: dark){.register-container{background:linear-gradient(135deg,#1e293b,#0f172a)}.register-card{background:#1e293b;color:#f1f5f9}.register-title{color:#f1f5f9}.register-subtitle{color:#94a3b8}.form-label{color:#e2e8f0}.form-input{background:#334155;border-color:#475569;color:#f1f5f9}.form-input:focus{border-color:#6366f1}.form-input::placeholder{color:#94a3b8}.password-toggle:hover{background-color:#475569}.help-text{color:#94a3b8}}.admin-sidebar{--admin-sidebar-width: 240px;--admin-sidebar-collapsed-width: 64px;--admin-sidebar-header-height: 60px;--admin-sidebar-navbar-height: 60px;--admin-sidebar-bg-primary: #2c3e50;--admin-sidebar-bg-secondary: #34495e;--admin-sidebar-primary-color: #64b5f6;--admin-sidebar-text-primary: rgba(255, 255, 255, .9);--admin-sidebar-text-secondary: rgba(255, 255, 255, .7);--admin-sidebar-text-muted: rgba(255, 255, 255, .5);--admin-sidebar-border-color: rgba(255, 255, 255, .1);--admin-sidebar-hover-bg: rgba(255, 255, 255, .1);--admin-sidebar-active-bg: rgba(255, 255, 255, .15);--admin-sidebar-border-radius: 8px;--admin-sidebar-shadow: 0 10px 25px rgba(0, 0, 0, .1);--admin-sidebar-transition: all .3s cubic-bezier(.4, 0, .2, 1);--admin-sidebar-z-index: 1000}.admin-sidebar{width:var(--admin-sidebar-width);background:linear-gradient(180deg,var(--admin-sidebar-bg-primary) 0%,var(--admin-sidebar-bg-secondary) 100%);color:var(--admin-sidebar-text-primary);position:fixed;top:var(--admin-sidebar-navbar-height);left:0;bottom:0;z-index:var(--admin-sidebar-z-index);display:flex;flex-direction:column;box-shadow:var(--admin-sidebar-shadow);transition:var(--admin-sidebar-transition);overflow:hidden}.admin-sidebar--collapsed{width:var(--admin-sidebar-collapsed-width)}.admin-sidebar--mobile{transform:translate(-100%)}.admin-sidebar--mobile:not(.admin-sidebar--collapsed){transform:translate(0)}.admin-sidebar__header{height:var(--admin-sidebar-header-height);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--admin-sidebar-border-color);background:#0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-sidebar__logo{display:flex;align-items:center;font-weight:700;font-size:18px;color:var(--admin-sidebar-text-primary);width:100%}.admin-sidebar__logo-icon{font-size:24px;margin-right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--admin-sidebar-hover-bg);border-radius:var(--admin-sidebar-border-radius);transition:var(--admin-sidebar-transition);flex-shrink:0}.admin-sidebar__logo-icon:hover{background:var(--admin-sidebar-active-bg);transform:scale(1.05)}.admin-sidebar__logo-text{opacity:1;transition:var(--admin-sidebar-transition);white-space:nowrap;overflow:hidden}.admin-sidebar--collapsed .admin-sidebar__logo-text{opacity:0;width:0}.admin-sidebar__content{flex:1;overflow:hidden;padding:12px 0;display:flex;flex-direction:column}.admin-sidebar__section{margin-bottom:16px;flex-shrink:0}.admin-sidebar__section:last-child{margin-bottom:0}.admin-sidebar__section-title{font-size:11px;font-weight:600;color:var(--admin-sidebar-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 20px 6px;margin:0 0 6px;opacity:1;transition:var(--admin-sidebar-transition)}.admin-sidebar--collapsed .admin-sidebar__section-title{opacity:0;height:0;margin:0;padding:0;overflow:hidden}.admin-sidebar__menu-list{display:flex;flex-direction:column}.admin-sidebar__menu-item{display:flex;align-items:center;padding:10px 16px;margin:0 8px 3px;border-radius:var(--admin-sidebar-border-radius);color:var(--admin-sidebar-text-secondary);text-decoration:none;transition:var(--admin-sidebar-transition);cursor:pointer;position:relative;overflow:hidden;border:none;background:transparent;width:calc(100% - 16px);font-size:13px;font-family:inherit;text-align:left}.admin-sidebar__menu-item:hover{background:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-text-primary);transform:translate(2px)}.admin-sidebar__menu-item:focus-visible{outline:2px solid var(--admin-sidebar-primary-color);outline-offset:2px}.admin-sidebar__menu-item--active{background:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-text-primary);box-shadow:0 2px 8px #0003;font-weight:600}.admin-sidebar__menu-item--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--admin-sidebar-primary-color);border-radius:0 2px 2px 0}.admin-sidebar__menu-icon{font-size:16px;margin-right:10px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;transition:var(--admin-sidebar-transition)}.admin-sidebar__menu-label{font-size:13px;font-weight:500;opacity:1;transition:var(--admin-sidebar-transition);white-space:nowrap;flex:1;text-align:left;overflow:hidden}.admin-sidebar--collapsed .admin-sidebar__menu-label{opacity:0;width:0}.admin-sidebar__menu-group{margin-bottom:6px}.admin-sidebar__menu-group-header{font-weight:600;background:#ffffff0d;cursor:pointer;justify-content:space-between}.admin-sidebar__menu-group-header:hover{background:#ffffff14;transform:translate(2px)}.admin-sidebar__menu-group-header:disabled{cursor:default}.admin-sidebar__menu-group-header:disabled:hover{transform:none}.admin-sidebar__group-arrow{font-size:12px;opacity:.6;transition:var(--admin-sidebar-transition);transform-origin:center;margin-left:auto;flex-shrink:0}.admin-sidebar__group-arrow--expanded{transform:rotate(180deg)}.admin-sidebar__submenu{margin-left:8px;border-left:2px solid var(--admin-sidebar-border-color);padding-left:6px;margin-top:3px;animation:admin-sidebar-slide-down .2s ease-out}@keyframes admin-sidebar-slide-down{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.admin-sidebar__submenu-item{display:flex;align-items:center;padding:6px 12px;margin:0 0 1px;border-radius:5px;color:var(--admin-sidebar-text-secondary);text-decoration:none;transition:var(--admin-sidebar-transition);font-size:12px;position:relative}.admin-sidebar__submenu-item:hover{background:#ffffff14;color:var(--admin-sidebar-text-primary);transform:translate(2px)}.admin-sidebar__submenu-item:focus-visible{outline:2px solid var(--admin-sidebar-primary-color);outline-offset:2px}.admin-sidebar__submenu-item--active{background:#64b5f633;color:var(--admin-sidebar-primary-color);font-weight:600}.admin-sidebar__submenu-item .admin-sidebar__menu-icon{font-size:12px;margin-right:6px;width:14px;height:14px}.admin-sidebar__footer{border-top:1px solid var(--admin-sidebar-border-color);padding:12px 16px;background:#0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;margin-top:auto}.admin-sidebar__info{text-align:center;opacity:1;transition:var(--admin-sidebar-transition)}.admin-sidebar--collapsed .admin-sidebar__info{opacity:0;height:0;padding:0;overflow:hidden}.admin-sidebar__info-text{font-size:11px;color:var(--admin-sidebar-text-muted);margin-bottom:3px;font-weight:500}.admin-sidebar__info-version{font-size:9px;color:#fff6;font-weight:600;padding:2px 5px;background:var(--admin-sidebar-hover-bg);border-radius:3px;display:inline-block}.admin-sidebar--collapsed .admin-sidebar__menu-item{position:relative}.admin-sidebar--collapsed .admin-sidebar__menu-item:hover:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:calc(var(--admin-sidebar-z-index) + 1);opacity:0;animation:admin-sidebar-tooltip-show .2s ease-out .5s forwards;pointer-events:none;box-shadow:0 4px 12px #0000004d}.admin-sidebar--collapsed .admin-sidebar__menu-item:hover:before{content:"";position:absolute;left:calc(100% + 2px);top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid rgba(0,0,0,.9);z-index:var(--admin-sidebar-z-index);opacity:0;animation:admin-sidebar-tooltip-show .2s ease-out .5s forwards}@keyframes admin-sidebar-tooltip-show{to{opacity:1}}@media (max-width: 768px){.admin-sidebar{width:var(--admin-sidebar-width);transform:translate(-100%)}.admin-sidebar:not(.admin-sidebar--collapsed){transform:translate(0)}.admin-sidebar--collapsed{width:var(--admin-sidebar-width);transform:translate(-100%)}}@media (prefers-contrast: high){.admin-sidebar{border-right:2px solid white}.admin-sidebar__menu-item:focus-visible{outline:3px solid yellow}}@media (prefers-reduced-motion: reduce){.admin-sidebar,.admin-sidebar *{transition:none!important;animation:none!important}}.admin-sidebar__menu-item,.admin-sidebar__submenu-item{position:relative;overflow:hidden}.admin-sidebar__menu-item:after,.admin-sidebar__submenu-item:after{content:"";position:absolute;top:50%;left:-100%;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:var(--admin-sidebar-transition)}.admin-sidebar__menu-item:hover:after,.admin-sidebar__submenu-item:hover:after{left:100%;transition:left .6s ease-out}.admin-sidebar--loading{opacity:.7;pointer-events:none}.admin-sidebar--loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:admin-sidebar-shimmer 1.5s infinite}@keyframes admin-sidebar-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}:root{--sidebar-width: 240px;--sidebar-collapsed-width: 60px;--navbar-height: 70px;--header-height: 60px;--primary-color: #1976d2;--bg-color: #f5f7fa;--content-bg: #ffffff;--border-color: #e1e8ed;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}.admin-layout{display:flex;min-height:100vh;background-color:var(--bg-color);padding-top:var(--navbar-height);position:relative}.admin-content{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);transition:var(--transition);min-width:0}.admin-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.admin-header{height:var(--header-height);background:var(--content-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 24px;box-shadow:var(--shadow);position:sticky;top:var(--navbar-height);z-index:100}.sidebar-toggle-btn{width:40px;height:40px;border:none;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-size:18px;color:#666;margin-right:16px}.sidebar-toggle-btn:hover{background-color:#f0f0f0;color:var(--primary-color)}.page-title{font-size:20px;font-weight:600;color:#2c3e50;margin:0}.admin-main-content{flex:1;padding:24px;overflow-y:auto;background-color:var(--bg-color)}.sidebar-overlay{position:fixed;top:var(--navbar-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:999;opacity:0;animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{to{opacity:1}}@media (max-width: 1200px){:root{--sidebar-width: 220px}.admin-main-content{padding:20px}}@media (max-width: 992px){:root{--sidebar-width: 200px}.admin-main-content{padding:16px}.page-title{font-size:18px}}@media (max-width: 768px){.admin-content,.admin-content.sidebar-collapsed{margin-left:0}.admin-main-content{padding:16px 12px}.admin-header{padding:0 16px}.page-title{font-size:16px}}@media (max-width: 480px){.admin-main-content{padding:12px 8px}.admin-header{padding:0 12px;height:50px}.sidebar-toggle-btn{width:36px;height:36px;font-size:16px;margin-right:12px}}.admin-main-content>*{animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-main-content::-webkit-scrollbar{width:8px}.admin-main-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.admin-main-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.admin-main-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.upload-bar-container{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:20px 24px;text-align:center;box-shadow:0 1px 6px #0000000f}.upload-bar-center{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px}.upload-bar-title{display:flex;align-items:center;font-size:16px;font-weight:600;color:#2c3e50;margin-right:16px}.upload-bar-icon{font-size:22px;margin-right:8px}.upload-file-input{font-size:14px;padding:8px 12px;border:2px solid #e1e8ed;border-radius:6px;background:#f8f9fa;transition:all .3s ease;cursor:pointer;min-width:200px}.upload-file-input:hover{border-color:#42a5f5;background:#fff}.upload-file-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.upload-btn{padding:10px 24px;background:linear-gradient(135deg,#42a5f5,#1976d2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #42a5f54d}.upload-btn:hover{background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px);box-shadow:0 4px 12px #42a5f566}.upload-btn:disabled{background:#e0e0e0;color:#9e9e9e;cursor:not-allowed;transform:none;box-shadow:none}.upload-file-name{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e1e8ed}.upload-file-name p{margin:0 0 8px;font-size:14px;font-weight:600;color:#2c3e50}.upload-file-name ul{margin:0;padding:0;list-style:none}.upload-file-name li{padding:4px 0;font-size:13px;color:#5a6c7d;display:flex;align-items:center}.upload-file-name li:before{content:"📄";margin-right:8px;font-size:14px}.upload-file-name strong{color:#2c3e50}.upload-success-message{margin-top:12px;padding:12px 16px;background:linear-gradient(135deg,#e8f5e8,#d4edd4);color:#2e7d32;font-size:14px;font-weight:600;border-radius:6px;border:1px solid #c8e6c9;display:flex;align-items:center;justify-content:center}.upload-success-message:before{content:"✅";margin-right:8px;font-size:16px}@media (max-width: 768px){.upload-bar-container{padding:16px}.upload-bar-center{flex-direction:column;align-items:stretch;gap:12px}.upload-bar-title{justify-content:center;margin-right:0;margin-bottom:8px}.upload-file-input{min-width:auto;width:100%}.upload-btn{width:100%;padding:12px 24px}}.file-table-container{padding:0;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa;min-height:100vh}.notification{position:fixed;top:80px;right:20px;max-width:420px;padding:16px 20px;border-radius:12px;box-shadow:0 8px 32px #0000001f,0 0 0 1px #fff3;cursor:pointer;z-index:9999;display:flex;align-items:center;justify-content:space-between;animation:slideInRight .4s cubic-bezier(.25,.46,.45,.94);font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3)}@media (max-height: 600px){.notification{top:60px}}@media (max-height: 500px){.notification{top:40px}}.notification.with-navbar{top:100px}.notification.with-header{top:120px}.notification-info{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-left:4px solid #4facfe}.notification-success{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border-left:4px solid #00d2ff}.notification-error{background:linear-gradient(135deg,#fc466b,#3f5efb);color:#fff;border-left:4px solid #ff6b6b}.notification-warning{background:linear-gradient(135deg,#fdbb2d,#22c1c3);color:#fff;border-left:4px solid #ffa726}.notification-close{background:none;border:none;font-size:20px;font-weight:700;color:inherit;cursor:pointer;margin-left:12px;opacity:.8;transition:all .3s ease;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close:hover{opacity:1;background:#fff3;transform:scale(1.1)}.notification:nth-of-type(2){top:160px}.notification:nth-of-type(3){top:240px}.notification:nth-of-type(4){top:320px}@keyframes slideInRight{0%{transform:translate(120%) translateY(-10px) rotate(3deg);opacity:0;filter:blur(8px)}to{transform:translate(0) translateY(0) rotate(0);opacity:1;filter:blur(0)}}.center-notification-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.center-notification{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:0;min-width:360px;max-width:520px;box-shadow:0 25px 80px #00000040,0 0 0 1px #ffffff80,inset 0 1px #ffffffe6;animation:centerSlideIn .5s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes centerSlideIn{0%{transform:scale(.7) translateY(-30px) rotate(-2deg);opacity:0;filter:blur(10px)}to{transform:scale(1) translateY(0) rotate(0);opacity:1;filter:blur(0)}}.center-notification-content{display:flex;align-items:center;padding:32px;gap:20px;position:relative}.center-notification-icon{font-size:40px;line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.center-notification-message{flex:1;font-size:18px;font-weight:600;line-height:1.5;color:#2d3748;text-shadow:0 1px 2px rgba(0,0,0,.05)}.center-notification-close{position:absolute;top:12px;right:12px;background:#ffffffe6;border:none;font-size:20px;font-weight:700;color:#718096;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px #0000001a}.center-notification-close:hover{background:#e2e8f0;color:#4a5568;transform:scale(1.1) rotate(90deg);box-shadow:0 4px 12px #00000026}.center-notification-success{border-top:6px solid #48bb78}.center-notification-success .center-notification-content{background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.center-notification-error{border-top:6px solid #f56565}.center-notification-error .center-notification-content{background:linear-gradient(135deg,snow,#fed7d7)}.center-notification-warning{border-top:6px solid #ed8936}.center-notification-warning .center-notification-content{background:linear-gradient(135deg,#fffaf0,#fbd38d)}.center-notification-info{border-top:6px solid #4299e1}.center-notification-info .center-notification-content{background:linear-gradient(135deg,#f7fafc,#bee3f8)}.file-table-toolbar{background:linear-gradient(135deg,#fff,#f7fafc,#edf2f7);border:1px solid rgba(226,232,240,.8);border-radius:8px;padding:20px;margin:8px;box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.file-table-toolbar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb)}.toolbar-section{margin-bottom:0}.toolbar-title{font-size:22px;font-weight:700;color:#2d3748;margin:0 0 20px;display:flex;align-items:center;text-shadow:0 1px 2px rgba(0,0,0,.05)}.toolbar-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:center}.toolbar-btn{padding:14px 24px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f;position:relative;overflow:hidden;text-transform:none;letter-spacing:.025em;min-height:52px;display:flex;align-items:center;justify-content:center}.toolbar-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.toolbar-btn:hover:before{left:100%}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.toolbar-btn:disabled:before{display:none}.toolbar-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea66,0 2px 6px #667eea33}.toolbar-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #667eea80,0 4px 12px #667eea4d}.toolbar-btn.secondary{background:linear-gradient(135deg,#ed64a6,#d53f8c);color:#fff;box-shadow:0 6px 20px #ed64a666,0 2px 6px #ed64a633}.toolbar-btn.secondary:hover:not(:disabled){background:linear-gradient(135deg,#d53f8c,#b83280);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #ed64a680,0 4px 12px #ed64a64d}.toolbar-btn.warning{background:linear-gradient(135deg,#f6ad55,#ed8936);color:#fff;box-shadow:0 6px 20px #f6ad5566,0 2px 6px #f6ad5533}.toolbar-btn.warning:hover:not(:disabled){background:linear-gradient(135deg,#ed8936,#dd6b20);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #f6ad5580,0 4px 12px #f6ad554d}.toolbar-btn.info{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;box-shadow:0 6px 20px #4299e166,0 2px 6px #4299e133}.toolbar-btn.info:hover:not(:disabled){background:linear-gradient(135deg,#3182ce,#2c5282);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #4299e180,0 4px 12px #4299e14d}.toolbar-btn.success{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;animation:successPulse 3s ease-in-out infinite;box-shadow:0 6px 20px #48bb7866,0 2px 6px #48bb7833}.toolbar-btn.success:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-2px) scale(1.02);animation:none;box-shadow:0 8px 25px #48bb7880,0 4px 12px #48bb784d}@keyframes successPulse{0%,to{box-shadow:0 6px 20px #48bb7866,0 2px 6px #48bb7833}50%{box-shadow:0 8px 30px #48bb7899,0 4px 12px #48bb7866,0 0 20px #48bb784d}}.toolbar-description{padding:16px 20px;background:linear-gradient(135deg,#ffffffe6,#f7fafce6);border-radius:12px;border:1px solid rgba(226,232,240,.6);margin-top:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar-description p{margin:0;font-size:13px;color:#4a5568;line-height:1.6}.filters-container-compact{background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid rgba(226,232,240,.8);border-radius:8px;padding:16px;margin:8px;box-shadow:0 1px 3px #0000000d}.filter-row-compact{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filter-group-compact{display:flex;align-items:center;gap:8px;white-space:nowrap}.filter-group-compact label{font-size:13px;font-weight:600;color:#4a5568;min-width:fit-content}.search-input-compact,.filter-select-compact{padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s cubic-bezier(.25,.46,.45,.94);min-width:140px;background:#fff;box-shadow:0 2px 4px #00000005}.search-input-compact{min-width:180px}.search-input-compact:focus,.filter-select-compact:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.reset-filters-btn-compact{padding:10px 16px;background:linear-gradient(135deg,#f6ad55,#ed8936);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 6px #f6ad554d}.reset-filters-btn-compact:hover{background:linear-gradient(135deg,#ed8936,#dd6b20);transform:translateY(-1px);box-shadow:0 4px 12px #f6ad5566}.data-summary-compact{background:linear-gradient(135deg,#667eea1a,#764ba214);padding:10px 16px;border-radius:6px;margin:8px;font-size:14px;color:#553c9a;border-left:3px solid #667eea;box-shadow:0 1px 3px #667eea1a;font-weight:500}.company-block-compact{border:1px solid rgba(226,232,240,.8);margin:8px 0;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s ease;position:relative}.company-block-compact:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);opacity:0;transition:opacity .2s ease}.company-block-compact:hover{box-shadow:0 2px 8px #0000001a}.company-block-compact:hover:before{opacity:1}.company-block-compact:last-child{margin-bottom:0}.company-header-compact{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;min-height:48px}.company-header-compact:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.company-info-compact{display:flex;align-items:center;gap:20px;flex:1}.company-name-compact{font-size:16px;font-weight:700;color:#2d3748;min-width:140px;text-shadow:0 1px 2px rgba(0,0,0,.05)}.company-status-compact{display:flex;align-items:center;gap:12px}.progress-bar-compact{width:100px;height:8px;background:linear-gradient(135deg,#e2e8f0,#cbd5e0);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.progress-fill-compact{height:100%;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:4px;transition:all .6s cubic-bezier(.25,.46,.45,.94);box-shadow:0 1px 3px #48bb7866}.progress-text-compact{font-size:13px;font-weight:600;color:#4a5568;min-width:40px}.company-tags-compact{display:flex;gap:6px}.tag-compact{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tag-compact.industry{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2}.tag-compact.market-cap{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);color:#2e7d32}.company-actions-compact{display:flex;align-items:center;gap:10px}.toggle-button-compact{color:#7c8db5;font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px;background:#fffc;box-shadow:0 1px 3px #0000001a}.action-btn-compact{padding:8px 16px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;min-width:80px;box-shadow:0 2px 6px #0000001a}.action-btn-compact:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:all .4s ease}.action-btn-compact:hover:before{width:100px;height:100px}.action-btn-compact.valuation{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn-compact.valuation.loading{background:linear-gradient(135deg,#f6ad55,#ed8936);color:#fff;animation:loadingPulse 2s ease-in-out infinite}.action-btn-compact.valuation.success{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;animation:successFlash 1.2s ease-in-out}.action-btn-compact.valuation.error{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff;animation:errorShake .8s ease-in-out}.action-btn-compact.post-analysis{background:linear-gradient(135deg,#ed64a6,#d53f8c);color:#fff}.action-btn-compact.post-analysis.loading{background:linear-gradient(135deg,#f6ad55,#ed8936);animation:loadingPulse 2s ease-in-out infinite}.action-btn-compact.post-analysis.success{background:linear-gradient(135deg,#48bb78,#38a169);animation:successFlash 1.2s ease-in-out}.action-btn-compact.post-analysis.error{background:linear-gradient(135deg,#f56565,#e53e3e);animation:errorShake .8s ease-in-out}@keyframes loadingPulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 2px 6px #0000001a}50%{transform:scale(1.05);opacity:.9;box-shadow:0 4px 12px #f6ad5566}}@keyframes successFlash{0%{box-shadow:0 2px 6px #0000001a;transform:scale(1)}30%{box-shadow:0 6px 20px #48bb7899,0 0 15px #48bb7866;transform:scale(1.08)}to{box-shadow:0 2px 6px #0000001a;transform:scale(1)}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.action-btn-compact.delete{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.action-btn-compact:hover:not(:disabled){box-shadow:0 4px 12px #0003}.action-btn-compact:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-btn-compact:disabled:before{display:none}.company-details-compact{border-top:1px solid rgba(226,232,240,.8);background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:0}.report-table-compact{width:100%;border-collapse:collapse;background:#fff;margin:0;border-radius:0 0 12px 12px;overflow:hidden}.report-table-compact th{background:linear-gradient(135deg,#667eea,#764ba2);padding:16px 18px;border-bottom:none;text-align:left;font-weight:600;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.report-table-compact td{padding:14px 18px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px;color:#4a5568;transition:background-color .2s ease}.report-table-compact tr:hover td{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.report-table-compact tr:last-child td{border-bottom:none}.status{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.025em}.status.uploaded{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);color:#22543d;box-shadow:0 1px 3px #48bb7833}.status.missing{background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#742a2a;box-shadow:0 1px 3px #f5656533}.action-btn-small{padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer;border:none;border-radius:6px;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-transform:uppercase;letter-spacing:.025em}.action-btn-small.delete{background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#742a2a;box-shadow:0 2px 4px #f5656533}.action-btn-small.delete:hover:not(:disabled){background:linear-gradient(135deg,#feb2b2,#fc8181);transform:translateY(-1px);box-shadow:0 4px 8px #f565654d}.no-action{color:#a0aec0;font-size:12px;font-style:italic}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:16px 8px;flex-wrap:wrap;background:linear-gradient(135deg,#f7fafc,#edf2f7);margin:8px;border-radius:8px}.pagination-btn{padding:10px 14px;border:2px solid transparent;background:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);min-width:40px;text-align:center;box-shadow:0 2px 4px #0000000d}.pagination-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 2px 6px #667eea4d}.pagination-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#764ba2;box-shadow:0 4px 12px #667eea66}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-ellipsis{padding:10px 6px;color:#a0aec0;font-size:13px;font-weight:600}.pagination-info{margin-left:16px;font-size:13px;color:#4a5568;font-weight:500;white-space:nowrap;background:#fffc;padding:8px 12px;border-radius:6px;box-shadow:0 1px 3px #0000000d}.error-container{background:linear-gradient(135deg,#fff,#fed7d7);border:2px solid #feb2b2;border-radius:16px;padding:32px;margin:20px;text-align:center;box-shadow:0 8px 24px #f565651a}.error-container h3{color:#742a2a;margin:0 0 12px;font-size:20px;font-weight:700}.empty-state{text-align:center;padding:60px 40px;background:linear-gradient(135deg,#fff,#f7fafc);border-radius:20px;box-shadow:0 8px 32px #00000014;margin:20px}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.6;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.empty-state h3{color:#4a5568;margin:16px 0 8px;font-size:20px;font-weight:600}.empty-state p{color:#718096;margin:8px 0;font-size:15px;line-height:1.6}.toolbar-btn:disabled[class*=处理中],.toolbar-btn:disabled[class*=计算中],.toolbar-btn:disabled[class*=分析中]{background-image:linear-gradient(45deg,transparent 35%,rgba(255,255,255,.3) 35%,rgba(255,255,255,.3) 65%,transparent 65%);background-size:30px 30px;animation:loadingStripes 1.5s linear infinite}@keyframes loadingStripes{0%{background-position:0 0}to{background-position:30px 0}}.company-block-compact{animation:slideInUp .6s cubic-bezier(.25,.46,.45,.94)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media (prefers-contrast: high){.notification{border:3px solid currentColor;box-shadow:0 8px 24px #0006}.center-notification{border:3px solid #2d3748;box-shadow:0 25px 80px #0009}}@media (max-width: 768px){.notification{top:70px;left:15px;right:15px;max-width:none;padding:16px 18px;font-size:15px}.center-notification{min-width:300px;max-width:90vw;margin:0 20px}.center-notification-content{padding:24px;gap:16px}.center-notification-icon{font-size:32px}.center-notification-message{font-size:16px}.filter-row-compact{flex-direction:column;align-items:stretch;gap:12px}.filter-group-compact{flex-direction:column;align-items:stretch;gap:6px}.filter-group-compact label{font-size:12px}.search-input-compact,.filter-select-compact{min-width:auto}.toolbar-buttons{grid-template-columns:1fr;gap:12px}.company-header-compact{flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px}.company-info-compact{flex-direction:column;align-items:stretch;gap:12px}.company-actions-compact{justify-content:space-between;flex-wrap:wrap;gap:8px}.action-btn-compact{flex:1;min-width:0;margin:0}.pagination{flex-direction:column;gap:12px}.pagination-info{margin-left:0;order:-1}}@media (max-width: 480px){.notification{top:60px;left:10px;right:10px;padding:14px 16px}.center-notification{min-width:280px;max-width:95vw;margin:0 10px}.center-notification-content{padding:20px}.filters-container-compact{padding:16px}.company-header-compact{padding:12px 16px}.company-name-compact{font-size:15px;min-width:auto}.report-table-compact th,.report-table-compact td{padding:12px 14px;font-size:13px}.toolbar-title{font-size:18px}.toolbar-btn{padding:12px 16px;font-size:13px;min-height:44px}}@media (prefers-color-scheme: dark){.file-table-container{background:linear-gradient(135deg,#1a202c,#2d3748)}.notification-info{background:linear-gradient(135deg,#2b6cb0,#2c5282);color:#bee3f8;border:1px solid rgba(190,227,248,.3)}.notification-success{background:linear-gradient(135deg,#2f855a,#276749);color:#c6f6d5;border:1px solid rgba(198,246,213,.3)}.notification-error{background:linear-gradient(135deg,#c53030,#9b2c2c);color:#fed7d7;border:1px solid rgba(254,215,215,.3)}.notification-warning{background:linear-gradient(135deg,#d69e2e,#b7791f);color:#faf089;border:1px solid rgba(250,240,137,.3)}.center-notification{background:linear-gradient(135deg,#2d3748,#4a5568);color:#e2e8f0}.center-notification-message{color:#e2e8f0}.center-notification-close{color:#a0aec0;background:#ffffff1a}.center-notification-close:hover{background:#fff3;color:#e2e8f0}.file-table-toolbar{background:linear-gradient(135deg,#2d3748,#4a5568);border:1px solid #4a5568}.toolbar-title{color:#e2e8f0}.company-block-compact{background:linear-gradient(135deg,#2d3748,#4a5568);border:1px solid #4a5568}.company-header-compact{background:linear-gradient(135deg,#4a5568,#718096)}.company-header-compact:hover{background:linear-gradient(135deg,#553c9a,#667eea)}.company-name-compact{color:#e2e8f0}.progress-text-compact{color:#cbd5e0}.report-table-compact{background:#2d3748}.report-table-compact td{color:#e2e8f0;border-bottom:1px solid #4a5568}.report-table-compact tr:hover td{background:linear-gradient(135deg,#4a5568,#718096)}}.upload-page-wrapper{max-width:none;margin:0;padding:0;background:transparent;min-height:auto}.section-title{font-size:22px;font-weight:700;color:#2c3e50;border-bottom:3px solid #42a5f5;display:flex;align-items:center;background:#fff;padding:16px 20px 12px;margin:0 0 24px;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #0000000d}.upload-section{margin-bottom:32px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.upload-section .section-title{margin:0;border-radius:8px 8px 0 0}.file-management-section{margin-bottom:32px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.file-management-section .section-title{margin:0;border-radius:8px 8px 0 0}.help-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-top:32px}@media (max-width: 768px){.upload-page-wrapper{padding:0}.section-title{font-size:18px;padding:12px 16px 10px}.help-section{padding:16px;margin-top:24px}.help-title{font-size:18px}.help-step{flex-direction:column;align-items:center;text-align:center;gap:12px}.step-number{width:28px;height:28px;font-size:14px}.step-content strong{font-size:15px}.step-content p{font-size:13px}}@media (max-width: 480px){.upload-page-wrapper{padding:0}.section-title{font-size:16px;padding:10px 12px 8px;margin-bottom:16px}.upload-section,.file-management-section{margin-bottom:20px}.help-section{margin-top:20px;padding:12px}.help-content{gap:16px}.help-step{padding:12px}}.upload-section,.file-management-section,.help-section{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.upload-section:hover,.file-management-section:hover,.help-section:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026;transition:all .3s ease}.upload-page-wrapper>*{position:relative;z-index:1}.upload-page-wrapper{max-width:1200px;margin:0 auto;padding:20px;background:#f8f9fa;min-height:100vh}.section-title{font-size:24px;font-weight:700;color:#2c3e50;margin:0 0 20px;padding:0 0 10px;border-bottom:3px solid #42a5f5;display:flex;align-items:center}.upload-section,.file-management-section{margin-bottom:32px}.help-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:24px;box-shadow:0 1px 6px #0000000f;margin-top:32px}.help-title{font-size:20px;font-weight:600;color:#2c3e50;margin:0 0 20px;display:flex;align-items:center}.help-content{display:flex;flex-direction:column;gap:20px}.help-step{display:flex;align-items:flex-start;gap:16px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #42a5f5}.step-number{background:linear-gradient(135deg,#42a5f5,#1976d2);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.step-content{flex:1}.step-content strong{display:block;font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:8px}.step-content p{margin:0;font-size:14px;color:#666;line-height:1.6}@media (max-width: 768px){.upload-page-wrapper{padding:16px}.section-title{font-size:20px}.help-section{padding:16px}.help-title{font-size:18px}.help-step{flex-direction:column;align-items:center;text-align:center;gap:12px}.step-number{width:28px;height:28px;font-size:14px}.step-content strong{font-size:15px}.step-content p{font-size:13px}}@media (max-width: 480px){.upload-page-wrapper{padding:12px}.section-title{font-size:18px;margin-bottom:16px}.upload-section,.file-management-section{margin-bottom:24px}.help-section{margin-top:24px;padding:12px}.help-content{gap:16px}.help-step{padding:12px}}.fcf-forecast-management{--fcf-primary-color: #f97316;--fcf-primary-hover: #ea580c;--fcf-secondary-color: #64748b;--fcf-success-color: #22c55e;--fcf-warning-color: #fbbf24;--fcf-error-color: #ef4444;--fcf-bg-primary: #ffffff;--fcf-bg-secondary: #f8fafc;--fcf-bg-tertiary: #f1f5f9;--fcf-bg-hover: #f8fafc;--fcf-text-primary: #334155;--fcf-text-secondary: #64748b;--fcf-text-muted: #94a3b8;--fcf-border-color: #e2e8f0;--fcf-border-hover: #cbd5e1;--fcf-border-radius: 12px;--fcf-border-radius-lg: 16px;--fcf-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--fcf-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--fcf-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .03);--fcf-transition: all .2s cubic-bezier(.4, 0, .2, 1);--fcf-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1)}.fcf-forecast-management{min-height:100vh;background:var(--fcf-bg-secondary);padding:16px;max-width:1400px;margin:0 auto}.fcf-page-header{display:flex;justify-content:space-between;align-items:center;background:var(--fcf-bg-primary);padding:16px 20px;border-radius:var(--fcf-border-radius);box-shadow:var(--fcf-shadow-sm);margin-bottom:16px;border:1px solid var(--fcf-border-color)}.fcf-header-content{flex:1}.fcf-page-title{font-size:20px;font-weight:600;color:var(--fcf-text-primary);margin:0 0 4px;line-height:1.3}.fcf-page-description{font-size:13px;color:var(--fcf-text-secondary);margin:0;line-height:1.4;max-width:500px}.fcf-system-status{display:flex;align-items:center;gap:8px}.fcf-status-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:500;border:1px solid}.fcf-status-indicator--online{background:#22c55e1a;border-color:var(--fcf-success-color);color:#065f46}.fcf-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:fcf-pulse 2s infinite}@keyframes fcf-pulse{0%,to{opacity:1}50%{opacity:.5}}.fcf-filters-section{display:flex;gap:16px;align-items:center;background:var(--fcf-bg-primary);padding:12px 16px;border-radius:var(--fcf-border-radius);box-shadow:var(--fcf-shadow-sm);margin-bottom:12px;border:1px solid var(--fcf-border-color)}.fcf-search-box{display:flex;flex:1;max-width:400px;position:relative}.fcf-search-input{flex:1;padding:12px 16px;border:1px solid var(--fcf-border-color);border-radius:var(--fcf-border-radius);font-size:14px;transition:var(--fcf-transition);background:var(--fcf-bg-primary)}.fcf-search-input:focus{outline:none;border-color:var(--fcf-primary-color);box-shadow:0 0 0 3px #f973161a}.fcf-search-clear{margin-left:8px;padding:12px 16px;background:var(--fcf-secondary-color);color:#fff;border:none;border-radius:var(--fcf-border-radius);font-size:14px;cursor:pointer;transition:var(--fcf-transition)}.fcf-search-clear:hover:not(:disabled){background:#475569}.fcf-search-clear:disabled{opacity:.5;cursor:not-allowed}.fcf-page-size-selector{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fcf-text-secondary)}.fcf-page-size-selector select{padding:8px 12px;border:1px solid var(--fcf-border-color);border-radius:var(--fcf-border-radius);background:var(--fcf-bg-primary);font-size:14px;cursor:pointer}.fcf-page-size-selector select:focus{outline:none;border-color:var(--fcf-primary-color)}.fcf-stats-bar{display:flex;gap:20px;background:var(--fcf-bg-primary);padding:10px 16px;border-radius:var(--fcf-border-radius);box-shadow:var(--fcf-shadow-sm);margin-bottom:16px;border:1px solid var(--fcf-border-color)}.fcf-stat-item{display:flex;align-items:center;gap:6px;font-size:14px}.fcf-stat-label{color:var(--fcf-text-secondary);font-weight:500}.fcf-stat-value{color:var(--fcf-primary-color);font-weight:700}.fcf-main-content{margin-bottom:24px}.fcf-companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.fcf-company-card{background:var(--fcf-bg-primary);border-radius:var(--fcf-border-radius);box-shadow:var(--fcf-shadow-md);border:1px solid var(--fcf-border-color);transition:var(--fcf-transition);overflow:hidden}.fcf-company-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-2px);border-color:var(--fcf-border-hover)}.fcf-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px;border-bottom:1px solid var(--fcf-border-color)}.fcf-company-name{font-size:16px;font-weight:600;color:var(--fcf-text-primary);margin:0 12px 0 0;line-height:1.3;flex:1}.fcf-completion-badge{background:linear-gradient(135deg,var(--fcf-primary-color),var(--fcf-warning-color));color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;flex-shrink:0;box-shadow:0 2px 4px #f9731633}.fcf-card-content{padding:16px 18px}.fcf-progress-section{margin-bottom:10px}.fcf-progress-bar{width:100%;height:8px;background:var(--fcf-bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:6px}.fcf-progress-fill{height:100%;background:linear-gradient(90deg,var(--fcf-primary-color),var(--fcf-warning-color));border-radius:4px;transition:width .3s ease}.fcf-progress-label{font-size:12px;color:var(--fcf-text-secondary);font-weight:500}.fcf-data-summary{display:flex;flex-direction:column;gap:6px}.fcf-data-item{display:flex;justify-content:space-between;align-items:center}.fcf-data-label{font-size:13px;color:var(--fcf-text-secondary);font-weight:500}.fcf-data-value{font-size:13px;color:var(--fcf-text-primary);font-weight:600}.fcf-card-actions{padding:12px 18px 16px}.fcf-action-btn{width:100%;padding:8px 16px;border:none;border-radius:var(--fcf-border-radius);font-size:13px;font-weight:600;cursor:pointer;transition:var(--fcf-transition);text-align:center}.fcf-action-btn--primary{background:var(--fcf-primary-color);color:#fff;box-shadow:0 2px 4px #f9731633}.fcf-action-btn--primary:hover:not(:disabled){background:var(--fcf-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #f9731640}.fcf-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.fcf-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:var(--fcf-bg-primary);border-radius:var(--fcf-border-radius-lg);border:1px solid var(--fcf-border-color)}.fcf-loading-spinner{width:40px;height:40px;border:4px solid var(--fcf-bg-tertiary);border-top:4px solid var(--fcf-primary-color);border-radius:50%;animation:fcf-spin 1s linear infinite;margin-bottom:16px}@keyframes fcf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fcf-loading-state p{color:var(--fcf-text-secondary);font-size:16px;margin:0}.fcf-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:var(--fcf-bg-primary);border-radius:var(--fcf-border-radius-lg);border:1px solid var(--fcf-border-color);text-align:center}.fcf-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.fcf-empty-state h3{color:var(--fcf-text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.fcf-empty-state p{color:var(--fcf-text-secondary);font-size:16px;margin:0;max-width:400px;line-height:1.5}.fcf-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:var(--fcf-bg-primary);border-radius:var(--fcf-border-radius-lg);border:1px solid var(--fcf-border-color);text-align:center}.fcf-error-icon{font-size:48px;margin-bottom:16px;color:var(--fcf-error-color)}.fcf-error-container h3{color:var(--fcf-error-color);font-size:20px;font-weight:600;margin:0 0 8px}.fcf-error-container p{color:var(--fcf-text-secondary);font-size:16px;margin:0 0 24px;max-width:400px;line-height:1.5}.fcf-error-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.fcf-retry-btn{padding:12px 20px;border:none;border-radius:var(--fcf-border-radius);font-size:14px;font-weight:600;cursor:pointer;transition:var(--fcf-transition)}.fcf-retry-btn{background:var(--fcf-primary-color);color:#fff}.fcf-retry-btn:hover{background:var(--fcf-primary-hover)}.fcf-retry-btn--secondary{background:var(--fcf-secondary-color);color:#fff}.fcf-retry-btn--secondary:hover{background:#475569}.fcf-pagination{display:flex;justify-content:center;align-items:center;gap:20px;background:var(--fcf-bg-primary);padding:20px 24px;border-radius:var(--fcf-border-radius);box-shadow:var(--fcf-shadow-sm);border:1px solid var(--fcf-border-color)}.fcf-pagination-btn{padding:10px 16px;border:1px solid var(--fcf-border-color);background:var(--fcf-bg-primary);color:var(--fcf-text-primary);border-radius:var(--fcf-border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:var(--fcf-transition)}.fcf-pagination-btn:hover:not(:disabled){background:var(--fcf-bg-hover);border-color:var(--fcf-primary-color);color:var(--fcf-primary-color)}.fcf-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.fcf-pagination-info{color:var(--fcf-text-secondary);font-size:14px;font-weight:500}@media (max-width: 768px){.fcf-forecast-management{padding:16px}.fcf-page-header{flex-direction:column;gap:16px;padding:24px;align-items:stretch}.fcf-page-title{font-size:24px}.fcf-filters-section{flex-direction:column;align-items:stretch;gap:16px}.fcf-search-box{max-width:none}.fcf-stats-bar{flex-direction:column;gap:12px}.fcf-companies-grid{grid-template-columns:1fr}.fcf-pagination{flex-direction:column;gap:12px;text-align:center}}@media (max-width: 480px){.fcf-card-header{flex-direction:column;gap:12px;align-items:flex-start}.fcf-company-name{margin-right:0}.fcf-completion-badge{align-self:flex-start}}@media (prefers-contrast: high){.fcf-forecast-management{--fcf-border-color: #000000;--fcf-text-secondary: #000000}}@media (prefers-reduced-motion: reduce){.fcf-forecast-management *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.pdf-upload-container{width:100%}.pdf-upload-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pdf-upload-bar input[type=file]{flex:1;padding:8px;border:2px dashed #ddd;border-radius:4px;background-color:#f9f9f9;cursor:pointer;transition:border-color .3s ease}.pdf-upload-bar input[type=file]:hover{border-color:#0d6efd}.pdf-upload-bar input[type=file]:disabled{opacity:.6;cursor:not-allowed}.pdf-upload-bar button{background-color:#0d6efd;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s ease;min-width:120px}.pdf-upload-bar button:hover:not(:disabled){background-color:#084298}.pdf-upload-bar button:disabled{background-color:#6c757d;cursor:not-allowed}.pdf-upload-bar button.uploading{background-color:#fd7e14}.pdf-upload-bar button.uploading:hover{background-color:#e8680f}.file-list{border:1px solid #ddd;border-radius:6px;padding:16px;background-color:#f8f9fa}.file-list h4{margin:0 0 12px;color:#495057;font-size:14px;font-weight:600}.file-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin:4px 0;border-radius:4px;background-color:#fff;border:1px solid #e9ecef;transition:all .3s ease}.file-item:hover{box-shadow:0 2px 4px #0000001a}.file-item.waiting{border-left:4px solid #6c757d}.file-item.uploading{border-left:4px solid #fd7e14;background-color:#fff3cd}.file-item.success{border-left:4px solid #198754;background-color:#d1e7dd}.file-item.error{border-left:4px solid #dc3545;background-color:#f8d7da}.file-info{display:flex;align-items:center;gap:8px;flex:1}.file-icon{font-size:16px;min-width:20px}.file-name{font-weight:500;color:#212529;word-break:break-word;flex:1}.file-size{color:#6c757d;font-size:12px}.file-actions{display:flex;align-items:center;gap:8px}.error-message{color:#dc3545;font-size:12px;font-weight:500}.remove-btn{background-color:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.remove-btn:hover{background-color:#bb2d3b}.file-list:empty{display:none}@media (max-width: 768px){.pdf-upload-bar{flex-direction:column;align-items:stretch}.pdf-upload-bar button{min-width:auto}.file-item{flex-direction:column;align-items:flex-start;gap:8px}.file-info{width:100%}.file-actions{align-self:flex-end}}.pdf-category-panel{width:240px;background-color:#fff;border:1px solid #ddd;border-radius:6px;padding:12px;font-size:14px;flex-shrink:0;box-shadow:0 2px 8px #00000008;height:fit-content}.pdf-category-panel h4{font-size:16px;margin:0 0 16px;font-weight:700}.pdf-category-panel ul{list-style:none;padding:0;margin:0 0 16px}.pdf-category-panel li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:4px;margin-bottom:4px;transition:background-color .2s ease;min-height:36px}.pdf-category-panel li:hover{background-color:#f8f9fa}.pdf-category-panel li.active{background-color:#e3f2fd;font-weight:500;color:#1976d2}.pdf-category-panel li.simple-item{cursor:pointer;font-weight:500;font-size:13px}.pdf-category-panel li.simple-item:hover{background-color:#f0f4f8}.category-item{display:flex!important;justify-content:space-between;align-items:center;padding:8px 12px!important}.category-name{flex:1;cursor:pointer;font-weight:400;font-size:13px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px;min-width:0}.category-actions{display:flex;align-items:center;gap:4px;opacity:.7;transition:opacity .2s ease;flex-shrink:0}.category-item:hover .category-actions{opacity:1}.sort-up-btn,.sort-down-btn,.delete-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:3px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;transition:all .15s ease}.sort-up-btn,.sort-down-btn{color:#666}.sort-up-btn:hover,.sort-down-btn:hover{background-color:#e9ecef;color:#333}.delete-btn{color:#dc3545;font-weight:700}.delete-btn:hover{background-color:#f5c6cb;color:#721c24}.sort-up-btn:disabled,.sort-down-btn:disabled,.delete-btn:disabled{opacity:.4;cursor:not-allowed;background-color:transparent!important}.category-add-panel{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.category-add-panel .input-container{margin-bottom:8px}.category-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px;transition:border-color .2s ease;box-sizing:border-box}.category-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.category-add-panel button{width:100%;padding:8px 12px;font-size:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;box-sizing:border-box}.category-add-panel button:hover:not(:disabled){background-color:#0056b3}.category-add-panel button:disabled{opacity:.6;cursor:not-allowed}.pdf-file-list{flex:1;background-color:#fff;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid #e5e7eb}.pdf-file-list-header{display:flex;align-items:center;margin-bottom:20px;padding:16px 24px;border-bottom:2px solid #f3f4f6}.pdf-file-list-header h4{font-size:20px;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:8px}.pdf-file-list-header .file-count{background-color:#e5e7eb;color:#6b7280;font-size:14px;font-weight:500;padding:4px 12px;border-radius:20px;margin-left:12px}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb;margin:0}.pdf-file-list table{width:100%;border-collapse:collapse;background-color:#fff;min-width:800px}.pdf-file-list th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px 8px;border-bottom:2px solid #e2e8f0;text-align:center;font-weight:600;font-size:14px;color:#374151;text-transform:uppercase;letter-spacing:.5px;position:relative}.pdf-file-list th:not(:last-child):after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background-color:#d1d5db}.pdf-file-list td{padding:10px 8px;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:14px;color:#4b5563;text-align:center}.pdf-file-list tbody tr{transition:background-color .15s ease}.pdf-file-list tbody tr:hover{background-color:#f9fafb}.pdf-file-list tbody tr:last-child td{border-bottom:none}.id-cell{font-weight:600;color:#6366f1;font-family:Monaco,Menlo,monospace;font-size:12px}.filename-cell{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:#1f2937;position:relative;text-align:left!important}.filename-cell:hover{color:#3b82f6;cursor:default}.category-select{border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;background-color:#fff;color:#374151;cursor:pointer;transition:border-color .15s ease;width:90px}.category-select:hover{border-color:#3b82f6}.category-select:focus{outline:none;border-color:#3b82f6}.time-cell{color:#6b7280;font-size:13px;font-family:Monaco,Menlo,monospace;white-space:nowrap}.preview-link{display:inline-flex;align-items:center;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;text-decoration:none;border-radius:6px;font-size:12px;font-weight:500;transition:background .15s ease;gap:4px}.preview-link:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);text-decoration:none;color:#fff}.delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;gap:6px;min-width:70px;position:relative;overflow:hidden}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.delete-btn:active{transform:translateY(0);box-shadow:0 2px 4px #ef44444d}.delete-icon{font-size:14px;transition:transform .2s ease}.delete-text{font-size:12px;font-weight:500}.delete-btn:hover .delete-icon{transform:scale(1.1)}.delete-notification{position:fixed;top:20px;right:20px;z-index:9999;background:#fff;border:1px solid #d1fae5;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:0;animation:slideIn .3s ease}.notification-content{display:flex;align-items:center;padding:12px 16px;gap:8px}.notification-icon{font-size:16px}.notification-text{font-size:14px;font-weight:500;color:#065f46}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{text-align:center;padding:60px 20px;color:#6b7280;background:linear-gradient(135deg,#f9fafb,#f3f4f6);width:100%;box-sizing:border-box}.empty-state-icon{font-size:64px;margin-bottom:20px;opacity:.6;display:block}.empty-state-text{font-size:18px;font-weight:600;margin-bottom:12px;color:#374151;line-height:1.4}.empty-state-subtext{font-size:14px;color:#9ca3af;line-height:1.5;max-width:400px;margin:0 auto}@media (max-width: 1024px){.pdf-file-list-header{padding:12px 16px}.pdf-file-list th,.pdf-file-list td{padding:8px 6px}.filename-cell{max-width:180px}}@media (max-width: 768px){.pdf-file-list-header{padding:10px 12px}.pdf-file-list-header h4{font-size:18px}.pdf-file-list th,.pdf-file-list td{padding:8px 4px;font-size:13px}.filename-cell{max-width:140px}.category-select{width:80px;font-size:12px}.preview-link,.delete-btn{padding:4px 8px;font-size:11px}.empty-state{padding:40px 15px}.empty-state-icon{font-size:48px}.empty-state-text{font-size:16px}.delete-notification{top:10px;right:10px}}.loading-row{text-align:center;padding:40px}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.pdf-file-list tbody tr:nth-child(2n){background-color:#f9fafb80}.pdf-file-list tbody tr:nth-child(2n):hover{background-color:#f9fafb}.pdf-admin-manager-wrapper{padding-left:0;background-color:#f5f6fa;min-height:100vh;box-sizing:border-box;top:0}.pdf-upload-bar-wrapper{position:sticky;margin:0 auto;padding:0;width:100%;box-sizing:border-box}.pdf-upload-bar-wrapper>div{background-color:#fff;padding:16px;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 8px #00000008;width:100%;box-sizing:border-box}.pdf-admin-content{display:flex;gap:10px;padding:10px 0;width:100%;box-sizing:border-box}.fcf-param-mgmt{--fcf-font-header: .95rem;--fcf-font-content: .9rem;--fcf-font-title: 1.4rem;--fcf-font-subtitle: 1.1rem;--fcf-font-button: .85rem;--fcf-font-caption: .8rem;--fcf-color-primary: #007bff;--fcf-color-primary-dark: #0056b3;--fcf-color-success: #28a745;--fcf-color-warning: #ffc107;--fcf-color-info: #17a2b8;--fcf-color-danger: #dc3545;--fcf-color-text-primary: #333;--fcf-color-text-secondary: #666;--fcf-color-text-muted: #999;--fcf-color-bg-primary: #ffffff;--fcf-color-bg-secondary: #f8f9fa;--fcf-color-bg-light: #f5f7fa;--fcf-color-border: #c0c0c0;--fcf-color-border-light: #e0e0e0;--fcf-color-table-header: #f2f2f2;--fcf-color-table-alt: #f8f9fa;--fcf-color-historical: #e3f2fd;--fcf-color-forecast: #fff3cd;--fcf-color-editable: #ffebee;--fcf-color-editable-border: #c62828;--fcf-spacing-xs: .25rem;--fcf-spacing-sm: .5rem;--fcf-spacing-md: .8rem;--fcf-spacing-lg: 1.2rem;--fcf-spacing-xl: 1.6rem;--fcf-radius-sm: 4px;--fcf-radius-md: 6px;--fcf-radius-lg: 8px;--fcf-shadow-sm: 0 2px 4px rgba(0,0,0,.06);--fcf-shadow-md: 0 3px 8px rgba(0,0,0,.08);--fcf-shadow-lg: 0 4px 12px rgba(0,0,0,.15)}.fcf-param-mgmt{min-height:100vh;background:var(--fcf-color-bg-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;padding-top:70px;box-sizing:border-box}.fcf-param-mgmt__container{max-width:1600px;margin:0 auto;padding:0 1rem 1rem;background:var(--fcf-color-bg-primary);min-height:calc(100vh - 70px)}.fcf-param-mgmt__header{background:linear-gradient(135deg,var(--fcf-color-primary) 0%,var(--fcf-color-primary-dark) 100%);color:#fff;padding:var(--fcf-spacing-lg) var(--fcf-spacing-xl);box-shadow:var(--fcf-shadow-lg);margin:0 -1rem var(--fcf-spacing-lg) -1rem;border-radius:0 0 var(--fcf-radius-lg) var(--fcf-radius-lg);position:relative;z-index:100}.fcf-param-mgmt__header-center{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1600px;margin:0 auto}.fcf-param-mgmt__title{font-size:var(--fcf-font-title);font-weight:800;margin:0}.fcf-param-mgmt__subtitle{font-size:var(--fcf-font-caption);margin:var(--fcf-spacing-xs) 0 0 0;opacity:.9}.fcf-param-mgmt__status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--fcf-spacing-md);margin:0 0 var(--fcf-spacing-lg) 0}.fcf-param-mgmt__status-card{background:var(--fcf-color-bg-primary);border:2px solid;border-radius:var(--fcf-radius-md);padding:var(--fcf-spacing-md);text-align:center;transition:transform .2s ease}.fcf-param-mgmt__status-card:hover{transform:translateY(-2px)}.fcf-param-mgmt__status-card--historical{border-color:var(--fcf-color-info);background:linear-gradient(135deg,var(--fcf-color-bg-primary) 0%,var(--fcf-color-historical) 100%)}.fcf-param-mgmt__status-card--manual{border-color:var(--fcf-color-success);background:linear-gradient(135deg,var(--fcf-color-bg-primary) 0%,#e8f5e8 100%)}.fcf-param-mgmt__status-card--auto{border-color:var(--fcf-color-warning);background:linear-gradient(135deg,var(--fcf-color-bg-primary) 0%,var(--fcf-color-forecast) 100%)}.fcf-param-mgmt__status-card--dynamic{border-color:var(--fcf-color-danger);background:linear-gradient(135deg,var(--fcf-color-bg-primary) 0%,var(--fcf-color-editable) 100%)}.fcf-param-mgmt__status-card-count{font-size:1.6rem;font-weight:900;display:block;margin-bottom:var(--fcf-spacing-xs)}.fcf-param-mgmt__status-card--historical .fcf-param-mgmt__status-card-count{color:var(--fcf-color-info)}.fcf-param-mgmt__status-card--manual .fcf-param-mgmt__status-card-count{color:var(--fcf-color-success)}.fcf-param-mgmt__status-card--auto .fcf-param-mgmt__status-card-count{color:#856404}.fcf-param-mgmt__status-card--dynamic .fcf-param-mgmt__status-card-count{color:var(--fcf-color-danger)}.fcf-param-mgmt__status-card-label{font-size:var(--fcf-font-caption);font-weight:600;opacity:.9}.fcf-param-mgmt__reset-section{margin:8px 0 12px;padding:8px 12px;background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:var(--fcf-radius-md);transition:all .3s ease}.fcf-param-mgmt__reset-section:hover{box-shadow:var(--fcf-shadow-md)}.fcf-param-mgmt__reset-content{display:flex;align-items:center;justify-content:space-between;gap:var(--fcf-spacing-md)}.fcf-param-mgmt__reset-info{flex:1}.fcf-param-mgmt__reset-title{margin:0 0 2px;color:var(--fcf-color-primary);font-size:.75rem;font-weight:700}.fcf-param-mgmt__reset-desc{margin:0;font-size:.7rem;color:#1565c0;line-height:1.3}.fcf-param-mgmt__reset-actions{display:flex;gap:var(--fcf-spacing-xs);align-items:center}.fcf-param-mgmt__table-container{background:var(--fcf-color-bg-primary);border:2px solid var(--fcf-color-border);border-radius:var(--fcf-radius-md);margin:var(--fcf-spacing-lg) 0;box-shadow:var(--fcf-shadow-md);overflow:visible}.fcf-param-mgmt__table-header{background:var(--fcf-color-table-header);padding:var(--fcf-spacing-md);border-bottom:2px solid var(--fcf-color-border);text-align:center}.fcf-param-mgmt__table-title{margin:0;font-size:var(--fcf-font-subtitle);font-weight:800;color:var(--fcf-color-text-primary);display:flex;align-items:center;justify-content:center;gap:var(--fcf-spacing-xs)}.fcf-param-mgmt__table-wrapper{overflow-x:auto;overflow-y:visible;width:100%;scrollbar-width:thin;scrollbar-color:var(--fcf-color-text-secondary) var(--fcf-color-table-alt)}.fcf-param-mgmt__table-wrapper::-webkit-scrollbar{height:6px}.fcf-param-mgmt__table-wrapper::-webkit-scrollbar-track{background:var(--fcf-color-table-alt);border-radius:3px}.fcf-param-mgmt__table-wrapper::-webkit-scrollbar-thumb{background:var(--fcf-color-text-secondary);border-radius:3px}.fcf-param-mgmt__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fcf-font-content);table-layout:fixed;font-family:inherit;min-width:1000px}.fcf-param-mgmt__table .subject-col{width:180px;min-width:180px;max-width:180px}.fcf-param-mgmt__table .year-col{width:80px;min-width:80px;max-width:80px}.fcf-param-mgmt__table thead{position:sticky;top:0;z-index:100}.fcf-param-mgmt__table th{padding:6px 3px;text-align:center;font-weight:800;font-size:var(--fcf-font-header);border:1px solid var(--fcf-color-border);color:var(--fcf-color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;height:32px;box-sizing:border-box;background:var(--fcf-color-table-header);position:relative}.fcf-param-mgmt__table th.subject-col{text-align:center;padding-left:8px;padding-right:4px;background:#e8e8e8;border-right:2px solid var(--fcf-color-border);box-shadow:2px 0 3px #00000014;position:sticky;left:0;z-index:10}.fcf-param-mgmt__table th.historical-year{background:var(--fcf-color-historical);color:#1565c0;border-color:#1565c0}.fcf-param-mgmt__table th.forecast-year{background:var(--fcf-color-forecast);color:#856404;border-color:#856404}.fcf-param-mgmt__table tbody tr:nth-child(2n){background-color:var(--fcf-color-table-alt)}.fcf-param-mgmt__table tbody tr:hover{background-color:#007bff0f}.fcf-param-mgmt__table td{padding:4px 3px;text-align:center;border:1px solid var(--fcf-color-border);font-size:var(--fcf-font-content);vertical-align:middle;height:28px;box-sizing:border-box;white-space:nowrap;font-weight:600;overflow:hidden;text-overflow:ellipsis}.fcf-param-mgmt__table td.subject-cell{text-align:center;padding:4px 8px;font-weight:700;font-size:var(--fcf-font-content);color:var(--fcf-color-text-primary);background:#f8f8f8;border-right:2px solid var(--fcf-color-border);position:sticky;left:0;z-index:10;box-shadow:2px 0 3px #00000014}.fcf-param-mgmt__table td.historical-cell{background:var(--fcf-color-bg-primary);color:var(--fcf-color-text-primary);font-size:var(--fcf-font-content);border-color:#b3d9ff}.fcf-param-mgmt__table td.forecast-cell{background:var(--fcf-color-bg-primary);color:var(--fcf-color-text-primary);font-size:var(--fcf-font-content);border-color:khaki}.fcf-param-mgmt__table td.editable-cell{background:var(--fcf-color-editable);color:var(--fcf-color-editable-border);font-weight:700;border-color:var(--fcf-color-editable-border);cursor:text;position:relative}.fcf-param-mgmt__table td.editable-cell:hover{background:#ffcdd2;border-color:#d32f2f}.fcf-param-mgmt__editable-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.fcf-param-mgmt__editable-input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:var(--fcf-font-content);font-weight:600;color:inherit;padding:2px 4px;margin:0;outline:none;font-family:inherit;border-radius:0;cursor:text}.fcf-param-mgmt__editable-input:focus{background:#fffffff2;outline:2px solid #3b82f6;outline-offset:-1px;color:#1565c0;font-weight:700}.fcf-param-mgmt__editable-input::placeholder{color:var(--fcf-color-text-muted);font-weight:500;opacity:.8}.fcf-param-mgmt__editable-input::selection{background-color:#3b82f6;color:#fff}.fcf-param-mgmt__percentage-symbol{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:var(--fcf-font-content);font-weight:600;color:inherit;pointer-events:none;z-index:1}.fcf-param-mgmt__value-display{display:block;width:100%;height:100%;padding:2px 1px;text-align:center;font-weight:600;font-size:var(--fcf-font-content);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fcf-param-mgmt__value-display--changed{font-weight:700;color:var(--fcf-color-success)}.fcf-param-mgmt__btn{display:inline-flex;align-items:center;gap:var(--fcf-spacing-xs);padding:var(--fcf-spacing-xs) var(--fcf-spacing-md);border:1px solid;border-radius:var(--fcf-radius-sm);font-size:var(--fcf-font-button);font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;background:none}.fcf-param-mgmt__btn--primary{background:var(--fcf-color-primary);border-color:var(--fcf-color-primary);color:#fff}.fcf-param-mgmt__btn--primary:hover{background:var(--fcf-color-primary-dark);transform:translateY(-1px)}.fcf-param-mgmt__btn--success{background:var(--fcf-color-success);border-color:var(--fcf-color-success);color:#fff}.fcf-param-mgmt__btn--success:hover{background:#218838;transform:translateY(-1px)}.fcf-param-mgmt__btn--secondary{background:var(--fcf-color-bg-primary);border-color:var(--fcf-color-text-secondary);color:var(--fcf-color-text-secondary)}.fcf-param-mgmt__btn--secondary:hover{background:var(--fcf-color-text-secondary);color:#fff}.fcf-param-mgmt__btn--sm{padding:.25rem .5rem;font-size:.8rem}.fcf-param-mgmt__message{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-radius:var(--fcf-radius-sm);box-shadow:var(--fcf-shadow-md);min-width:250px;max-width:450px;animation:fcfSlideDown .3s ease-out}@keyframes fcfSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.fcf-param-mgmt__message--success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.fcf-param-mgmt__message--error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.fcf-param-mgmt__message-content{display:flex;align-items:center;gap:var(--fcf-spacing-xs);font-size:1rem}.fcf-param-mgmt__message-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit;opacity:.7;padding:0;margin-left:var(--fcf-spacing-md)}.fcf-param-mgmt__message-close:hover{opacity:1}.fcf-param-mgmt__system-status{position:absolute;top:.8rem;right:1rem;display:flex;gap:var(--fcf-spacing-xs)}.fcf-param-mgmt__status-item{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff3;border-radius:3px;font-size:var(--fcf-font-caption);color:#fff}.fcf-param-mgmt__status-item--saving{background:#28a745cc}.fcf-param-mgmt__status-item--calculating{background:#17a2b8cc}.fcf-param-mgmt__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;color:var(--fcf-color-text-secondary)}.fcf-param-mgmt__loading-spinner{font-size:1.8rem;margin-bottom:var(--fcf-spacing-md);animation:fcfSpin 1s linear infinite}@keyframes fcfSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{animation:fcfSpin 1s linear infinite}@media (max-width: 1600px){.fcf-param-mgmt__container{max-width:1400px}.fcf-param-mgmt__table{min-width:900px}.fcf-param-mgmt__table .subject-col{width:160px;min-width:160px;max-width:160px}.fcf-param-mgmt__table .year-col{width:75px;min-width:75px;max-width:75px}}@media (max-width: 1400px){.fcf-param-mgmt__container{max-width:1200px}.fcf-param-mgmt__table{min-width:850px}.fcf-param-mgmt__table .subject-col{width:150px;min-width:150px;max-width:150px}.fcf-param-mgmt__table .year-col{width:70px;min-width:70px;max-width:70px}}@media (max-width: 1200px){.fcf-param-mgmt__container{max-width:100%;padding:.4rem}.fcf-param-mgmt__table{min-width:800px}.fcf-param-mgmt__table .subject-col{width:140px;min-width:140px;max-width:140px}.fcf-param-mgmt__table .year-col{width:65px;min-width:65px;max-width:65px}}.menu-manager-container{min-height:100vh;background-color:#f9fafb;padding:1.5rem}.menu-manager-wrapper{max-width:1400px;margin:0 auto}.menu-header{margin-bottom:2rem}.menu-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.menu-description{color:#6b7280;font-size:.95rem}.message-alert{margin-bottom:1.5rem;border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:space-between}.message-alert.error{background-color:#fef2f2;border:1px solid #fecaca}.message-alert.success{background-color:#f0fdf4;border:1px solid #bbf7d0}.message-content{display:flex;align-items:center}.message-icon{width:1.25rem;height:1.25rem;margin-right:.75rem}.message-icon.error{color:#ef4444}.message-text{color:#374151}.message-text.error{color:#b91c1c}.message-text.success{color:#166534}.message-close{color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:background-color .2s;background:none;border:none}.message-close:hover{background-color:#0000000d}.db-status-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:1.5rem}.db-status-info{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.db-status-item{display:flex;align-items:center;gap:.5rem}.db-status-label{font-size:.875rem;font-weight:500;color:#0369a1}.db-status-value{font-size:.875rem;font-weight:600;color:#1e293b}.db-status-value.loading{color:#f59e0b}.db-status-value.error{color:#dc2626}.db-status-value.success{color:#059669}.db-status-saving{font-size:.875rem;font-weight:500;color:#f59e0b;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-spin{animation:spin 1s linear infinite}.add-menu-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;margin-bottom:2rem;padding:1.5rem}.add-menu-title{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.add-menu-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:1rem;align-items:end}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-label .required{color:#ef4444}.form-input{width:100%;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;outline:none;transition:all .2s;font-size:.9rem}.form-input:focus{box-shadow:0 0 0 2px #3b82f6;border-color:transparent}.form-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.checkbox-group{display:flex;align-items:end;padding-bottom:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-input{width:1rem;height:1rem;accent-color:#3b82f6;cursor:pointer}.checkbox-text{font-size:.875rem;font-weight:500;color:#374151}.button-group{display:flex;align-items:end}.btn-primary{background-color:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;font-size:.9rem}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.menu-list-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.menu-list-header{padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.menu-list-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.menu-count{font-size:.875rem;font-weight:500;color:#64748b}.menu-table-header{display:grid;grid-template-columns:60px 1fr 2fr 120px 180px;gap:1rem;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;font-weight:600;font-size:.875rem;color:#475569;text-transform:uppercase;letter-spacing:.05em}.menu-table-header-cell{display:flex;align-items:center;gap:.5rem}.menu-table-header-cell.center{justify-content:center}.menu-table-header-cell.right{justify-content:flex-end}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{width:3rem;height:3rem;background-color:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.empty-icon svg{width:1.5rem;height:1.5rem;color:#9ca3af}.empty-title{color:#6b7280;margin-bottom:.5rem;font-weight:600}.empty-description{font-size:.875rem;color:#9ca3af}.menu-items{display:flex;flex-direction:column}.menu-group{border-bottom:1px solid #e5e7eb}.menu-group:last-child{border-bottom:none}.menu-item{display:grid;grid-template-columns:60px 1fr 2fr 120px 180px;gap:1rem;align-items:center;padding:1rem 1.5rem;transition:background-color .2s;min-height:70px}.menu-item:hover{background-color:#f8fafc}.sort-badge{width:2rem;height:2rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;justify-self:center}.sort-badge.child{width:1.75rem;height:1.75rem;background:linear-gradient(135deg,#64748b,#475569);font-size:.75rem}.menu-name-section{display:flex;flex-direction:column;gap:.25rem;min-width:0}.menu-name-display{display:flex;align-items:center;gap:.75rem}.menu-name{font-weight:600;color:#111827;font-size:.95rem;word-break:break-word}.group-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;white-space:nowrap;flex-shrink:0}.menu-link-section{display:flex;align-items:center;min-width:0}.menu-link{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;padding:.375rem .75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;word-break:break-all;width:100%}.menu-link svg{color:#94a3b8;flex-shrink:0}.no-link{color:#cbd5e1;font-style:italic;font-size:.8rem}.child-count-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.375rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap;justify-self:center;text-align:center}.action-buttons{display:flex;align-items:center;gap:.25rem;justify-self:end}.action-btn{padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.action-btn.edit{color:#3b82f6;border-color:#bfdbfe}.action-btn.edit:hover:not(:disabled){background:#eff6ff}.action-btn.save{color:#059669;border-color:#bbf7d0}.action-btn.save:hover:not(:disabled){background:#ecfdf5}.action-btn.cancel{color:#6b7280;border-color:#d1d5db}.action-btn.cancel:hover:not(:disabled){background:#f9fafb}.action-btn.move{color:#6b7280;border-color:#d1d5db}.action-btn.move:hover:not(:disabled){background:#f8fafc;color:#475569}.action-btn.add-child{color:#6366f1;border-color:#c7d2fe}.action-btn.add-child:hover:not(:disabled){background:#eef2ff}.action-btn.delete{color:#ef4444;border-color:#fecaca}.action-btn.delete:hover:not(:disabled){background:#fef2f2}.edit-input{width:100%;padding:.5rem .75rem;border:2px solid #3b82f6;border-radius:6px;outline:none;font-size:.875rem;font-weight:500;background:#fff;transition:all .2s}.edit-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f61a}.edit-input:disabled{background-color:#f8fafc;border-color:#cbd5e1;color:#64748b}.child-menus{background:#f8fafc;border-top:1px solid #e2e8f0}.child-menu-item{display:grid;grid-template-columns:60px 1fr 2fr 120px 180px;gap:1rem;align-items:center;padding:.75rem 1.5rem .75rem 2rem;border-bottom:1px solid #e2e8f0;transition:background-color .2s;min-height:60px}.child-menu-item:last-child{border-bottom:none}.child-menu-item:hover{background-color:#f1f5f9}@media (max-width: 1200px){.menu-item,.child-menu-item,.menu-table-header{grid-template-columns:50px 1fr 1fr 100px 160px;gap:.75rem}}@media (max-width: 1024px){.add-menu-form{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.checkbox-group{grid-column:1}.button-group{grid-column:2}.menu-item,.child-menu-item,.menu-table-header{grid-template-columns:40px 1fr 80px 140px}.menu-link-section{grid-column:1 / -2;margin-top:.5rem}}@media (max-width: 768px){.menu-manager-container{padding:1rem}.add-menu-form{grid-template-columns:1fr;grid-template-rows:repeat(4,auto)}.checkbox-group,.button-group{grid-column:1}.menu-item,.child-menu-item{grid-template-columns:1fr;gap:.75rem;text-align:left}.menu-table-header{display:none}.action-buttons{justify-self:center}.child-menu-item{padding-left:1.5rem}}.menu-manager-container{margin-left:200px;padding:20px;background:#f8f9fa;min-height:100vh;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;max-width:1200px}.page-header{margin-bottom:24px}.page-title{font-size:1.8rem;font-weight:600;color:#2c3e50;margin:0 0 8px}.page-description{color:#6c757d;font-size:1rem;margin:0;font-weight:400}.menu-add-card,.menu-list-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;border:1px solid #e9ecef}.menu-add-card{padding:20px}.card-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin:0 0 16px}.menu-count{font-size:.9rem;color:#7f8c8d;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 900px){.form-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#34495e;margin-bottom:6px;font-size:.9rem}.form-input{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#f8f9fa}.form-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.form-input:hover{border-color:#bdc3c7}.btn-primary{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.message-card{padding:16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-weight:500;position:relative}.message-card.error{background:#fee;color:#c0392b;border:1px solid #f1c0c0}.message-card.success{background:#eff8f0;color:#27ae60;border:1px solid #a9d3a9;animation:slideIn .3s ease}.message-icon{font-size:1.2rem}.message-close{position:absolute;right:12px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7}.message-close:hover{opacity:1}.menu-list-card{overflow:hidden}.card-header{padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.card-header .card-title{color:#2c3e50;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;padding:40px;color:#7f8c8d}.loading-spinner{width:32px;height:32px;border:3px solid #e9ecef;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.empty-state{text-align:center;padding:40px 20px;color:#6c757d}.empty-desc{font-size:.9rem;margin-top:8px}.table-container{overflow-x:auto}.menu-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.menu-table th{background:#f8f9fa;color:#495057;font-weight:600;padding:16px;text-align:left;border-bottom:2px solid #e9ecef;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.menu-table td{padding:16px;border-bottom:1px solid #f1f3f4;vertical-align:middle}.table-row:hover{background:#f8f9fa}.table-row:nth-child(2n){background:#fafbfc}.table-row:nth-child(2n):hover{background:#f8f9fa}.sort-cell{text-align:center}.sort-badge{display:inline-block;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;min-width:24px}.table-input{width:100%;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:.9rem;transition:all .2s ease}.table-input:hover{background:#fff;border-color:#e9ecef}.table-input:focus{outline:none;background:#fff;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.table-input.saving{border-color:#ffc107;background:#fff8e1}.action-buttons{display:flex;gap:6px;justify-content:center}.btn-action{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:background-color .2s ease;min-width:32px}.btn-action.move-up{background:#28a745;color:#fff}.btn-action.move-down{background:#ffc107;color:#212529}.btn-action.delete{background:#dc3545;color:#fff}.btn-action:hover:not(:disabled){opacity:.8}.btn-action:disabled{opacity:.4;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.menu-manager-container{margin-left:0;padding:16px}.page-title{font-size:1.5rem}}:root{--font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;--line-height: 1.5;--font-weight: 400;--text-color-dark: rgba(255, 255, 255, .87);--bg-color-dark: #242424;--text-color-light: #213547;--bg-color-light: #ffffff;--nav-height: 70px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight);color:var(--text-color-dark);background-color:var(--bg-color-dark)}@media (prefers-color-scheme: light){body{color:var(--text-color-light);background-color:var(--bg-color-light)}}h1{font-size:3.2em;line-height:1.1}a{font-weight:500;color:#646cff;text-decoration:none}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
