/* ==========================================================
   Talent Marketplace Manager - Public Styles
   Version: 1.0.0
========================================================== */

/* ===========================
   Search Container
=========================== */

.tmm-search-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.tmm-progress{

width:100%;
background:#ececec;
border-radius:30px;
overflow:hidden;
margin:20px 0;

}

.tmm-progress-bar{

background:#2271b1;
color:#fff;
text-align:center;
padding:10px;
font-weight:bold;
transition:.4s;

}

.tmm-status{

padding:8px 18px;
border-radius:30px;
font-weight:bold;
display:inline-block;

}

.status-pending{

background:#fff3cd;
color:#856404;

}

.status-approved{

background:#d4edda;
color:#155724;

}

.status-rejected{

background:#f8d7da;
color:#721c24;

}

/* ===========================
   Candidate Card
=========================== */

.tmm-candidate-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 25px;
    text-align: center;
    transition: all 0.3s ease;
}

.tmm-candidate-card:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    transform: translateY(-3px);
}

/* ===========================
   Candidate Photo
=========================== */

.tmm-profile-image img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #f4f4f4;
    margin-bottom: 15px;
}

/* ===========================
   Candidate Name
=========================== */

.tmm-candidate-card h3 {
    margin: 0 0 8px;
    font-size: 26px;
}

/* ===========================
   Verified Badge
=========================== */

.tmm-verified {
    display: inline-block;
    padding: 6px 14px;
    margin-bottom: 15px;
    border-radius: 30px;
    background: #28a745;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
}

/* ===========================
   Job Title
=========================== */

.tmm-candidate-card h4 {
    margin: 10px 0 20px;
    font-size: 18px;
    color: #555555;
}

/* ===========================
   Candidate Details
=========================== */

.tmm-candidate-card p {
    margin: 8px 0;
    line-height: 1.6;
}

/* ===========================
   View Profile Button
=========================== */

.tmm-view-profile {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 25px;
    background: #0073aa;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all .3s ease;
}

.tmm-view-profile:hover {
    background: #005177;
    color: #ffffff;
}

/* ===========================
   Search Form
=========================== */

.tmm-search-container form {
    margin-bottom: 35px;
}

.tmm-search-container form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.tmm-search-container form select,
.tmm-search-container form input[type="text"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    margin-bottom: 15px;
}

.tmm-search-container form button {
    padding: 12px 30px;
    background: #0073aa;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.tmm-search-container form button:hover {
    background: #005177;
}

/* ===========================
   Responsive
=========================== */

@media (max-width:768px) {

    .tmm-search-container {
        padding: 15px;
    }

    .tmm-candidate-card {
        padding: 20px;
        margin-bottom: 20px;
    }

    .tmm-profile-image img {
        width: 90px;
        height: 90px;
    }

    .tmm-candidate-card h3 {
        font-size: 22px;
    }

    .tmm-candidate-card h4 {
        font-size: 18px;
    }

    .tmm-view-profile {
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .tmm-candidate-card p {
        word-wrap: break-word;
    }

    .tmm-search-container form select,
    .tmm-search-container form input[type="text"],
    .tmm-search-container form button {
        width: 100%;
        box-sizing: border-box;
    }
    

}

/*=============================
Candidate Dashboard
=============================*/

.tmm-dashboard{

max-width:1200px;
margin:40px auto;
padding:20px;

}

.tmm-dashboard-header{

display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
flex-wrap:wrap;
gap:20px;

}

.tmm-dashboard-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;

}

