html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--color-ink-900: #0A0E1A;--color-ink-800: #1A2233;--color-ink-700: #2E3B55;--color-ink-600: #4A5670;--color-ink-500: #6B7280;--color-ink-400: #9CA3AF;--color-ink-300: #D1D5DB;--color-ink-200: #E5E7EB;--color-ink-100: #F3F4F6;--color-ink-50: #F9FAFB;--color-brand-700: #3730A3;--color-brand-600: #4F46E5;--color-brand-500: #6366F1;--color-brand-400: #8B5CF6;--color-brand-300: #A78BFA;--color-brand-200: #C7D2FE;--color-brand-100: #EEF2FF;--color-brand-50: #F1F2FF;--color-accent-violet: #8B5CF6;--color-accent-violet-bg: #F3F0FF;--color-accent-cyan: #06B6D4;--color-accent-cyan-bg: #ECFEFF;--color-accent-emerald: #10B981;--color-accent-emerald-bg: #ECFDF5;--color-accent-amber: #F59E0B;--color-accent-amber-bg: #FFFBEB;--color-accent-pink: #EC4899;--color-accent-pink-bg: #FDF2F8;--color-accent-blue: #3B82F6;--color-accent-blue-bg: #EFF6FF;--color-accent-red: #EF4444;--color-accent-red-bg: #FEF2F2;--color-bg-canvas: #FAFBFD;--color-bg-card: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-text-primary: #0A0E1A;--color-text-secondary: #6B7280;--color-text-tertiary: #9CA3AF;--color-text-disabled: #D1D5DB;--color-text-inverse: #FFFFFF;--shadow-xs: 0 1px 2px rgba(10, 14, 26, .04);--shadow-sm: 0 1px 3px rgba(10, 14, 26, .06), 0 1px 2px rgba(10, 14, 26, .04);--shadow-md: 0 4px 12px rgba(10, 14, 26, .06), 0 2px 4px rgba(10, 14, 26, .04);--shadow-lg: 0 12px 32px rgba(10, 14, 26, .08), 0 4px 8px rgba(10, 14, 26, .04);--shadow-xl: 0 24px 48px rgba(10, 14, 26, .1), 0 8px 16px rgba(10, 14, 26, .06);--shadow-glow-brand: 0 0 32px rgba(99, 102, 241, .18);--shadow-glow-violet: 0 0 32px rgba(139, 92, 246, .18);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--gradient-hero: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #4338CA 100%);--gradient-brand: linear-gradient(135deg, #6366F1 0%, #7C3AED 50%, #A855F7 100%);--gradient-violet: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%);--gradient-cyan: linear-gradient(135deg, #06B6D4 0%, #67E8F9 100%);--gradient-emerald: linear-gradient(135deg, #10B981 0%, #6EE7B7 100%);--gradient-amber: linear-gradient(135deg, #F59E0B 0%, #FCD34D 100%);--gradient-pink: linear-gradient(135deg, #EC4899 0%, #F9A8D4 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.55) 100%);--gradient-mesh-canvas: radial-gradient(at 0% 0%, rgba(99, 102, 241, .06) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(139, 92, 246, .05) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(139, 92, 246, .04) 0px, transparent 50%), radial-gradient(at 0% 100%, rgba(16, 185, 129, .04) 0px, transparent 50%);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .24s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--color-bg-canvas);background-image:var(--gradient-mesh-canvas);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text-primary);font-feature-settings:"cv11","ss01","tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:none}#root{display:flex;flex-direction:column;min-height:100vh}.ant-app{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0}.app-center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 20% 30%,rgba(99,102,241,.1) 0%,transparent 45%),radial-gradient(ellipse at 80% 70%,rgba(139,92,246,.1) 0%,transparent 45%),radial-gradient(ellipse at 50% 50%,rgba(139,92,246,.06) 0%,transparent 50%),linear-gradient(180deg,#fafbfd,#f3f4f6);position:relative;overflow:hidden}.app-center-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(10,14,26,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(10,14,26,.02) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 70%);pointer-events:none;z-index:0}.app-center-page:after{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:var(--gradient-brand);opacity:.1;filter:blur(80px);pointer-events:none;z-index:0;animation:float-orb 18s ease-in-out infinite}.app-center-page .login-layout:before{content:"";position:absolute;top:-120px;left:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.16) 0%,transparent 70%);filter:blur(60px);pointer-events:none;z-index:0}.app-center-page .login-layout{position:relative}.login-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);opacity:.9;z-index:1}.login-panel{box-shadow:0 24px 64px #4f46e52e,0 8px 24px #4f46e51a,inset 0 1px #ffffffd9!important}.app-login-submit.ant-btn-primary{background:linear-gradient(135deg,#6366f1,#7c3aed 55%,#a855f7);border:none;box-shadow:0 8px 20px #6366f159,0 2px 6px #7c3aed40;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.app-login-submit.ant-btn-primary:hover{background:linear-gradient(135deg,#757ff6,#8b5cf6 55%,#b16ef8);box-shadow:0 10px 26px #6366f16b,0 3px 8px #7c3aed4d;filter:brightness(1.04);transform:translateY(-1px)}.app-login-submit.ant-btn-primary:active{transform:translateY(0);box-shadow:0 4px 12px #6366f14d}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-40px,40px) scale(1.1)}}.app-center-page>*{position:relative;z-index:1}.app-shell{display:flex;flex-direction:column;height:100%;width:100%;background:var(--color-bg-canvas);position:relative;overflow:hidden}.app-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 16px;padding-top:env(safe-area-inset-top,0);height:calc(52px + env(safe-area-inset-top,0));background:linear-gradient(180deg,#1e1b4b,#312e81);color:var(--color-text-inverse);position:relative;z-index:20;flex-shrink:0;overflow:hidden}.app-header:before{content:"";position:absolute;top:-50%;right:-10%;width:220px;height:220px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);pointer-events:none}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.45) 50%,transparent 100%)}.app-header__brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.app-header__logo{width:30px;height:30px;border-radius:var(--radius-sm);background-image:url(/assets/logo/logo-mark.svg);background-size:cover;background-position:center;background-color:transparent;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff4d;flex-shrink:0;position:relative}.app-header__logo:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:10px;background:var(--gradient-brand);z-index:-1;opacity:.55;filter:blur(4px)}.app-header__title{color:#fff;font-size:16px;letter-spacing:1.5px;font-weight:700;line-height:1;display:flex;align-items:baseline;gap:6px}.app-header__title small{font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--color-brand-400);opacity:.9}.app-header__bell{color:#ffffffeb;font-size:19px;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out-quart);background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.app-header__bell:hover{background:#ffffff1f;transform:translateY(-1px)}.app-header__bell:active{transform:translateY(0) scale(.95)}.app-content{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:transparent;padding:14px 14px 18px;overscroll-behavior:contain}.app-tab-bar{flex:0 0 auto;display:flex;height:calc(60px + env(safe-area-inset-bottom,0));padding-bottom:env(safe-area-inset-bottom,0);background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(10,14,26,.06);position:relative;z-index:20;flex-shrink:0}.app-tab-bar:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px;background:linear-gradient(180deg,transparent 0%,rgba(10,14,26,.04) 100%);pointer-events:none}.app-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;cursor:pointer;color:var(--color-ink-400);font-size:11px;padding:6px 0;min-height:44px;transition:color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart);-webkit-tap-highlight-color:transparent;outline:none;position:relative}.app-tab:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:-2px;border-radius:8px}.app-tab:active{transform:scale(.94)}.app-tab--active{color:var(--color-brand-500)}.app-tab--active:before{content:"";position:absolute;top:4px;left:50%;transform:translate(-50%);width:24px;height:3px;border-radius:var(--radius-full);background:var(--gradient-brand);box-shadow:0 0 8px #6366f180}.app-tab--active .app-tab__icon{transform:scale(1.05);filter:drop-shadow(0 2px 6px rgba(99,102,241,.3))}.app-tab__icon{font-size:21px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-spring)}.app-tab__label{font-size:11px;line-height:1;letter-spacing:.5px;font-weight:500}.app-tab--active .app-tab__label{font-weight:600}.app-phone-frame-wrapper{padding:0;flex:1 1 auto;display:flex;align-items:stretch;justify-content:center;min-height:0}.app-phone-frame{width:100%;max-width:100%;margin:0 auto;background:var(--color-bg-canvas);border-radius:0;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.app-phone-frame__screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.app-phone-frame__status-bar{height:0;flex:0 0 0;background:transparent}@media (min-width: 768px){.app-phone-frame-wrapper{padding:32px 0;align-items:center;background:linear-gradient(135deg,#f9fafb,#e5e7eb)}.app-phone-frame{width:390px;max-width:calc(100vw - 32px);height:calc(100vh - 64px);max-height:900px;min-height:700px;border-radius:32px;box-shadow:0 24px 64px #0a0e1a29,0 8px 24px #0a0e1a14,inset 0 1px #ffffffe6;border:8px solid #0A0E1A}.app-phone-frame__screen{overflow:hidden}}@media (max-width: 360px){.app-header{padding:0 12px}.app-header__title{font-size:15px}.app-content{padding:12px 10px 16px}.app-tab__label{font-size:10px}.app-tab__icon{font-size:19px}}@media (min-width: 414px){.app-content{padding:16px 16px 20px}}@media (max-width: 768px){.tool-field-row{flex-direction:column!important;gap:4px!important;margin-bottom:16px!important}.tool-field-row-label{flex:0 0 auto!important;padding-top:0!important}.tool-field-row-content{width:100%!important}.app-tool-page-content .ant-row{flex-direction:column!important}.app-tool-page-content .ant-col{flex:0 0 100%!important;max-width:100%!important;width:100%!important}.app-tool-page-content .ant-space-compact{flex-wrap:wrap!important;width:100%!important}.app-tool-page-content .ant-space-compact .ant-select,.app-tool-page-content .ant-space-compact .ant-input{min-width:0!important;flex:1 1 200px!important}.app-tool-page-content .ant-space-compact .ant-btn{flex:0 0 auto!important}.app-tool-page-content .ant-card-body{padding:12px!important}.app-tool-page-content .ant-table-wrapper{overflow-x:auto!important}}@media (orientation: landscape) and (max-height: 480px){.app-header{height:44px}.app-tab-bar{height:52px}}@media (max-width: 768px){.login-layout{flex-direction:column;gap:20px;padding:24px 16px;overflow-y:auto}.login-brand{display:none}.login-panel{width:100%!important;max-width:420px;margin:0 auto;padding:22px 18px 20px!important}.login-panel .ant-tabs-nav{margin-bottom:12px}.login-panel .ant-form-item{margin-bottom:14px}}@media (max-width: 768px){.ant-table-wrapper{overflow-x:auto}.ant-table{min-width:600px}.ant-card-body{padding:12px}.ant-card-head{padding:8px 12px;min-height:40px}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label{padding:8px 10px}.app-section-header{flex-wrap:wrap;gap:8px;margin-bottom:10px}.app-section-header__title{font-size:16px}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px!important}.ant-modal .ant-modal-body{max-height:70vh;overflow-y:auto}.ant-form-item{margin-bottom:12px}.ant-page-header-heading-title{font-size:18px}.ant-tabs-nav{margin-bottom:12px!important}.ant-statistic-content-value{font-size:20px}}.app-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.app-section-header__title{display:flex;align-items:baseline;gap:10px;font-size:18px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.2px;margin:0}.app-section-header__title small{font-size:12px;color:var(--color-text-tertiary);font-weight:400;letter-spacing:0}.app-section-header__action{display:flex;gap:8px;align-items:center}.app-page-title{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.app-page-title h1{font-size:26px;font-weight:700;letter-spacing:-.5px;color:var(--color-text-primary);margin:0;line-height:1.2}.app-page-title p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.app-hero{position:relative;border-radius:var(--radius-xl);padding:22px 22px 24px;background:linear-gradient(135deg,#1e1b4b,#312e81,#4338ca);color:var(--color-text-inverse);overflow:hidden;box-shadow:0 16px 40px #0a0e1a33,0 4px 12px #0a0e1a14}.app-hero:before{content:"";position:absolute;top:-120px;right:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.55) 0%,transparent 60%);pointer-events:none}.app-hero:after{content:"";position:absolute;bottom:-100px;left:-100px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,transparent 60%);pointer-events:none}.app-hero__row{display:flex;align-items:center;gap:14px;position:relative;z-index:2}.app-hero__avatar{width:52px;height:52px;border-radius:var(--radius-full);background:var(--gradient-brand);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #6366f166,inset 0 2px #ffffff4d;border:2px solid rgba(255,255,255,.18)}.app-hero__title{font-size:18px;font-weight:700;margin:0;letter-spacing:-.2px;color:var(--color-text-inverse)}.app-hero__subtitle{font-size:12px;color:#ffffffb8;margin:2px 0 0;letter-spacing:.2px}.app-hero__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;position:relative;z-index:2}.app-hero__metric{background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:12px 14px;transition:all var(--duration-fast) var(--ease-out-quart);cursor:pointer}.app-hero__metric:hover{background:#ffffff24;transform:translateY(-1px)}.app-hero__metric-value{font-size:22px;font-weight:700;line-height:1;letter-spacing:-.5px;font-feature-settings:"tnum";color:var(--color-text-inverse)}.app-hero__metric-label{font-size:11px;color:#ffffffa6;margin-top:4px;letter-spacing:.3px}.app-metric-card{position:relative;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--color-ink-200);box-shadow:var(--shadow-xs);transition:all var(--duration-normal) var(--ease-out-quart);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:132px;height:100%}.app-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-brand);opacity:0;transition:opacity var(--duration-normal) var(--ease-out-quart)}.app-metric-card:hover{border-color:var(--color-ink-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.app-metric-card:hover:before{opacity:1}.app-metric-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.app-metric-card__title{font-size:13px;color:var(--color-text-secondary);font-weight:500;letter-spacing:.2px}.app-metric-card__value{font-size:32px;font-weight:700;line-height:1.15;color:var(--color-text-primary);letter-spacing:-.8px;margin-top:6px;font-feature-settings:"tnum";display:flex;align-items:baseline;gap:4px}.app-metric-card__suffix{font-size:14px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:0}.app-metric-card__trend{display:inline-flex;align-items:center;gap:3px;font-size:12px;margin-top:10px;font-weight:600}.app-metric-card__trend--up{color:var(--color-accent-emerald)}.app-metric-card__trend--down{color:var(--color-accent-red)}.app-metric-card__trend--flat{color:var(--color-text-tertiary)}.app-metric-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-spring)}.app-metric-card:hover .app-metric-card__icon{transform:scale(1.08) rotate(-3deg)}.app-metric-card__icon--brand{background:var(--color-brand-50);color:var(--color-brand-500)}.app-metric-card__icon--violet{background:var(--color-accent-violet-bg);color:var(--color-accent-violet)}.app-metric-card__icon--cyan{background:var(--color-accent-cyan-bg);color:var(--color-accent-cyan)}.app-metric-card__icon--emerald{background:var(--color-accent-emerald-bg);color:var(--color-accent-emerald)}.app-metric-card__icon--amber{background:var(--color-accent-amber-bg);color:var(--color-accent-amber)}.app-metric-card__icon--red{background:var(--color-accent-red-bg);color:var(--color-accent-red)}.app-glass-card{background:#ffffffb3;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-md)}.app-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.app-quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 8px 12px;background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-ink-200);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quart);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.app-quick-action:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-2px)}.app-quick-action:active{transform:translateY(0) scale(.97);background:var(--color-ink-100)}.app-quick-action__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--color-text-inverse);flex-shrink:0;box-shadow:var(--shadow-sm)}.app-quick-action__icon--brand{background:var(--gradient-brand)}.app-quick-action__icon--violet{background:var(--gradient-violet)}.app-quick-action__icon--cyan{background:var(--gradient-cyan)}.app-quick-action__icon--emerald{background:var(--gradient-emerald)}.app-quick-action__icon--amber{background:var(--gradient-amber)}.app-quick-action__icon--pink{background:var(--gradient-pink)}.app-quick-action__label{font-size:12px;color:var(--color-text-primary);font-weight:500;text-align:center;line-height:1.3}.app-collab-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-collab-tile{position:relative;border-radius:var(--radius-lg);padding:16px;cursor:pointer;overflow:hidden;border:1px solid transparent;transition:all var(--duration-fast) var(--ease-out-quart);min-height:92px}.app-collab-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.app-collab-tile:active{transform:translateY(0) scale(.98)}.app-collab-tile__icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-inverse);margin-bottom:10px}.app-collab-tile__title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3}.app-collab-tile__desc{font-size:11px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.app-collab-tile--orange{background:linear-gradient(135deg,#eef2ff,#c7d2fe);border-color:#6366f126}.app-collab-tile--orange .app-collab-tile__icon{background:var(--gradient-brand)}.app-collab-tile--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f626}.app-collab-tile--blue .app-collab-tile__icon{background:var(--gradient-cyan)}.app-collab-tile--green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b98126}.app-collab-tile--green .app-collab-tile__icon{background:var(--gradient-emerald)}.app-collab-tile--violet{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#8b5cf626}.app-collab-tile--violet .app-collab-tile__icon{background:var(--gradient-violet)}.app-timeline{position:relative;padding-left:22px}.app-timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:linear-gradient(180deg,var(--color-brand-200) 0%,var(--color-brand-100) 100%)}.app-timeline-item{position:relative;padding:10px 0;display:flex;gap:12px;align-items:flex-start}.app-timeline-item__dot{position:absolute;left:-22px;top:14px;width:12px;height:12px;border-radius:var(--radius-full);background:var(--gradient-brand);box-shadow:0 0 0 3px var(--color-bg-card),0 2px 6px #6366f14d}.app-timeline-item__time{font-size:11px;color:var(--color-brand-600);font-weight:700;letter-spacing:.3px;flex-shrink:0;padding-top:8px}.app-timeline-item__body{flex:1;min-width:0}.app-timeline-item__title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.4}.app-timeline-item__desc{font-size:12px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.app-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;gap:8px}.app-empty__icon{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--color-ink-100);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:4px}.app-empty__title{font-size:13px;color:var(--color-text-secondary);font-weight:500;margin:0}.app-todo-item{border-radius:8px;padding-left:8px!important;padding-right:8px!important;transition:background-color .2s ease}.app-todo-item:hover{background:var(--color-brand-50)}.app-stack>*+*{margin-top:16px}.web-card-soft .ant-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);border:1px solid var(--color-ink-200)}.web-card-soft .ant-card-head{border-bottom-color:var(--color-ink-100)}.app-progress{height:8px;background:var(--color-ink-100);border-radius:var(--radius-full);overflow:hidden}.app-progress__bar{height:100%;border-radius:var(--radius-full);transition:width .4s var(--ease-out-quart)}.app-text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:700}.app-big-number{font-size:36px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--color-text-primary);font-feature-settings:"tnum"}.app-text-muted{color:var(--color-text-tertiary)}@media (min-width: 768px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0a0e1a2e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#0a0e1a47}::-webkit-scrollbar-track{background:transparent}}::selection{background:#6366f138;color:var(--color-text-primary)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px;border-radius:var(--radius-sm)}.ant-tag{border-radius:var(--radius-full)!important;padding-inline:10px!important;font-weight:500}.ant-btn-primary:not(:disabled){box-shadow:0 1px #fff3 inset,0 4px 12px #6366f14d}.ant-btn-primary:not(:disabled):hover{box-shadow:0 1px #fff3 inset,0 8px 20px #6366f166;transform:translateY(-1px)}.ant-btn-primary:not(:disabled):active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px #6366f140}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600}:root[data-theme=dark]:not([data-theme=light]),:root.dark:not([data-theme=light]){--color-ink-900: #F9FAFB;--color-ink-800: #E5E7EB;--color-ink-700: #D1D5DB;--color-ink-600: #9CA3AF;--color-ink-500: #6B7280;--color-ink-400: #4A5670;--color-ink-300: #2E3B55;--color-ink-200: #1A2233;--color-ink-100: #141B2D;--color-ink-50: #0F172A;--color-brand-700: #3730A3;--color-brand-600: #4F46E5;--color-brand-500: #6366F1;--color-brand-400: #8B5CF6;--color-brand-300: #A78BFA;--color-brand-200: #C7D2FE;--color-brand-100: #EEF2FF;--color-brand-50: #1F1410;--color-accent-violet-bg: #1E1B3A;--color-accent-cyan-bg: #0B2730;--color-accent-emerald-bg:#0B2620;--color-accent-amber-bg: #2A1F0B;--color-accent-pink-bg: #2A0B1F;--color-accent-blue-bg: #0B1A2A;--color-accent-red-bg: #2A0B0B;--color-bg-canvas: #0A0E1A;--color-bg-card: #141B2D;--color-bg-elevated:#1A2233;--color-text-primary: #F3F4F6;--color-text-secondary: #9CA3AF;--color-text-tertiary: #6B7280;--color-text-disabled: #4A5670;--color-text-inverse: #0A0E1A;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .3);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .4);--shadow-glow-brand: 0 0 32px rgba(99, 102, 241, .28);--shadow-glow-violet: 0 0 32px rgba(139, 92, 246, .28);--gradient-hero: linear-gradient(135deg, #14122E 0%, #1E1B4B 50%, #14122E 100%);--gradient-glass: linear-gradient(135deg, rgba(20, 27, 45, .85) 0%, rgba(20, 27, 45, .55) 100%);--gradient-mesh-canvas: radial-gradient(at 0% 0%, rgba(99, 102, 241, .1) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(139, 92, 246, .08) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(139, 92, 246, .06) 0px, transparent 50%), radial-gradient(at 0% 100%, rgba(16, 185, 129, .06) 0px, transparent 50%)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-ink-900: #F9FAFB;--color-ink-800: #E5E7EB;--color-ink-700: #D1D5DB;--color-ink-600: #9CA3AF;--color-ink-500: #6B7280;--color-ink-400: #4A5670;--color-ink-300: #2E3B55;--color-ink-200: #1A2233;--color-ink-100: #141B2D;--color-ink-50: #0F172A;--color-brand-700: #3730A3;--color-brand-600: #4F46E5;--color-brand-500: #6366F1;--color-brand-400: #8B5CF6;--color-brand-300: #A78BFA;--color-brand-200: #C7D2FE;--color-brand-100: #EEF2FF;--color-brand-50: #1F1410;--color-accent-violet-bg: #1E1B3A;--color-accent-cyan-bg: #0B2730;--color-accent-emerald-bg:#0B2620;--color-accent-amber-bg: #2A1F0B;--color-accent-pink-bg: #2A0B1F;--color-accent-blue-bg: #0B1A2A;--color-accent-red-bg: #2A0B0B;--color-bg-canvas: #0A0E1A;--color-bg-card: #141B2D;--color-bg-elevated:#1A2233;--color-text-primary: #F3F4F6;--color-text-secondary: #9CA3AF;--color-text-tertiary: #6B7280;--color-text-disabled: #4A5670;--color-text-inverse: #0A0E1A;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .3);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .4);--shadow-glow-brand: 0 0 32px rgba(99, 102, 241, .28);--shadow-glow-violet: 0 0 32px rgba(139, 92, 246, .28);--gradient-hero: linear-gradient(135deg, #14122E 0%, #1E1B4B 50%, #14122E 100%);--gradient-glass: linear-gradient(135deg, rgba(20, 27, 45, .85) 0%, rgba(20, 27, 45, .55) 100%);--gradient-mesh-canvas: radial-gradient(at 0% 0%, rgba(99, 102, 241, .1) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(139, 92, 246, .08) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(139, 92, 246, .06) 0px, transparent 50%), radial-gradient(at 0% 100%, rgba(16, 185, 129, .06) 0px, transparent 50%)}}@media (max-width: 767px){.ant-card{border-radius:var(--radius-lg)!important}}.youke-glass-card{background:#ffffffc7!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 12px 36px #6366f11a,0 2px 6px #6366f10f,inset 0 1px #fff6!important;transition:transform .2s ease,box-shadow .2s ease}.youke-glass-card:hover{transform:translateY(-2px);box-shadow:0 20px 48px #6366f129,0 4px 12px #6366f114,inset 0 1px #ffffff80!important}[data-theme=dark] .youke-glass-card{background:#141c2cb8!important;border-color:#ffffff14!important;box-shadow:0 12px 36px #0006,inset 0 1px #ffffff0a!important}[data-theme=dark] .youke-glass-card:hover{box-shadow:0 20px 48px #0009,inset 0 1px #ffffff0f!important}.app-header__logo{background-image:var(--logo-bg, url(/assets/logo/logo-mark.svg));background-size:contain;background-position:center;background-repeat:no-repeat;background-color:transparent}[data-theme=dark]{--logo-bg: url(/assets/logo/logo-mark-dark.svg);--logo-shadow: 0 4px 12px rgba(139, 92, 246, .3), inset 0 1px 0 rgba(255, 255, 255, .1)}.youke-progress{position:relative;width:100%;height:8px;border-radius:4px;background:var(--color-ink-100);overflow:hidden}.youke-progress__fill{height:100%;width:var(--progress, 0%);background:linear-gradient(90deg,var(--progress-color, #6366F1) 0%,#8B5CF6 100%);border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--progress-color, #6366F1)}.youke-grid{display:grid;gap:var(--row-gap, 16px) var(--col-gap, 16px);grid-template-columns:repeat(auto-fit,minmax(var(--min-col, 280px),1fr))}@media (max-width: 640px){.youke-grid{grid-template-columns:1fr}}.youke-kpi{padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#6366f10f,#8b5cf60f);border:1px solid rgba(99,102,241,.1);position:relative;overflow:hidden}.youke-kpi:after{content:"";position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);pointer-events:none}[data-theme=dark] .youke-kpi{background:linear-gradient(135deg,#6366f124,#8b5cf61a);border-color:#6366f13d}@media print{body{background:#fff!important}.ant-layout-sider,.ant-layout-header,.ant-layout-footer,.youke-shell-rail,.youke-topbar{display:none!important}.ant-layout{display:block!important;min-height:0!important}.ant-layout-content{padding:0!important;margin:0!important}.print-area{max-width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.print-toolbar{display:none!important}.print-area table{width:100%!important;table-layout:fixed}.print-area thead{display:table-header-group}.print-area tr,.print-area td,.print-area th{break-inside:avoid}}@media (max-width: 767px){.ant-layout-content{padding:12px!important;margin:0!important}.ant-table-wrapper,.ant-table,.ant-table-content{overflow-x:auto}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{white-space:nowrap}.ant-card-body{padding:12px!important}.ant-form-item-label{flex:0 0 80px!important;max-width:80px!important}.ant-form-item-label>label{font-size:12px!important}.ant-segmented{overflow-x:auto;flex-wrap:nowrap}.tool-config,.tool-signal-board,.freight-layout,.finance-layout{width:100%!important;max-width:100%!important}.ant-row>.ant-col{flex:0 0 100%!important;max-width:100%!important}.ant-layout-header{padding:0 12px!important}.hide-on-mobile{display:none!important}}
