/* Project detail risk radar: module -> category -> item/spec -> month. */
.project-risk-hero{align-items:stretch}.risk-hero-method{width:min(360px,34%);padding:18px;border:1px solid rgba(160,210,245,.2);border-radius:16px;background:rgba(7,20,46,.28);display:flex;flex-direction:column;justify-content:center}.risk-hero-method b{color:#fff;font-size:18px}.risk-hero-method span{margin-top:8px;color:#bce3ef;font-size:12px;line-height:1.6}.risk-hero-method small{margin-top:7px;color:#8ca9cb;font-size:10px}.project-risk-filter{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-risk-filter h2{margin:2px 0}.project-risk-filter>div>small{color:var(--muted)}.project-risk-filter form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-risk-filter select{min-width:170px}.project-risk-kpis .kpi strong{font-variant-numeric:tabular-nums}
.risk-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.risk-module-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);transition:.18s ease}.risk-module-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(28,49,88,.09)}.risk-module-card>span{display:flex;align-items:center;gap:6px;min-width:0}.risk-module-card>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-module-card>span em{padding:2px 6px;border-radius:99px;background:#eef2f7;color:#72809a;font-size:8px;font-style:normal;white-space:nowrap}.risk-module-card>strong{font-size:18px;text-align:right}.risk-module-card>small{grid-column:1/-1;color:var(--muted);font-size:9px}.risk-module-card.high{border-color:#f2cbd1;background:#fff8f9}.risk-module-card.high strong,.risk-module-card.high>span em{color:#c73749}.risk-module-card.high>span em{background:#ffe8eb}.risk-module-card.forecast{border-color:#f3d6ad;background:#fffbf5}.risk-module-card.forecast strong,.risk-module-card.forecast>span em{color:#b66a19}.risk-module-card.forecast>span em{background:#ffefd9}.risk-module-card.mid{border-color:#eee1a9;background:#fffdf4}.risk-module-card.mid strong{color:#9b7514}.risk-usage-track{grid-column:1/-1;height:6px;border-radius:99px;background:#edf1f6;overflow:hidden}.risk-usage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3cae8a,#5e7bdb)}.risk-module-card.high .risk-usage-track i{background:linear-gradient(90deg,#ec7c69,#d84457)}.risk-module-card.forecast .risk-usage-track i,.risk-module-card.mid .risk-usage-track i{background:linear-gradient(90deg,#edb24f,#dc7d24)}
.monthly-risk-table td small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.risk-cause-list{display:flex;gap:4px;flex-wrap:wrap}.risk-cause-list span{padding:3px 7px;border-radius:99px;background:#ffecee;color:#bd3445;font-size:9px;font-weight:700}.risk-detail-modules{display:grid;gap:12px}.risk-detail-module{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fbfcfe}.risk-detail-module>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;background:#fff}.risk-detail-module>summary>div{display:flex;align-items:center;gap:10px;min-width:0}.risk-detail-module>summary b,.risk-detail-module>summary small{display:block}.risk-detail-module>summary small{margin-top:3px;color:var(--muted);font-size:9px}.risk-detail-module>summary>strong{margin-left:auto;font-size:13px}.risk-detail-module>summary>em{color:var(--muted);font-size:10px;font-style:normal}.risk-module-mark{width:34px;height:34px;border-radius:10px;background:#ffe9ec;color:#c43849;display:grid;place-items:center;font-weight:900}.risk-detail-module.forecast .risk-module-mark,.risk-detail-module.mid .risk-module-mark{background:#fff0dc;color:#b86a18}.risk-category-list{display:grid;gap:12px;padding:13px;background:#f6f8fb}.risk-category-block{overflow:hidden;border:1px solid #e0e5ed;border-radius:12px;background:#fff}.risk-category-block>header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0f4;background:#fbfcfe}.risk-category-block>header>div{min-width:0;margin-right:auto}.risk-category-block>header b,.risk-category-block>header small{display:block}.risk-category-block>header small{margin-top:3px;color:var(--muted);font-size:9px}.risk-category-block>header>em{font-size:9px;font-style:normal;color:var(--muted)}.risk-parent-state{padding:4px 8px;border-radius:99px;font-size:9px;font-weight:800}.risk-parent-state.safe{background:#e9f8f1;color:#158258}.risk-parent-state.high{background:#ffe9ec;color:#c13648}.risk-item-list{display:grid;gap:10px;padding:11px}.risk-item-card{padding:14px;border:1px solid #e5e9ef;border-left:4px solid #d9dee7;border-radius:11px;background:#fff}.risk-item-card.high,.risk-item-card.missing{border-left-color:#d64153}.risk-item-card.forecast{border-left-color:#df8b2e}.risk-item-card.mid{border-left-color:#caa33d}.risk-item-title{display:flex;align-items:center;gap:10px}.risk-item-title>div{min-width:0;margin-right:auto}.risk-item-title b,.risk-item-title small{display:block}.risk-item-title small{margin-top:3px;color:var(--muted);font-size:9px}.risk-item-title small em{color:#c63c4d;font-style:normal;font-weight:800}.risk-severity{padding:5px 8px;border-radius:8px;font-size:9px;font-weight:900;white-space:nowrap}.risk-severity.high,.risk-severity.missing{background:#ffe9ec;color:#bf3144}.risk-severity.forecast{background:#fff0dc;color:#ad6418}.risk-severity.mid{background:#fff8d8;color:#907112}.risk-item-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.risk-item-metrics>div{padding:10px;border-radius:9px;background:#f7f9fc}.risk-item-metrics span,.risk-item-metrics b,.risk-item-metrics small{display:block}.risk-item-metrics span{color:var(--muted);font-size:9px}.risk-item-metrics b{margin-top:4px;font-size:14px}.risk-item-metrics small{margin-top:3px;color:var(--muted);font-size:8px}.risk-reason-box{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.risk-reason-box>div{padding:10px 12px;border:1px dashed #d9dee7;border-radius:9px}.risk-reason-box b,.risk-reason-box span{display:block}.risk-reason-box b{margin-bottom:5px;font-size:10px}.risk-reason-box span{margin-top:3px;color:#65738a;font-size:9px;line-height:1.5}.risk-month-trace{margin-top:10px}.risk-month-trace>summary{cursor:pointer;color:#4e65bc;font-size:10px;font-weight:800}.risk-month-trace .table-wrap{margin-top:8px;max-height:300px}.risk-month-trace table{min-width:900px}.risk-month-trace th,.risk-month-trace td{padding:8px 10px;font-size:9px}.risk-all-clear{display:flex;align-items:center;justify-content:center;gap:13px;padding:32px}.risk-all-clear>span{width:40px;height:40px;border-radius:50%;background:#e8f8f1;color:#15936a;display:grid;place-items:center;font-weight:900}.risk-all-clear b,.risk-all-clear small{display:block}.risk-all-clear small{margin-top:4px;color:var(--muted)}
.risk-diagnostic-list{display:grid;gap:7px}.risk-diagnostic-list>a{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text)}.risk-diagnostic-list>a>span{width:28px;height:28px;border-radius:8px;background:#eef2f7;color:#61708b;display:grid;place-items:center;font-size:9px;font-weight:900}.risk-diagnostic-list>a.high>span{background:#ffe8eb;color:#c33447}.risk-diagnostic-list>a.medium>span{background:#fff0dd;color:#b56a1e}.risk-diagnostic-list b,.risk-diagnostic-list small,.risk-diagnostic-list em{display:block}.risk-diagnostic-list small{margin-top:2px;color:#59677d;font-size:9px}.risk-diagnostic-list em{margin-top:3px;color:var(--muted);font-size:8px;font-style:normal}.risk-diagnostic-list>a>i{font-style:normal}.module-detail-risk-panel{border-top:3px solid #d94355}.module-detail-risk-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:11px}.module-detail-risk-summary>div{padding:10px;border-radius:9px;background:#f7f9fc}.module-detail-risk-summary span,.module-detail-risk-summary b,.module-detail-risk-summary small{display:block}.module-detail-risk-summary span{color:var(--muted);font-size:9px}.module-detail-risk-summary b{margin-top:3px}.module-detail-risk-summary small{margin-top:2px;color:var(--muted);font-size:8px}.module-detail-risk-list{display:grid;gap:6px}.module-detail-risk-list>a{display:grid;grid-template-columns:auto minmax(150px,1fr) repeat(3,minmax(100px,auto)) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid #e4e8ef;border-radius:9px;color:var(--text)}.module-detail-risk-list>a>span{padding:3px 6px;border-radius:99px;background:#ffe9ec;color:#c2384a;font-size:8px;font-weight:900}.module-detail-risk-list>a.forecast>span,.module-detail-risk-list>a.mid>span{background:#fff0da;color:#ad651c}.module-detail-risk-list b small{display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:400}.module-detail-risk-list em{font-size:9px;font-style:normal}.module-detail-risk-list i{font-style:normal}.workbook-table tbody tr:target td,.workbook-table tbody tr.risk-focus-row td{outline:2px solid rgba(218,61,79,.32);outline-offset:-2px;background:#fff1f3}.workbook-total-row td[data-fixed-total="1"]{background:#f4f7ff;color:#5065b9}.project-risk-radar .project-alert-head{text-decoration:none}
@media(max-width:1250px){.risk-module-grid{grid-template-columns:repeat(3,1fr)}.risk-item-metrics{grid-template-columns:repeat(2,1fr)}.module-detail-risk-list>a{grid-template-columns:auto 1fr auto}.module-detail-risk-list em{display:none}}
@media(max-width:800px){.project-risk-hero,.project-risk-filter{display:block}.risk-hero-method{width:auto;margin-top:16px}.project-risk-filter form{margin-top:13px}.project-risk-filter select{width:100%}.risk-module-grid{grid-template-columns:1fr}.risk-item-title{align-items:flex-start;flex-wrap:wrap}.risk-item-title .btn{width:100%}.risk-item-metrics,.risk-reason-box,.module-detail-risk-summary{grid-template-columns:1fr}.risk-category-block>header{align-items:flex-start;flex-wrap:wrap}.risk-category-block>header>div{width:100%}.monthly-risk-table{min-width:900px}.module-detail-risk-list>a{grid-template-columns:auto 1fr}.module-detail-risk-list>a>i{display:none}}

/* Compact risk workspace: overview first, details on demand. */
.risk-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.risk-module-card{min-height:126px;padding:16px 17px;align-content:start}.risk-module-card>small:last-child{padding-top:7px;border-top:1px solid rgba(125,139,164,.14)}
.project-risk-details>.panel-head{margin-bottom:12px}.risk-detail-modules{gap:9px}.risk-detail-module>summary{min-height:66px;padding:13px 16px}.risk-detail-module:not([open])>summary{border-radius:14px}.risk-detail-module[open]>summary{border-bottom:1px solid #e8ecf2;box-shadow:0 5px 14px rgba(31,53,91,.04)}.risk-detail-module>summary::-webkit-details-marker{display:none}
.risk-category-list{gap:9px;padding:10px}.risk-item-list{gap:8px;padding:9px}.risk-item-card{padding:12px 13px}.risk-item-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.risk-item-metrics>div{padding:8px 9px}.risk-reason-box{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7px;margin-top:8px}.risk-reason-box>div{padding:8px 10px;background:#fbfcfe}.risk-reason-box span{display:list-item;margin-left:14px}.monthly-risk-panel .table-wrap{max-height:430px;overflow:auto}.risk-diagnostic-list{max-height:420px;overflow:auto;padding-right:3px}
@media(max-width:1250px){.risk-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.risk-module-grid{grid-template-columns:1fr}.risk-item-metrics,.risk-reason-box{grid-template-columns:1fr}}
