/* ── Login ──────────────────────────────────────────────────────────────────── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%)}
.login-card{background:var(--surface);border-radius:16px;padding:40px;width:380px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.login-logo{font-size:22px;font-weight:800;color:var(--text);margin-bottom:6px}
.login-logo span{color:var(--accent)}
.login-sub{font-size:13px;color:var(--muted);margin-bottom:28px}
.login-error{background:var(--red-bg);color:var(--red);border:1px solid #fecaca;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px}

/* ── Dashboard Hero Tiles ───────────────────────────────────────────────────── */
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}
.hero-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;position:relative;transition:transform .15s, box-shadow .15s;display:block;width:100%;text-align:left}
.hero-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06)}
.hero-tile[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:var(--text-sm);line-height:1.5;white-space:normal;width:220px;z-index:1100;pointer-events:none;opacity:0;box-shadow:var(--shadow-md);transition:opacity .15s,transform .15s}
.hero-tile[data-tooltip]:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
.hero-tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}
.hero-tile.tile-good::before{background:var(--green)}
.hero-tile.tile-watch::before{background:var(--amber)}
.hero-tile.tile-risk::before{background:var(--red)}
.hero-tile.tile-info::before{background:var(--accent)}
.hero-tile.tile-muted::before{background:var(--border2)}
.hero-tile-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.hero-tile-icon{font-size:18px}
.hero-tile-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.hero-tile-value{font-size:30px;font-weight:800;line-height:1;margin-bottom:6px;display:flex;align-items:baseline;gap:6px}
.hero-tile-unit{font-size:14px;color:var(--muted);font-weight:600}
.hero-tile-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px}
.hero-tile-trend.up{background:var(--green-bg);color:var(--green)}
.hero-tile-trend.down{background:var(--red-bg);color:var(--red)}
.hero-tile-trend.flat{background:var(--bg);color:var(--muted)}
.hero-tile-sub{font-size:12px;color:var(--muted);line-height:1.4}

