:root{--ink:#17221d;--muted:#66736d;--green:#0c7750;--green-soft:#e9f4ee;--line:#e4e9e6;--cream:#f7f8f5;--amber:#a95e00}*{box-sizing:border-box}body{color:var(--ink);background:var(--cream);margin:0;font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}main{min-height:100vh}.hero{color:#fff;background:radial-gradient(circle at 85% 20%,#8aceac38,#0000 28%),linear-gradient(135deg,#0f2d23,#123e2f 65%,#18573e);padding:24px max(24px,50vw - 590px)}.topNav{justify-content:space-between;align-items:center;display:flex}.topNav>a{color:#cce0d6;font-size:13px;text-decoration:none}.brand{letter-spacing:.03em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.brandMark{background:#ffffff17;border:1px solid #ffffff73;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.heroCopy{max-width:760px;margin:62px 0 30px}.eyebrow,.panelHead p{color:#9ed9bd;letter-spacing:.14em;margin:0 0 10px;font-size:12px;font-weight:700}h1{letter-spacing:-.055em;margin:0;font-size:clamp(36px,6vw,68px);line-height:1.08}.subtitle{color:#c9dad2;max-width:640px;margin:20px 0 0;font-size:17px;line-height:1.8}.searchBox{background:#fff;border-radius:16px;align-items:center;gap:12px;max-width:920px;padding:8px;display:flex;box-shadow:0 18px 50px #00000038}.searchIcon{color:#728078;padding-left:14px;font-size:28px;transform:rotate(-20deg)}.searchBox input{min-width:0;color:var(--ink);border:0;outline:0;flex:1;padding:14px 4px;font-size:16px}.searchBox button{color:#fff;background:var(--green);border:0;border-radius:11px;padding:13px 28px;font-weight:700}.searchBox .groupFinderButton{color:var(--green);background:var(--green-soft);white-space:nowrap}.groupDirectory{color:var(--ink);background:#fff;border:1px solid #ffffff8c;border-radius:15px;max-width:920px;margin-top:12px;padding:18px;box-shadow:0 18px 50px #0000002b}.groupDirectoryHead{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.groupDirectoryHead>div{gap:4px;display:grid}.groupDirectoryHead span{color:var(--muted);font-size:12px}.groupDirectoryHead button{color:var(--green);background:0 0;border:0;padding:6px 4px;font-size:12px;font-weight:700}.groupDirectoryList{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px;max-height:286px;padding-right:4px;display:grid;overflow-y:auto}.groupDirectoryList button{color:#244438;text-align:left;background:#f2f7f4;border:1px solid #d9e7df;border-radius:9px;padding:10px 11px;font-size:13px}.groupDirectoryList button:hover,.groupDirectoryList button:focus-visible{color:#fff;background:var(--green);outline:none}.examples{flex-wrap:wrap;gap:8px;margin:16px 0 36px;display:flex}.examples button,.candidateList button{color:#d8e7df;background:#ffffff12;border:1px solid #ffffff47;border-radius:999px;padding:8px 13px;font-size:12px}.content{width:min(1180px,100% - 40px);margin:36px auto 54px}.welcomeGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.welcomeGrid article,.panel,.answerCard,.emptyState{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 6px 22px #1d30270b}.welcomeGrid article{padding:26px}.welcomeGrid span{color:var(--green);letter-spacing:.12em;font-size:12px;font-weight:800}.welcomeGrid h2{margin:30px 0 8px;font-size:22px}.welcomeGrid p,.answerCard p,.emptyState p{color:var(--muted);margin:0;line-height:1.7}.resultStack{gap:16px;display:grid}.correction{color:#17623f;background:#edf8f2;border:1px solid #badfca;border-radius:12px;padding:12px 16px;font-size:14px}.answerCard{justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:28px 30px;display:flex}.answerLabel{font-size:13px;font-weight:700;margin-bottom:8px!important}.answerCard h2{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(22px,3.5vw,36px)}.answerCard h2 strong{color:var(--green)}.affiliationLine{color:#254b3d;background:#edf6f1;border:1px solid #cfe4d8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;width:fit-content;max-width:100%;margin:4px 0 14px;padding:8px 11px;display:flex}.affiliationLine span{color:#64736c;font-size:12px}.affiliationLine b{overflow-wrap:anywhere;font-size:14px}.affiliationLine em{color:#9a5600;background:#fff0d2;border-radius:999px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:700}.status,.miniStatus{white-space:nowrap;border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.status{padding:9px 14px;font-size:13px}.miniStatus{padding:5px 9px;font-size:11px}.ok{color:#17623f;background:var(--green-soft)}.warning{color:var(--amber);background:#fff1d9}.notice{color:#744200;background:#fff7e9;border-left:4px solid #df8b23;border-radius:10px;padding:15px 18px}.notice p{margin:6px 0 0;font-size:13px;line-height:1.7}.similarAlert{color:#744200;background:#fff9ed;border:1px solid #e7c78e;border-radius:14px;justify-content:space-between;gap:18px;padding:18px 20px;display:flex}.similarAlert p{color:#8d6731;margin:5px 0 0;font-size:13px}.similarAlert>div:last-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.similarAlert button{color:#744200;background:#fff;border:1px solid #ddb66f;border-radius:9px;padding:8px 11px}.panel{min-width:0;max-width:100%;overflow:hidden}.panelHead{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px 18px;display:flex}.panelHead p{color:var(--green);margin-bottom:5px}.panelHead h3{margin:0;font-size:19px}.tableWrap{overflow-x:auto}.advanceOverview .panelHead>strong{color:var(--green);white-space:nowrap;font-size:15px}.advanceOverview table{table-layout:fixed;min-width:780px}.advanceOverview th,.advanceOverview td{text-align:center;vertical-align:middle;min-width:100px}.advanceOverview th:first-child{z-index:1;background:#f4f7f5;width:110px;position:sticky;left:0}.advanceOverview tbody td:last-child,.advanceOverview tbody th:last-child{border-bottom:0}.advanceOverview th:last-child,.advanceOverview td.totalCell{color:#174c39;background:#eef7f2;font-weight:700}.groupWorkOverview td{line-height:1.55}.groupWorkOverview td b,.groupWorkOverview td small{display:block}.groupWorkOverview td small{color:#68766f;margin-top:4px}.projectAdvanceMatrix{table-layout:fixed;min-width:980px}.projectAdvanceMatrix th,.projectAdvanceMatrix td{text-align:center;vertical-align:middle;min-width:110px}.projectAdvanceMatrix th:first-child,.projectAdvanceMatrix td:first-child{z-index:1;background:#fff;width:135px;min-width:135px;position:sticky;left:0}.projectAdvanceMatrix thead th:first-child{background:#fafbf9}.projectAdvanceMatrix th:last-child,.projectAdvanceMatrix td.totalCell,.projectAdvanceMatrix .totalRow td{color:#174c39;background:#eef7f2;font-weight:700}.projectPeopleMatrix{min-width:1120px}.advancePeopleMatrix td:first-child b,.advancePeopleMatrix td:first-child small{display:block}.advancePeopleMatrix td:first-child small{color:#68766f;margin-top:4px;font-weight:400;line-height:1.45}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0ee;padding:14px 18px;font-size:13px}th{color:#68756f;background:#fafbf9;font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:0}td.number{white-space:nowrap;color:#173f31;font-weight:700}.componentTable{min-width:980px}.workerSummary table{min-width:920px}.groupWorkMatrix{table-layout:fixed;min-width:1320px}.groupWorkMatrix th,.groupWorkMatrix td{vertical-align:middle;min-width:155px}.groupWorkMatrix th:first-child,.groupWorkMatrix td:first-child{z-index:1;background:#fff;width:105px;min-width:105px;position:sticky;left:0}.groupWorkMatrix thead th:first-child{background:#fafbf9}.groupWorkMatrix th:last-child,.groupWorkMatrix td:last-child{width:90px;min-width:90px}.groupWorkMatrix .totalRow td{color:#174c39;background:#eef7f2;font-weight:700}.groupWorkMatrix .totalRow td:first-child{background:#eef7f2}.monthWorkCell b,.monthWorkCell small{display:block}.monthWorkCell b{color:#174c39;margin-bottom:5px}.monthWorkCell small{color:#68766f;line-height:1.5}.monthWorkCell.empty{color:#a3aca7;text-align:center}.noRows{color:var(--muted);text-align:center;padding:30px}.mutedRow{color:#7b7469;background:#fffbf2}.chartPanel{overflow:visible}.legend{color:#58675f;flex-wrap:wrap;justify-content:flex-end;gap:9px 14px;max-width:55%;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:3px;width:9px;height:9px}.workChart{align-items:flex-end;gap:clamp(10px,4vw,34px);min-height:250px;padding:34px 28px 18px;display:flex;overflow-x:auto}.chartColumn{color:#526159;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:0 0 70px;align-items:center;gap:8px;padding:8px;display:flex}.chartColumn:hover,.chartColumn.active{background:#f0f6f3}.chartColumn>b{white-space:nowrap;font-size:11px}.chartColumn .stack{border-radius:8px 8px 4px 4px;flex-direction:column-reverse;width:34px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000a}.chartColumn .stack i{width:100%;min-height:3px;display:block;box-shadow:inset 0 1px #ffffffa6}.chartColumn>span{font-size:12px;font-weight:700}.chartDetail{border-top:1px solid var(--line);background:#fafcfb;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:16px 24px;font-size:12px;display:flex}.chartDetail span{color:#56655e;gap:14px;display:flex}.chartDetail strong{color:#164d39}.twoPanels{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.monthBars{padding:12px 24px 22px}.monthBars>div{grid-template-columns:36px 1fr 105px;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:grid}.monthBars>div>div{background:#edf1ee;border-radius:8px;height:7px;overflow:hidden}.monthBars i{background:linear-gradient(90deg,#0c7750,#4eae7e);border-radius:8px;height:100%;display:block}.monthBars b{text-align:right}.peopleList{max-height:460px;overflow:auto}.peopleList>div{border-bottom:1px solid #edf0ee;justify-content:space-between;padding:13px 24px;font-size:13px;display:flex}.summaryList{max-height:470px;overflow:auto}.summaryList>div{border-bottom:1px solid #edf0ee;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:13px 22px;font-size:13px;display:grid}.summaryList>div:last-child{border-bottom:0}.summaryList .monthTag{color:var(--green);background:var(--green-soft);border-radius:7px;justify-content:center;padding:4px 6px;font-weight:700;display:inline-flex}.summaryList .projectName{color:#43534c}.personProjectList>div{grid-template-columns:72px 1fr auto}.projectSections{background:#f6f8f6;gap:18px;padding:20px;display:grid}.projectSection{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.projectTitle{color:#164d39;background:#edf6f1;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;display:flex}.projectTitle span{font-weight:800}.personOnlyList>div{grid-template-columns:1fr auto}.detailSections .tableWrap{border-top:1px solid var(--line)}.emptyState{text-align:center;padding:42px}.emptyState b{font-size:20px}.candidateList{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.candidateList button{color:var(--green);background:#fff;border-color:#cfdad4}footer{color:#829087;text-align:center;padding:24px;font-size:11px}.adminShell{background:#f3f6f4;min-height:100vh;padding:36px max(20px,50vw - 590px)}.adminHeader{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.adminHeader h1,.adminCard h1{margin:10px 0 6px;font-size:32px}.adminHeader p,.adminCard p{color:var(--muted);margin:0}.adminHeader a,.adminCard a{color:var(--green);font-size:13px;text-decoration:none}.adminHeader button,.adminCard button{color:#fff;background:var(--green);border:0;border-radius:9px;padding:11px 17px;font-weight:700}.adminHeader button:disabled,.adminCard button:disabled{cursor:not-allowed;background:#aab5af}.adminCard{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 22px #1d30270b}.loginCard{width:min(440px,100%);margin:10vh auto}.loginCard input{width:100%;margin:22px 0 12px}.adminCard input,.adminCard select{background:#fff;border:1px solid #ced8d2;border-radius:9px;min-height:44px;padding:9px 12px}.adminWarning,.adminMessage{color:#744200;background:#fff1d9;border-radius:10px;padding:13px 16px}.adminWarning{margin-top:18px}.adminMessage{margin-bottom:18px}.formMessage{color:#a04e2b!important;margin-top:12px!important}.adminGrid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.projectOverviewCard{grid-column:1/-1}.projectOverviewTable{table-layout:fixed;min-width:1050px}.projectOverviewTable th,.projectOverviewTable td{text-align:center;vertical-align:middle;min-width:110px}.projectOverviewTable th:first-child,.projectOverviewTable td:first-child{z-index:1;background:#fff;width:145px;min-width:145px;position:sticky;left:0}.projectOverviewTable thead th:first-child{background:#fafbf9}.projectOverviewTable th:last-child,.projectOverviewTable td.totalCell,.projectOverviewTable .totalRow td{color:#174c39;background:#eef7f2;font-weight:700}.adminCard h2{margin:0 0 18px;font-size:19px}.inlineForm{gap:8px;display:flex}.inlineForm input{flex:1}.projectList{margin-top:16px;display:grid}.projectList>div{border-top:1px solid var(--line);justify-content:space-between;padding:11px 2px;font-size:13px;display:flex}.projectList span{color:var(--muted)}.projectList em{color:#8b7760;font-size:12px}.adminCard .textButton{color:var(--green);background:0 0;padding:3px 7px;font-size:12px}.aliasForm{grid-template-columns:1fr 1fr;gap:8px;display:grid}.aliasForm input{width:100%;min-width:0}.aliasForm input:nth-of-type(3),.aliasForm button{grid-column:1/-1}.uploadForm{grid-template-columns:1fr 1fr;gap:13px;display:grid}.uploadForm label{color:#58675f;gap:6px;font-size:12px;display:grid}.uploadForm .fullSpan{grid-column:1/-1}.adminHint{font-size:12px;line-height:1.7;margin-top:14px!important}.uploadFeedback{border:1px solid;border-radius:10px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;font-size:13px;display:flex}.uploadFeedback.waiting{color:#76520b;background:#fff8e6;border-color:#ead8aa}.uploadFeedback.success{color:#174c39;background:#eef7f2;border-color:#cfe5da}.uploadFeedback.failure{color:#8b2e25;background:#fff1ef;border-color:#f1c9c2}.uploadFeedbackIcon{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:25px;height:25px;font-weight:800;display:flex}.uploadFeedback.waiting .uploadFeedbackIcon{background:#b7791f}.uploadFeedback.success .uploadFeedbackIcon{background:#247451}.uploadFeedback.failure .uploadFeedbackIcon{background:#b74437}.uploadFeedback>div{flex:1;min-width:0}.uploadFeedback strong,.uploadFeedback p{display:block}.uploadFeedback p{color:currentColor;margin-top:2px;line-height:1.5}.adminCard .uploadFeedback .textButton{flex:none}.previewCard{margin-top:18px;padding:0;overflow:hidden}.previewCard>h2{padding:22px 24px 0}.adminSectionHead{justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.adminSectionHead h2{margin-bottom:5px}.adminSectionHead button:disabled{cursor:not-allowed;background:#aab5af}.publishBadge{color:#17613f;background:#e5f5eb;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.publishBadge.blocked{color:#9b341e;background:#ffe8e1}.publishBadge.duplicate{color:#795000;background:#fff2cf}.issueList{color:#6c4e00;background:#fff8e7;border-top:1px solid #f0dfb4;padding:16px 24px;font-size:13px}.issueList.error{color:#8d2c1c;background:#fff0ed;border-color:#f1c9c2}.issueList ul{margin:8px 0 0;padding-left:20px}.issueList li+li{margin-top:5px}@media (max-width:760px){.hero{padding:20px}.heroCopy{margin:46px 0 24px}.subtitle{font-size:15px}.searchBox{gap:4px}.searchBox button{padding:12px 13px;font-size:14px}.searchIcon{padding-left:8px}.groupDirectory{padding:14px}.groupDirectoryList{grid-template-columns:repeat(2,minmax(0,1fr))}.examples{flex-wrap:nowrap;max-width:100%;padding-bottom:3px;overflow-x:auto}.examples button{flex:none}.content{width:auto;min-width:0;margin:18px 12px 54px}.welcomeGrid,.twoPanels,.adminGrid{grid-template-columns:minmax(0,1fr)}.answerCard,.similarAlert{flex-direction:column;align-items:flex-start;padding:22px}.answerCard>div{min-width:0;max-width:100%}.answerCard h2{overflow-wrap:anywhere}.answerCard .status{align-self:flex-start}.panelHead{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.legend{justify-content:flex-start;max-width:100%}.workChart{padding-inline:14px}.adminShell{padding:22px 12px}.adminHeader{gap:18px}.uploadForm{grid-template-columns:1fr}.uploadForm label,.uploadForm button{grid-column:1!important}.adminSectionHead{align-items:flex-start;gap:12px}}
