/*
 * Djobsinfo Core — Dashboard & Forms
 * Loaded on core pages (and single jobs for the apply form). Token-driven.
 * Built by Megaone — geeaig.com
 */

/* ---------- Notices ---------- */
.djc-note { padding: 0.85rem 1rem; border-radius: var(--djc-radius); margin-bottom: var(--djc-space-6); font-size: var(--djc-small); border: 1px solid transparent; }
.djc-note--success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.djc-note--error { background: var(--djc-primary-soft); color: #991b1b; border-color: #fecaca; }

/* ---------- Forms ---------- */
.djc-form { display: flex; flex-direction: column; gap: var(--djc-space-4); }
.djc-form label { display: flex; flex-direction: column; gap: 0.35rem; font-weight: 600; font-size: var(--djc-small); color: var(--djc-text-secondary); }
.djc-form input[type="text"], .djc-form input[type="email"], .djc-form input[type="password"],
.djc-form input[type="url"], .djc-form input[type="date"], .djc-form input[type="number"],
.djc-form select, .djc-form textarea {
	font: inherit; font-weight: 400; padding: 0.65rem 0.8rem;
	border: 1px solid var(--djc-border); border-radius: var(--djc-radius);
	background: var(--djc-surface); color: var(--djc-text-primary); width: 100%;
}
.djc-form textarea { resize: vertical; }
.djc-form input:focus, .djc-form select:focus, .djc-form textarea:focus {
	outline: none; border-color: var(--djc-primary); box-shadow: 0 0 0 3px var(--djc-focus-ring);
}
.djc-form__row { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-4); }
@media (min-width: 640px) { .djc-form__row { grid-template-columns: 1fr 1fr; } }
.djc-form--wide { max-width: 100%; }
.djc-check { flex-direction: row !important; align-items: center; gap: 0.5rem !important; font-weight: 500 !important; }
.djc-check input { width: auto !important; }
.djc-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.djc-form button[type="submit"] { align-self: flex-start; }

/* ---------- Auth card ---------- */
.djc-authcard { max-width: 30rem; margin: var(--djc-space-8) auto; background: var(--djc-surface); border: 1px solid var(--djc-border); border-radius: var(--djc-radius-lg); box-shadow: var(--djc-shadow-md); padding: var(--djc-space-8); }
.djc-authcard h1 { font-size: var(--djc-h3); margin-bottom: var(--djc-space-4); }
.djc-authcard__alt { margin-top: var(--djc-space-6); font-size: var(--djc-small); color: var(--djc-text-muted); text-align: center; }

/* ---------- Panels ---------- */
.djc-panel { background: var(--djc-surface); border: 1px solid var(--djc-border); border-radius: var(--djc-radius-lg); padding: var(--djc-space-8); box-shadow: var(--djc-shadow-sm); }
.djc-panel--narrow { max-width: 34rem; margin-inline: auto; }

/* ---------- Dashboard shell ---------- */
.djc-dash { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-8); }
@media (min-width: 900px) { .djc-dash { grid-template-columns: 240px 1fr; align-items: start; } }
.djc-dash__side { background: var(--djc-surface); border: 1px solid var(--djc-border); border-radius: var(--djc-radius-lg); padding: var(--djc-space-6); box-shadow: var(--djc-shadow-sm); position: sticky; top: var(--djc-space-6); }
.djc-dash__hi { font-weight: 700; color: var(--djc-text-primary); margin-bottom: var(--djc-space-4); }
.djc-dash__nav { display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--djc-space-6); }
.djc-dash__nav a { padding: 0.6rem 0.8rem; border-radius: var(--djc-radius); color: var(--djc-text-secondary); font-weight: 600; font-size: var(--djc-small); }
.djc-dash__nav a:hover { background: var(--djc-background); color: var(--djc-primary); text-decoration: none; }
.djc-dash__nav a.is-active { background: var(--djc-primary-soft); color: var(--djc-primary); }
.djc-dash__main { min-width: 0; }
.djc-dash__main h1 { font-size: var(--djc-h3); margin-bottom: var(--djc-space-6); }

/* ---------- Stats + progress ---------- */
.djc-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--djc-space-4); margin-bottom: var(--djc-space-6); }
.djc-stat { background: var(--djc-surface); border: 1px solid var(--djc-border); border-radius: var(--djc-radius); padding: var(--djc-space-4); text-align: center; font-size: var(--djc-xs); color: var(--djc-text-muted); }
.djc-stat span { display: block; font-size: var(--djc-h3); font-weight: 800; color: var(--djc-text-primary); line-height: 1; margin-bottom: 4px; }
.djc-progress { height: 8px; background: var(--djc-border); border-radius: var(--djc-radius-full); overflow: hidden; margin-bottom: var(--djc-space-4); }
.djc-progress span { display: block; height: 100%; background: var(--djc-primary); }

