/* TeamVector — RACI matrix builder styles */
.raci-wrap{margin-top:8px;overflow-x:auto;border:1px solid var(--z200);border-radius:var(--r-2);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:var(--fs-2);color:var(--t-muted);font-family:'JetBrains Mono',monospace;padding:12px 14px!important;text-align:left;white-space:nowrap;}
.raci-rolei{background:var(--z100);position:relative;padding:8px 8px!important;min-width:96px;}
.raci-role{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:var(--fs-3);font-weight:600;color:var(--t-strong);text-align:center;border-radius:var(--r-1);padding:8px 16px 8px 8px;}
.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(--t-on-dark-muted);cursor:pointer;font-size:var(--fs-1);padding:2px 4px;border-radius:var(--r-1);}
.raci-delcol:hover{color:var(--t-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:var(--r-1);color:var(--t-brand);cursor:pointer;font-size:var(--fs-5);}
.raci-addcol button:hover{border-color:var(--teal-400);background:var(--teal-50);}
.raci-taskc{position:relative;padding:8px 8px!important;min-width:170px;background:#fff;}
.raci-task{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:var(--fs-3);color:var(--t-strong);border-radius:var(--r-1);padding:8px 24px 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(--t-on-dark-muted);cursor:pointer;font-size:var(--fs-2);padding:3px 4px;border-radius:var(--r-1);}
.raci-delrow:hover{color:var(--t-danger);background:#FEF2F2;}
.raci-cell{text-align:center;padding:5px!important;}
.raci-c{width:38px;height:38px;border:none;border-radius:var(--r-1);font-weight:700;font-size:var(--fs-4);cursor:pointer;font-family:'JetBrains Mono',monospace;transition:.12s;background:var(--bg);color:var(--t-on-dark-muted);}
.raci-c:hover{transform:scale(1.08);}
.raci-c.v-R{background:#0F766E;color:var(--t-on-dark);}
.raci-c.v-A{background:#E3334E;color:var(--t-on-dark);}
.raci-c.v-C{background:#D97706;color:var(--t-on-dark);}
.raci-c.v-I{background:#537CFA;color:var(--t-on-dark);}
.raci-c.v-none{background:var(--z100);color:var(--t-on-dark-muted);}

.raci-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;}
.raci-toolbar .btn{padding:8px 16px;font-size:var(--fs-4);}
.raci-tb-right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.raci-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;}
.raci-lg{display:flex;align-items:center;gap:8px;font-size:var(--fs-3);color:var(--t-muted);}
.raci-lg .b{width:24px;height:24px;border-radius:var(--r-1);display:flex;align-items:center;justify-content:center;color:var(--t-on-dark);font-weight:700;font-size:var(--fs-2);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:var(--fs-2);color:var(--t-muted);margin:8px 0 0;font-family:'JetBrains Mono',monospace;}
.raci-warns{margin-top:16px;border-radius:var(--r-1);padding:16px 16px;font-size:var(--fs-4);}
.raci-warns:not([hidden]){display:block;}
.raci-warn-h{color:var(--t-danger);font-weight:600;margin-bottom:8px;}
.raci-warns ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--t-body);}
.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(--t-brand);font-weight:600;}
