/* Single stylesheet entrypoint. Keep imports ordered: legacy tokens, public overrides, page systems. */
@import url("./style.css");
@import url("./academy.css");
@import url("./public.css");
@import url("./public-home.css");

/* Shared readable defaults for every page system. */
:root { --text-readable: #f1f5f9; --text-readable-muted: #cbd5e1; --public-muted: #4f554d; --muted: #c5cbc4; --faint: #aeb7ad; }
body { text-rendering: optimizeLegibility; }
body.public-site, body.public-home { background: var(--public-bg, #f5f2eb) !important; color: var(--public-ink, #171914) !important; font-family: 'Manrope', sans-serif; }
body.public-site::before, body.public-site::after, body.public-home::before, body.public-home::after { display: none !important; }
body.public-site a, body.public-site p, body.public-site li, body.public-home a, body.public-home p, body.public-home li { color: inherit; }
body.public-site .text-muted, body.public-home .text-muted { color: var(--public-muted, #676b62) !important; }
body.public-site header.apple-nav, body.public-site header.topbar, body.public-home header.apple-nav { background: rgba(245,242,235,.94) !important; color: #171914 !important; border-bottom: 1px solid #d8d5cc !important; box-shadow: 0 4px 18px rgba(23,25,20,.06) !important; }
body.public-site header.apple-nav::after, body.public-home header.apple-nav::after { display: none; }
body.public-site .nav-left, body.public-site .nav-left a, body.public-site .nav-center a, body.public-home .nav-left, body.public-home .nav-left a, body.public-home .nav-center a { color: #171914 !important; }
body.public-site nav, body.public-home nav { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; backdrop-filter: none !important; }
body.public-site .nav-center a.active, body.public-home .nav-center a.active { color: #1e3b29 !important; }
body.public-site .card, body.public-site .glass-card, body.public-site .job-card { background: #ebe8e0 !important; color: #171914 !important; border: 1px solid #d8d5cc !important; box-shadow: none !important; }
body.public-site button, body.public-site .btn, body.public-home button, body.public-home .btn { border-radius: 3px; text-transform: none !important; letter-spacing: 0 !important; }
body.public-site .btn-primary { background: #1e3b29 !important; color: #fff !important; border-color: #1e3b29 !important; }
body.public-site .btn-secondary, body.public-site .btn-ghost { background: transparent !important; color: #1e3b29 !important; border-color: #1e3b29 !important; }
body.public-home :focus-visible { outline-color: #1e3b29; }
body.public-site input, body.public-site textarea, body.public-site select { background: #fff !important; color: #171914 !important; border: 1px solid #c9c6bd !important; }
body.public-site h1, body.public-site h2, body.public-site h3, body.public-site h4, body.public-home h1, body.public-home h2, body.public-home h3 { color: #171914; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
input, textarea, select,
body:not(.public-home) .field-wrap input,
body:not(.public-home) .field-wrap select,
body:not(.public-home) .orders-toolbar input,
body:not(.public-home) .orders-toolbar select,
body:not(.public-home) .users-toolbar input,
body:not(.public-home) .users-toolbar select {
	background: #ffffff !important;
	color: #111827 !important;
	border: 1px solid #111827 !important;
}
input::placeholder, textarea::placeholder { color: #475569 !important; opacity: 1; }
input:focus, textarea:focus, select:focus { border-color: #166534 !important; outline: 0; box-shadow: 0 0 0 3px rgba(22, 101, 52, .14) !important; }
input:disabled, textarea:disabled, select:disabled { background: #e2e8f0 !important; color: #475569 !important; }
:focus-visible { outline: 2px solid var(--public-accent, var(--lime, #d8ff55)); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* High-contrast controls for the dark academy surfaces. */
body:not(.public-site):not(.public-home) .academy-main .label,
body:not(.public-site):not(.public-home) .academy-main .empty,
body:not(.public-site):not(.public-home) .academy-main .timeline-step {
	color: #cbd5e1 !important;
}
body:not(.public-site):not(.public-home) .academy-main .button:disabled {
	opacity: .72;
	color: #334155 !important;
	background: #e2e8f0 !important;
	border-color: #cbd5e1 !important;
}
body:not(.public-site):not(.public-home) header:not(.academy-nav) {
	background: #191c19 !important;
	border-bottom-color: #30342f !important;
	box-shadow: 0 8px 32px -4px rgba(0, 0, 0, .5) !important;
}
body:not(.public-site):not(.public-home) header:not(.academy-nav) h1,
body:not(.public-site):not(.public-home) header:not(.academy-nav) h2,
body:not(.public-site):not(.public-home) header:not(.academy-nav) h3,
body:not(.public-site):not(.public-home) header:not(.academy-nav) a {
	color: #f1f5f9 !important;
}
body:not(.public-site):not(.public-home) header:not(.academy-nav) nav {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
body:not(.public-site):not(.public-home) header.academy-nav .brand,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a {
	color: #111827 !important;
}
body:not(.public-site):not(.public-home) header.academy-nav nav.nav-links {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
body:not(.public-site):not(.public-home) header.academy-nav .brand span,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a:hover,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a.active {
	color: #166534 !important;
}
body:not(.public-site):not(.public-home) .academy-main .muted,
body:not(.public-site):not(.public-home) .academy-main .hero-row p,
body:not(.public-site):not(.public-home) .academy-main .list-row .muted {
	color: #cbd5e1 !important;
}
body:not(.public-site):not(.public-home) .academy-main .button.secondary {
	background: #f8fafc !important;
	color: #111827 !important;
	border-color: #cbd5e1 !important;
}
body:not(.public-site):not(.public-home) .academy-main .button.secondary:hover {
	background: #ffffff !important;
	border-color: #94a3b8 !important;
}

/* Academy navigation overrides the legacy global nav treatment. */
body:not(.public-site):not(.public-home) header.academy-nav {
	height: 72px !important;
	padding: 0 clamp(20px, 4vw, 56px) !important;
}
body:not(.public-site):not(.public-home) header.academy-nav nav.nav-links {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
}
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a:hover,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a:focus-visible {
	color: #111827 !important;
	background: #e2e8f0;
	border-color: #cbd5e1;
}
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a.active,
body:not(.public-site):not(.public-home) header.academy-nav .nav-links a[aria-current="page"] {
	color: #ffffff !important;
	background: #166534;
	border-color: #166534;
}
body:not(.public-site):not(.public-home) .admin-sidebar {
	top: 72px;
	height: calc(100vh - 72px);
	background: #151815;
	border-right-color: #30342f;
}
body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav {
	display: flex !important;
	align-items: stretch !important;
	gap: 4px !important;
	padding: 18px 12px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav a {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid transparent;
	border-left: 3px solid transparent;
	border-radius: 5px;
	color: #b8bbb5 !important;
	font-size: 13px;
	font-weight: 700;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav a:hover,
body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav a:focus-visible {
	color: #f8fafc !important;
	background: #20271f;
	border-color: #303d2d;
	border-left-color: #a3d635;
}
body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav a.active {
	color: #f8fafc !important;
	background: #263221;
	border-color: #3c5132;
	border-left-color: #d8ff55;
}
body.admin-legacy header {
	height: 72px !important;
	padding: 0 clamp(20px, 4vw, 56px) !important;
	background: #151815 !important;
}
body.admin-legacy header h2 { color: #f8fafc !important; }
body.admin-legacy header nav {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.admin-legacy header nav a,
body.admin-legacy header nav button {
	min-height: 36px;
	padding: 8px 12px !important;
	border: 1px solid transparent;
	border-radius: 5px;
	color: #b8bbb5 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
body.admin-legacy header nav a:hover,
body.admin-legacy header nav a:focus-visible {
	color: #f8fafc !important;
	background: #20271f;
	border-color: #3c5132;
}
body.admin-legacy header nav a.active {
	color: #ffffff !important;
	background: #166534;
	border-color: #166534;
}
body.admin-legacy header nav #logout-btn {
	color: #fecaca !important;
	border-color: #7f1d1d;
	background: transparent !important;
}
body.admin-legacy header nav #logout-btn:hover {
	color: #ffffff !important;
	background: #b91c1c !important;
	border-color: #b91c1c;
}
body.auth-page {
	background: #f5f2eb;
	color: #171914;
}
body.auth-page::before,
body.auth-page::after { display: none; }
body.auth-page .auth-wrap {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 32px 20px;
}
body.auth-page .auth-box {
	width: min(480px, 100%);
	padding: clamp(28px, 5vw, 48px);
	background: #ffffff;
	border: 1px solid #d8d5cc;
	border-radius: 8px;
	box-shadow: 0 18px 50px rgba(23, 25, 20, .10);
}
body.auth-page .auth-back {
	display: inline-flex;
	margin-bottom: 38px;
	color: #1e3b29;
	font-size: 13px;
	font-weight: 700;
}
body.auth-page .auth-back::before { content: "←"; margin-right: 8px; }
body.auth-page .auth-box h1 { color: #171914; margin: 12px 0; }
body.auth-page .auth-intro { color: #676b62; margin-bottom: 24px; }
body.auth-page .auth-google,
body.auth-page .auth-submit { width: 100%; }
body.auth-page .auth-google {
	background: #ffffff !important;
	color: #171914 !important;
	border-color: #c9c6bd !important;
}
body.auth-page .auth-submit {
	background: #1e3b29 !important;
	color: #ffffff !important;
	border-color: #1e3b29 !important;
}
body.auth-page .divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0;
	color: #676b62;
	font-size: 12px;
}
body.auth-page .divider::before,
body.auth-page .divider::after { content: ""; height: 1px; flex: 1; background: #d8d5cc; }
body.auth-page .field > span { color: #374151; }
body.auth-page .field input,
body.auth-page .field textarea,
body.auth-page .field select {
	background: #ffffff;
	color: #171914;
	border: 1px solid #111827 !important;
}
body.auth-page input.form-input {
	display: block;
	width: 100%;
	min-height: 46px;
	background: #ffffff !important;
	color: #111827 !important;
	border: 1px solid #111827 !important;
	border-radius: 4px !important;
}
body.auth-page .field input:focus,
body.auth-page .field textarea:focus,
body.auth-page .field select:focus { border: 1px solid #166534 !important; box-shadow: 0 0 0 3px rgba(30, 59, 41, .14); }
body.auth-page .password-control { display: flex; gap: 8px; }
body.auth-page .password-control input { flex: 1; min-width: 0; }
body.auth-page .password-control button {
	min-height: 42px;
	padding: 8px 12px;
	background: #f5f2eb;
	color: #1e3b29;
	border: 1px solid #c9c6bd;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
}
body.auth-page .auth-actions {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 20px;
	color: #676b62;
	font-size: 12px;
}
body.auth-page .auth-actions > div { display: grid; gap: 5px; }
body.auth-page .text-button {
	padding: 0;
	min-height: 0;
	background: transparent;
	border: 0;
	color: #1e3b29;
	font-size: 12px;
	font-weight: 800;
}
body.auth-page .error { color: #b91c1c; min-height: 22px; margin-top: 12px; }

@media (max-width: 760px) {
	.site-nav,
	.academy-nav,
	body:not(.public-site):not(.public-home) header:not(.academy-nav) {
		min-height: 64px;
		height: auto !important;
		padding: 14px 20px !important;
		flex-wrap: wrap;
	}
	.nav-list,
	.nav-links {
		width: 100%;
		overflow-x: auto;
		padding-bottom: 2px;
	}
	.jobs-grid { grid-template-columns: 1fr !important; }
	body:not(.public-site):not(.public-home) .admin-sidebar {
		position: static;
		width: 100%;
		height: auto;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}
	body:not(.public-site):not(.public-home) .admin-sidebar .admin-nav { flex-direction: row; overflow-x: auto; padding: 8px 12px !important; }
	body.admin-legacy header nav { width: 100%; overflow-x: auto; }
	.admin-nav a { white-space: nowrap; border-left: 0; border-bottom: 2px solid transparent; }
	.admin-nav a:hover, .admin-nav a.active { border-bottom-color: var(--lime); }
	.admin-panel { margin-left: 0; padding: 24px 20px; }
	.list-row { align-items: flex-start; flex-direction: column; gap: 12px; }
	.list-row .row-actions { flex-wrap: wrap; width: 100%; }
	.modal { padding: 22px; width: calc(100% - 28px); }
}
/* Question option fields */
#options-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.option-field {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.option-field input[name="options"] {
  flex: 1;
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 10px 12px;
  box-sizing: border-box;
}

.option-field .remove-option {
  flex: 0 0 auto;
  width: 70px;
  height: 36px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 1;
  border: 1px solid rgba(248, 113, 113, 0.35);
  border-radius: 6px;
  background: transparent;
	color: #fca5a5;
  cursor: pointer;
}

.option-field .remove-option:hover {
  background: rgba(248, 113, 113, 0.1);
}

/* ==========================================================================
   Jobs Layout & Action Buttons
   ========================================================================== */

/* Container wrapper for jobs section */
.jobs-wrap {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 4rem 1.5rem;
  box-sizing: border-box;
}

.jobs-note {
  margin-top: 3rem;
}

/* Individual job card dynamically rendered inside #job-list */
.job-card,
#job-list > div,
#job-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.75rem 2rem;
  margin-bottom: 1.25rem;
  background: var(--public-card-bg, rgba(255, 255, 255, 0.03));
  border: 1px solid var(--public-border, rgba(255, 255, 255, 0.08));
  border-radius: 12px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

/* Tablet & Desktop: Align job details on the left, button on the right */
@media (min-width: 640px) {
  .job-card,
  #job-list > div {
    flex-direction: row;
    align-items: center;
  }
}

/* Standardized Button System */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 8px;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
}

/* Primary Action Button (Apply Now / Register) */
.btn-primary {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #ffffff;
  flex-shrink: 0; /* Prevents button from squishing */
}

.btn-primary:hover {
  background-color: #e5e5e5;
  border-color: #e5e5e5;
  transform: translateY(-1px);
}

.btn-primary:active {
  transform: translateY(0);
}

/* Full-width button on small mobile screens */
@media (max-width: 639px) {
  .job-card .btn,
  #job-empty .btn {
    width: 100%;
  }
}