/* ── Maturity Level Pills ───────────────────────────────────────────────────── */
.lvl-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.3px}
.lvl-0{background:var(--red-bg);color:var(--red)}
.lvl-1{background:#fef3c7;color:#b45309}
.lvl-2{background:var(--amber-bg);color:var(--amber)}
.lvl-3{background:#d1fae5;color:#047857}
.lvl-4{background:var(--green-bg);color:var(--green)}
.lvl-na{background:var(--bg);color:var(--muted);border:1px dashed var(--border2)}

/* ── Movement Rows ──────────────────────────────────────────────────────────── */
.movement-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.movement-row:last-child{border-bottom:none}
.movement-name{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.movement-delta{font-weight:800;font-size:13px;min-width:54px;text-align:right}
.movement-delta.up{color:var(--green)}
.movement-delta.down{color:var(--red)}
.movement-arrow{font-size:13px}

/* ── Recent Assessment Timeline ─────────────────────────────────────────────── */
.recent-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.recent-row:last-child{border-bottom:none}
.recent-method{font-size:14px;width:24px;text-align:center}
.recent-name{font-weight:600;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-meta{font-size:11px;color:var(--muted)}
.recent-date{font-size:11px;color:var(--muted);white-space:nowrap}

/* ── Dashboard 3-col Grid ───────────────────────────────────────────────────── */
.dash-3col{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-bottom:20px}
@media (max-width:900px){.hero-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.hero-grid{grid-template-columns:1fr}}

/* ── Confluence Connect Chat ────────────────────────────────────────────────── */
.chat-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;height:calc(100vh - 120px);min-height:500px}
.chat-main{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.chat-input-bar{border-top:1px solid var(--border);padding:12px 16px;display:flex;gap:8px;align-items:flex-end}
.chat-input-bar textarea{flex:1;resize:none;min-height:40px;max-height:100px;font-size:13px;padding:9px 12px;line-height:1.4}
.chat-bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-break:break-word}
.chat-bubble.user{align-self:flex-start;background:var(--bg);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:3px}
.chat-bubble.assistant{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:3px;border:none}
.chat-bubble.assistant a{color:#c7e0ff}
.chat-bubble.thinking{align-self:flex-end;background:var(--accent);color:rgba(255,255,255,.75);font-style:italic;border:none}
.chat-meta{font-size:11px;margin-top:4px;opacity:.65}
.chat-sender{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:3px;letter-spacing:.2px}
.chat-sidebar{display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.source-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:border-color .15s;display:block;width:100%;text-align:left}
.source-card:hover{border-color:var(--accent)}
.source-title{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-meta{font-size:11px;color:var(--muted);margin-bottom:6px}
.source-excerpt{font-size:12px;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tool-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--purple-bg);color:var(--purple);margin-bottom:8px}
.chat-tools-bar{padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chat-tools-bar select{font-size:12px;padding:4px 8px;max-width:220px}
.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:40px}
.chat-empty .icon{font-size:48px;margin-bottom:12px}

/* ── PRR ────────────────────────────────────────────────────────────────────── */
.prr-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}
.prr-cat-header{padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;width:100%}
.prr-cat-title{font-weight:700;font-size:14px}
.prr-cat-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.prr-item{display:grid;grid-template-columns:1fr 140px 1fr 80px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}
.prr-item:last-child{border-bottom:none}
.prr-item:hover{background:var(--hover)}
.prr-item-custom{background:var(--green-bg,#fafff7)}
.prr-item-custom:hover{background:var(--hover)}
.prr-add-item-row{padding:10px 16px;border-top:1px dashed var(--border);display:flex;align-items:center;gap:8px}
.prr-add-item-form{display:none;padding:10px 16px;border-top:1px dashed var(--border);gap:8px;align-items:center}
.prr-add-item-form.visible{display:flex}
.prr-question{font-size:13px;line-height:1.4}
.prr-resp select{font-size:12px;padding:5px 8px}
.prr-resp-pass{color:var(--green);font-weight:700}
.prr-resp-partial{color:var(--amber);font-weight:700}
.prr-resp-fail{color:var(--red);font-weight:700}
.prr-resp-na{color:var(--muted)}
.prr-score-ring{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:6px solid var(--border);margin:0 auto}
.prr-score-ring.green{border-color:var(--green)}
.prr-score-ring.amber{border-color:var(--amber)}
.prr-score-ring.red{border-color:var(--red)}
.prr-score-val{font-size:22px;font-weight:800;line-height:1}
.prr-score-lbl{font-size:10px;color:var(--muted);margin-top:2px}
.prr-signoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.prr-signoff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.prr-signoff-role{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.prr-signoff-status{font-size:14px;font-weight:700}
.prr-status-approved{color:var(--green)}
.prr-status-rejected{color:var(--red)}
.prr-status-pending{color:var(--muted)}
/* ── PRR Score badges ────────────────────────────────────────────────────────── */
.score-pass{font-size:11px;color:var(--green);margin-left:4px}
.score-fail{font-size:11px;color:var(--red);margin-left:4px}
/* ── PRR Review comment rows ─────────────────────────────────────────────────── */
.prr-cmt-row{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}
.prr-cmt-body{flex:1;min-width:0}
.prr-cmt-header{font-size:12px;font-weight:700}
.prr-cmt-time{font-weight:400;color:var(--muted);margin-left:6px;font-size:11px}
.prr-cmt-text{font-size:13px;margin-top:3px;white-space:pre-wrap}
.btn-delete-comment{color:var(--red);padding:2px 6px;font-size:11px}
.prr-comment-list{max-height:340px;overflow-y:auto;margin-bottom:16px;padding-right:4px}
.prr-comment-input-section{border-top:1px solid var(--border);padding-top:14px;position:relative}
.prr-comments-empty{color:var(--muted);font-size:13px;text-align:center;padding:20px 0}
.prr-empty-cta{text-align:center;padding-bottom:32px}
/* ── PRR Detail view ─────────────────────────────────────────────────────────── */
.prr-detail-grid{display:grid;grid-template-columns:1fr 200px;gap:20px;align-items:start;margin-bottom:20px}
.prr-detail-title{font-size:20px;font-weight:800;margin-bottom:6px}
.prr-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:10px}
.prr-meta-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}
.prr-meta-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.prr-meta-value{font-size:13px;font-weight:600}
.prr-score-row{display:flex;gap:20px;font-size:13px}
.prr-score-pass{color:var(--green);font-weight:700}
.prr-score-partial{color:var(--amber);font-weight:700}
.prr-score-fail{color:var(--red);font-weight:700}
.prr-score-na{color:var(--muted);font-weight:700}
.prr-score-note{color:var(--muted)}
.prr-email-desc{font-size:13px;color:var(--muted);margin-bottom:12px}
.label-strong{font-weight:600;font-size:13px}
/* ── ServiceNow Evidence Panel ───────────────────────────────────────────────── */
.snow-loading{padding:8px 16px;color:var(--muted);font-size:13px}
.snow-empty{padding:8px 0;color:var(--muted);font-size:13px}
.snow-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:8px 16px 16px}
.snow-evidence-card{border:1px solid var(--border);border-radius:6px;padding:12px;background:var(--bg)}
.snow-evidence-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.snow-evidence-value{font-weight:600;margin-bottom:4px}
/* ── PRR item cell helpers ────────────────────────────────────────────────── */
.btn-pdf{color:#7C3AED;border-color:#7C3AED}
.btn-email{color:#2563EB;border-color:#2563EB}
.prr-cat-pass{color:var(--green)}
.prr-cat-partial{color:var(--amber)}
.prr-cat-fail{color:var(--red)}
.prr-cat-chevron{font-size:12px;color:var(--muted);margin-left:4px}
.prr-cat-score{font-size:13px;font-weight:700}
.prr-custom-badge{color:var(--green);margin-right:4px;font-size:11px}
.prr-item-cmt-cell{text-align:center;display:flex;align-items:center;justify-content:center;gap:4px}
.prr-item-input-sm{font-size:12px}
.prr-item-input-xs{font-size:11px;width:100%;box-sizing:border-box}
.prr-item-xs{font-size:11px;color:var(--muted)}
/* ── PRR Sign-off card details ────────────────────────────────────────────── */
.prr-signoff-by{font-size:12px;color:var(--muted);margin-top:4px}
.prr-signoff-at{font-size:11px;color:var(--muted)}
.prr-signoff-notes{font-size:12px;margin-top:4px;font-style:italic}
.prr-signoff-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.btn-approve{color:var(--green);border-color:var(--green)}
/* ── Email modal status messages ──────────────────────────────────────────── */
.email-status-sending{color:var(--muted);font-size:13px}
.email-status-success{color:var(--green);font-size:13px;font-weight:600}
.email-status-error{color:var(--red);font-size:13px}

/* ── My Work / Dashboard ──────────────────────────────────────────────────── */
.mywork-stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:24px}
.mywork-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center}
.mywork-stat-value{font-size:28px;font-weight:700}
.mywork-stat-label{font-size:11px;color:var(--muted)}
.mywork-gap-title{font-weight:500;font-size:13px}
.mywork-gap-meta{font-size:11px;color:var(--muted);margin-top:2px}
.mywork-empty{padding:20px;text-align:center;color:var(--muted)}
.mywork-msg-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mywork-msg-sub{font-size:11px;color:var(--muted);margin-top:2px}
/* ── Watched app cards ────────────────────────────────────────────────────── */
.watch-cards-wrap{display:flex;flex-wrap:wrap;gap:12px}
.watch-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px;min-width:200px;flex:1}
.watch-card-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.watch-card-name{font-weight:600;font-size:13px}
.watch-card-meta{font-size:11px;color:var(--muted)}
.watch-card-stats{display:flex;gap:16px;font-size:12px;margin-bottom:8px}
.watch-card-activity{font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:6px;margin-top:4px}
.watch-empty{padding:20px;color:var(--muted);font-size:13px}
/* ── Notifications ────────────────────────────────────────────────────────── */
.notif-row{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);border-radius:6px;margin-bottom:2px}
.notif-unread{background:var(--accent-bg);border-left:3px solid var(--primary)}
.notif-read{opacity:0.7}
.notif-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;font-weight:700}
.notif-icon-unread{background:var(--primary);color:#fff}
.notif-icon-read{background:var(--border);color:var(--muted)}
.notif-body{flex:1;min-width:0}
.notif-msg{font-size:13px}
.notif-msg-unread{font-weight:500;color:var(--text)}
.notif-msg-read{font-weight:400;color:var(--muted)}
.notif-time{font-size:11px;color:var(--muted);margin-top:2px}
.notif-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.notif-reply-btn{font-size:11px;flex-shrink:0;color:var(--accent)}
.notif-mark-read-btn{font-size:11px;flex-shrink:0}
.notif-read-label{font-size:11px;color:var(--muted);flex-shrink:0;align-self:center}
.notif-empty{padding:12px 0;color:var(--muted);font-size:13px}
/* ── Dashboard header ─────────────────────────────────────────────────────── */
.dash-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.dash-header-title{font-size:22px;font-weight:800;margin-bottom:4px}
.dash-header-sub{color:var(--muted);font-size:13px}
/* ── Dashboard section subtitle ───────────────────────────────────────────── */
.section-sub{font-size:12px;color:var(--muted);margin-top:2px}
.movement-section-label-up{font-weight:700;font-size:11px;color:var(--green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.movement-section-label-down{font-weight:700;font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px}
/* ── Card border accent ───────────────────────────────────────────────────── */
.card-danger-border{border-left:3px solid var(--red)}
.card-danger-title{color:var(--red)}

/* PRR overrides the general .comment-thread with a block layout */
.comment-thread{background:var(--bg);border-radius:var(--radius);padding:12px;margin-bottom:8px}
.comment-meta{font-size:11px;color:var(--muted);margin-bottom:4px}
.comment-body{font-size:13px}

/* ── Date Picker ────────────────────────────────────────────────────────────── */
.date-picker-popup{position:absolute;z-index:9999;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.18);padding:12px;width:280px;font-size:13px}
.date-picker-popup .dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600;font-size:14px}
.date-picker-popup .dp-header button{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text);padding:4px 8px;border-radius:4px}
.date-picker-popup .dp-header button:hover{background:var(--bg)}
.date-picker-popup .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.date-picker-popup .dp-dow{font-size:11px;color:var(--muted);font-weight:600;padding:4px 0}
.date-picker-popup .dp-day{padding:6px 0;border-radius:4px;cursor:pointer;border:none;background:none;color:var(--text);font-size:13px}
.date-picker-popup .dp-day:hover{background:var(--accent-bg);color:var(--accent)}
.date-picker-popup .dp-day.today{font-weight:700;border:1px solid var(--accent)}
.date-picker-popup .dp-day.other-month{color:var(--muted);opacity:.4}
.date-picker-popup .dp-hint{font-size:11px;color:var(--muted);margin-top:8px;text-align:center;border-top:1px solid var(--border);padding-top:8px}
.date-picker-popup .dp-today-btn{display:block;width:100%;margin-top:6px;padding:4px;font-size:12px;cursor:pointer;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:4px;text-align:center}
.date-picker-popup .dp-today-btn:hover{background:var(--accent);color:#fff}

/* ── Help Page ──────────────────────────────────────────────────────────────── */
.help-search{width:100%;padding:10px 16px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);margin-bottom:20px}
.help-search:focus{outline:none;border-color:var(--primary)}
.help-section{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden;background:var(--surface)}
.help-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;user-select:none;gap:12px;width:100%}
.help-section-header:hover{background:var(--bg)}
.help-section-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}
.help-section-title{font-weight:700;font-size:14px;flex:1}
.help-section-chevron{font-size:11px;color:var(--muted);transition:transform .2s}
.help-section-chevron.open{transform:rotate(180deg)}
.help-section-body{display:none;padding:0 18px 18px;border-top:1px solid var(--border)}
.help-section-body.open{display:block}
.help-tip{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:10px 14px;margin:12px 0;font-size:13px;color:var(--text)}
.help-warn{background:var(--amber-bg);border-left:3px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;padding:10px 14px;margin:12px 0;font-size:13px;color:var(--text)}
.help-success{background:var(--green-bg);border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;padding:10px 14px;margin:12px 0;font-size:13px;color:var(--text)}
.help-h3{font-size:13px;font-weight:700;color:var(--accent);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.4px}
.help-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 12px}
.help-table th{background:var(--bg);padding:7px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border)}
.help-table td{padding:7px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.help-table tr:last-child td{border-bottom:none}
.help-kbd{display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;font-family:monospace;font-weight:600}
.help-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.help-badge-green{background:var(--green-bg);color:var(--green)}
.help-badge-amber{background:var(--amber-bg);color:var(--amber)}
.help-badge-red{background:var(--red-bg);color:var(--red)}
.help-badge-blue{background:var(--accent-bg);color:var(--accent)}
.help-steps{padding-left:0;list-style:none;margin:8px 0}
.help-steps li{display:flex;gap:10px;margin-bottom:8px;font-size:13px;align-items:flex-start}
.help-step-num{background:var(--primary);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}

/* ── App List ───────────────────────────────────────────────────────────────── */
.count-label{font-size:12px;color:var(--muted);margin-left:auto}
.app-link{font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.gap-resolved{color:var(--muted);font-size:11px}
.btn-watch-active{color:#d97706;border-color:#d97706}

/* ── Priority & Source Badges ───────────────────────────────────────────────── */
.priority-low{font-size:12px;font-weight:700;color:var(--muted)}
.priority-medium{font-size:12px;font-weight:700;color:var(--amber)}
.priority-high{font-size:12px;font-weight:700;color:var(--red)}
.priority-critical{font-size:12px;font-weight:700;color:var(--purple)}
.source-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:3px}
.source-maturity{background:#dbeafe;color:#1d4ed8}
.source-prr{background:#ede9fe;color:#7c3aed}
.source-ai{background:#fef3c7;color:#d97706}
.source-manual{background:#f3f4f6;color:#6b7280}

/* ── App Form ───────────────────────────────────────────────────────────────── */
.form-section{border-top:1px solid var(--border);margin:14px 0 12px;padding-top:12px}
.form-section-title{font-weight:700;margin-bottom:8px}

/* ── App Detail Modal ───────────────────────────────────────────────────────── */
.score-round{margin-bottom:12px}
.score-round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.level-row{margin-bottom:10px}
.level-label{font-size:11px;color:var(--muted);margin-bottom:3px}
.scorer-meta{font-size:11px;color:var(--muted);margin-top:8px}
.add-gap-bar{margin-bottom:10px;display:flex;justify-content:flex-end}
.gaps-empty{color:var(--muted);text-align:center;padding:24px}
.gap-card{margin-bottom:10px}
.gap-body{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.gap-info{flex:1}
.gap-title{font-weight:700;margin-bottom:4px}
.gap-comment{font-size:12px;color:var(--muted);margin-bottom:6px}
.gap-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gap-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.gap-eta{font-size:11px;color:var(--muted)}
.btn-advise{background:var(--accent-bg);color:var(--accent);border-color:#bfdbfe}
.rely-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rely-map-header{font-weight:700;margin-bottom:6px}
.rely-map-actions{display:flex;justify-content:flex-end;margin-top:12px;gap:8px}
.panel-placeholder{padding:24px;text-align:center;color:var(--muted)}

/* ── Permissions Matrix ─────────────────────────────────────────────────────── */
.perm-table{width:100%;border-collapse:collapse}
.perm-table thead tr{background:var(--bg)}
.perm-table td,.perm-table th{padding:6px 10px}
.perm-table th{font-size:12px;text-align:center}
.perm-table th:first-child{text-align:left}
.perm-table td:first-child{font-size:13px}
.perm-table td:not(:first-child){text-align:center}

/* ── Phase 4b: hover/drag helpers replacing inline event handlers ── */
.help-tag-btn:hover{background:var(--accent-bg)!important;border-color:var(--accent)!important}
.drag-over{background:var(--accent-bg)!important}
.avatar-pick{font-size:28px;cursor:pointer;padding:6px;border-radius:8px;border:2px solid transparent;background:var(--bg);transition:all .15s}
.avatar-pick:hover{background:var(--hover)!important}
.avatar-pick-active{border-color:#2563eb!important;background:#eff6ff!important}
.source-card.clickable{cursor:pointer}
.source-card.clickable:hover{background:var(--hover)}
.sa-criterion-row{border-bottom:1px solid var(--border);transition:background 0.1s}
.sa-criterion-row:hover{background:var(--surface)}

/* ── Operational Hazard Analysis (Hazard Lens) ─────────────────────────────── */
.oha-wrap{padding:0}
.oha-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.oha-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.oha-card-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.oha-card-value{font-size:26px;font-weight:800;line-height:1.1}
.oha-card-sub{font-size:11px;color:var(--muted);margin-top:3px}
.oha-app-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}

.oha-filter-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.oha-filter-row .form-group{flex:1;min-width:140px;margin-bottom:0}

.oha-table{width:100%;border-collapse:collapse;margin-top:6px}
.oha-table thead th{text-align:left;padding:8px 10px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700;border-bottom:1px solid var(--border)}
.oha-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.oha-table tbody tr:hover{background:var(--hover)}
.oha-table td{padding:10px;vertical-align:top}

.oha-empty{padding:48px 24px;text-align:center;color:var(--muted)}
.oha-empty-icon{font-size:48px;margin-bottom:8px}
.oha-empty-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.oha-empty-sub{font-size:13px;max-width:520px;margin:0 auto}

.oha-top-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.oha-top-app{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .12s;background:var(--bg)}
.oha-top-app:hover{background:var(--hover);border-color:var(--accent)}
.oha-top-app-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oha-top-app-meta{display:flex;justify-content:space-between;align-items:center}

.oha-top-hazard{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer;transition:background .12s}
.oha-top-hazard:hover{background:var(--hover)}
.oha-top-hazard:last-child{border-bottom:none}

.oha-rrs{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:800;letter-spacing:.3px}
.rrs-low{background:var(--green-bg);color:var(--green)}
.rrs-mid{background:var(--amber-bg);color:var(--amber)}
.rrs-high{background:var(--red-bg);color:var(--red)}
.rrs-na{background:var(--bg);color:var(--muted);border:1px solid var(--border)}

.oha-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.3px}
.st-identified{background:var(--amber-bg);color:var(--amber)}
.st-mitigated{background:var(--green-bg);color:var(--green)}
.st-accepted{background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.st-transferred{background:var(--purple-bg);color:var(--purple)}

.oha-cat{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.2px}
.oha-cat-DATA_INTEGRITY{background:var(--accent-bg);color:var(--accent)}
.oha-cat-AVAILABILITY{background:var(--red-bg);color:var(--red)}
.oha-cat-LATENCY{background:var(--amber-bg);color:var(--amber)}
.oha-cat-SECURITY{background:var(--purple-bg);color:var(--purple)}
.oha-cat-DEPENDENCY{background:var(--bg);color:var(--text);border:1px solid var(--border)}
.oha-cat-CAPACITY{background:var(--amber-bg);color:var(--amber)}
.oha-cat-CHANGE{background:var(--accent-bg);color:var(--accent)}
.oha-cat-HUMAN{background:var(--purple-bg);color:var(--purple)}

/* ── OHA Wizard / Catalogue / Detail modal styles ─────────────────────────── */
.oha-stepper{display:flex;gap:6px;align-items:center;margin-bottom:16px;padding:6px 0;border-bottom:1px solid var(--border)}
.oha-step{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;color:var(--muted);font-size:12px;font-weight:600;transition:all .12s}
.oha-step:hover{background:var(--hover)}
.oha-step-num{width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.oha-step.active{background:var(--accent-bg);color:var(--accent)}
.oha-step.active .oha-step-num{background:var(--accent);color:#fff}
.oha-step.done .oha-step-num{background:var(--green);color:#fff}
.oha-step.done{color:var(--green)}
.oha-step-label{white-space:nowrap}

.oha-step-body{padding:4px 2px}
.oha-step-help{background:var(--accent-bg);color:var(--text);padding:10px 12px;border-radius:var(--radius);font-size:12px;margin-bottom:14px;line-height:1.5}
.oha-empty-small{padding:14px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--border);border-radius:var(--radius)}

.oha-loss-pick{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}
.oha-loss-pick:hover{background:var(--hover)}
.oha-loss-pick input{margin-top:3px}

.oha-loss-new{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:6px;align-items:center}
.oha-loss-new input,.oha-loss-new select{padding:6px 8px}

.oha-sub-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px}
.oha-sub-item textarea,.oha-sub-item input{width:100%;font-size:12px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:inherit;resize:vertical}

.oha-risk-preview{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:600;margin-top:6px}

.oha-mini-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:700;background:var(--bg);color:var(--muted);border:1px solid var(--border);letter-spacing:.3px}
.oha-mini-tag-c{background:var(--green-bg);color:var(--green);border-color:var(--green)}
.oha-mini-tag-d{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}

.oha-eff{padding:4px 8px;border-radius:var(--radius);font-size:11px;font-weight:700;border:1px solid var(--border)}
.oha-eff-STRONG{background:var(--green-bg);color:var(--green);border-color:var(--green)}
.oha-eff-ADEQUATE{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}
.oha-eff-WEAK{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.oha-eff-MISSING{background:var(--red-bg);color:var(--red);border-color:var(--red)}

/* Catalogue browser */
.oha-catalog-grid{display:flex;flex-direction:column;gap:18px}
.oha-catalog-group-title{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.oha-catalog-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px}
.oha-catalog-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}

/* Detail modal */
.oha-detail{display:flex;flex-direction:column;gap:14px}
.oha-detail-meta{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}
.oha-detail-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}

/* ── OHA Heatmap (sub-phase 1.8) ───────────────────────────────────────────── */
.hm-wrap{position:relative;padding:8px 8px 4px 30px;display:inline-block;max-width:100%}
.hm-axis-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:center}
.hm-axis-label-y{position:absolute;left:-6px;top:50%;transform:rotate(-90deg) translateX(50%);transform-origin:left top;white-space:nowrap}
.hm-axis-label-x{padding-top:4px}
.hm-grid{border-collapse:separate;border-spacing:4px}
.hm-grid th{padding:2px 6px;text-align:center;font-size:11px;color:var(--muted);font-weight:700}
.hm-axis-x,.hm-axis-y{width:20px}
.hm-cell{width:64px;height:54px;border-radius:6px;cursor:pointer;transition:all .15s;text-align:center;vertical-align:middle;border:2px solid transparent;position:relative;user-select:none}
.hm-cell:hover{filter:brightness(1.08);transform:scale(1.04)}
.hm-cell.hm-empty{cursor:default;opacity:.35}
.hm-cell.hm-empty:hover{filter:none;transform:none}
.hm-cell.hm-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.hm-cell-count{font-size:18px;font-weight:800;line-height:1.05}
.hm-cell-risk{font-size:10px;font-weight:600;opacity:.7;margin-top:2px}
.hm-low{background:var(--green-bg);color:var(--green)}
.hm-mid{background:var(--amber-bg);color:var(--amber)}
.hm-high{background:var(--red-bg);color:var(--red)}
.hm-legend{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--text);margin-top:10px;padding:8px 4px;border-top:1px solid var(--border)}
.hm-legend > div{display:flex;align-items:center;gap:6px}
.hm-swatch{display:inline-block;width:14px;height:14px;border-radius:3px}

/* OHA help banner */
.oha-help-banner{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;margin-bottom:14px;background:var(--accent-bg);border:1px solid var(--accent);border-radius:var(--radius);font-size:13px;color:var(--text)}

/* ── OHA AI Suggester (sub-phase 2.2) ──────────────────────────────────────── */
.oha-suggest-loading{padding:36px;text-align:center}
.oha-spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ohaspin 1s linear infinite}
@keyframes ohaspin{to{transform:rotate(360deg)}}

.oha-ai-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--accent-bg);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);font-size:13px;margin-bottom:8px}
.oha-ai-banner code{background:rgba(0,0,0,.08);padding:1px 5px;border-radius:3px}
.oha-ai-list{display:flex;flex-direction:column;gap:10px}
.oha-ai-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px}
.oha-ai-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.oha-ai-rationale{margin-top:8px;padding:6px 10px;background:var(--surface);border-left:3px solid var(--accent);font-size:12px;color:var(--text);border-radius:0 var(--radius) var(--radius) 0}
.oha-ai-details{margin-top:8px;font-size:12px}
.oha-ai-details summary{cursor:pointer;color:var(--muted);padding:4px 0;user-select:none;font-weight:600}
.oha-ai-details summary:hover{color:var(--accent)}
.oha-ai-details[open] summary{color:var(--text)}
.oha-ai-subsec{margin-top:6px;font-size:12px}
.oha-ai-subsec b{color:var(--text);text-transform:uppercase;letter-spacing:.3px;font-size:10px}

