.splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#0a1628,#1a2a4a,#0d1a2d);z-index:9999}.splash-screen.fade-out{animation:fadeOut .4s ease-out forwards}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.bg-layer{position:absolute;inset:0;overflow:hidden}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(30,144,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(30,144,255,.08) 1px,transparent 1px);background-size:30px 30px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(30px,30px)}}.glow-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.4}.orb-1{width:200px;height:200px;background:radial-gradient(circle,#1E90FF 0%,transparent 70%);top:10%;right:-50px;animation:orbFloat 8s ease-in-out infinite}.orb-2{width:150px;height:150px;background:radial-gradient(circle,#4169E1 0%,transparent 70%);bottom:20%;left:-40px;animation:orbFloat 10s ease-in-out infinite reverse}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(15px,-15px) scale(1.1)}}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(30,144,255,.3) 20%,rgba(30,144,255,.8) 50%,rgba(30,144,255,.3) 80%,transparent 100%);box-shadow:0 0 15px #1e90ff99;top:-5px;opacity:0}.scan-line.animate{animation:scanDown 1.2s ease-out forwards}@keyframes scanDown{0%{top:0;opacity:1}to{top:100%;opacity:.3}}.content-layer{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:0 30px}.avatar-wrapper{position:relative;width:100px;height:100px;margin-bottom:20px;opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.avatar-wrapper.show{opacity:1;transform:translateY(0)}.avatar-img{width:100%;height:100%;border-radius:50%;position:relative;z-index:2;object-fit:cover;display:block;background-color:transparent}.avatar-glow{position:absolute;inset:-5px;border-radius:50%;background:radial-gradient(circle,rgba(30,144,255,.4) 0%,transparent 70%);animation:glowPulse 2s ease-in-out infinite}.avatar-ring{position:absolute;inset:-10px;border:1px solid rgba(30,144,255,.5);border-radius:50%;animation:ringRotate 8s linear infinite}.avatar-ring:before{content:"";position:absolute;top:0;left:50%;width:6px;height:6px;background:#1e90ff;border-radius:50%;transform:translate(-50%);box-shadow:0 0 5px #1e90ff}@keyframes glowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shield-badge{position:absolute;top:50%;left:50%;transform:translate(30px,-60px);opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1)}.shield-badge.show{opacity:1;transform:translate(30px,-60px) scale(1);animation:shieldPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes shieldPop{0%{transform:translate(30px,-60px) scale(0)}50%{transform:translate(30px,-60px) scale(1.2)}to{transform:translate(30px,-60px) scale(1)}}.shield-icon{width:32px;height:32px;background:linear-gradient(135deg,#ffb800,#ff8c00);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #ffb80080;position:relative;z-index:2}.shield-symbol{color:#fff;font-size:18px;font-weight:700}.shield-pulse{position:absolute;top:50%;left:50%;width:32px;height:32px;transform:translate(-50%,-50%);border:1px solid rgba(255,184,0,.6);border-radius:50%;animation:shieldPulse 1.5s ease-out infinite}@keyframes shieldPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.hud-elements{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s ease}.hud-elements.show{opacity:1}.hud-line{position:absolute;background:#1e90ff66}.hud-line-1{width:60px;height:1px;top:30%;left:30px;animation:hudLineIn .5s ease-out forwards}.hud-line-2{width:40px;height:1px;top:35%;right:40px;animation:hudLineIn .5s ease-out .1s forwards}@keyframes hudLineIn{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.hud-circle{position:absolute;width:20px;height:20px;border:1px solid rgba(30,144,255,.5);border-radius:50%;top:28%;right:50px;animation:hudCircleIn .5s ease-out .2s forwards;opacity:0}.hud-circle:before{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;background:#1e90ff;border-radius:50%;transform:translate(-50%,-50%)}@keyframes hudCircleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.hud-text{position:absolute;top:25%;left:30px;font-size:10px;color:#1e90ffb3;letter-spacing:2px;font-family:monospace;animation:hudTextIn .5s ease-out .3s forwards;opacity:0}@keyframes hudTextIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.brand-section{text-align:center;margin-top:30px;opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.brand-section.show{opacity:1;transform:translateY(0)}.brand-name-cn{font-size:28px;font-weight:700;color:#fff;letter-spacing:4px;text-shadow:0 0 20px rgba(30,144,255,.5);margin-bottom:8px}.brand-name-en{font-size:14px;color:#ffffffb3;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}.brand-slogan{font-size:14px;color:#ffffffe6;letter-spacing:1px;padding:8px 20px;background:#1e90ff26;border-radius:20px;border:1px solid rgba(30,144,255,.3);display:inline-block}.features-flash{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;opacity:0;transition:opacity .5s ease}.features-flash.show{opacity:1}.feature-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff14;border-radius:20px;border:1px solid rgba(255,255,255,.1);opacity:0;animation:featureIn .4s ease-out forwards}.feature-icon{font-size:14px}.feature-text{font-size:12px;color:#ffffffe6;letter-spacing:1px}@keyframes featureIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-bar{position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:200px;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1e90ff,#00bfff);border-radius:2px;transition:width .05s linear;box-shadow:0 0 10px #1e90ff80}@media (max-width: 768px){.avatar-wrapper{width:80px;height:80px}.brand-name-cn{font-size:24px}.brand-name-en,.brand-slogan{font-size:12px}.feature-item{padding:6px 10px}.feature-text{font-size:11px}.progress-bar{width:150px}}:root{--gb-color-brand-50: #eef4ff;--gb-color-brand-100: #dbe7ff;--gb-color-brand-200: #bfd4ff;--gb-color-brand-300: #93b7ff;--gb-color-brand-400: #5f8fff;--gb-color-brand-500: #246bfd;--gb-color-brand-600: #1d56d8;--gb-color-brand-700: #1849a9;--gb-color-brand-800: #173f84;--gb-color-brand-900: #16356b;--gb-color-ai-500: #0ea5a4;--gb-color-ai-700: #0f7c7b;--gb-color-success-500: #2f9e44;--gb-color-warning-500: #d98e04;--gb-color-danger-500: #d92d20;--gb-color-text-primary: #0f172a;--gb-color-text-secondary: #475569;--gb-color-text-tertiary: #64748b;--gb-color-text-quaternary: #94a3b8;--gb-color-text-inverse: #f8fafc;--gb-color-bg-canvas: #f3f6fb;--gb-color-bg-subtle: #edf2f7;--gb-color-bg-sunken: #e7edf5;--gb-color-bg-card: #ffffff;--gb-color-bg-elevated: #ffffff;--gb-color-bg-brand-soft: #eaf2ff;--gb-color-bg-ai-soft: #e7faf8;--gb-color-bg-success-soft: #ebf8ef;--gb-color-bg-warning-soft: #fff6dd;--gb-color-bg-danger-soft: #fdeceb;--gb-color-border-default: #d7e0ea;--gb-color-border-subtle: #e6edf5;--gb-color-border-strong: #b9c6d8;--gb-shadow-card: 0 10px 24px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .04);--gb-shadow-card-hover: 0 18px 40px rgba(15, 23, 42, .12), 0 6px 14px rgba(15, 23, 42, .08);--gb-shadow-panel: 0 14px 32px rgba(15, 23, 42, .08), 0 2px 10px rgba(15, 23, 42, .04);--gb-gradient-hero: linear-gradient(135deg, #1849a9 0%, #246bfd 58%, #4f8bff 100%);--gb-gradient-approval: linear-gradient(135deg, #1849a9 0%, #246bfd 100%);--gb-gradient-doc: linear-gradient(135deg, #3147c6 0%, #5b6df7 100%);--gb-gradient-progress: linear-gradient(135deg, #5131c7 0%, #7a5af8 100%);--gb-gradient-inspection: linear-gradient(135deg, #237b3d 0%, #2f9e44 100%);--gb-gradient-meeting: linear-gradient(135deg, #0f7c7b 0%, #0ea5a4 100%);--gb-gradient-cost: linear-gradient(135deg, #c56a11 0%, #ef8f1b 100%);--gb-gradient-solution: linear-gradient(135deg, #0f7c7b 0%, #128f8e 100%);--gb-gradient-drawing-review: linear-gradient(135deg, #4338ca 0%, #6d4aff 100%)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;line-height:1.5715;color:var(--gb-color-text-primary);background-color:var(--gb-color-bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:4px}::-webkit-scrollbar-thumb{background:#4755692e;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#4755694d}*{scrollbar-width:thin;scrollbar-color:rgba(71,85,105,.22) transparent}a{color:var(--gb-color-brand-500);text-decoration:none;transition:color .2s}a:hover{color:var(--gb-color-brand-400)}.app-page{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-page-header{flex-shrink:0;padding:16px 0;margin-bottom:16px}.app-page-header h1{margin:0;font-size:20px;font-weight:600;color:var(--gb-color-text-primary)}.app-page-header p{margin:4px 0 0;font-size:14px;color:var(--gb-color-text-tertiary)}.app-page-content{flex:1;min-height:0;overflow:hidden}.app-card{background:var(--gb-color-bg-card);border-radius:12px;border:1px solid var(--gb-color-border-subtle);box-shadow:var(--gb-shadow-card);transition:box-shadow .2s}.app-card:hover{box-shadow:var(--gb-shadow-card-hover)}.app-card-header{padding:12px 16px;border-bottom:1px solid var(--gb-color-border-subtle);display:flex;align-items:center;justify-content:space-between}.app-card-header-title{font-size:15px;font-weight:600;color:var(--gb-color-text-primary)}.app-card-body{padding:16px}.app-panel{height:100%;display:flex;flex-direction:column;background:var(--gb-color-bg-card);border-radius:14px;overflow:hidden;border:1px solid var(--gb-color-border-default);box-shadow:var(--gb-shadow-panel)}.app-panel-header{flex-shrink:0;padding:12px 16px;background:var(--gb-color-bg-subtle);border-bottom:1px solid var(--gb-color-border-subtle);display:flex;align-items:center;justify-content:space-between}.app-panel-header-title{font-size:14px;font-weight:600;color:var(--gb-color-text-primary)}.app-panel-body{flex:1;min-height:0;overflow:auto}.text-primary{color:var(--gb-color-brand-500)}.text-success{color:var(--gb-color-success-500)}.text-warning{color:var(--gb-color-warning-500)}.text-danger{color:var(--gb-color-danger-500)}.text-secondary{color:var(--gb-color-text-secondary)}.mb-0{margin-bottom:0}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.p-0{padding:0}.p-8{padding:8px}.p-16{padding:16px}.p-24{padding:24px}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-16{gap:16px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .2s ease-in-out}.ant-tabs-tab{padding:12px 16px!important}.ant-tabs-tab-active{font-weight:600!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom:3px solid var(--gb-color-brand-500)}.ant-table-tbody>tr:nth-child(odd)>td{background-color:#fafbfc}.ant-table-thead>tr>th{background-color:#f8fafc!important;color:#334155!important;font-weight:600}.conversation-panel-textarea::placeholder,.conversation-panel-textarea textarea::placeholder,.chat-home-textarea::placeholder,.chat-home-textarea textarea::placeholder{color:var(--gb-color-text-quaternary)!important;font-size:15px;opacity:1}@keyframes diffPulse{0%{background-color:#6ce88c26}50%{background-color:#6ce88c59}to{background-color:#6ce88c26}}.diff-highlight-pulse{animation:diffPulse 2s ease-in-out 3}