.tmm-card{

background:#fff;
padding:30px;
border-radius:15px;
box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.tmm-card h2{

margin-top:0;
margin-bottom:20px;

}

.tmm-card p{

margin-bottom:18px;
line-height:1.8;

}

.tmm-badge{

padding:6px 16px;
border-radius:30px;
font-size:13px;
font-weight:700;

}

.tmm-badge.success{

background:#d4edda;
color:#155724;

}

.tmm-badge.warning{

background:#fff3cd;
color:#856404;

}

.tmm-button{

display:block;
margin-bottom:15px;
padding:14px;
background:#2271b1;
color:#fff;
text-align:center;
border-radius:8px;
text-decoration:none;
font-weight:600;

}

.tmm-button:hover{

background:#135e96;
color:#fff;

}

.tmm-dashboard{

max-width:1100px;
margin:auto;
padding:30px;

}

.tmm-dashboard-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin:35px 0;

}

.tmm-card{

background:#fff;
border:1px solid #ddd;
border-radius:12px;
padding:25px;
text-decoration:none;
color:#333;
transition:.3s;
box-shadow:0 3px 8px rgba(0,0,0,.05);

}

.tmm-card:hover{

transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.tmm-card h3{

margin-top:0;
margin-bottom:10px;

}

.tmm-card p{

margin:0;
color:#666;

}

.tmm-info-table{

width:100%;
border-collapse:collapse;
margin-top:20px;

}

.tmm-info-table td{

padding:12px;
border-bottom:1px solid #eee;

}

.tmm-info-table td:first-child{

font-weight:bold;
width:220px;

}
.tmm-success{

background:#d4edda;
color:#155724;
padding:18px;
border-radius:8px;
margin-bottom:30px;
border:1px solid #c3e6cb;
font-weight:bold;

}
.tmm-dashboard h3 .dashicons,
.tmm-edit-profile h2 .dashicons{

font-size:24px;
width:24px;
height:24px;
vertical-align:middle;
margin-right:8px;
color:#2271b1;

}

.tmm-card h3{

display:flex;
align-items:center;
gap:10px;

}

.tmm-edit-profile h2{

display:flex;
align-items:center;
gap:10px;

}
.tmm-upload-success{

display:flex;
align-items:center;
gap:8px;
color:#2e7d32;
font-weight:600;
margin:12px 0;

}

.tmm-upload-success .dashicons{

color:#2e7d32;

}
/* ==========================================
Candidate Dashboard
========================================== */

.tmm-dashboard{

max-width:1200px;
margin:auto;
padding:40px;

}

.tmm-dashboard-header{

display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
gap:20px;
flex-wrap:wrap;

}

.tmm-dashboard-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin-top:30px;

}

.tmm-card{

background:#fff;
padding:25px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;

}

.tmm-card:hover{

transform:translateY(-4px);

}

.tmm-card h3{

margin-bottom:12px;
font-size:18px;

}

.tmm-card p{

margin:0;
font-size:16px;

}

.tmm-progress-card{

background:#fff;
padding:25px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.tmm-actions{

margin-top:40px;
display:flex;
gap:15px;
flex-wrap:wrap;

}

.tmm-button{

background:#2271b1;
color:#fff;
padding:14px 25px;
border-radius:8px;
text-decoration:none;
font-weight:bold;

}

.tmm-button:hover{

background:#135e96;
color:#fff;

}

.tmm-button-secondary{

background:#555;

}

.tmm-button-secondary:hover{

background:#222;

}

/* ==========================================
Edit Profile
========================================== */

.tmm-edit-profile{

max-width:1200px;
margin:40px auto;
padding:20px;

}

.tmm-edit-profile form{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(450px,1fr));
gap:25px;

}

.tmm-edit-profile .tmm-card{

background:#fff;
padding:30px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.tmm-edit-profile h2{

display:flex;
align-items:center;
gap:10px;
margin-bottom:25px;
color:#2271b1;

}

.tmm-edit-profile label{

display:block;
font-weight:600;
margin-bottom:8px;
margin-top:18px;

}

.tmm-edit-profile input,
.tmm-edit-profile select,
.tmm-edit-profile textarea{

width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:8px;
box-sizing:border-box;

}

.tmm-edit-profile textarea{

min-height:140px;
resize:vertical;

}

.tmm-edit-profile input[type=file]{

padding:8px;

}

.tmm-edit-profile hr{

margin:25px 0;
border:none;
border-top:1px solid #eee;

}

.tmm-edit-profile .tmm-button{

width:100%;
padding:16px;
font-size:17px;
margin-top:15px;

}

/* ==========================================
   Employer Dashboard Statistics
========================================== */

.tmm-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin:30px 0;
}

