.project-risks { color:var(--text,#17313d); font-size:12px; width:100%; min-width:0; }
.risk-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 0; border-bottom:1px solid var(--line,#b7ceca); }
.risk-heading { margin-right:auto; }
.risk-heading h2 { font-size:18px; font-weight:600; margin:0 0 3px; }
.risk-heading span { font-size:12px; }
.risk-toolbar label { margin:0; }
.risk-toolbar input,.risk-toolbar select { font-size:12px; height:34px; min-height:34px; padding:5px 8px; margin:0; width:auto; max-width:100%; }
.risk-search input { width:230px; }
.project-risks .sr-only,.risk-association-dialog .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.risk-mode .project-application-mode { margin:0; }
.risk-status { margin:6px 0; min-height:18px; overflow-wrap:anywhere; }
.risk-summary { padding:4px 0 12px; }
.risk-table-scroll { width:100%; overflow:auto; }
.risk-table { width:100%; min-width:1160px; border-collapse:collapse; font-size:12px; }
.risk-table tr[data-risk-id] > td:nth-child(2) { white-space:nowrap; }
.risk-table th { text-align:left; font-weight:600; background:var(--panel,#eef3f1); white-space:nowrap; }
.risk-table th,.risk-table td { padding:8px 6px; border-bottom:1px solid var(--line,#b7ceca); vertical-align:top; }
.risk-description { min-width:200px; max-width:420px; overflow-wrap:anywhere; }
.risk-table td { overflow-wrap:anywhere; }
.risk-actions { display:flex; gap:3px; }
.project-risks .risk-icon,.risk-association-dialog .risk-icon { display:inline-flex; flex:none; align-items:center; justify-content:center; width:30px; height:30px; min-height:30px; padding:5px; margin:0; border:1px solid transparent; border-radius:4px; background:transparent; color:inherit; cursor:pointer; }
.risk-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; }
.risk-icon span { font-size:20px; line-height:1; }
.risk-icon:hover:not(:disabled),.risk-icon:focus-visible { background:rgba(73,126,109,.12); outline:1px solid #527c6e; }
.risk-icon:disabled { opacity:.35; cursor:default; }
.risk-score { white-space:nowrap; display:inline-block; padding:3px 5px; border-radius:3px; font-size:12px; }
.project-risks .risk-score,.project-risks .risk-score b { color:#000 !important; }
.risk-alto { background:#fde7e8; }
.risk-medio { background:#fff0ce; }
.risk-basso { background:#def1e9; }
.risk-overdue { color:#b52d43; font-weight:600; }
.risk-empty { text-align:center; padding:24px !important; }
.project-risks [hidden] { display:none !important; }
.risk-children { padding:4px 12px 12px; border-left:2px solid var(--line,#b7ceca); }
.risk-children-heading { display:flex; align-items:center; gap:12px; }
.risk-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 16px; margin:6px 0 14px; }
.risk-detail-grid dt { font-size:11px; color:var(--muted,#576f70); margin-bottom:3px; }
.risk-detail-grid dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.risk-children ul { list-style:none; padding:0; margin:0; }
.risk-children li { display:flex; align-items:center; gap:10px; padding:6px 0; border-bottom:1px solid var(--line,#b7ceca); }
.risk-branch { width:14px; height:12px; border-left:1px solid #86a89e; border-bottom:1px solid #86a89e; flex:none; }
.risk-children li.risk-requirement-node { display:block; }
.risk-requirement-line { display:flex; align-items:center; gap:10px; }
.risk-children ul.risk-wbs-nodes { margin:4px 0 0 34px; padding-left:12px; border-left:1px solid var(--line,#b7ceca); }
.risk-wbs-nodes li:last-child { border-bottom:0; }
.risk-wbs-nodes small { color:var(--muted,#576f70); }
.risk-requirement-title { flex:1; min-width:150px; overflow-wrap:anywhere; }
.risk-requirement-title small,.risk-association-list small { display:block; margin-top:3px; color:var(--muted,#576f70); }
.risk-editor { padding:14px 8px; border-block:1px solid var(--line,#b7ceca); margin:8px 0; }
.risk-editor h3 { font-size:14px; margin:0 0 12px; }
.risk-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.risk-fields label { display:grid; gap:4px; margin:0; min-width:0; }
.risk-fields input,.risk-fields select,.risk-fields textarea { box-sizing:border-box; width:100%; min-width:0; font:inherit; margin:0; padding:7px; min-height:34px; border:1px solid var(--line,#b7ceca); border-radius:4px; }
.risk-fields textarea { resize:vertical; }
.risk-wide { grid-column:span 2; }
.risk-calculated { display:grid; align-content:start; gap:7px; }
.risk-editor footer,.risk-association-dialog footer { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.risk-editor footer button,.risk-association-dialog footer button { min-height:34px; padding:6px 14px; font-size:12px; }
.risk-association-dialog { width:min(760px,calc(100vw - 32px)); max-height:85vh; box-sizing:border-box; padding:18px; border:1px solid var(--line,#b7ceca); border-radius:6px; color:var(--text,#17313d); background:var(--panel,#fff); }
.risk-association-dialog::backdrop { background:rgba(0,0,0,.3); }
.risk-association-dialog form { display:flex; flex-direction:column; max-height:calc(85vh - 38px); }
.risk-association-dialog header { display:flex; justify-content:space-between; align-items:center; }
.risk-association-dialog h3 { font-size:16px; margin:0 0 10px; }
.risk-association-dialog input[type=search] { box-sizing:border-box; width:100%; min-height:34px; font-size:12px; }
.risk-association-count { margin:8px 0; font-size:12px; }
.risk-association-list { overflow:auto; min-height:90px; }
.risk-association-list label { display:flex; align-items:flex-start; gap:10px; padding:9px 0; border-bottom:1px solid var(--line,#b7ceca); font-size:12px; }
.risk-association-list input[type=checkbox] { width:16px; height:16px; min-height:16px; flex:none; margin:0; }
.risk-association-list span { overflow-wrap:anywhere; }
@media(max-width:700px){
  .risk-heading { width:100%; }
  .risk-mode { width:100%; }
  .risk-search { flex:1 1 100%; }
  .risk-search input { width:100%; }
  .risk-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .risk-editor-row .risk-fields { max-width:calc(100vw - 80px); }
}
.project-risks .risk-import-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;color:inherit;border:1px solid var(--border,#ccd8d3)}
.risk-import-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.risk-import-dialog{width:min(860px,calc(100vw - 32px));max-height:90vh;overflow:auto}
.risk-import-dialog input[type=file]{display:block;max-width:100%;margin:8px 0}
.risk-import-rows{max-height:40vh;overflow:auto}
.risk-import-rows table{width:100%;border-collapse:collapse;font-size:12px}
.risk-import-rows th,.risk-import-rows td{text-align:left;padding:8px;border-bottom:1px solid var(--border,#ccd8d3)}
.risk-import-dialog .risk-import-skip{display:flex;align-items:center;gap:8px}
.risk-import-dialog .risk-import-skip input{width:auto}
