:root{--ink:#17211d;--muted:#6c7771;--bg:#f4f4ef;--paper:#fff;--green:#174c3b;--green2:#246a50;--pale:#eaf2ec;--lime:#b8d779;--line:#dde2dc;--red:#a44c3e;--amber:#b2772d;--shadow:0 14px 45px #1e372d0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}button{cursor:pointer}.appShell{min-height:100vh}.sidebar{z-index:20;color:#f3f7f4;background:#13241e;flex-direction:column;width:244px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand>span{background:var(--lime);color:#173d2e;border-radius:10px;place-items:center;width:40px;height:40px;font:700 20px Georgia;display:grid}.brand div{gap:2px;display:grid}.brand b{letter-spacing:.02em;font-size:16px}.brand small{color:#9fb4a9;letter-spacing:.14em;font-size:10px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#aebdb5;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:31px 1fr auto;align-items:center;height:46px;padding:0 12px;transition:all .18s;display:grid}.sidebar nav button i{color:#81948a;font:11px ui-monospace,monospace}.sidebar nav button span{font-size:14px}.sidebar nav button em{color:#fff;text-align:center;background:#9f493d;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font:11px/20px sans-serif}.sidebar nav button:hover{color:#fff;background:#1c3229}.sidebar nav button.active{color:#fff;background:#285642}.sidebar nav button.active i{color:var(--lime)}.sideStatus{border-top:1px solid #2c4037;align-items:center;gap:10px;margin-top:auto;padding:20px 9px 0;display:flex}.sideStatus div{gap:3px;display:grid}.sideStatus b{font-size:12px}.sideStatus small{color:#879a90;font-size:10px}.dot{background:#8b928e;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #ffffff0c}.dot.online{background:#72c88e;box-shadow:0 0 0 4px #72c88e20}.mainArea{min-height:100vh;margin-left:244px;padding:0 44px 70px}.pageHeader{border-bottom:1px solid #d5dbd5;justify-content:space-between;align-items:center;gap:30px;height:190px;display:flex}.eyebrow{letter-spacing:.18em;color:var(--green2);font-size:10px;font-weight:800}h1{letter-spacing:-.025em;margin:9px 0 8px;font:500 clamp(32px,4vw,48px)/1.1 Georgia,Noto Serif SC,serif}.pageHeader p{color:var(--muted);margin:0;font-size:14px}.pageContent{gap:20px;max-width:1320px;padding-top:28px;display:grid}.primary,.secondary{border:1px solid var(--green);border-radius:6px;padding:11px 17px;font-size:13px;font-weight:700}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.secondary{color:var(--green);background:#fff}.countBadge{color:var(--red);background:#f2e4df;border-radius:18px;padding:8px 13px;font-size:12px;font-weight:700}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;padding:22px;display:flex}.metric>div{gap:6px;display:grid}.metric span{font-size:13px;font-weight:700}.metric small{color:var(--muted);font-size:11px}.metric b{font:36px Georgia,serif}.metric.active{background:#f6faf6;border-color:#a9c2b0}.metric.active b{color:var(--green2)}.metric.alert{background:#fcf7f5;border-color:#dfc3bb}.metric.alert b{color:var(--red)}.overviewGrid{grid-template-columns:1.15fr .85fr;gap:20px;display:grid}.panel,.artifactDetail{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:24px}.panelTitle{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.panelTitle>div:first-child{gap:5px;display:grid}.panelTitle span{color:var(--green2);letter-spacing:.16em;font:700 9px ui-monospace,monospace}.panelTitle h2{margin:0;font-size:18px}.panelHint{color:var(--muted)!important;letter-spacing:0!important;font:11px sans-serif!important}.textButton{color:var(--green2);background:0 0;border:0;padding:5px;font-size:12px;font-weight:700}.empty{color:#8a968f;border:1px dashed var(--line);border-radius:7px;place-content:center;justify-items:center;min-height:140px;display:grid}.empty span{background:var(--pale);width:28px;height:28px;color:var(--green2);border-radius:50%;place-items:center;display:grid}.empty p{margin:10px 0 0;font-size:12px}.jobList{display:grid}.job{border-top:1px solid #edf0ed;grid-template-columns:34px 1fr 42px;align-items:center;gap:12px;min-height:72px;display:grid}.job:first-child{border-top:0}.jobIcon{width:28px;height:28px;color:var(--green2);background:#edf2ee;border-radius:50%;place-items:center;font-size:12px;display:grid}.jobIcon.failed{color:var(--red);background:#f7e8e4}.jobInfo{min-width:0}.jobInfo>div{justify-content:space-between;gap:10px;display:flex}.jobInfo b{font-size:13px}.jobInfo em{color:var(--muted);text-transform:uppercase;font:10px ui-monospace,monospace}.jobInfo small{color:var(--muted);font-size:10px}.job>strong{text-align:right;color:var(--muted);font-size:11px}.bar{background:#edf0ed;border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.bar i{background:var(--green2);height:100%;display:block}.noticeRow{border-top:1px solid #edf0ed;grid-template-columns:8px 1fr;gap:10px;padding:11px 0;display:grid}.noticeRow:first-of-type{border-top:0}.severity{background:var(--amber);border-radius:50%;width:7px;height:7px;margin-top:5px}.severity.high,.severity.error{background:var(--red)}.noticeRow b{color:var(--red);font-size:11px}.noticeRow p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.compactOutcomes{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.compactOutcomes button{border:1px solid var(--line);text-align:left;background:#fbfcfa;border-radius:7px;grid-template-columns:30px 1fr 16px;align-items:center;gap:9px;padding:15px;display:grid}.compactOutcomes button:not(:disabled):hover{background:#f5faf5;border-color:#83a891}.compactOutcomes button:disabled{cursor:default;opacity:.65}.compactOutcomes i{background:var(--pale);width:28px;height:28px;color:var(--green2);border-radius:6px;place-items:center;font:12px Georgia;display:grid}.compactOutcomes span{gap:3px;display:grid}.compactOutcomes b{font-size:12px}.compactOutcomes small{color:var(--muted);font-size:10px}.compactOutcomes em{color:var(--green2);font-style:normal}.dropGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.uploadBox{cursor:pointer;background:#fafcf9;border:1px dashed #9eb1a4;border-radius:9px;align-items:flex-start;gap:18px;min-height:175px;padding:25px;transition:all .18s;display:flex}.uploadBox:hover{border-color:var(--green2);background:#f1f7f1;transform:translateY(-2px)}.uploadBox.disabled{opacity:.55;cursor:wait}.uploadBox>span{background:var(--pale);width:48px;height:48px;color:var(--green2);border-radius:8px;place-items:center;font:700 11px ui-monospace,monospace;display:grid}.uploadBox div{gap:8px;display:grid}.uploadBox b{font-size:17px}.uploadBox p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.uploadBox em{color:var(--green2);margin-top:10px;font-size:11px;font-style:normal;font-weight:700}.uploadBox input{display:none}.systemMessage{color:#42564b;background:#edf3ee;border-radius:6px;margin-top:15px;padding:12px 14px;font-size:12px}.systemMessage i{background:#62a677;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.systemMessage.loading i{animation:1s infinite pulse}.outcomeGrid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.outcomeCard{background:var(--paper);border:1px solid var(--line);min-height:245px;box-shadow:var(--shadow);border-radius:10px;padding:24px;position:relative}.outcomeCard>span{color:var(--muted);background:#f0f2ef;border-radius:10px;padding:5px 8px;font-size:10px;position:absolute;top:22px;right:22px}.outcomeCard.ready>span{color:var(--green2);background:var(--pale)}.outcomeIcon{width:45px;height:45px;color:var(--green);background:#e9eee9;border-radius:9px;place-items:center;font:20px Georgia;display:grid}.outcomeCard h3{margin:24px 0 8px;font:22px Georgia,Noto Serif SC,serif}.outcomeCard>p{color:var(--muted);margin:0;font-size:13px}.outcomeCard>div:last-child{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:15px;display:flex;position:absolute;bottom:22px;left:24px;right:24px}.outcomeCard small{color:var(--muted);font-size:10px}.outcomeCard button{color:var(--green2);background:0 0;border:0;font-size:12px;font-weight:700}.outcomeCard button:disabled{color:#a4aca7;cursor:default}.reviewRow,.exceptionRow{border-top:1px solid #edf0ed;align-items:start;gap:14px;padding:16px 0;display:grid}.reviewRow:first-of-type,.exceptionRow:first-of-type{border-top:0}.reviewRow{grid-template-columns:80px 1fr 120px}.reviewStatus,.severityTag{background:var(--pale);width:max-content;color:var(--green2);text-transform:uppercase;border-radius:12px;padding:5px 9px;font-size:9px;display:inline-block}.reviewRow b,.exceptionRow b{font-size:13px}.reviewRow p,.exceptionRow p{color:var(--muted);margin:5px 0;font-size:12px;line-height:1.55}.reviewRow small{color:#9aa39e;font-size:9px}.reviewRow>em,.exceptionRow>em{text-align:right;color:var(--muted);font:10px/1.6 ui-monospace,monospace}.exceptionRow{grid-template-columns:80px 1fr 70px}.severityTag.high,.severityTag.error{color:var(--red);background:#f6e8e4}.terminalPanel{box-shadow:var(--shadow);background:#14221d;border-radius:10px;overflow:hidden}.terminalHead{background:#1c2c26;align-items:center;gap:7px;height:43px;padding:0 16px;display:flex}.terminalHead span{background:#dc7665;border-radius:50%;width:9px;height:9px}.terminalHead span:nth-child(2){background:#d4ae57}.terminalHead span:nth-child(3){background:#69aa7c}.terminalHead b{color:#8fa49a;margin-left:8px;font:10px ui-monospace,monospace}.prompt{grid-template-columns:20px 1fr auto;align-items:center;padding:22px;display:grid}.prompt>b{color:var(--lime)}.prompt input{color:#f4f8f5;background:#20332b;border:1px solid #3b5047;border-radius:5px 0 0 5px;outline:0;height:43px;padding:0 13px;font:13px ui-monospace,monospace}.prompt input:focus{border-color:#8eb79f}.prompt button{background:var(--lime);color:#173d2e;border:0;border-radius:0 5px 5px 0;height:43px;padding:0 18px;font-weight:800}.terminalPanel pre{color:#bcd98a;white-space:pre-wrap;border-top:1px solid #293d34;min-height:160px;margin:0;padding:20px 42px;font:12px/1.7 ui-monospace,monospace}.commandHelp{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.commandHelp button{border:1px solid var(--line);text-align:left;background:#fafbf9;border-radius:7px;gap:7px;padding:16px;display:grid}.commandHelp button:hover{border-color:#8fad99}.commandHelp b{color:var(--green);font:12px ui-monospace,monospace}.commandHelp span{color:var(--muted);font-size:11px}.formGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.formGrid label{color:var(--muted);font-size:11px}.formGrid label.wide{grid-column:1/-1}.formGrid input{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);background:#fbfcfa;border-radius:5px;outline:0;margin-top:7px;padding:0 12px;display:block}.formGrid input:focus{border-color:#7da18a;box-shadow:0 0 0 3px #7da18a15}.toggleRow{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;margin-top:20px;padding:16px;display:flex}.toggleRow>div{gap:5px;display:grid}.toggleRow b{font-size:13px}.toggleRow span{color:var(--muted);font-size:11px}.switch input{display:none}.switch i{background:#cdd3cf;border-radius:12px;width:42px;height:24px;transition:all .2s;display:block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked+i{background:var(--green2)}.switch input:checked+i:after{left:21px}.formActions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.configState{background:#f2efea;border-radius:12px;padding:6px 10px;letter-spacing:0!important;color:#876e50!important;font:10px sans-serif!important}.configState.ready{background:var(--pale);color:var(--green2)!important}.securityNotes{gap:10px;display:grid}.securityNotes p{color:var(--muted);background:#f8faf8;border-left:3px solid #b8c9bd;margin:0;padding:12px 14px;font-size:12px}.pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;display:flex}.pagination button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:5px;padding:7px 11px}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{color:var(--muted);font-size:11px}.artifactDetail{padding:24px}.actions{gap:8px;display:flex}.actions a,.actions button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:5px;padding:8px 11px;font-size:11px;text-decoration:none}.tableWrap{border:1px solid var(--line);border-radius:6px;overflow:auto}table{border-collapse:collapse;min-width:100%;font-size:11px}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:11px}th{color:#385044;background:#edf2ee;position:sticky;top:0}.artifactDetail>small{color:var(--muted);margin-top:12px;font-size:10px;display:block}.mobileBrand,.mobileNav{display:none}@keyframes pulse{50%{opacity:.25}}@media (max-width:1050px){.sidebar{width:210px}.mainArea{margin-left:210px;padding-left:28px;padding-right:28px}.compactOutcomes,.metrics{grid-template-columns:1fr 1fr}.overviewGrid{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{display:none}.mainArea{margin-left:0;padding:0 16px 45px}.mobileBrand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;display:flex}.mobileBrand button{color:var(--ink);background:0 0;border:0;padding:0;font-weight:800}.mobileBrand small{color:var(--muted);font-weight:400}.mobileNav{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;gap:6px;padding:10px 0;display:flex;position:sticky;top:0;overflow:auto}.mobileNav button{white-space:nowrap;background:#e9ece8;border:0;border-radius:15px;padding:7px 11px;font-size:11px}.mobileNav button.active{background:var(--green);color:#fff}.pageHeader{height:auto;min-height:145px;padding:25px 0}.pageHeader h1{font-size:34px}.pageHeader p{font-size:12px;line-height:1.5}.metrics,.dropGrid,.outcomeGrid,.formGrid,.commandHelp{grid-template-columns:1fr}.compactOutcomes{grid-template-columns:1fr 1fr}.panel{padding:18px}.reviewRow{grid-template-columns:1fr}.reviewRow>em{text-align:left}.exceptionRow{grid-template-columns:70px 1fr}.exceptionRow>em{display:none}.formGrid label.wide{grid-column:auto}.pageHeader>.primary{align-self:flex-end}.terminalPanel pre{padding:18px 24px}.prompt{padding:16px}.panelTitle{align-items:flex-start}}@media (max-width:460px){.metrics,.compactOutcomes{grid-template-columns:1fr}.pageHeader{display:block}.pageHeader>.primary,.pageHeader>.countBadge{margin-top:16px;display:inline-block}.dropGrid{grid-template-columns:1fr}.uploadBox{padding:19px}.outcomeCard{min-height:230px}.formActions{display:grid}.reviewRow,.exceptionRow{grid-template-columns:1fr}.severityTag{margin-bottom:-5px}.actions{flex-wrap:wrap}.panelTitle{display:block}.panelTitle>:last-child{margin-top:9px;display:inline-block}}.sideBottom{border-top:1px solid #2c4037;margin-top:auto;padding-top:18px}.sideBottom .sideStatus{border-top:0;margin-top:0;padding:0 9px}.logoutButton{color:#98aaa1;background:0 0;border:1px solid #385047;border-radius:6px;width:100%;margin-top:14px;padding:8px;font-size:11px}.logoutButton:hover{color:#fff;border-color:#6c8278}.mobileLogout{color:var(--green)!important;background:0 0!important;border:0!important;font-size:11px!important;font-weight:700!important}.loginPage{background:#13241e;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.loginIntro{color:#fff;background:radial-gradient(circle at 20% 25%,#285642 0,#0000 38%),linear-gradient(145deg,#172c24,#0f1d18);flex-direction:column;justify-content:center;padding:clamp(45px,8vw,110px);display:flex}.loginIntro .eyebrow{color:var(--lime)}.loginMark{background:var(--lime);color:#16392c;border-radius:15px;place-items:center;width:68px;height:68px;margin:58px 0 25px;font:32px Georgia;display:grid}.loginIntro h1{margin:0;font-size:clamp(45px,7vw,80px)}.loginIntro>p{color:#aebeb6;font-size:16px}.loginFeatures{color:#9eb1a7;gap:20px;margin-top:70px;font-size:11px;display:flex}.loginFeatures span:before{content:"✓";color:var(--lime);margin-right:7px}.loginCard{background:#f5f5f0;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,90px);display:flex}.loginCard h2{margin:10px 0 7px;font:32px Georgia,Noto Serif SC,serif}.loginCard>div>p{color:var(--muted);margin:0;font-size:13px}.loginCard form{gap:18px;margin:38px 0 20px;display:grid}.loginCard label{color:var(--muted);font-size:11px}.loginCard input{background:#fff;border:1px solid #d5dbd5;border-radius:6px;outline:0;width:100%;height:47px;margin-top:7px;padding:0 13px;display:block}.loginCard input:focus{border-color:var(--green2);box-shadow:0 0 0 3px #246a5018}.loginCard form>button{background:var(--green);color:#fff;border:0;border-radius:6px;height:47px;font-weight:800}.loginCard form>button:disabled{opacity:.55}.loginCard>small{color:#8b9690;font-size:10px}.loginError{color:var(--red);background:#f7e7e3;border-radius:5px;padding:10px 12px;font-size:11px}.authLoading{color:#aebeb6;background:#13241e;place-content:center;justify-items:center;min-height:100vh;display:grid}.authMark{background:var(--lime);color:#16392c;border-radius:12px;place-items:center;width:52px;height:52px;font:25px Georgia;display:grid}.authLoading p{letter-spacing:.08em;font-size:11px}@media (max-width:760px){.loginPage{grid-template-columns:1fr}.loginIntro{display:none}.loginCard{min-height:100vh;padding:34px}}.forcedPassword{background:radial-gradient(circle at 20% 20%,#dceadf,transparent 36%),var(--bg);place-items:center;min-height:100vh;padding:25px;display:grid}.forcedPassword>section{border:1px solid var(--line);width:min(620px,100%);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:clamp(28px,5vw,54px)}.forcedPassword h1{font-size:38px}.forcedPassword>section>p{color:var(--muted);margin-bottom:30px;font-size:13px;line-height:1.7}.passwordForm .formActions button:disabled,.addUserForm button:disabled{opacity:.5;cursor:default}.addUserForm{grid-template-columns:1fr 1fr 150px auto;align-items:end;gap:12px;display:grid}.addUserForm label{color:var(--muted);font-size:11px}.addUserForm input,.addUserForm select{border:1px solid var(--line);width:100%;height:41px;color:var(--ink);background:#fff;border-radius:5px;margin-top:7px;padding:0 10px;display:block}.addUserForm button{height:41px}.userList{border:1px solid var(--line);border-radius:7px;margin-top:22px;overflow:hidden}.userRow{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr 1fr 1fr;align-items:center;gap:12px;min-height:45px;padding:8px 13px;font-size:11px;display:grid}.userRow:first-child{border-top:0}.userRow.head{color:var(--green);background:#edf2ee;font-weight:700}.userRow b{font-size:12px}.userRow span{color:var(--muted)}@media (max-width:900px){.addUserForm,.userRow{grid-template-columns:1fr 1fr}.userRow.head span:nth-child(n+3){display:none}}@media (max-width:520px){.addUserForm,.userRow{grid-template-columns:1fr}.userRow.head{display:none}.forcedPassword{padding:12px}.forcedPassword>section{padding:25px}.forcedPassword h1{font-size:31px}}.resultSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.resultMetric{background:#fff;border:1px solid #e1e7ee;border-radius:16px;padding:18px;position:relative;overflow:hidden;box-shadow:0 5px 20px #1e32460d}.resultMetric:before{content:"";background:#74869a;width:4px;position:absolute;inset:0 auto 0 0}.resultMetric span,.resultMetric small{color:#68798b;font-size:12px;display:block}.resultMetric b{color:#17283a;letter-spacing:-.5px;margin:8px 0 3px;font-size:22px;line-height:1.1;display:block}.resultMetric.green:before{background:#2a9d72}.resultMetric.amber:before{background:#db8b16}.resultMetric.red:before{background:#d65a5a}.resultMetric.green b{color:#187a57}.resultMetric.amber b{color:#a86000}.resultMetric.red b{color:#b53d3d}@media (max-width:1050px){.resultSummary{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.resultSummary{grid-template-columns:1fr 1fr}}@media (max-width:460px){.resultSummary{grid-template-columns:1fr}}