.tmm-stat-card{
    background:#fff;
    border-radius:15px;
    padding:25px;
    text-align:center;
    border:1px solid #e5e5e5;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    transition:.3s;
}

.tmm-stat-card:hover{
    transform:translateY(-4px);
}

.tmm-stat-card h2{
    margin:0;
    font-size:36px;
    color:#2271b1;
}

.tmm-stat-card p{
    margin-top:10px;
    color:#666;
    font-weight:600;
}
/* ==========================================
   Employer Dashboard Statistics
========================================== */

.tmm-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin:30px 0;
}

.tmm-stat-card{
    background:#fff;
    border-radius:15px;
    padding:25px;
    text-align:center;
    border:1px solid #e5e5e5;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    transition:.3s;
}

.tmm-stat-card:hover{
    transform:translateY(-4px);
}

.tmm-stat-card h2{
    margin:0;
    font-size:36px;
    color:#2271b1;
}

.tmm-stat-card p{
    margin-top:10px;
    color:#666;
    font-weight:600;
}
/* ==========================================================
   Login & Registration Forms
========================================================== */

.tmm-login-box,
.tmm-register-box{

    max-width:700px;
    margin:50px auto;
    background:#ffffff;
    padding:40px;
    border-radius:18px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    border:1px solid #ececec;

}

.tmm-login-box h2,
.tmm-register-box h2{

    text-align:center;
    margin-bottom:30px;
    color:#2271b1;
    font-size:32px;
    font-weight:700;

}

.tmm-login-box p,
.tmm-register-box p{

    margin-bottom:18px;

}

.tmm-login-box label,
.tmm-register-box label{

    display:block;
    font-weight:600;
    margin-bottom:8px;
    color:#333;

}

.tmm-login-box input[type=text],
.tmm-login-box input[type=email],
.tmm-login-box input[type=password],
.tmm-register-box input[type=text],
.tmm-register-box input[type=email],
.tmm-register-box input[type=password],
.tmm-register-box input[type=tel],
.tmm-register-box input[type=file],
.tmm-register-box select,
.tmm-register-box textarea{

    width:100%;
    padding:14px 16px;
    border:1px solid #dcdcdc;
    border-radius:10px;
    background:#fff;
    font-size:15px;
    transition:.3s;
    box-sizing:border-box;

}

.tmm-login-box textarea,
.tmm-register-box textarea{

    min-height:140px;
    resize:vertical;

}

.tmm-login-box input:focus,
.tmm-register-box input:focus,
.tmm-register-box select:focus,
.tmm-register-box textarea:focus{

    outline:none;
    border-color:#2271b1;
    box-shadow:0 0 0 3px rgba(34,113,177,.15);

}

.tmm-login-box input[type=submit],
.tmm-register-box input[type=submit],
.tmm-button{

    width:100%;
    background:#2271b1;
    color:#fff;
    border:none;
    padding:15px;
    border-radius:10px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;

}

.tmm-login-box input[type=submit]:hover,
.tmm-register-box input[type=submit]:hover,
.tmm-button:hover{

    background:#19598d;

}

.tmm-login-box a,
.tmm-register-box a{

    color:#2271b1;
    text-decoration:none;
    font-weight:600;

}

.tmm-login-box a:hover,
.tmm-register-box a:hover{

    text-decoration:underline;

}

.tmm-login-box .login-remember{

    margin:20px 0;

}

.tmm-login-box .login-remember label{

    display:flex;
    align-items:center;
    gap:10px;
    font-weight:500;

}

