*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f8fb;color:#1f2937}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1f2937}
.logo-img{max-height:65px;max-width:180px;width:auto}
.logo-text{display:flex;flex-direction:column}
.logo-text strong{font-size:16px}
.logo-text small{font-size:11px;color:#667085}
nav{display:flex;gap:24px}
nav a{color:#344054;text-decoration:none;font-weight:600;font-size:14px}
.nav-actions{display:flex;gap:10px}
.btn{display:inline-block;text-decoration:none;border-radius:9px;padding:11px 18px;font-weight:700;border:none;cursor:pointer}
.btn-primary{background:#2563eb;color:#fff}
.btn-outline{border:1px solid #2563eb;color:#2563eb;background:#fff}
.hero{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;text-align:center;padding:85px 20px}
.hero-content{max-width:900px;margin:auto}
.tag{background:rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-weight:700}
.hero h1{font-size:46px;margin:20px 0 14px}
.hero p{font-size:19px;line-height:1.6}
.search-box{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:25px}
.search-box input{width:280px;padding:15px;border:0;border-radius:9px}
.search-box button{padding:15px 22px;border:0;border-radius:9px;background:#10b981;color:#fff;font-weight:800}
.search-white{background:#fff;padding:18px;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);margin-bottom:30px}
.search-white input{border:1px solid #ddd}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:-35px}
.stat-card,.job-card,.detail-card,.auth-card,.card-dashboard,.form-panel{background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 20px rgba(15,23,42,.08)}
.stat-card{text-align:center}
.stat-card h2{color:#2563eb;margin:0;font-size:34px}
.section{padding:55px 20px}
.section-title{text-align:center;margin-bottom:28px}
.jobs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.job-card h3{margin-top:0}
.job-card span{display:block;color:#667085;margin:10px 0 18px}
.about{background:#fff;padding:55px 20px;text-align:center}
.footer{background:#101828;color:#fff;padding:45px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}
.footer a{display:block;color:#d0d5dd;text-decoration:none;margin:8px 0}
.copy{text-align:center;border-top:1px solid #344054;margin-top:25px;padding:18px;color:#d0d5dd}
.auth-page{padding:60px 20px}
.auth-card{max-width:780px;margin:auto}
.auth-card.small{max-width:430px}
.auth-card input,.form-panel input{width:100%;padding:13px;border:1px solid #d0d5dd;border-radius:8px;margin-bottom:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .lgpd{
    grid-column:1 / -1;
}

.form-grid button{
    grid-column:1 / -1;
}
.alert{padding:12px;border-radius:9px;margin:12px 0}
.alert-error{background:#fee2e2;color:#991b1b}
.alert-success{background:#dcfce7;color:#166534}
.dashboard-body{background:#f6f8fb}
.header-dashboard{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:14px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header-dashboard nav{display:flex;gap:18px;flex-wrap:wrap}
.dash-logo span{font-weight:800}
.container-dashboard{max-width:1180px;margin:auto;padding:35px 20px}
.cards-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}
.card-dashboard{text-align:center}
.card-dashboard h3{font-size:34px;color:#2563eb;margin:0}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}
.table th,.table td{padding:15px;border-bottom:1px solid #eef2f7;text-align:left}
.status-pill{background:#fff3cd;color:#856404;padding:6px 12px;border-radius:999px;font-weight:700;font-size:12px}
@media(max-width:768px){
    .navbar,.header-dashboard{flex-direction:column;align-items:flex-start}
    nav,.nav-actions{width:100%;flex-direction:column;gap:8px}
    nav a{padding:8px 0;border-bottom:1px solid #eee}
    .nav-actions .btn{width:100%;text-align:center}
    .hero{padding:50px 20px}
    .hero h1{font-size:30px}
    .search-box input,.search-box button{width:100%}
    .stats,.cards-dashboard,.footer-grid,.form-grid{grid-template-columns:1fr}
}
.form-grid select,
.form-panel select{
    width:100%;
    padding:13px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    margin-bottom:12px;
    background:#fff;
}

.lgpd{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    margin-top:10px;
    margin-bottom:10px;
}

.lgpd input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:0;
    flex-shrink:0;
}

.lgpd span{
    font-size:14px;
    line-height:1.4;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.full-width{
    grid-column:1 / -1;
}
.auth-link{
    text-align:center;
    margin-top:15px;
}

.auth-link a{
    color:#2563EB;
    text-decoration:none;
    font-weight:600;
}

.auth-link a:hover{
    text-decoration:underline;
}