JobShield-AI / static /style.css
shravanijadhav264's picture
Initial clean commit
984c70c
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
:root {
--primary: #2563eb;
--primary-light: #dbeafe;
--primary-dark: #1d4ed8;
--secondary: #64748b;
--success: #10b981;
--warning: #f59e0b;
--danger: #ef4444;
--light: #f8fafc;
--dark: #1e293b;
--border: #e2e8f0;
}
body {
color: #334155;
line-height: 1.6;
background: linear-gradient(
135deg,
#0f172a,
#1e293b
);
color:white;
}
.logo-section{
display:flex;
align-items:center;
gap:12px;
}
.logo-img{
width:50px;
height:50px;
object-fit:contain;
}
.main-container {
min-height: 100vh;
display: flex;
flex-direction: column;
background: linear-gradient(to right, #141e30, #243b55);
padding: 20px;
}
main {
margin-top: 30px;
}
/* TOP NAVBAR */
.top-navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 30px;
background: linear-gradient(to right, #0f172a, #1e293b);
border-radius: 15px;
margin-bottom: 40px;
height: 120px;
transition:0.3s ease;
}
/* LOGO */
.logo-section h1 {
color: white;
font-size: 2.2rem;
font-weight: 700;
margin: 0;
}
/* BUTTON AREA */
.nav-buttons {
display: flex;
gap: 15px;
}
/* BUTTONS */
.nav-buttons button {
background: #00bf63;
color: white;
border: none;
padding: 10px 18px;
border-radius: 10px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: 0.3s;
overflow: hidden;
transition:all 0.3s ease;
}
.nav-buttons button:hover {
background: #00994f;
transform: translateY(-3px);
box-shadow:0 8px 20px rgba(0,191,99,0.25);
}
.nav-buttons button::after{
content:"";
position:absolute;
left:50%;
bottom:0;
width:0%;
height:3px;
background:white;
transition:0.3s ease;
transform:translateX(-50%);
}
.nav-buttons button:active{
transform:scale(0.96);
}
.nav-buttons button:hover::after{
width:70%;
}
/* PAGE TITLE */
.page-title {
color: white;
text-align: center;
margin-top: 10px;
margin-bottom: 20px;
}
header_ {
margin-top: 20px;
}
.steps {
display: flex;
justify-content: center;
gap: 100px;
flex-wrap: wrap;
}
.step {
padding: 8px 16px;
background: #e0e7ff;
border-radius: 20px;
font-weight: 500;
font-size: 0.9rem;
color: var(--primary);
}
.step.active {
background: #00bf63;
color: white;
}
.step.completed {
background: #d1fae5;
color: var(--success);
}
.card {
background: rgba(255, 255, 255, 0.08);
backdrop-filter: blur(10px);
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.card:hover {
transform: translateY(-5px);
}
/* Upload Section */
.upload-container {
background: #43455b;
border-radius: 10px;
padding: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
text-align: center;
border: 2px solid #fff;
}
.upload-container h2 {
color: var(--light);
margin-bottom: 20px;
font-size: 1.8rem;
font-weight: 500;
}
/* HORIZONTAL LAYOUT */
.upload-option {
display: flex;
align-items: stretch;
justify-content: center;
gap: 25px;
margin-bottom: 40px;
flex-wrap: wrap;
}
.upload-box {
border: 2px dashed #cbd5e1;
border-radius: 16px;
padding: 30px;
margin-bottom: 20px;
transition: all 0.3s;
}
/* SAME SIZE FOR BOTH SECTIONS */
.upload-box,
.text-paste {
width: 550px;
height: 320px;
}
.upload-box:hover{
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.text-paste:hover{
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.upload-icon {
font-size: 3.5rem;
margin-bottom: 15px;
color: var(--primary);
}
.upload-title {
font-size: 1.3rem;
font-weight: 600;
color: var(--light);
margin-bottom: 5px;
}
.upload-subtitle {
color: var(--light);
margin-bottom: 15px;
}
.browse-btn {
background: var(--primary);
color: white;
border: none;
padding: 10px 25px;
border-radius: 8px;
font-size: 1rem;
font-weight: 500;
cursor: pointer;
transition: all 0.3s;
}
.browse-btn:hover {
background: var(--primary-dark);
transform: translateY(-2px);
}
.or-divider {
color: var(--light);
font-weight: 700;
font-size: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
}
.text-paste {
text-align: left;
border: 2px dashed #cbd5e1;
border-radius: 16px;
padding: 30px;
background: transparent;
display: flex;
flex-direction: column;
justify-content: center;
}
.text-paste label {
display: block;
margin-bottom: 10px;
font-weight: 500;
font-size: 1.4rem;
color: var(--light);
text-align: center;
padding: -5px;
}
#jd_text{
height:280px;
resize:none;
}
/* TEXTAREA HEIGHT MATCH */
.text-paste textarea {
flex: 1;
background: #43455b;
border: 1px solid #cbd5e1;
border-radius: 12px;
font-size: 1rem;
color: var(--light);
padding: 15px;
width: 100%;
height: 170px;
resize: none;
}
.text-paste2 {
border-radius: 16px;
padding: 10px;
background: transparent;
display: flex;
flex-direction: column;
justify-content: center;
}
.text-paste2 label {
display: block;
font-weight: 400;
font-size: 1.3rem;
color: var(--light);
text-align: center;
padding: -5px;
}
/* TEXTAREA HEIGHT MATCH */
.text-paste2 textarea {
flex: 1;
background: #43455b;
border: 1px solid #cbd5e1;
border-radius: 12px;
font-size: 1rem;
color: var(--light);
padding: 15px;
width: 100%;
height: 170px;
resize: none;
}
/* Upload Section C2 */
.upload-container2 h2 {
color: var(--light);
margin-bottom: 20px;
font-size: 1.4rem;
font-weight: 500;
}
.upload-container2 {
padding: 10px;
}
/* Upload Section C3 */
/* SCAM CHECKER CONTAINER */
.upload-container3{
width: 100%;
max-width: 750px;
margin: 40px auto;
background: #43455b;
padding: 40px;
border-radius: 20px;
border: 2px solid rgba(255,255,255,0.1);
box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}
/* TITLE */
.upload-container3 h2{
text-align:center;
color:white;
margin-bottom:30px;
font-size:1.4rem;
font-weight:500;
}
/* INPUTS */
.upload-container3 .form-control{
background:#2f3648;
border:1px solid #5b6478;
color:white;
padding:14px;
border-radius:12px;
}
/* INPUT FOCUS */
.upload-container3 .form-control:focus{
background:#2f3648;
color:white;
border-color:#00bf63;
box-shadow:none;
}
/* DESCRIPTION BOX */
.upload-container3 textarea{
height:220px;
resize:none;
}
/* BUTTON CENTER */
.upload-container3 .analyze-btn{
display:block;
margin:30px auto 0 auto;
}
/* HOVER EFFECT */
.upload-container3:hover{
transform:translateY(-3px);
transition:0.3s ease;
}
/* HORIZON */
.analyze-btn {
background: var(--primary);
color: white;
border: none;
padding: 16px 40px;
border-radius: 12px;
font-size: 1.2rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
margin-top: 20px;
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
display:block;
margin:30px auto 0 auto;
}
.analyze-btn:hover {
background: var(--primary-dark);
transform: translateY(-3px);
box-shadow: 0 6px 8px rgba(37, 99, 235, 0.4);
}
/* Results Page */
.result-header {
text-align: center;
margin-bottom: 30px;
display: flex;
flex-direction: column;
align-items: center;
}
.result-header h2 {
color: var(--light);
font-size: 2rem;
font-weight: 700;
margin-bottom: 20px;
}
/* PROGRESS WRAPPER */
.progress-wrapper{
display:flex;
justify-content:center;
align-items:center;
margin:30px 0;
}
/* RING */
.progress-ring{
position:relative;
width:220px;
height:220px;
}
/* SVG ROTATION */
.progress-ring svg{
transform:rotate(-90deg);
}
/* BACKGROUND CIRCLE */
.progress-bg{
fill:none;
stroke:#e6e6e6;
stroke-width:14;
}
/* PROGRESS */
.progress-bar{
fill:none;
stroke:#00bf63;
stroke-width:14;
stroke-linecap:round;
stroke-dasharray:565;
stroke-dashoffset:565;
animation:progressAnim 2s ease forwards;
stroke-dashoffset:calc(
565 - (565 * var(--score)) / 100
);
}
/* TEXT */
.progress-text{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
font-size:2rem;
font-weight:700;
color:white;
}
/* ANIMATION */
@keyframes progressAnim{
from{
stroke-dashoffset:565;
}
}
.score-text {
font-size: 2.5rem;
font-weight: 800;
color: var(--primary);
}
.result-message {
max-width: 600px;
margin: 0 auto 30px;
font-size: 1.1rem;
color: #475569;
line-height: 1.8;
text-align: center;
padding: 20px;
background: white;
border-radius: 12px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.job-matches {
padding: 25px;
border-radius: 16px;
margin-bottom: 25px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
background: #2b3749; /* important for dark UI consistency */
}
.job-matches h3 {
font-size: 1.4rem;
color: #ffffff;
margin-bottom: 18px;
text-align: center;
font-weight: 600;
}
/* NEW: unified list styling */
.skill-list {
list-style: none;
padding: 0;
margin: 0;
}
.skill-list li {
background: #405069;
border: 1px solid rgba(0, 191, 99, 0.3);
padding: 10px 14px;
margin-bottom: 10px;
border-radius: 10px;
color: white;
font-size: 0.95rem;
}
.skills-container{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:15px;
}
.skill-badge{
padding:10px 18px;
border-radius:15px;
font-size:14px;
font-weight:600;
color:white;
display:inline-block;
transition:0.3s;
}
.skill-badge:hover{
transform:scale(1.05);
}
.matched-badge{
background:#00bf63;
}
.missing-badge{
background:#ff4d4d;
}
.skills-row {
display: flex;
gap: 20px;
margin-bottom: 25px;
}
/* Make both boxes equal */
.skills-row .job-matches {
flex: 1;
min-width: 0;
}
/* Responsive fix */
@media (max-width: 768px) {
.skills-row {
flex-direction: column;
}
}
.match-list {
list-style-type: none;
counter-reset: match-counter;
}
.match-list li {
counter-increment: match-counter;
padding: 15px 20px;
margin-bottom: 10px;
background: #f8fafc;
border-radius: 12px;
border-left: 4px solid var(--primary);
display: flex;
justify-content: space-between;
align-items: center;
}
.match-list li::before {
content: counter(match-counter) ".";
font-weight: 700;
color: var(--primary);
margin-right: 15px;
font-size: 1.2rem;
}
.job-title {
font-weight: 600;
flex: 1;
color: var(--dark);
font-size: 1.1rem;
}
.similarity-score {
font-weight: 600;
color: var(--primary);
font-size: 1.1rem;
}
.resume-comparison {
display: flex;
gap: 20px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.resume-section:hover{
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.resume-section {
flex: 1;
min-width: 300px;
background: white;
border-radius: 16px;
padding: 20px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}
.resume-section h4 {
margin-bottom: 15px;
color: var(--dark);
font-size: 1.2rem;
padding-bottom: 10px;
border-bottom: 1px solid var(--border);
font-weight: 600;
text-align: center;
}
.content-box {
border: 1px solid var(--border);
border-radius: 12px;
padding: 15px;
min-height: 300px;
max-height: 400px;
overflow-y: auto;
white-space: pre-wrap;
background: #c7d5e2;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 0.9rem;
line-height: 1.6;
color:black;
}
.actions {
text-align: center;
margin-bottom: 30px;
margin-top: 30px;
}
.actions button {
background: var(--primary);
color: white;
border: none;
padding: 12px 30px;
border-radius: 12px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
}
.actions button:hover {
background: var(--primary-dark);
transform: translateY(-3px);
box-shadow: 0 6px 8px rgba(37, 99, 235, 0.4);
}
footer {
text-align: center;
margin-top: auto;
padding: 30px 0 20px;
color: var(--light);
font-size: 0.9rem;
}
.job-opportunities {
margin-top: 40px;
padding: 20px;
background-color: #f8f9fa;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.job-listings {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
margin-top: 20px;
}
.job-card {
background: white;
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.job-card:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.job-header {
border-bottom: 1px solid #eee;
padding-bottom: 15px;
margin-bottom: 15px;
}
.job-header h4 {
margin: 0;
color: #333;
font-size: 1.2rem;
}
.company {
display: block;
color: #666;
margin-top: 5px;
font-size: 0.9rem;
}
.job-details {
display: flex;
justify-content: space-between;
align-items: center;
}
.location {
color: #666;
font-size: 0.9rem;
}
.apply-btn {
background-color: #00bf63;
color: white;
padding: 8px 15px;
border-radius: 4px;
text-decoration: none;
font-weight: 500;
transition: background-color 0.3s;
}
/* Add model info to results */
.model-info {
background: #00bf63;
color: white;
padding: 8px 15px;
border-radius: 20px;
font-weight: 600;
margin-bottom: 15px;
display: inline-block;
}
/* Responsive */
@media (max-width: 768px) {
.upload-container {
padding: 20px;
}
.resume-comparison {
flex-direction: column;
}
.match-list li {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.similarity-score {
align-self: flex-end;
}
.score-text {
font-size: 2rem;
}
}
.fake-job-box {
margin-top: 20px;
padding: 15px;
border-radius: 10px;
background: #111827;
color: white;
text-align: center;
}
.fake-score {
font-size: 20px;
margin: 10px 0;
}
.fake-level {
font-size: 18px;
}
/* PLACEHOLDER COLOR */
::placeholder{
color: rgba(255,255,255,0.7) !important;
}
.form-control::placeholder{
color: rgba(255,255,255,0.7) !important;
}
/* RESPONSIVE DESIGN */
@media (max-width: 768px){
.main-container{
padding:15px;
}
h1{
font-size:2rem !important;
}
h2{
font-size:1.5rem !important;
}
h3{
font-size:1.2rem !important;
}
}
@media (max-width: 768px){
.top-navbar{
flex-direction:column;
gap:15px;
text-align:center;
}
.logo-section{
justify-content:center;
}
.nav-buttons{
width:100%;
display:flex;
justify-content:center;
}
}
@media (max-width: 768px){
.upload-option{
flex-direction:column;
align-items:center;
}
.upload-box,
.text-paste{
width:100%;
max-width:100%;
height:auto;
}
.text-paste textarea{
height:180px;
}
.or-divider{
margin:10px 0;
}
}
@media (max-width: 768px){
.resume-comparison{
flex-direction:column;
}
.resume-section{
width:100%;
}
.score-text{
font-size:2rem;
}
}
@media (max-width: 768px){
.analyze-btn,
.browse-btn{
width:100%;
}
}
@media (max-width: 768px){
.steps{
flex-direction:column;
align-items:center;
}
.step{
width:100%;
text-align:center;
}
}
/* html, body{
overflow-x:hidden;
} */
/* .warning-box{
background:#1e1e1e;
padding:25px 35px;
border-radius:30px;
margin-top:25px;
width: 50%;
margin: 30px auto;
text-align: center;
}
.warning-box ul{
list-style-position: inside;
padding-left: 0;
text-align: center;
}
.warning-box h3{
color:#ff4d4d;
margin-bottom:15px;
}
.warning-box li{
color:white;
margin-bottom:10px;
margin: 10px 0;
}
h3 i{
margin-right:10px;
}
.scam-btn{
background: var(--primary);
color: white;
border: none;
padding: 16px 40px;
border-radius: 12px;
font-size: 1.2rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
margin-top: 20px;
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
display:block;
margin:30px auto 0 auto;
}
/* MAIN CARD */
.card{
border-radius:25px;
border:none;
background:rgb(253, 251, 251);
}
/* HEADINGS */
.card h2,
.card h3,
.card h4{
text-align:center;
}
/* PRECAUTIONS + WARNING BOX */
.precaution-box,
.warning-box{
width:50%;
margin:30px auto;
padding:25px 40px;
border-radius:20px;
text-align:center;
transition:0.3s ease;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
}
/* DIFFERENT COLORS */
.precaution-box{
background:#43455b;
}
.warning-box{
background:#43455b;
}
.precaution-box h4{
color: #fff;
}
.warning-box h4{
color: #fff;
}
/* HOVER EFFECT */
.precaution-box:hover,
.warning-box:hover{
transform:translateY(-5px);
box-shadow:0 15px 30px rgba(0,0,0,0.12);
}
/* LIST STYLING */
.precaution-box ul,
.warning-box ul{
list-style-position:inside;
padding-left:0;
margin-top:15px;
}
/* LIST ITEMS */
.precaution-box li,
.warning-box li{
margin:12px 0;
text-align:center;
font-size:16px;
color: wheat;
}
/* BUTTON */
.scam-btn{
font-weight:600;
transition:0.3s;
background: var(--primary);
color: white;
border: none;
padding: 16px 40px;
border-radius: 12px;
font-size: 1.2rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
margin-top: 20px;
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
display:block;
margin:30px auto 0 auto;
}
/* BUTTON HOVER */
.scam-btn:hover{
background: var(--primary-dark);
transform: translateY(-3px);
box-shadow: 0 6px 8px rgba(37, 99, 235, 0.4);
}
/* ICON SPACING */
h2 i,
h3 i,
h4 i{
margin-right:10px;
}