/* ══════════════════════════════════════════════════════════════
   المساعد القانوني داخل القضية — المرحلة 13.2
   ══════════════════════════════════════════════════════════════ */

.als-chat {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 900px) {
    .als-chat { grid-template-columns: 1fr; }
}

/* ── الخيوط ── */

.als-chat-side {
    border: 1px solid var(--crud-border, #e3e6ec);
    border-radius: .6rem;
    background: #fff;
    overflow: hidden;
}

.als-chat-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .6rem .75rem;
    background: var(--parchment, #FAF8F4);
    border-bottom: 1px solid var(--crud-border, #e3e6ec);
    font-weight: 600;
    font-size: .9rem;
}

.als-chat-side-empty {
    padding: 1rem .75rem;
    font-size: .85rem;
    color: #6b7280;
}

.als-chat-thread {
    display: block;
    padding: .55rem .75rem;
    border-bottom: 1px solid #f1f3f7;
    text-decoration: none;
    color: inherit;
}

.als-chat-thread:hover { background: #f7f9fc; }

.als-chat-thread.is-active {
    background: var(--ink-800, #0E2038);
    color: #fff;
}

.als-chat-thread-title {
    display: block;
    font-size: .87rem;
    font-weight: 600;
    /* عنوانٌ طويل يُقصّ بصرياً — والمقصوص هنا زينةٌ لا بيان (المتن في الخيط نفسه). */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.als-chat-thread-sub {
    display: block;
    font-size: .72rem;
    opacity: .7;
    margin-top: .15rem;
}

/* ── المتن ── */

.als-chat-main { min-width: 0; }

.als-chat-note {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    padding: .55rem .75rem;
    margin-bottom: .75rem;
    border-radius: .5rem;
    background: #eef4ff;
    border: 1px solid #cfe0ff;
    font-size: .84rem;
    color: #1e3a5f;
}

.als-chat-note-warn {
    background: #fff6e6;
    border-color: #f5d9a3;
    color: #7a4b00;
}

.als-chat-linkbtn {
    background: none;
    border: none;
    padding: 0;
    color: var(--brass-700, #8a6d2f);
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
}

/* نصّ السياق كما يراه المساعد — يُعرض للمحامي لا يُخفى عنه. */
.als-chat-context {
    max-height: 320px;
    overflow: auto;
    padding: .75rem;
    margin-bottom: .75rem;
    border: 1px dashed var(--crud-border, #e3e6ec);
    border-radius: .5rem;
    background: #fbfbfd;
    font-family: inherit;
    font-size: .8rem;
    line-height: 1.7;
    white-space: pre-wrap;
    direction: rtl;
}

.als-chat-stream {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    max-height: 60vh;
    overflow-y: auto;
    padding: .25rem;
    margin-bottom: .75rem;
}

.als-chat-empty {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #9aa3b2;
}

.als-chat-empty i { font-size: 2rem; opacity: .5; }
.als-chat-empty p { margin: .75rem 0 0; font-size: .9rem; }

.als-chat-msg {
    border-radius: .6rem;
    padding: .6rem .8rem;
    max-width: 88%;
}

.als-chat-msg.is-user {
    align-self: flex-start;
    background: var(--ink-800, #0E2038);
    color: #fff;
}

.als-chat-msg.is-bot {
    align-self: flex-end;
    background: #fff;
    border: 1px solid var(--crud-border, #e3e6ec);
    /* حدٌّ نحاسي يميّز ردّ الآلة عن كتابة البشر — نفس مبدأ تمييز قيد النظام
       في `.als-timeline`: ما لم يكتبه المحامي يجب ألّا يُنسب إليه. */
    border-inline-start: 3px solid var(--brass-500, #C0A062);
    max-width: 100%;
}

.als-chat-msg-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: .72rem;
    opacity: .75;
    margin-bottom: .3rem;
}

/* ⚠️ pre-wrap لا pre: المتن يحمل أسطراً ومسافات بادئة من `ComposeGroundedAnswer`،
   و`pre` وحدها تمنع الالتفاف فيخرج نصّ المادة في سطرٍ واحد بشريط تمرير أفقي. */
.als-chat-msg-body {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: .88rem;
    line-height: 1.85;
}

/* أزرار المسوّدة (13.4) — «احفظ مستنداً» ورابطُ الورقة التي صارت إليها.
   ⚠️ `flex-wrap` لازم: الزرّان معاً يتجاوزان عرض فقاعة الرسالة على الشاشات الضيّقة،
   وبلا الالتفاف يخرج الثاني عن حدّ الفقاعة. */
.als-chat-msg-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .6rem;
}

/* سببُ منع الحفظ — يحلّ محلّ الزرّ ولا يُترك فراغاً. */
.als-chat-blocked {
    display: inline-flex;
    align-items: flex-start;
    gap: .35rem;
    font-size: .78rem;
    line-height: 1.7;
    color: #b42318;
    background: #fef3f2;
    border: 1px solid #fecdca;
    border-radius: .5rem;
    padding: .35rem .6rem;
}

.als-chat-sources {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin-top: .6rem;
    padding-top: .5rem;
    border-top: 1px dashed #e3e6ec;
}

.als-chat-sources-label { font-size: .75rem; color: #6b7280; }

.als-chat-source {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .12rem .5rem;
    border-radius: 999px;
    background: #f2f5fa;
    border: 1px solid #dde4ee;
    font-size: .75rem;
}

/* سندٌ أُلغي أو سُحب اعتمادُه بعد أن استُشهد به — يُعلَّم ولا يُحذف. */
.als-chat-source.is-blocked {
    background: #fdecec;
    border-color: #f3bcbc;
    color: #9b1c1c;
    text-decoration: line-through;
}

/* ── المُرسِل ── */

.als-chat-composer {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
}

.als-chat-composer textarea {
    flex: 1;
    resize: vertical;
    min-height: 46px;
}

.als-chat-composer button { white-space: nowrap; }

.als-chat-danger { margin-top: .75rem; text-align: start; }

.als-chat-pending { opacity: .6; }


/* ══════════════ التوليد والتحقّق (المرحلة 13.3) ══════════════ */

/* سطر حالة التوليد — بلون المميِّز النحاسي لا بلون التحذير: هذه معلومةٌ عن
   قدرة الأداة لا إنذار. */
.als-chat-note-ai {
    border-color: #e2d3ae;
    background: #fdfaf2;
}

/* ⭐ شارات مصدر المتن — **دائمة لا مؤقّتة**. النصُّ المنقول لا يُخطئ في
   «يجوز / لا يجوز»، والصياغةُ قد تُخطئ فيهما بكلمة وهي أفصح فتُقرأ أوثق. */
.als-chat-tag {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: .7rem;
    font-weight: 600;
    margin-inline-end: .35rem;
}

.als-chat-tag.is-verbatim { background: #eef4ee; border-color: #cfe0cf; color: #2f6b37; }
.als-chat-tag.is-ai       { background: #fdf6e6; border-color: #e6d2a4; color: #8a6420; }
.als-chat-tag.is-draft    { background: #eef2fa; border-color: #cdd8ee; color: #2b4372; }

/* ⚠️ المسوّدة المرفوضة تُعلَّم بالأحمر **ولا تُخفى** — وشكلُها يخالف لونَها:
   من لا يميّز الأحمر يبقى أمامه رمز التحذير. (مبدأ `als-confirm`.) */
.als-chat-tag.is-rejected { background: #fdecec; border-color: #f3bcbc; color: #9b1c1c; }

/* ── شريط توليد المسوّدة ── */

.als-chat-draftbar {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
    margin-top: .6rem;
    padding-top: .6rem;
    border-top: 1px dashed #dde4ee;
}

.als-chat-draftbar input[type="text"] { flex: 1; }
.als-chat-draftbar button { white-space: nowrap; }

/* `als-select` يرسم عنوانه فوقه، فيُثبَّت عرضُه حتى لا يزاحم حقلَ التعليمات. */
.als-chat-draft-kind { min-width: 190px; }
.als-chat-draft-kind .crud-form-group { margin-bottom: 0; }

/* ⚠️ لا يُطبع شيء من هذا: خيطُ المحادثة مسوّدةُ عملٍ لا ورقةَ ملفّ.
   وما يُراد إخراجُه يُحفَظ مستنداً عبر `DocumentService` (13.4) فيمرّ بحارسه. */
@media print {
    .als-chat { display: none !important; }
}
