/* TripChow Communications Hub UI, governance screens (Actors, Policies, Safety, Audit log), part 4. Same conventions as 92-comms-core.css: every rule under
   body.tcv2 (the page host .tcc), the theme's --tc2-* tokens through the variables 92 defines, one @media screen block, phone rules at the end.
   Components: side drawer, kind chips, number box with "no limit", scope checkboxes with locked rows, usage lines, rule list, policy tester, stop-switch banner,
   save bar, chain bar. */
@media screen{
body.tcv2.tcc-noscroll{overflow:hidden}
body.tcv2 .tcc .kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr))}
body.tcv2 .tcc .tg.adv{background:#F5F3FF;color:#6D28D9;border-color:#DDD6FE}
body.tcv2 .tcc .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
body.tcv2 .tcc .bad2{color:var(--red);font-weight:800}
body.tcv2 .tcc .dim{opacity:.6}
body.tcv2 .tcc .chip.sm{padding:3px 9px;font-size:11px}

/* kind chips */
body.tcv2 .tcc .kd{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:800;white-space:nowrap;background:#F3F4F6;color:#475569}
body.tcv2 .tcc .kd .ic{width:13px;height:13px}
body.tcv2 .tcc .kd.human{background:var(--skybg);color:var(--sky)}
body.tcv2 .tcc .kd.automation{background:var(--amberbg);color:var(--amberfg)}
body.tcv2 .tcc .kd.agent{background:#F5F3FF;color:#6D28D9}
body.tcv2 .tcc .kd.mini{padding:5px;border-radius:9px}
body.tcv2 .tcc .kd.mini .ic{width:16px;height:16px}
body.tcv2 .tcc .actl tr.off td{opacity:.6}
body.tcv2 .tcc .actl tr.off td:first-child{opacity:.85}
body.tcv2 .tcc .use{display:inline-flex;align-items:center;gap:8px;min-width:150px}
body.tcv2 .tcc .use .bar{width:90px;flex:none}

/* drawer */
body.tcv2 .tcc .dv{position:fixed;inset:0;background:rgba(17,24,39,.5);display:flex;justify-content:flex-end;z-index:1900}
body.tcv2 .tcc .dr{background:#fff;width:min(640px,100%);height:100%;display:flex;flex-direction:column;box-shadow:-18px 0 44px rgba(0,0,0,.28)}
body.tcv2 .tcc .drh{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--line)}
body.tcv2 .tcc .drh h4{font-size:17px;font-weight:800;line-height:1.25}
body.tcv2 .tcc .drsub{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
body.tcv2 .tcc .drb{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}
body.tcv2 .tcc .drf{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line);background:#F9FAFB}
body.tcv2 .tcc .drs{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}
body.tcv2 .tcc .drs>h6{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:800;margin-bottom:12px}
body.tcv2 .tcc .drs>h6 em{font-style:normal;font-weight:700;font-size:11px;color:var(--mut2);margin-left:auto}
body.tcv2 .tcc .drb [data-recent]{display:flex;flex-direction:column;gap:16px}
body.tcv2 .tcc .drs .rl{display:grid;gap:8px;margin-bottom:8px}
body.tcv2 .tcc .drs .rl li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;font-weight:700}
body.tcv2 .tcc .drs .rl a{color:var(--adm)}

/* number box */
body.tcv2 .tcc .nbw{display:flex;align-items:center;gap:8px}
body.tcv2 .tcc .nbw .u{font-size:12px;font-weight:800;color:var(--mut)}
body.tcv2 .tcc .nbx{display:flex;align-items:stretch;border:2px solid var(--ink);border-radius:12px;overflow:hidden;background:#fff;width:100%;max-width:240px;min-height:40px}
body.tcv2 .tcc .nbx button{width:42px;flex:none;border:0;background:#F3F4F6;font-size:18px;font-weight:800;cursor:pointer;color:var(--ink);font-family:inherit}
body.tcv2 .tcc .nbx button:hover{background:#E5E7EB}
body.tcv2 .tcc .nbx button[disabled]{opacity:.4;cursor:not-allowed}
body.tcv2 .tcc .nbx .inp{border:0;border-radius:0;text-align:center;min-height:36px;flex:1;min-width:0;padding:6px 4px}
body.tcv2 .tcc .nbx .inp:focus{outline-offset:-3px}
body.tcv2 .tcc .nbx.nolim .inp::placeholder{color:var(--mut);font-weight:800}
body.tcv2 .tcc .limrow{padding:10px 0;border-top:1px solid #F1F5F9}
body.tcv2 .tcc .limrow:first-child{border-top:0;padding-top:0}
body.tcv2 .tcc .limh{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;font-size:12.5px}
body.tcv2 .tcc .limh b{display:inline-flex;align-items:center;gap:8px}

/* scopes */
body.tcv2 .tcc .scgrp+.scgrp{margin-top:14px}
body.tcv2 .tcc .scg{display:grid;gap:6px}
body.tcv2 .tcc .scr{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border:1.5px solid var(--line);border-radius:11px;cursor:pointer;background:#fff}
body.tcv2 .tcc .scr input{width:18px;height:18px;margin-top:2px;accent-color:var(--adm);flex:none}
body.tcv2 .tcc .scr .t{font-size:13px;font-weight:700;min-width:0}
body.tcv2 .tcc .scr .t b{font-weight:800}
body.tcv2 .tcc .scr .t code{font-size:11px;background:rgba(0,0,0,.06);padding:0 4px;border-radius:4px;color:var(--mut)}
body.tcv2 .tcc .scr .t small{display:block;font-size:11.5px;font-weight:600;color:var(--mut);margin-top:2px}
body.tcv2 .tcc .scr.on{border-color:var(--adm);background:#F7FCF9}
body.tcv2 .tcc .scr.lock{background:#F9FAFB;cursor:not-allowed;border-style:dashed}
body.tcv2 .tcc .scr.lock .t>b,body.tcv2 .tcc .scr.lock .t>code{opacity:.65}
body.tcv2 .tcc .scr .why{display:flex;gap:6px;align-items:flex-start;margin-top:5px;font-size:11.5px;font-weight:800;color:var(--amberfg)}
body.tcv2 .tcc .scr .why .ic{width:13px;height:13px;margin-top:1px}
body.tcv2 .tcc .scr.err{border-color:var(--red);background:#FFFBFB}
body.tcv2 .tcc .swrow2{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:6px 0}
body.tcv2 .tcc .swrow2+.swrow2{border-top:1px solid #F1F5F9;margin-top:6px;padding-top:12px}
body.tcv2 .tcc .swrow2 b{font-size:13px;font-weight:800}
body.tcv2 .tcc .why2{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:11.5px;font-weight:800;color:var(--amberfg)}
body.tcv2 .tcc .why2 .ic{width:13px;height:13px}

/* policies */
body.tcv2 .tcc .rul{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
body.tcv2 .tcc .card>.rul:first-child{border-top:0}
body.tcv2 .tcc .rul.off .sen,body.tcv2 .tcc .rul.off .rt b{opacity:.55}
body.tcv2 .tcc .rul .no{width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--adm);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
body.tcv2 .tcc .rul.off .no{background:#F3F4F6;color:var(--mut)}
body.tcv2 .tcc .rul .rt{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
body.tcv2 .tcc .rul .rt b{font-size:14px;font-weight:800}
body.tcv2 .tcc .rul .sen{font-size:13px;font-weight:600;color:#334155;margin-top:4px;line-height:1.45}
body.tcv2 .tcc .rul .ra{display:flex;gap:8px;align-items:center}
body.tcv2 .tcc .spw{margin-top:4px;display:flex;align-items:center;gap:8px}
body.tcv2 .tcc .spec{display:inline-flex;gap:3px}
body.tcv2 .tcc .spec i{width:8px;height:8px;border-radius:50%;background:#E5E7EB;display:block}
body.tcv2 .tcc .spec i.on{background:var(--g2)}
body.tcv2 .tcc .sentbox{margin-top:12px;border-radius:12px;background:#F7FCF9;border:1.5px solid #BBF7D0;padding:10px 14px}
body.tcv2 .tcc .sentbox p{font-size:13.5px;font-weight:700;line-height:1.45;margin-top:2px}

/* tester */
body.tcv2 .tcc .smp{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff}
body.tcv2 .tcc .smpc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
body.tcv2 .tcc .smpc .ch{grid-column:1/-1}
body.tcv2 .tcc .smpc .nbx{max-width:none}
body.tcv2 .tcc .smpc .fl{font-size:11px;margin-bottom:4px}
body.tcv2 .tcc .vd{position:relative;margin-top:10px;border-radius:10px;padding:9px 40px 9px 12px;font-size:12.5px}
body.tcv2 .tcc .vd>b{font-weight:800;font-size:13px}
body.tcv2 .tcc .vd .btn{position:absolute;top:4px;right:4px}
body.tcv2 .tcc .vd.yes{background:var(--amberbg);color:var(--amberfg)}
body.tcv2 .tcc .vd.no{background:var(--okbg);color:var(--ok)}
body.tcv2 .tcc .vd.later{background:#F5F3FF;color:#6D28D9}
body.tcv2 .tcc .vd.none{background:#F3F4F6;color:var(--mut)}
body.tcv2 .tcc .vwhy{margin-top:6px;display:grid;gap:4px}
body.tcv2 .tcc .vwhy li{font-weight:600;font-size:12px;color:var(--ink);padding-left:12px;position:relative}
body.tcv2 .tcc .vwhy li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}
body.tcv2 .tcc .vwhy li.hit{color:var(--amberfg)}
body.tcv2 .tcc .vwhy li.miss{color:var(--mut)}

/* safety */
body.tcv2 .tcc .killban{display:flex;gap:14px;align-items:flex-start;border-radius:16px;padding:16px 18px;margin-bottom:14px;border:2px solid}
body.tcv2 .tcc .killban .ic{width:26px;height:26px;flex:none;margin-top:2px}
body.tcv2 .tcc .killban b{font-size:16px;font-weight:800}
body.tcv2 .tcc .killban small{display:block;font-size:12px;font-weight:700;margin-top:4px;opacity:.85}
body.tcv2 .tcc .killban div div{font-size:13px;font-weight:700;margin-top:2px}
body.tcv2 .tcc .killban.ok{background:#F0FDF4;border-color:#BBF7D0;color:var(--ok)}
body.tcv2 .tcc .killban.warn{background:var(--amberbg);border-color:#FDE68A;color:var(--amberfg)}
body.tcv2 .tcc .killban.bad{background:var(--redbg);border-color:#FECACA;color:var(--red)}
body.tcv2 .tcc .safe .ctiles{grid-template-columns:repeat(3,minmax(0,1fr))}
body.tcv2 .tcc .safe .ctile{flex-direction:column;align-items:flex-start;min-height:104px}
body.tcv2 .tcc .safe .ctile[disabled]{opacity:.45;cursor:not-allowed}
body.tcv2 .tcc .safe .ctile.on{border-color:var(--ink)}
body.tcv2 .tcc .savebar{position:sticky;bottom:12px;display:none;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.3);z-index:5}
body.tcv2 .tcc .savebar.on{display:flex}
body.tcv2 .tcc .savebar .btn{border-color:rgba(255,255,255,.35)}
body.tcv2 .tcc .savebar .btn:not(.pri){background:transparent;color:#fff}
body.tcv2 .tcc .savebar .btn.pri{background:#fff;color:var(--ink);border-color:#fff}

/* audit */
body.tcv2 .tcc .chainbar{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1.5px solid var(--line)}
body.tcv2 .tcc .chainbar.ok{border-color:#BBF7D0;background:#F7FDF9}
body.tcv2 .tcc .chainbar.bad{border-color:#FECACA;background:var(--redbg)}
body.tcv2 .tcc .chainbar .chip{cursor:default}
body.tcv2 .tcc .chainbar .chip b{font-weight:800;font-size:12.5px}
body.tcv2 .tcc .audt tr.detrow td{background:#F9FAFB;padding:12px 18px}
body.tcv2 .tcc .audt tr.detrow:hover td{background:#F9FAFB}
body.tcv2 .tcc .audt .kv{grid-template-columns:150px minmax(0,1fr)}
body.tcv2 .tcc .audt .kv dd{white-space:pre-wrap;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
@media (max-width:1100px){
body.tcv2 .tcc .kpis.k4{grid-template-columns:repeat(2,minmax(0,1fr))}
body.tcv2 .tcc .smpc{grid-template-columns:repeat(2,minmax(0,1fr))}
body.tcv2 .tcc .safe .ctiles{grid-template-columns:minmax(0,1fr)}
body.tcv2 .tcc .safe .ctile{flex-direction:row;align-items:center;min-height:0}
}
@media (max-width:760px){
body.tcv2 .tcc .dr{width:100%}
body.tcv2 .tcc .drh,body.tcv2 .tcc .drb,body.tcv2 .tcc .drf{padding-left:16px;padding-right:16px}
body.tcv2 .tcc .drf .btn{flex:1 1 auto}
body.tcv2 .tcc .drf .sp{display:none}
body.tcv2 .tcc .rul{grid-template-columns:34px minmax(0,1fr);padding:14px}
body.tcv2 .tcc .rul .ra{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
body.tcv2 .tcc .smpc{grid-template-columns:minmax(0,1fr)}
body.tcv2 .tcc .nbx{max-width:none}
body.tcv2 .tcc .killban{padding:14px}
body.tcv2 .tcc .savebar{bottom:8px}
body.tcv2 .tcc .savebar .btn{flex:1 1 auto}
body.tcv2 .tcc .actl .use{min-width:0;justify-content:flex-end}
body.tcv2 .tcc .audt .kv{grid-template-columns:100px minmax(0,1fr)}
body.tcv2 .tcc .audt tr.detrow{margin:-6px 12px 10px;border-radius:0 0 14px 14px;border-top:0}
body.tcv2 .tcc .chainbar{padding:12px}
body.tcv2 .tcc .limh{align-items:flex-start}
}
}
