/* =========================================================
   NBOK Tag Selector full CSS + v19 clean text patch
   File: static/css/nbok-tag-selector.css
   ========================================================= */

/* =========================================================
   NBOK Tag Selector v16 styles
   File: static/css/nbok-tag-selector.css

   هدف:
   - فقط یک نقطه تعامل در فرم: چیپ‌ها + دکمه انتخاب برچسب
   - حذف کامل input تایپ مستقیم و دکمه + قدیمی
   - پاپ‌آپ بدون تب و بدون دو پنل جدا؛ یک لیست واحد از نتایج
   ========================================================= */

html.nbok-v16-modal-open,
body.nbok-v16-modal-open {
    overflow: hidden !important;
}

/* پاکسازی قطعی UIهای قدیمی */
.nbok-tabs,
.nbok-tab-btn,
.nbok-source-tabs,
.nbok-tab-panel,
.nbok-main-grid,
.nbok-panel,
.nbok-existing-tags-list,
.nbok-new-tag-box,
.nbok-modal-overlay:not(.nbok-v16-modal),
.nbok-dialog:not(.nbok-v16-shell),
.nbok-dialog-v9,
.nbok-dialog-v10,
.nbok-dialog-v12,
.nbok-dialog-v13 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* داخل فرم، هیچ نوع تایپ مستقیم برای برچسب نباید دیده شود. */
.multi-tag-editor .multi-tag-input-row,
.multi-tag-editor .multi-tag-text-input,
.multi-tag-editor .multi-tag-add-btn,
.multi-tag-editor .multi-tag-footer,
.multi-tag-editor .multi-tag-draft-counter,
.multi-tag-editor .tag-counter {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.multi-tag-editor.nbok-v16-editor,
.nbok-v16-editor {
    width: 100% !important;
    min-height: 76px !important;
    padding: 9px !important;
    border: 1.8px solid rgba(77, 181, 106, 0.25) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7fbf8 100%) !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.multi-tag-editor.nbok-v16-editor:hover,
.multi-tag-editor.nbok-v16-editor:focus-within {
    border-color: rgba(77, 181, 106, 0.58) !important;
    box-shadow: 0 0 0 4px rgba(77, 181, 106, 0.08) !important;
}

.nbok-v16-chip-list,
.multi-tag-editor.nbok-v16-editor .multi-tag-chip-list {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 28px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

.nbok-v16-empty-hint {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    color: #8c9aa3 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.nbok-v16-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    width: 100% !important;
    border-top: 1px dashed rgba(77, 181, 106, 0.18) !important;
    padding-top: 7px !important;
    margin-top: 4px !important;
}

.nbok-v16-open-btn,
.nbok-open-picker-btn,
.nbok-empty-picker-btn {
    width: 100% !important;
    min-height: 34px !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 7px 10px !important;
    font-family: 'IRANSans', sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    color: #fff !important;
    background: linear-gradient(135deg, #4db56a, #3a9456) !important;
    box-shadow: 0 6px 16px rgba(77, 181, 106, 0.20) !important;
    line-height: 1.7 !important;
}

.nbok-v16-open-btn::before,
.nbok-open-picker-btn::before,
.nbok-empty-picker-btn::before {
    content: '🏷️ ';
}

.nbok-v16-open-btn:hover,
.nbok-open-picker-btn:hover,
.nbok-empty-picker-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 9px 22px rgba(77, 181, 106, 0.26) !important;
}

.nbok-v16-action-hint {
    display: block !important;
    color: #6b7c8d !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

.multi-tag-chip.nbok-v16-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    max-width: 100% !important;
    min-height: 28px !important;
    padding: 4px 6px 4px 5px !important;
    border: 1px solid rgba(77, 181, 106, 0.27) !important;
    border-radius: 999px !important;
    background: #e8f7ec !important;
    color: #2f7e48 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
    box-shadow: 0 3px 9px rgba(45, 62, 80, 0.06) !important;
}

.nbok-v16-chip .multi-tag-chip-text {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.nbok-v16-chip-meta,
.nbok-v16-selected-chip small {
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    padding: 1px 6px !important;
    background: rgba(255, 255, 255, 0.70) !important;
    color: #3a9456 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
}

/* ===================== Modal v16 ===================== */
.nbok-v16-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 18px 12px !important;
    overflow-y: auto !important;
    background: rgba(37, 56, 48, 0.70) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    direction: rtl !important;
}

.nbok-v16-modal.active {
    display: flex !important;
}

.nbok-v16-shell {
    width: min(1080px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 36px) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(300px, 1fr) auto auto !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    border: 2px solid rgba(77, 181, 106, 0.22) !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.30) !important;
    font-family: 'IRANSans', sans-serif !important;
}

.nbok-v16-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 16px 18px 12px !important;
    background: linear-gradient(135deg, rgba(77, 181, 106, 0.08), rgba(249, 213, 110, 0.12)) !important;
    border-bottom: 2px solid rgba(249, 213, 110, 0.72) !important;
}

.nbok-v16-kicker {
    color: #3a9456 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    margin-bottom: 3px !important;
    line-height: 1.7 !important;
}

.nbok-v16-header h3 {
    margin: 0 !important;
    color: #2d3e50 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.8 !important;
}

.nbok-v16-close {
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 38px !important;
    border: none !important;
    border-radius: 999px !important;
    background: rgba(239, 123, 114, 0.14) !important;
    color: #dc645c !important;
    cursor: pointer !important;
    font-family: Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nbok-v16-close:hover {
    background: #ef7b72 !important;
    color: #ffffff !important;
}

.nbok-v16-selected-box,
.nbok-v16-search-box,
.nbok-v16-new-box,
.nbok-v16-footer {
    padding: 10px 16px !important;
}

.nbok-v16-selected-box {
    display: grid !important;
    grid-template-columns: 170px 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(77, 181, 106, 0.10) !important;
}

.nbok-v16-selected-title {
    color: #3a9456 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.8 !important;
}

.nbok-v16-selected-preview {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-height: 28px !important;
}

.nbok-v16-selected-empty {
    color: #8c9aa3 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
}

.nbok-v16-selected-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(77, 181, 106, 0.24) !important;
    background: #edf9f0 !important;
    color: #2f7e48 !important;
    padding: 4px 5px 4px 9px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
}