/* ── OHA Feedback-Loop Visualiser (sub-phase 2.4) ──────────────────────────── */
.oha-fb-loop{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px}
.oha-fb-phase{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:var(--radius);min-width:88px;border:1px solid var(--border);background:var(--surface);opacity:.5;transition:all .15s}
.oha-fb-phase.active{opacity:1;border-color:var(--amber);background:var(--amber-bg)}
.oha-fb-phase-icon{font-size:20px;line-height:1}
.oha-fb-phase-name{font-size:12px;font-weight:700;margin-top:3px}
.oha-fb-phase-count{font-size:10px;color:var(--muted);margin-top:1px}
.oha-fb-arrow{font-size:18px;color:var(--muted);font-weight:700;user-select:none}
.oha-fb-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber);text-transform:uppercase;letter-spacing:.3px}

/* ── OHA Phase 3.1: Hazard ↔ Gap bidirectional links ─────────────────────── */
.oha-gap-hazard-link{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--accent);cursor:pointer;margin-top:4px;padding:2px 0}
.oha-gap-hazard-link:hover{text-decoration:underline}
.source-badge.source-hazard{background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple)}
.oha-linked-gap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:5px;cursor:pointer;transition:background .12s}
.oha-linked-gap:hover{background:var(--hover);border-color:var(--accent)}
.oha-gap-status{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.oha-gap-status-not-started{background:var(--amber-bg);color:var(--amber)}
.oha-gap-status-in-progress{background:var(--accent-bg);color:var(--accent)}
.oha-gap-status-done,.oha-gap-status-completed{background:var(--green-bg);color:var(--green)}

/* ── OHA Phase 3.2: PRR ↔ Constraint evidence linking ─────────────────────── */
.oha-evidence-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--accent);cursor:pointer;margin-top:6px;padding:5px 8px;background:var(--accent-bg);border-radius:var(--radius);border-left:3px solid var(--accent)}
.oha-evidence-link:hover{filter:brightness(0.95)}
.oha-evidence-link i{font-style:italic;color:var(--muted);font-size:10px}

