@charset "UTF-8";
:root{--red:#e6002d;--ink:#20232b;--muted:#82858d;--line:#e9eaee;--paper:#fff;--bg:#f6f7f9;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button,.button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 16px;cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{border-color:#cdd0d7;background:#fafafa}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6002d40;outline-offset:3px}.primary{color:white;background:var(--red);border-color:var(--red)}.primary:hover{background:#c90027;border-color:#c90027}input,select{min-height:40px;background:white;border:1px solid var(--line);border-radius:6px;padding:9px 12px;max-width:100%}input:focus,select:focus{border-color:#e6002d70;outline:none}h1,h2,h3,h4,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px;font-weight:650;margin-bottom:10px}h2{font-size:17px;font-weight:650;margin-bottom:5px}h3{font-size:16px;line-height:1.65}p{line-height:1.8;color:#7a7e88}small{font-size:12px;color:var(--muted)}.eyebrow{font-family:"Helvetica Neue",sans-serif;font-size:10px;font-weight:600;letter-spacing:2px;color:#9396a0;margin-bottom:13px}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:white;border-right:1px solid var(--line);z-index:20;padding:33px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 5px 47px}.brand img{width:48px;height:45px;object-fit:contain}.brand strong{display:block;font-size:26px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:1.1px;margin-top:4px}.nav-label{font-size:10px;letter-spacing:1px;color:#989ca5;padding:0 17px;display:block;margin-bottom:13px}.nav-link{display:flex;align-items:center;gap:14px;padding:14px 17px;margin-bottom:7px;color:#707681;font-weight:500;border-radius:7px}.nav-link:hover{background:#f7f7f9}.nav-link.active{color:var(--red);background:#fff0f3;font-weight:600}.nav-icon{font-family:Arial,sans-serif;font-size:22px;width:22px;line-height:1}.nav-tools{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.sidebar-bottom{margin-top:auto;font-size:11px;color:#989ca5;display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:15px 8px 0}.logout{border:none;font-size:11px;padding:3px 6px;color:#989ca5}.status-dot{width:6px;height:6px;border-radius:50%;background:#32a47c;display:inline-block;flex-shrink:0}.workspace{margin-left:226px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:15px}.breadcrumb{font-size:12px;color:#6f7580}.breadcrumb span{padding:0 17px;color:#c4c7cd}.topbar-right{display:flex;gap:20px;align-items:center}.year-tag{font-size:11px;font-weight:700;color:var(--red);background:#fff0f3;border:1px solid #ffdce4;border-radius:4px;padding:5px 9px}.group-label{font-size:12px;color:#8a8e97;display:flex;align-items:center;gap:12px}.group-label select{font-size:12px;min-height:33px;padding:5px 26px 5px 10px;color:#484e59}.mobile-brand,.mobile-nav,.mobile-tools{display:none}#main{max-width:1580px;margin:0 auto;padding:36px 40px 20px;min-height:calc(100vh - 150px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{font-size:12px;margin:0}.heading-actions{align-self:center;flex-shrink:0}.segments{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.segments button{border:0;color:#7a7e87;font-size:12px;padding:8px 18px;border-radius:5px}.segments button.active{background:var(--red);color:#fff;box-shadow:0 3px 8px #e6002d18}.overview-date{display:flex;align-items:center;gap:7px;color:#9296a0;font-size:11px;margin:-8px 0 20px;min-height:18px}.overview-date label{margin-left:auto}.metrics{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:20px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:25px 28px;position:relative;overflow:hidden}.metric>span:first-child{color:#7b808b;font-size:12px}.metric>div{display:flex;align-items:baseline;gap:10px;margin:15px 0 12px}.metric strong{font-family:"DIN Alternate","Helvetica Neue",sans-serif;line-height:1;font-size:43px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric b{font-size:12px;font-weight:400;color:#8a8c93}.metric small{font-size:10px}.metric.featured{border-color:#f4dce1;background:#fffafb;border-top:3px solid var(--red);padding-top:23px}.metric.featured strong{font-size:51px;color:var(--red)}.metric-mark{position:absolute;right:24px;top:26px;border:1px solid #f6d4dd;color:var(--red);width:29px;height:29px;border-radius:50%;display:grid;place-items:center}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.panel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.panel-heading{padding:23px 25px 12px;display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-heading p{font-size:11px;margin:5px 0 0}.panel-heading a,.unit-label{font-size:11px;color:#8b8f98}.scope-bars{padding:8px 25px 27px}.scope-bar{border:0;width:100%;display:grid;grid-template-columns:132px 1fr 48px;align-items:center;gap:12px;padding:12px 0;background:transparent;border-radius:0;text-align:left}.scope-bar:hover{background:#fafafa}.bar-label{font-size:12px;position:relative;padding-left:13px}.bar-label small{display:block;margin-top:5px;font-size:10px}.scope-dot{position:absolute;left:0;top:5px;width:5px;height:5px;border-radius:1px}.bar-track{height:8px;background:#f4f5f7;border-radius:2px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:2px}.scope-bar>strong{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.scope-city,.scope-bg-city{background:#e6002d}.scope-district,.scope-bg-district{background:#566c97}.scope-state,.scope-bg-state{background:#d99354}.scope-medical,.scope-bg-medical{background:#629892}.scope-education,.scope-bg-education{background:#9a86ac}.leader{width:100%;border:0;display:grid;grid-template-columns:25px 1fr auto;gap:15px;padding:22px 25px;text-align:left;border-radius:0;align-items:start;border-bottom:1px solid #f0f1f3}.leader:last-child{border-bottom:none}.leader>b{color:#d5a254;font-size:21px;font-family:Georgia,serif;font-style:italic}.leader:nth-child(2)>b{color:#8799b0}.leader:nth-child(3)>b{color:#be8e73}.leader strong{font-size:13px;line-height:1.8;display:block;font-weight:500}.leader small{display:block;font-size:11px;margin-top:5px}.leader em{font-style:normal;font-size:11px;color:#9699a2;padding-top:5px}.trend{grid-column:1/-1}.chart-key{font-size:11px;color:#888d97;display:flex;align-items:center;gap:7px}.chart-key i{background:var(--red);width:16px;height:2px}.chart-wrap{padding:10px 20px 10px;overflow:auto}.chart-wrap svg{width:100%;min-width:550px;max-height:280px}.chart-wrap text{font-size:11px;fill:#8c919b;font-family:"Helvetica Neue",sans-serif}.grid-lines{stroke:#f0f1f4;stroke-dasharray:4 5;fill:none}.chart-line{stroke:var(--red);stroke-width:2;fill:none}.chart-area{fill:#fff0f3;opacity:.7}.chart-wrap circle{fill:white;stroke:var(--red);stroke-width:2}.filters{border:1px solid var(--line);background:white;border-radius:9px;overflow:hidden}.filter-top{display:flex;gap:16px;flex-wrap:wrap;padding:19px 22px;align-items:center;justify-content:space-between}.search{display:flex;align-items:center;gap:7px;min-width:270px;flex:1;max-width:460px;border:1px solid #e8eaf0;border-radius:6px;background:#f9fafb;padding-left:13px}.search>span{font-size:21px;color:#a4a9b2}.search input{background:transparent;border:none;min-width:0;flex:1;font-size:12px;padding:10px 4px}.search button{border:none;border-left:1px solid var(--line);border-radius:0 6px 6px 0;background:transparent;font-size:12px;white-space:nowrap;padding:11px 15px}.filter-selects{display:flex;gap:12px;flex-wrap:wrap}.select-wrap{display:flex;gap:7px;align-items:center;font-size:11px;color:#989ca6}.select-wrap select{font-size:12px;min-height:34px;padding:7px 23px 7px 10px;color:#5a606c;max-width:230px}.stage-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:0 22px 17px}.stage-tabs button{font-size:12px;padding:7px 13px;background:#f7f8fa;border:1px solid transparent;color:#828692;border-radius:5px;gap:10px}.stage-tabs button span{font-family:"Helvetica Neue",sans-serif;font-size:10px;opacity:.75}.stage-tabs button.active{background:#fff0f3;border-color:#ffd6df;color:var(--red)}.result-caption{display:flex;align-items:center;justify-content:space-between;color:#9398a2;font-size:11px;margin:22px 0 13px}.result-caption strong{color:#5d6573}.text-button{font-size:11px;padding:3px;border:0;background:none;color:#8b919d}.project-list{display:grid;gap:12px}.project-card{display:flex;align-items:stretch;justify-content:space-between;gap:24px;background:white;text-align:left;padding:23px 25px;border-radius:8px;min-width:0;width:100%}.project-card:hover{border-color:#e6002d40;background:#fff;box-shadow:0 3px 15px #26324804}.project-main{min-width:0;flex:1}.project-meta{display:flex;gap:13px;align-items:center;color:#a0a5af;font-size:10px;flex-wrap:wrap}.stage{font-size:10px;font-weight:500;padding:4px 8px;border-radius:3px;display:inline-block;white-space:nowrap;color:#767e8f;background:#edf0f5}.stage.bid{background:#eaf2ff;color:#3b73b9}.stage.win{background:#fff0f3;color:#d50028}.stage.need{background:#fff6e7;color:#b57a2e}.stage.contract{background:#e9f6f0;color:#3f9873}.stage.void{background:#f0f1f4;color:#8d919c}.project-card h3{font-size:15px;margin:12px 0 10px;font-weight:600;overflow-wrap:anywhere}.project-unit{font-size:11px;color:#7e8490;line-height:1.85;overflow-wrap:anywhere}.project-unit>span{color:#a3a8b0;padding-right:9px}.project-amount{min-width:150px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:19px}.project-amount strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:#d62a49}.project-amount>span{color:#a4a8b0;font-size:10px}.project-amount b{font-weight:400;padding-left:12px}.rank-list{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-label,.rank-row{display:grid;grid-template-columns:1fr 110px 170px;align-items:center;gap:20px}.table-label{font-size:11px;color:#a0a4ad;padding:16px 25px;background:#fcfcfd;border-bottom:1px solid var(--line)}.table-label>:not(:first-child){text-align:right}.rank-row{width:100%;border:0;border-bottom:1px solid #f1f2f5;border-radius:0;min-height:77px;padding:17px 25px;text-align:left}.rank-row:last-child{border:0}.rank-row>span:nth-child(2){font-size:12px;color:#8c919c;text-align:right}.rank-row>strong{text-align:right;font-size:14px;font-weight:600;color:#47515f;font-variant-numeric:tabular-nums}.rank-name{display:flex;gap:19px;align-items:center;font-size:13px;line-height:1.65;min-width:0}.rank-number{width:25px;flex-shrink:0;font-family:"Helvetica Neue",sans-serif;color:#a5aab3;font-size:17px;font-weight:400}.rank-number.top{color:var(--red)}.rank-row small{display:block;font-size:10px;margin-top:5px;font-weight:400}.rank-row i{font-style:normal;color:#b7bcc5;margin-left:10px}.pagination{display:flex;justify-content:center;align-items:center;gap:23px;margin:25px 0 10px;font-size:11px;color:#8b919b}.pagination button{font-size:11px}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.budget-card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px}.budget-card h3{font-size:14px;min-height:46px;margin-bottom:16px}.budget-total{font-size:33px;font-variant-numeric:tabular-nums;color:var(--red);font-family:"Helvetica Neue",sans-serif;font-weight:500}.budget-total small{font-size:11px;margin-left:6px;font-weight:400}.budget-card dl{display:flex;gap:10px;justify-content:space-between;border-top:1px solid #f1f2f4;margin-top:22px;padding-top:17px}.budget-card dt{font-size:10px;color:#969ba5;margin-bottom:8px}.budget-card dd{margin:0;font-size:14px;font-variant-numeric:tabular-nums}.budget-bottom{font-size:10px;color:#9297a2;display:flex;gap:10px;justify-content:space-between;align-items:center;border-top:1px solid #f1f2f4;padding-top:17px;margin-top:20px}.budget-bottom a{color:var(--red)}.report{padding:28px}.report-section{margin-bottom:18px}.report-section>h2,.report-section>h4{font-size:14px;color:#636c7a;margin:18px 0 10px}.report-section>span{line-height:1.9;color:#717987;font-size:13px}.report-list{display:grid;gap:12px}.report-list>div{border:1px solid var(--line);padding:15px;border-radius:6px}.report-list .report-section{margin:4px 0;display:inline-block;vertical-align:top;min-width:160px;max-width:100%;padding-right:20px}.report-list .report-section h4{font-size:10px;margin:0 0 4px;color:#a2a7af}.empty{padding:65px 25px;text-align:center;background:white;border:1px solid var(--line);border-radius:8px}.empty strong{font-size:16px;font-weight:500}.empty p{font-size:12px;margin:13px 0}.error{border-color:#f1dce1}.skeleton{display:grid;gap:15px}.skeleton>div{height:123px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(100deg,#fff 20%,#f2f3f6 45%,#fff 70%);background-size:250% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{to{background-position:-150% 0}}.page-footer{max-width:1580px;margin:auto;padding:15px 40px 26px;font-size:10px;color:#a0a5ae;display:flex;justify-content:space-between;gap:12px}.page-footer>span{color:#b0b5be}.initial-state{min-height:100vh;display:grid;place-items:center;color:#9298a4}.login-page{min-height:100vh;background:#fcfcfd;position:relative;padding:55px 8vw;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-content:center;align-items:center;border-top:5px solid var(--red)}.login-brand{position:absolute;top:38px;left:8vw;display:flex;align-items:center;gap:12px}.login-brand img{width:55px;height:48px;object-fit:contain}.login-brand strong{font-size:28px;letter-spacing:3px}.login-copy h1{font-size:clamp(35px,4.6vw,65px);line-height:1.5;letter-spacing:-2px;font-weight:650;margin:20px 0 22px}.login-copy p{color:#9197a1;font-size:14px;line-height:2.1}.login-rule{width:40px;height:3px;background:var(--red);margin:35px 0 22px}.login-copy .login-caption{font-size:11px;letter-spacing:1px}.login-card{background:#fff;border:1px solid #e9eaef;border-radius:13px;padding:42px;box-shadow:0 16px 65px #33394a07;max-width:380px;width:100%;justify-self:end}.login-symbol{width:45px;height:45px;display:grid;place-items:center;color:#2c85d1;background:#edf6ff;border-radius:11px;font-weight:600;font-size:20px;margin-bottom:24px}.login-card h2{font-size:22px;margin-bottom:13px}.login-card p{font-size:12px;margin-bottom:28px}.login-card .button{width:100%;justify-content:space-between;padding:14px 18px;font-size:13px}.login-card small{display:block;text-align:center;line-height:1.9;margin-top:23px;font-size:10px}.login-page footer{position:absolute;bottom:28px;left:8vw;color:#acb0b8;font-size:10px}dialog{width:min(940px,calc(100vw - 40px));max-height:88vh;border:1px solid #e8e9ee;border-radius:12px;padding:0;box-shadow:0 25px 100px #18203335;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#18233365;backdrop-filter:blur(3px)}.dialog-head{padding:25px 28px 19px;display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-head h2{font-size:18px;line-height:1.7}.dialog-head .eyebrow{font-size:9px;margin-bottom:7px}.close{padding:0;width:30px;height:30px;flex-shrink:0;font-size:23px;color:#8a919d;line-height:1;border:0;background:#f4f5f7}.dialog-body{overflow:auto;overscroll-behavior:contain;padding:24px 28px;min-height:100px}.dialog-body .project-card{margin-bottom:12px}.dialog-footer{border-top:1px solid var(--line);padding:17px 28px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0;font-size:11px}.dialog-footer button,.dialog-footer a{font-size:12px}.detail-summary{display:flex;justify-content:space-between;align-items:center;padding:8px 0 23px;border-bottom:1px solid var(--line)}.detail-summary strong{font-size:25px;color:var(--red)}.detail-fields{margin:18px 0 30px}.detail-fields>div{display:flex;gap:25px;line-height:1.9;padding:10px 0;font-size:13px}.detail-fields dt{width:80px;flex-shrink:0;color:#999fa9;font-size:12px}.detail-fields dd{margin:0;overflow-wrap:anywhere}.timeline{margin-top:20px;border-left:2px solid #eee;padding-left:22px}.timeline>div{position:relative;padding-bottom:23px}.timeline>div:before{content:"";position:absolute;left:-27px;top:9px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid white}.timeline time{font-size:10px;color:#999faa;margin-left:12px}.timeline p{font-size:12px;margin:10px 0 4px}.timeline a{font-size:10px;color:var(--red)}.article-image{overflow:auto;max-width:100%;touch-action:pan-x pan-y pinch-zoom}.article-image img{width:100%;height:auto;display:block}.member-row{grid-template-columns:1fr 75px 140px;font-size:12px}.muted{color:#aaa}#toast{position:fixed;left:50%;bottom:45px;transform:translate(-50%,15px);background:#253043ed;color:white;border-radius:7px;padding:12px 20px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1700px){#main{padding-top:45px}.metrics{gap:25px}.metric{padding:30px}.metric.featured{padding-top:28px}.overview-grid{gap:25px}.scope-bar{padding:16px 0}.leader{padding:27px}}
@media(max-width:1200px){.sidebar{width:196px;padding:28px 15px}.workspace{margin-left:196px}.brand{gap:4px}.brand strong{font-size:24px}.brand img{width:44px}.topbar{padding:0 25px}#main{padding:28px 25px 15px}.page-footer{padding-left:25px;padding-right:25px}.metrics{gap:14px;grid-template-columns:1.3fr 1fr 1fr}.metric{padding:22px 19px}.metric.featured{padding-top:20px}.metric strong{font-size:35px}.metric.featured strong{font-size:43px}.metric-mark{right:15px;top:22px}.overview-grid{gap:16px;grid-template-columns:1.15fr 1fr}.panel-heading{padding:20px 20px 12px}.scope-bars{padding:8px 20px 22px}.scope-bar{grid-template-columns:110px 1fr 43px;gap:8px}.leader{padding:20px;gap:10px}.budget-grid{grid-template-columns:repeat(2,1fr)}.filter-top{padding:17px}.filter-selects{gap:8px}.filter-selects .select-wrap>span{display:none}.table-label,.rank-row{grid-template-columns:1fr 75px 150px;gap:14px}}
@media(max-width:900px){.sidebar{width:175px;padding:25px 12px}.workspace{margin-left:175px}.brand strong{font-size:21px}.brand small{font-size:9px}.nav-link{font-size:12px;padding:13px}.overview-grid{grid-template-columns:1fr}.trend{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.metric.featured{grid-column:1/-1}.metric.featured>div{margin-bottom:5px}.metric.featured .metric-mark{top:30px;right:28px;width:40px;height:40px;font-size:20px}.metric strong{font-size:32px}.metric{padding:20px}.page-heading{gap:15px}.page-heading h1{font-size:25px}.segments button{padding:7px 13px}.project-card{padding:20px;gap:15px}.project-amount{min-width:115px}.project-amount strong{font-size:14px}.login-page{padding:70px 6vw;gap:35px}.login-brand{left:6vw}.login-card{padding:32px}.login-copy h1{font-size:40px}}
@media(max-width:650px){body{background:#f7f8fa}.sidebar{display:none}.workspace{margin:0}.topbar{height:62px;padding:0 18px;position:sticky;top:0;z-index:15}.breadcrumb,.year-tag{display:none}.mobile-brand{display:flex;align-items:center;font-size:20px;font-weight:700;gap:5px;letter-spacing:1px}.mobile-brand img{width:36px;height:32px;object-fit:contain}.group-label{font-size:0}.group-label select{border:0;background:#f5f6f8;font-size:11px;min-height:30px;padding-right:15px;max-width:95px}.topbar-right{gap:8px}#main{padding:23px 16px 16px;min-height:calc(100vh - 170px)}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:9px}.page-heading{align-items:flex-start;margin-bottom:21px;flex-wrap:wrap}.page-heading h1{font-size:24px;margin-bottom:7px;letter-spacing:-.6px}.page-heading p{font-size:10px}.heading-actions{margin-left:auto}.segments{padding:3px}.segments button{font-size:10px;padding:7px 11px}.metrics{gap:12px;margin-bottom:17px}.metric{border-radius:8px;padding:20px}.metric.featured{padding-top:18px}.metric>span:first-child{font-size:11px}.metric strong{font-size:33px}.metric.featured strong{font-size:52px}.metric>div{margin:13px 0 10px}.metric small{font-size:9px}.metric.featured{background:#fff9fa}.overview-grid{gap:16px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:10px}.scope-bar{padding:12px 0;grid-template-columns:118px 1fr 43px}.leader{padding:18px 20px}.leader strong{font-size:12px}.leader small{font-size:10px}.chart-wrap{padding:7px 6px 2px}.chart-wrap svg{min-width:550px}.chart-key{font-size:9px}.overview-date{font-size:9px;margin-bottom:15px}.filter-top{padding:13px;gap:12px}.search{min-width:0;flex-basis:100%;max-width:none;width:100%}.search input{font-size:11px}.filter-selects{gap:9px;flex-wrap:wrap;width:100%}.select-wrap{flex:1;min-width:0}.select-wrap select{width:100%;max-width:100%;font-size:10px;min-height:32px}.select-wrap>span{font-size:10px;white-space:nowrap}.stage-tabs{padding:0 13px 13px;gap:5px}.stage-tabs button{padding:7px 8px;font-size:10px;gap:5px}.stage-tabs button span{font-size:9px}.result-caption{font-size:10px;margin:18px 0 11px}.project-list{gap:10px}.project-card{padding:17px 15px;gap:13px;flex-wrap:wrap}.project-card h3{font-size:13px;margin:10px 0 8px;line-height:1.7}.project-meta{font-size:9px;gap:9px}.project-unit{font-size:10px;line-height:1.9}.project-amount{width:100%;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f4f4f6;padding-top:12px}.project-amount strong{font-size:16px}.project-amount>span{font-size:9px}.stage{font-size:9px;padding:3px 6px}.table-label,.rank-row{grid-template-columns:minmax(0,1fr) 40px 92px;gap:10px;padding-left:14px;padding-right:14px}.table-label{font-size:9px;padding-top:12px;padding-bottom:12px}.rank-row{min-height:77px;padding-top:16px;padding-bottom:16px}.rank-name{gap:10px;font-size:11px;overflow-wrap:anywhere}.rank-number{font-size:13px;width:17px}.rank-row>strong{font-size:11px}.rank-row>span:nth-child(2){font-size:10px}.rank-row small{font-size:9px}.rank-row i{display:none}.budget-grid{grid-template-columns:1fr;gap:12px}.budget-card{padding:20px}.budget-card h3{min-height:0;margin-bottom:14px}.budget-card dl{margin-top:18px}.budget-card .budget-total{font-size:35px}.page-footer{padding:13px 17px 96px;flex-wrap:wrap;font-size:9px}.page-footer>span{font-size:8px}.mobile-tools{display:flex;gap:18px;width:100%;padding-top:14px;color:#868e9b;font-size:10px}.mobile-nav{display:flex;position:fixed;z-index:25;left:0;right:0;bottom:0;height:calc(61px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffffffa;border-top:1px solid var(--line);backdrop-filter:blur(10px);justify-content:space-around;align-items:center}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:#8b929e;min-width:55px;height:100%}.mobile-nav span{font-size:21px;line-height:1.1}.mobile-nav a.active{color:var(--red);font-weight:600}.login-page{display:flex;flex-direction:column;align-items:stretch;padding:135px 25px 70px;min-height:100dvh;gap:30px}.login-brand{top:36px;left:25px}.login-brand img{width:44px}.login-brand strong{font-size:24px}.login-copy h1{font-size:38px;line-height:1.45;margin:16px 0}.login-copy p{font-size:12px}.login-rule,.login-caption{display:none}.login-card{padding:27px;max-width:none}.login-symbol{float:left;margin-right:14px;width:36px;height:36px;font-size:16px;border-radius:8px}.login-card h2{font-size:19px;margin-top:6px}.login-card p{clear:both;margin-top:24px}.login-page footer{left:25px;font-size:9px}dialog{width:calc(100vw - 20px);max-height:92dvh;border-radius:10px}.dialog-head{padding:20px 18px 15px}.dialog-head h2{font-size:15px}.dialog-body{padding:17px}.dialog-footer{padding:13px 15px;flex-wrap:wrap;justify-content:center;gap:8px}.dialog-footer button,.dialog-footer a{font-size:10px;padding:9px 12px}.detail-summary strong{font-size:21px}.detail-fields>div{font-size:12px;gap:12px}.detail-fields dt{font-size:10px;width:62px}.member-row{font-size:11px}.report{padding:19px}.report-section>h2{font-size:13px}.report-list .report-section{min-width:130px}.pagination{gap:17px;font-size:10px}.pagination button{font-size:10px}#toast{bottom:85px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* MINI PROGRAM PARITY */

:root{--red:#c81432;--ink:#20242a;--muted:#697586;--bg:#f5f6f8;--line:#e9edf2;--rpx:calc(min(100vw,480px) / 750);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
body{background:#edf0f3}.workspace{width:100%;max-width:480px;margin:0 auto;background:#fff;min-height:100dvh;padding-bottom:calc(56px + env(safe-area-inset-bottom))}button{box-shadow:none}button:hover{background:#f5f6f8}button:focus-visible{outline:2px solid #c8143260;outline-offset:0}h1,h2,h3{letter-spacing:0}h1{font-weight:700}
.topbar{position:sticky;top:0;z-index:15;display:block;padding:0 calc(var(--rpx)*28);height:auto;background:#fff;border-bottom:1px solid #edf0f3}.mini-brand{height:48px;display:flex;align-items:center;gap:0}.mini-brand img{width:calc(var(--rpx)*196);height:calc(var(--rpx)*36);min-height:18px;object-fit:contain}.mini-brand i{width:1px;height:calc(var(--rpx)*24);margin:0 calc(var(--rpx)*14);background:#dfe3e9}.mini-brand strong{font-size:max(14px,calc(var(--rpx)*28));font-weight:700;letter-spacing:calc(var(--rpx)*1)}.brand-filters{display:flex;align-items:center;justify-content:space-between;height:44px}.group-selector{height:44px;max-width:75%;display:flex;gap:4px;justify-content:flex-start;white-space:nowrap;padding:0;background:none;border:0;color:#59616d;font-size:calc(var(--rpx)*22)}.group-selector i{width:5px;height:5px;border-right:1px solid #8a939f;border-bottom:1px solid #8a939f;transform:rotate(45deg);margin-top:-3px}.group-selector.is-active{color:var(--red)}.weekly-entry{font-size:calc(var(--rpx)*22);color:#59616d;display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:64px;height:44px}.weekly-entry b{font-size:18px;font-weight:400}
#main{padding:0;max-width:none;min-height:0;margin:0}.page-footer{display:none}.mobile-nav{display:flex;position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;height:calc(max(56px,calc(var(--rpx)*104)) + env(safe-area-inset-bottom));padding:calc(var(--rpx)*8) calc(var(--rpx)*24) env(safe-area-inset-bottom);z-index:25;background:#fff;border-top:1px solid #e9edf2;align-items:stretch;justify-content:space-around;backdrop-filter:none}.mobile-nav a{flex:1;min-width:0;gap:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#626d7e;font-weight:500}.mobile-nav .tab-icon-badge{display:flex;align-items:center;justify-content:center;width:calc(var(--rpx)*76);height:calc(var(--rpx)*48);border-radius:30px}.tab-icon-badge img{width:calc(var(--rpx)*48);height:calc(var(--rpx)*48);object-fit:contain}.mobile-nav .tab-label{margin-top:calc(var(--rpx)*4);font-size:calc(var(--rpx)*24);line-height:1.4;font-weight:500}.mobile-nav a.active{color:#c81432}.mobile-nav a.active .tab-label{font-weight:600}.mobile-nav a.active .tab-icon-badge{background:#fff0f3}
body[data-tab="overview"] .workspace{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#f5f6f8;padding-bottom:calc(max(56px,calc(var(--rpx)*104)) + env(safe-area-inset-bottom))}body[data-tab="overview"] .topbar{flex-shrink:0}body[data-tab="overview"] #main{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;padding:calc(var(--rpx)*16) calc(var(--rpx)*22) 0;overflow:hidden}body[data-tab="overview"] #main>.panel{flex-shrink:0}body[data-tab="overview"] #main>.trend-panel{flex:1;min-height:0;display:flex;flex-direction:column}
body[data-tab="overview"] :host{ display:block; }body[data-tab="overview"] .dashboard{ position:fixed; top:0; right:0; bottom:0; left:0; display:flex; flex-direction:column; overflow:hidden; box-sizing:border-box; padding:0 calc(var(--rpx) * 22) calc(max(calc(var(--rpx) * 104), 56px) + env(safe-area-inset-bottom)); background:#f5f6f8; color:#20242a; font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif; }body[data-tab="overview"] .dashboard > section{ flex-shrink:0; }body[data-tab="overview"] .dashboard{ z-index:0; }body[data-tab="overview"] .dashboard-illustration{ position:absolute; top:0; left:0; width:100%; height:calc(100% - max(calc(var(--rpx) * 104), 56px) - env(safe-area-inset-bottom)); z-index:-1; opacity:.35; pointer-events:none; }body[data-tab="overview"] .dashboard > .trend-panel{ display:flex; flex-direction:column; flex:1; min-height:0; }body[data-tab="overview"] .trend-panel .trend-chart{ flex:1; min-height:110px; }body[data-tab="overview"] .trend-panel .panel-heading,body[data-tab="overview"] .trend-panel .chart-unit,body[data-tab="overview"] .trend-panel .trend-footer{ flex-shrink:0; }body[data-tab="overview"] .brand-line{ margin:0 calc(var(--rpx) * -22) calc(var(--rpx) * 16); --brand-filter-height:44px; }body[data-tab="overview"] button{ padding:0; margin:0; font-family:inherit; }body[data-tab="overview"] button::after{ border:none; }body[data-tab="overview"] .error-panel{ display:flex; align-items:center; justify-content:space-between; gap:calc(var(--rpx) * 16); padding:calc(var(--rpx) * 18); margin-bottom:calc(var(--rpx) * 18); border-radius:calc(var(--rpx) * 16); background:#fff0f3; color:#c81432; font-size:calc(var(--rpx) * 24); }body[data-tab="overview"] .retry-button{ padding:calc(var(--rpx) * 16); font-size:calc(var(--rpx) * 24); color:#c81432; background:#fff; }body[data-tab="overview"] .panel{ background:rgba(255,255,255,.60); border-radius:calc(var(--rpx) * 22); padding:calc(var(--rpx) * 24); margin-bottom:calc(var(--rpx) * 18); }body[data-tab="overview"] .panel-heading{ display:flex; justify-content:space-between; align-items:center; gap:calc(var(--rpx) * 12); min-height:calc(var(--rpx) * 40); }body[data-tab="overview"] .panel-title{ font-size:calc(var(--rpx) * 29); font-weight:700; }body[data-tab="overview"] .panel-meta{ font-size:calc(var(--rpx) * 21); color:#697586; }body[data-tab="overview"] .period-switch{ display:flex; padding:calc(var(--rpx) * 3); border-radius:calc(var(--rpx) * 10); background:#f5f6f8; flex-shrink:0; }body[data-tab="overview"] .period-option{ display:flex; align-items:center; justify-content:center; min-width:calc(var(--rpx) * 72); min-height:calc(var(--rpx) * 44); border-radius:calc(var(--rpx) * 8); color:#697586; font-size:calc(var(--rpx) * 21); }body[data-tab="overview"] .period-option.is-active{ color:#c81432; background:#fbecef; font-weight:600; }body[data-tab="overview"] .hero-amount{ display:flex; align-items:center; justify-content:space-between; gap:calc(var(--rpx) * 12); margin:calc(var(--rpx) * 8) 0 0; }body[data-tab="overview"] .hero-number{ font-size:calc(var(--rpx) * 94); line-height:1.1; letter-spacing:calc(var(--rpx) * -3); font-weight:750; color:#c81432; font-variant-numeric:tabular-nums; }body[data-tab="overview"] .hero-unit{ font-size:calc(var(--rpx) * 24); color:#59616d; }body[data-tab="overview"] .weekly-entry{ display:flex; align-items:center; justify-content:flex-end; gap:calc(var(--rpx) * 8); flex-shrink:0; min-width:64px; min-height:44px; padding:0 calc(var(--rpx) * 4) 0 calc(var(--rpx) * 16); margin:0; border:0; border-radius:calc(var(--rpx) * 12); color:#59616d; background:transparent; font-size:calc(var(--rpx) * 22); line-height:1.4; }body[data-tab="overview"] .weekly-entry::after{ border:0; }body[data-tab="overview"] .weekly-entry-arrow{ font-size:calc(var(--rpx) * 30); line-height:1; }body[data-tab="overview"] .weekly-entry-pressed{ background:#edf0f3; }body[data-tab="overview"] .section-link{ display:flex; align-items:center; justify-content:flex-end; gap:calc(var(--rpx) * 8); color:#697586; font-size:calc(var(--rpx) * 22); min-height:calc(var(--rpx) * 44); }body[data-tab="overview"] .section-link>text{ font-size:calc(var(--rpx) * 30); line-height:1; }body[data-tab="overview"] .chart-unit{ text-align:right; color:#8a939f; font-size:calc(var(--rpx) * 19); margin:calc(var(--rpx) * 4) 0; }body[data-tab="overview"] .distribution-row{ display:flex; align-items:center; gap:calc(var(--rpx) * 12); min-height:calc(var(--rpx) * 48); }body[data-tab="overview"] .distribution-label{ width:calc(var(--rpx) * 120); flex-shrink:0; color:#59616d; font-size:calc(var(--rpx) * 22); }body[data-tab="overview"] .distribution-track{ flex:1; min-width:0; height:calc(var(--rpx) * 12); border-radius:calc(var(--rpx) * 10); background:#f3f5f7; overflow:hidden; }body[data-tab="overview"] .distribution-fill{ height:100%; border-radius:calc(var(--rpx) * 10); background:#94a9bf; }body[data-tab="overview"] .distribution-value{ width:calc(var(--rpx) * 84); flex-shrink:0; text-align:right; font-size:calc(var(--rpx) * 23); font-weight:600; font-variant-numeric:tabular-nums; }body[data-tab="overview"] .footnote{ display:block; margin-top:calc(var(--rpx) * 14); color:#8a939f; font-size:calc(var(--rpx) * 19); line-height:1.5; }body[data-tab="overview"] .trend-chart{ position:relative; height:calc(var(--rpx) * 258); margin:0 calc(var(--rpx) * -6); overflow:hidden; }body[data-tab="overview"] .chart-placeholder{ display:flex; height:100%; align-items:center; justify-content:center; color:#8a939f; font-size:calc(var(--rpx) * 24); }body[data-tab="overview"] .trend-grid-line{ position:absolute; border-top:1px dashed #e8ebf0; }body[data-tab="overview"] .trend-y-label{ position:absolute; left:0; width:31px; text-align:right; transform:translateY(-50%); color:#8a939f; font-size:10px; }body[data-tab="overview"] .trend-x-label{ position:absolute; transform:translateX(-50%); color:#8a939f; font-size:10px; white-space:nowrap; }body[data-tab="overview"] .trend-segment{ position:absolute; height:0; border-top:2px solid #d91435; transform-origin:left center; pointer-events:none; }body[data-tab="overview"] .trend-segment.is-partial{ border-top-style:dashed; }body[data-tab="overview"] .trend-point{ position:absolute; width:6px; height:6px; box-sizing:border-box; border:1.5px solid #d91435; border-radius:50%; background:#fff; transform:translate(-50%,-50%); pointer-events:none; }body[data-tab="overview"] .trend-point.is-current{ width:9px; height:9px; }body[data-tab="overview"] .trend-footer{ display:flex; justify-content:space-between; align-items:center; gap:calc(var(--rpx) * 10); margin-top:calc(var(--rpx) * 8); color:#8a939f; font-size:calc(var(--rpx) * 21); }body[data-tab="overview"] .month-value{ color:#59616d; font-variant-numeric:tabular-nums; }body[data-tab="overview"] .partial-note{ display:flex; align-items:center; gap:calc(var(--rpx) * 8); }body[data-tab="overview"] .partial-dot{ width:calc(var(--rpx) * 13); height:calc(var(--rpx) * 13); border:calc(var(--rpx) * 2) dashed #d91435; border-radius:50%; }body[data-tab="overview"] .row-pressed{ background:#fafbfc; }body[data-tab="overview"] .data-note{ font-size:calc(var(--rpx) * 19); line-height:1.6; text-align:center; color:#8a939f; padding:calc(var(--rpx) * 8) calc(var(--rpx) * 4); }
@media (max-width:340px) {body[data-tab="overview"] .panel{ padding:calc(var(--rpx) * 20); }body[data-tab="overview"] .hero-number{ font-size:calc(var(--rpx) * 84); }body[data-tab="overview"] .period-option{ min-width:calc(var(--rpx) * 64); }body[data-tab="overview"] .panel-title{ font-size:calc(var(--rpx) * 27); }body[data-tab="overview"] .panel-meta{ font-size:calc(var(--rpx) * 19); } }body[data-tab="overview"] .trend-legend{display:flex;align-items:center;gap:calc(var(--rpx) * 20);font-size:calc(var(--rpx) * 21);color:#697586;}body[data-tab="overview"] .trend-legend text::before{content:'';display:inline-block;width:calc(var(--rpx) * 28);margin-right:calc(var(--rpx) * 7);vertical-align:middle;border-top:2px solid #d91435;}body[data-tab="overview"] .trend-cursor{position:absolute;border-left:1px dashed #cbd3de;pointer-events:none;}body[data-tab="overview"] .trend-x-label.is-selected{color:#c81432;font-weight:700;}body[data-tab="overview"] .trend-total-label{position:absolute;transform:translate(-100%,-100%);padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.94);color:#c81432;font-size:11px;line-height:16px;font-weight:600;white-space:nowrap;pointer-events:none;}body[data-tab="overview"] .trend-total-label.align-start{transform:translate(0,-100%);}body[data-tab="overview"] .trend-total-label.align-center{transform:translate(-50%,-100%);padding:1px 2px;font-variant-numeric:tabular-nums;}

@media (max-height:680px) {body[data-tab="overview"] .brand-line{ margin-bottom:calc(var(--rpx) * 10); }body[data-tab="overview"] .panel{ padding:calc(var(--rpx) * 16) calc(var(--rpx) * 24); margin-bottom:calc(var(--rpx) * 12); }body[data-tab="overview"] .hero-number{ font-size:calc(var(--rpx) * 78); }body[data-tab="overview"] .hero-amount{ margin:calc(var(--rpx) * 4) 0 0; }body[data-tab="overview"] .distribution-row{ min-height:calc(var(--rpx) * 42); }body[data-tab="overview"] .footnote{ margin-top:calc(var(--rpx) * 6); }body[data-tab="overview"] .data-note{ padding:calc(var(--rpx) * 2) 0; }
}

@media (max-height:580px) {body[data-tab="overview"] .panel{ padding:calc(var(--rpx) * 12) calc(var(--rpx) * 20); margin-bottom:calc(var(--rpx) * 8); }body[data-tab="overview"] .hero-number{ font-size:calc(var(--rpx) * 64); }body[data-tab="overview"] .distribution-row{ min-height:calc(var(--rpx) * 36); }
}body[data-tab="overview"] .hero-value{ display:flex; align-items:baseline; gap:calc(var(--rpx) * 10); min-width:0; }body[data-tab="overview"] .hero-winners{ width:calc(var(--rpx) * 236); flex-shrink:0; display:flex; flex-direction:column; gap:calc(var(--rpx) * 3); }body[data-tab="overview"] .hero-winner{ display:flex; align-items:center; justify-content:space-between; gap:calc(var(--rpx) * 6); line-height:calc(var(--rpx) * 29); font-size:calc(var(--rpx) * 23); }body[data-tab="overview"] .hero-winner-name{ flex:1; min-width:0; color:#697586; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }body[data-tab="overview"] .hero-winner-share{ flex-shrink:0; color:#c81432; font-weight:600; font-variant-numeric:tabular-nums; }
@media (max-width:340px) {body[data-tab="overview"] .hero-winners{ width:calc(var(--rpx) * 220); }body[data-tab="overview"] .hero-winner{ font-size:calc(var(--rpx) * 20); }body[data-tab="overview"] .hero-value{ gap:calc(var(--rpx) * 6); } }body[data-tab="overview"] .hero-rank{ display:flex; align-items:center; justify-content:center; flex-shrink:0; width:calc(var(--rpx) * 26); height:calc(var(--rpx) * 26); border-radius:calc(var(--rpx) * 6); font-size:calc(var(--rpx) * 18); line-height:1; font-weight:750; font-variant-numeric:tabular-nums; }body[data-tab="overview"] .hero-rank-1{ color:#fff; background:#c81432; }body[data-tab="overview"] .hero-rank-2{ color:#627185; background:#eef1f5; }body[data-tab="overview"] .hero-rank-3{ color:#99643a; background:#f7efe6; }

body[data-tab="overview"] .dashboard-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.35}
body[data-tab="overview"] .panel{border:0;overflow:visible}
body[data-tab="overview"] .panel-heading{padding:0;margin:0}
body[data-tab="overview"] .panel-title{margin:0;line-height:1.4}
body[data-tab="overview"] .period-option{border:0;padding:0;background:transparent;gap:0}
body[data-tab="overview"] .hero-winner{padding:0;border:0;background:transparent;border-radius:0;text-align:left;min-height:0}
body[data-tab="overview"] .hero-number{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
body[data-tab="overview"] .trend-panel .trend-chart{height:auto;min-height:110px;flex:1;margin:0 calc(var(--rpx)*-6)}
body[data-tab="overview"] .distribution-fill{display:block}
body[data-tab="overview"] .trend-x-label{padding:0;border:0;border-radius:0;background:none;min-width:28px;line-height:15px}
body[data-tab="overview"] .trend-legend span:before{content:'';display:inline-block;width:calc(var(--rpx)*28);margin-right:calc(var(--rpx)*7);vertical-align:middle;border-top:2px solid #d91435}
body[data-tab="overview"] .trend-total-label{font-size:11px;line-height:16px}
body[data-tab="overview"] .trend-footer{line-height:1.4}
.filters{position:sticky;top:48px;z-index:12;background:#fff;border:0;border-bottom:4px solid #f5f6f8;border-radius:0;padding:0 calc(var(--rpx)*28)}body[data-tab="customers"] .filters{top:92px}.search-toolbar{display:flex;gap:6px;align-items:stretch;padding:5px 0}.search{flex:1;min-width:0;max-width:none;flex-basis:auto;border:0;padding:0 10px;border-radius:7px;background:#f5f6f8;gap:8px}.search-icon{width:13px;height:13px;flex-shrink:0;border:1px solid #697586;border-radius:50%;position:relative}.search-icon:after{content:'';position:absolute;right:-4px;bottom:-2px;width:6px;height:1px;background:#697586;transform:rotate(45deg)}.search input{min-height:44px;padding:0;font-size:calc(var(--rpx)*28);width:100%;border:0}.search button{border:0;padding:0;font-size:10px;min-width:22px;color:#697586}.list-sort{display:flex;padding:2px;background:#f5f6f8;border-radius:7px;flex-shrink:0}.list-sort button{font-size:calc(var(--rpx)*24);min-width:36px;border:0;padding:0 4px;background:none}.list-sort button.active{color:var(--red);background:#fff;font-weight:600}
.buyer-types{display:flex;gap:2px}.buyer-type{flex:1;min-width:0;border:0;padding:0;min-height:44px;font-size:calc(var(--rpx)*24);background:none;color:#697586;border-radius:4px;gap:4px}.buyer-type.active{color:var(--red);font-weight:600}.buyer-type i{width:4px;height:4px;border-right:1px solid #8a939f;border-bottom:1px solid #8a939f;transform:rotate(45deg)}body[data-tab="customers"] .buyer-type.active{background:#fff0f3;min-height:28px;margin:8px 0}.stage-tabs{padding:0;display:flex;gap:4px;flex-wrap:nowrap}.stage-tabs button{flex:1;min-width:0;min-height:44px;padding:4px 0 6px;border:0;background:none!important;border-radius:0;display:flex;flex-direction:column;gap:1px;position:relative;color:#697586}.stage-tabs button .stage-label{font-size:calc(var(--rpx)*26);opacity:1}.stage-tabs button small{font-size:calc(var(--rpx)*20);color:inherit}.stage-tabs button.active{color:var(--red)}.stage-tabs button.active:after{content:'';position:absolute;height:2px;left:22%;right:22%;bottom:0;background:var(--red);border-radius:1px}.dimension-row{display:flex;gap:10px;padding:8px 0}.dimension-row .select-wrap{flex:1}.dimension-row .select-wrap>span{display:none}.dimension-row select{width:100%;font-size:13px;border:0;background:#f5f6f8}.customer-selection{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;color:#697586}.customer-selection button{font-size:11px;border:0;padding:5px}
.list-content{background:#fff}.project-list{gap:0;display:block}.project-card{position:relative;display:block;width:100%;border:0;border-bottom:1px solid #e9edf2;border-radius:0;overflow:hidden;padding:calc(var(--rpx)*16) calc(var(--rpx)*28) calc(var(--rpx)*14);text-align:left;background:#fff}.project-card:hover{box-shadow:none;background:#fafbfc;border-color:#e9edf2}.c-stage-art{position:absolute;right:calc(var(--rpx)*-20);bottom:calc(var(--rpx)*-44);width:calc(var(--rpx)*240);height:calc(var(--rpx)*240);opacity:.16;pointer-events:none;mask-image:linear-gradient(135deg,transparent 5%,#0003 35%,#000b 65%,#000 90%)}.project-main{position:relative}.project-meta{display:flex;gap:5px;min-height:17px;flex-wrap:nowrap}.stage{border-radius:4px;padding:1px 5px;font-size:calc(var(--rpx)*24);line-height:1.3;font-weight:600}.stage.need{color:#955112;background:#fbf0e3}.stage.bid{color:#44546d;background:#eef1f6}.stage.win{color:#14785d;background:#e7f4ef}.stage.contract{color:#67508c;background:#f1edf7}.stage.void{color:var(--red);background:#fff0f3}.winner{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14785d;font-size:calc(var(--rpx)*22)}.card-amount{flex-shrink:0;margin-left:auto;font-size:calc(var(--rpx)*28);color:#995216;white-space:nowrap}.project-card h3{margin:4px 0 0;font-size:calc(var(--rpx)*30);line-height:1.35;font-weight:600}.project-unit{margin:4px 0 0;font-size:calc(var(--rpx)*24);line-height:1.35;color:#626d7e}.project-main>time{display:block;margin-top:3px;font-size:calc(var(--rpx)*24);line-height:1.35;color:#626d7e}.compact-main{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.compact-main h3{margin:0;flex:1}.compact-main>strong{flex-shrink:0;font-size:13px;color:#995216;line-height:1.5}.compact-meta{display:flex;gap:7px;align-items:center;margin-top:8px;color:#697586;font-size:11px}.compact-meta>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-meta time{flex-shrink:0}
.rank-list{border:0;border-radius:0;padding:0 8px}.department{border-bottom:1px solid #e9edf2}.rank-row{display:flex;align-items:center;padding:0 4px 0 8px;gap:0;min-height:calc(var(--rpx)*100);background:#fff;border:0;border-radius:0;width:100%}.rank-row .rank-number{width:calc(var(--rpx)*52);flex-shrink:0;font-family:monospace;font-size:calc(var(--rpx)*20);color:#20242a;font-weight:400}.rank-row>span.rank-name{flex:1;min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc(var(--rpx)*28);font-weight:600;color:#20242a;text-align:left;line-height:1.3;padding-right:5px}.rank-investment{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.rank-investment strong{font-size:calc(var(--rpx)*24);color:var(--red);font-weight:700}.rank-investment small{font-size:calc(var(--rpx)*20);margin:0}.rank-plus{flex-shrink:0;width:calc(var(--rpx)*50);height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#697586}.rank-number img{display:block;width:calc(var(--rpx)*46);height:calc(var(--rpx)*56);object-fit:contain}.competitors-list .rank-row{padding:12px 4px;min-height:78px}.winner-copy{flex:1;min-width:0}.winner-title{display:flex;align-items:center;gap:6px;justify-content:space-between}.winner-title strong{font-size:calc(var(--rpx)*28);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.winner-title b{font-size:calc(var(--rpx)*24);color:var(--red);white-space:nowrap;font-weight:700}.winner-copy small{display:flex;justify-content:space-between;font-size:calc(var(--rpx)*20);margin-top:7px;color:#697586}.winner-copy em{font-style:normal;color:var(--red)}.winner-members{padding-left:calc(var(--rpx)*52)}.member-row{display:flex;width:100%;gap:8px;border:0;border-top:1px solid #edf0f3;border-radius:0;padding:12px 4px;text-align:left;font-size:12px}.member-row>span:first-child{flex:1}.member-row small{display:block;font-size:10px;margin-top:4px}.member-row>strong{font-size:12px;white-space:nowrap;color:var(--red)}.inline-projects{border-top:1px solid #e9edf2}.inline-projects .project-card{padding:10px 9px}.inline-sort{display:flex;justify-content:flex-end;gap:6px;padding:5px 10px}.inline-sort button{border:0;padding:5px 10px;border-radius:3px;color:#697586;background:#f5f6f8;font-size:11px}.inline-sort button.active{color:var(--red);background:#fff0f3}.more{display:block;width:100%;border:0;padding:16px;text-align:center;background:none;color:#697586;font-size:12px;margin:0}.group-option{width:100%;display:block;text-align:left;margin-bottom:8px;padding:12px 10px;border-radius:7px;border:1px solid #edf0f3}.group-option strong{font-size:14px;display:flex;justify-content:space-between}.group-option small{display:block;line-height:1.65;font-size:12px;margin-top:5px}.group-option.selected{background:#fff5f7;border-color:#efbac4}.group-option.selected strong{color:var(--red)}.group-hint{font-size:11px;margin:0 0 10px}.unit-option{width:100%;display:block;border:0;border-bottom:1px solid #edf0f3;border-radius:0;padding:14px 8px;text-align:left;font-size:13px}
dialog{max-width:460px;width:calc(100vw - 24px);max-height:88dvh;border-radius:12px}.dialog-head{padding:18px 16px 12px}.dialog-head h2{font-size:16px}.dialog-head .eyebrow{display:none}.dialog-body{padding:14px 16px}.dialog-footer{padding:10px 12px}.dialog-footer button,.dialog-footer a{font-size:11px;padding:8px 10px}.detail-fields>div{font-size:12px;gap:10px}.detail-fields dt{width:65px;font-size:11px}.skeleton{padding:12px;gap:10px}.skeleton>div{height:95px}.pagination{padding:12px 0;margin:0;font-size:11px}.empty{border:0;font-size:13px}.page-heading{padding:15px;margin:0}.page-heading h1{font-size:20px}.page-heading .eyebrow{display:none}.budget-grid{grid-template-columns:1fr;padding:12px}.result-caption{padding:0 12px}.login-page{max-width:600px;margin:auto}.metrics{padding:10px;grid-template-columns:1fr 1fr}.metric.featured{grid-column:1/-1}body[data-tab="weekly"] .filters{position:static}body[data-tab="budget"] .filters{position:static}
@media(min-width:651px){body{padding:0}.workspace{box-shadow:0 0 40px #24344a0c}.mobile-nav{box-shadow:0 0 30px #24344a04}.login-page{display:flex;flex-direction:column;gap:25px}.login-brand{position:static}.login-card{justify-self:auto;max-width:none}.login-copy h1{font-size:38px}.login-page footer{position:static}}
@media(max-height:640px){body[data-tab="overview"] .mini-brand{height:40px}body[data-tab="overview"] .brand-filters{height:34px}body[data-tab="overview"] .weekly-entry,body[data-tab="overview"] .group-selector{height:34px;min-height:34px}body[data-tab="overview"] .trend-panel .trend-chart{min-height:80px}body[data-tab="overview"] .panel-title{font-size:13px}}

body[data-tab="overview"] .dashboard-illustration{top:-92px;height:calc(100% + 92px)}

.buyer-backdrop{position:fixed;inset:0;z-index:0;background:#14202c1a}.buyer-types{position:relative;z-index:2}.buyer-menu{position:absolute;top:100%;left:12px;right:12px;max-height:50vh;overflow:auto;z-index:3;background:white;border:1px solid #e9edf2;border-radius:7px;box-shadow:0 6px 16px #1824341f}.buyer-menu .unit-option{min-height:44px;padding:12px;font-size:13px}.filters:has(.buyer-menu){z-index:30}.buyer-types:has(~ .buyer-menu){background:white}
body[data-tab="tenders"] .buyer-types{display:grid;grid-template-columns:44px repeat(3,minmax(0,1fr));padding:2px;gap:0 4px;background:#f5f6f8;border-radius:8px}body[data-tab="tenders"] .buyer-type{height:44px;font-size:13px}body[data-tab="tenders"] .buyer-type.active{background:white;box-shadow:0 .5px 3px #1824340f}body[data-tab="tenders"] .list-sort{background:none;padding:0}body[data-tab="tenders"] .list-sort button{position:relative;background:none;min-width:40px;font-size:13px}body[data-tab="tenders"] .list-sort button.active:after{content:'';position:absolute;bottom:5px;left:14px;right:14px;height:2px;background:var(--red)}body[data-tab="tenders"] .stage-tabs button .stage-label,body[data-tab="tenders"] .stage-tabs button small{font-size:11px}
.compact-bid{padding-top:4px;padding-bottom:4px;min-height:44px}.compact-main{align-items:baseline}.compact-main h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-meta{margin-top:2px;font-size:10.5px;gap:5px}.compact-meta .stage{font-size:10px;padding:0 3px}

.business-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:64px;padding:8px 0;box-sizing:border-box}
.business-summary-item{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}
.business-summary-label{color:#626d7e;font-size:12px;line-height:1.4;white-space:nowrap}
.business-summary-value{color:#c81432;font-size:24px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:340px){.business-summary{gap:10px}.business-summary-value{font-size:21px}}
