/* =========================================================================
   NULLIFY SUPPORT SYSTEM — GLASS VERSION
   ========================================================================= */

/* ===============================
   Общая обертка
================================= */

.ns-support-form,
.ns-reply-wrapper,
.ns-chat-container,
.ns-tickets-table,
.ns-ticket-meta {
    margin-top: 25px;
}

/* ===============================
   Таблица тикетов
================================= */

.ns-tickets-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    border-radius: 18px;
    overflow: hidden;
}

.ns-tickets-table th,
.ns-tickets-table td {
    padding: 16px 18px;
    text-align: left;
}

.ns-tickets-table th {
    background: rgba(255,255,255,0.03);
    color: var(--text-secondary);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ns-tickets-table tr {
    border-top: 1px solid var(--glass-border);
    transition: 0.3s ease;
}

.ns-tickets-table tr:hover {
    background: rgba(255,255,255,0.04);
}

.ns-ticket-closed {
    opacity: 0.5;
}

/* ===============================
   Чат контейнер
================================= */

.ns-chat-container {
    padding: 30px;
    border-radius: 22px;
    background: var(--glass-bg);
    backdrop-filter: blur(25px);
    border: 1px solid var(--glass-border);
    max-height: 650px;
    overflow-y: auto;
}

/* ===============================
   Сообщения
================================= */

.ns-chat-message {
    margin-bottom: 28px;
    display: flex;
    flex-direction: column;
}

.ns-message-meta {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.ns-message-meta strong {
    color: var(--text-primary);
}

.ns-message-content {
    padding: 16px 20px;
    border-radius: 20px;
    max-width: 75%;
    word-break: break-word;
    line-height: 1.6;
}

/* Пользователь */

.ns-user-reply {
    align-items: flex-end;
}

.ns-user-reply .ns-message-content {
    background: linear-gradient(
        135deg,
        rgba(147,51,234,0.25),
        rgba(79,70,229,0.25)
    );
    border: 1px solid var(--glass-border);
}

/* Администратор */

.ns-admin-reply {
    align-items: flex-start;
}

.ns-admin-reply .ns-message-content {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--glass-border);
}

/* ===============================
   Вложения
================================= */

.ns-attachments {
    margin-top: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--glass-border);
    max-width: 75%;
}

.ns-attachments strong {
    display: block;
    margin-bottom: 8px;
    font-size: 0.8rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Убираем marker */
.ns-attachments ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ns-attachments li {
    margin-bottom: 6px;
    padding-left: 16px;
    position: relative;
}

.ns-attachments li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--accent-purple);
}

/* ===============================
   Meta блок
================================= */

.ns-ticket-meta {
    padding: 18px 22px;
    border-radius: 16px;
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
}

.ns-ticket-meta span {
    margin-right: 25px;
    color: var(--text-secondary);
}

/* ===============================
   Reply Block
================================= */

.ns-reply-wrapper {
    padding: 35px 40px;
    border-radius: 24px;
    margin-top: 40px;
}

.ns-reply-header h4 {
    font-size: 1.2rem;
    margin-bottom: 15px;
}

.ns-reply-divider {
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        var(--glass-border),
        transparent
    );
    margin-bottom: 30px;
}

/* ===============================
   Поля формы
================================= */

.ns-field {
    margin-bottom: 24px;
    padding-left: 5px;
    padding-right: 5px;
}

.ns-field textarea,
.ns-support-form input[type="text"],
.ns-support-form select {
    width: 100%;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid var(--glass-border);
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(15px);
    color: var(--text-primary);
    transition: 0.3s ease;
}

.ns-field textarea:focus,
.ns-support-form input:focus,
.ns-support-form select:focus {
    outline: none;
    border-color: var(--accent-purple);
    box-shadow: 0 0 0 2px rgba(147,51,234,0.3);
}

/* File input */

.ns-file-field label {
    display: block;
    margin-bottom: 10px;
    color: var(--text-secondary);
}

.ns-file-field input[type="file"] {
    width: 100%;
    padding: 12px;
    border-radius: 14px;
    border: 1px dashed var(--glass-border);
    background: rgba(255,255,255,0.02);
    color: var(--text-secondary);
}

/* ===============================
   Кнопки
================================= */

.ns-actions {
    margin-top: 10px;
    padding-left: 5px;
}

.ns-btn {
    padding: 14px 28px;
    border-radius: 16px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: 0.3s ease;
    backdrop-filter: blur(15px);
}