.oha-prr-citations{margin-left:8px}
.oha-prr-cite-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple);cursor:pointer;letter-spacing:.3px}
.oha-prr-cite-badge:hover{filter:brightness(1.1)}

/* Evidence picker modal */
.oha-evp-review{margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius);padding:10px;background:var(--bg)}
.oha-evp-review-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.oha-evp-cat{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:8px 0 4px;padding-left:4px}
.oha-evp-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;cursor:pointer;font-size:12px;background:var(--surface);transition:background .12s}
.oha-evp-item:hover{background:var(--hover);border-color:var(--accent)}
.oha-evp-resp{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.3px;background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.oha-evp-pass .oha-evp-resp{background:var(--green-bg);color:var(--green);border-color:var(--green)}
.oha-evp-partial .oha-evp-resp{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.oha-evp-fail .oha-evp-resp{background:var(--red-bg);color:var(--red);border-color:var(--red)}

/* ── OHA Phase 3.3: Resilience-score pill (Applications + Service Catalog) ─── */
.oha-res-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:800}
.oha-res-pill.res-good{background:var(--green-bg);color:var(--green)}
.oha-res-pill.res-mid{background:var(--amber-bg);color:var(--amber)}
.oha-res-pill.res-low{background:var(--red-bg);color:var(--red)}

/* ── OHA Phase 3.4: dashboard tile rows ───────────────────────────────────── */
.oha-dash-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all .12s}
.oha-dash-row:hover{background:var(--hover);border-color:var(--accent)}
.oha-dash-app-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── OHA Phase 4.1: portfolio dashboard view ──────────────────────────────── */
.oha-view-tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:2px solid var(--border);padding-bottom:0}
.oha-view-tab{padding:8px 16px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .12s}
.oha-view-tab:hover{color:var(--text)}
.oha-view-tab.active{color:var(--accent);border-bottom-color:var(--accent)}