.tmm-login-box .login-submit{

    margin-top:25px;

}

.tmm-form-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;

}

.tmm-form-full{

    grid-column:1 / -1;

}

.tmm-success{

    background:#d4edda;
    color:#155724;
    border:1px solid #c3e6cb;
    padding:15px;
    border-radius:10px;
    margin-bottom:25px;

}

.tmm-error{

    background:#f8d7da;
    color:#721c24;
    border:1px solid #f5c6cb;
    padding:15px;
    border-radius:10px;
    margin-bottom:25px;

}

@media(max-width:768px){

    .tmm-login-box,
    .tmm-register-box{

        margin:20px;
        padding:25px;

    }

    .tmm-form-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================
   Employer Dashboard
========================================== */

.tmm-dashboard{

max-width:1200px;
margin:40px auto;
padding:30px;

}

.tmm-dashboard-header{

display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
margin-bottom:30px;
flex-wrap:wrap;

}

.tmm-dashboard-header h1{

margin:0;
font-size:34px;

}

.tmm-dashboard-header h2{

margin:10px 0;
font-size:26px;

}

.tmm-dashboard-header p{

margin:0;
font-size:18px;
color:#666;

}

.tmm-dashboard-avatar{

width:100px;
height:100px;

}

.tmm-dashboard-avatar img{

width:100%;
height:100%;
object-fit:cover;
border-radius:50%;
border:4px solid #2271b1;

}

.tmm-dashboard-avatar .dashicons{

font-size:100px;
width:100px;
height:100px;
color:#2271b1;

}

.tmm-dashboard-card{

background:#fff;
padding:25px;
border-radius:15px;
box-shadow:0 5px 20px rgba(0,0,0,.08);
margin-bottom:25px;

}

.tmm-dashboard-card h3{

margin-top:0;
margin-bottom:20px;

}

.tmm-dashboard-card p{

margin:12px 0;

}

.tmm-company-logo-preview{

width:120px;
height:120px;
object-fit:cover;
border-radius:12px;
border:1px solid #ddd;
background:#fff;
padding:8px;

}

.tmm-dashboard-nav{

display:flex;
flex-wrap:wrap;
gap:15px;
margin:30px 0;

}

.tmm-dashboard-nav a{

display:flex;
align-items:center;
gap:10px;

padding:14px 22px;

background:#fff;

border-radius:12px;

text-decoration:none;

font-weight:600;

color:#222;

border:1px solid #eee;

transition:.3s;

}

.tmm-dashboard-nav a:hover{

background:#0A66C2;

color:#fff;

transform:translateY(-3px);

}

.tmm-dashboard-nav a.active{

background:#0A66C2;

color:#fff;

}

.tmm-dashboard-nav .dashicons{

font-size:20px;

width:20px;

height:20px;

}

/* ========================================
   Employer Dashboard Tables
======================================== */

.tmm-table{
    width:100%;
    border-collapse:collapse;
    margin-top:20px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
}

.tmm-table thead{
    background:#0f172a;
    color:#fff;
}

.tmm-table th{
    padding:16px 18px;
    text-align:left;
    font-size:14px;
    font-weight:600;
}

.tmm-table td{
    padding:16px 18px;
    border-top:1px solid #eee;
    vertical-align:middle;
}

.tmm-table tbody tr:nth-child(even){
    background:#fafafa;
}

.tmm-table tbody tr:hover{
    background:#f4f8ff;
}

.tmm-table td:last-child,
.tmm-table th:last-child{
    text-align:center;
}

.tmm-payment-status{
    display:inline-block;
    padding:6px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
}

.status-success{
    background:#d1fae5;
    color:#065f46;
}

.status-pending{
    background:#fef3c7;
    color:#92400e;
}

.status-failed{
    background:#fee2e2;
    color:#991b1b;
}

.tmm-table code{
    background:#f3f4f6;
    padding:4px 8px;
    border-radius:6px;
    font-size:13px;
    font-family:monospace;
}

#tmm-candidate-form input[type="date"]{
    width:90%;
    padding:12px 15px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    font-family:inherit;
    background:#fff;
    color:#333;
    box-sizing:border-box;
}