.nbok-v16-selected-chip button,
.nbok-v16-chip .multi-tag-chip-remove {
    width: 19px !important;
    height: 19px !important;
    border: none !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.80) !important;
    color: inherit !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.nbok-v16-search-box {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    background: rgba(247, 251, 248, 0.78) !important;
    border-bottom: 1px solid rgba(77, 181, 106, 0.10) !important;
}

.nbok-v16-search,
.nbok-v16-new-input {
    width: 100% !important;
    min-height: 42px !important;
    border: 2px solid rgba(77, 181, 106, 0.24) !important;
    border-radius: 14px !important;
    padding: 9px 12px !important;
    font-family: 'IRANSans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #2d3e50 !important;
    background: #fff !important;
    outline: none !important;
    text-align: right !important;
}

.nbok-v16-search:focus,
.nbok-v16-new-input:focus {
    border-color: #4db56a !important;
    box-shadow: 0 0 0 4px rgba(77, 181, 106, 0.11) !important;
}

.nbok-v16-clear-search,
.nbok-v16-add-new,
.nbok-v16-done {
    min-height: 40px !important;
    border: none !important;
    border-radius: 13px !important;
    padding: 8px 14px !important;
    font-family: 'IRANSans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1.7 !important;
}

.nbok-v16-clear-search {
    color: #3a9456 !important;
    background: rgba(77, 181, 106, 0.12) !important;
}

.nbok-v16-clear-search:hover {
    background: rgba(77, 181, 106, 0.18) !important;
}

.nbok-v16-main {
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    min-height: 0 !important;
    padding: 12px 16px !important;
    overflow: hidden !important;
    background:
        linear-gradient(rgba(255,255,255,0.90), rgba(255,255,255,0.94)),
        radial-gradient(circle at 20px 20px, rgba(77,181,106,0.08) 1px, transparent 1px) !important;
    background-size: auto, 18px 18px !important;
}

.nbok-v16-list-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    border: 1.5px solid rgba(77, 181, 106, 0.18) !important;
    border-bottom: none !important;
    border-radius: 18px 18px 0 0 !important;
    background: linear-gradient(135deg, rgba(77, 181, 106, 0.08), rgba(249, 213, 110, 0.10)) !important;
}

.nbok-v16-list-head h4 {
    margin: 0 !important;
    color: #3a9456 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.7 !important;
}

.nbok-v16-list-head p {
    margin: 2px 0 0 !important;
    color: #6b7c8d !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
}

.nbok-v16-result-count {
    min-width: 34px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid rgba(77, 181, 106, 0.20) !important;
    color: #3a9456 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 0 9px !important;
}

.nbok-v16-results {
    min-height: 0 !important;
    overflow-y: auto !important;
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    padding: 11px !important;
    border: 1.5px solid rgba(77, 181, 106, 0.18) !important;
    border-radius: 0 0 18px 18px !important;
    background: rgba(255, 255, 255, 0.96) !important;
}

.nbok-v16-result-card {
    width: 100% !important;
    border: 1px solid rgba(77, 181, 106, 0.18) !important;
    border-radius: 15px !important;
    background: #fff !important;
    padding: 10px 12px !important;
    cursor: pointer !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "top action"
        "path action"
        "meta action" !important;
    gap: 4px 10px !important;
    text-align: right !important;
    font-family: 'IRANSans', sans-serif !important;
    box-shadow: 0 4px 14px rgba(45, 62, 80, 0.04) !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
}

.nbok-v16-result-card:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(77, 181, 106, 0.50) !important;
    box-shadow: 0 9px 22px rgba(45, 62, 80, 0.10) !important;
    background: #fbfffc !important;
}

.nbok-v16-result-top {
    grid-area: top !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.nbok-v16-result-title {
    color: #223244 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.7 !important;
    word-break: break-word !important;
}

.nbok-v16-source-badge,
.nbok-v16-level-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 2px 7px !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
}

.nbok-v16-source-badge.is-nbok {
    background: rgba(77, 181, 106, 0.13) !important;
    color: #3a9456 !important;
}

.nbok-v16-source-badge.is-existing {
    background: rgba(91, 155, 213, 0.13) !important;
    color: #4a7ba7 !important;
}

.nbok-v16-source-badge.is-new {
    background: rgba(247, 197, 45, 0.20) !important;
    color: #8b6711 !important;
}

.nbok-v16-level-badge {
    background: rgba(249, 213, 110, 0.20) !important;
    color: #8b6711 !important;
}

.nbok-v16-result-path {
    grid-area: path !important;
    color: #72838b !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.nbok-v16-result-meta {
    grid-area: meta !important;
    color: #4a7ba7 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.nbok-v16-result-action {
    grid-area: action !important;
    align-self: center !important;
    justify-self: end !important;
    border-radius: 11px !important;
    background: #4db56a !important;
    color: #fff !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.nbok-v16-empty,
.nbok-v16-loading {
    border: 1px dashed rgba(77, 181, 106, 0.28) !important;
    border-radius: 14px !important;
    padding: 15px !important;
    color: #6d7e86 !important;
    background: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.9 !important;
    text-align: center !important;
}

.nbok-v16-new-box {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr) !important;
    gap: 12px !important;
    align-items: center !important;
    background: linear-gradient(135deg, rgba(255, 248, 226, 0.96), rgba(255, 255, 255, 0.96)) !important;
    border-top: 1px solid rgba(77, 181, 106, 0.10) !important;
}

.nbok-v16-new-text h4 {
    margin: 0 !important;
    color: #8b6711 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.8 !important;
}

.nbok-v16-new-text p {
    margin: 1px 0 0 !important;
    color: #6b7c8d !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
}

.nbok-v16-new-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
}