.oha-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
@media (max-width:900px){.oha-dash-grid{grid-template-columns:1fr}}

/* Stacked-bar visualisations */
.oha-dist-bar{display:flex;width:100%;height:18px;border-radius:var(--radius);overflow:hidden;background:var(--border);margin-bottom:8px;border:1px solid var(--border)}
.oha-dist-seg{height:100%;transition:flex .2s}
.oha-dist-seg.oha-cat-DATA_INTEGRITY{background:var(--accent)}
.oha-dist-seg.oha-cat-AVAILABILITY{background:var(--red)}
.oha-dist-seg.oha-cat-LATENCY{background:var(--amber)}
.oha-dist-seg.oha-cat-SECURITY{background:var(--purple)}
.oha-dist-seg.oha-cat-DEPENDENCY{background:var(--muted)}
.oha-dist-seg.oha-cat-CAPACITY{background:#f97316}
.oha-dist-seg.oha-cat-CHANGE{background:#0891b2}
.oha-dist-seg.oha-cat-HUMAN{background:#a78bfa}
.oha-dist-seg.oha-eff-STRONG{background:var(--green)}
.oha-dist-seg.oha-eff-ADEQUATE{background:var(--accent)}
.oha-dist-seg.oha-eff-WEAK{background:var(--amber)}
.oha-dist-seg.oha-eff-MISSING{background:var(--red)}
.oha-dist-seg.st-identified{background:var(--amber)}
.oha-dist-seg.st-mitigated{background:var(--green)}
.oha-dist-seg.st-accepted{background:var(--muted)}
.oha-dist-seg.st-transferred{background:var(--purple)}
.rrs-low-bg{background:var(--green)}
.rrs-mid-bg{background:var(--amber)}
.rrs-high-bg{background:var(--red)}

.oha-dist-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--text);margin-top:4px}
.oha-dist-key{display:inline-flex;align-items:center;gap:5px}
.oha-dist-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}

