@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--nav:#111b2d;--nav2:#17243a;--primary:#2457e6;--primary-soft:#eef3ff;--text:#182133;--muted:#6e788c;--line:#e7eaf0;--surface:#fff;--bg:#f4f6f9;--green:#16845b;--amber:#c97908;--red:#cf3f4c;--purple:#7254d3;--shadow:0 1px 2px #121c2d0a}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #7ea0ff}.app-frame{min-height:100vh;display:flex}.sidebar{background:var(--nav);color:#c6cfdd;z-index:30;flex-direction:column;width:224px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:11px;height:68px;padding:0 18px;display:flex}.brand-mark{color:#111b2d;background:#fff;border-radius:7px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.brand b{color:#fff;font-size:14px;display:block}.brand span{color:#8290a6;margin-top:3px;font-size:11px;display:block}.mobile-close{display:none}.sidebar nav{flex:1;padding:12px 10px;overflow:auto}.nav-section{color:#65758e;letter-spacing:.12em;padding:15px 12px 7px;font-size:10px;display:block}.sidebar nav button{color:#aeb9ca;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:12px;width:100%;height:40px;margin:2px 0;padding:0 12px;font-size:13px;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0e}.sidebar nav button.active{color:#fff;background:#2545a2;font-weight:700}.sidebar nav button i{text-align:center;width:18px;font-size:16px;font-style:normal}.sidebar nav button em{background:#315fdd;border-radius:9px;margin-left:auto;padding:1px 6px;font-size:10px;font-style:normal}.sidebar nav button em.warning-count{background:#a23a43}.sidebar-foot{border-top:1px solid #ffffff14;flex-direction:column;gap:4px;padding:13px 20px;display:flex}.sidebar-foot span{font-size:11px}.sidebar-foot b{color:#65758e;font-size:10px;font-weight:400}.main-column{width:100%;min-width:0;padding-left:224px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 26px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:9px;font-size:13px;display:flex}.topbar-left span,.topbar-left small{color:#a0a7b4}.topbar-right{align-items:center;gap:10px;display:flex}.global-search{border:1px solid var(--line);color:#8690a2;border-radius:5px;align-items:center;gap:8px;width:250px;height:34px;padding:0 11px;display:flex}.global-search input{border:0;outline:0;width:100%;font-size:12px}.icon-button,.help-button,.menu-toggle{background:#fff;border:0;border-radius:5px;width:34px;height:34px;position:relative}.icon-button:hover,.help-button:hover{background:#f2f4f8}.icon-button em{background:var(--red);color:#fff;border-radius:8px;padding:1px 4px;font-size:9px;font-style:normal;position:absolute;top:-2px;right:0}.profile{position:relative}.profile>button{border:0;border-left:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding-left:14px;display:flex}.avatar{color:#284eab;background:#dce6ff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.avatar.small{width:28px;height:28px}.profile>button span:nth-child(2){text-align:left}.profile>button b{font-size:12px;display:block}.profile>button small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.profile-menu{border:1px solid var(--line);z-index:50;background:#fff;border-radius:8px;width:250px;padding:8px;position:absolute;top:43px;right:0;box-shadow:0 12px 40px #1e293b29}.profile-menu>small{color:var(--muted);padding:7px 9px;font-size:11px;display:block}.profile-menu button{text-align:left;background:#fff;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;padding:7px;display:flex}.profile-menu button:hover,.profile-menu button.active{background:#f1f5ff}.profile-menu button span:nth-child(2){flex:1}.profile-menu button b,.profile-menu button small{display:block}.profile-menu button small{color:var(--muted);font-size:10px}.profile-menu button i{color:var(--primary);font-style:normal}.menu-toggle{display:none}.workspace{max-width:1600px;margin:auto;padding:25px 28px 50px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.breadcrumb{color:#8892a3;margin-bottom:7px;font-size:11px}.page-header h1{letter-spacing:-.02em;margin:0 0 6px;font-size:22px}.page-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.header-actions{align-items:center;gap:8px;display:flex}.header-actions button,.date-filter button,.toolbar button,.toolbar select,.panel button,.table-footer button,.modal-card footer button,.detail-drawer footer button{background:#fff;border:1px solid #dfe3ea;border-radius:5px;height:34px;padding:0 12px;font-size:12px}.primary-btn{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.date-filter{gap:8px;display:flex}.welcome-strip{color:#536078;background:#f7f9ff;border:1px solid #dce5ff;border-radius:5px;justify-content:space-between;align-items:center;height:42px;margin-bottom:14px;padding:0 14px;font-size:11px;display:flex}.welcome-strip button,.link-btn{color:var(--primary);background:0 0!important;border:0!important;height:auto!important;padding:0!important}.live-dot{background:#16a36b;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.metric-card{text-align:left;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;min-height:101px;padding:15px 16px;transition:all .15s}.metric-card:hover{border-color:#afc2fb;transform:translateY(-1px)}.metric-label{color:#687386;justify-content:space-between;font-size:11px;display:flex}.metric-arrow{color:#abb3c0;font-size:18px;line-height:10px}.metric-card strong{letter-spacing:-.03em;margin:10px 0 6px;font-size:22px;display:block}.metric-card small{color:#8992a3;font-size:10px}.metric-card small.positive,.balance-text{color:var(--green)}.metric-card small.warning,.danger-text{color:var(--red)!important}.dashboard-grid{gap:14px;margin-bottom:14px;display:grid}.dashboard-grid.wide-left{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.dashboard-grid.thirds{grid-template-columns:1fr 1fr 1fr}.dashboard-grid.half{grid-template-columns:1fr 1fr}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;min-width:0}.panel-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.panel-head h3{margin:0;font-size:13px}.segmented{background:#f2f4f8;border-radius:4px;padding:2px;display:flex}.segmented button,.view-tabs button{background:0 0!important;border:0!important;height:25px!important;padding:0 9px!important;font-size:10px!important}.segmented button.active,.view-tabs button.active{color:var(--primary);box-shadow:0 1px 3px #dfe4eb;background:#fff!important}.count-badge{color:var(--primary);background:#edf2ff;border-radius:9px;padding:2px 7px;font-size:10px}.trend-chart{gap:10px;height:245px;padding:24px 16px 16px;display:flex}.y-labels{color:#9ba4b2;flex-direction:column;justify-content:space-between;padding-bottom:25px;font-size:9px;display:flex}.trend-area{flex:1;position:relative}.grid-lines{border-bottom:1px solid #edf0f4;flex-direction:column;justify-content:space-evenly;display:flex;position:absolute;inset:0 0 25px}.grid-lines i{border-top:1px dashed #edf0f4}.trend-bars{grid-template-columns:repeat(12,1fr);align-items:end;gap:7px;display:grid;position:absolute;inset:0}.trend-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.trend-column span{background:#4b74e8;border-radius:2px 2px 0 0;width:48%;min-height:4px}.trend-column span:hover{background:#1647d0}.trend-column span.bar-empty{background:#e9edf3}.trend-column small{color:#8992a3;height:18px;font-size:9px}.performance-list{padding:12px 16px}.performance-row{grid-template-columns:22px 48px 1fr 62px 38px;align-items:center;gap:8px;min-height:37px;font-size:10px;display:grid}.performance-row b{font-size:11px}.performance-row>strong{text-align:right}.performance-row>small{text-align:right;color:var(--green)}.performance-list.compact .performance-row{grid-template-columns:22px 48px 1fr 58px}.rank{color:#7b8492;background:#f0f2f6;border-radius:3px;place-items:center;width:17px;height:17px;display:grid}.rank-1{color:#a46100;background:#ffeed0}.rank-2{background:#e9edf3}.rank-3{color:#a66430;background:#f5e9df}.progress{background:#edf0f4;border-radius:4px;height:5px;overflow:hidden}.progress span{border-radius:4px;height:100%;display:block}.donut-wrap{justify-content:center;align-items:center;gap:25px;padding:18px;display:flex}.donut{background:conic-gradient(#2962ff 0 31%,#22a06b 31% 55%,#7c5cff 55% 74%,#f59e0b 74% 87%,#0ea5e9 87%);border-radius:50%;place-items:center;width:115px;height:115px;display:grid}.donut:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:72px;height:72px}.donut div{text-align:center;grid-area:1/1;position:relative}.donut strong,.donut small{display:block}.donut strong{font-size:12px}.donut small{color:var(--muted);font-size:9px}.legend{min-width:120px}.legend div{grid-template-columns:10px 1fr 30px;align-items:center;gap:5px;margin:7px 0;font-size:9px;display:grid}.legend i{border-radius:50%;width:6px;height:6px}.legend b{text-align:right}.todo-list,.warning-list{padding:5px 14px}.todo-list button,.warning-list button{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex;background:#fff!important;border:0!important;border-bottom:1px solid #f0f2f5!important;height:38px!important;padding:0 3px!important}.todo-list span{align-items:center;gap:8px;display:flex}.todo-list i{border-radius:50%;width:6px;height:6px}.dot-blue{background:var(--primary)}.dot-purple{background:var(--purple)}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.todo-list b{margin-left:auto;margin-right:9px}.todo-list em{color:#aaa;font-style:normal}.warning-list button{gap:8px}.warning-list span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.warning-list b{font-size:10px}.status{white-space:nowrap;border-radius:3px;align-items:center;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.status-blue{color:#2857c9;background:#edf3ff}.status-green{color:#147451;background:#e9f8f1}.status-amber{color:#a96300;background:#fff5df}.status-red{color:#bd3340;background:#ffedef}.status-gray{color:#687386;background:#f0f2f5}.status-purple{color:#6748bd;background:#f0ebff}.quick-actions{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:16px 18px;display:flex}.quick-actions h2{margin:0 0 4px;font-size:17px}.quick-actions p{color:var(--muted);margin:0;font-size:11px}.quick-actions>div:last-child{gap:8px;display:flex}.quick-actions button{border:1px solid var(--line);background:#fff;border-radius:5px;height:34px;padding:0 12px;font-size:11px}.personal-goal{justify-content:space-around;align-items:center;height:184px;padding:20px;display:flex}.personal-goal>div:first-child{width:65%}.personal-goal span,.personal-goal strong{display:block}.personal-goal span{color:var(--muted);font-size:11px}.personal-goal strong{margin:10px 0;font-size:24px}.personal-goal strong small{color:var(--muted);font-size:11px}.goal-ring{border:9px solid #eaf0ff;border-top-color:var(--primary);border-right-color:var(--primary);text-align:center;border-radius:50%;align-content:center;place-items:center;width:92px;height:92px;display:grid}.goal-ring b{font-size:17px}.goal-ring small{color:var(--muted);font-size:9px}.maintenance-grid{grid-template-columns:1fr 1fr;padding:10px;display:grid}.maintenance-grid button{text-align:left;align-items:center;gap:9px;display:flex;background:#fff!important;border:0!important;border-bottom:1px solid #f0f2f5!important;height:55px!important}.maintenance-grid i{color:var(--primary);font-size:17px;font-style:normal}.maintenance-grid span{flex:1}.maintenance-grid em{color:#abb2bd;font-style:normal}.mini-metrics{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid}.mini-metrics>div{border-right:1px solid var(--line);padding:14px 18px}.mini-metrics>div:last-child{border:0}.mini-metrics span,.mini-metrics b,.mini-metrics small{display:block}.mini-metrics span{color:var(--muted);font-size:10px}.mini-metrics b{margin:7px 0;font-size:18px}.mini-metrics small{color:#7d8798;font-size:9px}.toolbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:52px;padding:9px 14px;display:flex}.search-box{border:1px solid #dfe3ea;border-radius:5px;align-items:center;gap:7px;width:280px;height:34px;padding:0 10px;display:flex}.search-box input{border:0;outline:0;flex:1;min-width:0;font-size:11px}.search-box kbd{color:#a1a8b5;border:1px solid #e2e5e9;border-radius:3px;padding:1px 4px;font-size:9px}.toolbar>button:last-child{margin-left:auto}.muted{color:var(--muted);font-size:10px}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:11px}.table-wrap th{text-align:left;color:#778194;white-space:nowrap;background:#fafbfc;height:36px;padding:0 12px;font-size:9px;font-weight:600}.table-wrap td{white-space:nowrap;border-top:1px solid #edf0f4;padding:10px 12px}.table-wrap tbody tr{cursor:pointer}.table-wrap tbody tr:hover{background:#f7f9fd}.table-wrap td b,.table-wrap td small{display:block}.table-wrap td small{color:#8b94a4;margin-top:4px;font-size:9px}.table-wrap .num{text-align:right;font-variant-numeric:tabular-nums}.strength-tag{color:#a96000;background:#fff1df;border-radius:3px;margin-left:6px;padding:2px 5px;font-style:normal}.table-footer{color:#80899a;border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:48px;padding:0 14px;font-size:10px;display:flex}.table-footer button{width:28px;height:28px;margin-left:3px;padding:0}.table-footer button.active{color:var(--primary);border-color:#90a9ef}.workflow-steps{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;margin-bottom:14px;padding:18px 26px;display:flex}.workflow-steps>div{flex:1;align-items:center;max-width:190px;display:flex}.workflow-steps span{color:#788396;background:#edf0f4;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.workflow-steps span.done{color:var(--green);background:#e8f7f1}.workflow-steps span.active{background:var(--primary);color:#fff}.workflow-steps b{white-space:nowrap;margin-left:7px;font-size:10px}.workflow-steps i{background:#dfe4ec;flex:1;height:1px;margin:0 10px}.view-tabs{display:flex}.product-list{padding:0 14px}.product-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f4;grid-template-columns:45px minmax(180px,1.4fr) 110px 110px 150px 60px 18px;align-items:center;gap:13px;width:100%;padding:12px 2px;display:grid}.product-thumb{color:#3760c1;background:#e5edff;border-radius:6px;place-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:grid}.product-2{color:#7655c9;background:#efeaff}.product-3{color:#258059;background:#e8f5ee}.product-4{color:#b76727;background:#fff0e5}.product-name b,.product-name small,.product-row>div span,.product-row>div b,.product-row>div small{display:block}.product-name small,.product-row>div span,.product-row>div small{color:var(--muted);margin-top:4px;font-size:9px}.product-row>em{color:#aaa;font-style:normal}.import-flow{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:13px;height:55px;margin-bottom:14px;display:flex}.import-flow span{color:#8993a3;font-size:10px}.import-flow span.done{color:var(--green)}.import-flow span.active{color:var(--primary);font-weight:700}.import-flow i{color:#bdc3cd;font-style:normal}.file-layout{grid-template-columns:190px 1fr;gap:14px;display:grid}.category-list{border:1px solid var(--line);background:#fff;border-radius:6px;padding:11px}.category-list>b{padding:6px 9px 10px;font-size:11px;display:block}.category-list button{text-align:left;color:#657084;white-space:pre;background:#fff;border:0;border-radius:4px;width:100%;height:34px;padding:0 9px;font-size:10px}.category-list button.active{color:var(--primary);background:#edf3ff;font-weight:700}.file-list{padding:0 14px}.file-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:12px;width:100%;padding:11px 2px;display:flex}.file-icon{color:#315fc5;background:#e8efff;border-radius:4px;place-items:center;width:34px;height:38px;font-style:normal;display:grid}.file-1{color:#24815b;background:#e8f6ef}.file-2{color:#b76a32;background:#fff0e5}.file-list span:nth-child(2){flex:1}.file-list b,.file-list small{display:block}.file-list b{font-size:11px}.file-list small{color:var(--muted);margin-top:5px;font-size:9px}.file-list em{font-style:normal}.approval-tabs,.warning-summary{gap:5px;margin-bottom:14px;display:flex}.approval-tabs button,.warning-summary button{border:1px solid var(--line);background:#fff;border-radius:5px;height:37px;padding:0 13px;font-size:11px}.approval-tabs button.active,.warning-summary button.active{color:var(--primary);background:#f5f8ff;border-color:#98aff1}.approval-tabs b,.warning-summary b{margin-left:4px}.approval-cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.approval-cards>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;padding:16px}.approval-cards>button:hover{border-color:#abc0fb}.approval-cards>button>div{justify-content:space-between;align-items:center;display:flex}.approval-cards small{color:var(--muted);font-size:9px}.approval-cards h3{margin:14px 0 7px;font-size:13px}.approval-cards p{color:var(--muted);margin:0 0 16px;font-size:10px}.approval-cards footer{border-top:1px solid var(--line);justify-content:space-between;padding-top:11px;font-size:9px;display:flex}.approval-cards footer b{color:var(--amber)}.warning-table{padding:0 14px}.warning-table>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:38px 1fr 75px 70px 55px;align-items:center;gap:10px;width:100%;padding:12px 2px;display:grid}.warning-symbol{border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;font-weight:800;display:grid}.priority-高{color:var(--red);background:#ffedef}.priority-中{color:var(--amber);background:#fff5df}.priority-低{color:var(--primary);background:#edf3ff}.warning-table span b,.warning-table span small{display:block}.warning-table span b{font-size:11px}.warning-table span small,.warning-table em{color:var(--muted);margin-top:4px;font-size:9px;font-style:normal}.warning-table>button>strong{color:var(--primary);font-size:10px}.system-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.user-list,.config-list{padding:0 14px}.user-list>button,.config-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:10px;width:100%;padding:9px 1px;display:flex}.user-list>button>span:nth-child(2),.config-list>button>span{flex:1}.user-list b,.user-list small,.config-list b,.config-list small{display:block}.user-list small,.config-list small{color:var(--muted);margin-top:3px;font-size:9px}.user-list>div{gap:4px;display:flex}.user-list em,.config-list em{color:#8a94a4;font-size:9px;font-style:normal}.config-list>button{min-height:50px}.no-access{border:1px solid var(--line);text-align:center;background:#fff;align-content:center;place-items:center;min-height:400px;display:grid}.no-access>span{color:#b6beca;font-size:38px}.no-access h2{margin:12px 0 5px;font-size:16px}.no-access p{color:var(--muted);font-size:11px}.dual-chart{align-items:end;gap:10px;height:220px;padding:36px 24px 23px;display:flex;position:relative}.chart-key{gap:10px;font-size:9px;display:flex;position:absolute;top:15px;right:20px}.chart-key i{width:7px;height:7px;margin-right:4px;display:inline-block}.key-blue{background:#4e77e7}.key-green{background:#35a77b}.dual-col{border-bottom:1px solid var(--line);flex:1;justify-content:center;align-items:end;gap:3px;height:145px;display:flex;position:relative}.dual-col>span,.dual-col>em{background:#4e77e7;width:8px;display:block}.dual-col>em{background:#35a77b;font-style:normal}.dual-col small{color:#8992a3;font-size:8px;position:absolute;bottom:-18px}.modal-layer,.drawer-layer{z-index:100;place-items:center;display:grid;position:fixed;inset:0}.modal-backdrop,.drawer-backdrop{background:#0e17267a;border:0;width:100%;height:100%;position:absolute;inset:0}.modal-card{background:#fff;border-radius:7px;width:min(690px,100vw - 32px);max-height:90vh;position:relative;overflow:auto;box-shadow:0 24px 80px #0003}.modal-card header,.detail-drawer header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:70px;padding:0 20px;display:flex}.modal-card header small,.detail-drawer header small{color:var(--muted);font-size:9px}.modal-card h2,.detail-drawer h2{margin:3px 0 0;font-size:17px}.modal-card header>button,.detail-drawer header>button{background:#f3f5f8;border:0;border-radius:50%;width:32px;height:32px;font-size:18px}.modal-body{padding:20px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label.full{grid-column:1/-1}.form-grid label>span{margin-bottom:6px;font-size:10px;font-weight:700;display:block}.form-grid label>span b{color:var(--red);margin-left:3px}.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border:1px solid #dce1e8;border-radius:5px;width:100%;padding:0 10px;font-size:11px}.form-grid input,.form-grid select{height:36px}.form-grid textarea{resize:vertical;padding-top:9px}.form-note{color:#526177;background:#f4f7ff;border-radius:5px;gap:8px;margin-top:15px;padding:10px 12px;font-size:10px;line-height:1.6;display:flex}.form-note span{border:1px solid #90a5d8;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.form-note p{margin:0}.modal-card footer,.detail-drawer footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;height:58px;padding:0 20px;display:flex}.dropzone{text-align:center;background:#fafcff;border:1px dashed #b7c3d8;border-radius:6px;padding:35px}.dropzone>span{color:var(--primary);font-size:30px}.dropzone b,.dropzone p{display:block}.dropzone b{margin:9px;font-size:13px}.dropzone p{color:var(--muted);font-size:10px}.dropzone button{border:1px solid var(--primary);height:32px;color:var(--primary);background:#fff;border-radius:4px}.drawer-layer{display:block}.detail-drawer{background:#fff;flex-direction:column;width:min(480px,100vw);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-15px 0 50px #00000026}.drawer-body{flex:1;padding:18px 20px;overflow:auto}.drawer-summary{background:#f7f9ff;border:1px solid #dce5ff;border-radius:6px;align-items:center;gap:14px;padding:14px;display:flex}.drawer-summary span{color:var(--muted);font-size:10px}.drawer-summary strong{margin-right:auto;font-size:20px}.drawer-body section{margin-top:22px}.drawer-body h3{margin:0 0 12px;font-size:12px}.trace-path{padding-left:4px}.trace-path button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:5px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.trace-path button:hover{border-color:#9db3ef}.trace-path button i{width:24px;height:24px;color:var(--primary);background:#edf3ff;border-radius:50%;place-items:center;font-size:10px;font-style:normal;display:grid}.trace-path button span{flex:1}.trace-path button b,.trace-path button small{display:block}.trace-path button b{font-size:11px}.trace-path button small{color:var(--muted);margin-top:4px;font-size:9px}.trace-path>em{color:#aab2bf;margin:3px 0 3px 15px;font-style:normal;display:block}.audit-list>div{border-bottom:1px solid var(--line);gap:9px;padding:9px 0;display:flex}.audit-list>div>span{width:26px;height:26px;color:var(--primary);background:#edf3ff;border-radius:50%;place-items:center;font-size:10px;display:grid}.audit-list p{margin:0}.audit-list b,.audit-list small{display:block}.audit-list b{font-size:10px}.audit-list small{color:var(--muted);margin-top:4px;font-size:9px}.toast{z-index:200;color:#fff;background:#152034;border-radius:5px;padding:10px 15px;font-size:11px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0003}.toast span{color:#70e2af;margin-right:8px}.mobile-overlay{display:none}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid.thirds{grid-template-columns:1fr 1fr}.dashboard-grid.thirds>.panel:last-child{grid-column:1/-1}.global-search{display:none}.approval-cards{grid-template-columns:1fr 1fr}.product-row{grid-template-columns:45px 1fr 100px 100px 60px 18px}.product-row>div:nth-child(5){display:none}}@media (max-width:780px){.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;font-size:20px;display:block}.mobile-overlay{z-index:25;background:#00000059;border:0;display:block;position:fixed;inset:0}.main-column{padding-left:0}.menu-toggle{display:block}.topbar{padding:0 12px}.topbar-left small,.topbar-left span,.profile>button span:nth-child(2),.profile>button i,.help-button{display:none}.workspace{padding:18px 12px 40px}.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.metric-grid,.mini-metrics{grid-template-columns:1fr 1fr}.dashboard-grid.wide-left,.dashboard-grid.thirds,.dashboard-grid.half,.system-grid,.file-layout{grid-template-columns:1fr}.dashboard-grid.thirds>.panel:last-child{grid-column:auto}.quick-actions{flex-direction:column;align-items:flex-start;gap:12px}.quick-actions>div:last-child{flex-wrap:wrap}.approval-cards{grid-template-columns:1fr}.category-list{display:none}.workflow-steps{justify-content:flex-start;overflow:auto}.workflow-steps>div{min-width:125px}.toolbar{flex-wrap:wrap}.search-box{width:100%}.toolbar>button:last-child{margin-left:0}.product-row{grid-template-columns:42px 1fr 75px 18px}.product-row>div:nth-child(3),.product-row>div:nth-child(4){display:none}.warning-table>button{grid-template-columns:34px 1fr 68px}.warning-table>button>em,.warning-table>button>strong{display:none}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.menu-toggle{font-size:0}.menu-toggle:after{content:"☰";font-size:17px}}@media (max-width:480px){.metric-grid,.mini-metrics{grid-template-columns:1fr}.mini-metrics>div{border-right:0;border-bottom:1px solid var(--line)}.metric-card{min-height:85px}.topbar-left b{font-size:12px}.profile-menu{right:-6px}.donut-wrap{flex-direction:column}.approval-tabs,.warning-summary{overflow:auto}.approval-tabs button,.warning-summary button{white-space:nowrap}.page-header h1{font-size:20px}}.auth-page{background:linear-gradient(135deg,#f4f7fc 0%,#eef3ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dfe5ee;border-radius:10px;width:min(420px,100%);padding:32px;box-shadow:0 18px 55px #19305a1a}.auth-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:24px;display:flex}.auth-brand>span{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid}.auth-brand b,.auth-brand small{display:block}.auth-brand b{font-size:13px}.auth-brand small{color:var(--muted);margin-top:3px;font-size:10px}.auth-card>header{padding:26px 0 18px}.auth-card>header small{color:var(--primary);font-size:10px;font-weight:700}.auth-card h1{margin:6px 0;font-size:24px}.auth-card>header p,.forbidden-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.auth-form{gap:14px;display:grid}.auth-form label>span{margin-bottom:7px;font-size:11px;font-weight:700;display:block}.auth-form input{border:1px solid #d7dde7;border-radius:6px;outline:0;width:100%;height:42px;padding:0 12px;font-size:13px}.auth-form input:focus{border-color:#7896e8;box-shadow:0 0 0 3px #edf2ff}.auth-form>button{height:42px;margin-top:4px}.auth-form>button:disabled{opacity:.65}.auth-error{color:#ad2935;background:#fff0f1;border-radius:5px;margin:0;padding:10px 12px;font-size:10px}.auth-notice{color:#3158a8;background:#edf3ff;border-radius:5px;padding:11px 12px;font-size:10px;line-height:1.6}.password-hint{color:var(--muted);font-size:9px;line-height:1.6}.auth-card>footer{text-align:center;border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:18px;font-size:9px}.auth-card a{color:var(--primary)}.forbidden-card{text-align:center}.forbidden-symbol{color:#c5ccda;font-size:34px;font-weight:800}.forbidden-card h1{font-size:20px}.auth-link{border-radius:5px;justify-content:center;align-items:center;height:38px;margin-top:20px;padding:0 18px;text-decoration:none;display:inline-flex;color:#fff!important}.account-menu{padding:8px}.account-menu>small{padding:7px 9px;display:block}.account-menu>button{border-radius:4px;width:100%;justify-content:flex-start!important;height:34px!important;padding:0 9px!important}.account-menu>button:hover{background:#f4f7fb!important}.sidebar-icp{color:#8290a6;font-size:9px;text-decoration:none}.sidebar-icp:hover{color:#fff}.auth-card>footer{gap:7px;display:grid}.auth-card>footer span{display:block}.modal-form{padding:16px}.role-checks{border:0;flex-wrap:wrap;gap:12px;margin:14px 0;padding:0;display:flex}.role-checks legend{margin-bottom:8px;font-size:10px;font-weight:700}.role-checks label{align-items:center;gap:5px;font-size:10px;display:flex}.user-admin-actions{white-space:normal;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:18px;padding:6px 0;display:grid}.user-admin-actions form{gap:8px;display:grid}.user-admin-actions form>label span{margin-bottom:5px;font-size:9px;font-weight:700;display:block}.user-admin-actions input[type=password]{border:1px solid #dce1e8;border-radius:5px;height:34px;padding:0 9px}.secondary-btn{background:#fff;border:1px solid #dfe3ea;border-radius:5px;height:34px;padding:0 12px}.table-subtitle{display:block}@media (max-width:780px){.user-admin-actions{grid-template-columns:1fr}.role-checks{grid-template-columns:1fr 1fr;display:grid}}
