/* TeamVector — RACI matrix builder styles */
.raci-wrap{margin-top:8px;overflow-x:auto;border:1px solid var(--z200);border-radius:16px;background:#fff;box-shadow:0 24px 50px -36px rgba(11,17,32,.28);}
#raci-table{width:100%;border-collapse:collapse;min-width:560px;}
#raci-table th,#raci-table td{border-bottom:1px solid var(--z200);border-right:1px solid var(--z200);padding:0;}
#raci-table th:last-child,#raci-table td:last-child{border-right:none;}
#raci-table tbody tr:last-child td{border-bottom:none;}
.raci-corner{background:var(--z100);font-size:11px;color:var(--z500);font-family:'JetBrains Mono',monospace;padding:12px 14px!important;text-align:left;white-space:nowrap;}
.raci-rolei{background:var(--z100);position:relative;padding:6px 8px!important;min-width:96px;}
.raci-role{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--ink);text-align:center;border-radius:6px;padding:6px 18px 6px 6px;}
.raci-role:focus{outline:none;background:#fff;border-color:var(--teal-400);}
.raci-delcol{position:absolute;top:4px;right:4px;border:none;background:transparent;color:var(--z300);cursor:pointer;font-size:10px;padding:2px 4px;border-radius:4px;}
.raci-delcol:hover{color:var(--danger);background:#FEF2F2;}
.raci-addcol{background:var(--z100);width:38px;}
.raci-addcol button{width:28px;height:28px;border:1px dashed var(--z300);background:#fff;border-radius:8px;color:var(--teal-700);cursor:pointer;font-size:15px;}
.raci-addcol button:hover{border-color:var(--teal-400);background:var(--teal-50);}
.raci-taskc{position:relative;padding:6px 8px!important;min-width:170px;background:#fff;}
.raci-task{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:13.5px;color:var(--ink);border-radius:6px;padding:8px 22px 8px 8px;}
.raci-task:hover{background:var(--z100);}
.raci-task:focus{outline:none;background:#fff;border-color:var(--teal-400);box-shadow:0 0 0 3px rgba(20,184,166,.15);}
.raci-delrow{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:none;background:transparent;color:var(--z300);cursor:pointer;font-size:11px;padding:3px 5px;border-radius:5px;}
.raci-delrow:hover{color:var(--danger);background:#FEF2F2;}
.raci-cell{text-align:center;padding:5px!important;}
.raci-c{width:38px;height:38px;border:none;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer;font-family:'JetBrains Mono',monospace;transition:.12s;background:var(--bg);color:var(--z300);}
.raci-c:hover{transform:scale(1.08);}
.raci-c.v-R{background:#0F766E;color:#fff;}
.raci-c.v-A{background:#E3334E;color:#fff;}
.raci-c.v-C{background:#D97706;color:#fff;}
.raci-c.v-I{background:#537CFA;color:#fff;}
.raci-c.v-none{background:var(--z100);color:var(--z300);}

.raci-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.raci-toolbar .btn{padding:9px 15px;font-size:14px;}
.raci-tb-right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.raci-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
.raci-lg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--z600);}
.raci-lg .b{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;font-family:'JetBrains Mono',monospace;flex:none;}
.raci-lg .b.R{background:#0F766E;}.raci-lg .b.A{background:#E3334E;}.raci-lg .b.C{background:#D97706;}.raci-lg .b.I{background:#537CFA;}
.raci-hint{font-size:12.5px;color:var(--z500);margin:10px 0 0;font-family:'JetBrains Mono',monospace;}
.raci-warns{margin-top:18px;border-radius:12px;padding:16px 18px;font-size:14px;}
.raci-warns:not([hidden]){display:block;}
.raci-warn-h{color:var(--danger);font-weight:600;margin-bottom:8px;}
.raci-warns ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--z700);}
.raci-warns .raci-warn-h ~ ul,.raci-warns ul{}
.raci-warns{background:#FEF2F2;border:1px solid #FECACA;}
.raci-warns:has(.raci-ok){background:var(--teal-50);border-color:var(--teal-100);}
.raci-ok{color:var(--teal-700);font-weight:600;}