.tmm-button{
    display:inline-block;
    padding:12px 24px;
    background:#2271b1;
    color:#fff !important;
    text-decoration:none;
    border-radius:6px;
    font-weight:600;
    border:1px solid #2271b1;
}

.tmm-button:hover{
    background:#135e96;
    color:#fff !important;
    text-decoration:none;
}

.tmm-button:visited{
    color:#fff !important;
}

.tmm-button:focus{
    color:#fff !important;
}
/* ============================
   Unlock Candidate Form
============================= */

.tmm-unlock-container{
    max-width:700px;
    margin:40px auto;
    background:#fff;
    padding:35px;
    border-radius:12px;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
    border:1px solid #e5e5e5;
}

.tmm-unlock-container h2{
    text-align:center;
    margin-bottom:10px;
    font-size:30px;
    font-weight:700;
}

.tmm-unlock-container > p{
    text-align:center;
    color:#666;
    margin-bottom:30px;
}

.tmm-unlock-container label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:#222;
}

.tmm-unlock-container input[type=text],
.tmm-unlock-container input[type=email]{
    width:100%;
    padding:12px 15px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    box-sizing:border-box;
    transition:.3s;
}

.tmm-unlock-container input:focus{
    border-color:#2271b1;
    outline:none;
    box-shadow:0 0 0 3px rgba(34,113,177,.15);
}

.tmm-unlock-container button{
    width:100%;
    background:#2271b1;
    color:#fff;
    border:none;
    border-radius:8px;
    padding:15px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.tmm-unlock-container button:hover{
    background:#135e96;
}

.tmm-unlock-container p{
    margin-bottom:22px;
}
.tmm-unlock-box .dashicons{
    color:#0d6efd;
    vertical-align:middle;
    margin-right:6px;
    font-size:18px;
}

.tmm-unlock-box ul{
    list-style:none;
    padding-left:0;
}

.tmm-unlock-box li{
    margin-bottom:10px;
}
.tmm-success{
    background:#e8f8ee;
    border:1px solid #28a745;
    color:#155724;
    padding:15px 18px;
    border-radius:8px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;
}

.tmm-success .dashicons{
    color:#28a745;
    font-size:20px;
    width:20px;
    height:20px;
}
/* Desktop */
.tmm-table{
    width:100%;
    border-collapse:collapse;
}

.tmm-table th,
.tmm-table td{
    padding:14px;
    border-bottom:1px solid #eee;
}

/* Mobile */
@media(max-width:768px){

    .tmm-table,
    .tmm-table thead,
    .tmm-table tbody,
    .tmm-table tr,
    .tmm-table th,
    .tmm-table td{
        display:block;
        width:100%;
    }

    .tmm-table thead{
        display:none;
    }

    .tmm-table tr{
        background:#fff;
        border:1px solid #eee;
        border-radius:10px;
        margin-bottom:20px;
        padding:10px;
    }

    .tmm-table td{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:12px 0;
        border:none;
        border-bottom:1px solid #f3f3f3;
    }

    .tmm-table td:last-child{
        border-bottom:none;
    }

    .tmm-table td::before{
        content:attr(data-label);
        font-weight:600;
        color:#555;
    }

}
.tmm-candidate-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:30px !important;
}

.tmm-candidate-grid > .tmm-candidate-card{
    width:auto !important;
    max-width:none !important;
    float:none !important;
    display:block !important;
    margin:0 !important;
}

/* Tablet */
@media (max-width:991px){
    .tmm-candidate-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }
}

/* Mobile */
@media (max-width:767px){
    .tmm-candidate-grid{
        grid-template-columns:1fr !important;
    }
}