.ns-btn-primary {
    background: linear-gradient(
        135deg,
        var(--accent-purple),
        var(--accent-blue)
    );
    color: #fff;
    box-shadow: 0 8px 30px rgba(79,70,229,0.45);
}

.ns-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 35px rgba(79,70,229,0.6);
}

.ns-btn-danger {
    margin-top: 25px;
    background: linear-gradient(
        135deg,
        #7f1d1d,
        #b91c1c
    );
    color: #fff;
    box-shadow: 0 8px 30px rgba(185,28,28,0.45);
}

.ns-btn-danger:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 35px rgba(185,28,28,0.6);
}

/* ===============================
   Закрытый тикет
================================= */

.ns-ticket-closed-notice {
    padding: 18px;
    border-radius: 16px;
    text-align: center;
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--glass-border);
    margin-top: 30px;
}

/* ===============================
   Steam кнопка
================================= */

.steam-login-button {
    display: inline-block;
    padding: 14px 26px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 600;
    background: linear-gradient(
        135deg,
        #1b2838,
        #2c3e50
    );
    color: #fff !important;
    transition: 0.3s ease;
}

.steam-login-button:hover {
    transform: translateY(-3px);
}

/* ===============================
   Back Link
================================= */

.ns-back-wrapper {
    margin-bottom: 35px;
}

.ns-back-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 500;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(15px);
    color: var(--text-secondary);
    transition: 0.3s ease;
}

.ns-back-link:hover {
    color: var(--text-primary);
    border-color: var(--accent-purple);
    transform: translateY(-2px);
}

.ns-divider {
    margin-top: 25px;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        var(--glass-border),
        transparent
    );
}/* ===============================
   Field Block
================================= */

.ns-field-block {
    margin: 30px 0;
    padding: 0 6px;
}

/* ===============================
   Label
================================= */

.ns-label {
    display: block;
    margin-bottom: 12px;
    font-weight: 500;
    font-size: 0.95rem;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
}

.ns-label-step {
    color: var(--accent-purple);
    font-weight: 600;
    margin-right: 6px;
}

/* ===============================
   Textarea
================================= */

.ns-textarea {
    width: 100%;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid var(--glass-border);
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(18px);
    color: var(--text-primary);
    font-size: 0.95rem;
    line-height: 1.6;
    resize: vertical;
    min-height: 180px;
    transition: 0.3s ease;
}

/* Focus эффект */

.ns-textarea:focus {
    outline: none;
    border-color: var(--accent-purple);
    box-shadow: 
        0 0 0 2px rgba(147,51,234,0.25),
        0 10px 35px rgba(0,0,0,0.25);
    background: rgba(255,255,255,0.06);
}

/* Placeholder */

.ns-textarea::placeholder {
    color: rgba(255,255,255,0.4);
}/* ===============================
   File Upload Block
================================= */

.ns-file-upload {
    margin: 35px 0;
    padding: 0 6px;
}

.ns-label-hint {
    display: block;
    font-size: 0.8rem;
    margin-top: 4px;
    color: rgba(255,255,255,0.45);
}

/* ===============================
   Wrapper
================================= */

.ns-file-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    margin-top: 14px;
}

/* Скрытый input */

.ns-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

/* Визуальная зона */

.ns-file-ui {
    padding: 35px 25px;
    border-radius: 20px;
    border: 1px dashed var(--glass-border);
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(20px);
    text-align: center;
    transition: 0.3s ease;
    color: var(--text-secondary);
}

/* Hover эффект */

.ns-file-wrapper:hover .ns-file-ui {
    border-color: var(--accent-purple);
    background: rgba(255,255,255,0.06);
    box-shadow: 0 10px 35px rgba(0,0,0,0.3);
}

/* Иконка */

.ns-file-icon {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 10px;
}

/* Текст */

.ns-file-text {
    font-size: 0.9rem;
    letter-spacing: 0.3px;
}/* Стили для выпадающих списков select */
.ns-support-form select {
    background-color: #1e1e2f; /* тёмный фон для контраста */
    color: #ffffff;            /* текст белый */
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 12px;
    padding: 10px 12px;
    width: 100%;
    max-width: 600px;
    font-size: 0.95rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    backdrop-filter: blur(10px);
}

/* Стрелка select */
.ns-support-form select {
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8L0 0h12L6 8z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
}

