
/* =========================================================
   Gmail-like mailbox / real-time messaging
   ========================================================= */
.messaging-mailbox {
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    padding: 1rem;
    background: var(--bs-body-bg);
}

.messaging-mailbox-list {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.messaging-mailbox-item {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--bs-border-color);
    background: transparent;
    color: inherit;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    text-align: right;
    padding: .75rem .5rem;
    border-radius: .75rem;
}

.messaging-mailbox-item:hover,
.messaging-mailbox-item.unread:hover {
    background: var(--bs-tertiary-bg);
}

.messaging-mailbox-item.unread {
    background: color-mix(in srgb, var(--bs-primary) 7%, var(--bs-body-bg));
}

.mailbox-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bs-secondary-bg);
}

.mailbox-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.mailbox-main span,
.mailbox-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mailbox-main small { color: var(--bs-secondary-color); }
.mailbox-meta { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; white-space: nowrap; }

@media (max-width: 768px) {
    .messaging-mailbox-item { grid-template-columns: 36px minmax(0, 1fr); }
    .mailbox-meta { grid-column: 2; align-items: flex-start; }
}
.messaging-digital-signature {
    border-top: 1px dashed var(--bs-border-color);
    padding-top: .5rem;
    font-size: .85rem;
}
.messaging-digital-signature small {
    direction: ltr;
    text-align: left;
    word-break: break-all;
}

/* وضعیت خوانده‌شدن نامه‌ها */
.messaging-unread-notice {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: .65rem 0;
    padding: .7rem .9rem;
    border-radius: .75rem;
    border: 1px solid rgba(var(--bs-primary-rgb), .22);
    background: rgba(var(--bs-primary-rgb), .08);
    color: var(--bs-primary);
}

.messaging-mailbox-item {
    position: relative;
    transition: background-color .18s ease, opacity .18s ease, transform .18s ease;
}

/* نامه مشاهده‌نشده */
.messaging-mailbox-item.unread {
    font-weight: 600;
    background: rgba(var(--bs-primary-rgb), .08);
    border-inline-start: 4px solid var(--bs-primary);
}

.messaging-mailbox-item.unread .mailbox-icon {
    color: var(--bs-primary);
}

.messaging-mailbox-item.unread .mailbox-main > span:first-of-type {
    font-weight: 700;
}

/* نامه‌ای که قبلاً مشاهده شده است */
.messaging-mailbox-item:not(.unread) {
    opacity: .82;
}

.messaging-mailbox-item:not(.unread) .mailbox-icon {
    opacity: .7;
}

.messaging-mailbox-item:not(.unread)::after {
    content: '✓ خوانده شد';
    position: absolute;
    inset-inline-start: .75rem;
    bottom: .35rem;
    font-size: .68rem;
    opacity: .55;
}

@media (prefers-reduced-motion: reduce) {
    .messaging-mailbox-item {
        transition: none;
    }
}

/* =========================================================
   نمایش محتوای نامه در Modal تمام‌صفحه
   ========================================================= */
.messaging-letter-modal {
    position: fixed;
    inset: 0;
    z-index: 2050;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.messaging-letter-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(2px);
}

.messaging-letter-modal-panel {
    position: relative;
    z-index: 1;
    width: min(1200px, 100%);
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--bs-body-bg);
    box-shadow: 0 0 40px rgba(0,0,0,.25);
}

.messaging-letter-modal-toolbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg);
}

.messaging-letter-modal-body {
    flex: 1 1 auto;
    overflow: auto;
    padding: clamp(1rem, 3vw, 3rem);
    background: var(--bs-tertiary-bg);
}

.messaging-official-letter {
    max-width: 900px;
    min-height: 900px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 4rem);
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 .5rem 2rem rgba(0,0,0,.08);
    border-radius: .25rem;
}

.messaging-official-letter-heading {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1.2rem;
    border-bottom: 2px solid var(--bs-primary);
}

.messaging-official-title {
    font-size: 1.35rem;
    font-weight: 800;
}

.messaging-official-subtitle {
    color: var(--bs-secondary-color);
    margin-top: .3rem;
}

.messaging-official-number {
    min-width: 120px;
    text-align: center;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    padding: .55rem;
}

.messaging-official-number span,
.messaging-official-meta span {
    color: var(--bs-secondary-color);
    font-size: .82rem;
}

.messaging-official-number strong {
    display: block;
    margin-top: .2rem;
}

.messaging-official-subject {
    margin: 2rem 0 1.5rem;
    font-size: 1.35rem;
    font-weight: 800;
}

.messaging-official-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .75rem;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
}

.messaging-official-meta div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.messaging-official-body {
    min-height: 300px;
    margin-top: 2rem;
    padding: 1rem .25rem;
    white-space: pre-wrap;
    line-height: 2.1;
    font-size: 1rem;
}

.messaging-official-attachments {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--bs-border-color);
}

.messaging-official-attachments a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: .25rem;
    padding: .5rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    text-decoration: none;
    color: inherit;
}

.messaging-modal-decision {
    display: flex;
    gap: .8rem;
    margin-top: 2rem;
    padding: 1rem;
    border-radius: .6rem;
    border: 1px solid var(--bs-border-color);
}

.messaging-modal-decision.approved { border-inline-start: 4px solid var(--bs-success); }
.messaging-modal-decision.rejected { border-inline-start: 4px solid var(--bs-danger); }
.messaging-modal-decision > i { font-size: 1.5rem; }
.messaging-modal-actions { margin-top: 2rem; }

/* لیست قدیمی پیام‌های گفتگو دیگر در پایین صفحه نمایش داده نمی‌شود؛
   محتوا فقط داخل Modal نامه نمایش داده می‌شود. */
.messaging-messages {
    display: none !important;
}

@media (max-width: 768px) {
    .messaging-letter-modal-toolbar {
        padding: .65rem;
    }

    .messaging-letter-modal-toolbar .btn:not(.btn-outline-danger) {
        font-size: 0;
    }

    .messaging-letter-modal-toolbar .btn:not(.btn-outline-danger) i {
        font-size: 1rem;
        margin: 0 !important;
    }

    .messaging-official-letter {
        min-height: auto;
        padding: 1rem;
    }

    .messaging-official-letter-heading,
    .messaging-official-meta {
        grid-template-columns: 1fr;
        display: grid;
    }

    .messaging-official-number {
        text-align: right;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .messaging-letter-modal,
    .messaging-letter-modal * {
        visibility: visible !important;
    }

    .messaging-letter-modal {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
    }

    .messaging-letter-modal-backdrop,
    .messaging-letter-modal-toolbar {
        display: none !important;
    }

    .messaging-letter-modal-panel {
        width: 100% !important;
        height: auto !important;
        box-shadow: none !important;
    }

    .messaging-letter-modal-body {
        overflow: visible !important;
        padding: 0 !important;
        background: white !important;
    }

    .messaging-official-letter {
        max-width: none !important;
        min-height: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
    }
}
