/* Frontend styles */
.nss-card {
  background:#fff;
  border-radius:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  padding:16px;
  margin:12px 0;
}
.nss-fields {
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.nss-field label { display:block; font-weight:600; margin-bottom:6px; }
.nss-field input[type="text"],
.nss-field input[type="password"],
.nss-field textarea,
.nss-field select { width:100%; padding:10px; border-radius:8px; border:1px solid #e5e7eb; }
.nss-actions { margin-top:12px; }
.nss-success { background:#ecfdf5; border:1px solid #a7f3d0; padding:10px 12px; border-radius:8px; margin-bottom:12px; }
.nss-error { background:#fef2f2; border:1px solid #fecaca; padding:10px 12px; border-radius:8px; margin-bottom:12px; }

/* Grid list */
.nss-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
}
.nss-item .nss-media img,
.nss-item .nss-media video { width:100%; height:180px; object-fit:cover; border-radius:10px; }
.nss-item .nss-content h3 { margin:10px 0 4px; }
.nss-item .nss-designation { color:#6b7280; margin:0; }
.nss-item .nss-type { color:#111827; margin:6px 0; }
.nss-row-actions { display:flex; gap:8px; margin-top:8px; }
.nss-pagination { margin-top:16px; }

        body {
    font-family: 'Inter', sans-serif;
}
       /* ----------------------------
    GLOBAL BASE STYLES
---------------------------- */
body, input, select, textarea, button {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #333;
}

.nss-admin-container {
    background: #f9fafb;
    padding: 30px;
    border-radius: 8px;
    max-width: 100%;
}

/* ----------------------------
    FORM (Add Product Form)
---------------------------- */
form input[type="text"],
form input[type="number"],
form textarea,
form select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

form input:focus,
form textarea:focus,
form select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59,130,246,0.2);
}

form button.button-primary {
    background-color: #3b82f6;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 10px;
}

form button.button-primary:hover {
    background-color: #2563eb;
}

/* ----------------------------
    TABLE STYLES
---------------------------- */
table.widefat {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
}

table.widefat th,
table.widefat td {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    vertical-align: middle;
}

table.widefat th {
    background-color: #f9fafb;
    font-weight: 600;
    font-size: 13px;
    color: #111827;
}

table.widefat tr:nth-child(even) {
    background-color: #f8fafc;
}

table.widefat tr:hover {
    background-color: #eff6ff;
}



.nss-close:hover {
    color: #111;
}

@keyframes slideDown {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ----------------------------
    ACTION BUTTONS
---------------------------- */
.nss-action-btns .button {
    padding: 6px 12px;
    font-size: 13px;
    border-radius: 4px;
    margin-right: 5px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.nss-save-btn {
    background-color: #10b981;
    color: white;
    border: none;
}

.nss-save-btn:hover {
    background-color: #059669;
}

.nss-cancel-btn {
    background-color: #ef4444;
    color: white;
    border: none;
}

.nss-cancel-btn:hover {
    background-color: #dc2626;
}

/* ----------------------------
    PAGINATION
---------------------------- */
.nss-pagination {
    margin-top: 20px;
    text-align: center;
}

.nss-pagination a {
    display: inline-block;
    padding: 6px 12px;
    margin: 0 3px;
    border-radius: 4px;
    background: #e2e8f0;
    color: #1f2937;
    text-decoration: none;
    font-weight: 500;
    transition: background 0.2s ease;
}

.nss-pagination a:hover {
    background: #cbd5e1;
}
 

 .nss-tm-toolbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
        flex-wrap: wrap;
    }

    /* Filter form */
    .nss-filter-form {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .nss-label {
        font-weight: 500;
        color: #444;
        display: flex;
        align-items: center;
        gap: 6px;
        width:100%;
    }

    .nss-select {
        padding: 6px 10px;
        border-radius: 6px;
        border: 1px solid #ccc;
        font-size: 14px;
        min-width: 180px;
    }

    /* Buttons */
    .nss-btn {
        padding: 8px 14px;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 8px; /* space between icon and text */
        transition: all 0.2s ease-in-out;
    }
    .nss-btn:hover { opacity: 0.9; }
    .nss-btn-primary {
        background: #f97316;
        color: #fff;
        font-weight: 500;
    }
    .nss-btn-outline {
        background: transparent;
        border: 1px solid #ddd;
        color: #444;
    }

      /* Container */
            .nss-tm-container {
                background: #fff;
                padding: 20px;
                border-radius: 10px;
                box-shadow: 0 4px 12px rgba(0,0,0,0.08);
                font-family: "Segoe UI", Arial, sans-serif;
            }
  .site-main .container-fluid
{
    padding:0 !important;
}
   .site-main .container-fluid .max-w-3xl
{
        background: #f3f4f6 !important;
}
            /* Header */
            .nss-tm-header {
                   display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #dedede;
    padding-bottom: 15px;
            }
            .nss-title {
                margin: 0;
                font-size: 1.5rem;
                font-weight: 600;
                color: #333;
            }

            /* Buttons */
            .nss-btn {
                padding: 8px 16px;
                border-radius: 6px;
                border: none;
                cursor: pointer;
                transition: all 0.2s ease-in-out;
            }
            .nss-btn:hover { opacity: 0.9; }
            .nss-btn-primary {
                background: #f97316;
                color: #fff;
            }
            .nss-btn-outline {
                background: transparent;
                border: 1px solid #ddd;
                color: #444;
            }

            /* Filter Form */
            .nss-filter-form {
                display: flex;
                align-items: center;
                margin-bottom: 15px;
                gap: 10px;
            }
            .nss-label {
                font-weight: 500;
                color: #555;
            }
            .nss-select {
                padding: 6px 10px;
                border-radius: 6px;
                border: 1px solid #ccc;
                font-size: 14px;
            }

            /* Table */
            .nss-table-wrap table.widefat {
                border-collapse: collapse;
                width: 100%;
                margin-top: 15px;
                background: #fafafa;
                border-radius: 8px;
                overflow: hidden;
            }
            .nss-table-wrap table.widefat th {
                background: #f3f4f6;
                color: #333;
                font-weight: 600;
                text-align: left;
                padding: 10px;
            }
            .nss-table-wrap table.widefat td {
                padding: 10px;
                border-bottom: 1px solid #eee;
                vertical-align: middle;
            }
            .nss-table-wrap table.widefat tr:hover {
                background: #f9fafb;
            }
            .nss-table-wrap img {max-width: 70px;border-radius: 6px;}

            /* Modal */
            .nss-modal {
                display:none;
                position:fixed;
                z-index:9999;
                left:0; top:0;
                width:100%; height:100%;
                background:rgba(0,0,0,0.6);
                backdrop-filter: blur(2px);
            }
            .nss-modal-content {
                background:#fff;
                margin:10% auto;
                border-radius:10px;
                max-width:650px;
                box-shadow:0 6px 16px rgba(0,0,0,0.2);
                position:relative;
                animation: fadeIn 0.3s ease-in-out;
            }
            .nss-close {
                position:absolute;
                top:10px; right:15px;
                font-size:20px;
                cursor:pointer;
                color:#888;
            }
            .nss-close:hover { color:#000; }

            /* Animations */
            @keyframes fadeIn {
                from {opacity:0; transform: translateY(-10px);}
                to {opacity:1; transform: translateY(0);}
            }
            
            .nss-login-wrapper {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 80vh;
            background: #f3f4f6;
            font-family: 'Inter', sans-serif;
        }
        .nss-login-card {
            background: #fff;
            padding: 30px 35px;
            border-radius: 12px;
            box-shadow: 0 6px 16px rgba(0,0,0,0.08);
            max-width: 400px;
            width: 100%;
            text-align: center;
        }
        .nss-login-title {
            margin: 0 0 5px;
            font-size: 22px;
            font-weight: 600;
            color: #111827;
        }
        .nss-login-subtitle {
            margin: 0 0 25px;
            font-size: 14px;
            color: #6b7280;
        }
        .nss-login-form {
            text-align: left;
        }
        .nss-login-form .nss-field {
            margin-bottom: 18px;
        }
        .nss-login-form label {
            display: block;
            font-size: 13px;
            margin-bottom: 6px;
            font-weight: 500;
            color: #374151;
        }
        .nss-login-form input {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #d1d5db;
            border-radius: 8px;
            font-size: 14px;
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        .nss-login-form input:focus {
            outline: none;
            border-color: #3b82f6;
            box-shadow: 0 0 0 2px rgba(59,130,246,0.15);
        }
        .nss-login-btn {
            display: inline-block;
            width: 100%;
            background: #3b82f6;
            color: #fff;
            font-weight: 600;
            border: none;
            border-radius: 8px;
            padding: 12px;
            font-size: 15px;
            cursor: pointer;
            transition: background 0.2s;
        }
        .nss-login-btn:hover {
            background: #2563eb;
        }
       .site-main .container-fluid
{
    padding:0 !important;
}
   /* .site-main .container-fluid .max-w-3xl
{
    padding:0 !important;
} */

 .nss-tm-list-card {
            background: #fff;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 6px 16px rgba(0,0,0,0.08);
            margin: 25px 0;
            font-family: 'Inter', sans-serif;
        }
        .nss-modern-table {
            width: 100%;
            border-collapse: collapse;
        }
        .nss-modern-table th {
            background: #f9fafb;
            font-weight: 600;
            text-align: left;
            padding: 10px 12px;
            font-size: 14px;
            color: #374151;
            border-bottom: 1px solid #e5e7eb;
        }
        .nss-modern-table td {
            padding: 10px 12px;
            font-size: 14px;
            color: #111827;
            border-bottom: 1px solid #f1f1f1;
            vertical-align: middle;
        }
        .nss-modern-table tr:hover td {
            background: #f9fafc;
        }
        .nss-message {
            max-width: 260px;
            white-space: pre-line;
        }
        /* Badges */
        .nss-badge {
            display: inline-block;
            padding: 3px 8px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 500;
        }
        .nss-badge-red { background:#fee2e2; color:#b91c1c; }
        .nss-badge-blue { background:#dbeafe; color:#1d4ed8; }
        .nss-badge-green { background:#dcfce7; color:#166534; }
        .nss-badge-purple { background:#e0e7ff; color:#3730a3; }
        .nss-badge-yellow { background:#fef3c7; color:#92400e; }
        .nss-badge-default { background:#f3f4f6; color:#374151; }

        

        .nss-media-thumb {
            max-width: 70px;
            height: 50px;
            object-fit: cover;
            border-radius: 6px;
        }
        .nss-media-video {
            max-width: 100px;
            height: 60px;
            border-radius: 6px;
        }
        .nss-empty {
            color: #9ca3af;
            font-size: 13px;
        }
        .nss-link {
            color: #2563eb;
            text-decoration: none;
            font-size: 13px;
        }
        .nss-link:hover {
            text-decoration: underline;
        }
        .nss-action-btns {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }
       
        .nss-btn-light { background: #f3f4f6; color: #374151; }
        .nss-btn-light:hover { background: #e5e7eb; }
        .nss-btn-primary:hover { background: #2563eb; }
        .nss-btn-dark { background: #374151; color: #fff; }
        .nss-btn-dark:hover { background: #111827; }

        /* Pagination */
        .nss-pagination { text-align: center; margin-top: 18px; }
        .nss-page {
            display: inline-block;
            margin: 0 3px;
            padding: 6px 12px;
            border-radius: 6px;
            background: #f3f4f6;
            color: #374151;
            font-size: 13px;
            text-decoration: none;
            transition: background .2s;
        }
        .nss-page:hover { background: #e5e7eb; }
        .nss-page.active {
            background: #3b82f6;
            color: #fff;
            font-weight: 600;
        }
        .campRegFormMain .campRegForm input, select
        {
            width:100% !important;
        }



/* Cancel button */
.nss-btn-cancel {
  background: #f5f5f5;
  border: 1px solid #ccc;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 10px;
}
.nss-btn-cancel:hover {
  background: #eaeaea;
  border-color: #999;
  color: #000;
}