/* ---------- Tables + lists ---------- */
.djc-table { width: 100%; border-collapse: collapse; font-size: var(--djc-small); }
.djc-table th, .djc-table td { text-align: left; padding: 0.7rem 0.6rem; border-bottom: 1px solid var(--djc-border); }
.djc-table th { color: var(--djc-text-muted); font-weight: 700; font-size: var(--djc-xs); text-transform: uppercase; letter-spacing: 0.04em; }
.djc-list { list-style: none; padding: 0; margin: 0; }
.djc-list li { padding: 0.75rem 0; border-bottom: 1px solid var(--djc-border); display: flex; flex-direction: column; }
.djc-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin: 0; }
.djc-chips li { background: var(--djc-primary-soft); color: var(--djc-primary); font-size: var(--djc-xs); font-weight: 600; padding: 0.25rem 0.6rem; border-radius: var(--djc-radius-full); }
.djc-linkbtn { background: none; border: none; color: var(--djc-primary); cursor: pointer; font: inherit; font-weight: 600; padding: 0; }

/* ---------- Badges ---------- */
.djc-badge { display: inline-block; font-size: var(--djc-xs); font-weight: 700; padding: 0.2rem 0.55rem; border-radius: var(--djc-radius-full); background: #f3f4f6; color: #374151; }
.djc-badge--submitted, .djc-badge--pending { background: #fef3c7; color: #92400e; }
.djc-badge--reviewed { background: #dbeafe; color: #1e40af; }
.djc-badge--shortlisted, .djc-badge--publish { background: #dcfce7; color: #166534; }
.djc-badge--rejected { background: #fee2e2; color: #991b1b; }
.djc-badge--hired { background: var(--djc-primary); color: #fff; }
.djc-badge--draft { background: #e5e7eb; color: #4b5563; }

/* ---------- CV render ---------- */
.djc-cv__head { border-bottom: 1px solid var(--djc-border); padding-bottom: var(--djc-space-4); margin-bottom: var(--djc-space-4); }
.djc-cv__headline { color: var(--djc-primary); font-weight: 600; }
.djc-cv__contact { font-size: var(--djc-small); color: var(--djc-text-muted); }
.djc-cv__section { margin-bottom: var(--djc-space-6); }
.djc-cv__section h3 { font-size: var(--djc-h5); border-bottom: 2px solid var(--djc-primary); display: inline-block; padding-bottom: 2px; margin-bottom: var(--djc-space-3); }
.djc-cv__item { margin-bottom: var(--djc-space-3); }
.djc-cv__item span { display: block; font-size: var(--djc-small); }

/* ---------- Applicants ---------- */
.djc-applicants { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-4); }
@media (min-width: 700px) { .djc-applicants { grid-template-columns: 1fr 1fr; } }
.djc-applicant { padding: var(--djc-space-6); }
.djc-applicant__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--djc-space-2); }
.djc-applicant__skills { font-size: var(--djc-xs); color: var(--djc-text-muted); }
.djc-applicant__status { display: flex; gap: 0.5rem; margin-top: var(--djc-space-4); }
.djc-applicant__status select { flex: 1; }

/* ---------- Repeatable fieldsets ---------- */
.djc-repeat { border: 1px solid var(--djc-border); border-radius: var(--djc-radius); padding: var(--djc-space-4); }
.djc-repeat legend { font-weight: 700; padding: 0 0.5rem; color: var(--djc-text-primary); }
.djc-repeat__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.5rem; padding: 0.5rem; border: 1px dashed var(--djc-border); border-radius: var(--djc-radius); margin-bottom: 0.5rem; position: relative; }
.djc-repeat__row textarea { grid-column: 1 / -1; }
.djc-repeat__rm { background: none; border: none; color: var(--djc-primary); font-size: 1.25rem; cursor: pointer; line-height: 1; }
.djc-repeat__add { margin-top: 0.5rem; }

/* ---------- Logout / apply ---------- */
.djc-logout { margin-top: var(--djc-space-4); }
.djc-apply-onsite textarea { width: 100%; margin-bottom: var(--djc-space-3); }

/* ---------- Apply box extras ---------- */
.djc-applybox__note { color: var(--djc-text-secondary); margin: 0 0 var(--djc-space-3); }
.djc-applybox__ext { display: block; margin-top: var(--djc-space-4); font-size: var(--djc-small); color: var(--djc-text-muted); text-align: center; }
.djc-applybox__ext:hover { color: var(--djc-primary); }

/* ---------- Pricing & billing ---------- */
.djc-pricing h2 { margin-top: var(--djc-space-8); }
.djc-plangrid { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-6); margin-top: var(--djc-space-4); }
@media (min-width: 640px) { .djc-plangrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .djc-plangrid { grid-template-columns: repeat(3, 1fr); } }
.djc-plan { background: var(--djc-surface); border: 1px solid var(--djc-border); border-radius: var(--djc-radius-lg); padding: var(--djc-space-6); box-shadow: var(--djc-shadow-sm); display: flex; flex-direction: column; gap: var(--djc-space-3); }
.djc-plan--featured { border-color: var(--djc-primary); box-shadow: 0 8px 24px rgba(220,38,38,0.10); }
.djc-plan h3 { margin: 0; font-size: var(--djc-h4); }
.djc-plan__price { font-size: var(--djc-h3); font-weight: 800; color: var(--djc-text-primary); margin: 0; }
.djc-plan__price span { font-size: var(--djc-small); font-weight: 500; color: var(--djc-text-muted); }
.djc-plan__feat { list-style: none; padding: 0; margin: 0 0 auto; display: flex; flex-direction: column; gap: 0.35rem; font-size: var(--djc-small); color: var(--djc-text-secondary); }
.djc-plan__feat li::before { content: "✓"; color: var(--djc-success); font-weight: 700; margin-right: 0.5rem; }
.djc-plan .djc-btn { width: 100%; margin-top: var(--djc-space-2); }

.djc-billing__cards { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-4); margin-bottom: var(--djc-space-6); }
@media (min-width: 640px) { .djc-billing__cards { grid-template-columns: 1fr 1fr; } }
.djc-billing__card { padding: var(--djc-space-6); display: flex; flex-direction: column; gap: 0.35rem; align-items: flex-start; }
.djc-billing__card strong { font-size: var(--djc-h4); color: var(--djc-text-primary); }
.djc-billing__label { font-size: var(--djc-xs); text-transform: uppercase; letter-spacing: 0.05em; color: var(--djc-text-muted); }

/* ---------- AI tools ---------- */
.djc-ai-grid { display: grid; grid-template-columns: 1fr; gap: var(--djc-space-6); }
@media (min-width: 720px) { .djc-ai-grid { grid-template-columns: 1fr 1fr; } }
.djc-ai-tool { padding: var(--djc-space-6); display: flex; flex-direction: column; gap: var(--djc-space-3); }
.djc-ai-tool h3 { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin: 0; font-size: var(--djc-h5); }
.djc-ai-cost { font-size: var(--djc-xs); font-weight: 700; background: var(--djc-primary-soft); color: var(--djc-primary); padding: 0.15rem 0.5rem; border-radius: var(--djc-radius-full); }
.djc-ai-tool .djc-btn { align-self: flex-start; }
.djc-ai-result { margin-top: var(--djc-space-3); border-top: 1px solid var(--djc-border); padding-top: var(--djc-space-3); font-size: var(--djc-small); }
.djc-ai-result h4 { font-size: var(--djc-body); margin: var(--djc-space-3) 0 var(--djc-space-2); }
.djc-ai-result ul, .djc-ai-result ol { margin: 0 0 var(--djc-space-3) 1.25rem; }
.djc-ai-result li { margin-bottom: 0.25rem; }
.djc-ai-result code { background: var(--djc-background); padding: 0.1rem 0.35rem; border-radius: 4px; }
.djc-ai-loading { color: var(--djc-text-muted); }
.djc-ai-loading::after { content: ""; display: inline-block; width: 1em; text-align: left; animation: djc-dots 1.2s steps(4,end) infinite; }
@keyframes djc-dots { 0% { content: ""; } 25% { content: "."; } 50% { content: ".."; } 75% { content: "..."; } }

/* ---------- Multistep signup ---------- */
.djc-authcard--wide { max-width: 34rem; }
.djc-steps__dots { display: flex; gap: 0.5rem; justify-content: center; margin-bottom: var(--djc-space-4); }
.djc-steps__dots span { width: 28px; height: 5px; border-radius: var(--djc-radius-full); background: var(--djc-border); transition: background var(--djc-transition); }
.djc-steps__dots span.is-active { background: var(--djc-primary); }
.djc-register .djc-step { display: flex; flex-direction: column; gap: var(--djc-space-4); margin-bottom: var(--djc-space-4); }
.djc-register.djc-js .djc-step { display: none; margin-bottom: 0; }
.djc-register.djc-js .djc-step.is-active { display: flex; }
.djc-step__lead { color: var(--djc-text-muted); margin: 0; }
.djc-step__nav { display: flex; gap: 0.75rem; justify-content: space-between; margin-top: var(--djc-space-2); }
.djc-step__nav .djc-btn { flex: 1; }
.djc-invalid { border-color: var(--djc-primary) !important; box-shadow: 0 0 0 3px var(--djc-focus-ring); }
.djc-otp { background: var(--djc-background); border: 1px solid var(--djc-border); border-radius: var(--djc-radius); padding: var(--djc-space-4); }
.djc-otp__status { margin: 0 0 var(--djc-space-3); font-size: var(--djc-small); }
.djc-otp__entry { display: flex; flex-direction: column; gap: var(--djc-space-3); }
