:root{--bg:#f4f7fc;--card:#fff;--line:#e1e7f0;--blue:#2462ed;--ink:#192331;--muted:#687386}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px;line-height:1.4}h2{font-size:18px}a{color:var(--blue)}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:600;color:var(--blue);margin-bottom:8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--blue);color:white;border-radius:10px;font-size:23px;font-weight:700}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:white;border-right:1px solid var(--line);padding:25px 15px;overflow:auto}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);padding:0 12px 25px;font-size:19px;font-weight:650}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:400}.nav-label{color:#8a94a4;font-size:11px;letter-spacing:1px;margin:21px 14px 8px}nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:11px 14px;text-align:left;color:#566274;border-radius:8px;margin:3px 0}nav button:hover{background:#f4f7fc}nav button.active{color:var(--blue);background:#edf3ff;font-weight:600}nav i{font-size:18px!important}.sidebar-foot{border-top:1px solid var(--line);margin-top:30px;padding:16px 12px;font-size:12px;color:var(--muted)}.sidebar-foot small{display:block;margin-top:5px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#38a376;margin-right:5px}.workspace{margin-left:224px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:white;font-size:12px;color:var(--muted)}.topbar b{color:var(--ink);font-weight:500}.slash{padding:0 16px;color:#b6bfcd}.text-button{background:none;border:0;color:var(--muted);padding:6px 10px}main{max-width:1700px;padding:32px 36px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading .muted{margin-top:8px}.layui-btn.primary{background:var(--blue);border-radius:7px}.layui-btn-primary{border-radius:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:12px;background:white;padding:23px}.stat .label{color:var(--muted);font-size:12px}.stat strong{display:block;font-size:32px;line-height:1.5;font-weight:650;letter-spacing:-1px;margin:6px 0}.stat small{color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px}.panel-heading{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-content{padding:24px}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.coverage-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #f0f3f8}.coverage-row:last-child{border:0}.coverage-row b{width:90px;font-weight:500}.coverage-row .track{flex:1;background:#edf2fa;height:6px;border-radius:4px;overflow:hidden}.coverage-row .track span{display:block;background:var(--blue);height:100%}.coverage-row small{min-width:72px;text-align:right;color:var(--muted)}.version-card{padding:17px;border:1px solid var(--line);border-radius:9px;margin-bottom:12px}.version-card strong{display:block;margin-bottom:5px}.version-card small{color:var(--muted)}.pill{display:inline-block;padding:2px 9px;font-size:11px;border-radius:5px;background:#edf3ff;color:var(--blue)}.pill.warn{background:#fff4e2;color:#99610d}.pill.green{background:#edf7f0;color:#29814a}.note{padding:15px 18px;border-left:3px solid #d9a951;background:#fffbf4;font-size:12px;color:#84652c;margin-top:18px;line-height:1.8}.filter-bar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;background:#fff;padding:20px 24px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.filter-bar label{font-size:12px;color:var(--muted)}select{display:block;min-width:160px;height:38px;margin-top:6px;border:1px solid var(--line);border-radius:6px;padding:0 30px 0 10px;background:white;color:var(--ink)}.filter-bar .layui-input{margin-top:6px;border-radius:6px;min-width:230px}.check-label{padding-bottom:8px}.search-label{flex:1}.layui-table-view{border:0;margin:0}.layui-table-header,.layui-table thead tr{background:#f8faff}.layui-table th{color:var(--muted);font-size:12px}.layui-table td,.layui-table th{border-color:#edf1f7}.layui-table-cell{height:56px;line-height:56px}.layui-table-header .layui-table-cell{height:42px;line-height:42px}.unit-cell{display:flex;align-items:center;gap:12px;height:56px}.unit-cell img{height:36px;width:36px;object-fit:cover;border-radius:7px;background:#253044}.unit-cell span{font-weight:500}.drawer{padding:26px;background:var(--bg);min-height:100%}.detail-head{display:flex;gap:16px;align-items:center;margin-bottom:20px}.detail-head img{width:64px;height:64px;border-radius:10px;background:#253044}.detail-head small{color:var(--muted)}.detail-section{padding:20px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.detail-section h3{font-size:14px;margin-bottom:12px}.detail-section p{white-space:pre-line;line-height:1.9;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.detail-grid dt{font-size:11px;color:var(--muted)}.detail-grid dd{margin:4px 0 0}.json-editor{width:100%;min-height:340px;font:12px/1.7 ui-monospace,SFMono-Regular,monospace;border:1px solid var(--line);padding:14px;border-radius:7px;resize:vertical}.code-block{white-space:pre-wrap;word-break:break-all;font:12px/1.7 ui-monospace,monospace;max-height:460px;overflow:auto}.source-link{overflow-wrap:anywhere;font-size:12px}.detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.detail-actions select{margin:0}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table td,.data-table th{text-align:left;padding:12px;border-bottom:1px solid var(--line);word-break:break-word}.data-table th{background:#f8faff;color:var(--muted);font-weight:500}.error{padding:30px;color:#b63838}footer{color:#929bab;text-align:center;font-size:11px;margin-top:34px}.login-body{display:grid;place-items:center;min-height:100vh}.login-card{width:460px;max-width:calc(100vw - 40px);padding:42px;background:white;border:1px solid var(--line);border-radius:16px}.login-card .brand-mark{margin-bottom:28px}.login-card h1{font-size:24px;margin-bottom:10px}.login-card form{margin-top:30px}.login-card label{display:block;font-size:12px;margin:18px 0 8px}.login-card input{height:44px;border-radius:7px}.full{width:100%;height:44px}.full span{float:right}.login-foot{margin-top:26px;text-align:center;font-size:11px;color:var(--muted)}#error{color:#bd3c3c;min-height:28px;font-size:12px;margin:8px 0}.simple-form{padding:24px}.simple-form input{margin-bottom:16px}.layui-layer-title{background:white!important;border-bottom:1px solid var(--line)!important} [hidden]{display:none!important}@media(max-width:1000px){.sidebar{width:180px}.workspace{margin-left:180px}main{padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.brand{padding-left:0}.topbar{padding:0 24px}}@media(max-width:650px){.sidebar{width:64px;padding:20px 6px}.brand>span:last-child,.nav-label,.sidebar-foot{display:none}nav button{font-size:0;padding:14px 16px}nav button i{font-size:20px!important}.workspace{margin-left:64px}.brand{padding-left:7px}.brand-mark{width:34px;height:34px}main{padding:20px 12px}.topbar{padding:0 12px}.page-heading{align-items:start;flex-direction:column}h1{font-size:24px}.stats{gap:10px}.stat{padding:16px}.filter-bar{padding:16px}.filter-bar label,.filter-bar select{width:100%}.drawer{padding:16px}}

.edit-label{display:block;color:var(--muted);font-size:12px;margin-bottom:16px}.edit-label input,.edit-label textarea{margin-top:6px;border-radius:6px;color:var(--ink)}.edit-label textarea{min-height:110px}summary{cursor:pointer;color:var(--blue);padding:8px 0}.layui-laypage .layui-laypage-curr .layui-laypage-em{background:var(--blue)}
