:root{--brand: #f97316;--brand-hover: #ea580c;--brand-active: #c2410c;--brand-wash: #fff7ed;--brand-border: #fed7aa;--bg-layout: #faf9f7;--surface: #ffffff;--text-1: #1c1917;--text-2: #57534e;--text-3: #a8a29e;--border: #f0eeeb;--hover: #f7f5f2;--shadow-card: 0 1px 2px rgba(28, 25, 23, .04), 0 1px 3px rgba(28, 25, 23, .06);--shadow-hover: 0 8px 24px rgba(28, 25, 23, .08);--shadow-pop: 0 12px 32px rgba(28, 25, 23, .12);--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg-layout);color:var(--text-1);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.tnum{font-variant-numeric:tabular-nums}.section-title{font-size:15px;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.text-muted{color:var(--text-2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#1c191724;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#1c191742}::-webkit-scrollbar-track{background:transparent}.ant-card{border-color:var(--border);box-shadow:var(--shadow-card)}.ant-card-head{min-height:52px;font-weight:600}.ant-card-head-title{font-size:15px}.ant-table{--ant-table-border-color: var(--border)}.ant-table-thead>tr>th{background:var(--hover)!important;font-weight:600;color:var(--text-2)}.kanban-col{background:var(--hover);border-radius:12px;padding:12px;min-height:320px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;cursor:grab;box-shadow:var(--shadow-card);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.kanban-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.cust-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.cust-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card);transition:box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease)}.cust-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.cust-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cust-card-title{font-size:16px;font-weight:600;color:var(--text-1);line-height:1.4;letter-spacing:-.01em}.cust-card-tags{display:flex;flex-wrap:wrap;gap:4px}.cust-card-metrics{display:flex;gap:6px;background:var(--hover);border-radius:10px;padding:12px 8px}.cust-metric{flex:1;text-align:center}.cust-metric-value{font-size:20px;font-weight:600;color:var(--brand);line-height:1.2}.cust-metric-label{font-size:12px;color:var(--text-2);margin-top:3px}.cust-card-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-2)}.link-stat-card{cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.link-stat-card:hover{transform:translateY(-2px);border-color:var(--brand-border);box-shadow:var(--shadow-hover)}.link-stat-card .link-stat-go{color:var(--text-3);transition:color .2s var(--ease)}.link-stat-card:hover .link-stat-go{color:var(--brand)}.list-link-item{cursor:pointer;transition:background .2s var(--ease)}.list-link-item:hover{background:var(--brand-wash)}.stat-card-clickable:hover{transform:translateY(-2px);border-color:var(--brand-border);box-shadow:var(--shadow-hover)}.stat-card-clickable:hover .stat-card-arrow{color:var(--brand)}.stat-card-clickable:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pipeline-node-click{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.pipeline-node-click:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.pipeline-node-click:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.detail-header{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-card)}.detail-header-title{font-size:18px;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.detail-header-sub{font-size:13px;color:var(--text-2);margin-top:3px;margin-left:1px}.detail-header-extra{display:flex;align-items:center}.wc-cal{display:flex;flex-direction:column}.wc-cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}.wc-cal-head span{text-align:center;padding:10px 0;font-size:12px;color:var(--text-3);letter-spacing:.05em}.wc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(116px,1fr)}.wc-cell{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 6px 4px;cursor:pointer;transition:background .15s ease;overflow:hidden}.wc-cell:nth-child(7n){border-right:none}.wc-cell:hover{background:var(--hover-bg)}.wc-cell.out{background:#fcfbfa;cursor:default}.wc-cell.out:hover{background:#fcfbfa}.wc-day{font-size:13px;color:var(--text-2);width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%}.wc-cell.out .wc-day{color:#d6d3d1}.wc-cell.today .wc-day{background:var(--primary);color:#fff;font-weight:600}.wc-ev{font-size:11px;line-height:16px;border-radius:4px;padding:0 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wc-more{font-size:11px;color:var(--text-3);padding-left:5px;margin-top:1px}.wc-cal-nav{display:flex;align-items:center;gap:6px}.wc-cal-title{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0 8px}.kb-cat{display:flex;flex-direction:column;gap:2px}.kb-cat-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-2);transition:all .2s var(--ease)}.kb-cat-item:hover{background:var(--hover)}.kb-cat-item.active{background:var(--brand-wash);color:var(--brand-active);font-weight:600}.text-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-card);padding:12px 16px;margin-bottom:16px}.hot-toolbar-item{width:34px;height:34px;border-radius:10px;background:var(--brand-wash);display:flex;align-items:center;justify-content:center}.hot-seg{box-shadow:none}.hot-toolbar-date{display:flex;align-items:center;gap:8px}.hot-today{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-1);letter-spacing:-.02em}.hot-today-label{font-size:11px;color:var(--brand-active);background:var(--brand-wash);padding:2px 8px;border-radius:999px;border:1px solid var(--brand-border)}.hot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:1100px){.hot-grid{grid-template-columns:minmax(0,1fr)}}.hot-plat{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-card);padding:16px 16px 8px;min-width:0;max-width:100%;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.hot-plat:hover{box-shadow:var(--shadow-hover)}.hot-plat-head{display:flex;align-items:center;gap:12px;min-width:0}.hot-plat-logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.hot-plat-hd-info{min-width:0;flex:1}.hot-plat-name{font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.hot-plat-count{font-size:11px;font-weight:600;color:var(--brand-active);background:var(--brand-wash);border:1px solid var(--brand-border);padding:1px 8px;border-radius:999px}.hot-plat-desc{font-size:12px;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hot-plat-extra{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.hot-source-tag{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.hot-upd{font-size:11px;color:var(--text-3);display:flex;align-items:center;gap:4px}.hot-plat-meta{display:flex;align-items:center;gap:8px;margin:12px 0 6px;padding-top:12px;border-top:1px solid var(--border);min-width:0;flex-wrap:wrap}.hot-date{font-size:12px;color:var(--text-2);font-weight:600}.hot-cached{font-size:11px}.hot-hint{margin-left:auto;font-size:11px;color:var(--text-3)}.hot-list{list-style:none;margin:0;padding:0}.hot-list>li{border-radius:10px}.hot-row{width:100%;display:flex;align-items:center;gap:12px;padding:9px 8px;border:none;background:transparent;cursor:pointer;border-radius:10px;text-align:left;font-family:inherit;transition:background .2s var(--ease);color:var(--text-1)}.hot-row:hover{background:var(--hover)}.hot-row:hover .hot-row-title{color:var(--brand-hover)}.hot-medal{flex-shrink:0;width:46px;text-align:center;font-size:11px;font-weight:700;color:var(--text-2);border-radius:8px;padding:3px 0;letter-spacing:.02em;font-variant-numeric:tabular-nums}.hot-medal-top{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.15)}.hot-medal-1{background:linear-gradient(135deg,#f97316,#fbbf24)!important}.hot-medal-2{background:linear-gradient(135deg,#fb923c,#fdba74)!important}.hot-medal-3{background:linear-gradient(135deg,#fdba74,#fed7aa)!important}.hot-row-title{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--text-1);font-weight:500;transition:color .2s var(--ease);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.hot-heat{flex-shrink:0;font-size:12px;font-weight:600;color:var(--brand-active);font-variant-numeric:tabular-nums;white-space:nowrap}.hot-arrow{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-3);border-radius:6px;transition:transform .2s var(--ease);font-size:14px}.hot-arrow.up{transform:rotate(180deg);color:var(--brand)}.hot-ref{margin:2px 8px 10px 66px;padding:10px 12px;background:var(--bg-layout);border-radius:10px;border:1px solid var(--border);min-width:0;overflow:hidden;animation:hot-fade .25s var(--ease)}@keyframes hot-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hot-ref-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:8px}.hot-ref-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3);padding:8px 0}.hot-ref-empty{font-size:12px;color:var(--text-3);padding:8px 0}.hot-ref-list{display:flex;flex-direction:column;gap:8px}.hot-picks{background:#fff7ed;border-color:#fed7aa}.hot-row-actions{margin:0 8px 8px 66px}.hot-pick-list{display:flex;flex-direction:column;gap:10px}.hot-pick-card{background:var(--surface);border:1px solid #fed7aa;border-radius:10px;padding:10px 12px}.hot-pick-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hot-pick-no{flex:none;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.hot-pick-title{font-size:13px;font-weight:600;color:var(--text-1)}.hot-pick-copy{font-size:12.5px;line-height:1.7;color:var(--text-2);white-space:pre-wrap;background:var(--bg-layout);border-radius:8px;padding:8px 10px;max-height:220px;overflow:auto}.hot-ref-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border-radius:9px;border:1px solid var(--border);transition:all .2s var(--ease);text-decoration:none}.hot-ref-item:hover{border-color:var(--brand-border);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.hot-ref-item:hover .hot-ref-play{background:var(--brand);color:#fff}.hot-ref-play{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:var(--brand-wash);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s var(--ease)}.hot-ref-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.hot-ref-name{font-size:12.5px;font-weight:600;color:var(--text-1);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.hot-ref-sub{display:flex;align-items:center;gap:6px;min-width:0}.ant-statistic-content{min-width:0;overflow:hidden;white-space:nowrap}.ant-statistic-content-value{font-variant-numeric:tabular-nums}@media(max-width:991px){.ant-statistic .ant-statistic-content{font-size:15px}.ant-statistic-content-prefix,.ant-statistic-content-suffix{font-size:12px}}@media(max-width:767px){.ant-statistic .ant-statistic-content{font-size:12px}.ant-statistic-content-prefix,.ant-statistic-content-suffix{font-size:10px}}.ant-card .ant-statistic-content-value-inline .ant-statistic-content-value,.ant-statistic-content-value{max-width:100%;box-sizing:border-box}.hot-ref-site{font-size:10px;line-height:18px;margin:0;flex-shrink:0}.hot-ref-snippet{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dash{display:flex;flex-direction:column;gap:16px}.dash-hero{display:flex;align-items:stretch;gap:20px;padding:22px 24px;background:#fff;border:1px solid #f0eeeb;border-radius:12px;box-shadow:0 1px 2px #1c19170a,0 1px 3px #1c19170f;overflow:hidden}.dash-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.dash-hero-date{font-size:12px;color:#a8a29e;letter-spacing:.02em}.dash-hero-title{margin:0;font-size:24px;font-weight:600;color:#1c1917;letter-spacing:-.01em;line-height:1.3}.dash-hero-sub{margin:0;font-size:13px;color:#78716c}.dash-hero-sub b{color:#ea580c;font-weight:600;margin:0 2px}.dash-hero-target{width:320px;flex-shrink:0;padding:16px 18px;border-radius:10px;background:linear-gradient(135deg,#fff7ed,#fff 70%);border:1px solid #fed7aa;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.dash-hero-target:hover{box-shadow:0 8px 24px #f9731624;transform:translateY(-1px)}.dash-hero-target-head{display:flex;align-items:center;justify-content:space-between}.dash-hero-target-label{font-size:12px;color:#c2410c;display:inline-flex;align-items:center;gap:6px;font-weight:500}.dash-hero-target-edit{font-size:12px;color:#a8a29e;display:inline-flex;align-items:center;gap:4px}.dash-hero-target-arrow{font-size:11px;color:#d6d3d1}.dash-hero-target-num{font-size:30px;font-weight:700;color:#1c1917;line-height:1.1;letter-spacing:-.02em}.dash-hero-target-total{font-size:14px;font-weight:400;color:#a8a29e}.dash-hero-target-foot{font-size:11px;color:#a8a29e}.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dash-kpi{background:#fff;border:1px solid #f0eeeb;border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px #1c19170a,0 1px 3px #1c19170f;display:flex;flex-direction:column;gap:10px;min-width:0;transition:box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.dash-kpi-click{cursor:pointer}.dash-kpi-click:hover{box-shadow:0 8px 24px #1c191714;transform:translateY(-2px)}.dash-kpi-top{display:flex;align-items:center;justify-content:space-between}.dash-kpi-title{font-size:13px;color:#78716c}.dash-kpi-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.dash-kpi-value{font-size:28px;font-weight:700;color:#1c1917;line-height:1.1;letter-spacing:-.02em}.dash-kpi-suffix{font-size:13px;font-weight:400;color:#a8a29e;margin-left:3px}.dash-kpi-delta{display:flex;align-items:center;gap:4px;font-size:11px;color:#16a34a}.dash-kpi-delta.is-down{color:#dc2626}.dash-kpi-delta-empty{min-height:16px}.dash-kpi-delta-label{color:#a8a29e;margin-left:2px}.dash-tone-orange .dash-kpi-icon{background:#fff7ed;color:#ea580c}.dash-tone-green .dash-kpi-icon{background:#f0fdf4;color:#16a34a}.dash-tone-amber .dash-kpi-icon{background:#fffbeb;color:#d97706}.dash-tone-neutral .dash-kpi-icon{background:#f7f5f2;color:#78716c}.dash-section{margin-top:0}.dash-pipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.dash-pipe-cell{display:flex;align-items:center;gap:8px;min-width:0}.dash-pipe-node{flex:1;min-width:0;border-radius:10px;padding:14px 14px 12px;background:#faf9f7;border:1px solid #f0eeeb;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s ease-out,border-color .2s ease-out,transform .2s ease-out}.dash-pipe-node:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1c191714}.dash-tone-orange.dash-pipe-node{border-color:#fed7aa}.dash-tone-amber.dash-pipe-node{border-color:#fde68a}.dash-tone-green.dash-pipe-node{border-color:#bbf7d0;background:#f6fef9}.dash-pipe-label{font-size:12px;color:#57534e}.dash-pipe-count{font-size:24px;font-weight:700;line-height:1}.dash-tone-orange .dash-pipe-count{color:#ea580c}.dash-tone-amber .dash-pipe-count{color:#d97706}.dash-tone-green .dash-pipe-count{color:#16a34a}.dash-pipe-arrow{color:#d6d3d1;font-size:11px;flex-shrink:0}.dash-pipe-arrow-hold{visibility:hidden}.dash-cols{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);gap:16px;align-items:stretch}.dash-col{height:100%;margin-top:0}.dash-list-item{padding-left:0!important;padding-right:0!important;cursor:pointer}.dash-todo{width:100%}.dash-todo-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-todo-title{font-weight:500;color:#1c1917;font-size:14px}.dash-todo-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#a8a29e;margin-top:4px}.dash-log{display:flex;gap:10px;width:100%;min-width:0}.dash-log-tag{flex-shrink:0;margin:0}.dash-log-body{flex:1;min-width:0}.dash-log-detail{font-size:13px;color:#1c1917}.dash-log-meta{font-size:12px;color:#a8a29e;margin-top:2px}.dash-rank{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.dash-rank-no{width:20px;text-align:center;color:#d6d3d1;font-weight:700;flex-shrink:0}.dash-rank-no.is-top{color:#ea580c}.dash-rank-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1c1917}.dash-rank-count{font-weight:600;width:32px;text-align:right;color:#1c1917;flex-shrink:0}.dash-foot{color:#a8a29e;font-size:12px}@media(max-width:1199px){.dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-pipe{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}.dash-cols{grid-template-columns:minmax(0,1fr)}.dash-hero{flex-direction:column}.dash-hero-target{width:100%}}@media(max-width:640px){.dash-kpi-grid,.dash-pipe{grid-template-columns:repeat(2,minmax(0,1fr))}}