/* Фокус на select */
.ns-support-form select:focus {
    outline: none;
    border-color: #9333ea;
    box-shadow: 0 0 8px rgba(147,51,234,0.3);
}
.ns-message-time {
    display: inline-block; /* нужно, чтобы margin работал корректно */
    margin-left: 10px;     /* отступ слева */
    color: #999;           /* можно оставить текущий цвет или изменить */
    font-size: 0.85rem;    /* размер текста */
}
/* Admin */

/* FRONTEND STYLES */
body:not(.wp-admin) .ns-ticket-meta span {
    color: white;
}
body:not(.wp-admin) .ns-back-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 500;
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(15px);
    background: #1f1d3d;
    color: #eeeaea;
    transition: 0.3s ease;
}
body:not(.wp-admin) .ns-attachments,
body:not(.wp-admin) .ns-admin-reply .ns-message-content,
body:not(.wp-admin) .ns-user-reply .ns-message-content {
    background: rgba(255,255,255,0.8);
    color: black;
    border: 1px solid var(--glass-border);
}
body:not(.wp-admin) .ns-reply-header h4 {
    color: white;
}
body:not(.wp-admin) .ns-file-field input[type="file"] {
    background: rgba(255,255,255,0.5);
    color: black;
}
body:not(.wp-admin) .ns-btn-primary {
    background: white;
    color: black;
    box-shadow: 0 8px 30px rgba(79,70,229,0.45);
}/* Стили для поля загрузки файлов */
.ns-file-field {
    margin-top: 10px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.ns-file-field label {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
    font-size: 14px;
}

.ns-file-field input[type="file"] {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ns-file-field input[type="file"]:hover {
    border-color: #999;
    box-shadow: 0 0 5px rgba(0,0,0,0.05);
}
body:not(.wp-admin) .ns-file-field input[type="file"] {
    background: rgb(255 255 255 / 7%);
    color: #ffffff;
}
.ns-file-field label {
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 5px;
    font-size: 14px;
}/* Контейнер для файлов и кнопки */
.ns-form-row {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

/* Стили для поля загрузки файлов */
.ns-form-row input[type="file"] {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ns-form-row input[type="file"]:hover {
    border-color: #999;
    box-shadow: 0 0 5px rgba(0,0,0,0.05);
}

/* Стили для кнопки отправки */
.ns-form-row button.button-primary {
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 15px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.ns-form-row button.button-primary:hover {
    background-color: #005f8d;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}/* =========================================================================
   ОБЩИЕ СТИЛИ И ОШИБКИ
   ========================================================================= */
.ns-error {
    background: rgba(255, 0, 0, 0.1);
    color: #ff4d4d;
    border: 1px solid rgba(255, 0, 0, 0.3);
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 15px;
    font-weight: 500;
}

.ns-back-link {
    text-decoration: none;
    color: #8ec6ff;
    font-weight: 500;
    transition: color 0.3s ease;
}

.ns-back-link:hover {
    color: #4a90e2;
}

/* =========================================================================
   МЕТА-ИНФОРМАЦИЯ ТИКЕТА
   ========================================================================= */
.ns-ticket-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #ccc;
}

.ns-ticket-meta span {
    display: inline-block;
}

/* =========================================================================
   ЧАТ-КОНТЕЙНЕР
   ========================================================================= */
.ns-chat-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background: rgba(20, 20, 20, 0.4);
    backdrop-filter: blur(15px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-height: 600px;
    overflow-y: auto;
}

/* =========================================================================
   СООБЩЕНИЯ
   ========================================================================= */
.ns-chat-message {
    padding: 15px 20px;
    border-radius: 16px;
    position: relative;
    font-size: 14px;
    line-height: 1.5;
    word-wrap: break-word;
}

.ns-user-reply {
    background: rgba(50, 50, 50, 0.5);
    border-left: 4px solid #4a90e2;
    align-self: flex-start;
}

.ns-admin-reply {
    background: rgba(80, 20, 120, 0.5);
    border-left: 4px solid #bb33ff;
    align-self: flex-end;
}

.ns-message-meta {
    margin-bottom: 8px;
    font-size: 13px;
    color: #aaa;
}

.ns-message-time {
    font-size: 12px;
    color: #777;
    margin-left: 10px;
}

/* =========================================================================
   ВЛОЖЕНИЯ
   ========================================================================= */
.ns-attachments {
    margin-top: 10px;
    font-size: 13px;
}

.ns-attachments ul {
    list-style: disc;
    padding-left: 20px;
    margin: 5px 0 0;
}

.ns-attachments a {
    color: #8ec6ff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ns-attachments a:hover {
    color: #4a90e2;
}

/* =========================================================================
   ФОРМА ОТВЕТА
   ========================================================================= */
form {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

form textarea {
    width: 100%;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(30, 30, 30, 0.5);
    color: #fff;
    font-size: 14px;
    resize: vertical;
    min-height: 80px;
}

form input[type="file"] {
    border-radius: 12px;
    background: rgba(30, 30, 30, 0.4);
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
}

form button.button {
    width: fit-content;
    padding: 10px 20px;
    border-radius: 16px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

form button.button-primary {
    background: #4a90e2;
    color: #fff;
}

form button.button-primary:hover {
    background: #3577c1;
}

form button.button-secondary {
    background: #777;
    color: #fff;
}

form button.button-secondary:hover {
    background: #555;
}

/* =========================================================================
   ПРОКРУТКА ЧАТА
   ========================================================================= */
.ns-chat-container::-webkit-scrollbar {
    width: 8px;
}

.ns-chat-container::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.ns-chat-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
}
/* ========================================================================= */
/* NULLIFY RUST THEME - SUPPORT SYSTEM STYLES                              */
/* ========================================================================= */

/* Основной контейнер системы поддержки */
.ns-display-support-system {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px); /* Для Safari */
    border-radius: 12px;
    padding: 25px;
    margin: 40px auto;
    max-width: 900px;
    box-shadow: 0 0 40px var(--glass-glow);
}

/* Заголовки */
.ns-display-support-system h2,
.ns-display-support-system h3 {
    color: var(--text-primary);
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-weight: 600;
}

/* --- Кнопки и ссылки --- */

/* Общий стиль для кнопок */
.ns-display-support-system .ns-btn,
.ns-display-support-system .button {
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Основная кнопка (синяя) */
.ns-display-support-system .ns-btn-primary,
.ns-display-support-system .button-primary {
    background-color: var(--accent-blue);
    color: var(--text-primary);
    border-color: var(--accent-blue);
}

.ns-display-support-system .ns-btn-primary:hover,
.ns-display-support-system .button-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.3);
}

/* Второстепенная кнопка (красная/магента) */
.ns-display-support-system .button-secondary {
    background-color: var(--accent-magenta);
    color: var(--text-primary);
    border-color: var(--accent-magenta);
}

.ns-display-support-system .button-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(219, 39, 119, 0.3);
}

/* Ссылка "Назад" */
.ns-display-support-system .ns-back-link {
    color: var(--text-secondary);
    text-decoration: none;
    margin-bottom: 20px;
    display: inline-block;
    transition: color 0.3s;
}

.ns-display-support-system .ns-back-link:hover {
    color: var(--accent-blue);
}

/* --- Таблица тикетов --- */

.ns-tickets-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 20px;
}

.ns-tickets-table th,
.ns-tickets-table td {
    padding: 16px;
    text-align: left;
    border-bottom: 1px solid var(--glass-border);
}

.ns-tickets-table th {
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Убираем рамку у последней строки */
.ns-tickets-table tr:last-child td {
    border-bottom: none;
}

/* Эффект при наведении на строку */
.ns-tickets-table tbody tr {
    transition: background-color 0.3s;
}

.ns-tickets-table tbody tr:hover {
    background-color: var(--glass-glow);
}

.ns-tickets-table td a {
    color: var(--text-primary);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s;
}

.ns-tickets-table td a:hover {
    color: var(--accent-blue);
}

/* Стиль для закрытых тикетов */
.ns-ticket-closed {
    opacity: 0.5;
}

.ns-ticket-closed:hover {
    opacity: 0.7;
}

/* --- Формы --- */

.ns-support-form label {
    display: block;
    color: var(--text-secondary);
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
}

.ns-support-form .regular-text,
.ns-support-form .ns-textarea,
.ns-support-form select,
.ns-display-support-system textarea,
.ns-display-support-system input[type="file"] {
    width: 100%;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
    padding: 12px;
    border-radius: 8px;
    transition: all 0.3s;
    box-sizing: border-box;
    font-size: 15px;
}

.ns-support-form .regular-text::placeholder,
.ns-support-form .ns-textarea::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
}

.ns-support-form .regular-text:focus,
.ns-support-form .ns-textarea:focus,
.ns-support-form select:focus,
.ns-display-support-system textarea:focus {
    outline: none;
    border-color: var(--accent-blue);
    box-shadow: 0 0 15px rgba(79, 70, 229, 0.4);
}

/* Кастомная стрелка для select */
.ns-support-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.2em;
}

/* --- Просмотр тикета (Чат) --- */
.ns-ticket-meta {
    display: flex;
    gap: 25px;
    background: var(--glass-bg);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid var(--glass-border);
    font-size: 14px;
    color: var(--text-secondary);
}

.ns-ticket-meta strong {
    color: var(--text-primary);
}

.ns-chat-container {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    padding: 10px;
    max-height: 500px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ns-chat-message {
    padding: 15px;
    border-radius: 12px;
    max-width: 80%;
    line-height: 1.6;
}

.ns-user-reply {
    background: rgba(79, 70, 229, 0.1); /* --accent-blue с прозрачностью */
    border: 1px solid rgba(79, 70, 229, 0.3);
    align-self: flex-start;
    border-bottom-left-radius: 4px;
}

.ns-admin-reply {
    background: rgba(147, 51, 234, 0.1); /* --accent-purple с прозрачностью */
    border: 1px solid rgba(147, 51, 234, 0.3);
    align-self: flex-end;
    border-bottom-right-radius: 4px;
}

.ns-message-meta {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.ns-message-meta strong {
    color: var(--text-primary);
    font-weight: 600;
}

.ns-attachments {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid var(--glass-border);
    font-size: 13px;
}

.ns-attachments ul {
    list-style: none;
    padding: 0;
    margin: 5px 0 0 0;
}

.ns-attachments a {
    color: var(--accent-blue);
    text-decoration: none;
}
.ns-attachments a:hover {
    text-decoration: underline;
}

/* Сообщение о закрытии тикета */
.ns-display-support-system p strong {
    color: var(--accent-magenta);
}

.ns-admin-page .wp-list-table th, .ns-admin-page .wp-list-table td {
    border-color: var(--glass-border);
    background: #111827;
    color: var(--text-secondary);
}
.ns-admin-page h1, .ns-admin-page h2 {
    color: #000000;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}
.ns-admin-page h1, .ns-admin-page h2 {
    color: #000000;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}
.b, strong {
    font-weight: 600;
    color: black;
}
.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: gray;
}
.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: #000000;
}
.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: #3d00ff;
}
.body.admin-color-modern {
    --wp-admin-theme-color: #3858e9;
    --wp-admin-theme-color--rgb: 56,88,233;
    --wp-admin-theme-color-darker-10: #2145e6;
    --wp-admin-theme-color-darker-10--rgb: 33.0384615385,68.7307692308,230.4615384615;
    --wp-admin-theme-color-darker-20: #183ad6;
    --wp-admin-theme-color-darker-20--rgb: 23.6923076923,58.1538461538,214.3076923077;
    --wp-admin-border-width-focus: 2px;
    background: #111827;
}
.ns-admin-page h1, .ns-admin-page h2 {
    color: #ffffff;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}
b, strong {
    font-weight: 600;
    color: #f6f6f6;
}
.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: #00fffa;
}
.ns-admin-reply {
    background: rgb(96 169 255 / 40%);
    border: 1px solid rgba(147, 51, 234, 0.3);
    align-self: flex-end;
    border-bottom-right-radius: 4px;
}.ns-admin-page h1, .ns-admin-page h2 {
    color: #000000;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}/* =========================================================================
   SELECT — GLASS STYLE
   ========================================================================= */

select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(25, 25, 35, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #ffffff;
    font-size: 14px;
    outline: none;
    appearance: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Hover */
select:hover {
    border-color: rgba(120, 170, 255, 0.5);
    background: rgba(30, 30, 45, 0.65);
}

/* Focus */
select:focus {
    border-color: #6fa8ff;
    box-shadow: 0 0 0 3px rgba(111, 168, 255, 0.15);
}

/* Кастомная стрелка */
select {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23cccccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding-right: 40px;
}

/* OPTION (ограничено возможностями браузера) */
select option {
    background: #1c1c26;
    color: #ffffff;
}

/* Для темной темы Windows */
select::-ms-expand {
    display: none;
}/* =========================================================================
   BUTTON — GLASS PRIMARY
   ========================================================================= */

.button.button-primary,
input[type="submit"].button.button-primary {
    display: inline-block;
    padding: 12px 26px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(
        135deg,
        rgba(90, 140, 255, 0.35),
        rgba(120, 80, 255, 0.25)
    );
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.4px;
    cursor: pointer;
    transition: all 0.35s ease;
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.35),
        inset 0 0 12px rgba(255, 255, 255, 0.05);
}

/* Hover эффект */
.button.button-primary:hover,
input[type="submit"].button.button-primary:hover {
    transform: translateY(-3px);
    border-color: rgba(120, 170, 255, 0.5);
    box-shadow:
        0 12px 30px rgba(90, 140, 255, 0.25),
        0 0 18px rgba(120, 80, 255, 0.25),
        inset 0 0 14px rgba(255, 255, 255, 0.08);
}

/* Active эффект */
.button.button-primary:active,
input[type="submit"].button.button-primary:active {
    transform: translateY(0);
    box-shadow:
        0 6px 15px rgba(0, 0, 0, 0.4),
        inset 0 0 16px rgba(0, 0, 0, 0.4);
}

/* Disabled */
.button.button-primary:disabled,
input[type="submit"].button.button-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}
/* =========================================================================
   FILE FIELD — GLASS STYLE
   ========================================================================= */

.ns-file-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(25, 25, 35, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: all 0.3s ease;
}

.ns-file-field:hover {
    border-color: rgba(120, 170, 255, 0.4);
    box-shadow: 0 0 25px rgba(90, 140, 255, 0.15);
}

.ns-file-field label {
    font-size: 14px;
    font-weight: 500;
    color: #dcdcdc;
}

/* Скрываем стандартный input */
.ns-file-field input[type="file"] {
    display: none;
}

/* Кастомная кнопка выбора */
.ns-file-field::after {
    content: "Выбрать файлы";
    display: inline-block;
    width: fit-content;
    padding: 10px 22px;
    border-radius: 16px;
    background: linear-gradient(
        135deg,
        rgba(90, 140, 255, 0.35),
        rgba(120, 80, 255, 0.25)
    );
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.35),
        inset 0 0 10px rgba(255, 255, 255, 0.05);
}

/* Hover кнопки */
.ns-file-field:hover::after {
    transform: translateY(-2px);
    box-shadow:
        0 10px 25px rgba(90, 140, 255, 0.25),
        0 0 15px rgba(120, 80, 255, 0.25);
}.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: #000000;
}
#wpbody-content .wrap {
    border: none;
    box-shadow: none;
    background: #000000a6;
    padding: 0;
}
body.admin-color-modern {
    --wp-admin-theme-color: #3858e9;
    --wp-admin-theme-color--rgb: 56,88,233;
    --wp-admin-theme-color-darker-10: #2145e6;
    --wp-admin-theme-color-darker-10--rgb: 33.0384615385,68.7307692308,230.4615384615;
    --wp-admin-theme-color-darker-20: #183ad6;
    --wp-admin-theme-color-darker-20--rgb: 23.6923076923,58.1538461538,214.3076923077;
    --wp-admin-border-width-focus: 2px;
    background: black;
}
.ns-admin-page h1, .ns-admin-page h2 {
    color: #ffffff;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}
#footer-thankyou {
    font-style: italic;
    color: white;
}
#wpfooter p {
    font-size: 13px;
    margin: 0;
    color: white;
    line-height: 1.55;
}
.wp-die-message, p {
    font-size: 13px;
    line-height: 1.5;
    margin: 1em 0;
    color: #ffb0b0;
}
.ns-admin-page h1, .ns-admin-page h2 {
    color: #f8f8f8;
    border-bottom: 1px solid var(--accent-blue);
    padding-bottom: 10px;
}
body:not(.wp-admin) .ns-attachments, body:not(.wp-admin) .ns-admin-reply .ns-message-content, body:not(.wp-admin) .ns-user-reply .ns-message-content {
    background: rgb(0 0 0 / 80%);
    color: black;
    border: 1px solid var(--glass-border);
}.ns-attachments li {
    margin-bottom: 6px;
    padding-left: 16px;
    position: relative;
    color: white;
}
.ns-message-time {
    font-size: 12px;
    color: #000000;
    margin-left: 10px;
}.ns-form-row input[type="file"] {
    padding: 8px;
    border: 1px solid #00000000;
    border-radius: 6px;
    background-color: #00000000;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}