:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#193b40;background:#f5f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #cedcdd;border-radius:7px;padding:10px 16px;background:#fff;color:#254c50;transition:background .15s}button:hover{background:#edf4f3}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #59b7b0;outline-offset:3px}[hidden]{display:none!important}.masthead{height:84px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #dce5e5;background:white;padding:0 6vw}.brand{font-size:30px;font-weight:750;letter-spacing:-1px;color:#193b40;text-decoration:none}.brand span{font-size:13px;color:#287771;letter-spacing:1px;border:1px solid #aaccca;padding:4px 7px;border-radius:5px;margin-left:5px;vertical-align:middle}.tagline{font-size:13px;color:#71868a}.masthead button{margin-left:auto}main{max-width:1440px;min-height:calc(100vh - 160px);margin:0 auto;padding:38px 6vw}.login{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1040px;margin:60px auto}.login h1{font-size:clamp(36px,4vw,58px);line-height:1.28;letter-spacing:-2px;margin:20px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#398c83}.intro{line-height:1.9;color:#61797b}.card{padding:30px;background:#fff;border:1px solid #dce5e5;border-radius:12px;box-shadow:0 10px 32px #153c4105}h2{font-size:22px}p{font-size:14px;line-height:1.85}form label{display:block;margin:22px 0;color:#35575a;font-size:13px}input{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #cddcdd;border-radius:6px;background:#fbfdfd}.primary{width:100%;background:#1d6b61;color:#fff;border-color:#1d6b61}.primary:hover{background:#19594f}.muted,.footnote{color:#77898b;font-size:12px}.toolbar{display:flex;align-items:center;gap:20px;margin-bottom:28px}.toolbar label,.controls label{display:flex;align-items:center;gap:12px;font-size:12px;color:#667f81}select{max-width:100%;background:#fff;color:#24474c;border:1px solid #d2dfe0;border-radius:6px;padding:10px}.workspace-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px}nav{display:flex;flex-direction:column;gap:8px}nav button{text-align:left;border-color:transparent;background:transparent;font-size:13px;padding:14px 12px}nav button[aria-pressed=true]{background:#e3eeeb;color:#185e53;font-weight:700}.report{min-height:430px}.report-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.report-head h1{font-size:27px;margin:8px 0 12px;letter-spacing:-1px}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls button{font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}th,td{padding:14px 12px;border-bottom:1px solid #e2e9e9;text-align:left;white-space:nowrap}th{font-weight:500;font-size:12px;color:#74898a;background:#f8fafa}td:first-child{font-weight:600}h3{font-size:15px;margin:32px 0 16px}.footnote{border-top:1px solid #e3e9e9;padding-top:18px;margin-top:28px}.empty{padding:50px 20px;text-align:center;color:#74898a;background:#f8fafa;border-radius:8px}.rate{min-width:130px}.rate progress{display:block;height:5px;width:100%;max-width:180px;margin-top:8px;accent-color:#368e7d}#error{padding:14px 18px;border:1px solid #e3c8be;background:#fff2ed;color:#8a4734;border-radius:8px}#status{color:#65827e}footer{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:#90a1a3;font-size:10px;letter-spacing:2px;border-top:1px solid #e0e7e7}@media(max-width:800px){.login{grid-template-columns:1fr;gap:28px;margin:10px auto}.login h1 br{display:none}.login h1{font-size:34px}.workspace-grid{grid-template-columns:1fr}nav{flex-direction:row;overflow:auto}nav button{white-space:nowrap}.toolbar{flex-wrap:wrap}.card{padding:22px}.tagline{display:none}main{padding:24px 5vw}.report-head h1{font-size:24px}.controls label{gap:6px}}

.gitlab-login{margin-top:16px}#password-login{margin-top:24px}#password-login summary{cursor:pointer;font-size:13px;color:#61797b}#access-pending{max-width:720px;margin:48px auto}#signed-in-account{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.console-nav{flex-direction:row;margin-bottom:28px;gap:10px}.admin-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.account-card h2{overflow-wrap:anywhere}.account-card fieldset{border:0;padding:0;margin:18px 0}.account-card legend{font-size:13px;margin-bottom:12px}.account-card .grant-option{display:flex;gap:10px;align-items:center;margin:12px 0}.grant-option input{width:18px;height:18px;margin:0;flex-shrink:0}.grant-option span{overflow-wrap:anywhere}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-audit{margin-top:28px}#admin-search{max-width:460px}#admin h1{margin:8px 0}.admin-actions button{font-size:13px}

.directory-search{margin:22px 0}.directory-search>label{margin:0 0 10px}.directory-search .admin-actions{align-items:center}.directory-search input{margin:0;flex:1;min-width:180px}.directory-results{margin:24px 0}.directory-results>.admin-actions{margin-top:20px}
