:root{--primary: #1677ff;--primary-hover: #4096ff;--success: #52c41a;--warning: #fa8c16;--error: #ff4d4f;--gold: #faad14;--text-1: rgba(0, 0, 0, .88);--text-2: rgba(0, 0, 0, .65);--text-3: rgba(0, 0, 0, .45);--bg-layout: #f0f2f5;--border-1: #f0f0f0;--border-2: #d9d9d9;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--hl-bg: rgba(255, 77, 79, .18);--hl-bg-strong: rgba(255, 77, 79, .26);--hl-border: #ff4d4f;--hl-glow: rgba(255, 77, 79, .5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}@media (prefers-color-scheme: dark){:root{--hl-bg: rgba(255, 77, 79, .15);--hl-bg-strong: rgba(255, 77, 79, .2);--hl-border: #ff7875;--hl-glow: rgba(255, 77, 79, .34)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-layout);color:var(--text-1);font-size:14px;line-height:1.5715;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#1677ff26}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#00000040}*::-webkit-scrollbar-track{background:transparent}.page-main{max-width:1400px;margin:0 auto}.ant-card{border-color:var(--border-1)!important;box-shadow:var(--shadow-sm)}.ant-card-head{min-height:auto;padding:14px 20px;border-bottom-color:var(--border-1)}.ant-card-head-title{font-size:15px;font-weight:600}.ant-card-body{padding:20px}.ant-table-thead>tr>th{font-weight:600!important;font-size:12px;padding-block:12px!important;white-space:nowrap;border-bottom:1px solid #e2e8f0!important}.ant-table-tbody>tr>td{font-size:13px;color:#334155}.ant-table-thead>tr>th+th{border-left:1px solid #e2e8f0}.ant-table-tbody>tr>td+td{border-left:1px solid #e9eef5}.ant-table-thead>tr>th.ant-table-cell-scrollbar,.ant-table-tbody>tr>td.ant-table-cell-scrollbar{border-left:none}.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector,.ant-input-affix-wrapper-focused{box-shadow:0 0 0 2px #0591ff1a!important}.ant-layout-header{padding:0}@keyframes appFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-fade{animation:appFadeIn .3s ease}.app-topbar{height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid #e2e8f0}.top-nav-item{font-size:14px;font-weight:500;color:#334155;background:#fff;border:1px solid #d6e8ff;padding:8px 16px;border-radius:16px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;line-height:1.4;white-space:nowrap}.top-nav-item:hover{background:#f0f7ff;color:#1677ff;border-color:#bae0ff}.top-nav-item.active{color:#fff;background:#1677ff;border-color:#1677ff;box-shadow:0 1px 3px #1677ff40}.top-nav-item.disabled{cursor:default}.section-child-row>td{background:#fafbfc!important;padding-top:10px!important;padding-bottom:10px!important}.section-child-row:hover>td{background:#f0f5ff!important}@media (max-width: 960px){.checkitems-page,.library-page{height:auto!important}.checkitems-page .split-layout,.library-page .split-layout{flex:none!important}.split-layout{flex-direction:column!important}.split-right-card{width:100%!important}.library-split>.ant-card{width:100%!important;height:auto!important}}.checkitems-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.checkitems-tabs>.ant-tabs-nav{margin-bottom:10px;flex-shrink:0}.checkitems-tabs>.ant-tabs-content-holder{flex:1;min-height:0;overflow-y:auto}@keyframes dpSlide{0%{left:-40%}to{left:100%}}.dp-indet{height:6px;border-radius:3px;background:#eef1f5;overflow:hidden;position:relative}.dp-indet:after{content:"";position:absolute;top:0;bottom:0;width:38%;border-radius:3px;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:dpSlide 1.4s infinite}.dp-indet.is-done{background:var(--success)}.dp-indet.is-done:after,.dp-indet.is-fail:after{display:none}.dp-indet.is-fail{background:var(--error)}@keyframes dpPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.dp-pulse{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:dpPulse 1.2s infinite}@media (prefers-reduced-motion: reduce){.dp-indet:after,.dp-pulse{animation:none}}.stage-timeline{display:flex;flex-direction:column}.stage-row{display:flex;gap:12px}.stage-rail{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}.stage-dot{width:20px;height:20px;border-radius:50%;flex:none;box-sizing:border-box}.stage-dot.is-done{background:var(--success)}.stage-dot.is-active{background:var(--primary);box-shadow:0 0 0 3px #e6f4ff;animation:stagePulse 1.2s ease-in-out infinite}.stage-dot.is-wait{background:#fff;border:1.5px solid #bfbfbf}.stage-dot.is-fail{background:var(--error);box-shadow:0 0 0 3px #ffccc7}.stage-line{width:2px;flex:1;min-height:14px;background:#e8e8e8}.stage-body{flex:1;min-width:0}.stage-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.stage-title{font-size:13px;line-height:1.5;color:var(--text-1)}.stage-title.is-active{font-weight:600}.stage-title.is-wait{color:var(--text-3)}.stage-title.is-fail{color:var(--error)}.stage-state{flex:none;font-size:12px;line-height:1.5}.stage-state.is-done,.stage-state.is-wait{color:var(--text-3)}.stage-state.is-active{color:var(--primary)}.stage-state.is-fail{color:var(--error)}.stage-desc{margin-top:3px;font-size:12px;line-height:1.5;color:var(--text-3)}.stage-desc.is-fail{color:var(--error)}@keyframes stagePulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.stage-dot.is-active{animation:none}}@media (max-width: 820px){.dp-foot{flex-direction:column;align-items:stretch!important}.dp-foot-note{margin-right:0!important;text-align:center}.dp-foot .ant-btn{width:100%}.dp-modal .ant-modal{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)}}.table-card-pinned,.table-card-pinned .ant-spin-nested-loading,.table-card-pinned .ant-spin-container,.table-card-pinned .ant-table{flex:1;min-height:0;display:flex;flex-direction:column}.table-card-pinned .ant-table-pagination{margin:auto 16px 0 auto!important;display:flex;justify-content:flex-end}.projects-pagination{margin:auto 16px 0 auto;display:flex;justify-content:flex-end;padding:8px 0;flex-shrink:0}.table-card-pinned .ant-table-container{flex:1;min-height:0;display:flex;flex-direction:column}.table-card-pinned .ant-table-header{flex-shrink:0}.table-card-pinned .ant-table-body{flex:1;min-height:0}.table-card-pinned th.ant-table-column-sort{background:#f8fafc!important}.table-card-pinned th.ant-table-column-sort .ant-table-column-sorter-up.active,.table-card-pinned th.ant-table-column-sort .ant-table-column-sorter-down.active{color:#0000004b}.projects-table .section-child-row>td{padding-block:12px}.pdf-highlight{position:absolute;pointer-events:none;background:var(--hl-bg);border:1px solid var(--hl-border);box-shadow:0 0 0 2px var(--hl-bg-strong),0 0 10px 1px var(--hl-glow);border-radius:3px;transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease}.degrade-steps{margin:4px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.degrade-steps li{word-break:break-word;overflow-wrap:anywhere}.degrade-steps-empty{font-size:12px;line-height:1.6}button,input,select,textarea{font-family:inherit}.chip-btn{transition:background-color .15s,border-color .15s,color .15s}.chip-btn:not(.is-on):hover{background:#f0f7ff!important;border-color:#bae0ff!important;color:#1677ff!important}.chip-btn.is-on:hover{background:#003eb3!important;border-color:#003eb3!important}.chip-btn.is-on.is-risk:hover{background:#a8071a!important;border-color:#a8071a!important}.chip-btn:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.ev-page{transition:background-color .15s,border-color .15s}.ev-page:hover{background:#bae0ff!important;border-color:#4096ff!important}.report-tab{transition:color .15s,background-color .15s}.report-tab:not(.is-active):hover{color:#1677ff!important;background:#f5f9ff!important}.report-tab:focus-visible{outline:2px solid #1677ff;outline-offset:-2px}@media (max-width: 820px){.param-card-compare{grid-template-columns:1fr!important}.param-card-compare>*:first-child{border-right:none!important;border-bottom:1px solid #e3edf9}}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));column-gap:36px}@media (max-width: 640px){.material-row{flex-wrap:wrap}.material-row-side{flex:1 1 100%!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important}}@media (max-width: 900px){.app-topbar{padding:0 14px}.app-logo{width:38px!important;height:38px!important;border-radius:12px!important;font-size:15px!important}.app-title{font-size:16px!important;margin-left:10px!important}.app-nav{margin-left:12px!important;padding:4px!important}.app-user{padding:4px 8px!important;gap:0!important}.app-user-meta{display:none!important}.app-logout{height:38px!important;padding:0 12px!important}}@media (max-width: 640px){.app-title{display:none!important}.app-logo{width:34px!important;height:34px!important;border-radius:10px!important}.app-nav{margin-left:0!important}.top-nav-item{padding:6px 10px;font-size:13px}.report-tabs{padding:0 10px!important}.report-tab{padding:10px!important;font-size:13px!important}}.free-quota-wrap{position:relative;display:inline-flex;flex:none}.free-quota-pill{display:flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;border:none;cursor:pointer;color:#fff;font-size:13px;background:linear-gradient(135deg,#4096ff,#1677ff);box-shadow:0 4px 12px #1677ff59;transition:filter .15s ease}.free-quota-pill:hover{filter:brightness(1.04)}.free-quota-ico{font-size:15px;line-height:1}.free-quota-total{font-weight:800}.free-quota-arrow{font-size:12px;opacity:.9;transition:transform .2s}.free-quota-wrap.open .free-quota-arrow{transform:rotate(90deg)}@keyframes free-quota-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.free-quota-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:60;width:298px;overflow:visible;text-align:left;line-height:1.4;background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 16px 48px #0f285a3d;animation:free-quota-fade .18s ease}.free-quota-panel:before{content:"";position:absolute;top:-6px;right:34px;width:12px;height:12px;background:#fff;border-left:1px solid #e7ebf2;border-top:1px solid #e7ebf2;transform:rotate(45deg)}.free-quota-head{display:flex;align-items:baseline;justify-content:space-between;padding:13px 15px 11px;font-size:13px;font-weight:700;color:#1f2937}.free-quota-total-count{font-size:13px;font-weight:500;color:#5b6b80}.free-quota-total-count b{margin:0 2px;font-size:15px;font-weight:800;color:#1677ff}.free-quota-list{display:flex;flex-direction:column;gap:8px;padding:0 11px 12px}.free-quota-item{display:flex;gap:10px;padding:10px;border-radius:12px}.free-quota-item.time{background:#fff7f0;border:1px solid #ffe0c2}.free-quota-item.user{background:#f2f7ff;border:1px solid #d6e6ff}.free-quota-item-ico{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;font-size:17px;border-radius:9px}.free-quota-item.time .free-quota-item-ico{background:#ffe7d1}.free-quota-item.user .free-quota-item-ico{background:#e0edff}.free-quota-body{flex:1;min-width:0}.free-quota-line1{display:flex;align-items:center;justify-content:space-between;gap:6px}.free-quota-name{overflow:hidden;font-size:12.5px;font-weight:700;line-height:1.3;color:#1f2937;text-overflow:ellipsis;white-space:nowrap}.free-quota-num{flex-shrink:0;font-size:16px;font-weight:800;line-height:1;color:#1677ff;font-variant-numeric:tabular-nums}.free-quota-num small{margin-left:1px;font-size:10px;font-weight:500;color:#8a9ab0}.free-quota-item.time .free-quota-num{color:#fa8c16}.free-quota-line2{display:flex;align-items:center;gap:6px;margin-top:3px}.free-quota-meta{font-size:11px;color:#8a9ab0}.free-quota-badge{display:inline-block;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;color:#d4480f;background:#ffe7d1;border-radius:4px}.free-quota-bar{display:flex;align-items:center;gap:8px;margin-top:8px}.free-quota-track{flex:1;height:4px;overflow:hidden;background:#0000000f;border-radius:999px}.free-quota-fill{height:100%;border-radius:999px;background:#1677ff}.free-quota-item.time .free-quota-fill{background:#fa8c16}.free-quota-used{flex-shrink:0;font-size:10px;color:#8a9ab0;font-variant-numeric:tabular-nums}@media (max-width: 640px){.free-quota-pill{gap:6px;padding:7px 10px;font-size:12px}}@media (max-width: 480px){.free-quota-wrap{display:none}}.free-gift-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0f23508c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;overflow-y:auto;padding:16px}.free-gift-card{position:relative;width:100%;max-width:380px;margin:auto;background:#fff;border-radius:20px;overflow:hidden;text-align:center;box-shadow:0 24px 70px #0f285a59;animation:free-gift-pop .26s ease}@keyframes free-gift-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.free-gift-hero{position:relative;padding:26px 0 0}.free-gift-halo{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:300px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(22,119,255,.22),transparent 72%)}.free-gift-img{position:relative;width:178px;height:178px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(22,80,180,.18))}.free-gift-title{margin:0;padding:6px 24px 0;font-size:20px;font-weight:800;line-height:1.4;background:linear-gradient(180deg,#4096ff,#1677ff 55%,#0958d9);-webkit-background-clip:text;background-clip:text;color:transparent}.free-gift-subtitle{margin-top:6px;font-size:12.5px;color:#5b6b80}.free-gift-subtitle b{color:#1677ff;font-weight:700}.free-gift-list{margin:16px 24px 0;display:flex;flex-direction:column;gap:10px}.free-gift-policy{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;text-align:left;border:1px solid #e7ebf2;background:#fff}.free-gift-policy.time{border-color:#ffd591;background:#fffaf2}.free-gift-policy-ico{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;font-size:18px}.free-gift-policy.time .free-gift-policy-ico{background:#ffe7d1}.free-gift-policy.user .free-gift-policy-ico{background:#e6f4ff}.free-gift-policy-main{flex:1;min-width:0}.free-gift-policy-name{font-size:12.5px;font-weight:700;color:#1f2937;line-height:1.3}.free-gift-policy-meta{font-size:11px;color:#8a9ab0;margin-top:3px}.free-gift-badge{display:inline-block;margin-left:5px;padding:1px 7px;font-size:10px;font-weight:700;color:#d4480f;background:#ffe7d1;border-radius:999px;vertical-align:1px}.free-gift-policy-right{text-align:right;flex-shrink:0}.free-gift-runs{font-size:20px;font-weight:800;color:#1677ff;line-height:1}.free-gift-policy.time .free-gift-runs{color:#fa8c16}.free-gift-runs-label{font-size:10px;color:#8a9ab0;margin-top:3px}.free-gift-desc{margin:14px 28px 0;font-size:12px;line-height:1.7;color:#5b6b80}.free-gift-desc b{color:#fa8c16;font-weight:700}.free-gift-cta{width:calc(100% - 48px);margin:16px 24px 0;padding:13px;font-size:16px;font-weight:700;letter-spacing:2px;color:#fff;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#4096ff,#1677ff 55%,#0958d9);box-shadow:0 8px 20px #1677ff66}.free-gift-cta:hover{filter:brightness(1.06)}.free-gift-cta:active{transform:translateY(1px)}.free-gift-later{margin:10px 0 24px;font-size:13px;color:#8a9ab0;background:none;border:none;cursor:pointer}.free-gift-later:hover{color:#1677ff}.free-gift-close{position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;font-size:16px;line-height:1;color:#8a9ab0;background:#f0f2f5;border:none;cursor:pointer}.free-gift-close:hover{background:#e2e8f0;color:#1677ff}