/* ── OHA Phase 4.4: AI Executive Summary ──────────────────────────────────── */
.oha-exec-summary{padding:6px 2px}
.oha-exec-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}
.oha-exec-headline{font-size:15px;font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.4}
.oha-exec-narrative{font-size:13px;line-height:1.55;color:var(--text);background:var(--bg);padding:10px 12px;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:12px}
.oha-exec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
@media (max-width:900px){.oha-exec-grid{grid-template-columns:1fr}}
.oha-exec-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}
.oha-exec-block-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px}
.oha-exec-block ul{margin:0;padding-left:18px;font-size:12px;line-height:1.55}
.oha-exec-block li{margin-bottom:4px}

/* ── OHA Phase 5.3: duplicate-detection panels ─────────────────────────────── */
.oha-dup-panel{background:var(--amber-bg);border:1px solid var(--amber);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px}
.oha-dup-panel-header{font-size:12px;color:var(--text);margin-bottom:8px}
.oha-dup-list{display:flex;flex-direction:column;gap:6px}
.oha-dup-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:12px}
.oha-dup-confidence{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:800;letter-spacing:.3px;min-width:60px;justify-content:center}
.oha-dup-high{background:var(--red);color:#fff}
.oha-dup-medium{background:var(--amber);color:#fff}
.oha-dup-low{background:var(--muted);color:#fff}
.oha-dup-score{font-size:11px;font-weight:700;color:var(--muted);min-width:36px}

/* Inline badge on AI suggester cards when potential duplicates exist */
.oha-dup-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px;cursor:pointer;border:1px solid var(--amber);background:var(--amber-bg);color:var(--amber)}
.oha-dup-badge.oha-dup-high{background:var(--red-bg);color:var(--red);border-color:var(--red)}
.oha-dup-badge.oha-dup-medium{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.oha-dup-badge.oha-dup-low{background:var(--bg);color:var(--muted);border-color:var(--border)}

/* ── OHA Phase 5.4: incident learning queue ────────────────────────────────── */
.oha-incident-meta{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px}
.oha-pending-pill{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border-radius:10px;font-size:10px;font-weight:800;padding:1px 7px;margin-left:6px;min-width:18px;letter-spacing:.3px}