.nbok-v16-add-new {
    color: #2d3e50 !important;
    background: linear-gradient(135deg, #f9d56e, #f0c455) !important;
    box-shadow: 0 8px 18px rgba(249, 213, 110, 0.22) !important;
}

.nbok-v16-add-new:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(249, 213, 110, 0.30) !important;
}

.nbok-v16-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: #fff !important;
    border-top: 1px solid rgba(77, 181, 106, 0.10) !important;
}

.nbok-v16-message {
    color: #617780 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.8 !important;
}

.nbok-v16-message.is-success {
    color: #3a9456 !important;
}

.nbok-v16-message.is-warning {
    color: #c07c00 !important;
}

.nbok-v16-done {
    color: #fff !important;
    background: linear-gradient(135deg, #4db56a, #3a9456) !important;
    box-shadow: 0 8px 18px rgba(77, 181, 106, 0.20) !important;
}

.nbok-v16-results::-webkit-scrollbar {
    width: 7px !important;
}

.nbok-v16-results::-webkit-scrollbar-thumb {
    background: rgba(77, 181, 106, 0.36) !important;
    border-radius: 999px !important;
}

.nbok-v16-results::-webkit-scrollbar-track {
    background: rgba(77, 181, 106, 0.08) !important;
    border-radius: 999px !important;
}

@media (max-width: 860px) {
    .nbok-v16-shell {
        grid-template-rows: auto auto auto minmax(260px, 1fr) auto auto !important;
        width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 18px) !important;
        border-radius: 18px !important;
    }

    .nbok-v16-selected-box,
    .nbok-v16-search-box,
    .nbok-v16-new-box,
    .nbok-v16-footer,
    .nbok-v16-main {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .nbok-v16-selected-box,
    .nbok-v16-search-box,
    .nbok-v16-new-box,
    .nbok-v16-new-actions {
        grid-template-columns: 1fr !important;
    }

    .nbok-v16-result-card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "top"
            "path"
            "meta"
            "action" !important;
    }

    .nbok-v16-result-action {
        justify-self: start !important;
        margin-top: 4px !important;
    }

    .nbok-v16-footer {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .nbok-v16-done {
        width: 100% !important;
    }
}

@media (max-width: 576px) {
    .multi-tag-editor.nbok-v16-editor,
    .nbok-v16-editor {
        min-height: 68px !important;
        padding: 7px !important;
        border-radius: 12px !important;
    }

    .nbok-v16-open-btn {
        min-height: 31px !important;
        font-size: 9px !important;
    }

    .nbok-v16-action-hint,
    .nbok-v16-empty-hint {
        font-size: 7px !important;
    }

    .nbok-v16-header h3 {
        font-size: 13px !important;
    }

    .nbok-v16-search,
    .nbok-v16-new-input,
    .nbok-v16-clear-search,
    .nbok-v16-add-new,
    .nbok-v16-done {
        min-height: 37px !important;
        font-size: 10px !important;
        border-radius: 11px !important;
    }

    .nbok-v16-list-head h4,
    .nbok-v16-new-text h4 {
        font-size: 11px !important;
    }

    .nbok-v16-list-head p,
    .nbok-v16-new-text p,
    .nbok-v16-message {
        font-size: 8px !important;
    }

    .nbok-v16-result-title {
        font-size: 10px !important;
    }

    .nbok-v16-result-path,
    .nbok-v16-result-meta,
    .nbok-v16-source-badge,
    .nbok-v16-level-badge,
    .nbok-v16-result-action {
        font-size: 8px !important;
    }
}


/* =========================================================
   NBOK Tag Selector v16 - source-aware popup + collapsible NBOK tree
   ========================================================= */
.nbok-v16-source-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr) !important;
    gap: 14px !important;
    min-height: 360px !important;
    padding: 14px 16px !important;
    overflow: hidden !important;
    background:
        linear-gradient(rgba(255,255,255,0.86), rgba(255,255,255,0.92)),
        radial-gradient(circle at 20px 20px, rgba(77,181,106,0.08) 1px, transparent 1px) !important;
    background-size: auto, 18px 18px !important;
}

.nbok-v16-source-section {
    min-height: 0 !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 8px 24px rgba(45, 62, 80, 0.06) !important;
}

.nbok-v16-source-section.is-nbok {
    border: 2px solid rgba(77, 181, 106, 0.22) !important;
}

.nbok-v16-source-section.is-existing {
    border: 2px solid rgba(91, 155, 213, 0.20) !important;
}

.nbok-v16-source-section.is-nbok .nbok-v16-list-head {
    background: linear-gradient(135deg, rgba(77, 181, 106, 0.10), rgba(249, 213, 110, 0.10)) !important;
}

.nbok-v16-source-section.is-existing .nbok-v16-list-head {
    background: linear-gradient(135deg, rgba(91, 155, 213, 0.10), rgba(255, 255, 255, 0.88)) !important;
}

.nbok-v16-tree,
.nbok-v16-existing-list {
    overflow-y: auto !important;
    min-height: 0 !important;
    padding: 12px !important;
}

.nbok-v16-tree {
    display: block !important;
}

.nbok-v16-tree-row {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
    margin-bottom: 7px !important;
    padding-right: calc(var(--nbok-depth, 0) * 16px) !important;
}

.nbok-v16-tree-toggle {
    width: 30px !important;
    min-height: 38px !important;
    border: 1px solid rgba(77, 181, 106, 0.20) !important;
    border-radius: 11px !important;
    background: rgba(77, 181, 106, 0.08) !important;
    color: #3a9456 !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

.nbok-v16-tree-toggle.is-empty {
    cursor: default !important;
    color: #9eb0b8 !important;
    background: rgba(158, 176, 184, 0.08) !important;
}

.nbok-v16-tree-toggle:not(.is-empty):hover {
    background: #4db56a !important;
    color: #fff !important;
}

.nbok-v16-tree-content {
    width: 100% !important;
    border: 1px solid rgba(77, 181, 106, 0.18) !important;
    border-radius: 14px !important;
    background: #fff !important;
    padding: 8px 10px !important;
    display: grid !important;
    gap: 3px !important;
    text-align: right !important;
    font-family: 'IRANSans', sans-serif !important;
    cursor: pointer !important;
    box-shadow: 0 4px 13px rgba(45, 62, 80, 0.04) !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}

.nbok-v16-tree-content:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(77, 181, 106, 0.52) !important;
    box-shadow: 0 9px 22px rgba(45, 62, 80, 0.09) !important;
}

