:root{--ink:#202d2a;--muted:#7b8581;--green:#184e42;--line:#e7ebe8;--bg:#f5f7f5;--white:#fff;--blue:#4482ca;--yellow:#c39b27;--red:#d4695d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #93bcab;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #9bb9ac;outline-offset:1px}button{border:0;background:transparent}h1,h2,h3,p{margin:0}h2{font-size:16px;letter-spacing:.2px}h3{font-size:14px}small{font-size:12px}.sidebar{width:226px;background:#fbfcfa;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 11px;font-size:18px;font-weight:700;color:#173e34}.brand:hover{text-decoration:none}.brand-mark{background:#184e42;border-radius:10px;color:white;width:40px;height:44px;display:grid;place-items:center;font-size:22px;font-weight:500}.brand-sub{display:block;color:#8a948d;font-size:10px;letter-spacing:1.3px;font-weight:400}.workspace{border:1px solid var(--line);border-radius:8px;padding:12px;margin:30px 7px 22px;display:flex;align-items:center;gap:8px;font-size:12px}.workspace>span:last-child{margin-left:auto;color:#8a948d}.dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#4e9270}.nav-caption{font-size:10px;color:#9aa39d;letter-spacing:1px;margin:0 15px 10px}.nav-caption.second{margin-top:30px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{display:flex;align-items:center;text-align:left;gap:12px;padding:12px 15px;border-radius:7px;font-size:13px;color:#66726b}.sidebar nav button>span{width:16px;font-size:19px;line-height:1}.sidebar nav button.active{color:#1d5945;background:#e8efE9;font-weight:600}.sidebar nav button:hover{background:#edf1ec}.sidebar nav small{margin-left:auto;font-size:10px;background:#dfe8e0;padding:0 6px;border-radius:4px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 5px 0;display:flex;gap:9px;font-size:11px}.sidebar-bottom small{display:block;font-size:9px;color:var(--muted)}.local-icon{width:28px;height:28px;background:#e8ebe4;border-radius:50%;display:grid;place-items:center;color:#6f7b6a}.shell{margin-left:226px}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:#fbfcfa}.breadcrumb{font-size:12px;color:#89928c}.breadcrumb span{margin:0 12px;color:#c5ccc7}.breadcrumb b{font-weight:500;color:#3c4b42}.header-right{display:flex;align-items:center;gap:24px;font-size:11px}.header-right>span{color:#89928c}.header-right a{border:1px solid #dce3db;border-radius:6px;padding:7px 11px}main{max-width:1590px;margin:auto;padding:32px 36px 16px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:18px}.eyebrow{color:#6f877a;font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;gap:7px}.page-heading h1{font-size:27px;letter-spacing:.5px;font-weight:600;margin:6px 0 7px}.page-heading p{font-size:12px;color:#829087}.heading-actions{display:flex;gap:9px}.button{background:white;border:1px solid #dce3dd;border-radius:6px;padding:9px 14px;font-size:12px;white-space:nowrap}.button:hover{background:#f0f4ef}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#256351}.button.full{width:100%;margin-top:14px}.text-button{font-size:11px;color:#496e5b;white-space:nowrap}.text-button:hover{text-decoration:underline}.connection-banner{display:flex;gap:12px;align-items:center;padding:13px 16px;background:#f8f4e8;border:1px solid #eae2c9;border-radius:7px;margin-bottom:23px}.banner-icon{border:1px solid #b49a50;color:#a48535;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.connection-banner strong{font-size:12px;font-weight:600;color:#80703b}.connection-banner p{font-size:11px;color:#a08f5f;margin-top:2px}.connection-banner>.text-button{margin-left:auto;color:#8f783e}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:20px 20px 17px;background:white;border:1px solid var(--line);border-radius:9px}.metric>div{color:#758177;font-size:11px;display:flex;justify-content:space-between;align-items:center}.metric-symbol{color:#87968b;width:25px;height:25px;border-radius:6px;background:#f2f5f1;text-align:center;font-size:17px}.metric>strong{font-size:34px;line-height:1.35;font-weight:600;letter-spacing:-1px;display:block;margin:10px 0}.metric strong small{font-weight:400;font-size:11px;color:#8b978d;margin-left:8px;letter-spacing:0}.metric p{font-size:10px;color:#98a198}.metric.accent{background:#eaf1e9;border-color:#dbe7d9}.metric.accent strong{color:#245743}.metric.accent .metric-symbol{background:#dce8db;color:#597f5c}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px 14px}.panel-heading p{font-size:10px;color:#97a098;margin-top:5px}.pill{font-size:10px;padding:4px 7px;border-radius:4px;background:#f1f4ef;color:#86917f;white-space:nowrap}.pill.green{background:#e9f2e9;color:#5b8763}.city-chart{padding:7px 22px 13px;display:grid;grid-template-columns:1fr 1fr;column-gap:27px;row-gap:13px}.city-bar{display:grid;grid-template-columns:56px 1fr 36px;align-items:center;gap:9px;font-size:10px;text-align:left;width:100%;padding:0}.city-bar .bar-track{height:7px;background:#f0f4ef;border-radius:2px;overflow:hidden}.city-bar .bar-fill{height:100%;background:#739b80;border-radius:2px;display:block}.city-bar:first-child .bar-fill{background:#2a6250}.city-bar b{font-weight:500;color:#53665b;text-align:right;font-size:11px}.city-bar:hover{color:#225e42}.chart-foot{padding:11px 22px;border-top:1px solid #f0f3ef;color:#9ba39b;font-size:9px;display:flex;justify-content:space-between}.timeline-panel{grid-row:span 1}.countdown{padding:12px 23px 16px;border-bottom:1px solid #eff2ee;background:linear-gradient(90deg,#f7f9f3,white);margin:0 22px 9px;border-radius:7px}.countdown>span{font-size:10px;color:#87917d}.countdown strong{display:block;color:#3c6248;font-size:23px;letter-spacing:1px;font-weight:500;margin-top:2px}.countdown p{font-size:9px;color:#9aA18f;margin-top:3px}.timeline{list-style:none;margin:0 23px;padding:4px 0 0 10px}.timeline li{display:flex;position:relative;gap:14px;padding:0 0 15px;border-left:1px solid #e2e8dc}.timeline li:last-child{border:0;padding-bottom:8px}.timeline li i{position:absolute;top:4px;left:-4px;width:7px;height:7px;border:1.5px solid #c9d5c6;border-radius:50%;background:white}.timeline li.past i{background:#719a73;border-color:#719a73}.timeline li.current i{background:#fff;border:2px solid #456f4c;box-shadow:0 0 0 3px #e7eee1}.timeline li>div{margin-left:18px;display:flex;justify-content:space-between;width:100%;gap:10px;font-size:10px}.timeline b{font-weight:400;color:#6e796c}.timeline span{color:#9ba394;font-size:9px;white-space:nowrap}.source-link{font-size:10px;display:block;padding:7px 23px 18px;color:#7b8d71}.band-panel .panel-heading{padding-bottom:20px}.band-cards{display:grid;grid-template-columns:repeat(3,1fr);margin:0 22px;gap:14px}.band-cards button{text-align:left;background:#f8fAf8;border:1px solid #eef1ed;border-radius:6px;padding:12px 13px;position:relative}.band-cards button:hover{border-color:#a9bcac}.band-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.red{background:var(--red)}.band-cards b{font-size:10px;font-weight:400;color:#7b877d}.band-cards strong{font-size:23px;display:block;font-weight:500;margin-top:6px}.band-cards small{font-size:9px;color:#9aa399;display:block}.panel-note{font-size:9px;color:#9da59b;margin:13px 22px 18px}.source-line{display:flex;justify-content:space-between;margin:10px 22px;font-size:10px;color:#8a9589;gap:10px}.source-line b{font-weight:400;color:#9c8c59;text-align:right}.green-text{color:#5a8464!important}.source-summary .button{width:calc(100% - 44px);margin:10px 22px 18px;background:#f7f9f5;color:#7d8b72;font-size:10px}.status-dot{width:7px;height:7px;background:#c8b56d;border-radius:50%}.filters{display:flex;gap:8px;padding:5px 22px 18px;flex-wrap:wrap}.filters select,.search{border:1px solid #e3e9e1;background:#fff;border-radius:5px;font-size:11px;height:35px;color:#6f7d6d}.filters select{padding:0 9px;max-width:170px}.search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;padding:0 10px}.search span{font-size:22px;line-height:1;color:#a1aca0}.search input{border:0;background:transparent;width:100%;font-size:11px;color:#5b6d5d;outline:none}.search input::placeholder{color:#a4ada2}.search input:focus{outline:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px;text-align:left;font-size:11px}thead{background:#f7f9f5;color:#8a9585;font-size:10px}th{font-weight:400;padding:10px 12px;white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #edf1e9;color:#73806e;vertical-align:middle}tbody tr:hover{background:#fbfcf9}.star-col{width:55px;text-align:center}.star{font-size:21px;color:#b7c3b0;padding:0 4px;line-height:1}.star.selected{color:#a98c39}.job-title{font-size:11px;font-weight:500;color:#41533e;display:block;margin-bottom:3px;max-width:300px}.job-sub{font-size:9px;color:#9aa492;display:block;max-width:290px}.job-name{font-size:10px;display:block;margin-top:2px;color:#819078;max-width:300px}.badge{display:inline-flex;align-items:center;white-space:nowrap;gap:5px;padding:3px 7px;font-size:9px;border-radius:4px;background:#f1f3ee;color:#8e9985}.badge.blue{background:#edf3fc;color:#5386bc}.badge.yellow{background:#fbf5e4;color:#b69539}.badge.red{background:#fbefec;color:#c97465}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.time-cell{font-size:9px;color:#9aa590;white-space:nowrap}.detail-button{font-size:10px;color:#68875c;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;color:#99a28f;font-size:10px}.pagination>div{display:flex;gap:12px;align-items:center}.button.compact{padding:4px 9px;font-size:10px}.jobs-panel{margin-top:22px}.jobs-panel .panel-heading{padding-bottom:18px}.empty{padding:50px 20px;text-align:center;color:#a2ad96}.empty strong{font-size:15px;color:#6b7e5d;display:block;margin-bottom:8px}.empty p{font-size:12px}footer{padding:24px 0 8px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#a4ad99}footer b{font-weight:400;color:#86977b}.sources-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.source-detail{padding:0 22px 24px}.source-detail h3{margin:20px 0 8px;color:#4a6641}.source-detail p{font-size:12px;line-height:1.9;color:#89967c}.source-detail a{font-size:11px;display:inline-block;margin-top:8px;color:#638754}.form-body{padding:10px 22px 24px}.form-body label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#6d7f60;margin-top:14px}.form-body input,.form-body select,.form-body textarea{border:1px solid #dfe7d7;border-radius:6px;padding:10px 12px;width:100%;background:white;color:#5c7250;resize:vertical;font-size:12px}.helper{font-size:11px;color:#97a28b;line-height:1.9;margin-top:14px}.schema{border-top:1px solid var(--line);padding:16px 22px;font-size:11px;color:#879979}.schema summary{cursor:pointer;color:#69835d}.schema p{margin:10px 0}.schema pre{background:#f5f8f0;padding:14px;overflow:auto;border-radius:6px;font-size:10px}.feed-message{font-size:11px;color:#ac8e3d;overflow-wrap:anywhere;margin-top:12px}.city-links-panel{margin-top:20px}.city-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:5px 22px 22px}.city-links a{background:#f7f9f3;border:1px solid #edf1e7;border-radius:5px;font-size:11px;padding:10px 12px;display:flex;justify-content:space-between;color:#7c936b}.history-list{padding:4px 22px 22px}.history-item{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:15px;align-items:center}.history-item p{font-size:11px;color:#859775}.history-item small{display:block;font-size:10px;color:#a3ae95;margin-top:4px}.history-item .history-time{margin-left:auto;font-size:10px;color:#8f9e81;white-space:nowrap}dialog{border:1px solid #dfe7d8;border-radius:12px;padding:0;width:min(650px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 100px #172d222b;color:var(--ink)}dialog::backdrop{background:#162d2466;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line);gap:15px}.dialog-head h2{font-size:18px;margin-top:5px;color:#3b5b31}.close{font-size:26px;line-height:1;padding:0 3px;color:#9cab91}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 24px;background:#f7f9f3}.detail-meta p{font-size:10px;color:#97a38c}.detail-meta strong{font-size:12px;color:#617c4e;display:block;margin-top:4px;font-weight:500}.detail-body{padding:0 24px 20px}.detail-body h3{font-size:11px;color:#97a38a;margin:18px 0 7px;font-weight:400}.detail-body p{font-size:12px;color:#617853;white-space:pre-wrap;overflow-wrap:anywhere}.detail-body .identity{display:flex;align-items:center;gap:12px;font-size:11px}.record-form{border-top:1px solid var(--line);padding:15px 24px 24px}.record-form h3{font-size:14px;color:#4f713e}.record-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record-form label{font-size:10px;color:#8a9d7a;display:flex;flex-direction:column;gap:7px;margin-top:12px}.record-form input,.record-form select{width:100%;border:1px solid #dfe7d7;border-radius:5px;padding:8px;font-size:11px;background:white;color:#6d845b}.toast{position:fixed;bottom:28px;left:calc(50% + 100px);transform:translateX(-50%);background:#244b38;color:#eef5ea;padding:11px 20px;border-radius:7px;box-shadow:0 5px 20px #23443122;font-size:12px;z-index:30;max-width:80vw}[hidden]{display:none!important}
@media(min-width:1450px){main{padding:40px 44px}.city-chart{row-gap:17px}.timeline li{padding-bottom:19px}.metric{padding:23px}.page-heading h1{font-size:30px}}
@media(max-width:1150px){.sidebar{width:190px;padding:25px 12px}.shell{margin-left:190px}header{padding:0 24px}main{padding:25px 24px}.brand{font-size:16px;padding:0 7px}.brand-mark{width:35px;height:38px}.metrics{gap:10px}.metric{padding:17px 14px}.metric strong{font-size:29px}.overview-grid{gap:14px;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.panel-heading{padding:17px 17px 13px}.panel-heading p{font-size:9px}.city-chart{padding-left:17px;padding-right:17px;column-gap:15px}.city-bar{grid-template-columns:48px 1fr 30px;gap:6px}.band-cards{margin:0 17px;gap:7px}.band-cards button{padding:10px 8px}.band-cards b{font-size:9px}.heading-actions .button{padding:8px 10px}.connection-banner p{font-size:10px}.header-right{gap:16px}}
@media(max-width:900px){.sidebar{width:74px;padding:22px 9px}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace,.nav-caption,.sidebar nav button{font-size:0}.sidebar nav{gap:10px;margin-top:28px}.sidebar nav button{padding:13px;justify-content:center}.sidebar nav button>span{font-size:22px}.sidebar nav small,.sidebar-bottom{display:none}.shell{margin-left:74px}.overview-grid{grid-template-columns:1fr 1fr}.city-panel{grid-column:span 2}.timeline-panel{grid-column:2;grid-row:2 / span 2}.band-panel,.source-summary{grid-column:1}.band-cards{grid-template-columns:1fr;gap:8px}.band-cards button{display:grid;grid-template-columns:10px 1fr 30px;align-items:center;gap:4px}.band-cards strong{font-size:19px;margin:0;grid-column:3;grid-row:1 / span 2}.band-cards small{grid-column:2}.sources-grid{grid-template-columns:1fr}.page-heading h1{font-size:24px}.page-heading p{max-width:320px}.connection-banner>.text-button{display:none}.toast{left:calc(50% + 35px)}footer{flex-direction:column;gap:6px}.city-links{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){header{height:60px;padding:0 16px}.breadcrumb{font-size:10px}.header-right>span{display:none}.header-right a{font-size:9px;padding:5px}.sidebar{width:58px;padding:16px 6px}.brand-mark{width:32px;height:35px;font-size:19px;border-radius:7px}.sidebar nav button{padding:12px 6px}.sidebar nav button>span{font-size:20px}.shell{margin-left:58px}main{padding:20px 14px 10px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.heading-actions{width:100%}.heading-actions .button{flex:1}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:14px 12px}.metric>div{font-size:10px}.metric strong{font-size:27px;margin:8px 0}.metric p{font-size:9px}.metric-symbol{display:none}.overview-grid{grid-template-columns:1fr;gap:14px}.city-panel,.timeline-panel,.band-panel,.source-summary{grid-column:auto;grid-row:auto}.city-chart{grid-template-columns:1fr 1fr;gap:13px 15px}.timeline-panel{order:3}.band-cards{grid-template-columns:repeat(3,1fr);gap:6px}.band-cards button{display:block;padding:11px 8px}.band-cards b{font-size:8px;display:block}.band-cards .band-dot{margin-bottom:2px}.band-cards small{font-size:8px}.band-cards strong{font-size:21px;margin:5px 0}.connection-banner{padding:12px;align-items:flex-start;gap:9px}.connection-banner strong{font-size:11px}.connection-banner p{font-size:9px}.panel-heading h2{font-size:14px}.filters{padding:0 16px 16px;gap:7px}.search{flex-basis:100%;min-width:0}.filters select{flex:1;min-width:0;max-width:100%;font-size:10px;padding:0 4px}.filters .text-button{display:none}.pagination{padding:12px 14px;gap:8px;font-size:9px}.pagination>div{gap:6px}.pagination .button{font-size:9px;padding:3px 7px}.city-links{grid-template-columns:repeat(2,1fr);padding:0 17px 17px}.detail-meta{grid-template-columns:1fr 1fr}.record-form .row{grid-template-columns:1fr}.history-item{flex-wrap:wrap}.history-item .history-time{margin-left:0}.dialog-head{padding:20px}.dialog-head h2{font-size:16px}.toast{left:calc(50% + 29px);font-size:11px;bottom:18px}}

/* Keep Chinese job requirements readable without a network font dependency. */
table{font-size:12px}th{font-size:11px}.job-title{font-size:12px}.job-name{font-size:11px}.job-sub{font-size:10px}.time-cell{font-size:10px}.badge{font-size:10px}.panel-heading p{font-size:11px}.panel-note{font-size:10px}
@media(max-width:900px){.brand>span:last-child,.workspace,.nav-caption{display:none}.sidebar nav{margin-top:30px}}

.official-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:5px 22px 22px}.official-source-card{border:1px solid var(--line);border-radius:6px;padding:13px}.official-source-card>div{display:flex;align-items:center;justify-content:space-between;gap:5px}.official-source-card b{font-size:12px;font-weight:500}.official-source-card p{font-size:13px;margin:10px 0 4px;color:#58734e}.official-source-card small{font-size:10px;color:#98a18e;display:block;min-height:32px;overflow-wrap:anywhere}.official-source-card a{font-size:10px;display:block;margin-top:8px}@media(max-width:1000px){.official-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.official-status-grid{grid-template-columns:1fr;padding:0 17px 17px}}
