@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";
:root{--bg:var(--app-bg);--panel:var(--app-panel);--panel2:var(--app-panel2);--rail:var(--app-rail);--b1:var(--app-b1);--b2:var(--app-b2);--txt:var(--app-txt);--txt2:var(--app-txt2);--txt3:var(--app-txt3);--green:var(--app-green);--gdim:#39d98a14;--red:var(--app-red);--rdim:#ff475714;--amber:var(--app-amber);--adim:#f5a62314;--blue:var(--app-accent);--bdim:#4090ff14;--teal:var(--app-teal);--tdim:#2dd4bf14;--mono:"IBM Plex Mono", monospace;--pa:var(--app-accent)}.compliance-app{min-height:100%;color:var(--txt);flex-direction:column;font-family:IBM Plex Sans,system-ui,sans-serif;display:flex;overflow:visible}.compliance-topnav{background:var(--rail);border-bottom:1px solid var(--b1);z-index:50;flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 16px;display:flex}.compliance-logo{border-right:1px solid var(--b1);align-items:center;gap:9px;padding-right:16px;display:flex}.compliance-logo-icon{width:26px;height:26px;font-size:10px;font-family:var(--mono);background:var(--pa);color:var(--bg);border-radius:5px;justify-content:center;align-items:center;font-weight:700;display:flex}.compliance-logo-name{letter-spacing:-.02em;color:var(--txt);font-size:13px;font-weight:800}.compliance-persona-tag{font-size:8px;font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--pa);color:var(--pa);border-radius:3px;padding:2px 6px}.compliance-nav-link{font-size:11px;font-weight:700;font-family:var(--mono);color:var(--txt2);border-radius:5px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;transition:background .12s,color .12s;display:flex}.compliance-nav-link:hover{color:var(--txt);background:#0000000d}.compliance-nav-link.active{color:var(--pa)}.compliance-nav-icon{font-size:13px}.compliance-nav-label{font-size:11px}.compliance-nav-spacer{flex:1}.compliance-connected{font-size:10px;font-family:var(--mono);color:var(--green);align-items:center;gap:5px;display:flex}.compliance-status-dot{background:var(--green);width:5px;height:5px;box-shadow:0 0 5px var(--green);border-radius:50%}.compliance-ps-wrap{position:relative}.compliance-ps-btn{cursor:pointer;border:1px solid var(--b1);background:var(--panel);color:var(--txt);border-radius:6px;align-items:center;gap:7px;padding:5px 11px;font-family:IBM Plex Sans,sans-serif;display:flex}.compliance-ps-avatar{width:22px;height:22px;font-size:9px;font-weight:700;font-family:var(--mono);border:1px solid var(--pa);color:var(--pa);border-radius:50%;justify-content:center;align-items:center;display:flex}.compliance-ps-name{font-size:11px;font-weight:700}.compliance-ps-caret{color:var(--txt2);font-size:9px}.compliance-ps-dropdown{background:var(--panel);border:1px solid var(--b2);z-index:200;border-radius:8px;min-width:210px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 16px 40px #00000026}.compliance-ps-item{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:9px;padding:9px 14px;transition:background .1s;display:flex}.compliance-ps-item:hover{background:#0000000d}.compliance-ps-item.active{border-left-color:var(--pa)}.compliance-ps-item-av{width:26px;height:26px;font-size:9px;font-weight:700;font-family:var(--mono);border:1px solid;border-radius:50%;justify-content:center;align-items:center;display:flex}.compliance-ps-item-name{color:var(--txt);font-size:11px;font-weight:700}.compliance-ps-item-role{font-size:9px;font-family:var(--mono);color:var(--txt2)}.compliance-main{flex:1;min-height:0;display:flex;overflow:hidden}.compliance-badge{font-size:9px;font-weight:700;font-family:var(--mono);letter-spacing:.04em;white-space:nowrap;border:1px solid;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.st-draft{color:var(--txt2);border-color:var(--b1);background:0 0}.st-review{color:var(--amber);background:var(--adim);border-color:#f5a6234d;animation:2s infinite pulse}.st-approved{color:var(--teal);background:var(--tdim);border-color:#2dd4bf4d}.st-published{color:var(--green);background:var(--gdim);border-color:#39d98a4d}.st-deprecated,.risk-critical{color:var(--red);background:var(--rdim);border-color:#ff47574d}.risk-high{color:var(--amber);background:var(--adim);border-color:#f5a6234d}.risk-medium{color:var(--blue);background:var(--bdim);border-color:#4090ff4d}.risk-low{color:var(--green);background:var(--gdim);border-color:#39d98a4d}.compliance-ring-wrap{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.compliance-ring-score{font-size:10px;font-weight:700;font-family:var(--mono);position:absolute}.score-green{color:var(--green)}.score-amber{color:var(--amber)}.score-red{color:var(--red)}.compliance-panel-head{border-bottom:1px solid var(--b1);background:var(--rail);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.compliance-panel-label{color:var(--txt2);font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.compliance-sidebar{background:var(--panel);border-right:1px solid var(--b1);flex-direction:column;flex-shrink:0;width:256px;display:flex;overflow:hidden}.compliance-scrollable{flex:1;overflow-y:auto}.compliance-row{border-bottom:1px solid var(--b1);cursor:pointer;border-left:3px solid #0000;padding:10px 14px;transition:background .1s}.compliance-row:hover{background:#00000008}.compliance-row.active{border-left-color:var(--pa)}.compliance-row-name{font-size:11px;font-weight:700;line-height:1.3}.compliance-row-meta{flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;display:flex}.compliance-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.compliance-content-scroll{flex:1;padding:18px;overflow-y:auto}.compliance-dashboard{flex:1;padding:24px;overflow-y:auto}.compliance-dashboard h1{margin-bottom:8px;font-size:18px;font-weight:700}.compliance-dashboard p{color:var(--txt2);font-size:13px}.compliance-workbench{flex:1;min-height:0;display:flex;overflow:hidden}.compliance-placeholder{color:var(--txt3);font-size:13px;font-family:var(--mono);flex:1;justify-content:center;align-items:center;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.compliance-app ::-webkit-scrollbar{width:4px;height:4px}.compliance-app ::-webkit-scrollbar-track{background:var(--bg)}.compliance-app ::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}
