
/* Tailwind local enxuto: classes usadas pelo projeto, sem CDN em produção. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fffdff;color:#00060f}
a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{font:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}button:disabled{cursor:default}img,svg,video,canvas{display:block;vertical-align:middle;max-width:100%;height:auto}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.block{display:block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.fixed{position:fixed}
.absolute{position:absolute}
.sticky{position:sticky}
.top-0{top:0}
.bottom-5{bottom:1.25rem}
.left-0{left:0}
.left-5{left:1.25rem}
.right-5{right:1.25rem}
.inset-y-0{top:0;bottom:0}
.z-30{z-index:30}
.z-40{z-index:40}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.object-contain{object-fit:contain}
.cursor-pointer{cursor:pointer}
.cursor-wait{cursor:wait}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.scroll-smooth{scroll-behavior:smooth}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.flex-col{flex-direction:column}
.flex-col-reverse{flex-direction:column-reverse}
.flex-wrap{flex-wrap:wrap}
.-translate-x-full{transform:translateX(-100%)}
.translate-x-0{transform:translateX(0)}
.hover\:-translate-y-0\.5:hover{transform:translateY(-.125rem)}
.w-4{width:1rem}
.w-14{width:3.5rem}
.w-20{width:5rem}
.w-72{width:18rem}
.w-full{width:100%}
.w-auto{width:auto}
.h-3{height:.75rem}
.h-4{height:1rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-20{height:5rem}
.h-28{height:7rem}
.h-\[52px\]{height:52px}
.h-full{height:100%}
.min-h-screen{min-height:100vh}
.min-h-28{min-height:7rem}
.min-h-36{min-height:9rem}
.min-h-\[70vh\]{min-height:70vh}
.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-none{max-width:none}
.p-0{padding:0}
.px-0{padding-left:0;padding-right:0}
.py-0{padding-top:0;padding-bottom:0}
.pt-0{padding-top:0}
.pb-0{padding-bottom:0}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.mt-1{margin-top:.25rem}
.mb-1{margin-bottom:.25rem}
.p-2{padding:.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.mt-2{margin-top:.5rem}
.p-3{padding:.75rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.mt-3{margin-top:.75rem}
.p-4{padding:1rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.mt-4{margin-top:1rem}
.mb-4{margin-bottom:1rem}
.p-5{padding:1.25rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.mt-5{margin-top:1.25rem}
.mb-5{margin-bottom:1.25rem}
.p-6{padding:1.5rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.mt-6{margin-top:1.5rem}
.mb-6{margin-bottom:1.5rem}
.pt-7{padding-top:1.75rem}
.mt-7{margin-top:1.75rem}
.mb-7{margin-bottom:1.75rem}
.p-8{padding:2rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.pt-8{padding-top:2rem}
.mt-8{margin-top:2rem}
.mb-8{margin-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.mt-10{margin-top:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.pb-14{padding-bottom:3.5rem}
.mx-auto{margin-left:auto;margin-right:auto}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.space-y-2 > * + *{margin-top:.5rem}
.space-y-3 > * + *{margin-top:.75rem}
.space-y-4 > * + *{margin-top:1rem}
.space-y-6 > * + *{margin-top:1.5rem}
.border{border-width:1px}
.border-2{border-width:2px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-dashed{border-style:dashed}
.rounded{border-radius:.25rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-\[1\.5rem\]{border-radius:1.5rem}
.rounded-\[2rem\]{border-radius:2rem}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-soft{box-shadow:0 22px 70px rgba(0,6,15,.16)}
.ring-1{box-shadow:0 0 0 1px var(--ring-color, rgba(15,23,42,.12))}
.backdrop-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bg-brand{background-color:#98c01f}
.bg-paper{background-color:#fffdff}
.bg-ink{background-color:#00060f}
.bg-white{background-color:#fff}
.bg-slate-50{background-color:#f8fafc}
.bg-slate-100{background-color:#f1f5f9}
.bg-green-50{background-color:#f0fdf4}
.bg-green-100{background-color:#dcfce7}
.bg-red-50{background-color:#fef2f2}
.bg-red-100{background-color:#fee2e2}
.bg-amber-50{background-color:#fffbeb}
.bg-amber-100{background-color:#fef3c7}
.bg-blue-50{background-color:#eff6ff}
.bg-purple-50{background-color:#faf5ff}
.bg-lime-50{background-color:#f7fee7}
.bg-zinc-50{background-color:#fafafa}
.bg-\[\#00060f\]{background-color:#00060f}
.bg-\[\#98c01f\]{background-color:#98c01f}
.bg-\[\#f5f7fb\]{background-color:#f5f7fb}
.bg-\[\#f8fafc\]{background-color:#f8fafc}
.bg-brand\/10{background-color:rgba(152,192,31,.10)}
.bg-brand\/15{background-color:rgba(152,192,31,.15)}
.bg-white\/5{background-color:rgba(255,255,255,.05)}
.bg-white\/85{background-color:rgba(255,255,255,.85)}
.bg-white\/\[\.06\]{background-color:rgba(255,255,255,.06)}
.bg-black\/40{background-color:rgba(0,0,0,.40)}
.text-brand{color:#98c01f}
.text-ink{color:#00060f}
.text-white{color:#fff}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-green-700{color:#15803d}
.text-green-800{color:#166534}
.text-red-700{color:#b91c1c}
.text-red-800{color:#991b1b}
.text-amber-700{color:#b45309}
.text-amber-800{color:#92400e}
.text-blue-700{color:#1d4ed8}
.text-purple-700{color:#7e22ce}
.text-lime-700{color:#4d7c0f}
.text-zinc-700{color:#3f3f46}
.text-\[\#00060f\]{color:#00060f}
.text-\[\#98c01f\]{color:#98c01f}
.text-white\/55{color:rgba(255,255,255,.55)}
.text-white\/68{color:rgba(255,255,255,.68)}
.text-white\/70{color:rgba(255,255,255,.70)}
.text-white\/75{color:rgba(255,255,255,.75)}
.text-white\/85{color:rgba(255,255,255,.85)}
.border-white\/10{border-color:rgba(255,255,255,.10)}
.border-white\/15{border-color:rgba(255,255,255,.15)}
.border-black\/5{border-color:rgba(0,6,15,.05)}
.border-black\/10{border-color:rgba(0,6,15,.10)}
.border-brand\/30{border-color:rgba(152,192,31,.30)}
.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}
.border-green-200{border-color:#bbf7d0}
.border-red-200{border-color:#fecaca}
.border-amber-200{border-color:#fde68a}
.ring-slate-200{--ring-color:#e2e8f0}
.ring-blue-200{--ring-color:#bfdbfe}
.ring-amber-200{--ring-color:#fde68a}
.ring-purple-200{--ring-color:#e9d5ff}
.ring-green-200{--ring-color:#bbf7d0}
.ring-red-200{--ring-color:#fecaca}
.ring-lime-200{--ring-color:#d9f99d}
.ring-zinc-200{--ring-color:#e4e4e7}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}
.leading-6{line-height:1.5rem}
.leading-8{line-height:2rem}
.leading-tight{line-height:1.1}
.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.tracking-\[\.18em\]{letter-spacing:.18em}
.tracking-\[\.2em\]{letter-spacing:.2em}
.tracking-\[\.24em\]{letter-spacing:.24em}
.uppercase{text-transform:uppercase}
.text-center{text-align:center}
.text-left{text-align:left}
.break-all{word-break:break-all}
.whitespace-pre-line{white-space:pre-line}
.whitespace-pre-wrap{white-space:pre-wrap}
.prose{color:#334155;max-width:65ch}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.duration-300{transition-duration:.3s}
.opacity-70{opacity:.7}
.hover\:bg-\[\#add92b\]:hover{background-color:#add92b}
.hover\:bg-lime-50:hover{background-color:#f7fee7}
.hover\:bg-lime-50\/45:hover{background-color:rgba(247,254,231,.45)}
.hover\:bg-red-500\/10:hover{background-color:rgba(239,68,68,.10)}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.10)}
.hover\:border-brand:hover{border-color:#98c01f}
.hover\:border-brand\/40:hover{border-color:rgba(152,192,31,.40)}
.hover\:border-red-300\/50:hover{border-color:rgba(252,165,165,.50)}
.hover\:text-brand:hover{color:#98c01f}
.hover\:text-white:hover{color:#fff}
.hover\:underline:hover{text-decoration-line:underline}
.focus\:ring-brand:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px rgba(152,192,31,.30)}
.disabled\:opacity-50:disabled{opacity:.5}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
[class~="bg-[radial-gradient(circle_at_top_left,rgba(152,192,31,.22),transparent_35%),linear-gradient(135deg,#00060f_0%,#08101d_42%,#00060f_100%)]"]{background:radial-gradient(circle at top left,rgba(152,192,31,.22),transparent 35%),linear-gradient(135deg,#00060f 0%,#08101d 42%,#00060f 100%)}
[class~="bg-[radial-gradient(circle_at_top_left,rgba(152,192,31,.24),transparent_34%),linear-gradient(135deg,#00060f,#08101d)]"]{background:radial-gradient(circle at top left,rgba(152,192,31,.24),transparent 34%),linear-gradient(135deg,#00060f,#08101d)}
@media (min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:flex-row{flex-direction:row}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:p-8{padding:2rem}.sm\:p-12{padding:3rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:hidden{display:none}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pt-16{padding-top:4rem}.lg\:pl-72{padding-left:18rem}.lg\:translate-x-0{transform:translateX(0)}.lg\:grid-cols-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[1\.05fr_\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1\.4fr_1fr_1fr_1fr_auto\]{grid-template-columns:1.4fr 1fr 1fr 1fr auto}}@media (min-width:1280px){.xl\:grid-cols-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.xl\:grid-cols-\[\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.xl\:grid-cols-\[1\.15fr_\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[1\.1fr_\.9fr\]{grid-template-columns:1.1fr .9fr}}
[data-sidebar].translate-x-0{transform:translateX(0)}
@media (min-width:1024px){[data-sidebar]{transform:translateX(0)!important}}


:root {
  --brand: #98c01f;
  --paper: #fffdff;
  --ink: #00060f;
}

* { box-sizing: border-box; }

body { min-height: 100vh; }

::selection { background: rgba(152, 192, 31, .32); }

.glass-card {
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
  backdrop-filter: blur(18px);
}

.public-input,
.public-select,
.public-textarea {
  width: 100%;
  border-radius: 1.25rem;
  border: 1px solid rgba(0, 6, 15, .10);
  background: #fff;
  padding: .9rem 1rem;
  color: #00060f;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.public-input:focus,
.public-select:focus,
.public-textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(152, 192, 31, .18);
}

.public-label {
  display: block;
  margin-bottom: .45rem;
  font-size: .82rem;
  font-weight: 800;
  color: rgba(0, 6, 15, .78);
}

.nav-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  border-radius: 1rem;
  padding: .85rem 1rem;
  color: rgba(255,255,255,.72);
  transition: all .2s ease;
}

.nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.08);
  transform: translateX(3px);
}

.card {
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(0,6,15,.06);
  box-shadow: 0 16px 50px rgba(0, 6, 15, .07);
}

.table-wrap {
  overflow-x: auto;
  border-radius: 1.5rem;
  border: 1px solid rgba(0,6,15,.06);
  background: #fff;
}

.table-base {
  min-width: 100%;
  border-collapse: collapse;
}

.table-base th {
  background: #00060f;
  color: #fff;
  padding: 1rem;
  text-align: left;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.table-base td {
  padding: 1rem;
  border-top: 1px solid rgba(0,6,15,.06);
  vertical-align: top;
}

.btn-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 1rem;
  background: var(--brand);
  color: var(--ink);
  padding: .85rem 1.1rem;
  font-weight: 900;
  transition: all .2s ease;
}

.btn-brand:hover { transform: translateY(-2px); filter: brightness(1.06); }

.btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 1rem;
  background: var(--ink);
  color: #fff;
  padding: .85rem 1.1rem;
  font-weight: 800;
  transition: all .2s ease;
}

.btn-dark:hover { transform: translateY(-2px); }

.btn-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 1rem;
  border: 1px solid rgba(0,6,15,.10);
  background: #fff;
  color: rgba(0,6,15,.78);
  padding: .85rem 1.1rem;
  font-weight: 800;
  transition: all .2s ease;
}

.btn-muted:hover { transform: translateY(-2px); border-color: rgba(152,192,31,.6); }

.animate-in {
  animation: fadeUp .55s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.dropzone-active {
  border-color: var(--brand) !important;
  background: rgba(152, 192, 31, .08) !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

button:disabled,
.btn-brand[aria-disabled="true"],
.btn-dark[aria-disabled="true"],
.btn-muted[aria-disabled="true"] {
  pointer-events: none;
}

@media (max-width: 640px) {
  .table-base th,
  .table-base td {
    padding: .85rem;
  }
}

body.sidebar-open { overflow: hidden; }

.resume-preview-box{
  width:100%;
  min-height:520px;
  max-height:760px;
  overflow:hidden;
  border-radius:1.25rem;
  border:1px solid rgba(0,6,15,.10);
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.70);
}
.resume-preview-frame{
  width:100%;
  height:720px;
  border:0;
  background:#fff;
}
.resume-preview-image{
  width:100%;
  max-height:760px;
  object-fit:contain;
  background:#fff;
}
@media (max-width: 640px){
  .resume-preview-box{min-height:360px;max-height:520px}
  .resume-preview-frame{height:480px}
  .resume-preview-image{max-height:520px}
}

/* Mobile-first Candidate Form */
.candidate-mobile-page{
  padding-bottom: 5.5rem;
}
.candidate-layout{
  align-items:start;
}
.candidate-intro{
  position:sticky;
  top:1rem;
}
.candidate-form{
  position:relative;
  overflow:visible;
}
.candidate-form-head{
  display:grid;
  gap:1rem;
}
.candidate-progress{
  border:1px solid rgba(0,6,15,.08);
  background:#f8fafc;
  border-radius:1.15rem;
  padding:.85rem;
}
.candidate-progress-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:rgba(0,6,15,.68);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.candidate-progress-track{
  height:.55rem;
  margin-top:.65rem;
  overflow:hidden;
  border-radius:999px;
  background:rgba(0,6,15,.08);
}
.candidate-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#98c01f,#b9e342);
  transition:width .25s ease;
}
.candidate-section{
  margin-top:1.5rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(0,6,15,.06);
}
.candidate-section:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.candidate-section-title{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  margin-bottom:1rem;
}
.candidate-section-title > span{
  display:inline-flex;
  width:2rem;
  height:2rem;
  flex:0 0 2rem;
  align-items:center;
  justify-content:center;
  border-radius:.8rem;
  background:rgba(152,192,31,.16);
  color:#00060f;
  font-weight:1000;
  box-shadow:inset 0 0 0 1px rgba(152,192,31,.22);
}
.candidate-section-title strong{
  display:block;
  color:#00060f;
  font-size:1.05rem;
  line-height:1.2;
}
.candidate-section-title small{
  display:block;
  margin-top:.2rem;
  color:rgba(0,6,15,.58);
  font-size:.84rem;
  line-height:1.35;
}
.candidate-field-hint{
  display:block;
  margin-top:.45rem;
  color:#64748b;
  font-size:.78rem;
  line-height:1.2rem;
}
.candidate-filter-input{
  background:#f8fafc;
}
.candidate-textarea{
  min-height:10.5rem;
}
.candidate-dropzone{
  min-height:10.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.candidate-dropzone label{
  width:100%;
}
.candidate-file-meta{
  display:none;
  margin:.7rem auto 0;
  max-width:100%;
  border-radius:999px;
  background:rgba(152,192,31,.14);
  color:#00060f;
  padding:.45rem .7rem;
  font-size:.78rem;
  font-weight:800;
  line-height:1.1rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.candidate-file-meta.has-file{
  display:inline-block;
}
.candidate-details{
  margin-top:1.25rem;
  border:1px solid rgba(0,6,15,.07);
  background:#fff;
  border-radius:1.25rem;
  padding:1rem;
}
.candidate-details summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:#00060f;
  font-weight:900;
}
.candidate-details summary::-webkit-details-marker{
  display:none;
}
.candidate-details summary::after{
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.7rem;
  height:1.7rem;
  flex:0 0 1.7rem;
  border-radius:999px;
  background:rgba(152,192,31,.16);
  color:#00060f;
  font-weight:1000;
}
.candidate-details[open] summary::after{
  content:'–';
}
.candidate-mobile-submit{
  display:none;
}

@media (max-width: 1023px){
  .candidate-intro{
    position:relative;
    top:auto;
  }
}

@media (max-width: 640px){
  .candidate-mobile-page{
    width:100%;
    padding: .75rem .85rem 6.9rem;
  }
  .candidate-layout{
    gap:1rem;
  }
  .candidate-pill{
    padding:.55rem .8rem;
    font-size:.64rem;
    letter-spacing:.14em;
  }
  .candidate-title{
    margin-top:1rem;
    font-size:2rem;
    line-height:1.05;
    letter-spacing:-.04em;
  }
  .candidate-subtitle{
    margin-top:.75rem;
    font-size:.98rem;
    line-height:1.55;
  }
  .candidate-info-grid{
    margin-top:1rem;
    grid-template-columns:1fr;
  }
  .candidate-info-card{
    border-radius:1.25rem;
    padding:1rem;
  }
  .candidate-info-card:nth-child(2){
    display:none;
  }
  .candidate-form{
    border-radius:1.45rem;
    padding:1rem;
    box-shadow:0 16px 44px rgba(0,6,15,.15);
  }
  .candidate-form-head{
    position:sticky;
    top:0;
    z-index:10;
    margin:-1rem -1rem 1rem;
    padding:1rem;
    border-radius:1.45rem 1.45rem 1rem 1rem;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(0,6,15,.06);
  }
  .candidate-form-head h2{
    font-size:1.35rem;
    line-height:1.1;
  }
  .candidate-progress{
    padding:.75rem;
    border-radius:.95rem;
  }
  .candidate-section{
    margin-top:1.15rem;
    padding-top:1.15rem;
  }
  .candidate-section-title{
    gap:.7rem;
    margin-bottom:.85rem;
  }
  .candidate-section-title > span{
    width:1.8rem;
    height:1.8rem;
    flex-basis:1.8rem;
    border-radius:.7rem;
  }
  .candidate-section-title strong{
    font-size:1rem;
  }
  .candidate-section-title small{
    font-size:.79rem;
  }
  .candidate-fields{
    gap:.85rem;
  }
  .public-label{
    margin-bottom:.35rem;
    font-size:.78rem;
  }
  .public-input,
  .public-select,
  .public-textarea{
    min-height:3.15rem;
    border-radius:1rem;
    padding:.92rem .9rem;
    font-size:1rem;
  }
  .public-select{
    padding-right:2.2rem;
  }
  .candidate-textarea{
    min-height:9rem;
  }
  .candidate-details{
    margin-top:1rem;
    border-radius:1rem;
    padding:.95rem;
  }
  .candidate-dropzone{
    min-height:9.5rem;
    border-radius:1.15rem;
    padding:1rem;
  }
  .candidate-upload-icon{
    width:3rem;
    height:3rem;
    border-radius:1rem;
  }
  .candidate-consent{
    margin-top:1rem;
    border-radius:1rem;
    padding:.9rem;
    font-size:.84rem;
    line-height:1.35rem;
  }
  .candidate-actions{
    display:none;
  }
  .candidate-mobile-submit{
    position:fixed;
    left:.75rem;
    right:.75rem;
    bottom:.75rem;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    border:1px solid rgba(255,255,255,.62);
    border-radius:1.2rem;
    background:rgba(0,6,15,.94);
    color:#fff;
    padding:.72rem .72rem .72rem .95rem;
    box-shadow:0 18px 42px rgba(0,6,15,.35);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .candidate-mobile-submit strong,
  .candidate-mobile-submit span{
    display:block;
  }
  .candidate-mobile-submit strong{
    font-size:.86rem;
    line-height:1rem;
  }
  .candidate-mobile-submit span{
    margin-top:.12rem;
    color:rgba(255,255,255,.68);
    font-size:.72rem;
    line-height:1rem;
    font-weight:800;
  }
  .candidate-mobile-submit .btn-brand{
    min-height:2.8rem;
    min-width:6.6rem;
    border-radius:.95rem;
    padding:.75rem .95rem;
  }
}
