/* 等保合规 page (static/js/compliance.js). Served by server.py as /compliance.css. */
.cp-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.cp-score{display:flex;align-items:center;gap:22px}
.cp-ring{position:relative;width:168px;height:168px;flex:none}.cp-ring svg{width:168px;height:168px;display:block}
.cp-ring .cp-ring-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.cp-ring strong{font-size:34px;line-height:1;letter-spacing:-.02em;color:#18243b;font-variant-numeric:tabular-nums}
.cp-ring span{font-size:11.5px;color:var(--ink-3);margin-top:6px}
.cp-ring circle.clickable{cursor:pointer}
.cp-legend{list-style:none;margin:0;padding:0;display:grid;gap:9px;min-width:200px}
.cp-legend li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;font-size:13px;color:#46566e}
.cp-legend li button{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.cp-legend li button:hover{color:#2556d3;text-decoration:underline}
.cp-legend i{width:10px;height:10px;border-radius:3px}.cp-legend b{font-variant-numeric:tabular-nums;color:#26354c}
.cp-meta{display:grid;gap:6px;font-size:12.5px;color:var(--ink-2)}.cp-meta strong{color:#1d2940}
.cp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cp-cats{display:grid;gap:12px}
.cp-cat{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px;align-items:center;border:0;background:none;padding:6px 8px;margin:0 -8px;border-radius:8px;text-align:left;width:calc(100% + 16px)}
.cp-cat:hover{background:#f4f7fd}.cp-cat.active{background:var(--accent-soft)}
.cp-cat-name{font-size:13px;font-weight:650;color:#26354c}.cp-cat-name small{font-weight:500;color:var(--ink-3);margin-left:6px}
.cp-cat-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#eef2f8;margin-top:6px}.cp-cat-bar i{display:block;height:100%}
.cp-cat-num{font-size:12px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}
.cp-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:0 22px 12px}
.cp-list{display:grid}
.cp-item{border-top:1px solid var(--line-soft)}.cp-item:first-child{border-top:0}
.cp-item>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:132px minmax(0,1fr) 86px 16px;gap:14px;align-items:center;padding:13px 22px}
.cp-item>summary::-webkit-details-marker{display:none}.cp-item>summary:hover{background:#f7f9ff}
.cp-item>summary:after{content:"▸";color:#a2aec1;font-size:11px;transition:transform .12s}.cp-item[open]>summary:after{transform:rotate(90deg)}
.cp-clause{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#4d5d75;line-height:1.4}
.cp-title{min-width:0}.cp-title strong{display:block;font-size:13.5px;color:#1d2940}
.cp-title span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.55}
.cp-body{padding:2px 22px 18px 168px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px}
.cp-body h4{margin:12px 0 6px;font-size:12px;color:#8a97ab;letter-spacing:.04em}.cp-body h4:first-child{margin-top:4px}
.cp-quote{margin:0;padding:8px 12px;border-left:3px solid #c7d4ee;background:#f8faff;color:#46566e;font-size:12.5px;line-height:1.7;border-radius:0 8px 8px 0}
.cp-quote small{display:block;color:#9aa6b8;margin-top:4px}
.cp-text{margin:0;font-size:13px;line-height:1.75;color:var(--ink-2)}
.cp-evidence{width:100%;border-collapse:collapse;font-size:12.5px}
.cp-evidence td{padding:7px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:#33435b;word-break:break-word}
.cp-evidence td:first-child{width:42%;color:var(--ink-3);padding-left:0}.cp-evidence tr:last-child td{border-bottom:0}
.cp-evidence td.warn{color:var(--warn);font-weight:600}.cp-evidence td.bad{color:var(--bad);font-weight:600}
.cp-advice{margin:0;padding:10px 12px;border-radius:9px;background:#fff8ec;color:#7a5414;font-size:13px;line-height:1.7}
.cp-advice.ok{background:var(--good-soft);color:#1b6e4a}
.cp-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.cp-note{font-size:12px;color:var(--ink-3);line-height:1.7;margin:0}
.cp-top{display:grid;gap:8px}
.cp-top a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border-radius:9px;border:1px solid var(--line-soft);background:#fbfcfe}
.cp-top a:hover{border-color:#c9d7f5;background:#f5f8ff}.cp-top a strong{display:block;font-size:13px;color:#1d2940}.cp-top a span{font-size:12px;color:var(--ink-3)}
@media(max-width:1100px){.cp-body{padding-left:22px;grid-template-columns:1fr}.cp-item>summary{grid-template-columns:110px minmax(0,1fr) 80px 16px}.cp-hero{grid-template-columns:1fr}}
