.aq-review-modes { border:0; padding:0; margin:16px 0; min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.aq-review-modes legend { margin-bottom:8px; padding:0; font-weight:600; }
.aq-review-modes label { border:1px solid var(--border); border-radius:4px; padding:8px; display:flex; align-items:center; gap:8px; min-width:0; min-height:56px; cursor:pointer; font-size:13px; overflow-wrap:anywhere; }
.aq-review-modes input { flex-shrink:0; accent-color:var(--primary); }
.aq-review-modes label[hidden] { display:none; }
.aq-review-modes:has(label[hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aq-review-modes label:has(input:checked) { background:var(--bg-active); border-color:var(--accent); }
.aq-review-modes label:has(input:disabled) { color:var(--text-muted); cursor:not-allowed; }
.aq-review-modes :focus-visible { outline:3px solid var(--lex-gold); outline-offset:3px; }
.aq-review-correction fieldset:not(.aq-review-modes) { border:0; padding:0; margin:0; min-width:0; display:grid; gap:10px; }
.aq-review-correction label { display:grid; gap:6px; min-width:0; color:var(--text-primary); }
.aq-review-correction select, .aq-review-correction textarea {
    width:100%; min-width:0; max-width:100%; box-sizing:border-box; min-height:40px;
    border:1px solid var(--border); border-radius:4px; padding:8px;
    background:var(--bg-input); color:var(--text-primary); font:inherit;
}
.aq-review-correction textarea { resize:vertical; min-height:150px; }
.aq-review-correction .aq-review-correction-option { display:flex; align-items:center; min-height:40px; gap:8px; }
.aq-review-correction :is(input,select,textarea,button):focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-export-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-block: 12px;
}
.aq-review-export-actions .aq-review-action-status {
    flex-basis: 100%;
    margin: 0;
}
.aq-review-note-option {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    color: var(--text-secondary);
}
.aq-review-note-option[hidden] { display: none; }
.aq-contract-review-card [hidden] { display: none !important; }
.aq-review-suggestions > h4 { margin:8px 0; font-size:16px; color:var(--text-primary); }
.aq-review-ready-count, .aq-review-selected-count { margin:8px 0; font-size:13px; color:var(--text-secondary); overflow-wrap:anywhere; }
.aq-review-wording { min-width:0; }
.aq-review-wording.is-collapsed > .aq-review-suggestion { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.aq-review-wording-toggle { min-height:40px; border:1px solid var(--border); border-radius:6px; margin-top:12px; padding:8px 14px; font:inherit; font-size:14px; color:var(--text-primary); background:var(--bg-card); cursor:pointer; }
.aq-review-wording-toggle:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-suggestions .aq-review-origin-group { border:0; padding-top:0; margin-block:10px; }
.aq-review-suggestions .aq-review-locate { margin-left:0; }
/* Proposal decisions use compact native radio buttons; Word revision controls retain their own layout. */
.aq-review-proposal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; border-top:1px solid var(--border); margin-top:18px; padding-top:14px; }
.aq-review-proposal-actions:has(.aq-review-modes[hidden]) { display:none; }
.aq-review-proposal-actions .aq-review-modes { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.aq-review-proposal-actions .aq-review-modes legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.aq-review-proposal-actions .aq-review-modes label { position:relative; min-height:44px; box-sizing:border-box; padding:9px 15px; border-radius:7px; background:var(--bg-card); font-size:15px; }
.aq-review-proposal-actions .aq-review-modes input { position:absolute; width:1px; height:1px; opacity:0; }
.aq-review-proposal-actions .aq-review-modes label:has(input:focus-visible) { outline:3px solid var(--lex-gold); outline-offset:3px; }
.aq-review-proposal-actions .aq-review-modes label:has(input[value="accept"]) { background:var(--primary); color:var(--text-on-dark); border-color:var(--primary); font-weight:600; }
.aq-review-proposal-actions .aq-review-modes label:has(input:disabled) { background:var(--bg-secondary); color:var(--text-muted); border-color:var(--border); cursor:not-allowed; }
.aq-review-pending-detail { margin-top:16px; border-top:1px solid var(--border); padding-top:10px; }
.aq-review-pending-detail > summary { min-height:40px; align-content:center; cursor:pointer; color:var(--text-secondary); font-size:14px; }
.aq-review-pending-detail > summary:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-pending-detail .aq-review-rationale { font-size:14px; line-height:1.8; }
.aq-review-language-note { font-size:12px; line-height:1.6; margin:10px 0 0; color:var(--text-secondary); }
.aq-review-proposal { font-family:Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif; }
.aq-review-proposal .aq-review-suggestion { font-family:Georgia,"Noto Serif TC","PMingLiU",serif; line-height:1.85; }
.aq-review-proposal-actions .aq-review-modes label:has(input:checked) { outline:2px solid var(--accent); outline-offset:2px; }
.aq-review-proposal-actions > .aq-review-status-line { flex:1 1 100px; text-align:right; border:0; background:none; padding:0; margin:0; color:var(--text-secondary); }
.aq-review-proposal-heading { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:12px; }
.aq-review-suggestions .aq-review-proposal-heading h4 { flex:1 1 200px; min-width:0; margin:0; font-size:20px; line-height:1.5; color:var(--text-primary); }
.aq-review-risk { flex:0 0 auto; border:1px solid var(--border); border-radius:20px; padding:5px 9px; font-size:12px; }
.aq-review-suggestions .aq-review-proposal { padding:20px; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); }
.aq-review-proposal .aq-review-field-label { font-size:15px; font-weight:400; margin:10px 0 16px; }
.aq-review-proposal .aq-review-suggestion { background:var(--bg-primary); border-left:3px solid var(--primary); padding:12px 16px; margin:0; }
.aq-review-proposal .aq-review-edit-detail { margin-top:16px; padding:0; border:0; background:none; }
.aq-review-proposal .aq-review-edit-detail > summary { font-size:15px; font-weight:600; color:var(--text-primary); }
.aq-review-proposal > .aq-review-rationale { margin-top:14px; }
.aq-review-overview { border:1px solid var(--border); border-left:4px solid var(--lex-gold); border-radius:12px; background:var(--bg-secondary); padding:18px 20px; margin:16px 0; }
.aq-review-overview .aq-review-selected-count { font-size:15px; font-weight:600; color:var(--text-primary); }
.aq-review-title-block { min-width:0; flex:1 1 220px; }
.aq-review-title-block p { color:var(--text-secondary); margin:10px 0 0; }
.aq-review-action-status:empty { display:none; }
@media(max-width:600px) { .aq-review-suggestions .aq-review-proposal { padding:16px; } .aq-review-proposal-actions > .aq-review-status-line { text-align:left; } }
/* css/contract-reviewer.css */

/* 讓外層容器允許橫向捲動，防止小螢幕爆版 */
.aequilex-contract-mount {
    width: 100%;
    overflow-x: auto;
    margin: 15px 0;
}

.aq-cr-workspace {
    display: flex;
    width: 100%;
    min-width: 900px; /* 🚨 核心：強制最少有 900px 闊，等佢伸得直！ */
    height: 75vh;     /* 稍微加高一點 */
    min-height: 600px;
    border: 1px solid var(--border-sub, #e2e8f0);
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    font-family: system-ui, -apple-system, sans-serif;
}

/* 左側：合約原文預覽區 */
.aq-cr-document-pane {
    flex: 1.4; /* 🚨 比例微調：左邊佔多啲 */
    min-width: 450px;
    padding: 30px;
    overflow-y: auto;
    background: #ffffff;
    position: relative;
    line-height: 1.8;
    font-size: 15px;
    color: #334155;
    white-space: pre-wrap;
    scroll-behavior: smooth;
}

/* 核心 Highlight 樣式 */
.aq-cr-highlight {
    padding: 2px 4px;
    border-radius: 4px;
    font-weight: 600;
    transition: all 0.4s ease;
    cursor: pointer;
}

.aq-cr-highlight.pending { background-color: #fef08a; color: #9a3412; border-bottom: 2px dashed #eab308; } /* 黃色 */
.aq-cr-highlight.accepted { background-color: #bbf7d0; color: #166534; box-shadow: 0 0 8px rgba(34,197,94,0.4); } /* 綠色 */
.aq-cr-highlight.rejected { background-color: #f1f5f9; color: #94a3b8; text-decoration: line-through; } /* 灰色劃線 */

/* 右側：痛點卡片區 */
.aq-cr-action-pane {
    flex: 1; /* 🚨 比例微調：右邊適中 */
    min-width: 380px; /* 🚨 核心：保證卡片區最少有 380px 闊，字唔會疊埋一齊 */
    background: #f8fafc;
    border-left: 1px solid var(--border-sub, #e2e8f0);
    display: flex;
    flex-direction: column;
}

.aq-cr-action-header {
    padding: 15px 20px;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    font-weight: bold;
    color: #0f172a;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    z-index: 10;
}

.aq-cr-cards-container {
    flex: 1;
    padding: 15px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* 單張痛點卡片 */
.aq-cr-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    transition: all 0.3s;
}

.aq-cr-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.aq-cr-card.accepted { border-color: #22c55e; background: #f0fdf4; opacity: 0.8; }
.aq-cr-card.rejected { border-color: #cbd5e1; background: #f8fafc; opacity: 0.5; filter: grayscale(100%); }

.aq-cr-badge {
    font-size: 11px; padding: 2px 6px; border-radius: 4px; font-weight: bold; text-transform: uppercase;
}
.aq-cr-badge.high { background: #fee2e2; color: #dc2626; }
.aq-cr-badge.medium { background: #ffedd5; color: #ea580c; }
.aq-cr-badge.low { background: #e0f2fe; color: #0284c7; }

/* 卡片按鈕 */
.aq-cr-btn-group { display: flex; gap: 8px; margin-top: 15px; }
.aq-cr-btn {
    flex: 1; padding: 8px; border-radius: 6px; font-size: 13px; font-weight: 600;
    cursor: pointer; border: none; transition: 0.2s;
}
.aq-cr-btn-reject { background: white; border: 1px solid #cbd5e1; color: #64748b; }
.aq-cr-btn-reject:hover { background: #f1f5f9; color: #334155; }
.aq-cr-btn-accept { background: #1a3d2e; color: white; }
.aq-cr-btn-accept:hover { background: #265541; box-shadow: 0 2px 8px rgba(26,61,46,0.3); }

/* 閃爍動畫 (用於 Scroll 到定位時提醒用戶) */
@keyframes aq-flash {
    0%, 100% { background-color: #fef08a; }
    50% { background-color: #fbbf24; }
}
.flash-target { animation: aq-flash 1s 3; }

/* 滾動條美化 */
.aq-cr-document-pane::-webkit-scrollbar, .aq-cr-cards-container::-webkit-scrollbar { width: 6px; }
.aq-cr-document-pane::-webkit-scrollbar-thumb, .aq-cr-cards-container::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }

/* ==========================================================================
   AequiLex 合約風險高亮與詳情卡片 (完美融合 Dark/Light 主題)
   ========================================================================== */

/* 1. 對話框內的合約原文區塊 (完美對齊輸入框版) */
.contract-scan-wrapper {
    width: 100%; /* 👈 乖乖地填滿，跟隨對話框最大寬度 */
    display: flex; 
    flex-direction: column; 
    align-items: stretch; 
    margin-top: 10px;
}

/* =========================================
   合約掃描專用：解除閒聊氣泡 (casual-bubble) 結界
   ========================================= */
/* 當氣泡內包含合約文字框 (.contract-text-container) 時，強制撐滿 100% 並隱藏多餘邊框 */
.assistant-message .message-content.casual-bubble:has(.contract-text-container) {
    max-width: 100%;
    width: 100%;
    background-color: transparent; /* 隱藏氣泡底色，用返合約框本身嘅色 */
    border: none;                  /* 隱藏氣泡邊框 */
    box-shadow: none;              /* 隱藏氣泡陰影 */
    padding: 0;                    /* 清除多餘內距 */
}


.contract-scan-header {
    margin-bottom: 12px; font-weight: 700; 
    color: var(--primary); /* 使用主色 (深綠/金) */
    font-size: 15px; display: flex; align-items: center; gap: 8px;
}

.contract-text-container {
    background: var(--bg-card); /* 使用卡片底色 */
    padding: 24px; 
    border-radius: 12px; 
    font-size: 14.5px; line-height: 1.8; 
    color: var(--text-primary); 
    max-height: 65vh; overflow-y: auto; 
    border: 1px solid var(--border); /* 使用主題邊框 */
    white-space: pre-wrap; width: 100%; box-sizing: border-box; 
    box-shadow: inset 0 2px 4px var(--shadow-color);
}

/* 2. 高亮標記 (Risk Highlights) - 使用 rgba 確保深色模式不刺眼 */
.risk-highlight { 
    cursor: pointer; border-radius: 4px; padding: 2px 0; 
    transition: all 0.2s; border-bottom: 2px solid transparent; 
    color: inherit; /* 文字顏色跟隨環境 */
}
.risk-highlight.high { background-color: rgba(239, 68, 68, 0.25); border-bottom-color: #ef4444; }
.risk-highlight.medium { background-color: rgba(245, 158, 11, 0.25); border-bottom-color: #f59e0b; }
.risk-highlight.low { background-color: rgba(16, 185, 129, 0.25); border-bottom-color: #10b981; }

.risk-highlight:hover { filter: brightness(0.9); box-shadow: 0 2px 8px var(--shadow-color); }
[data-theme="dark"] .risk-highlight:hover { filter: brightness(1.2); }

/* ==========================================================================
   AequiLex 合約風險詳情卡片 (手機/電腦自適應 - 收窄閱讀版)
   ========================================================================== */

/* 1. 半透明遮罩層 (維持原樣) */
.risk-modal-overlay {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 100000; backdrop-filter: blur(3px);
    opacity: 0; transition: opacity 0.3s ease;
}
.risk-modal-overlay.active { display: block; opacity: 1; }

/* 2. 痛點詳情卡片本體
   🚨 2026-09-24 由【貼底抽屜】改成【畫面置中】。
      貼底嗰個設計喺手機啱，但呢張卡主要喺桌面用：`max-height:88vh` 之下
      佢會由最底一路撐到差唔多頂，眼睛要由下向上掃，而且下面完全冇留白 ——
      用戶原話「唔洗咁貼底，都係置中就可以」。
      置中之後上下對稱留白，長內容自己捲。 */
.risk-detail-card {
    display: block; position: fixed;

    /* Wider amendment details, with room for long original and suggested clauses. */
    width: 92%;          /* 喺手機預留少少邊框 */
    max-width: 1000px;

    /* 🌟 水平 + 垂直都置中。
       ⚠️ translate 入面兩個軸都要寫齊 —— 只寫一個嘅話另一個會變返 0，
          張卡就會由中心點向右下角甩出去。 */
    left: 50%;
    top: 50%;
    transform: translate(-50%, -46%) scale(.98);   /* 收起：略低 + 略細 */
    opacity: 0;
    pointer-events: none;

    background: var(--bg-card); /* 自動切換日夜模式 */
    border-radius: 24px;        /* 四個角都圓 —— 唔再係貼底抽屜 */
    box-shadow: 0 20px 60px rgba(0,0,0,0.3); z-index: 100001;
    padding: 32px;
    max-height: 84vh;
    overflow-y: auto;
    transition: transform .28s cubic-bezier(0.16, 1, 0.3, 1), opacity .22s ease;
    box-sizing: border-box; border: 1px solid var(--border);
}
.risk-detail-card.active {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: auto;
}
/* ♿ 用戶叫停動畫就要停 */
@media (prefers-reduced-motion: reduce) {
    .risk-detail-card { transition: none; }
}
/* 📱 手機仍然用返貼底抽屜：細螢幕上面置中會令上下都冇位，
      而且拇指夠唔夠得到係手機嘅首要考慮。 */
@media (max-width: 640px) {
    .risk-detail-card {
        top: auto; bottom: 0; max-height: 88vh;
        border-radius: 24px 24px 0 0;
        transform: translate(-50%, 100%) scale(1);
        opacity: 1;
    }
    .risk-detail-card.active { transform: translate(-50%, 0) scale(1); }
}

/* =========================================
   卡片內部樣式 (配合你嘅高級色板)
   ========================================= */
.risk-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.risk-close-btn { background: none; border: none; font-size: 32px; cursor: pointer; color: var(--text-muted); padding: 0 5px; line-height: 1; transition: color 0.2s; }
.risk-close-btn:hover { color: var(--text-primary); }

.risk-title { margin: 0 0 12px 0; font-size: 20px; font-weight: 700; color: var(--text-primary); line-height: 1.4; }
.risk-clause-num { font-size: 14px; color: var(--text-muted); margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px dashed var(--border); }

.risk-section { margin-bottom: 20px; }
.risk-section-title { display: block; margin-bottom: 8px; font-weight: 700; color: var(--primary); font-size: 15px; }
.risk-section-text { font-size: 14.5px; line-height: 1.8; color: var(--text-secondary); margin: 0; }

/* 風險徽章 (rgba 透明警告色，適應深淺色) */
.risk-badge { padding: 4px 12px; border-radius: 8px; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; border: 1px solid transparent; }
.risk-badge.high { background: rgba(239,68,68,0.15); color: #ef4444; border-color: rgba(239,68,68,0.3); }
.risk-badge.medium { background: rgba(245,158,11,0.15); color: #f59e0b; border-color: rgba(245,158,11,0.3); }
.risk-badge.low { background: rgba(16,185,129,0.15); color: #10b981; border-color: rgba(16,185,129,0.3); }

/* 特殊區塊 (使用你設定的 Hover/Active 綠色底) */
.case-section { 
    background: var(--bg-hover); padding: 16px; border-left: 4px solid var(--primary); border-radius: 6px; 
}
.suggestion-section { margin-top: 24px; }
.suggestion-box { 
    background: var(--bg-active); border: 1px solid var(--border); padding: 16px; border-radius: 8px; font-size: 14.5px; 
    font-family: 'JetBrains Mono', monospace; color: var(--text-primary); line-height: 1.8; 
}

/* 🛡️ 終極響應式補丁 (針對螢幕較小的情況) */
@media (max-width: 800px) {
    .risk-detail-card {
        padding: 24px; border-radius: 0; border-top-left-radius: 20px; border-top-right-radius: 20px;
    }
}

/* =========================================
   風險詳情卡片：3 個操作按鈕與修訂痕跡
   ========================================= */

.risk-action-buttons {
    display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px;
    padding-top: 20px; border-top: 1px solid var(--border);
}

.risk-btn {
    flex: 1; min-width: 140px; padding: 12px 8px; border-radius: 8px; 
    font-size: 13.5px; font-weight: 700; text-align: center;
    cursor: pointer; transition: all 0.2s ease; border: none;
}

/* 略過按鈕 */
.risk-btn-reject {
    background: var(--bg-secondary); border: 1px solid var(--border); color: var(--text-secondary);
}
.risk-btn-reject:hover { background: var(--bg-hover); color: var(--primary); }

/* 標示修訂按鈕 (橙黃色，代表 Track Changes) */
.risk-btn-track {
    background: #f59e0b; color: white; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}
.risk-btn-track:hover { background: #d97706; transform: translateY(-2px); box-shadow: 0 6px 15px rgba(245, 158, 11, 0.3); }

/* 接受並取代按鈕 (綠色) */
.risk-btn-accept {
    background: #16a34a; color: white; box-shadow: 0 4px 12px rgba(22, 163, 74, 0.2);
}
.risk-btn-accept:hover { background: #15803d; transform: translateY(-2px); box-shadow: 0 6px 15px rgba(22, 163, 74, 0.3); }

/* =========================================
   合約原文操作後的狀態 (Tracked / Accepted / Rejected)
   ========================================= */
/* 接受修改：文字直接變成綠色並發光 */
.risk-highlight.accepted {
    background-color: rgba(34, 197, 94, 0.15) !important;
    border-bottom: 1px dashed #22c55e !important;
    color: #15803d !important;
    pointer-events: none; padding: 2px 4px; border-radius: 4px;
}
[data-theme="dark"] .risk-highlight.accepted { color: #4ade80 !important; }

/* 標示修訂 (Track Changes)：淡橙色背景提示 */
.risk-highlight.tracked {
    background-color: rgba(245, 158, 11, 0.1) !important;
    border-bottom: 1px dashed #f59e0b !important;
    pointer-events: none; padding: 4px 6px; border-radius: 4px;
    display: inline-block; line-height: 1.6;
}

/* 略過風險：變灰、解除高亮 */
.risk-highlight.rejected {
    background-color: transparent !important;
    border-bottom: none !important;
    color: var(--text-muted) !important;
    opacity: 0.6;
    pointer-events: none;
}

/* ==========================================================================
   側邊快速導航欄 (Risk Gutter Navigation)
   ========================================================================== */

/* 導航欄容器：固定喺合約框右邊 */
.risk-navigation-gutter {
    width: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 0;
    position: sticky;
    top: 0;
    align-self: flex-start;
    background: var(--bg-primary); /* 用主題背景色 */
    border-radius: 12px;
    align-items: center;
}

/* 導航標記點 (Gutter Marks) */
.gutter-mark {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent;
    opacity: 0.7;
}

.gutter-mark:hover {
    transform: scale(1.4);
    opacity: 1;
    box-shadow: 0 0 8px currentColor;
}

/* 顏色匹配你嘅紅黃綠 */
.gutter-mark.high { background-color: #ef4444; color: #ef4444; }
.gutter-mark.medium { background-color: #f59e0b; color: #f59e0b; }
.gutter-mark.low { background-color: #10b981; color: #10b981; }

/* 跳轉後的閃動特效 */
@keyframes nav-flash {
    0% { outline: 4px solid var(--accent); outline-offset: 4px; }
    100% { outline: 4px solid transparent; outline-offset: 20px; }
}
.flash-nav-target {
    animation: nav-flash 1s ease-out 2;
    border-radius: 4px;
}

/* 窄螢幕優化：合約框撐得更闊 */
@media (max-width: 600px) {
    .risk-navigation-gutter { width: 16px; }
    .gutter-mark { width: 8px; height: 8px; }
}

/* =========================================
   模擬 Word 合約排版 (Word-Style Simulator)
   ========================================= */
.word-style-doc {
    font-family: "Times New Roman", "Cambria", serif !important;
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    text-align: justify; /* 左右對齊，法律文件必備 */
    padding: 30px 40px !important;
    background-color: #ffffff;
    color: #000000;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    overflow-x: hidden; /* 防止文字太長撐爆容器 */
}

/* 黑夜模式處理 */
[data-theme="dark"] .word-style-doc {
    background-color: #1e293b;
    color: #e2e8f0;
    box-shadow: inset 0 0 0 1px #334155;
}

/* 確保高亮文字不會變換字體，並完美處理跨行高亮 */
.word-style-doc mark {
    font-family: inherit;
    line-height: inherit;
    border-radius: 3px;
    padding: 2px 0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone; /* 支援 Safari，確保換行時高亮背景不斷裂 */
}

/* =========================================
   🌟 專為 HTML (Word) 模式加入的清單與標題排版修正
   ========================================= */
.word-style-doc p {
    margin-top: 0.5em;
    margin-bottom: 0.8em;
}

.word-style-doc ol, .word-style-doc ul {
    margin-top: 0.8em;
    margin-bottom: 0.8em;
    padding-left: 2.5em; /* 控制統一縮排，防止清單縮得太入 */
}

.word-style-doc li {
    margin-bottom: 0.6em;
    text-align: justify;
}

/* 在 JS 裡自動加上的標題 Class */
.word-style-doc .contract-heading {
    font-size: 1.15em;
    font-weight: bold;
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    text-transform: uppercase;
}

/* =========================================
   導航燈「已處理 (Resolved)」熄燈狀態
   ========================================= */
.gutter-mark.resolved {
    background-color: transparent !important;
    border: 2px solid var(--border) !important; /* 變成淡淡嘅空心圈 */
    opacity: 0.4 !important;
    transform: scale(0.8); /* 縮細少少，降低視覺比重 */
    box-shadow: none !important;
}

.gutter-mark.resolved:hover {
    transform: scale(1.1); /* Hover 嗰陣依然可以放大少少提示可以撳 */
    opacity: 0.8 !important;
    border-color: var(--text-muted) !important;
}

/* AI DOCX review plan and explicit human approval */
/* Keep review cards aligned with the input instead of nesting them in a padded answer. */
.assistant-message > .message-content:has(.aq-contract-review-card),
.assistant-message > .message-content > .answer-body:has(.aq-contract-review-card) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.aq-contract-review-card {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0 0 12px;
    padding: 24px;
    color: var(--text-primary);
    background: linear-gradient(135deg, color-mix(in srgb, var(--bg-active) 40%, var(--aq-glass-surface)) 0%, var(--aq-glass-surface) 58%, color-mix(in srgb, var(--lex-gold) 9%, var(--aq-glass-surface)) 100%);
    border: 1px solid var(--aq-glass-line);
    border-radius: 16px;
    box-shadow: 0 8px 28px var(--shadow-color);
    -webkit-backdrop-filter: blur(var(--aq-glass-blur)) saturate(125%);
    backdrop-filter: blur(var(--aq-glass-blur)) saturate(125%);
}
.aq-review-word-only { display:block !important; }
/* Keep legal analysis unboxed and readable in both themes. */
.aq-review-proposal .aq-review-rationale,
.aq-review-proposal .aq-review-evidence {
    padding:0;
    margin-block:10px 16px;
    background:none;
    border:0;
    border-radius:0;
    box-shadow:none;
    color:var(--text-primary);
}
.aq-contract-review-card :is(.aq-review-original,.aq-review-rationale,.aq-review-source,.aq-review-evidence),
.aq-contract-review-card :is(.aq-review-original,.aq-review-rationale,.aq-review-source,.aq-review-evidence) strong {
    color:var(--text-primary);
}
.aq-review-proposal .aq-review-field-label { display:block; color:var(--text-primary); font-weight:600; margin:16px 0 8px; }
.aq-review-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.aq-review-header h3, .aq-contract-review-card > h3 { margin:0; min-width:0; font-size:28px; line-height:1.4; border:0; padding:0; }
.aq-review-status { flex:0 0 auto; padding:4px 9px; border:1px solid var(--border); border-radius:5px; background:var(--bg-hover); color:var(--text-secondary); font-size:12px; }
.aq-review-status-submitted { border-color:var(--lex-gold); color:var(--text-primary); }
.aq-review-notice { margin:14px 0 0; padding:0 0 16px; border-bottom:1px solid var(--border); color:var(--text-secondary); overflow-wrap:anywhere; font-size:13px; }
.aq-review-summary { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.aq-review-layout { display:grid; grid-template-columns:minmax(0,1fr); margin-top:14px; align-items:start; position:relative; }
.aq-review-document { position:relative; min-width:0; padding:16px; border:1px solid var(--border); border-radius:6px; background:var(--bg-secondary); }
.aq-review-document-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.aq-review-document .aq-review-document-header h4 { margin:0; min-width:0; }
.aq-review-document-content, .aq-review-pdf-content { margin-right:20px; }
.aq-review-document h4 { margin:0 0 10px; font-size:14px; color:var(--text-primary); }
.aq-review-view-switch { display:flex; flex-wrap:wrap; gap:4px; margin:0 0 10px; }
.aq-review-view-switch:empty { display:none; }
.aq-review-view-switch button { min-height:40px; padding:7px 12px; border:1px solid var(--border); border-radius:5px; color:var(--text-primary); background:var(--bg-card); cursor:pointer; }
.aq-review-view-switch button[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); color:var(--text-on-dark); }
.aq-review-view-switch button:disabled { opacity:.55; cursor:not-allowed; }
.aq-review-document-content { height:min(65vh,640px); overflow:auto; overflow-wrap:anywhere; background:var(--bg-card); border:1px solid var(--border); padding:24px; font-family:"Times New Roman","Cambria",serif; font-size:15.5px; line-height:1.6; }
.aq-review-pdf-content { height:min(65vh,640px); overflow:auto; min-width:0; padding:16px 12px; background:var(--bg-card); border:1px solid var(--border); }
.aq-review-word-content { height:min(65vh,640px); min-width:0; overflow:auto; background:var(--bg-secondary); border:1px solid var(--border); }
.aq-review-word-host { display:block; min-width:0; }
.aq-review-word-content[hidden], .aq-review-rail-track[hidden] { display:none; }
.aq-review-document-content[hidden], .aq-review-pdf-content[hidden], .aq-review-status-line[hidden] { display:none; }
.aq-review-paragraph { margin:0; padding:8px 10px; white-space:pre-wrap; line-height:1.85; font-size:14px; border-bottom:1px solid var(--border-sub); }
.aq-review-highlight { background:var(--bg-active); color:var(--text-primary); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; }
.aq-review-highlight[role="button"] { cursor:pointer; }
.aq-review-highlight:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-highlight.is-unselected { background:transparent; text-decoration:none; }
.aq-review-rail { position:absolute; top:0; right:8px; width:16px; min-width:0; pointer-events:none; }
.aq-review-rail-toggle { display:block; flex:0 0 40px; width:40px; min-height:40px; padding:0; border:1px solid var(--border); border-radius:5px; background:var(--bg-card); color:var(--text-primary); font-size:22px; cursor:pointer; }
.aq-review-rail-track { position:relative; width:16px; height:min(65vh,640px); margin:0 auto; background:var(--bg-hover); border:1px solid var(--border); border-radius:6px; }
.aq-review-rail-viewport { position:absolute; left:1px; right:1px; background:var(--bg-active); border:1px solid var(--accent); border-radius:4px; pointer-events:none; }
.aq-review-rail-dot { position:absolute; left:0; width:14px; height:14px; padding:0; border:2px solid var(--primary); border-radius:50%; background:var(--lex-gold); cursor:pointer; z-index:1; pointer-events:auto; }
.aq-review-sidebar { position:absolute; top:66px; right:16px; z-index:2; box-sizing:border-box; width:min(720px,calc(100% - 32px)); max-height:min(80vh,820px); overflow:auto; overscroll-behavior:contain; padding:18px 22px; border:1px solid var(--border); border-radius:6px; background:var(--bg-card); box-shadow:0 8px 22px var(--shadow-color); }
.aq-review-sidebar[hidden] { display:none; }
.aq-review-sidebar.aq-review-suggestions { position:static; width:100%; max-height:none; padding:0; border:0; background:transparent; box-shadow:none; overflow:visible; }
.aq-review-suggestions .aq-review-edit-detail { padding-left:0; }
.aq-review-suggestions .aq-review-edit-detail > summary { color:var(--text-secondary); }
.aq-review-source-dialog { box-sizing:border-box; width:min(1320px,96vw); max-width:96vw; max-height:94vh; margin:auto; padding:22px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); color:var(--text-primary); box-shadow:0 12px 40px var(--shadow-color); }
.aq-review-source-dialog::backdrop { background:var(--shadow-color); backdrop-filter:blur(4px); }
.aq-review-modal-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:20px; align-items:start; }
.aq-review-modal-comparison { min-width:0; max-height:70vh; overflow:auto; }
.aq-review-modal-comparison h4 { margin-top:0; }
.aq-review-modal-comparison .aq-review-edit-detail { padding-left:0; }
.aq-review-source-dialog .aq-review-document-content, .aq-review-source-dialog .aq-review-pdf-content { margin-right:0; }
.aq-review-rail[hidden], .aq-review-rail-toggle[hidden], .aq-review-drawer-close[hidden] { display:none; }
.aq-review-drawer-close { display:block; margin-left:auto; min-height:40px; padding:5px 10px; border:1px solid var(--border); border-radius:5px; background:var(--bg-card); color:var(--text-primary); cursor:pointer; }
.aq-review-section { margin-top:14px; min-width:0; }
.aq-review-section h4 { margin:0 0 8px; color:var(--primary); font-size:13px; }
.aq-review-edit-list { display:grid; gap:9px; min-width:0; }
.aq-review-origin-group { border-top:2px solid var(--border); padding-top:16px; overflow-wrap:anywhere; }
.aq-review-origin-group > h4 { font-size:16px; line-height:1.5; color:var(--text-primary); }
.aq-review-origin-group[data-review-group="legal"] { border-top-color:var(--lex-gold); }
.aq-review-origin-group .aq-review-evidence > summary { min-height:40px; align-content:center; cursor:pointer; }
.aq-review-origin-group .aq-review-evidence > summary:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-edit { min-width:0; padding:16px; border:1px solid var(--border-sub); border-radius:6px; background:var(--bg-primary); }
.aq-review-edit.is-unmatched { border-color:var(--border); }
.aq-review-locate { min-height:40px; margin:8px 0 0 27px; padding:6px 8px; border:1px solid var(--border); border-radius:5px; color:var(--text-primary); background:var(--bg-card); cursor:pointer; }
.aq-review-locate:hover { background:var(--bg-hover); }
.aq-review-locate.is-updating { cursor:progress; white-space:normal; }
.aq-review-locate.is-updating::before { content:""; display:inline-block; width:14px; height:14px; margin-right:8px; border:2px solid var(--border); border-top-color:var(--primary); border-radius:50%; animation:aq-review-update-spin .8s linear infinite; }
.aq-review-update-status { color:var(--text-secondary); overflow-wrap:anywhere; margin:8px 0; }
.aq-review-update-status.is-error { color:var(--text-primary); border-left:3px solid var(--lex-gold); padding-left:10px; }
@keyframes aq-review-update-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .aq-review-locate.is-updating::before { animation:none; } }
.aq-review-edit-detail { padding-left:27px; min-width:0; }
.aq-review-edit-detail > summary { min-height:40px; display:list-item; align-content:center; cursor:pointer; color:var(--text-primary); font-size:13px; }
.aq-review-edit-detail > summary:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-field-label { display:block; margin-top:12px; color:var(--text-secondary); font-size:12px; font-weight:600; }
.aq-review-original, .aq-review-suggestion, .aq-review-rationale, .aq-review-source { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; font-size:15px; }
.aq-review-original { color:var(--text-secondary); }
.aq-review-suggestion { padding:8px 10px; border-left:3px solid var(--primary-light); background:var(--bg-hover); color:var(--text-primary); }
.aq-review-suggestion.is-deletion { border-left-color:var(--lex-gold); color:var(--text-secondary); text-decoration:line-through; }
.aq-review-rationale, .aq-review-source { color:var(--text-secondary); font-size:14px; }
.aq-review-comment-list, .aq-review-warning-list { margin:0; padding-left:20px; color:var(--text-secondary); font-size:13px; }
.aq-review-comment-list li, .aq-review-warning-list li { margin:5px 0; overflow-wrap:anywhere; }
.aq-review-warnings { padding:10px 12px; border:1px solid var(--lex-gold); border-radius:6px; background:var(--bg-hover); }
.aq-review-empty { margin:0; color:var(--text-muted); font-size:13px; }
.aq-review-evidence { margin-top:8px; padding:8px 12px; border:1px solid var(--border-sub); border-radius:5px; background:var(--bg-primary); }
.aq-review-evidence summary { min-height:40px; align-content:center; cursor:pointer; overflow-wrap:anywhere; }
.aq-review-evidence .aq-review-source { max-height:240px; overflow:auto; }
.aq-review-evidence a { display:inline-block; min-height:40px; align-content:center; color:var(--accent); overflow-wrap:anywhere; }
.aq-review-evidence summary:focus-visible, .aq-review-evidence a:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-citation { border:0; border-left:3px solid var(--lex-gold); border-radius:0; background:none; padding:8px 12px; }
.aq-review-citation > strong { display:block; font-size:14px; color:var(--text-primary); overflow-wrap:anywhere; }
.aq-review-citation blockquote.aq-review-source { margin:6px 0; max-height:none; }
.aq-review-layout-notice { margin:8px 0 14px; padding-left:12px; border-left:3px solid var(--lex-gold); color:var(--text-secondary); font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.aq-review-disclosure > summary { min-height:40px; align-content:center; cursor:pointer; color:var(--text-secondary); overflow-wrap:anywhere; }
.aq-review-disclosure > summary:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-action-status, .aq-review-status-line { margin:12px 0 8px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.aq-review-status-line { padding:9px 11px; border:1px solid var(--border); border-radius:6px; background:var(--bg-primary); }
.aq-review-status-line.is-success { border-color:var(--primary-light); }
.aq-review-status-line.is-partial { border-color:var(--lex-gold); }
.aq-review-status-line.is-error { border-color:#b91c1c; color:#b91c1c; }
.aq-review-apply-btn { min-height:42px; padding:9px 14px; border:1px solid var(--primary); border-radius:6px; background:var(--primary); color:var(--text-on-dark); font-size:13px; font-weight:700; cursor:pointer; }
.aq-review-apply-btn:hover:not(:disabled) { background:var(--primary-light); }
.aq-review-apply-btn:disabled { opacity:.55; cursor:not-allowed; }
.aq-review-apply-btn:focus-visible, .aq-review-locate:focus-visible, .aq-review-view-switch button:focus-visible, .aq-review-rail-toggle:focus-visible, .aq-review-rail-dot:focus-visible, .aq-review-drawer-close:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
@media (max-width: 768px) {
    #conversationDisplay:has(.aq-contract-review-card) { padding-inline:10px; }
    .aq-review-modal-layout { grid-template-columns:minmax(0,1fr); }
    .aq-review-source-dialog { padding:12px; }
    .aq-review-modal-comparison { max-height:none; }
}

@media (max-width: 640px) {
    .aq-contract-review-card { padding:13px; }
    .aq-review-layout { grid-template-columns:minmax(0,1fr); }
    .aq-review-rail { width:16px; right:4px; }
    .aq-review-rail-track { height:min(55vh,440px); }
    .aq-review-document { padding:8px; }
    .aq-review-document-content { height:min(55vh,440px); padding:10px; }
    .aq-review-pdf-content { height:min(55vh,440px); padding:16px 8px; }
    .aq-review-word-content { height:min(55vh,440px); }
    .aq-review-sidebar { top:58px; right:8px; width:calc(100% - 16px); padding:14px 12px; }
    .aq-review-edit-detail { padding-left:0; }
    .aq-review-apply-btn { width:100%; }
}

/* Match the citation badge used in chat.css, scoped to the review surface. */
.aq-review-citation .citation-badge { display:inline-flex; align-items:center; min-height:40px; padding:1px 6px; font-size:1em; background:transparent; border:1px solid var(--border); border-radius:3px; color:var(--text-primary); text-decoration:none; }
.aq-review-citation .citation-badge:hover { background:var(--bg-hover); border-color:var(--accent); }
.aq-review-citation .citation-badge:focus-visible { outline:3px solid var(--lex-gold); outline-offset:3px; }
.aq-review-existing-revision summary { cursor:pointer; overflow-wrap:anywhere; min-height:40px; }
.aq-review-existing-revision summary:focus-visible { outline:3px solid var(--lex-gold); outline-offset:2px; }
.aq-review-existing-revision .aq-review-original { white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:600px) { .aq-review-existing-revision .aq-review-modes { grid-template-columns:1fr; } }
/* Review version selection shares the contract card tokens and controls. */
.aq-version-dialog { box-sizing:border-box; margin:auto; width:min(760px,calc(100vw - 24px)); max-height:90vh; padding:24px; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); color:var(--text-primary); overflow:auto; }
.aq-version-dialog::backdrop { background:var(--shadow-color); }
.aq-version-dialog h2 { margin-top:0; font-size:1.25rem; }
.aq-version-dialog > p { margin-block:12px; overflow-wrap:anywhere; }
.aq-export-confirm { position:fixed; max-height:calc(100dvh - 32px); padding-top:44px; }
.aq-export-close { position:absolute; top:6px; right:8px; min-width:44px; min-height:44px; background:var(--bg-card); color:var(--text-primary); border:0; font-size:24px; cursor:pointer; }
.aq-export-confirm .aq-review-flow-actions { position:sticky; bottom:0; background:var(--bg-card); padding-block:8px; }
.aq-review-suggestions .aq-review-edit-list { display:grid; gap:16px; }
.aq-review-answer select,.aq-review-answer textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; min-height:44px; margin-top:8px; padding:8px; border:1px solid var(--border); border-radius:6px; background:var(--bg-input); color:var(--text-primary); font:inherit; }
.aq-review-answer { min-width:0; margin:16px 0; padding:12px; border:1px solid var(--border); }
.aq-review-answer textarea { resize:vertical; }
.aq-review-flow-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; margin-top:16px; }
.aq-review-flow-actions button { min-height:44px; white-space:normal; }
.aq-review-next-step { background:var(--bg-hover); border:1px solid var(--border); padding:12px; border-radius:8px; margin:12px 0; }
.aq-review-next-step p { margin:8px 0 0; overflow-wrap:anywhere; }
.aq-review-rerun { white-space:normal; min-height:44px; }
/* Completed contract cards already convey their result; keep the live progress UI during analysis. */
.assistant-message:has(.aq-contract-review-card) .ai-thinking-dashboard { display:none; }
.aq-version-dialog [hidden],.aq-review-answer [hidden] { display:none !important; }
.aq-review-part { min-width:0; margin-block:16px; }
.aq-review-part + .aq-review-part { border-top:1px solid var(--border); padding-top:16px; }
.aq-review-part > summary { min-height:44px; display:list-item; cursor:pointer; font-weight:600; overflow-wrap:anywhere; color:var(--text-primary); }
.aq-review-part > summary:focus-visible { outline:2px solid var(--lex-gold); outline-offset:3px; }
.aq-review-note-editor { min-width:0; border:0; padding:0; margin:12px 0; }
.aq-review-note-editor[hidden] { display:none !important; }
.aq-review-note-editor label { display:block; color:var(--text-primary); }
.aq-review-note-editor textarea { display:block; box-sizing:border-box; width:100%; min-height:100px; margin-top:8px; padding:12px; resize:vertical; font:inherit; color:var(--text-primary); background:var(--bg-input); border:1px solid var(--border); border-radius:6px; }
.aq-review-note-editor textarea:focus-visible { outline:2px solid var(--lex-gold); outline-offset:3px; }
.aq-version-dialog :focus-visible,.aq-review-answer :focus-visible,.aq-review-rerun:focus-visible { outline:2px solid var(--lex-gold); outline-offset:3px; }
@media(max-width:600px) { .aq-version-dialog { padding:16px; } .aq-review-flow-actions button { flex:1 1 160px; } }

.aq-review-proposal .aq-review-original {
    box-sizing:border-box;
    padding:14px 16px;
    margin-block:8px 16px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--bg-secondary);
    color:var(--text-primary);
}
.aq-review-rationale > strong { font-weight:700; }

.aq-review-risk[data-risk="high"] { color:var(--risk-high); background:var(--risk-high-bg); border-color:var(--risk-high); }
.aq-review-risk[data-risk="medium"] { color:var(--risk-medium); background:var(--risk-medium-bg); border-color:var(--risk-medium); }
.aq-review-risk[data-risk="low"] { color:var(--risk-low); background:var(--risk-low-bg); border-color:var(--risk-low); }
.aq-review-clause-location { margin-block:12px; padding-block:10px; border-top:1px solid var(--border-sub); }
.aq-review-clause-location h5 { margin:0 0 8px; color:var(--text-primary); font-size:14px; }
.aq-review-clause-location > .aq-review-source { display:block; max-height:none; overflow:visible; white-space:pre-wrap; }
.aq-contract-review-card a.citation-badge {
    display:inline-flex; align-items:center; gap:3px; min-height:40px; max-width:100%;
    padding:1px 6px; font-size:1em; border:1px solid var(--border); border-radius:3px;
    background:transparent; color:var(--text-primary); white-space:normal; overflow-wrap:anywhere;
}
.aq-contract-review-card a.citation-badge svg { flex-shrink:0; }
.aq-contract-review-card a.citation-badge:hover { background:var(--bg-hover); border-color:var(--accent); }

.aq-review-proposal-heading [data-overview-index]::before { content:attr(data-overview-index) ") "; }

/* Keep the overview number and clause name together; risk stays at the right. */
.aq-review-reference-archive > .aq-review-proposal-heading > h4 {
    flex:1 1 200px;
    min-width:0;
    margin:0;
    text-align:left;
    overflow-wrap:anywhere;
}

.aq-review-decision-details { margin:12px 0; min-width:0; }
.aq-review-decision-details > summary { min-height:40px; padding:8px 0; cursor:pointer; color:var(--text-primary); font-weight:600; }
.aq-review-decision-details > summary:focus-visible { outline:2px solid var(--lex-gold); outline-offset:3px; }

.aq-export-consent { display:flex; align-items:flex-start; gap:10px; min-height:44px; padding-block:10px; }
.aq-export-consent input { flex-shrink:0; margin-top:6px; }

.aq-review-export-footer {
    display:flex; flex-wrap:wrap; align-items:center; gap:12px;
    margin-top:20px; padding-top:16px; border-top:1px solid var(--border);
}
.aq-review-export-footer .aq-review-action-status { flex:1 1 220px; min-width:0; overflow-wrap:anywhere; }
.aq-review-export-footer .aq-review-action-status:empty { display:none; }