.nbok-v16-tree-main {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
}

.nbok-v16-tree-title {
    color: #223244 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.7 !important;
}

.nbok-v16-tree-path {
    color: #72838b !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}

.nbok-v16-tree-children {
    display: block !important;
}

.nbok-v16-existing-card {
    width: 100% !important;
    border: 1px solid rgba(91, 155, 213, 0.18) !important;
    border-radius: 15px !important;
    background: #fff !important;
    padding: 10px 12px !important;
    margin-bottom: 9px !important;
    cursor: pointer !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "top action"
        "meta action"
        "path action" !important;
    gap: 4px 10px !important;
    text-align: right !important;
    font-family: 'IRANSans', sans-serif !important;
    box-shadow: 0 4px 14px rgba(45, 62, 80, 0.04) !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}

.nbok-v16-existing-card:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(91, 155, 213, 0.52) !important;
    box-shadow: 0 9px 22px rgba(45, 62, 80, 0.09) !important;
}

.nbok-v16-existing-card .nbok-v16-result-top {
    grid-area: top !important;
}

.nbok-v16-existing-card .nbok-v16-result-meta {
    grid-area: meta !important;
}

.nbok-v16-existing-card .nbok-v16-result-path {
    grid-area: path !important;
}

.nbok-v16-existing-card .nbok-v16-result-action {
    grid-area: action !important;
    align-self: center !important;
}

.nbok-v16-source-badge.is-nbok {
    color: #2f7e48 !important;
    background: rgba(77, 181, 106, 0.13) !important;
    border: 1px solid rgba(77, 181, 106, 0.20) !important;
}

.nbok-v16-source-badge.is-existing {
    color: #4a7ba7 !important;
    background: rgba(91, 155, 213, 0.13) !important;
    border: 1px solid rgba(91, 155, 213, 0.20) !important;
}

.nbok-v16-chip-meta,
.nbok-v16-selected-chip small {
    min-width: max-content !important;
}

@media (max-width: 1080px) {
    .nbok-v16-source-grid {
        grid-template-columns: 1fr !important;
        overflow-y: auto !important;
    }
    .nbok-v16-source-section {
        min-height: 280px !important;
    }
}

@media (max-width: 576px) {
    .nbok-v16-tree-row {
        grid-template-columns: 26px minmax(0, 1fr) !important;
        gap: 5px !important;
        padding-right: calc(var(--nbok-depth, 0) * 10px) !important;
    }
    .nbok-v16-tree-toggle {
        width: 26px !important;
        min-height: 34px !important;
    }
    .nbok-v16-tree-title,
    .nbok-v16-result-title {
        font-size: 10px !important;
    }
}


/* =========================================================
   NBOK Tag Selector v16 refinements
   ========================================================= */

.nbok-v16-chip-meta,
.nbok-v16-selected-chip small {
    display: none !important;
}

.nbok-v16-source-section.is-existing .nbok-v16-list-head h4::before { content: '🏷️ '; }
.nbok-v16-source-section.is-nbok .nbok-v16-list-head h4::before { content: '🌳 '; }

