#app{position:relative;min-height:100vh}.header-left{display:flex;align-items:center;gap:18px;flex:1}.header-nav{display:flex;align-items:center;gap:4px;margin:0 32px;padding:4px;background:#fff6;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition-base);position:relative;white-space:nowrap}.nav-item:hover:not(.disabled){background:#4b7bec1a;color:var(--brand-primary-dark);transform:translateY(-1px)}.nav-item.active{background:linear-gradient(135deg,#667eea26,#764ba21a);color:var(--brand-primary-dark);font-weight:600;box-shadow:0 2px 8px #667eea33}.nav-item.disabled{opacity:.5;cursor:not-allowed}.nav-divider{width:1px;height:20px;background:#94a3b84d;margin:0 4px}.header-actions{display:flex;align-items:center;gap:12px}.floating-badge{display:flex;align-items:center;gap:6px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:1px solid var(--border-light);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-xs);transition:var(--transition-fast)}.logout-btn{padding:8px 14px;border-radius:10px;transition:var(--transition-base)}.logout-btn:hover{background:#ff5f6d1a}.page-wrapper{position:relative;z-index:1;padding:var(--spacing-xl) 6vw var(--spacing-2xl);animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}.page-wrapper.no-header{padding:0;max-width:none}@media (max-width: 1024px){.header-nav{margin:0 16px;gap:2px}.nav-item{padding:6px 12px;font-size:13px}.nav-item span,.header-left .brand-title p{display:none}.header-left .brand-title h1{font-size:18px}}@media (max-width: 768px){.app-header{flex-wrap:wrap;gap:12px;padding:16px 20px}.header-left{flex:1 1 100%}.header-nav{order:3;width:100%;margin:0;justify-content:center}.header-actions{flex:1 1 auto;justify-content:flex-end}.floating-badge span,.logout-btn span{display:none}.logo-glow{width:44px;height:44px;font-size:16px}}.page-transition{position:relative;width:100%;min-height:100%}.page-transition>*{animation:pageSlideIn .6s cubic-bezier(.25,.46,.45,.94);will-change:transform,opacity}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(30px) scale(.96);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.page-wrapper{animation:none!important}.quote-btn{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.quote-btn:active{transform:scale(.92)!important}.login-container{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;padding:0;margin:0;box-sizing:border-box}.particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.click-effect-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.click-ripple{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.6);border-radius:50%;transform:translate(-50%,-50%);animation:rippleEffect .6s ease-out;pointer-events:none}@keyframes rippleEffect{0%{width:20px;height:20px;opacity:1}to{width:200px;height:200px;opacity:0}}.click-spark{position:absolute;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%);animation:sparkEffect 1s ease-out;pointer-events:none;box-shadow:0 0 6px currentColor}@keyframes sparkEffect{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--vx),var(--vy)) scale(0)}}.login-content{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;position:relative;z-index:10}.brand-section{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 50px;overflow:hidden}.brand-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.gradient-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:float 20s ease-in-out infinite;pointer-events:none}.orb-1{width:300px;height:300px;background:linear-gradient(135deg,#f093fb,#f5576c);top:-20%;left:-20%;animation-delay:0s}.orb-2{width:400px;height:400px;background:linear-gradient(135deg,#4facfe,#00f2fe);bottom:-25%;right:-25%;animation-delay:-7s}.orb-3{width:250px;height:250px;background:linear-gradient(135deg,#43e97b,#38f9d7);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.9)}}.brand-content{position:relative;z-index:1;text-align:center;color:#fff;width:100%;max-width:480px;pointer-events:none}.brand-logo{margin-bottom:50px;pointer-events:none}.logo-icon{width:80px;height:80px;background:#fff3;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;margin:0 auto 20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 12px 32px #0003;pointer-events:none}.brand-logo h1{font-size:32px;font-weight:700;margin:0 0 12px;line-height:1.2;pointer-events:none}.brand-subtitle{font-size:16px;opacity:.9;margin:0;letter-spacing:1px;pointer-events:none}.brand-features{display:flex;flex-direction:column;gap:32px;margin-bottom:50px;pointer-events:none}.feature-item{display:flex;align-items:center;text-align:left;gap:20px;pointer-events:none}.feature-icon{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);flex-shrink:0;pointer-events:none}.feature-text h3{font-size:20px;margin:0 0 8px;font-weight:600;pointer-events:none}.feature-text p{font-size:15px;margin:0;opacity:.8;line-height:1.5;pointer-events:none}.brand-footer{text-align:center;pointer-events:none}.brand-footer p{font-size:18px;margin:0;opacity:.9;font-weight:500;line-height:1.6;pointer-events:none}.login-section{background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative}.login-card{width:100%;max-width:400px;position:relative;z-index:20}.login-header{text-align:center;margin-bottom:40px;pointer-events:none}.login-header h2{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 12px;pointer-events:none}.login-subtitle{font-size:16px;color:#718096;margin:0;pointer-events:none}.login-form-wrapper{width:100%}.login-form .ant-form-item{margin-bottom:24px}.remember-item{margin-bottom:32px!important}.forgot-password{font-size:14px;color:#667eea;text-decoration:none;transition:color .3s ease}.forgot-password:hover{color:#764ba2}.login-button{width:100%;height:52px;font-size:16px;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 8px 24px #667eea4d;transition:all .3s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea66}.login-button:active{transform:translateY(0)}.login-footer{margin-top:32px;text-align:center}.tips{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#718096;background:#f7fafc;padding:12px 18px;border-radius:8px;margin:0;border:1px solid #e2e8f0;pointer-events:none}.tips .anticon{font-size:16px;color:#667eea;pointer-events:none}@media (max-width: 1200px){.brand-section,.login-section{padding:40px 30px}}@media (max-width: 900px){.login-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.brand-section{padding:30px;min-height:300px}.brand-features{flex-direction:row;justify-content:space-around;gap:20px;margin-bottom:30px}.feature-item{flex-direction:column;text-align:center;gap:12px}.feature-icon{width:60px;height:60px;font-size:24px}.feature-text h3{font-size:16px}.feature-text p{font-size:13px}.brand-logo h1{font-size:28px}.brand-footer p{font-size:16px}.login-section{padding:40px 30px}}@media (max-width: 768px){.brand-section{padding:24px}.login-section{padding:32px 24px}.login-header h2{font-size:28px}.brand-features{flex-direction:column;gap:20px}.feature-item{flex-direction:row;text-align:left}}.project-page{display:flex;flex-direction:column;gap:16px;width:100%;max-width:none;margin:0;position:relative;min-height:calc(100vh - 120px);animation:projectPageEnter .6s cubic-bezier(.25,.46,.45,.94)}@keyframes projectPageEnter{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.project-layout{display:grid;grid-template-columns:minmax(320px,360px) 1fr;gap:24px;align-items:stretch;height:100%;transition:grid-template-columns .4s cubic-bezier(.25,.46,.45,.94)}.meta-column{display:flex;flex-direction:column;gap:20px;transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94)}.meta-column.collapsed{display:none}.table-column{min-width:0;min-height:0;display:flex;flex-direction:column}.table-column.full-span{grid-column:1 / -1}.project-hero{padding:24px;display:flex;flex-direction:column;gap:20px;background:transparent!important;border:none!important;box-shadow:none!important}.project-hero .ant-card-body{padding:0}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.hero-stat{padding:var(--spacing-lg);border-radius:var(--radius-xl);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid var(--border-light);display:flex;align-items:flex-start;gap:var(--spacing-md);position:relative;overflow:hidden;animation:scaleIn .4s cubic-bezier(.4,0,.2,1)}.hero-stat:hover{background:#ffffffe6;transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#6366f133}.stat-icon-wrapper{flex-shrink:0}.stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;transition:var(--transition-base);box-shadow:var(--shadow-xs)}.stat-0 .stat-icon{background:linear-gradient(135deg,#667eea33,#764ba233);color:var(--brand-primary-dark)}.stat-1 .stat-icon{background:linear-gradient(135deg,#34c75933,#10b98133);color:var(--brand-success)}.stat-2 .stat-icon{background:linear-gradient(135deg,#fbbc0533,#ffc10733);color:var(--brand-warning)}.stat-3 .stat-icon{background:linear-gradient(135deg,#a855f733,#8b5cf633);color:var(--brand-accent)}.hero-stat:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-content{flex:1;min-width:0}.stat-content p{margin:0 0 8px;font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.stat-content strong{display:block;margin:0 0 6px;font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--brand-primary-dark),var(--brand-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3;transition:all .3s ease}.hero-stat:hover .stat-content strong{font-size:26px}.stat-content strong small{font-size:14px;font-weight:500;margin-left:4px;-webkit-text-fill-color:var(--text-secondary)}.stat-content span{display:block;font-size:11px;color:var(--text-muted);line-height:1.5;margin-top:4px}.filter-panel{padding:24px;display:flex;flex-direction:column;gap:20px;background:transparent!important;border:none!important;box-shadow:none!important}.filter-panel .ant-card-body{padding:0}.filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.filter-actions{display:flex;gap:12px;flex-wrap:wrap}.project-table-panel{background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #0000000f;padding:0;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.project-table-panel .ant-card-body{padding:0;display:flex;flex-direction:column;flex:1;min-height:0}.table-toolbar{padding:20px 24px;margin-bottom:0;border-radius:12px 12px 0 0;background:#ffffff4d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 8px #0000000a;z-index:20;border-bottom:1px solid rgba(255,255,255,.3)}.toolbar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-footer{margin-top:20px;display:flex;justify-content:flex-end;padding:16px 24px 24px;border-top:1px solid rgba(255,255,255,.2)}.name-cell,.client-cell{display:flex;flex-direction:column;gap:4px}.name-cell strong{font-size:15px;font-weight:600;color:var(--text-primary);transition:color .2s ease;line-height:1.5}.name-cell .muted{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:4px}.client-cell{font-size:14px;color:var(--text-secondary);line-height:1.5}.client-cell small{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.code{font-weight:600;letter-spacing:.3px;color:var(--brand-primary-dark);font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;line-height:1.5}.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.3px;transition:var(--transition-fast);position:relative;overflow:hidden;box-shadow:var(--shadow-xs)}.status-chip.primary{background:linear-gradient(135deg,#6366f126,#8b5cf61a);color:var(--brand-primary-dark);border-color:#6366f14d;box-shadow:var(--shadow-xs),0 0 0 1px #6366f11a}.status-chip.success{background:linear-gradient(135deg,#10b98126,#34d3991a);color:var(--brand-success);border-color:#10b9814d;box-shadow:var(--shadow-xs),0 0 0 1px #10b9811a}.status-chip.neutral{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-light)}.action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:default}.quote-btn{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-accent) 100%)!important;border:none!important;color:#fff!important;font-weight:600!important;padding:6px 16px!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm),0 0 0 1px #6366f11a!important;transition:var(--transition-base)!important;position:relative!important;overflow:hidden!important}.quote-btn:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;width:0!important;height:0!important;border-radius:50%!important;background:#fff3!important;transform:translate(-50%,-50%)!important;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1)!important}.quote-btn:hover:before{width:200px!important;height:200px!important}.quote-btn:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-md),0 0 0 1px #6366f133!important}.quote-btn:active{transform:translateY(0)!important;box-shadow:var(--shadow-xs)!important}.project-table-panel .ant-table{background:transparent;border-radius:12px;overflow:hidden}.project-table-panel .ant-table-thead>tr>th{background:#ffffff80!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none!important;border-bottom:2px solid rgba(255,255,255,.4)!important;font-size:15px!important;font-weight:700!important;color:var(--text-primary);padding:18px 20px!important;letter-spacing:.3px}.project-table-panel .ant-table-tbody>tr{transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.15);cursor:pointer}.project-table-panel .ant-table-tbody>tr>td{background:#ffffff40!important;border:none!important;padding:20px!important;font-size:14px;line-height:1.6;transition:all .2s ease}.project-table-panel .ant-table-tbody>tr{border-bottom:1px solid rgba(255,255,255,.2)}.project-table-panel .ant-table-tbody>tr:last-child{border-bottom:none}.project-table-panel .ant-table-tbody>tr:hover{background-color:#fff6!important}.project-table-panel .ant-table-tbody>tr:hover>td{background-color:transparent!important}@media (max-width: 1280px){.project-layout{grid-template-columns:1fr}.meta-column{flex-direction:row;flex-wrap:wrap}.project-hero,.filter-panel{flex:1 1 360px}}@media (max-width: 768px){.hero-actions,.filter-actions{flex-direction:column;align-items:stretch}.action-buttons{flex-direction:column;width:100%}.action-buttons .ant-btn{width:100%;justify-content:center}}.quote-page{display:flex;flex-direction:column;gap:16px;width:100%;max-width:none;margin:0;position:relative;min-height:calc(100vh - 120px);height:calc(100vh - 120px);overflow:hidden;animation:quotePageEnter .6s cubic-bezier(.25,.46,.45,.94)}@keyframes quotePageEnter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.meta-toggle{border:none;background:#ffffff40;border-radius:999px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px #0000000f;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);border:1px solid rgba(255,255,255,.3);color:var(--text-secondary);position:relative;overflow:hidden}.meta-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#6366f11a;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.25,.46,.45,.94),height .4s cubic-bezier(.25,.46,.45,.94)}.meta-toggle:hover:before{width:200px;height:200px}.meta-toggle:hover{background:#ffffff59;transform:translateY(-1px) scale(1.02);box-shadow:0 4px 12px #0000001a;color:var(--text-primary)}.meta-toggle:active{transform:translateY(0) scale(.98)}.meta-toggle svg{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.meta-toggle:hover svg{transform:rotate(5deg)}.quote-layout{display:grid;grid-template-columns:minmax(320px,360px) 1fr;gap:24px;align-items:stretch;flex:1;min-height:0;overflow:hidden;transition:grid-template-columns .4s cubic-bezier(.25,.46,.45,.94)}.meta-column{display:flex;flex-direction:column;gap:20px;overflow:hidden;transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94),width .4s cubic-bezier(.25,.46,.45,.94),margin .4s cubic-bezier(.25,.46,.45,.94);opacity:1;transform:translate(0);width:auto}.meta-column.collapsed{opacity:0;transform:translate(-30px);width:0;margin:0;min-width:0;pointer-events:none}.meta-column.collapsed>*{display:none}.table-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94);animation:tableColumnExpand .4s cubic-bezier(.25,.46,.45,.94)}.table-column.full-span{grid-column:span 2;max-width:100%;animation:tableColumnFullSpan .4s cubic-bezier(.25,.46,.45,.94)}@keyframes tableColumnExpand{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes tableColumnFullSpan{0%{opacity:.9;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.quote-hero{padding:20px;display:flex;flex-direction:column;gap:16px;background:transparent!important;border:none!important;box-shadow:none!important;animation:fadeInSlide .4s cubic-bezier(.25,.46,.45,.94)}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.quote-hero .ant-card-body{padding:0}.hero-top{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.hero-top h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.version-info{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hero-stat{padding:16px;border-radius:12px;background:#ffffff4d;box-shadow:inset 0 1px #ffffff80,0 2px 8px #0000000a;transition:all .3s ease;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.hero-stat:nth-child(1){animation-delay:.05s}.hero-stat:nth-child(2){animation-delay:.1s}.hero-stat:nth-child(3){animation-delay:.15s}.hero-stat:nth-child(4){animation-delay:.2s}.hero-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));opacity:0;transition:opacity .3s ease}.hero-stat:hover{background:#fff6;transform:translateY(-4px);box-shadow:inset 0 1px #fff9,0 8px 24px #0000001a}.hero-stat:hover:before{opacity:1}.stat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.stat-content p{margin:0;font-size:12px;color:var(--text-muted);font-weight:500;line-height:1.4}.stat-content strong{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.3}.stat-content strong small{font-size:12px;font-weight:500;margin-left:4px;color:var(--text-secondary)}.version-panel{padding:20px;display:flex;flex-direction:column;gap:16px;background:transparent!important;border:none!important;box-shadow:none!important;animation:fadeInSlide .4s cubic-bezier(.25,.46,.45,.94) .1s both}.version-panel .ant-card-body{padding:0}.version-controls{display:flex;flex-direction:column;gap:20px}.total-summary{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:#fff3;border:1px solid rgba(255,255,255,.3)}.total-item{display:flex;justify-content:space-between;align-items:center}.total-item span{font-size:14px;color:var(--text-secondary)}.total-item strong{font-size:18px;font-weight:600;color:var(--text-primary)}.version-actions{display:flex;flex-direction:column;gap:12px}.quote-table-panel{background:transparent;border-radius:0;border:none;box-shadow:none;padding:0;display:flex;flex-direction:column;position:relative;min-height:0;flex:1;overflow:hidden;height:100%}.quote-table-panel .ant-card-body{padding:0;display:flex;flex-direction:column;flex:1;min-height:0}.table-toolbar{position:sticky;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;margin-bottom:0;border-radius:24px 24px 0 0;background:#ffffff40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 8px #0000000a;z-index:20;border-bottom:1px solid rgba(255,255,255,.3)}.undo-bar{position:sticky;top:0;z-index:30;margin:0;padding:12px 24px;background:linear-gradient(135deg,#6366f1f2,#8b5cf6f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000001a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.undo-bar-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.undo-bar-text{color:#fff;font-size:14px;font-weight:500;flex:1}.undo-bar-text strong{font-weight:600;color:#fff}.undo-button{background:#fff3!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;font-weight:600!important;transition:all .3s ease!important}.undo-button:hover{background:#ffffff4d!important;border-color:#ffffff80!important;transform:translateY(-1px);box-shadow:0 4px 8px #00000026!important}.table-scroll-area{flex:1;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;padding-right:0;margin-top:8px;padding-top:0;position:relative}.table-scroll-area::-webkit-scrollbar{width:6px}.table-scroll-area::-webkit-scrollbar-thumb{background:#47556966;border-radius:6px}.quote-antd-table .ant-table{background:transparent}.quote-antd-table .ant-table-thead>tr>th{background:#ffffff2e;font-weight:700!important;color:var(--text-secondary);padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.2);font-size:15px!important;line-height:1.5}.quote-antd-table .ant-table-tbody>tr>td{background:#ffffff40;border:none;padding:14px 16px;font-size:13px;line-height:1.5;transition:all .3s ease;position:relative}.quote-antd-table .ant-table-tbody>tr{transition:all .3s ease;cursor:default;position:relative}.quote-antd-table .ant-table-tbody>tr:hover{transform:translate(2px)}.quote-antd-table .ant-table-tbody>tr:hover>td{background:#ffffff59;box-shadow:0 2px 8px #0000000a}.quote-antd-table .ant-table-tbody>tr>td .ant-btn[disabled]{opacity:.3;cursor:not-allowed}.quote-antd-table .ant-table-tbody>tr>td .ant-btn:not([disabled]):hover{background:#f0f0f0;color:#1890ff}.row-actions{display:inline-flex;align-items:center;gap:6px}.row-actions .ant-btn{padding:0;height:auto;width:22px;height:22px;font-size:12px}.index-value{font-size:18px;font-weight:700;color:var(--text-primary)}.dual-select{display:flex;flex-direction:column;gap:6px}.price-double{display:flex;flex-direction:column;gap:8px}.price-row{display:flex;align-items:center;gap:8px}.price-row span{font-size:13px;color:var(--text-muted);min-width:36px}.amount-double{display:flex;flex-direction:column;gap:8px}.amount-chip{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:8px 16px;border-radius:14px;font-weight:600;box-shadow:inset 0 1px #fff9}.amount-cost{background:#3b82f61f;color:var(--brand-primary-dark)}.amount-quote{background:#10b98126;color:var(--brand-success)}.table-legends{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;padding:0 24px}.legend-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:14px;background:#ffffff2e;box-shadow:none}.legend-chip strong{font-size:13px}.legend-chip p{margin:0;color:var(--text-muted);font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-flex}.status-dot.success{background:var(--brand-success)}.status-dot.neutral{background:#94a3b8e6}.quote-summary-panel{margin-top:20px;padding:20px 24px;border-radius:20px;background:#ffffff4d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 16px #0000000f;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,auto));gap:16px;align-items:center}.quote-summary-panel .summary-item{display:flex;flex-direction:column;gap:6px}.quote-summary-panel .summary-item span{color:var(--text-muted);font-size:12px}.quote-summary-panel .summary-item strong{font-size:18px;color:var(--text-primary)}.quote-summary-panel .discount-item .ant-input-number{width:140px}.quote-summary-panel .final-item strong{color:var(--brand-primary-dark)}@media (max-width: 1280px){.quote-layout{grid-template-columns:1fr}.meta-column{flex-direction:row;flex-wrap:wrap}.quote-hero,.version-panel{flex:1 1 360px}}@media (max-width: 768px){.hero-actions{flex-direction:column;align-items:stretch}.version-controls{flex-direction:column;align-items:flex-start}}.ant-select-dropdown{z-index:1050!important}.quote-antd-table td .ant-select[data-member-role=true],.quote-antd-table .ant-select-selector{min-width:180px!important}.quote-antd-table .ant-select-dropdown{min-width:200px!important}.quote-antd-table .ant-select-dropdown,.quote-table-panel .ant-select-dropdown,.table-scroll-area .ant-select-dropdown{z-index:1050!important}.quote-antd-table .ant-select{z-index:auto;pointer-events:auto!important}.quote-antd-table .ant-select-selector{pointer-events:auto!important;cursor:pointer!important}.quote-antd-table .ant-select-open,.quote-antd-table .ant-select-focused{z-index:1051}.quote-antd-table td .ant-select,.quote-antd-table td .ant-select-selector,.quote-antd-table td .ant-select-selection-item,.quote-antd-table td .ant-select-selection-search{pointer-events:auto!important;-webkit-user-select:auto!important;user-select:auto!important}.client-page{padding:var(--spacing-lg);min-height:100vh}.client-layout{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:1600px;margin:0 auto}.client-table-panel{min-height:600px}.template-page{padding:var(--spacing-lg);min-height:100vh}.template-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);max-width:1600px;margin:0 auto}.template-table-panel{min-height:600px}:root{--brand-primary: #6366f1;--brand-primary-dark: #4f46e5;--brand-primary-light: #818cf8;--brand-accent: #8b5cf6;--brand-accent-soft: rgba(139, 92, 246, .12);--brand-success: #10b981;--brand-success-light: #34d399;--brand-warning: #f59e0b;--brand-warning-light: #fbbf24;--brand-danger: #ef4444;--brand-danger-light: #f87171;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-disabled: #d1d5db;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border-color: rgba(229, 231, 235, .8);--border-light: rgba(243, 244, 246, .8);--panel-gradient: linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(249, 250, 251, .8));--panel-gradient-strong: linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .85));--panel-glass: rgba(255, 255, 255, .7);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px -1px rgba(0, 0, 0, .06), 0 4px 6px -1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-soft: 0 8px 24px rgba(99, 102, 241, .08);--shadow-strong: 0 16px 32px rgba(99, 102, 241, .12);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-base: all .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .4s cubic-bezier(.4, 0, .2, 1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}*{box-sizing:border-box}*,*:before,*:after{font-family:Microsoft YaHei,微软雅黑,SimHei,黑体,Arial,sans-serif}body{margin:0;font-family:Microsoft YaHei,微软雅黑,SimHei,黑体,Arial,sans-serif;color:var(--text-primary);background:radial-gradient(circle at 0% 0%,rgba(99,102,241,.05),transparent 50%),radial-gradient(circle at 100% 100%,rgba(139,92,246,.05),transparent 50%),linear-gradient(135deg,#fafafa,#fff);background-attachment:fixed;background-repeat:no-repeat;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1}#app{position:relative;min-height:100vh;overflow:hidden}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.08),transparent 50%),radial-gradient(circle at 80% 0%,rgba(139,92,246,.06),transparent 50%),radial-gradient(circle at 60% 75%,rgba(16,185,129,.05),transparent 50%);filter:blur(60px);opacity:.6;z-index:0}.app-grid{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(99,102,241,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.02) 1px,transparent 1px);background-size:80px 80px;mix-blend-mode:multiply;opacity:.5}.app-header{position:sticky;top:0;z-index:100;padding:var(--spacing-md) 6vw;display:flex;align-items:center;gap:var(--spacing-lg);background:#fffc;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.logo-glow{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-accent) 100%);box-shadow:var(--shadow-md),0 0 0 1px #6366f11a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;letter-spacing:.5px;transition:var(--transition-base);position:relative;overflow:hidden}.logo-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .3s ease}.logo-glow:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea66}.logo-glow:hover:before{opacity:1}.brand-title h1{margin:0;font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.4;letter-spacing:-.3px}.brand-title p{margin:2px 0 0;color:var(--text-muted);font-size:12px;line-height:1.4;letter-spacing:.2px}.page-wrapper{position:relative;z-index:1;padding:32px 6vw 48px;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:var(--shadow-md),0 0 0 1px #6366f11a}50%{box-shadow:var(--shadow-lg),0 0 0 1px #6366f133}}.page-wrapper{animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}.glass-panel{animation:slideInUp .5s cubic-bezier(.4,0,.2,1)}.glass-panel:nth-child(1){animation-delay:.05s}.glass-panel:nth-child(2){animation-delay:.1s}.glass-panel:nth-child(3){animation-delay:.15s}.page-grid{display:grid;gap:18px}.glass-panel{background:var(--panel-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light);position:relative;overflow:hidden;transition:var(--transition-base)}.glass-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);padding:1px;background:linear-gradient(135deg,#fffc,#fff3);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.glass-panel:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:#6366f133}.glass-panel:hover:before{opacity:1}.glass-panel:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:calc(var(--radius-xl) - 8px);border:1px solid rgba(255,255,255,.25);pointer-events:none}.glass-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);pointer-events:none}.section-title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm);line-height:1.5;margin-bottom:var(--spacing-md);letter-spacing:-.2px}.floating-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:1px solid var(--border-light);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-xs);transition:var(--transition-fast)}.floating-badge:hover{background:#ffffffe6;box-shadow:var(--shadow-sm)}.stat-cluster{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:22px;border-radius:var(--radius-lg);background:var(--panel-gradient-strong);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px #fff9,0 15px 35px #475eff14;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.8));opacity:0;transition:var(--transition-base)}.stat-card:hover:after{opacity:1}.stat-label{font-size:13px;color:var(--text-muted)}.stat-value{margin-top:8px;font-size:28px;font-weight:700}.muted{color:var(--text-muted)}.page-actions{display:flex;gap:12px;flex-wrap:wrap}.pill-button{border-radius:999px}.frosted-table .el-table{background:transparent;--el-table-row-hover-bg-color: rgba(59, 130, 246, .08);--el-table-border-color: rgba(226, 232, 240, .6)}.frosted-table .el-table__inner-wrapper:before,.frosted-table .el-table__inner-wrapper:after{background-color:transparent}.soft-form .el-form-item{margin-right:28px;margin-bottom:18px}.soft-form .el-input,.soft-form .el-select,.soft-form .el-input-number{--el-input-border-radius: 14px;--el-input-border-color: rgba(148, 163, 184, .35);--el-input-hover-border-color: var(--brand-primary);--el-input-focus-border-color: var(--brand-primary);--el-input-bg-color: rgba(255, 255, 255, .92);--el-input-text-color: var(--text-primary)}.soft-form label{font-weight:600;color:var(--text-secondary)}.table-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.table-caption p{margin:0;color:var(--text-muted)}.table-elevated{padding:4px;border-radius:var(--radius-lg)}.table-elevated :deep(.el-table){--el-table-border-color: transparent;background:transparent}.table-elevated :deep(.el-table__inner-wrapper::before),.table-elevated :deep(.el-table__inner-wrapper::after){background-color:transparent}.table-elevated :deep(.el-table__header th){background:transparent;color:var(--text-secondary);font-weight:600;border:none;padding:14px 16px}.table-elevated :deep(.el-table__body){border-collapse:separate;border-spacing:0 12px}.table-elevated :deep(.el-table__body-wrapper tbody tr){transition:var(--transition-base)}.table-elevated :deep(.el-table__body-wrapper tbody tr:hover){transform:translateY(-2px)}.table-elevated :deep(.el-table__body-wrapper tbody tr td){border:none;padding:18px 14px;background:#ffffffe6;box-shadow:0 12px 28px #697fff14;position:relative;transition:var(--transition-base)}.table-elevated :deep(.el-table__body-wrapper tbody tr:hover td){background:#fffffffa;box-shadow:0 14px 32px #0f172a1a}.table-elevated :deep(.el-table__body-wrapper tbody tr td:first-child){border-top-left-radius:20px;border-bottom-left-radius:20px}.table-elevated :deep(.el-table__body-wrapper tbody tr td:last-child){border-top-right-radius:20px;border-bottom-right-radius:20px}.table-elevated :deep(.el-table__row--striped td){background:#fafbfff7}.table-elevated :deep(.el-pagination){--el-pagination-bg-color: rgba(255, 255, 255, .9);--el-pagination-text-color: var(--text-primary);border-radius:999px;padding:4px 12px;box-shadow:0 10px 25px #0f172a0d}.dialog-modern .el-dialog__header{border-bottom:1px solid rgba(226,232,240,.6);margin-right:0;padding:16px 24px 12px}.dialog-modern .el-dialog__body{padding:24px}.dialog-modern .el-dialog__footer{border-top:1px solid rgba(226,232,240,.6);padding:16px 24px}.el-button{transition:all .3s ease;font-weight:500}.el-button--primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-accent) 100%);border:none;box-shadow:var(--shadow-md),0 0 0 1px #6366f11a;position:relative;overflow:hidden;font-weight:600;transition:var(--transition-base)}.el-button--primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1)}.el-button--primary:hover:before{width:300px;height:300px}.el-button--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 0 1px #6366f133}.el-button--primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.el-button--success{background:linear-gradient(135deg,var(--brand-success) 0%,var(--brand-success-light) 100%);border:none;box-shadow:var(--shadow-md),0 0 0 1px #10b9811a;position:relative;overflow:hidden;font-weight:600;transition:var(--transition-base)}.el-button--success:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1)}.el-button--success:hover:before{width:300px;height:300px}.el-button--success:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 0 1px #10b98133}.el-button--success:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.el-button.is-round{border-radius:var(--radius-full);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500}.el-input__wrapper{transition:var(--transition-base);border-radius:var(--radius-md);background:var(--bg-primary);border-color:var(--border-color)}.el-input__wrapper:hover{box-shadow:var(--shadow-sm);border-color:var(--brand-primary-light)}.el-input__wrapper.is-focus{box-shadow:var(--shadow-md),0 0 0 3px #6366f11a;border-color:var(--brand-primary)}.el-select{--el-select-input-focus-border-color: var(--brand-primary)}.el-select__wrapper{transition:all .3s ease;border-radius:12px}.el-select__wrapper:hover{box-shadow:0 2px 8px #667eea26}.el-select__wrapper.is-focused{box-shadow:0 4px 12px #667eea33}.el-card{border-radius:var(--radius-lg);border:1px solid rgba(226,232,240,.6);box-shadow:var(--shadow-soft);transition:all .3s ease}.el-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.el-dialog{border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000026}.el-dialog__header{padding:24px 24px 16px;border-bottom:1px solid rgba(226,232,240,.6)}.el-dialog__title{font-weight:600;color:var(--text-primary)}.el-empty{padding:40px 20px}.el-empty__description{color:var(--text-muted);font-size:14px}.el-loading-mask{background-color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.el-loading-spinner{color:var(--brand-primary)}.el-table__empty-block{background:transparent}.el-table__empty-text{color:var(--text-muted);font-size:14px}.el-pagination{--el-pagination-button-color: var(--text-secondary);--el-pagination-hover-color: var(--brand-primary);--el-pagination-bg-color: rgba(255, 255, 255, .9)}.el-pagination .el-pager li{border-radius:8px;transition:all .2s ease}.el-pagination .el-pager li:hover{background:#4b7bec1a;color:var(--brand-primary-dark)}.el-pagination .el-pager li.is-active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;box-shadow:0 2px 8px #667eea4d}.el-table{--el-table-border-color: var(--border-light);--el-table-header-bg-color: var(--bg-secondary);--el-table-row-hover-bg-color: rgba(99, 102, 241, .04);border-radius:var(--radius-lg);overflow:hidden}.el-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)!important;font-size:13px;letter-spacing:.2px}.el-table td{color:var(--text-primary);font-size:13px}.el-table__row{transition:var(--transition-fast)}.el-table__row:hover{background:#6366f10a!important}.el-dialog{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.el-dialog__header{background:#ffffff80}.el-dialog__body{background:#ffffff4d}@media (max-width: 768px){.page-wrapper{padding:16px}.app-header{padding:20px 16px 0;flex-direction:column;align-items:flex-start}.soft-form .el-form-item{width:100%;margin-right:0}}.ant-btn,.ant-input,.ant-input-number,.ant-select,.ant-select-selector,.ant-select-selection-item,.ant-select-selection-placeholder,.ant-form-item-label>label,.ant-form-item,.ant-table,.ant-table-thead>tr>th,.ant-table-tbody>tr>td,.ant-pagination,.ant-pagination-item,.ant-modal-title,.ant-modal-content,.ant-message,.ant-tag,.ant-card,.ant-card-head-title,.ant-card-body,.ant-empty-description,.ant-skeleton,.ant-skeleton-title,.ant-skeleton-paragraph,.ant-dropdown-menu,.ant-dropdown-menu-item{font-family:Microsoft YaHei,微软雅黑,SimHei,黑体,Arial,sans-serif!important}code,.code,pre,.ant-typography code{font-family:Microsoft YaHei,微软雅黑,Courier New,monospace!important}