.nbok-v16-tree {
    position: relative !important;
    padding: 12px 14px 12px 10px !important;
    background: linear-gradient(180deg, rgba(247,251,248,0.72), #fff) !important;
}

.nbok-v16-tree-row {
    position: relative !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-right: calc(var(--nbok-depth, 0) * 24px) !important;
    margin-bottom: 8px !important;
}

.nbok-v16-tree-row::before {
    content: '' !important;
    position: absolute !important;
    top: -8px !important;
    bottom: -8px !important;
    right: calc((var(--nbok-depth, 0) * 24px) + 24px) !important;
    width: 2px !important;
    background: rgba(77, 181, 106, 0.16) !important;
    border-radius: 999px !important;
}

.nbok-v16-tree-row.depth-0::before { display: none !important; }

.nbok-v16-tree-row::after {
    content: '' !important;
    position: absolute !important;
    top: 21px !important;
    right: calc((var(--nbok-depth, 0) * 24px) + 24px) !important;
    width: 16px !important;
    height: 2px !important;
    background: rgba(77, 181, 106, 0.16) !important;
    border-radius: 999px !important;
}

.nbok-v16-tree-row.depth-0::after { display: none !important; }

.nbok-v16-tree-toggle {
    width: 50px !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    place-items: center !important;
    gap: 0 !important;
    border: 1.5px solid rgba(77, 181, 106, 0.28) !important;
    background: linear-gradient(135deg, rgba(77,181,106,0.12), rgba(249,213,110,0.10)) !important;
    box-shadow: 0 4px 12px rgba(77, 181, 106, 0.08) !important;
    z-index: 1 !important;
}

.nbok-v16-tree-row.has-children .nbok-v16-tree-toggle { cursor: pointer !important; }
.nbok-v16-tree-row.is-collapsed .nbok-v16-tree-toggle {
    background: #fff !important;
    border-color: rgba(77, 181, 106, 0.22) !important;
}

.nbok-v16-toggle-arrow {
    display: block !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    color: #3a9456 !important;
}

.nbok-v16-toggle-label {
    display: block !important;
    color: #3a9456 !important;
    font-family: 'IRANSans', sans-serif !important;
    font-size: 7px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.nbok-v16-toggle-dot {
    color: rgba(77, 181, 106, 0.55) !important;
    font-size: 16px !important;
}

.nbok-v16-tree-content {
    position: relative !important;
    border-width: 1.5px !important;
    min-height: 42px !important;
    overflow: hidden !important;
}

.nbok-v16-tree-row.level-L5 .nbok-v16-tree-content {
    border-color: rgba(77, 181, 106, 0.38) !important;
    background: linear-gradient(135deg, #ffffff, rgba(232,247,236,0.78)) !important;
}
.nbok-v16-tree-row.level-L4 .nbok-v16-tree-content {
    border-color: rgba(91, 155, 213, 0.32) !important;
    background: linear-gradient(135deg, #ffffff, rgba(233,243,255,0.70)) !important;
}
.nbok-v16-tree-row.level-L3 .nbok-v16-tree-content {
    border-color: rgba(249, 213, 110, 0.50) !important;
    background: linear-gradient(135deg, #ffffff, rgba(255,245,215,0.70)) !important;
}
.nbok-v16-tree-row.level-L2 .nbok-v16-tree-content {
    border-color: rgba(212, 193, 245, 0.48) !important;
    background: linear-gradient(135deg, #ffffff, rgba(242,236,255,0.66)) !important;
}
.nbok-v16-tree-row.level-L1 .nbok-v16-tree-content {
    border-color: rgba(169, 221, 215, 0.48) !important;
    background: linear-gradient(135deg, #ffffff, rgba(231,248,246,0.70)) !important;
}

.nbok-v16-level-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(77, 181, 106, 0.13) !important;
    color: #3a9456 !important;
    border: 1px solid rgba(77, 181, 106, 0.20) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    direction: ltr !important;
}

.nbok-v16-child-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 2px 8px !important;
    background: rgba(45, 62, 80, 0.06) !important;
    color: #6b7c8d !important;
    font-size: 8px !important;
    font-weight: 900 !important;
}

.nbok-v16-tree-children { margin-right: 2px !important; }
.nbok-v16-existing-list { background: linear-gradient(180deg, rgba(246,250,255,0.58), #fff) !important; }

.nbok-v16-existing-card {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "top action" !important;
    min-height: 46px !important;
    border-color: rgba(77, 181, 106, 0.16) !important;
    background: #fff !important;
}

.nbok-v16-existing-card .nbok-v16-result-meta,
.nbok-v16-existing-card .nbok-v16-result-path,
.nbok-v16-existing-card .nbok-v16-source-badge {
    display: none !important;
}

.nbok-v16-existing-card .nbok-v16-result-title::before {
    content: '🏷️';
    margin-left: 6px;
    font-size: 12px;
}

.nbok-v16-existing-card .nbok-v16-result-action {
    background: rgba(77, 181, 106, 0.10) !important;
    color: #3a9456 !important;
    border: 1px solid rgba(77, 181, 106, 0.18) !important;
}

.nbok-v16-selected-chip { padding-left: 9px !important; }

@media (max-width: 576px) {
    .nbok-v16-tree-row {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding-right: calc(var(--nbok-depth, 0) * 18px) !important;
    }
    .nbok-v16-tree-toggle { width: 42px !important; }
    .nbok-v16-toggle-label { font-size: 6px !important; }
}


/* =========================================================
   NBOK Tag Selector v22 clean text patch
   فقط برای حذف متن‌های راهنما/تکراری در فرم و پاپ‌آپ
   ========================================================= */

.nbok-v16-action-hint,
.nbok-v15-action-hint,
.nbok-v14-action-hint {
    display: none !important;
}

.nbok-v16-message:empty {
    display: none !important;
}

.nbok-v16-list-head p,
.nbok-v16-new-text p {
    display: none !important;
}



/* v22-clean: hide modal kicker text and keep selected title compact */
.nbok-v16-modal .nbok-v16-kicker {
    display: none !important;
}
.nbok-v16-modal .nbok-v16-selected-title {
    font-size: 12px !important;
    font-weight: 800 !important;
}


/* ===== Clean popup text v22 ===== */
.nbok-v16-kicker {
    display: none !important;
}

.nbok-v16-selected-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
}

.nbok-v16-list-head p,
.nbok-v16-new-text p {
    display: none !important;
}


/* NBOK_5_FORM_LAYOUT_V54_START
   ظاهر مشترک پنج فرم بدون کشیده شدن باکس برچسب.
   هدف:
   - ستون‌ها یکدست باشند.
   - سلول برچسب فقط ستون خودش را داشته باشد.
   - خود باکس برچسب به ارتفاع ردیف کشیده نشود.
   - دکمه انتخاب برچسب در کف همان باکس کوچک بماند.
*/
#supervisorReportForm .topics-table,
#supervisorReportForm .evaluation-table,
#preMentoringForm .topics-table,
#mentoringFinalReportForm .topics-table,
#finalMentoringReportForm .topics-table,
#mentoringAgreementForm .topics-table,
#notebookForm .topics-table {
    min-width: 760px !important;
    table-layout: fixed !important;
}

#notebookForm .topics-table {
    min-width: 920px !important;
}

#supervisorReportForm td.nbok-tag-cell,
#preMentoringForm td.nbok-tag-cell,
#mentoringFinalReportForm td.nbok-tag-cell,
#finalMentoringReportForm td.nbok-tag-cell,
#mentoringAgreementForm td.nbok-tag-cell,
#notebookForm td.nbok-tag-cell,
td.nbok-tag-cell,
#supervisorReportForm td:has(.multi-tag-editor),
#preMentoringForm td:has(.multi-tag-editor),
#mentoringFinalReportForm td:has(.multi-tag-editor),
#finalMentoringReportForm td:has(.multi-tag-editor),
#mentoringAgreementForm td:has(.multi-tag-editor),
#notebookForm td:has(.multi-tag-editor) {
    width: 24% !important;
    min-width: 176px !important;
    max-width: 260px !important;
    padding: 8px 6px !important;
    vertical-align: top !important;
    text-align: right !important;
    height: auto !important;
}

#supervisorReportForm th.nbok-tag-head,
#preMentoringForm th.nbok-tag-head,
#mentoringFinalReportForm th.nbok-tag-head,
#finalMentoringReportForm th.nbok-tag-head,
#mentoringAgreementForm th.nbok-tag-head,
#notebookForm th.nbok-tag-head,
th.nbok-tag-head {
    width: 24% !important;
    min-width: 176px !important;
    max-width: 260px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#supervisorReportForm td.nbok-op-cell,
#preMentoringForm td.nbok-op-cell,
#mentoringFinalReportForm td.nbok-op-cell,
#finalMentoringReportForm td.nbok-op-cell,
#mentoringAgreementForm td.nbok-op-cell,
#notebookForm td.nbok-op-cell,
td.nbok-op-cell {
    width: 7% !important;
    min-width: 54px !important;
    max-width: 72px !important;
    padding: 5px 4px !important;
    vertical-align: middle !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#supervisorReportForm th.nbok-op-head,
#preMentoringForm th.nbok-op-head,
#mentoringFinalReportForm th.nbok-op-head,
#finalMentoringReportForm th.nbok-op-head,
#mentoringAgreementForm th.nbok-op-head,
#notebookForm th.nbok-op-head,
th.nbok-op-head {
    width: 7% !important;
    min-width: 54px !important;
    max-width: 72px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#supervisorReportForm td.nbok-text-cell,
#preMentoringForm td.nbok-text-cell,
#mentoringFinalReportForm td.nbok-text-cell,
#finalMentoringReportForm td.nbok-text-cell,
#mentoringAgreementForm td.nbok-text-cell,
#notebookForm td.nbok-text-cell,
td.nbok-text-cell {
    width: auto !important;
    vertical-align: top !important;
}

#supervisorReportForm th.nbok-text-head,
#preMentoringForm th.nbok-text-head,
#mentoringFinalReportForm th.nbok-text-head,
#finalMentoringReportForm th.nbok-text-head,
#mentoringAgreementForm th.nbok-text-head,
#notebookForm th.nbok-text-head,
th.nbok-text-head {
    width: auto !important;
}

.multi-tag-editor.nbok-v16-editor,
.nbok-v16-editor,
td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
td.nbok-tag-cell .nbok-v16-editor,
#supervisorReportForm td:has(.multi-tag-editor) .nbok-v16-editor,
#preMentoringForm td:has(.multi-tag-editor) .nbok-v16-editor,
#mentoringFinalReportForm td:has(.multi-tag-editor) .nbok-v16-editor,
#finalMentoringReportForm td:has(.multi-tag-editor) .nbok-v16-editor,
#mentoringAgreementForm td:has(.multi-tag-editor) .nbok-v16-editor,
#notebookForm td:has(.multi-tag-editor) .nbok-v16-editor {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    padding: 7px !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    overflow: visible !important;
}

.multi-tag-editor.nbok-v16-editor .multi-tag-chip-list,
.multi-tag-editor.nbok-v16-editor .nbok-v16-chip-list,
.nbok-v16-chip-list {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 26px !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.multi-tag-editor.nbok-v16-editor .nbok-v16-action-row,
.nbok-v16-action-row {
    flex: 0 0 auto !important;
    width: 100% !important;
    align-self: stretch !important;
    margin-top: auto !important;
    padding-top: 6px !important;
    border-top: 1px dashed rgba(77, 181, 106, 0.20) !important;
    box-sizing: border-box !important;
}

.multi-tag-editor.nbok-v16-editor .nbok-v16-open-btn,
.nbok-v16-open-btn {
    width: 100% !important;
    min-height: 31px !important;
    height: 31px !important;
    padding: 4px 9px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.multi-tag-editor.nbok-v16-editor .multi-tag-chip,
.multi-tag-editor.nbok-v16-editor .nbok-v16-chip,
td.nbok-tag-cell .multi-tag-chip,
td.nbok-tag-cell .nbok-v16-chip {
    max-width: 100% !important;
    min-height: 23px !important;
    padding: 3px 6px 3px 5px !important;
    font-size: 9px !important;
    line-height: 1.55 !important;
}

.nbok-v16-empty-hint {
    width: 100% !important;
    min-height: 23px !important;
    align-items: flex-start !important;
    font-size: 8px !important;
    padding: 2px 0 !important;
}

.nbok-v16-action-hint,
.multi-tag-editor .multi-tag-input-row,
.multi-tag-editor .multi-tag-text-input,
.multi-tag-editor .multi-tag-add-btn,
.multi-tag-editor .multi-tag-footer,
.multi-tag-editor .multi-tag-draft-counter,
.multi-tag-editor .tag-counter {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

@media (max-width: 992px) {
    #supervisorReportForm td.nbok-tag-cell,
    #preMentoringForm td.nbok-tag-cell,
    #mentoringFinalReportForm td.nbok-tag-cell,
    #finalMentoringReportForm td.nbok-tag-cell,
    #mentoringAgreementForm td.nbok-tag-cell,
    #notebookForm td.nbok-tag-cell,
    td.nbok-tag-cell,
    #supervisorReportForm th.nbok-tag-head,
    #preMentoringForm th.nbok-tag-head,
    #mentoringFinalReportForm th.nbok-tag-head,
    #finalMentoringReportForm th.nbok-tag-head,
    #mentoringAgreementForm th.nbok-tag-head,
    #notebookForm th.nbok-tag-head,
    th.nbok-tag-head {
        width: 27% !important;
        min-width: 156px !important;
        max-width: 230px !important;
    }

    .multi-tag-editor.nbok-v16-editor,
    .nbok-v16-editor {
        min-height: 80px !important;
        padding: 6px !important;
    }

    .multi-tag-editor.nbok-v16-editor .nbok-v16-open-btn,
    .nbok-v16-open-btn {
        min-height: 28px !important;
        height: 28px !important;
        font-size: 8px !important;
    }
}
/* NBOK_5_FORM_LAYOUT_V54_END */


/* NBOK_FINAL_SAFE_LAYOUT_START
   نسخه نهایی پایدار:
   - هیچ فایل اضافه‌ای ندارد.
   - فقط nbok-tag-selector.css/js استفاده می‌شود.
   - دکمه انتخاب برچسب خام نمی‌شود.
   - کلیک روی دکمه/باکس برچسب کار می‌کند.
   - باکس برچسب الکی کشیده نمی‌شود؛ ولی دکمه داخل همان باکس در پایین می‌ماند.
*/
#supervisorReportForm .topics-table,
#supervisorReportForm .evaluation-table,
#preMentoringForm .topics-table,
#mentoringFinalReportForm .topics-table,
#finalMentoringReportForm .topics-table,
#finalReportForm .topics-table,
#mentoringAgreementForm .topics-table,
#notebookForm .topics-table {
    min-width: 760px !important;
    table-layout: fixed !important;
}

#notebookForm .topics-table {
    min-width: 920px !important;
}

#supervisorReportForm td.nbok-tag-cell,
#preMentoringForm td.nbok-tag-cell,
#mentoringFinalReportForm td.nbok-tag-cell,
#finalMentoringReportForm td.nbok-tag-cell,
#finalReportForm td.nbok-tag-cell,
#mentoringAgreementForm td.nbok-tag-cell,
#notebookForm td.nbok-tag-cell,
td.nbok-tag-cell {
    width: 24% !important;
    min-width: 176px !important;
    max-width: 260px !important;
    padding: 8px 6px !important;
    vertical-align: top !important;
    text-align: right !important;
}

#supervisorReportForm th.nbok-tag-head,
#preMentoringForm th.nbok-tag-head,
#mentoringFinalReportForm th.nbok-tag-head,
#finalMentoringReportForm th.nbok-tag-head,
#finalReportForm th.nbok-tag-head,
#mentoringAgreementForm th.nbok-tag-head,
#notebookForm th.nbok-tag-head,
th.nbok-tag-head {
    width: 24% !important;
    min-width: 176px !important;
    max-width: 260px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#supervisorReportForm td.nbok-op-cell,
#preMentoringForm td.nbok-op-cell,
#mentoringFinalReportForm td.nbok-op-cell,
#finalMentoringReportForm td.nbok-op-cell,
#finalReportForm td.nbok-op-cell,
#mentoringAgreementForm td.nbok-op-cell,
#notebookForm td.nbok-op-cell,
td.nbok-op-cell {
    width: 7% !important;
    min-width: 54px !important;
    max-width: 72px !important;
    padding: 5px 4px !important;
    vertical-align: middle !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#supervisorReportForm th.nbok-op-head,
#preMentoringForm th.nbok-op-head,
#mentoringFinalReportForm th.nbok-op-head,
#finalMentoringReportForm th.nbok-op-head,
#finalReportForm th.nbok-op-head,
#mentoringAgreementForm th.nbok-op-head,
#notebookForm th.nbok-op-head,
th.nbok-op-head {
    width: 7% !important;
    min-width: 54px !important;
    max-width: 72px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#supervisorReportForm td.nbok-text-cell,
#preMentoringForm td.nbok-text-cell,
#mentoringFinalReportForm td.nbok-text-cell,
#finalMentoringReportForm td.nbok-text-cell,
#finalReportForm td.nbok-text-cell,
#mentoringAgreementForm td.nbok-text-cell,
#notebookForm td.nbok-text-cell,
td.nbok-text-cell {
    width: auto !important;
    vertical-align: top !important;
}

.multi-tag-editor.nbok-v16-editor,
.nbok-v16-editor,
td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
td.nbok-tag-cell .nbok-v16-editor,
.tagged-field-grid .multi-tag-editor.nbok-v16-editor,
.tagged-field-grid .nbok-v16-editor {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    padding: 7px !important;
    border: 1.8px solid rgba(77, 181, 106, 0.25) !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7fbf8 100%) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    overflow: visible !important;
}

.multi-tag-editor.nbok-v16-editor:hover,
.multi-tag-editor.nbok-v16-editor:focus-within {
    border-color: rgba(77, 181, 106, 0.58) !important;
    box-shadow: 0 0 0 4px rgba(77, 181, 106, 0.08) !important;
}

.multi-tag-editor.nbok-v16-editor .multi-tag-chip-list,
.multi-tag-editor.nbok-v16-editor .nbok-v16-chip-list,
.nbok-v16-chip-list {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 28px !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.multi-tag-editor.nbok-v16-editor .nbok-v16-action-row,
.nbok-v16-action-row {
    flex: 0 0 auto !important;
    width: 100% !important;
    align-self: stretch !important;
    margin-top: auto !important;
    padding-top: 6px !important;
    border-top: 1px dashed rgba(77, 181, 106, 0.20) !important;
    box-sizing: border-box !important;
    display: block !important;
}

.multi-tag-editor.nbok-v16-editor .nbok-v16-open-btn,
.nbok-v16-open-btn,
.nbok-open-picker-btn,
.nbok-empty-picker-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-height: 31px !important;
    height: 31px !important;
    max-height: 31px !important;
    padding: 4px 9px !important;
    margin: 0 !important;
    border: none !important;
    outline: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #4db56a, #3a9456) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(77, 181, 106, 0.20) !important;
    font-family: 'IRANSans', sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.7 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.multi-tag-editor.nbok-v16-editor .nbok-v16-open-btn:hover,
.nbok-v16-open-btn:hover,
.nbok-open-picker-btn:hover,
.nbok-empty-picker-btn:hover {
    background: linear-gradient(135deg, #4db56a, #3a9456) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 9px 22px rgba(77, 181, 106, 0.26) !important;
}

.multi-tag-editor.nbok-v16-editor .multi-tag-chip,
.multi-tag-editor.nbok-v16-editor .nbok-v16-chip,
td.nbok-tag-cell .multi-tag-chip,
td.nbok-tag-cell .nbok-v16-chip {
    max-width: 100% !important;
    min-height: 24px !important;
    padding: 3px 7px 3px 5px !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

.multi-tag-editor.nbok-v16-editor .multi-tag-chip-text,
.multi-tag-editor.nbok-v16-editor .nbok-v16-chip .multi-tag-chip-text {
    max-width: 175px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.nbok-v16-empty-hint,
.multi-tag-empty-hint {
    width: 100% !important;
    min-height: 24px !important;
    color: #8c9aa3 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 2px 0 !important;
}

.nbok-v16-action-hint,
.multi-tag-editor .multi-tag-input-row,
.multi-tag-editor .multi-tag-text-input,
.multi-tag-editor .multi-tag-add-btn,
.multi-tag-editor .multi-tag-footer,
.multi-tag-editor .multi-tag-draft-counter,
.multi-tag-editor .tag-counter {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

@media (max-width: 992px) {
    #supervisorReportForm td.nbok-tag-cell,
    #preMentoringForm td.nbok-tag-cell,
    #mentoringFinalReportForm td.nbok-tag-cell,
    #finalMentoringReportForm td.nbok-tag-cell,
    #finalReportForm td.nbok-tag-cell,
    #mentoringAgreementForm td.nbok-tag-cell,
    #notebookForm td.nbok-tag-cell,
    td.nbok-tag-cell,
    #supervisorReportForm th.nbok-tag-head,
    #preMentoringForm th.nbok-tag-head,
    #mentoringFinalReportForm th.nbok-tag-head,
    #finalMentoringReportForm th.nbok-tag-head,
    #finalReportForm th.nbok-tag-head,
    #mentoringAgreementForm th.nbok-tag-head,
    #notebookForm th.nbok-tag-head,
    th.nbok-tag-head {
        width: 27% !important;
        min-width: 156px !important;
        max-width: 230px !important;
    }

    .multi-tag-editor.nbok-v16-editor,
    .nbok-v16-editor {
        min-height: 80px !important;
        padding: 6px !important;
    }

    .multi-tag-editor.nbok-v16-editor .nbok-v16-open-btn,
    .nbok-v16-open-btn {
        min-height: 28px !important;
        height: 28px !important;
        max-height: 28px !important;
        font-size: 8px !important;
    }
}
/* NBOK_FINAL_SAFE_LAYOUT_END */


/* NBOK_BUTTON_BOTTOM_OF_ROW_START
   هدف:
   سلول برچسب باید تا ارتفاع واقعی ردیف کش بیاید، اما ظاهر ردیف کشیده و بد نشود.
   دکمه «انتخاب برچسب» داخل همان باکس، به کف باکس/ردیف بچسبد.
*/
#supervisorReportForm .topics-table tr:has(.multi-tag-editor),
#preMentoringForm .topics-table tr:has(.multi-tag-editor),
#mentoringFinalReportForm .topics-table tr:has(.multi-tag-editor),
#finalMentoringReportForm .topics-table tr:has(.multi-tag-editor),
#finalReportForm .topics-table tr:has(.multi-tag-editor),
#mentoringAgreementForm .topics-table tr:has(.multi-tag-editor),
#notebookForm .topics-table tr:has(.multi-tag-editor),
.topics-table tr:has(.multi-tag-editor) {
    height: 1px !important;
}

#supervisorReportForm td.nbok-tag-cell,
#preMentoringForm td.nbok-tag-cell,
#mentoringFinalReportForm td.nbok-tag-cell,
#finalMentoringReportForm td.nbok-tag-cell,
#finalReportForm td.nbok-tag-cell,
#mentoringAgreementForm td.nbok-tag-cell,
#notebookForm td.nbok-tag-cell,
td.nbok-tag-cell {
    height: 100% !important;
    vertical-align: top !important;
}

#supervisorReportForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#preMentoringForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#mentoringFinalReportForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#finalMentoringReportForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#finalReportForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#mentoringAgreementForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
#notebookForm td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
td.nbok-tag-cell .multi-tag-editor.nbok-v16-editor,
td.nbok-tag-cell .nbok-v16-editor {
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

#supervisorReportForm td.nbok-tag-cell .multi-tag-chip-list,
#preMentoringForm td.nbok-tag-cell .multi-tag-chip-list,
#mentoringFinalReportForm td.nbok-tag-cell .multi-tag-chip-list,
#finalMentoringReportForm td.nbok-tag-cell .multi-tag-chip-list,
#finalReportForm td.nbok-tag-cell .multi-tag-chip-list,
#mentoringAgreementForm td.nbok-tag-cell .multi-tag-chip-list,
#notebookForm td.nbok-tag-cell .multi-tag-chip-list,
td.nbok-tag-cell .multi-tag-chip-list,
td.nbok-tag-cell .nbok-v16-chip-list {
    flex: 0 0 auto !important;
}

#supervisorReportForm td.nbok-tag-cell .nbok-v16-action-row,
#preMentoringForm td.nbok-tag-cell .nbok-v16-action-row,
#mentoringFinalReportForm td.nbok-tag-cell .nbok-v16-action-row,
#finalMentoringReportForm td.nbok-tag-cell .nbok-v16-action-row,
#finalReportForm td.nbok-tag-cell .nbok-v16-action-row,
#mentoringAgreementForm td.nbok-tag-cell .nbok-v16-action-row,
#notebookForm td.nbok-tag-cell .nbok-v16-action-row,
td.nbok-tag-cell .nbok-v16-action-row {
    margin-top: auto !important;
    flex: 0 0 auto !important;
}

/* مرورگرهای قدیمی‌تر که :has را کامل اعمال نمی‌کنند */
#supervisorReportForm tr.nbok-row-has-tag-editor,
#preMentoringForm tr.nbok-row-has-tag-editor,
#mentoringFinalReportForm tr.nbok-row-has-tag-editor,
#finalMentoringReportForm tr.nbok-row-has-tag-editor,
#finalReportForm tr.nbok-row-has-tag-editor,
#mentoringAgreementForm tr.nbok-row-has-tag-editor,
#notebookForm tr.nbok-row-has-tag-editor,
tr.nbok-row-has-tag-editor {
    height: 1px !important;
}
/* NBOK_BUTTON_BOTTOM_OF_ROW_END */

