/* ===== DESIGN SYSTEM — BRITE COLORS & SAAS PREMIUM ===== */
:root {
  --primary-dark:   #3D1737;
  --primary-mid:    #55204E;
  --primary-light:  #6B2862;
  --accent-yellow:  #FFBB33;
  --accent-amber:   #F2A50D;
  --accent-purple:  #B353A7;
  --text-dark:      #1F1F1F;
  --text-body:      #4A4A4A;
  --text-muted:     #64748B;
  --text-light:     #ECECEC;
  --bg-main:        #F5F7FA; /* Lighter, cooler grey for SaaS feel */
  --bg-lighter:     #F8FAFC;
  --background:     #F8FAFC;
  --bg-white:       #FFFFFF;
  --surface:        #FFFFFF;
  --divider:        #E2E8F0;
  --border:         #CBD5E1;
  --success:        #10B981;
  --success-dark:   #047857;
  --error:          #EF4444;
  --danger:         #EF4444;
  --warning:        #F59E0B;
  --success-light:  #DCFCE7;
  --warning-light:  #FEF3C7;
  --info:           #3B82F6;
  --info-light:     #DBEAFE;
  --info-dark:      #1D4ED8;
  --radius-md:      10px;
  --radius-sm:      8px;
  --radius:         12px;
  --radius-lg:      20px;
  --shadow-xs:      0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm:      0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --shadow-md:      0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
  --shadow-lg:      0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
  --shadow-hover:   0 25px 35px -5px rgba(61, 23, 55, 0.1), 0 15px 15px -5px rgba(61, 23, 55, 0.05);
  --transition:     all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --font:           system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --container:      1240px;
  --auth-panel-width: 480px;
}

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-body);
  background: var(--bg-main);
}
a { text-decoration: none; color: inherit; transition: var(--transition); }
img { max-width: 100%; display: block; }
ul { list-style: none; }
input, textarea, select, button { font-family: var(--font); }

/* ===== CONTAINER ===== */
.container { 
  max-width: var(--container); 
  width: calc(100% - 44px); 
  margin: 0 auto; 
  padding: 0; 
}

/* ===== NAVBAR ===== */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(61, 23, 55, 0.95);
  backdrop-filter: blur(10px);
  padding: 0;
  min-height: 84px;
  transition: var(--transition);
}
.navbar.scrolled { background: var(--primary-dark); box-shadow: var(--shadow-md); }
.navbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 84px;
}
.navbar-logo {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 1.5rem; font-weight: 700; color: var(--bg-white);
  text-decoration: none;
}
.navbar-logo-icon {
  width: 38px; height: 38px; background: var(--accent-yellow);
  border-radius: 8px; display: flex; align-items: center; justify-content: center;
  color: var(--primary-dark); font-weight: 800; font-size: 1.1rem;
}
/* Logo FRETEI. VAGAS */
.logo-fretei {
  font-weight: 800;
  color: var(--accent-yellow);
  letter-spacing: 1px;
  font-size: 1.4rem;
}
.logo-vagas {
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 1px;
  font-size: 1.4rem;
}
.navbar-menu { display: flex; align-items: center; gap: 2rem; }
.navbar-menu a {
  color: var(--text-light); font-weight: 500; font-size: 0.95rem;
  letter-spacing: 0.5px; transition: var(--transition);
}
.navbar-menu a:hover { color: var(--accent-yellow); }
.navbar-actions { display: flex; align-items: center; gap: 1rem; }
.navbar-actions .btn-outline {
  background: transparent;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.45);
  font-weight: 800;
}
.navbar-actions .btn-outline:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--primary-dark);
  box-shadow: var(--shadow-sm);
}
.navbar-actions .btn-primary {
  font-weight: 800;
}
.navbar-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.navbar-burger span { display: block; width: 24px; height: 2px; background: white; border-radius: 2px; }

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 1.5rem; border-radius: var(--radius);
  font-weight: 600; font-size: 0.95rem; cursor: pointer;
  transition: var(--transition); border: 2px solid transparent;
  white-space: nowrap; min-height: 44px; justify-content: center;
}
.btn:active { transform: scale(0.98); }
.btn-primary {
  background: var(--accent-yellow); color: var(--primary-dark);
  box-shadow: var(--shadow-sm);
}
.btn-primary:hover {
  background: var(--accent-amber); transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(255,189,53,.25);
}
.btn-warning {
  background: var(--accent-yellow);
  color: var(--primary-dark);
  border-color: var(--accent-yellow);
  box-shadow: var(--shadow-sm);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:visited {
  background: var(--accent-amber);
  color: var(--primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(255,189,53,.25);
}
.btn-outline {
  background: transparent; color: var(--text-dark);
  border-color: var(--border);
}
.btn-outline:hover {
  background: var(--surface); border-color: var(--primary-mid); color: var(--primary-mid);
  box-shadow: var(--shadow-sm);
}
.btn-dark {
  background: var(--primary-dark); color: var(--bg-white);
  box-shadow: var(--shadow-sm);
}
.btn-dark:hover {
  background: var(--primary-mid); transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}
.btn-dark,
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:visited,
.btn-purple,
.btn-purple:hover,
.btn-purple:focus,
.btn-purple:visited,
.btn[style*="var(--primary-dark)"],
.btn[style*="var(--primary-mid)"] {
  color: #fff;
}
.btn-sm { padding: 0.4rem 1rem; font-size: 0.85rem; min-height: 36px; border-radius: var(--radius-sm); }
.btn-lg { padding: 1rem 2.5rem; font-size: 1.1rem; border-radius: var(--radius-lg); }
.btn-block { width: 100%; }
.btn-danger { background: var(--error); color: white; border-color: var(--error); box-shadow: var(--shadow-sm); }
.btn-danger:hover { filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 8px 15px rgba(239,68,68,.25); }
.btn-success { background: var(--success); color: white; border-color: var(--success); box-shadow: var(--shadow-sm); }
.btn-success:hover { filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 8px 15px rgba(16,185,129,.25); }

/* ===== HERO ===== */
.hero {
  min-height: 100vh; padding-top: 80px;
  background:
    radial-gradient(circle at 8% 26%, rgba(255,255,255,.06) 0 0, rgba(255,255,255,.06) 150px, transparent 151px),
    radial-gradient(circle at 91% 7%, rgba(255,255,255,.055) 0 0, rgba(255,255,255,.055) 230px, transparent 231px),
    linear-gradient(135deg, var(--primary-light), var(--primary-dark));
  display: flex; align-items: center; position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; right: -120px; bottom: -120px;
  width: 440px; height: 440px; background: rgba(255,189,53,.08); border-radius: 50%;
}
.hero-content { position: relative; z-index: 1; max-width: 700px; }
.hero-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: rgba(255,187,51,0.15); border: 1px solid rgba(255,187,51,0.3);
  color: var(--accent-yellow); padding: 0.4rem 1rem; border-radius: 50px;
  font-size: 0.85rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.hero-tag::before { content: ''; width: 8px; height: 8px; background: var(--accent-yellow); border-radius: 50%; }
.hero h1 {
  font-size: 4.5rem; font-weight: 600; color: var(--bg-white);
  line-height: 1.1; margin-bottom: 1.5rem;
}
.hero h1 em { color: var(--accent-yellow); font-style: normal; }
.hero p {
  font-size: 1.2rem; color: var(--text-light); margin-bottom: 2.5rem;
  font-weight: 300; letter-spacing: 1px; max-width: 500px;
}
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero-stats {
  display: flex; gap: 3rem; margin-top: 4rem;
  padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.1);
}
.hero-stat { color: var(--bg-white); }
.hero-stat-num {
  font-size: 2.5rem; font-weight: 800; color: var(--accent-yellow);
  line-height: 1;
}
.hero-stat-label { font-size: 0.85rem; color: var(--text-light); margin-top: 0.25rem; letter-spacing: 1px; }
.hero-divider {
  width: 130px; height: 3px; background: var(--accent-yellow);
  margin-bottom: 1.5rem; border-radius: 2px;
}

/* ===== SECTION ===== */
.section { padding: 5rem 0; }
.section-header { text-align: center; margin-bottom: 3.5rem; }
.section-tag {
  display: inline-block; color: var(--accent-purple);
  font-size: 0.85rem; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; margin-bottom: 0.75rem;
}
.section-header h2 {
  font-size: 2.5rem; font-weight: 700; color: var(--text-dark); line-height: 1.2;
}
.section-header p { color: var(--text-body); max-width: 600px; margin: 1rem auto 0; }
.section-bg { background: var(--bg-white); }
.section-dark {
  background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark));
  color: white;
}
.section-dark .section-header h2 { color: white; }
.section-dark .section-header p { color: var(--text-light); }

/* ===== VAGAS CARD ===== */
.vagas-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 1.5rem;
}
.vaga-card {
  background: var(--bg-white); border-radius: var(--radius-lg);
  border: 1px solid var(--border); padding: 1.75rem;
  transition: var(--transition); position: relative; overflow: hidden;
}
.vaga-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%;
  background: var(--accent-yellow); border-radius: 4px 0 0 4px;
}
.vaga-card:hover {
  transform: translateY(-4px); box-shadow: var(--shadow-lg);
  border-color: var(--accent-yellow);
}
.vaga-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.vaga-card-company { display: flex; align-items: center; gap: 0.75rem; }
.company-logo {
  width: 48px; height: 48px; border-radius: var(--radius);
  background: var(--primary-mid); color: white;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.2rem; flex-shrink: 0;
}
.company-name { font-weight: 600; font-size: 0.9rem; color: var(--text-dark); }
.company-location { font-size: 0.8rem; color: var(--text-body); }
.vaga-badge {
  padding: 0.25rem 0.75rem; border-radius: 50px;
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.5px;
}
.badge-active   { background: rgba(40,167,69,0.1); color: #28a745; }
.badge-pending  { background: rgba(255,193,7,0.1); color: #856404; }
.badge-closed   { background: rgba(220,53,69,0.1); color: #dc3545; }
.badge-yellow   { background: rgba(255,187,51,0.15); color: var(--primary-dark); }
.badge-purple   { background: var(--primary-mid); color: #fff; }
.vaga-title {
  font-size: 1.15rem; font-weight: 700; color: var(--text-dark);
  margin-bottom: 0.75rem; line-height: 1.3;
}
.vaga-title a:hover { color: var(--primary-mid); }
.vaga-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.vaga-tag {
  background: rgba(85,32,78,0.08); color: var(--primary-mid);
  padding: 0.2rem 0.65rem; border-radius: 50px; font-size: 0.78rem; font-weight: 500;
}
.vaga-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 1rem; border-top: 1px solid var(--border); }
.vaga-salary { font-weight: 700; color: var(--primary-mid); }
.vaga-time { font-size: 0.8rem; color: var(--divider); }

/* ===== SEARCH BAR ===== */
.search-bar {
  background: white; border-radius: var(--radius-lg);
  padding: 0.75rem 1rem; display: flex; align-items: center; gap: 1rem;
  box-shadow: var(--shadow-lg); margin-top: 2.5rem;
}
.search-bar input, .search-bar select {
  border: none; outline: none; flex: 1; font-size: 1rem;
  color: var(--text-dark); background: transparent;
}
.search-bar .separator { width: 1px; height: 30px; background: var(--border); }

/* ===== FORMS ===== */
.form-group { margin-bottom: 0.65rem; }
.form-label { display: block; font-weight: 600; font-size: 0.85rem; color: var(--text-dark); margin-bottom: 0.2rem; }
.form-control {
  width: 100%; min-height: 48px; padding: 0.6rem 1rem; border-radius: var(--radius-sm);
  border: 1px solid var(--border); font-size: 0.95rem; color: var(--text-dark);
  background: var(--bg-white); transition: var(--transition);
  box-shadow: var(--shadow-xs);
}
.form-control:focus { outline: none; border-color: var(--primary-mid); box-shadow: 0 0 0 4px rgba(85,32,78,0.1); }
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
  -webkit-text-fill-color: var(--text-dark) !important;
  transition: background-color 5000s ease-in-out 0s;
}
.form-control.error { border-color: var(--error); }
.form-error { color: var(--error); font-size: 0.8rem; margin-top: 0.25rem; }
.form-hint { color: var(--text-body); font-size: 0.82rem; margin-top: 0.3rem; }
textarea.form-control { resize: vertical; min-height: 120px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }

/* ===== AUTH PAGES ===== */
.auth-page {
  min-height: 100vh; display: flex;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.06) 0 0, rgba(255,255,255,.06) 150px, transparent 151px),
    radial-gradient(circle at 90% 80%, rgba(255,255,255,.05) 0 0, rgba(255,255,255,.05) 250px, transparent 251px),
    linear-gradient(135deg, var(--primary-light), var(--primary-dark));
}
.auth-left {
  flex: 1; display: flex; flex-direction: column; justify-content: center;
  align-items: center; padding: 3rem; color: white; position: relative; overflow: hidden;
  z-index: 1;
}
.auth-left-bg {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
}
.auth-left-overlay {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(85,32,78,0.7), rgba(50,15,45,0.95));
  z-index: -1;
}
.auth-left-content {
  z-index: 2; position: relative; text-align: center; max-width: 450px;
}
.auth-left h2 { font-size: 2.8rem; font-weight: 800; margin-bottom: 1rem; line-height: 1.2; }
.auth-left p { color: rgba(255,255,255,0.8); text-align: center; line-height: 1.8; font-size: 1.1rem; }
.auth-floating-badge {
  background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2); border-radius: var(--radius-lg);
  padding: 1.2rem; display: flex; align-items: center; gap: 1rem; margin-top: 3rem;
  text-align: left; animation: float 6s ease-in-out infinite;
}
.auth-floating-badge-icon {
  width: 48px; height: 48px; background: var(--accent-yellow); color: var(--primary-dark);
  border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.3rem;
}
.auth-floating-badge-text strong { display: block; font-size: 1.1rem; margin-bottom: 0.2rem; }
.auth-floating-badge-text small { opacity: 0.8; font-size: 0.9rem; }
.auth-right {
  width: var(--auth-panel-width); max-width: 100%;
  background: white; display: flex; flex-direction: column;
  justify-content: center; padding: 1.5rem 2.5rem;
}
.auth-page-register .auth-left-content {
  max-width: 400px;
}
.auth-page-register .auth-left h2 {
  font-size: 2.35rem;
  margin-bottom: 0.75rem;
}
.auth-page-register .auth-left p {
  font-size: 1rem;
  line-height: 1.65;
}
.auth-right-register {
  width: var(--auth-panel-width);
  flex: 0 0 var(--auth-panel-width);
  max-width: 100%;
  justify-content: flex-start;
  padding: 1rem 2rem 1.1rem;
  overflow-x: hidden;
  overflow-y: auto;
  box-shadow: -18px 0 45px rgba(15,23,42,0.14);
}
.auth-register-header {
  margin-bottom: 0.75rem;
}
.auth-register-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary-mid);
}
.auth-right-register .auth-logo {
  margin-bottom: 0.35rem;
}
.auth-right-register .auth-title {
  font-size: 1.4rem;
  margin-bottom: 0.15rem;
}
.auth-right-register .auth-subtitle {
  margin-bottom: 0;
  line-height: 1.45;
}
.auth-right-register .role-selector {
  gap: 0.45rem;
  margin-bottom: 0.7rem;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #f7f8fb;
}
.auth-right-register .form-group {
  margin-bottom: 0.55rem;
}
.auth-right-register .form-row {
  gap: 0.65rem;
}
.auth-right-register .form-label {
  margin-bottom: 0.3rem;
}
.auth-right-register .form-control {
  min-height: 42px;
  padding: 0.68rem 0.82rem;
}
.auth-right-register .flash {
  margin-bottom: 0.7rem;
  align-items: flex-start;
  flex-wrap: wrap;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.auth-register-submit {
  min-height: 44px;
  padding: 0.68rem 1rem;
  font-size: 0.95rem;
  line-height: 1.2;
  max-width: 100%;
}
.auth-register-submit.driver-register-submit {
  background: var(--primary-mid);
  border-color: var(--primary-mid);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(85, 32, 78, 0.18);
}
.auth-register-submit.driver-register-submit:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(85, 32, 78, 0.24);
}
.auth-register-submit.driver-register-submit i,
.auth-register-submit.driver-register-submit * {
  color: #ffffff;
}
.driver-upload-progress {
  display: none !important;
  margin-top: 0.55rem;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.driver-upload-progress strong {
  color: var(--primary-dark);
}
.auth-right-register .auth-link-row {
  margin-top: 0.85rem;
}
.auth-form {
  width: 100%;
  max-width: 100%;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.auth-logo {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem;
}
.auth-logo-icon {
  width: 44px; height: 44px; background: var(--primary-mid);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  color: var(--accent-yellow); font-weight: 800; font-size: 1.2rem;
}
.auth-title { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.2rem; }
.auth-subtitle { color: var(--text-body); margin-bottom: 1rem; font-size: 0.9rem; }
.auth-divider { text-align: center; color: var(--divider); margin: 1.5rem 0; position: relative; }
.auth-divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: var(--border); z-index: 0; }
.auth-divider span { background: white; padding: 0 1rem; position: relative; z-index: 1; }
.auth-link { text-align: center; margin-top: 1rem; font-size: 0.85rem; color: var(--text-body); }
.auth-link a { color: var(--primary-mid); font-weight: 600; }
.auth-link-row {
  display: flex;
  justify-content: center;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

/* ===== ROLE SELECTOR ===== */
.role-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin-bottom: 1rem; }
.role-option { cursor: pointer; }
.role-option input { display: none; }
.role-btn {
  border: 2px solid var(--border); border-radius: var(--radius-lg);
  padding: 0.65rem; text-align: center; transition: var(--transition);
  font-weight: 600; color: var(--text-body);
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  min-height: 44px;
  line-height: 1.2;
}
.auth-right-register .role-btn {
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  padding: 0.5rem 0.7rem;
  background: transparent;
  color: var(--text-dark);
  font-size: 0.9rem;
}
.role-option input:checked + .role-btn {
  border-color: var(--primary-mid); background: var(--primary-mid);
  color: white;
}
.register-driver-docs {
  height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  min-height: 0;
}
.register-driver-upload-summary,
.register-driver-status-pill,
.auth-right-register .driver-onboarding-card,
.auth-right-register .driver-upload-card,
.auth-right-register .driver-upload-step,
.auth-right-register .driver-upload-summary,
.auth-right-register .driver-status-pill {
  display: none !important;
}
.driver-file-input {
  display: none !important;
}

/* Compact radio/check choices used in job posting */
.badge-veiculo,
.badge-viagem,
.badge-vinculo,
.badge-curso,
.badge-beneficio {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0.46rem 0.78rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text-dark);
  font-weight: 700;
  font-size: 0.84rem;
  line-height: 1.2;
  transition: var(--transition);
}
input:checked + .badge-veiculo,
input:checked + .badge-viagem,
input:checked + .badge-vinculo,
input:checked + .badge-curso,
input:checked + .badge-beneficio {
  border-color: var(--primary-mid);
  background: var(--primary-mid);
  color: #fff;
  box-shadow: 0 8px 18px rgba(85, 32, 78, 0.14);
}

/* ===== PLANOS ===== */
.planos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.plano-card {
  background: white; border-radius: var(--radius-lg); border: 2px solid var(--border);
  padding: 2.5rem 2rem; position: relative; transition: var(--transition);
}
.plano-card.featured {
  border-color: var(--accent-yellow); box-shadow: var(--shadow-lg);
  transform: scale(1.04);
}
.plano-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--accent-yellow); color: var(--primary-dark);
  padding: 0.25rem 1.25rem; border-radius: 50px; font-size: 0.75rem; font-weight: 700;
  white-space: nowrap;
}
.plano-name { font-size: 1.1rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.5rem; }
.plano-price { display: flex; align-items: baseline; gap: 0.25rem; margin: 1.25rem 0; }
.plano-currency { font-size: 1rem; font-weight: 600; color: var(--text-body); }
.plano-value { font-size: 3rem; font-weight: 800; color: var(--primary-dark); line-height: 1; }
.plano-period { font-size: 0.85rem; color: var(--text-body); }
.plano-features { list-style: none; margin: 1.5rem 0 2rem; }
.plano-features li { padding: 0.5rem 0; border-bottom: 1px solid var(--border); display: flex; gap: 0.75rem; align-items: flex-start; }
.plano-features li::before { content: '✓'; color: var(--success); font-weight: 700; flex-shrink: 0; }
/* ===== DASHBOARD ===== */
.dashboard {
  display: block;
  min-height: 100vh;
  padding-top: 0;
  background:
    linear-gradient(180deg, #eef2f7 0, #f7f8fb 260px),
    var(--bg-main);
}
.sidebar {
  width: 284px;
  background:
    linear-gradient(180deg, rgba(255,187,51,0.08), transparent 180px),
    #2c1028;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 100;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-shadow: 12px 0 36px rgba(27, 14, 25, 0.16);
}
.sidebar::-webkit-scrollbar { display: none !important; width: 0 !important; background: transparent !important; }
.sidebar-logo {
  min-height: 84px;
  padding: 1.45rem 1.25rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  line-height: 1;
  letter-spacing: 0;
  gap: 0.36rem;
  font-size: 1.92rem;
}
.sidebar-logo .logo-fretei,
.sidebar-logo .logo-vagas {
  font-size: inherit;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.sidebar-user {
  margin: 1rem;
  padding: 0.95rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 8px;
  background: rgba(255,255,255,0.045);
}
.sidebar-avatar {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--accent-yellow);
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1rem;
  flex-shrink: 0;
  box-shadow: 0 10px 22px rgba(255,187,51,0.16);
  overflow: hidden;
}
.sidebar-avatar.has-image {
  background: transparent;
  box-shadow: none;
}
.sidebar-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.sidebar-user-name { color: white; font-weight: 700; font-size: 0.92rem; line-height: 1.2; }
.sidebar-user-role { color: rgba(255,255,255,0.58); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 0.15rem; }
.sidebar-nav { padding: 0.25rem 0.85rem 1rem; flex: 1; }
.sidebar-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 42px;
  padding: 0.62rem 0.8rem;
  color: rgba(255,255,255,0.72);
  font-size: 0.88rem;
  font-weight: 650;
  border-radius: 8px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.sidebar-nav-item:hover {
  background: rgba(255,255,255,0.07);
  color: white;
  transform: translateX(2px);
}
.sidebar-nav-item.active {
  background: #ffffff;
  color: var(--primary-dark);
  box-shadow: 0 14px 26px rgba(0,0,0,0.16);
}
.sidebar-nav-item.active::before {
  content: '';
  position: absolute;
  left: -0.85rem;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: var(--accent-yellow);
}
.sidebar-nav-item .icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  font-size: 0.95rem;
  flex-shrink: 0;
}
.sidebar-nav-item.active .icon { background: rgba(255,187,51,0.18); color: var(--primary-dark); }
.sidebar-nav-section {
  padding: 1rem 0.8rem 0.45rem;
  color: rgba(255,255,255,0.38);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.sidebar-footer {
  padding: 1rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sidebar-footer a {
  color: rgba(255,255,255,0.62);
  font-size: 0.86rem;
  font-weight: 650;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.8rem;
  border-radius: 8px;
}
.sidebar-footer a:hover { background: rgba(239,68,68,0.12); color: #fecaca; }

.main-content {
  flex: 1;
  margin-left: 284px;
  padding: 1.5rem 2rem 2.5rem;
  background: transparent;
  min-height: 100vh;
}
.dash-topbar {
  min-height: 68px;
  margin-bottom: 1.6rem;
  padding: 0.95rem 1.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(203,213,225,0.8);
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(15,23,42,0.06);
  backdrop-filter: blur(14px);
}
.dash-eyebrow {
  color: var(--text-body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.dash-current {
  color: var(--text-dark);
  font-size: 1.05rem;
  font-weight: 800;
  margin-top: 0.1rem;
}
.dash-topbar-actions { display: flex; align-items: center; gap: 0.75rem; }
.dash-icon-link,
.dash-user-chip {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  background: white;
  color: var(--primary-dark);
  border-radius: 8px;
  box-shadow: var(--shadow-xs);
}
.dash-icon-link { width: 40px; }
.dash-user-chip { gap: 0.65rem; padding: 0.25rem 0.35rem 0.25rem 0.85rem; font-weight: 700; font-size: 0.86rem; }
.dash-user-chip strong {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--primary-dark);
  color: white;
}
.dash-icon-link:hover,
.dash-user-chip:hover { border-color: var(--primary-mid); box-shadow: var(--shadow-sm); transform: translateY(-1px); }

.page-header {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.page-title {
  font-size: 1.72rem;
  font-weight: 850;
  color: var(--text-dark);
  letter-spacing: 0;
  line-height: 1.15;
}
.page-subtitle { color: var(--text-body); margin-top: 0.35rem; font-size: 0.96rem; }

/* ===== STATS CARDS ===== */
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.stat-card {
  background: white;
  border-radius: 8px;
  padding: 1.15rem;
  display: flex;
  align-items: center;
  gap: 0.95rem;
  box-shadow: 0 12px 26px rgba(15,23,42,0.05);
  border: 1px solid rgba(203,213,225,0.9);
  border-top-color: var(--accent-yellow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
  overflow: hidden;
}
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(15,23,42,0.08); border-color: rgba(85,32,78,0.28); }
.stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(255,187,51,0.14);
  color: var(--accent-amber);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.stat-icon.purple { background: rgba(85,32,78,0.1); color: var(--primary-mid); }
.stat-icon.green { background: rgba(16,185,129,0.12); color: var(--success); }
.stat-icon.blue { background: rgba(59,130,246,0.12); color: var(--info); }
.stat-num { font-size: 1.85rem; font-weight: 850; color: var(--text-dark); line-height: 1; }
.stat-label { font-size: 0.78rem; color: var(--text-body); margin-top: 0.3rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }

/* ===== TABLE ===== */
.table-card {
  background: white;
  border-radius: 8px;
  border: 1px solid rgba(203,213,225,0.9);
  box-shadow: 0 14px 32px rgba(15,23,42,0.055);
  overflow: hidden;
}
.table-card-header {
  padding: 1rem 1.15rem;
  border-bottom: 1px solid rgba(203,213,225,0.8);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: linear-gradient(180deg, #ffffff, #fbfcfe);
}
.table-card-title { font-weight: 800; color: var(--text-dark); font-size: 0.98rem; }
.content-admin-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.testimonial-admin-list {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
}
.testimonial-admin-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: start;
  padding: 0.95rem;
  border: 1px solid rgba(203,213,225,0.95);
  border-radius: 8px;
  background: #fff;
  min-width: 0;
}
.testimonial-admin-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--primary-mid);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  overflow: hidden;
  flex-shrink: 0;
}
.testimonial-admin-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-admin-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.testimonial-admin-head strong {
  color: var(--text-dark);
  font-size: 0.95rem;
}
.testimonial-admin-card small {
  color: var(--text-body);
  margin: 0.1rem 0 0;
}
.testimonial-admin-card p {
  margin: 0.45rem 0 0;
  color: var(--text-body);
  line-height: 1.55;
  font-size: 0.9rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.testimonial-admin-meta {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 0.55rem;
  color: var(--accent-amber);
  font-size: 0.8rem;
  font-weight: 800;
}
.testimonial-admin-meta span:last-child {
  color: #64748b;
}
.testimonial-admin-actions {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}
@media (max-width: 920px) {
  .content-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .testimonial-admin-card { grid-template-columns: 44px minmax(0, 1fr); }
  .testimonial-admin-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
.dashboard-grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}
.dashboard-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.vagas-list-compact {
  display: flex;
  flex-direction: column;
}
.vaga-card-compact {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}
.vaga-card-compact:last-child {
  border-bottom: none;
}
.vaga-card-compact:hover {
  background: var(--bg-main);
}
.table-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; }
th {
  text-align: left;
  padding: 0.78rem 1rem;
  font-size: 0.72rem;
  font-weight: 850;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #f8fafc;
  border-bottom: 1px solid rgba(203,213,225,0.95);
  white-space: nowrap;
}
td {
  padding: 0.92rem 1rem;
  border-bottom: 1px solid rgba(226,232,240,0.95);
  font-size: 0.88rem;
  color: var(--text-dark);
  vertical-align: middle;
}
tr:last-child td { border-bottom: none; }
tr:hover td { background: #fbfdff; }
.table-actions {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  min-width: 0;
  max-width: 240px;
}

.form-control {
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  min-height: 42px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.form-control:focus {
  outline: none;
  border-color: var(--primary-mid);
  box-shadow: 0 0 0 3px rgba(85,32,78,0.10);
}
.form-label { font-size: 0.84rem; font-weight: 750; color: var(--text-dark); margin-bottom: 0.4rem; }
input[type="date"],
input[type="month"] {
  width: 100%;
  min-height: 46px;
  padding: 0.78rem 0.95rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: var(--text-dark);
  font: inherit;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15,23,42,0.03);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
input[type="date"]:focus,
input[type="month"]:focus {
  outline: none;
  border-color: var(--primary-mid);
  box-shadow: 0 0 0 3px rgba(85,32,78,0.10);
}
input[type="date"]:disabled,
input[type="date"][readonly],
input[type="month"]:disabled,
input[type="month"][readonly] {
  background: #f8fafc;
  color: #64748b;
}
.btn { border-radius: 8px; font-weight: 800; }
.btn-sm { border-radius: 8px; min-height: 34px; padding: 0.38rem 0.78rem; }
.table-actions .btn-sm {
  width: auto;
  min-width: 34px;
  padding-left: 0.65rem;
  padding-right: 0.65rem;
  white-space: nowrap;
  overflow: visible;
}
.minhas-vagas-table-actions {
  max-width: none !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  gap: 0.42rem !important;
}
.minhas-vagas-table-actions .btn-sm {
  min-width: 0 !important;
}
.minhas-vagas-table-actions .btn-icon {
  width: 38px;
  min-width: 38px;
  height: 34px;
  min-height: 34px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.table-actions .btn-icon,
.table-actions .btn-sm:has(> i:only-child),
.btn-icon {
  width: 38px;
  min-width: 38px;
  padding-left: 0;
  padding-right: 0;
}
.candidate-actions-wrap {
  display: flex;
  gap: 0.3rem;
  flex-wrap: wrap;
  max-width: 220px;
}
.table-actions .candidate-action-resume {
  width: auto;
  min-width: 92px;
  padding-left: 0.55rem;
  padding-right: 0.55rem;
  gap: 0.35rem;
}
.table-actions form,
.table-actions details {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.table-actions details {
  position: relative;
}
.table-actions details > summary.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.table-actions details > div {
  right: 0;
  left: auto;
  width: min(320px, calc(100vw - 32px));
}
.table-actions details .btn[type="submit"] {
  justify-content: center;
  min-width: 120px;
}
.table-actions .btn-danger:not(.btn-icon),
.table-actions .btn-success:not(.btn-icon),
.table-actions .btn-dark:not(.btn-icon) {
  min-width: 92px;
}
.admin-job-actions {
  min-width: 220px;
  max-width: none;
  justify-content: flex-start;
  flex-wrap: wrap;
  white-space: nowrap;
  gap: 0.55rem;
}
.admin-job-actions > *,
.admin-job-actions form,
.admin-job-actions details,
.admin-job-actions .btn,
.admin-user-actions > *,
.admin-user-actions form,
.admin-user-actions details,
.admin-user-actions .btn {
  flex: 0 0 auto;
}
.admin-job-actions .btn-icon {
  width: 42px;
  min-width: 42px;
  flex-basis: 42px;
  flex-shrink: 0;
  padding-left: 0;
  padding-right: 0;
}
.admin-job-actions .btn-sm:not(.btn-icon) {
  flex: 0 0 auto;
  min-width: 132px;
  padding-left: 0.85rem;
  padding-right: 0.85rem;
  justify-content: center;
  color: #fff;
}
.admin-actions-cell {
  width: 280px;
  min-width: 280px;
}
.admin-user-actions {
  min-width: 216px;
  max-width: none;
  justify-content: flex-end;
}
.admin-user-actions .btn-sm:not(.btn-icon):not(:has(> i:only-child)) {
  min-width: 128px;
}
.admin-user-actions details > div .btn[type="submit"] {
  width: 100%;
  min-width: 0;
}
.candidate-action-resume.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.vaga-badge {
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.badge-active { background: rgba(16,185,129,0.12); color: #047857; }
.badge-pending { background: rgba(245,158,11,0.14); color: #92400e; }
.badge-closed { background: rgba(239,68,68,0.12); color: #b91c1c; }
.badge-yellow { background: rgba(255,187,51,0.18); color: var(--primary-dark); }
.badge-info { background: rgba(59,130,246,0.12); color: #1d4ed8; }
.badge-warning { background: rgba(245,158,11,0.14); color: #92400e; }
.badge-primary { background: var(--primary-mid); color: #fff; }
.badge-purple,
.match-reason-chip,
.driver-option-chip-purple,
.work-history-duration {
  background: var(--primary-mid);
  color: #fff !important;
}
.badge-primary *,
.badge-purple *,
.match-reason-chip *,
.driver-option-chip-purple *,
.work-history-duration * {
  color: #fff !important;
}
.match-reason-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.2;
}
.driver-option-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #f4f7f6;
  color: var(--text-dark);
  font-size: 0.9rem;
  transition: all .2s;
}

/* ===== FLASH ===== */
.flash {
  padding: 0.95rem 1.1rem;
  border-radius: 8px;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
  box-shadow: var(--shadow-xs);
}
.flash-success { background: rgba(40,167,69,0.1); color: #155724; border: 1px solid rgba(40,167,69,0.2); }
.flash-error   { background: rgba(220,53,69,0.1); color: #721c24; border: 1px solid rgba(220,53,69,0.2); }
.flash-warning { background: rgba(255,193,7,0.1); color: #856404; border: 1px solid rgba(255,193,7,0.3); }
.flash-info    { background: rgba(23,162,184,0.1); color: #0c5460; border: 1px solid rgba(23,162,184,0.2); }

.dashboard .empty-state {
  background: white;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(15,23,42,0.045);
}

@media (max-width: 1180px) {
  .dashboard-grid-2 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .dash-topbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .dash-topbar-actions {
    width: 100%;
    justify-content: space-between;
  }
  .dash-user-chip { max-width: calc(100% - 52px); }
  .dash-user-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .page-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ===== WORKSPACE DASHBOARDS: CLIENTE + MOTORISTA ===== */
.workspace-hero {
  min-height: 150px;
  margin-bottom: 1.4rem;
  padding: 1.35rem;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(61,23,55,0.98), rgba(85,32,78,0.96)),
    #3D1737;
  color: #fff;
  box-shadow: 0 18px 36px rgba(61,23,55,0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.workspace-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-bottom: 0.55rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  background: rgba(255,187,51,0.16);
  color: var(--accent-yellow);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.workspace-hero h1 {
  color: #fff;
  font-size: 1.9rem;
  line-height: 1.12;
  margin: 0;
  font-weight: 900;
}
.workspace-hero p {
  max-width: 660px;
  margin: 0.45rem 0 0;
  color: rgba(255,255,255,0.72);
  font-size: 0.96rem;
}
.workspace-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
  flex-wrap: wrap;
}
.stats-grid-compact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  justify-content: start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.stats-grid-compact .stat-card {
  min-height: 104px;
  display: grid;
  align-content: center;
  gap: 0.35rem;
}
.stats-grid-compact .stat-value {
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--text-dark);
  line-height: 1;
}
.stats-grid-compact .stat-trend {
  color: var(--text-body);
  font-size: 0.82rem;
}
.report-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(188px, 220px));
  justify-content: start;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
  max-width: 1180px;
}
.report-kpi-card {
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.05rem;
  background: #fff;
  border: 1px solid rgba(203,213,225,0.9);
  border-top-color: var(--accent-yellow);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(15,23,42,0.05);
}
.report-kpi-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,187,51,0.14);
  color: var(--accent-yellow);
  font-size: 1rem;
}
.report-kpi-card .stat-label {
  margin-top: 0;
  font-size: 0.76rem;
}
.report-kpi-card .stat-value {
  font-size: 1.55rem;
  font-weight: 900;
  color: var(--text-dark);
  line-height: 1;
}
.report-kpi-card .stat-trend {
  margin-top: 0.25rem;
  color: var(--text-body);
  font-size: 0.78rem;
  line-height: 1.25;
}
.report-action-card {
  background: #fff;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(15,23,42,0.06);
  padding: 1.05rem;
  margin-bottom: 1rem;
  max-width: 980px;
}
.report-action-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.report-eyebrow {
  display: block;
  color: #7a3b00;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.report-action-head h2 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.05rem;
  line-height: 1.25;
}
.report-period {
  background: #fff8e1;
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 0.3rem 0.65rem;
  font-size: 0.76rem;
  font-weight: 900;
  white-space: nowrap;
}
.report-action-list {
  display: grid;
  gap: 0.65rem;
}
.report-action-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  border: 0;
  border-top: 1px solid var(--border);
  box-shadow: inset 0 3px 0 var(--accent-yellow);
  border-radius: 8px;
  padding: 0.8rem 0.9rem;
  background: #fbfcfe;
}
.report-action-item:first-child {
  border-top: 0;
}
.report-action-danger { border-left-color: var(--error); }
.report-action-warning { border-left-color: var(--warning); }
.report-action-info { border-left-color: var(--primary-mid); }
.report-action-item strong {
  display: block;
  color: var(--text-dark);
  font-size: 0.9rem;
  margin-bottom: 0.18rem;
}
.report-action-item p {
  margin: 0;
  color: var(--text-body);
  font-size: 0.84rem;
  line-height: 1.35;
}
.report-action-empty {
  border: 1px dashed var(--border);
  border-radius: 8px;
  color: var(--text-body);
  font-size: 0.9rem;
  padding: 0.85rem;
  background: #fbfcfe;
}
.report-pipeline {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
  padding: 0.75rem;
  gap: 0.65rem;
}
.report-pipeline .pipeline-item {
  min-height: 78px;
  padding: 0.85rem;
}
.report-panels-grid {
  gap: 1.15rem;
  margin-bottom: 1rem;
}
.report-panel {
  padding: 1.1rem;
  min-width: 0;
}
.report-panel h3 {
  margin: 0 0 0.8rem;
  font-size: 0.98rem;
}
.workspace-grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
  margin-bottom: 1.25rem;
}
.workspace-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.workspace-grid-main {
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.8fr);
}
.pipeline-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  padding: 1rem;
}
.pipeline-strip-7 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow-x: visible;
}
.pipeline-strip-7 .pipeline-item span {
  font-size: 1.35rem;
  line-height: 1.05;
}
.pipeline-strip-7 .pipeline-item small {
  margin-top: 0.4rem;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
}
.pipeline-item {
  min-height: 96px;
  padding: 1rem;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  background: #f8fafc;
}
.pipeline-item span {
  display: block;
  color: var(--text-dark);
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1;
}
.pipeline-item small {
  display: block;
  margin-top: 0.45rem;
  color: #64748b;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem;
}
.ops-command-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.ops-command-item {
  min-height: 112px;
  padding: 1rem;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  background: #fff;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  box-shadow: var(--shadow-xs);
}
.ops-command-item.attention {
  border-color: rgba(245,158,11,0.42);
  background: linear-gradient(180deg, rgba(255,251,235,0.95), #fff);
}
.ops-command-item.muted {
  background: #f8fafc;
}
.ops-command-item > span {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(85,32,78,0.08);
  color: var(--primary-mid);
}
.ops-command-item strong {
  display: block;
  color: var(--text-dark);
  line-height: 1.25;
}
.ops-command-item small {
  display: block;
  margin-top: 0.25rem;
  color: #64748b;
  font-weight: 600;
  line-height: 1.35;
}
.ops-command-item a {
  min-height: 34px;
  padding: 0.42rem 0.78rem;
  border-radius: 8px;
  background: var(--primary-dark);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}
.admin-priority-board {
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.admin-board-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.admin-board-header h2 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.35rem;
  line-height: 1.2;
}
.admin-board-header p {
  margin: 0.25rem 0 0;
  color: var(--text-body);
}
.admin-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
.admin-priority-card {
  min-height: 120px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 0.25rem 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(203,213,225,0.95);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--text-dark);
}
.admin-priority-card strong {
  grid-row: 1 / 3;
  align-self: start;
  min-width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  color: var(--primary-dark);
  font-size: 1.45rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(203,213,225,0.9);
}
.admin-priority-card span {
  display: block;
  font-weight: 900;
  line-height: 1.25;
}
.admin-priority-card small {
  display: block;
  color: #64748b;
  line-height: 1.35;
  font-weight: 650;
}
.admin-priority-card.danger {
  border-color: rgba(239,68,68,0.35);
  background: #fff7f7;
}
.admin-priority-card.danger strong {
  color: #b91c1c;
  background: #fee2e2;
}
.admin-priority-card.warning {
  border-color: rgba(245,158,11,0.42);
  background: #fffbeb;
}
.admin-priority-card.warning strong {
  color: #92400e;
  background: #fef3c7;
}
.admin-priority-card.ok strong {
  color: #047857;
  background: #d1fae5;
}
.admin-system-ribbon {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.admin-system-pill {
  min-height: 78px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(203,213,225,0.9);
  border-radius: 8px;
  background: #fff;
  color: var(--text-dark);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  align-items: center;
}
.admin-system-pill i {
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: #f1f5f9;
  color: var(--primary-mid);
}
.admin-system-pill span,
.admin-system-pill strong {
  grid-column: 2;
  display: block;
  min-width: 0;
}
.admin-system-pill span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-system-pill strong {
  margin-top: 0.15rem;
  color: var(--text-dark);
  font-size: 0.96rem;
  line-height: 1.25;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.admin-system-pill.good {
  border-color: rgba(16,185,129,0.34);
}
.admin-system-pill.good i {
  background: #d1fae5;
  color: #047857;
}
.admin-system-pill.warn {
  border-color: rgba(245,158,11,0.42);
}
.admin-system-pill.warn i {
  background: #fef3c7;
  color: #92400e;
}
.admin-system-pill.bad {
  border-color: rgba(239,68,68,0.35);
}
.admin-system-pill.bad i {
  background: #fee2e2;
  color: #b91c1c;
}
.quality-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  padding: 1rem;
}
.quality-grid div {
  min-height: 94px;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid rgba(226,232,240,0.95);
  background: #f8fafc;
}
.quality-grid strong {
  display: block;
  color: var(--text-dark);
  font-size: 1.35rem;
  line-height: 1.05;
  font-weight: 900;
}
.quality-grid span {
  display: block;
  margin-top: 0.4rem;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.credit-list,
.candidate-feed,
.job-card-list {
  display: grid;
}
.credit-list {
  padding: 0.85rem 1rem;
  gap: 0.65rem;
}
.credit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(226,232,240,0.95);
}
.credit-row:last-child {
  border-bottom: 0;
}
.credit-row span {
  color: var(--text-dark);
  font-weight: 750;
}
.credit-row strong {
  color: var(--primary-dark);
  white-space: nowrap;
}
.job-row-card {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid rgba(226,232,240,0.95);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  background: #fff;
}
.job-row-card:last-child {
  border-bottom: 0;
}
.job-row-card:hover {
  background: #fbfdff;
}
.job-row-title {
  color: var(--text-dark);
  font-weight: 900;
  line-height: 1.25;
}
.job-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 0.42rem;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 650;
}
.job-row-meta i {
  color: var(--primary-mid);
}
.job-row-side {
  display: grid;
  justify-items: end;
  gap: 0.55rem;
  color: var(--text-dark);
}
.candidate-feed {
  padding: 0.65rem;
  gap: 0.55rem;
}
.candidate-feed-item {
  position: relative;
  display: grid;
  gap: 0.22rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(226,232,240,0.95);
  border-radius: 8px;
  background: #fff;
}
.candidate-feed-item:hover {
  border-color: rgba(85,32,78,0.28);
  box-shadow: var(--shadow-sm);
}
.candidate-feed-item strong {
  color: var(--text-dark);
  font-size: 0.92rem;
}
.candidate-feed-item span,
.candidate-feed-item small {
  color: #64748b;
  font-size: 0.8rem;
}
.candidate-feed-item em {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  font-style: normal;
}
.ats-panel {
  margin-bottom: 1.25rem;
}
.ats-panel-body {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
}
.ats-score-summary {
  padding: 1rem;
  border: 1px solid rgba(226,232,240,0.95);
  border-radius: 8px;
  background: #f8fafc;
  display: grid;
  gap: 1rem;
}
.ats-score-circle {
  width: 150px;
  height: 150px;
  margin: 0 auto;
  border-radius: 50%;
  background: conic-gradient(var(--primary-mid) var(--score), var(--divider) 0);
  display: grid;
  place-items: center;
}
.ats-score-circle::before {
  content: "";
  position: absolute;
}
.ats-score-circle > strong,
.ats-score-circle > span {
  grid-area: 1 / 1;
}
.ats-score-circle > strong {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: white;
  display: grid;
  place-items: center;
  align-content: center;
  color: var(--primary-dark);
  font-size: 1.8rem;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(226,232,240,0.95);
}
.ats-score-circle > span {
  margin-top: 58px;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ats-score-breakdown {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.55rem;
}
.ats-score-breakdown div {
  padding: 0.65rem 0.45rem;
  border-radius: 8px;
  background: white;
  text-align: center;
  border: 1px solid rgba(226,232,240,0.95);
}
.ats-score-breakdown strong {
  display: block;
  color: var(--text-dark);
  font-size: 1.25rem;
  line-height: 1;
}
.ats-score-breakdown span {
  display: block;
  margin-top: 0.32rem;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ats-ranking-list {
  display: grid;
  gap: 0.65rem;
}
.ats-ranking-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem;
  border: 1px solid rgba(226,232,240,0.95);
  border-radius: 8px;
  background: white;
}
.ats-ranking-item:hover {
  border-color: rgba(85,32,78,0.28);
  box-shadow: var(--shadow-sm);
}
.ats-candidate-score {
  width: 54px;
  height: 54px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-weight: 900;
}
.ats-candidate-score.high {
  background: rgba(16,185,129,0.12);
  color: #047857;
}
.ats-candidate-score.mid {
  background: rgba(245,158,11,0.14);
  color: #92400e;
}
.ats-candidate-score.low {
  background: rgba(239,68,68,0.12);
  color: #b91c1c;
}
.ats-ranking-item strong {
  display: block;
  color: var(--text-dark);
  font-size: 0.92rem;
}
.ats-ranking-item span,
.ats-ranking-item small {
  display: block;
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.35;
}
.ats-match-label {
  padding: 0.32rem 0.62rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}
.ats-match-label.high {
  background: rgba(16,185,129,0.12);
  color: #047857;
}
.ats-match-label.good {
  background: rgba(20,184,166,0.12);
  color: #0f766e;
}
.ats-match-label.mid {
  background: rgba(245,158,11,0.14);
  color: #92400e;
}
.ats-match-label.low {
  background: rgba(239,68,68,0.12);
  color: #b91c1c;
}
.ats-match-label.blocked {
  background: rgba(239,68,68,0.14);
  color: #991b1b;
}
.ats-mini-score {
  display: inline-grid;
  gap: 0.1rem;
  min-width: 82px;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  text-align: center;
  border: 1px solid transparent;
}
.ats-mini-score strong {
  font-size: 1rem;
  line-height: 1;
}
.ats-mini-score span {
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ats-mini-score.high {
  background: rgba(16,185,129,0.12);
  color: #047857;
  border-color: rgba(16,185,129,0.22);
}
.ats-mini-score.good {
  background: rgba(20,184,166,0.12);
  color: #0f766e;
  border-color: rgba(20,184,166,0.22);
}
.ats-mini-score.mid {
  background: rgba(245,158,11,0.14);
  color: #92400e;
  border-color: rgba(245,158,11,0.24);
}
.ats-mini-score.low {
  background: rgba(239,68,68,0.12);
  color: #b91c1c;
  border-color: rgba(239,68,68,0.22);
}
.ats-mini-score.blocked {
  background: rgba(239,68,68,0.14);
  color: #991b1b;
  border-color: rgba(239,68,68,0.25);
}
.profile-panel {
  margin-bottom: 1.25rem;
  padding: 1.15rem;
}
.profile-panel-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.profile-panel-main p {
  margin: 0.35rem 0 0;
  color: var(--text-body);
  font-size: 0.9rem;
}
.profile-progress-ring {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: conic-gradient(var(--accent-yellow) var(--progress), var(--divider) 0);
  display: grid;
  place-items: center;
  flex: 0 0 74px;
}
.profile-progress-ring span {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--primary-dark);
  font-weight: 900;
  font-size: 0.92rem;
}
.profile-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.profile-check-grid div {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}
.profile-check-grid div.done {
  color: #047857;
}
.profile-check-grid i {
  margin-right: 0.4rem;
}
.service-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(255,187,51,0.16);
  color: #7a4200;
  font-size: 0.72rem;
  font-weight: 900;
}
.service-chip.urgent {
  background: rgba(239,68,68,0.12);
  color: #b91c1c;
}
.service-catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
  justify-content: start;
  gap: 1rem;
  max-width: 1180px;
}
.service-catalog-section {
  max-width: 1180px;
  margin-bottom: 1.6rem;
}
.service-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.service-section-head h2 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.12rem;
  line-height: 1.25;
}
.service-section-head p {
  margin: 0.25rem 0 0;
  color: var(--text-body);
  font-size: 0.9rem;
}
.service-section-eyebrow {
  display: inline-flex;
  margin-bottom: 0.25rem;
  color: #7a3b00;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.service-catalog-grid-packages {
  grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
}
.service-card-compact {
  min-height: 0;
  padding: 1.25rem;
}
.service-premium-note {
  max-width: 1180px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  background: #fff;
  border: 1px solid rgba(203,213,225,0.9);
  border-top-color: var(--primary-mid);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(15,23,42,0.05);
}
.service-premium-note h2 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.05rem;
}
.service-premium-note p {
  margin: 0.25rem 0 0;
  color: var(--text-body);
  font-size: 0.9rem;
  line-height: 1.4;
}
.empty-state-sm {
  padding: 2.2rem 1.2rem;
}

@media (max-width: 1180px) {
  .stats-grid-compact,
  .report-metrics-grid,
  .workspace-grid-2,
  .workspace-grid-main,
  .content-admin-grid,
  .ops-command-strip,
  .admin-priority-grid,
  .admin-system-ribbon,
  .pipeline-strip-7 {
    grid-template-columns: 1fr 1fr;
  }
  .quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .workspace-hero {
    align-items: flex-start;
    flex-direction: column;
  }
  .workspace-actions {
    justify-content: flex-start;
    width: 100%;
  }
  .stats-grid-compact,
  .report-metrics-grid,
  .workspace-grid-2,
  .workspace-grid-main,
  .pipeline-strip,
  .quality-grid,
  .ops-command-strip,
  .content-admin-grid,
  .admin-priority-grid,
  .admin-system-ribbon,
  .profile-check-grid {
    grid-template-columns: 1fr;
  }
  .report-action-item {
    grid-template-columns: 1fr;
  }
  .report-action-head {
    flex-direction: column;
  }
  .report-action-item .btn {
    width: 100%;
    justify-content: center;
  }
  .service-section-head,
  .service-premium-note {
    align-items: flex-start;
    flex-direction: column;
  }
  .service-catalog-grid,
  .service-catalog-grid-packages {
    grid-template-columns: 1fr;
  }
  .report-kpi-card {
    min-height: auto;
  }
  .admin-board-header {
    flex-direction: column;
  }
  .ops-command-item {
    grid-template-columns: 38px minmax(0, 1fr);
  }
  .ops-command-item a {
    grid-column: 1 / -1;
    text-align: center;
  }
  .job-row-card {
    grid-template-columns: 1fr;
  }
  .job-row-side {
    justify-items: start;
  }
  .candidate-feed-item em {
    position: static;
    width: fit-content;
    margin-top: 0.25rem;
  }
  .ats-panel-body,
  .ats-ranking-item {
    grid-template-columns: 1fr;
  }
  .ats-match-label {
    width: fit-content;
  }
}

/* ===== SUBSCRIPTION ALERT ===== */
.subscription-alert {
  background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark));
  color: white; border-radius: var(--radius-lg); padding: 2rem;
  text-align: center; margin: 2rem 0;
}
.subscription-alert h3 { font-size: 1.5rem; margin-bottom: 0.5rem; }
.subscription-alert p { color: var(--text-light); margin-bottom: 1.5rem; }

/* ===== EMPTY STATE ===== */
.empty-state { text-align: center; padding: 4rem 2rem; }
.empty-state-icon { font-size: 4rem; margin-bottom: 1rem; opacity: 0.3; }
.empty-state h3 { font-size: 1.25rem; color: var(--text-dark); margin-bottom: 0.5rem; }
.empty-state p { color: var(--text-body); }

/* ===== PAGE LAYOUT ===== */
.page-content { padding-top: 80px; min-height: 100vh; background: var(--bg-main); }
.page-header-gradient {
  background:
    radial-gradient(circle at 8% 26%, rgba(255,255,255,.06) 0 0, rgba(255,255,255,.06) 150px, transparent 151px),
    linear-gradient(135deg, var(--primary-light), var(--primary-dark));
  padding: 4rem 0 3rem 0;
  color: white;
}
.page-header-gradient h1,
.page-header-gradient h2,
.page-header-gradient h3,
.page-header-gradient .section-tag {
  color: white;
}
.page-header-gradient p {
  color: rgba(255, 255, 255, 0.85);
}
.plans-page {
  padding-top: 80px;
  background: var(--bg-main);
}
.plans-hero-compact {
  padding: 2.25rem 0 1.75rem;
}
.plans-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 1.25rem;
  align-items: stretch;
}
.plans-hero-copy h1 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  max-width: 900px;
  margin: 0.6rem 0 0.75rem;
}
.plans-hero-copy p {
  max-width: 760px;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}
.plans-inline-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.15rem;
}
.plans-inline-fact {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 34px;
  padding: 0.45rem 0.72rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 800;
}
.plans-inline-fact i {
  color: var(--accent-yellow);
}
.plans-hero-proof {
  display: grid;
  gap: 0.75rem;
}
.plans-proof-item,
.plans-flow-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1rem;
  box-shadow: var(--shadow-sm);
}
.plans-proof-item strong,
.plans-flow-card strong {
  display: block;
  color: var(--text-dark);
  font-size: 0.95rem;
  margin-bottom: 0.3rem;
}
.plans-proof-item p,
.plans-flow-card p {
  color: var(--text-body);
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 0;
}
.plans-cards-section {
  padding-top: 2.5rem;
}
.plans-decision-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  margin: 0 auto 1.5rem;
  max-width: 1180px;
}
.plans-decision-head h2 {
  max-width: 760px;
  margin: 0.35rem 0 0.4rem;
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
  line-height: 1.16;
}
.plans-decision-head p {
  max-width: 760px;
  color: var(--text-body);
  margin: 0;
  line-height: 1.55;
}
.plans-grid-early {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 1.25rem;
  max-width: 1180px;
  margin: 0 auto;
  align-items: stretch;
}
.plans-flow-section {
  padding-top: 1rem;
}
.plans-flow-header {
  margin-bottom: 1.25rem;
}
.plans-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.page-title-light { color: white; font-size: 2rem; margin-bottom: 0.5rem; }
.page-subtitle-light { color: rgba(255,255,255,0.65); }
.filters-container { padding-top: 2rem; padding-bottom: 3rem; }
.filter-group-search { flex: 2; }
.filter-group-actions { min-width: auto; }
.btn-clear-filter { color: var(--text-body); border-color: var(--border); }
.subscription-alert-vagas {
  padding: 1.25rem 1.75rem;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.subscription-alert-vagas small { opacity: 0.75; }
.vaga-excerpt {
  font-size: 0.9rem;
  color: var(--text-body);
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* ===== VAGA DETAIL ===== */
.vaga-detail-page { padding-bottom: 4rem; }
.back-link {
  color: var(--primary-mid);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.vaga-detail-layout { display: grid; grid-template-columns: 1fr 340px; gap: 2rem; align-items: start; }
.vaga-detail-company-info { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.company-logo-large { width: 60px; height: 60px; font-size: 1.5rem; }
.vaga-detail-company-name { color: rgba(255,255,255,0.65); font-size: 0.9rem; }
.vaga-detail-company-location { color: rgba(255,255,255,0.5); font-size: 0.8rem; }
.vaga-sidebar-sticky { position: sticky; top: 100px; }
.sidebar-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.sidebar-card-title { margin-bottom: 1rem; color: var(--text-dark); }
.sidebar-card-text { color: var(--text-body); font-size: 0.9rem; margin-bottom: 1.5rem; }
.share-card { padding: 1.5rem; box-shadow: var(--shadow-sm); margin-top: 1rem; }
.share-title { font-size: 0.85rem; color: var(--text-body); margin-bottom: 0.75rem; }
.share-buttons { display: flex; gap: 0.75rem; }
.btn-whatsapp { background: #25D366; color: white; border-color: #25D366; }
.btn-copy-link { background: var(--bg-main); color: var(--text-body); border-color: var(--border); }
.btn-primary-outline { color: var(--primary-mid); border-color: var(--primary-mid); }

/* ===== ABOUT PAGE ===== */
.about-hero { position: relative; overflow: hidden; }
.about-hero::before {
  content: '';
  position: absolute; right: -120px; bottom: -120px;
  width: 440px; height: 440px; background: rgba(255,189,53,.08); border-radius: 50%;
}
.about-hero-content { max-width: 800px; }
.about-hero-text {
  font-size: 1.2rem;
  color: var(--text-light);
  font-weight: 300;
  letter-spacing: 1px;
  max-width: 600px;
  margin-bottom: 2.5rem;
  line-height: 1.8;
}
.about-hero-stats { display: flex; gap: 3rem; margin-top: 3rem; flex-wrap: wrap; }
.about-stat { color: var(--bg-white); }
.about-stat-num {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--accent-yellow);
  line-height: 1;
}
.about-stat-label { font-size: 0.85rem; color: var(--text-light); margin-top: 0.25rem; letter-spacing: 1px; }
.about-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.about-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2.5rem 2rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
}
.about-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-mid);
}
.about-icon {
  width: 116px;
  height: 116px;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.about-icon-img {
  width: 104px;
  height: 104px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(48, 16, 52, .12));
}
.about-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 1rem; }
.about-card p { color: var(--text-body); line-height: 1.8; }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.feature-item {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
}
.feature-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--accent-yellow);
}
.feature-icon {
  width: 112px;
  height: 112px;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  overflow: visible;
}
.feature-icon-img {
  width: 98px;
  height: 98px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(48, 16, 52, .10));
}
.feature-item h4 { font-size: 1.1rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.75rem; }
.feature-item p { color: var(--text-body); font-size: 0.9rem; line-height: 1.7; }
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 360px));
  gap: 2rem;
  justify-content: center;
  justify-items: stretch;
}
.team-card {
  background: rgba(255,255,255,0.05);
  border-radius: var(--radius-lg);
  padding: 2rem;
  text-align: center;
  transition: var(--transition);
}
.team-card:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-4px);
}
.team-avatar {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--accent-yellow);
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0 auto 1rem;
  overflow: hidden;
}
.team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-card h4 { color: white; font-weight: 700; margin-bottom: 0.25rem; }
.team-role { color: var(--accent-yellow); font-size: 0.85rem; font-weight: 600; margin-bottom: 0.75rem; }
.team-card p { color: var(--text-light); font-size: 0.9rem; line-height: 1.7; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.testimonial-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
}
.testimonial-rating { color: var(--accent-yellow); font-size: 1.1rem; margin-bottom: 1rem; }
.testimonial-text {
  color: var(--text-body);
  font-style: italic;
  line-height: 1.8;
  margin-bottom: 1.25rem;
  font-size: 1rem;
}
.testimonial-author {
  color: var(--text-dark);
  font-size: 0.9rem;
  font-weight: 600;
}

/* ===== RESPONSIVE ABOUT ===== */
@media (max-width: 1024px) {
  .about-grid,
  .features-grid,
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .about-hero-stats { gap: 1.5rem; }
}
@media (max-width: 768px) {
  .about-grid,
  .features-grid,
  .team-grid,
  .testimonials-grid { grid-template-columns: 1fr; }
  .about-hero-stats { flex-direction: column; gap: 1.5rem; text-align: center; }
  .about-hero-text { font-size: 1rem; }
}
@media (max-width: 480px) {
  .testimonials-grid { gap: 1rem; }
}

/* ===== CONTACT PAGE ===== */
.contact-hero { position: relative; overflow: hidden; }
.contact-hero-content { max-width: 800px; }
.contact-hero-text {
  font-size: 1.2rem;
  color: var(--text-light);
  font-weight: 300;
  letter-spacing: 1px;
  max-width: 600px;
  line-height: 1.8;
}
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.contact-info h3 { color: var(--text-dark); font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; }
.contact-info > p { color: var(--text-body); margin-bottom: 2rem; line-height: 1.8; }
.contact-details { margin-bottom: 2.5rem; }
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.contact-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius);
  background: rgba(255,187,51,0.1);
  color: var(--accent-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.contact-item strong { display: block; color: var(--text-dark); font-size: 0.95rem; margin-bottom: 0.25rem; }
.contact-item p { color: var(--text-body); margin: 0; font-size: 0.95rem; line-height: 1.6; }
.contact-item p a { color: var(--primary-mid); font-weight: 600; }
.social-links h4 { color: var(--text-dark); font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
.social-icons { display: flex; gap: 1rem; }
.social-link {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary-mid);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: var(--transition);
}
.social-link:hover {
  background: var(--accent-yellow);
  color: var(--primary-dark);
  transform: translateY(-2px);
}

.faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.faq-item {
  background: white;
  border-radius: 10px;
  padding: 1.35rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
  min-width: 0;
  height: 100%;
}
.faq-item:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--primary-mid);
}
.faq-question {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--text-dark);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  line-height: 1.35;
}
.faq-question i { color: var(--primary-mid); font-size: 1.1rem; margin-top: 0.1rem; flex-shrink: 0; }
.faq-answer {
  color: var(--text-body);
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0.65rem 0 0;
  padding: 0.25rem 0 0 1.85rem;
  overflow-wrap: break-word;
}

/* ===== RESPONSIVE CONTACT ===== */
@media (max-width: 1024px) {
  .contact-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .faq-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .faq-grid { grid-template-columns: 1fr; }
  .contact-layout { gap: 2rem; }
}
@media (max-width: 480px) {
  .contact-icon { width: 40px; height: 40px; font-size: 1rem; }
  .social-link { width: 36px; height: 36px; font-size: 0.9rem; }
}

/* ===== HELP PAGE ===== */
.help-hero { position: relative; overflow: hidden; }
.help-hero-content { max-width: 800px; }
.help-hero-text {
  font-size: 1.2rem;
  color: var(--text-light);
  font-weight: 300;
  letter-spacing: 1px;
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: 2rem;
}
.help-search-bar {
  background: rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: white;
  margin-top: 1.5rem;
  max-width: 400px;
}
.help-search-bar i { color: rgba(255,255,255,0.6); }
.help-search-bar input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 1rem;
  color: white;
  background: transparent;
}
.help-search-bar input::placeholder { color: rgba(255,255,255,0.5); }
.help-categories-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.help-category-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.help-category-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-mid);
}
.help-category-icon {
  width: clamp(4.5rem, 7vw, 6rem);
  height: clamp(4.5rem, 7vw, 6rem);
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  flex-shrink: 0;
}
.help-category-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.help-category-card h4 { color: var(--text-dark); font-weight: 700; margin-bottom: 0.5rem; }
.help-category-card p { color: var(--text-body); font-size: 0.9rem; margin-bottom: 1rem; line-height: 1.6; }
.help-category-card i { color: var(--primary-mid); font-size: 0.9rem; }

/* ===== ACCORDION ===== */
.accordion-group { margin-top: 1rem; }
.accordion-item { border-bottom: 1px solid var(--border); }
.accordion-item:last-child { border-bottom: none; }
.accordion-header {
  width: 100%;
  padding: 1.25rem 0;
  background: none;
  border: none;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 1rem;
  color: var(--text-dark);
  font-weight: 600;
  transition: var(--transition);
}
.accordion-header:hover { color: var(--primary-mid); }
.accordion-header i { transition: var(--transition); }
.accordion-header.ativo i { transform: rotate(180deg); }
.accordion-content {
  padding: 0 0 1.25rem 0;
  display: none;
  overflow: hidden;
}
.accordion-content p { color: var(--text-body); line-height: 1.8; margin: 0; }
.accordion-content.ativo { display: block; animation: slideDown 0.3s ease; }

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .accordion-content.ativo {
    animation: none;
  }
}

/* ===== RESPONSIVE HELP ===== */
@media (max-width: 1024px) {
  .help-categories-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .help-categories-grid { grid-template-columns: 1fr; }
  .help-hero-text { font-size: 1rem; }
}
@media (max-width: 480px) {
  .help-category-icon {
    width: 4rem;
    height: 4rem;
  }
  .accordion-header { padding: 1rem 0; font-size: 0.95rem; }
  .accordion-content { padding-bottom: 1rem; }
}

/* ===== 404 PAGE ===== */
.error-hero {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--primary-mid) 0%, var(--primary-dark) 100%);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.error-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 800"><circle cx="100" cy="200" r="150" fill="%23ffffff05"/><circle cx="1300" cy="100" r="200" fill="%23ffffff05"/><circle cx="700" cy="600" r="250" fill="%23ffffff03"/></svg>') no-repeat center;
  background-size: cover;
}
.error-content { text-align: center; color: white; position: relative; z-index: 1; }
.error-code {
  font-size: 12rem;
  font-weight: 800;
  color: rgba(255,255,255,0.1);
  line-height: 1;
  margin-bottom: 1rem;
}
.error-icon {
  font-size: 4rem;
  margin-bottom: 1.5rem;
  animation: float 3s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.error-content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 1rem;
}
.error-text {
  font-size: 1.2rem;
  color: var(--text-light);
  max-width: 500px;
  margin: 0 auto 2.5rem;
  line-height: 1.8;
}
.error-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.error-suggestions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.error-suggestion-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
}
.error-suggestion-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-mid);
}
.error-suggestion-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.error-suggestion-card h4 { color: var(--text-dark); font-weight: 700; margin-bottom: 0.5rem; }
.error-suggestion-card p { color: var(--text-body); font-size: 0.9rem; }

/* ===== RESPONSIVE 404 ===== */
@media (max-width: 1024px) {
  .error-code { font-size: 8rem; }
  .error-icon { font-size: 3rem; }
  .error-suggestions { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .error-code { font-size: 6rem; }
  .error-icon { font-size: 2.5rem; }
  .error-suggestions { grid-template-columns: 1fr; }
  .error-content h1 { font-size: 1.75rem; }
  .error-text { font-size: 1rem; }
}
@media (max-width: 480px) {
  .error-code { font-size: 4rem; }
  .error-actions { flex-direction: column; }
  .error-actions .btn { width: 100%; justify-content: center; }
}

/* ===== NEWSLETTER ===== */
.newsletter-section { background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark)); }
.newsletter-card {
  background: rgba(255,255,255,0.05);
  border-radius: var(--radius-lg);
  padding: 3rem;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.1);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.newsletter-content { color: white; }
.newsletter-content .section-tag { color: var(--accent-yellow); }
.newsletter-content h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: white;
  margin: 0.5rem 0 1rem;
  line-height: 1.3;
}
.newsletter-content p {
  color: rgba(255,255,255,0.7);
  line-height: 1.8;
  margin: 0;
}

.newsletter-input-group {
  display: flex;
  gap: 0.75rem;
}
.newsletter-input {
  flex: 1;
  padding: 0.85rem 1.25rem;
  border-radius: var(--radius);
  border: 2px solid var(--border);
  font-size: 1rem;
  color: var(--text-dark);
  background: white;
}
.newsletter-input:focus { outline: none; border-color: var(--accent-yellow); box-shadow: 0 0 0 3px rgba(255,187,51,0.15); }
.newsletter-disclaimer {
  color: rgba(255,255,255,0.5);
  font-size: 0.85rem;
  margin: 1rem 0 0;
  line-height: 1.6;
}

/* ===== RESPONSIVE NEWSLETTER ===== */
@media (max-width: 1024px) {
  .newsletter-card { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
  .newsletter-content { order: 1; }
  .newsletter-form { order: 2; }
  .newsletter-input-group { justify-content: center; max-width: 400px; margin: 0 auto; }
}
@media (max-width: 768px) {
  .newsletter-card { padding: 2rem 1.5rem; }
  .newsletter-content h3 { font-size: 1.4rem; }
  .newsletter-input-group { flex-direction: column; }
  .newsletter-input { width: 100%; }
}
@media (max-width: 480px) {
  .newsletter-content h3 { font-size: 1.2rem; }
  .newsletter-card { padding: 1.5rem; }
}

/* ===== TIPS/BLOG ===== */
.tips-hero { position: relative; overflow: hidden; }
.tips-hero-content { max-width: 800px; }
.tips-hero-text {
  font-size: 1.2rem;
  color: var(--text-light);
  font-weight: 300;
  letter-spacing: 1px;
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: 2rem;
}
.tips-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.tip-card {
  background: white;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.tip-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-mid);
}
.tip-image { position: relative; height: 200px; background: var(--bg-main); }
.tip-image img { width: 100%; height: 100%; object-fit: cover; }
.tip-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
}
.tip-content { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; min-width: 0; }
.tip-meta { display: flex; gap: 0.65rem; margin-bottom: 0.75rem; align-items: center; flex-wrap: wrap; }
.tip-category {
  background: rgba(85,32,78,0.1);
  color: var(--primary-mid);
  padding: 0.25rem 0.65rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.tip-date { color: var(--text-body); font-size: 0.8rem; }
.tip-title { color: var(--text-dark); font-size: 1.1rem; font-weight: 700; margin-bottom: 0.5rem; line-height: 1.3; overflow-wrap: anywhere; }
.tip-excerpt { color: var(--text-body); font-size: 0.9rem; line-height: 1.7; margin-bottom: 1rem; }
.tip-read-more { color: var(--primary-mid); font-size: 0.9rem; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; margin-top: auto; }
.tip-read-more i { font-size: 0.8rem; }

/* ===== SINGLE TIP ===== */
.single-tip-header {
  background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark));
  padding: 3rem 0;
  margin-bottom: 2rem;
}
.single-tip-breadcrumb {
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}
.single-tip-breadcrumb a { color: white; font-weight: 600; }
.single-tip-breadcrumb a:hover { text-decoration: underline; }
.single-tip-breadcrumb span { color: var(--accent-yellow); }
.single-tip-info { color: white; max-width: 800px; margin: 0 auto; }
.single-tip-category {
  display: inline-block;
  background: rgba(255,187,51,0.15);
  color: var(--accent-yellow);
  padding: 0.35rem 0.85rem;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.single-tip-title { font-size: 2rem; font-weight: 700; color: white; margin-bottom: 1rem; line-height: 1.2; }
.single-tip-meta { display: flex; gap: 2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.single-tip-meta > div { display: flex; align-items: center; gap: 0.5rem; color: rgba(255,255,255,0.7); font-size: 0.9rem; }
.single-tip-meta i { color: var(--accent-yellow); }
.single-tip-image {
  max-width: 1040px;
  background-color: var(--bg-main);
  margin: 0 auto 2.75rem;
  display: block;
  border-radius: 10px;
  width: calc(100% - 2rem);
}
.single-tip-image img {
  width: 100%;
  aspect-ratio: 16 / 7;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(15,23,42,0.12);
}
.single-tip-image figcaption {
  color: var(--text-muted);
  font-size: 0.88rem;
  line-height: 1.5;
  margin-top: 0.75rem;
  text-align: center;
}
.single-tip-content {
  max-width: 800px;
  margin: 0 auto 2.5rem;
  line-height: 1.9;
  color: var(--text-body);
  font-size: 1.05rem;
}
.single-tip-content p,
.single-tip-content ul,
.single-tip-content ol,
.single-tip-content blockquote,
.single-tip-content figure {
  margin-bottom: 1.25rem;
}
.single-tip-content ul,
.single-tip-content ol {
  padding-left: 1.35rem;
}
.single-tip-content li {
  margin-bottom: 0.35rem;
}
.single-tip-content blockquote {
  border: 1px solid rgba(255,187,51,0.45);
  padding: 0.75rem 1rem;
  background: #fff8e6;
  border-radius: 8px;
  color: var(--text-dark);
  font-weight: 650;
}
.single-tip-content a {
  color: var(--primary-mid);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.single-tip-content figure {
  display: flow-root;
}
.single-tip-content figcaption {
  margin-top: 0.45rem;
  color: var(--text-muted);
  font-size: 0.86rem;
  text-align: center;
}
.single-tip-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(15,23,42,0.12);
}
.single-tip-content .article-img-full,
.single-tip-content .article-img-center {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.single-tip-content .article-img-left {
  float: left;
  width: min(320px, 48%);
  margin: 0.35rem 1.25rem 0.75rem 0;
}
.single-tip-content .article-img-right {
  float: right;
  width: min(320px, 48%);
  margin: 0.35rem 0 0.75rem 1.25rem;
}
.single-tip-content h1,
.single-tip-content h2,
.single-tip-content h3,
.single-tip-content h4,
.single-tip-content h5,
.single-tip-content h6 {
  color: var(--text-dark);
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.single-tip-tags { margin-bottom: 2rem; }
.single-tip-tags-label { color: var(--text-body); margin-right: 0.75rem; font-weight: 600; }
.single-tip-tags .tip-tag { background: rgba(85,32,78,0.08); color: var(--primary-mid); }
.single-tip-share { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.single-tip-share > span { color: var(--text-body); font-weight: 600; }
.share-buttons { display: flex; gap: 0.75rem; }
.share-btn {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  cursor: pointer;
  font-family: var(--font);
  transition: var(--transition);
}
.share-facebook { background: #3b5998; color: white; }
.share-facebook:hover { background: #2d4373; transform: translateY(-2px); }
.share-twitter { background: #1da1f2; color: white; }
.share-twitter:hover { background: #1991db; transform: translateY(-2px); }
.share-whatsapp { background: #25D366; color: white; }
.share-whatsapp:hover { background: #1dc859; transform: translateY(-2px); }
.share-copy { background: var(--bg-main); color: var(--text-body); border: 1px solid var(--border); }
.share-copy:hover { background: var(--primary-mid); color: white; border-color: var(--primary-mid); }
.single-tip-author-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--bg-main);
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  max-width: 400px;
  margin-bottom: 3rem;
}
.author-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--accent-yellow);
  color: var(--primary-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
}
.author-info h5 { color: var(--text-dark); font-weight: 700; margin-bottom: 0.25rem; }
.author-info p { color: var(--text-body); font-size: 0.9rem; margin: 0; }

/* ===== RESPONSIVE TIPS ===== */
@media (max-width: 1024px) {
  .tips-grid { grid-template-columns: repeat(2, 1fr); }
  .single-tip-title { font-size: 1.75rem; }
}
@media (max-width: 768px) {
  .tips-grid { grid-template-columns: 1fr; }
  .single-tip-title { font-size: 1.5rem; }
  .single-tip-meta { gap: 1rem; }
  .single-tip-meta > div { font-size: 0.85rem; }
  .single-tip-content { font-size: 1rem; line-height: 1.8; }
  .single-tip-author-box { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
  .tips-hero-text { font-size: 1rem; }
  .single-tip-title { font-size: 1.3rem; }
  .single-tip-image { width: calc(100% - 1rem); margin-bottom: 2rem; }
  .single-tip-image img { aspect-ratio: 4 / 3; }
  .single-tip-content .article-img-left,
  .single-tip-content .article-img-right {
    float: none;
    width: 100%;
    margin: 0 0 1rem;
  }
  .author-avatar { width: 40px; height: 40px; font-size: 0.9rem; }
  .share-btn { width: 36px; height: 36px; font-size: 0.9rem; }
}

/* ===== PAGINATION ===== */
.pagination { display: flex; justify-content: center; gap: 0.5rem; margin-top: 2.5rem; }
.page-link {
  width: 40px; height: 40px; border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: 0.9rem; border: 2px solid var(--border);
  color: var(--text-body); transition: var(--transition);
}
.page-link:hover, .page-link.active {
  background: var(--primary-mid); color: white; border-color: var(--primary-mid);
}

/* ===== HOMEPAGE CONTENT POLISH ===== */
.h1-tc-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.h1-tc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.h1-faq-a {
  padding-top: 1.15rem;
}
.h1-faq-a p {
  margin: 0;
  line-height: 1.75;
}
.h1-faq-item.active .h1-faq-q {
  margin-bottom: 0.55rem;
}
.h1-blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===== FOOTER ===== */
.site-footer {
  background: var(--primary-dark); color: var(--text-light);
  padding: 4rem 0 2rem;
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.footer-brand p { color: rgba(255,255,255,0.5); line-height: 1.8; margin-top: 1rem; font-size: 0.9rem; }
.footer-col h4 { color: white; font-weight: 700; margin-bottom: 1rem; }
.footer-col ul li { margin-bottom: 0.5rem; }
.footer-col ul li a { color: rgba(255,255,255,0.5); font-size: 0.9rem; transition: var(--transition); }
.footer-col ul li a:hover { color: var(--accent-yellow); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08); padding-top: 2rem;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.85rem; color: rgba(255,255,255,0.3);
}
.footer-bottom a { color: var(--accent-yellow); }

/* ===== CATEGORIES ===== */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(176px, 204px));
  justify-content: center;
  gap: 1rem;
}
.category-card {
  background: white; border-radius: var(--radius-lg); padding: 1.5rem 1rem;
  text-align: center; transition: var(--transition); border: 2px solid var(--border);
  cursor: pointer;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.category-card:hover {
  border-color: var(--primary-mid); transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.category-icon {
  width: 100px;
  height: 100px;
  margin: 0 auto 0.85rem;
  display: grid;
  place-items: center;
}
.category-icon-img {
  width: 100px;
  height: 100px;
  max-width: 100%;
  display: block;
  object-fit: contain;
}
.category-name { font-weight: 600; font-size: 0.85rem; color: var(--text-dark); }
.category-count { font-size: 0.75rem; color: var(--text-body); margin-top: 0.25rem; }

/* ===== HOW IT WORKS ===== */
.how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.how-step { text-align: center; padding: 2rem 1.5rem; }
.step-num {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--accent-yellow); color: var(--primary-dark);
  font-size: 1.5rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem;
}
.how-step h3 { font-size: 1.1rem; font-weight: 700; color: white; margin-bottom: 0.75rem; }
.how-step p { color: rgba(255,255,255,0.65); font-size: 0.9rem; line-height: 1.7; }

/* ===== FILTERS ===== */
.filters-bar {
  background: white; border-radius: var(--radius-lg); padding: 1.5rem;
  box-shadow: var(--shadow-sm); margin-bottom: 2rem;
  display: flex; gap: 1rem; flex-wrap: wrap; align-items: flex-end;
}
.filter-group { flex: 1; min-width: 150px; }
.filter-label { font-size: 0.8rem; font-weight: 600; color: var(--text-body); margin-bottom: 0.35rem; display: block; }

/* ===== MODAL ===== */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.5);
  display: flex; align-items: center; justify-content: center;
  z-index: 2000; opacity: 0; pointer-events: none; transition: var(--transition);
}
.modal-overlay.open { opacity: 1; pointer-events: all; }
.modal {
  background: white; border-radius: var(--radius-lg); padding: 2rem;
  width: 90%; max-width: 540px; max-height: 90vh; overflow-y: auto;
  transform: scale(0.9); transition: var(--transition);
}
.modal-overlay.open .modal { transform: scale(1); }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.modal-title { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); }
.modal-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--text-body); }

/* ===== CANDIDATURA DETAIL ===== */
.vaga-detail { max-width: 820px; margin: 0 auto; }
.vaga-detail-header {
  background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark));
  border-radius: var(--radius-lg); padding: 2.5rem; color: white; margin-bottom: 2rem;
}
.vaga-detail-title { font-size: 2rem; font-weight: 700; margin-bottom: 0.5rem; }
.vaga-detail-company { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.vaga-detail-meta { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.vaga-meta-item {
  display: flex; align-items: center; gap: 0.5rem;
  background: rgba(255,255,255,0.1); padding: 0.4rem 0.85rem; border-radius: 50px;
  font-size: 0.85rem; color: var(--text-light);
}
.vaga-detail-body { background: white; border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-sm); }
.vaga-detail-body h3 { font-size: 1.1rem; font-weight: 700; color: var(--text-dark); margin: 1.5rem 0 0.75rem; }
.vaga-detail-body h3:first-child { margin-top: 0; }
.vaga-detail-body p { line-height: 1.8; color: var(--text-body); }
.vaga-detail-body ul { padding-left: 1.5rem; list-style: disc; }
.vaga-detail-body ul li { margin-bottom: 0.4rem; color: var(--text-body); }

/* ===== RESPONSIVO — TABLET ===== */
@media (max-width: 1024px) {
  .hero h1 { font-size: 3rem; }
  .planos-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
  .plano-card.featured { transform: scale(1); }
  .plans-hero-layout { grid-template-columns: 1fr; }
  .plans-decision-head { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .form-row-3 { grid-template-columns: 1fr 1fr; }
  /* Detalhe da vaga: coluna única no tablet */
  .vaga-detail-layout { grid-template-columns: 1fr !important; }
  .vaga-sidebar-sticky { position: static !important; }
}

/* ===== RESPONSIVO — MOBILE ===== */
@media (max-width: 768px) {
  /* Navbar */
  .navbar-menu {
    display: none; flex-direction: column; gap: 0;
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: var(--primary-dark); z-index: 999; padding: 5rem 2rem 2rem;
    overflow-y: auto;
  }
  .navbar-menu.aberto { display: flex; }
  .navbar-menu a { color: white; font-size: 1.2rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .navbar-menu a:last-child { border-bottom: none; }
  .navbar-burger { display: flex; z-index: 1001; position: relative; }
  .navbar-burger.ativo span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
  .navbar-burger.ativo span:nth-child(2) { opacity: 0; }
  .navbar-burger.ativo span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }
  .navbar-burger span { transition: var(--transition); transform-origin: center; }
  .navbar-actions .btn-outline { display: none; }

  html.public-nav-open,
  body.public-nav-open {
    height: 100%;
    overflow: hidden !important;
  }

  body.public-nav-open .navbar-menu.aberto {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw;
    min-height: 100dvh;
    padding: 5.25rem 1.5rem 2rem !important;
    background: var(--primary-dark);
    z-index: 1000;
    overflow-y: auto;
    align-items: stretch;
  }

  body.public-nav-open .navbar-menu.aberto li,
  body.public-nav-open .navbar-menu.aberto a {
    width: 100%;
  }

  body.public-nav-open .navbar-menu.aberto a {
    display: block;
    color: #fff !important;
    text-align: left;
    white-space: normal;
  }

  /* Auth */
  .auth-left { display: none; }
  .auth-right { width: 100%; padding: 2rem 1.5rem; min-height: 100vh; justify-content: flex-start; padding-top: 3rem; }
  .auth-right-register {
    width: 100%;
    flex-basis: auto;
    padding: 1.2rem 1.2rem 1.35rem;
    box-shadow: none;
  }
  .auth-form {
    max-width: none;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .auth-right-register .role-selector {
    grid-template-columns: 1fr 1fr;
  }
  .plans-page { padding-top: 72px; }
  .plans-hero-compact { padding: 2rem 0 1.5rem; }
  .plans-hero-copy h1 { font-size: 1.95rem; }
  .plans-cards-section { padding-top: 1.6rem; }
  /* Hero */
  .hero { min-height: auto; padding: 120px 0 4rem; }
  .hero h1 { font-size: 2rem; }
  .hero p { font-size: 1rem; }
  .hero-stats { gap: 1.25rem; flex-wrap: wrap; }
  .hero-stat-num { font-size: 1.5rem; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  /* Search */
  .search-bar { flex-direction: column; align-items: stretch; gap: 0.75rem; padding: 1.25rem; }
  .search-bar .separator { display: none; }
  .search-bar input, .search-bar select { width: 100%; }

  /* Grid de vagas */
  .vagas-grid { grid-template-columns: 1fr; }

  /* Como funciona */
  .how-steps { grid-template-columns: 1fr; gap: 1rem; }

  /* Categorias */
  .categories-grid { grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
  .category-card { padding: 1rem 0.5rem; }
  .category-icon { width: 58px; height: 58px; }
  .category-icon-img { width: 76px; height: 76px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; gap: 0.75rem; text-align: center; }

  /* Sidebar do dashboard — overlay no mobile */
  .sidebar {
    transform: translateX(-100%); transition: transform 0.3s ease;
    z-index: 1050; box-shadow: var(--shadow-lg);
  }
  .sidebar.aberto { transform: translateX(0); }
  .sidebar-overlay {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5);
    z-index: 1040;
  }
  .sidebar-overlay.ativo { display: block; }
  .main-content { margin-left: 0; padding: 1rem; padding-bottom: 80px; }

  /* Barra de navegação inferior para mobile (dashboard) */
  .mobile-nav-bar {
    display: flex; position: fixed; bottom: 0; left: 0; right: 0;
    background: var(--primary-dark); z-index: 900; padding: 0.5rem 0;
    border-top: 1px solid rgba(255,255,255,.1); justify-content: space-around;
  }
  .mobile-nav-bar a {
    display: flex; flex-direction: column; align-items: center; gap: 0.2rem;
    color: rgba(255,255,255,.5); font-size: 0.7rem; padding: 0.4rem 0.75rem;
    transition: var(--transition);
  }
  .mobile-nav-bar a i { font-size: 1.1rem; }
  .mobile-nav-bar a.ativo, .mobile-nav-bar a:hover { color: var(--accent-yellow); }

  /* Botão de menu no dashboard */
  .btn-menu-sidebar {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--primary-dark); color: white; border: none;
    padding: 0.6rem 1rem; border-radius: var(--radius); cursor: pointer;
    margin-bottom: 1.25rem; font-size: 0.9rem; font-weight: 600;
  }

  /* Stats grid mobile */
  .stats-grid { grid-template-columns: 1fr 1fr; }

  /* Formulários */
  .form-row { grid-template-columns: 1fr; }
  .form-row-3 { grid-template-columns: 1fr; }

  /* Tabela responsiva com scroll horizontal */
  .table-wrapper { -webkit-overflow-scrolling: touch; }
  .table-wrapper::after {
    content: '← deslize para ver mais →';
    display: block; text-align: center;
    font-size: 0.75rem; color: var(--divider); padding: 0.5rem;
  }
  td, th { white-space: nowrap; }

  /* Filtros mobile */
  .filters-bar { flex-direction: column; }
  .filter-group { min-width: 100%; }

  /* Vaga detalhe mobile */
  .vaga-detail-layout { display: block !important; }
  .vaga-sidebar-sticky { position: static !important; margin-top: 1.5rem; }
  .vaga-detail-title { font-size: 1.5rem !important; }
  .vaga-detail-meta { gap: 0.5rem; }
  .vaga-meta-item { font-size: 0.78rem; }

  /* Planos mobile */
  .plans-page {
    padding-top: 70px;
  }
  .plans-hero-compact {
    padding: 1.75rem 0 1.25rem;
  }
  .plans-hero-layout,
  .plans-grid-early,
  .plans-flow-grid {
    grid-template-columns: 1fr;
  }
  .plans-hero-copy h1 {
    font-size: 1.85rem;
  }
  .plans-decision-head {
    display: block;
  }
  .plans-decision-head .btn {
    width: 100%;
    margin-top: 1rem;
  }
  .planos-grid { grid-template-columns: 1fr; }
  .plano-card.featured { transform: scale(1); }

  /* Botões */
  .btn { min-height: 44px; } /* Área de toque mínima */
  .btn-lg { padding: 0.9rem 2rem; font-size: 1rem; }
}

/* ===== RESPONSIVO — TELAS PEQUENAS ===== */
@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .stats-grid { grid-template-columns: 1fr; }
  .role-selector { grid-template-columns: 1fr; }
  .auth-right-register .role-selector { grid-template-columns: 1fr; gap: 0.45rem; border-radius: 16px; }
  .auth-right-register .role-btn { padding: 0.48rem 0.45rem; font-size: 0.84rem; gap: 0.35rem; }
  .auth-register-kicker { font-size: 0.7rem; }
  .auth-right-register .auth-title { font-size: 1.25rem; }
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .hero h1 { font-size: 1.75rem; }
  .section { padding: 3rem 0; }
  .section-header h2 { font-size: 1.75rem; }
  .page-title { font-size: 1.4rem; }
  .plans-hero-copy h1 { font-size: 1.7rem; }
  .plans-inline-facts { gap: 0.5rem; }
  .plans-inline-fact { width: 100%; justify-content: center; }
  .plans-decision-head h2 { font-size: 1.6rem; }
  .stat-card { flex-direction: column; text-align: center; }
  .stat-icon { margin: 0 auto; }
  /* Navbar compacta */
  .navbar { min-height: 70px; }
  .navbar-inner { min-height: 70px; }
  .navbar-logo { font-size: 1.2rem; }
}

/* ===== OCULTAÇÃO CONDICIONAL ===== */
.mobile-nav-bar { display: none; } /* Só aparece dentro do @media mobile acima */
.btn-menu-sidebar { display: none; } /* Idem */
@media (max-width: 768px) {
  .mobile-nav-bar { display: flex; }
  .btn-menu-sidebar { display: inline-flex; }
  .ocultar-mobile { display: none !important; }
}
@media (min-width: 769px) {
  .ocultar-desktop { display: none !important; }
}

/* ===== UTILITIES ===== */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.d-flex { display: flex; }
.align-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-1 { gap: 0.5rem; }
.gap-2 { gap: 1rem; }
.fw-bold { font-weight: 700; }
.text-muted { color: var(--text-body); }
.text-yellow { color: var(--accent-yellow); }
.text-purple { color: var(--primary-mid); }
.hidden { display: none !important; }

/* Fretei polish: compact cards, clear states, same brand colors */
.plans-page {
  --fretei-card-spacing: 1.25rem;
}

.plans-page .plans-grid-early {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  align-items: stretch !important;
  gap: 1.4rem !important;
}

.plans-page .plano-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: var(--fretei-card-spacing);
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  gap: 0.9rem;
}

.plans-page .plano-card.featured {
  transform: none;
  border-color: var(--accent-yellow);
  box-shadow: 0 0 0 1px rgba(255, 187, 51, 0.32), 0 18px 36px rgba(61, 23, 55, 0.08);
}

.plans-page .plano-card.is-current {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 1px rgba(107, 40, 98, 0.22), 0 18px 36px rgba(61, 23, 55, 0.08);
}

.plans-page .plano-card.is-inactive {
  background: rgba(248, 250, 252, 0.72);
  border-style: dashed;
}

.plans-page .plano-badge {
  top: -14px;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(242, 165, 13, 0.18);
}

.plans-page .plans-card-state-badge {
  width: fit-content;
  margin: 0;
}

.plans-page .plano-name {
  font-size: 1.1rem;
  color: var(--text-dark);
}

.plans-page .plano-price {
  margin: 0.1rem 0 0;
}

.plans-page .plano-features {
  margin: 0;
  display: grid;
  gap: 0.55rem;
}

.plans-page .plano-features li {
  padding: 0 0 0.55rem 1.6rem;
  border-bottom: 1px solid var(--divider);
  color: var(--text-body);
}

.plans-page .plans-card-footer-note {
  margin: 0;
  padding: 0.75rem;
  border-radius: 12px;
  background: var(--bg-lighter);
  color: var(--text-dark);
}

.plans-page .plano-card form,
.plans-page .plano-card .btn-block {
  width: 100%;
}

.plans-page .plano-card .btn {
  min-height: 44px;
  border-radius: 10px;
}

.plans-page .plans-status-banner {
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

/* ===== FORMULÁRIOS DE PERFIL DE MOTORISTA ===== */
.form-card {
  background: white;
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  margin-bottom: 1.5rem;
}
.form-section {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.form-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.form-section-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
.form-group {
  margin-bottom: 1.25rem;
}
.form-group label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--text-dark);
  margin-bottom: 0.4rem;
}
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="number"],
.form-group input[type="password"],
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: white;
  font-size: 0.95rem;
  color: var(--text-dark);
  font-family: var(--font);
  transition: var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--primary-mid);
  box-shadow: 0 0 0 3px rgba(85,32,78,0.1);
}
.form-group textarea {
  resize: vertical;
  min-height: 100px;
}
.form-group.full-width {
  grid-column: 1 / -1;
}
.form-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1rem;
  border-top: 2px solid var(--border);
  margin-top: 1.5rem;
}

/* Badges e tags */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1;
}
.badge-success {
  background: rgba(40,167,69,0.1);
  color: var(--success);
}
.badge-warning {
  background: rgba(255,193,7,0.1);
  color: var(--warning);
}
.badge-info {
  background: rgba(23,162,184,0.1);
  color: var(--info);
}
.badge-danger {
  background: rgba(220,53,69,0.1);
  color: var(--error);
}

/* Cursos CONTRAN */
.curso-badge {
  background: rgba(255,187,51,0.15);
  color: var(--primary-dark);
  padding: 0.5rem 0.85rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

/* ===== ESTILOS PARA CANDIDATAR-VAGA ===== */
.candidatura-step {
  background: white;
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  margin-bottom: 1.5rem;
}
.candidatura-step-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--primary-light);
}

/* ===== ANIMAÇÕES ===== */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in {
  animation: fadeIn 0.3s ease forwards;
}

/* ===== RESPONSIVIDADE PARA FORMULÁRIOS ===== */
@media (max-width: 768px) {
  .form-card {
    padding: 1.5rem;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-actions {
    flex-direction: column;
  }
  .form-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   HOMEPAGE-2 STYLES — VagasFretei
   ============================================================ */

/* ===== HERO 2 ===== */
.hero2 {
  min-height: 90vh;
  background: linear-gradient(122deg, var(--primary-mid) 0%, var(--primary-dark) 60%);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding-top: 80px;
}
.hero2-overlay {
  position: absolute; inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 900"><circle cx="1100" cy="200" r="350" fill="%23ffffff06"/><circle cx="200" cy="700" r="250" fill="%23ffffff04"/><circle cx="700" cy="450" r="500" fill="%23ffffff03"/></svg>') no-repeat center / cover;
}
.hero2-inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 55% 45%;
  gap: 3rem; align-items: center;
  padding-top: 3rem; padding-bottom: 3rem;
}
.hero2-divider { width: 130px; height: 3px; background: var(--accent-yellow); border-radius: 2px; margin-bottom: 1.5rem; }
.hero2-title { font-size: 4.2rem; font-weight: 600; color: white; line-height: 1.1; margin-bottom: 1rem; }
.hero2-title em { color: var(--accent-yellow); font-style: normal; }
.hero2-subtitle { font-size: 1.2rem; color: rgba(255,255,255,0.7); font-weight: 300; letter-spacing: 2.5px; line-height: 1.1; margin-bottom: 2.5rem; }
.hero2-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; }
.btn-hero-cta { letter-spacing: 2px; font-size: 0.95rem; }
.hero2-btn-ghost {
  background: transparent; color: rgba(255,255,255,0.85);
  border: 2px solid rgba(255,255,255,0.3); letter-spacing: 2px; font-size: 0.95rem;
  padding: 0.75rem 1.75rem; border-radius: var(--radius); font-weight: 600;
  display: inline-flex; align-items: center; gap: 0.5rem; transition: var(--transition);
}
.hero2-btn-ghost:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.6); }
.hero2-trusted { display: flex; align-items: center; gap: 1.25rem; border-top: 1px solid rgba(255,255,255,0.15); padding-top: 2rem; }
.hero2-avatars { display: flex; }
.hero2-avatar {
  width: 40px; height: 40px; border-radius: 50%; border: 3px solid white;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 0.9rem; color: var(--primary-dark);
  margin-left: -10px; flex-shrink: 0;
}
.hero2-avatar:first-child { margin-left: 0; }
.hero2-trusted-num { font-size: 1.6rem; font-weight: 800; color: var(--accent-yellow); line-height: 1; }
.hero2-trusted-label { font-size: 0.82rem; color: rgba(255,255,255,0.6); margin-top: 0.2rem; }
.hero2-right { display: flex; flex-direction: column; gap: 1.25rem; }
.hero2-stat-card {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-lg); padding: 1.5rem 1.75rem;
  display: flex; align-items: flex-start; gap: 1.25rem;
  backdrop-filter: blur(10px); transition: var(--transition);
}
.hero2-stat-card:hover { background: rgba(255,255,255,0.14); transform: translateX(4px); }
.hero2-stat-icon {
  width: 52px; height: 52px; border-radius: var(--radius);
  background: var(--accent-yellow); color: var(--primary-dark);
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0;
}
.hero2-stat-num { font-size: 2rem; font-weight: 800; color: var(--accent-yellow); line-height: 1; }
.hero2-stat-label { font-size: 0.82rem; font-weight: 700; color: white; text-transform: uppercase; letter-spacing: 1px; margin: 0.2rem 0 0.4rem; }
.hero2-stat-desc { font-size: 0.82rem; color: rgba(255,255,255,0.55); line-height: 1.5; margin: 0; }

/* ===== VAGAS GRID H2 ===== */
.vagas-grid-h2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1.5rem; }
.vaga-card-h2 {
  background: white; border-radius: var(--radius-lg); border: 1px solid var(--border);
  padding: 1.75rem; transition: var(--transition); position: relative;
}
.vaga-card-h2::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px; background: var(--accent-yellow);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  transform: scaleX(0); transition: var(--transition);
}
.vaga-card-h2:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: transparent; }
.vaga-card-h2:hover::after { transform: scaleX(1); }
.vaga-card-h2-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.5rem; }
.vch2-company { display: flex; align-items: center; gap: 0.75rem; }
.vch2-logo { width: 46px; height: 46px; border-radius: var(--radius); background: var(--primary-mid); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; flex-shrink: 0; }
.vch2-company-name { font-weight: 600; font-size: 0.88rem; color: var(--text-dark); }
.vch2-location { font-size: 0.78rem; color: var(--text-body); }
.vch2-badges { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.vch2-badge { padding: 0.2rem 0.65rem; border-radius: 50px; font-size: 0.72rem; font-weight: 600; background: rgba(85,32,78,0.09); color: var(--primary-mid); }
.vch2-badge.badge-tipo { background: rgba(255,187,51,0.15); color: var(--accent-amber); }
.vch2-title { font-size: 1.1rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.6rem; line-height: 1.3; }
.vch2-title a:hover { color: var(--primary-mid); }
.vch2-excerpt { font-size: 0.88rem; color: var(--text-body); line-height: 1.6; margin-bottom: 1rem; }
.vch2-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 1rem; border-top: 1px solid var(--border); gap: 0.75rem; }
.vch2-salary { font-weight: 700; color: var(--primary-mid); font-size: 0.95rem; }

/* ===== FIND JOB ===== */
.section-find-job { background: var(--primary-dark); padding: 4rem 0; }
.find-job-box { max-width: 900px; margin: 0 auto; }
.find-job-label { display: block; color: var(--accent-yellow); font-size: 1.1rem; font-weight: 700; letter-spacing: 1px; margin-bottom: 0.5rem; }
.find-job-header p { color: rgba(255,255,255,0.65); font-size: 0.95rem; }
.find-job-header { margin-bottom: 1.75rem; }
.find-job-fields { background: white; border-radius: var(--radius-lg); padding: 0.75rem 1rem; display: flex; align-items: center; gap: 0.5rem; box-shadow: 0 8px 40px rgba(0,0,0,0.3); flex-wrap: wrap; }
.find-job-field { display: flex; align-items: center; gap: 0.5rem; flex: 1; min-width: 150px; }
.find-job-field i { color: var(--divider); flex-shrink: 0; }
.find-job-select, .find-job-input { border: none; outline: none; flex: 1; font-size: 0.95rem; color: var(--text-dark); background: transparent; font-family: var(--font); }
.find-job-sep { width: 1px; height: 32px; background: var(--border); flex-shrink: 0; }
.find-job-btn { white-space: nowrap; letter-spacing: 1.5px; font-size: 0.9rem; }

/* ===== CATEGORIAS + TOP EMPRESA ===== */
.cat-top-layout { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; }
.cat-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cat-item-card { background: white; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem 1.25rem; display: flex; align-items: center; gap: 1rem; transition: var(--transition); text-decoration: none; }
.cat-item-card:hover { border-color: var(--accent-yellow); box-shadow: var(--shadow-md); transform: translateX(4px); }
.cat-item-icon { font-size: 1.75rem; flex-shrink: 0; }
.cat-item-name { font-weight: 600; color: var(--text-dark); font-size: 0.9rem; }
.cat-item-sub { font-size: 0.78rem; color: var(--text-body); }
.cat-item-arrow { font-size: 0.7rem; font-weight: 700; color: var(--accent-yellow); letter-spacing: 1px; white-space: nowrap; opacity: 0; transition: var(--transition); }
.cat-item-info { flex: 1; }
.cat-item-card:hover .cat-item-arrow { opacity: 1; }
.top-company-box { background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark)); border-radius: var(--radius-lg); padding: 2.5rem 2rem; position: sticky; top: 100px; }
.top-company-title { font-size: 1.8rem; font-weight: 700; color: white; line-height: 1.2; margin-bottom: 1rem; }
.top-company-text { color: rgba(255,255,255,0.65); font-size: 0.9rem; line-height: 1.7; margin-bottom: 1.5rem; }
.top-company-features { margin-bottom: 0.5rem; }
.top-feature { display: flex; align-items: center; gap: 0.75rem; color: rgba(255,255,255,0.85); font-size: 0.9rem; padding: 0.4rem 0; }
.top-feature i { color: var(--accent-yellow); }

/* ===== SERVIÇOS ===== */
.services-layout { display: grid; grid-template-columns: 360px 1fr; gap: 4rem; align-items: start; }
.services-title { font-size: 2.2rem; font-weight: 700; color: var(--text-dark); line-height: 1.25; margin: 0.5rem 0 1rem; }
.services-title em { color: var(--primary-mid); font-style: normal; }
.services-desc { color: var(--text-body); line-height: 1.8; }
.services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.service-card { background: white; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.75rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; transition: var(--transition); text-decoration: none; }
.service-card:hover { box-shadow: var(--shadow-md); border-color: var(--accent-yellow); transform: translateY(-3px); }
.service-icon { font-size: 2.2rem; margin-bottom: 0.25rem; }
.service-card h4 { font-size: 1rem; font-weight: 700; color: var(--text-dark); }
.service-card p { font-size: 0.87rem; color: var(--text-body); line-height: 1.65; flex: 1; }
.service-link { font-size: 0.78rem; font-weight: 700; color: var(--primary-mid); letter-spacing: 1px; display: flex; align-items: center; gap: 0.4rem; margin-top: 0.5rem; transition: var(--transition); }
.service-card:hover .service-link { color: var(--accent-amber); }

/* ===== NEWSLETTER H2 ===== */
.section-newsletter-h2 { background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark)); padding: 5rem 0; }
.newsletter-h2-inner { text-align: center; max-width: 640px; margin: 0 auto; }
.newsletter-h2-form { display: flex; gap: 0.75rem; max-width: 500px; margin: 0 auto; }
.newsletter-h2-input { flex: 1; padding: 0.85rem 1.25rem; border-radius: var(--radius); border: 2px solid transparent; font-size: 1rem; color: var(--text-dark); background: white; font-family: var(--font); }
.newsletter-h2-input:focus { outline: none; border-color: var(--accent-yellow); }
.newsletter-h2-btn { white-space: nowrap; letter-spacing: 1.5px; font-size: 0.9rem; }

/* ===== PARCEIROS ===== */
.partners-section { padding: 2.5rem 0; }
.partners-row { display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; gap: 1.5rem; }
.partner-logo { font-size: 0.9rem; font-weight: 700; color: var(--divider); letter-spacing: 2px; text-transform: uppercase; opacity: 0.6; transition: var(--transition); }
.partner-logo:hover { opacity: 1; color: var(--primary-mid); }

/* ===== DEPOIMENTOS H2 ===== */
.testimonials-h2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.testimonial-h2-card { background: white; border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-sm); border: 1px solid var(--border); transition: var(--transition); }
.testimonial-h2-card:hover { box-shadow: var(--shadow-md); border-color: var(--accent-yellow); transform: translateY(-4px); }
.testimonial-h2-quote { font-size: 4rem; color: var(--accent-yellow); font-family: Georgia, serif; line-height: 0.8; margin-bottom: 1rem; opacity: 0.6; }
.testimonial-h2-text { color: var(--text-body); font-size: 0.95rem; line-height: 1.8; font-style: italic; margin-bottom: 1rem; }
.testimonial-h2-rating { color: var(--accent-yellow); font-size: 1rem; margin-bottom: 1.25rem; letter-spacing: 2px; }
.testimonial-h2-author { display: flex; align-items: center; gap: 0.75rem; }
.testimonial-h2-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--primary-mid); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; flex-shrink: 0; }
.testimonial-h2-name { font-weight: 700; color: var(--text-dark); font-size: 0.9rem; }
.testimonial-h2-role { color: var(--text-body); font-size: 0.78rem; }

/* ===== CTA COM IMAGEM ===== */
.cta-image-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.cta-image-box { position: relative; }
.cta-image-mock { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.cta-experience-badge { position: absolute; bottom: -1rem; right: -1rem; background: var(--accent-yellow); border-radius: var(--radius-lg); padding: 1.25rem 1.5rem; text-align: center; box-shadow: var(--shadow-md); }
.cta-exp-num { font-size: 2rem; font-weight: 800; color: var(--primary-dark); line-height: 1; }
.cta-exp-label { font-size: 0.8rem; color: var(--primary-dark); font-weight: 600; line-height: 1.3; }
.cta-image-title { font-size: 2.4rem; font-weight: 700; color: var(--text-dark); line-height: 1.2; margin: 0.5rem 0 1rem; }
.cta-image-title em { color: var(--primary-mid); font-style: normal; }
.cta-image-text { color: var(--text-body); line-height: 1.8; margin-bottom: 2rem; }

/* ===== CONTADORES ===== */
.counter-section { background: linear-gradient(135deg, var(--primary-mid), var(--primary-dark)); padding: 4rem 0; }
.counter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; text-align: center; }
.counter-item { color: white; }
.counter-num { font-size: 3.5rem; font-weight: 800; color: var(--accent-yellow); line-height: 1; margin-bottom: 0.5rem; }
.counter-label { font-size: 0.88rem; color: rgba(255,255,255,0.65); text-transform: uppercase; letter-spacing: 1.5px; font-weight: 600; }

/* ===== FAQ H2 ===== */
.faq-h2-layout { display: grid; grid-template-columns: 300px 1fr; gap: 4rem; align-items: start; }
.faq-h2-title { font-size: 2.5rem; font-weight: 700; color: var(--text-dark); line-height: 1.2; margin: 0.5rem 0 1rem; }

/* ===== RESPONSIVIDADE HOMEPAGE-2 ===== */
@media (max-width: 1200px) {
  .hero2-title { font-size: 3.2rem; }
  .cat-top-layout { grid-template-columns: 1fr; }
  .top-company-box { position: static; }
  .services-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .cta-image-layout { grid-template-columns: 1fr; gap: 3rem; }
  .faq-h2-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .counter-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}
@media (max-width: 992px) {
  .hero2-inner { grid-template-columns: 1fr; padding-top: 2rem; }
  .hero2-right { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .hero2-title { font-size: 2.8rem; }
  .cat-list-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .testimonials-h2-grid { grid-template-columns: 1fr; }
  .vagas-grid-h2 { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .hero2-title { font-size: 2.2rem; }
  .hero2-actions { flex-direction: column; }
  .hero2-right { grid-template-columns: 1fr; }
  .find-job-fields { flex-direction: column; align-items: stretch; }
  .find-job-sep { display: none; }
  .newsletter-h2-form { flex-direction: column; }
  .counter-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .counter-num { font-size: 2.5rem; }
  .cta-experience-badge { bottom: 0.5rem; right: 0.5rem; }
}
@media (max-width: 480px) {
  .hero2-title { font-size: 1.8rem; }
  .hero2-subtitle { font-size: 1rem; letter-spacing: 1px; }
  .counter-grid { grid-template-columns: 1fr 1fr; }
  .counter-num { font-size: 2rem; }
  .partners-row { gap: 1rem; }
  .partner-logo { font-size: 0.78rem; }
}


/* Ajustes mobile seguros para evitar overflow sem alterar botões compactos do painel */
.card, .plano-card, .table-card {
  max-width: 100%;
  overflow-wrap: break-word;
}
@media (max-width: 480px) {
  .btn:not(.btn-sm),
  .btn-block,
  .hero-actions .btn,
  .form-actions .btn,
  .plano-card .btn {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    justify-content: center;
  }
}

/* Carteira profissional do motorista */
.driver-onboarding-card,
.work-history-item {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.driver-onboarding-card {
  padding: 1rem;
  margin: 0.5rem 0 1.25rem;
  box-shadow: 0 10px 28px rgba(61, 23, 55, 0.06);
}

/* Contraste seguro para chips/badges roxos usados em telas densas */
.badge-primary,
.badge-purple,
.match-reason-chip,
.driver-option-chip-purple,
.work-history-duration {
  color: #fff !important;
}

.badge-primary *,
.badge-purple *,
.match-reason-chip *,
.driver-option-chip-purple *,
.work-history-duration * {
  color: inherit !important;
}

.driver-onboarding-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.driver-onboarding-head i {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-light);
  color: var(--primary-mid);
  flex-shrink: 0;
}

.driver-onboarding-head strong,
.work-history-header h4 {
  display: block;
  color: var(--text-dark);
  font-weight: 800;
}

.driver-onboarding-head span,
.work-history-header p {
  display: block;
  color: var(--text-body);
  font-size: 0.88rem;
  line-height: 1.45;
  margin-top: 0.15rem;
}

.work-history-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.work-history-header h4 {
  margin: 0;
  font-size: 1rem;
}

.work-history-list {
  display: grid;
  gap: 1rem;
}

.work-history-item {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(180deg, #fff, #fbfbfc);
}

.work-history-index {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-yellow);
  color: var(--primary-dark);
  font-weight: 900;
}

.work-history-fields .form-grid {
  gap: 0.85rem;
}

.work-history-duration {
  display: inline-flex;
  margin-top: 0.5rem;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  background: var(--primary-mid);
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
}

@media (max-width: 640px) {
  .work-history-item {
    grid-template-columns: 1fr;
  }
  .work-history-index {
    width: 30px;
    height: 30px;
  }
}

/* UX anti-regressão: painéis densos não podem quebrar palavras, cortar botões ou usar roxo com texto escuro */
.admin-system-pill {
  grid-template-columns: 40px minmax(180px, 1fr);
  align-items: center;
}

.admin-system-pill i {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.admin-system-pill span,
.admin-system-pill strong {
  grid-column: 2;
  max-width: 100%;
}

.admin-system-pill span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-system-pill strong {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.admin-job-actions,
.table-actions.admin-job-actions {
  min-width: 220px;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.admin-actions-cell {
  width: 280px;
  min-width: 280px;
}

.admin-job-actions .btn-icon,
.admin-user-actions .btn-icon,
.table-actions .btn-icon {
  color: #fff !important;
  overflow: hidden;
}

.admin-job-actions .btn-danger:not(.btn-icon),
.admin-job-actions .btn-success:not(.btn-icon),
.admin-job-actions .btn-dark:not(.btn-icon) {
  min-width: 132px;
  padding-left: 0.85rem;
  padding-right: 0.85rem;
  justify-content: center;
  color: #fff !important;
}

.table-actions details .btn[type="submit"],
.admin-user-actions details .btn[type="submit"] {
  min-width: 150px;
  width: 100%;
  color: #fff !important;
}

.badge-purple,
.badge-primary,
.match-reason-chip,
.driver-option-chip-purple,
.work-history-duration,
.service-chip.urgent {
  background: var(--primary-mid) !important;
  color: #fff !important;
}

.badge-purple *,
.badge-primary *,
.match-reason-chip *,
.driver-option-chip-purple *,
.work-history-duration *,
.service-chip.urgent * {
  color: #fff !important;
}

.driver-option-chip-purple {
  border-color: transparent;
}

/* Hotfix 90%: tabelas administrativas, status compactos e contraste de chips */
.admin-vagas-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.admin-vagas-table th:last-child,
.admin-vagas-table td.admin-actions-cell {
  width: 166px;
  min-width: 166px;
}

.admin-actions-cell {
  white-space: normal;
  overflow: visible;
}

.admin-job-actions,
.table-actions.admin-job-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  min-width: 0;
  max-width: 166px;
}

.admin-job-actions form {
  display: inline-flex !important;
  flex: 0 0 auto;
  min-width: 0;
}

.admin-job-actions .btn-icon {
  width: 44px;
  min-width: 44px;
  height: 38px;
}

.admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 92px;
  height: 40px;
  padding: 0.45rem 0.65rem;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

body .admin-job-actions .btn-sm:not(.btn-icon),
body .admin-user-actions .btn-sm:not(.btn-icon),
body .table-actions .btn-sm:not(.btn-icon) {
  flex: 0 0 auto;
  min-width: 110px;
  padding-inline: 0.85rem;
  justify-content: center;
  text-align: center;
}

.admin-priority-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-priority-card {
  min-height: 96px;
}

.admin-priority-card span,
.admin-priority-card small {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.admin-system-pill {
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 76px;
  overflow: visible;
}

.admin-system-pill span,
.admin-system-pill strong {
  min-width: 0;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.admin-system-pill strong {
  white-space: normal;
  overflow: visible;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.stat-card > div:not(.stat-icon) {
  min-width: 0;
}

.stat-label,
.stat-num {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body .match-reason-chip,
body .driver-option-chip-purple,
body .work-history-duration,
body .service-chip.urgent {
  background: var(--primary-mid) !important;
  color: #fff !important;
}

body .match-reason-chip *,
body .driver-option-chip-purple *,
body .work-history-duration *,
body .service-chip.urgent * {
  color: #fff !important;
}

/* Production UX stabilization - keep dense backoffice readable and prevent dark text on purple */
body .btn-dark,
body .btn-purple,
body .bg-primary,
body .match-reason-chip,
body .driver-option-chip-purple,
body input:checked + .badge-cnh,
body input:checked + .badge-veiculo,
body input:checked + .badge-viagem,
body input:checked + .badge-vinculo,
body input:checked + .badge-curso,
body input:checked + .badge-beneficio {
  color: #fff !important;
}

body .btn-dark *,
body .btn-purple *,
body .bg-primary *,
body .match-reason-chip *,
body .driver-option-chip-purple *,
body input:checked + .badge-cnh *,
body input:checked + .badge-veiculo *,
body input:checked + .badge-viagem *,
body input:checked + .badge-vinculo *,
body input:checked + .badge-curso *,
body input:checked + .badge-beneficio * {
  color: #fff !important;
}

body .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(188px, 1fr)) !important;
  gap: 0.85rem !important;
  align-items: stretch !important;
}

body .admin-system-pill {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 0.75rem !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 88px !important;
  padding: 0.95rem 1rem !important;
  overflow: hidden !important;
}

body .admin-system-pill i {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
}

body .admin-system-pill span,
body .admin-system-pill strong {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.18 !important;
}

body .admin-system-pill span {
  font-size: 0.72rem !important;
  letter-spacing: 0.045em !important;
}

body .admin-system-pill strong {
  font-size: 0.96rem !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 148px !important;
  min-width: 148px !important;
  max-width: 148px !important;
  overflow: visible !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  min-width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
}

body .admin-job-actions form,
body .admin-job-actions details,
body .admin-job-actions > * {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

body .table-actions .btn-icon,
body .admin-job-actions .btn-icon,
body .admin-user-actions .btn-icon {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  line-height: 1 !important;
  color: #fff !important;
}

body .table-actions .btn-icon i,
body .admin-job-actions .btn-icon i,
body .admin-user-actions .btn-icon i {
  margin: 0 !important;
  color: #fff !important;
}

body .admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 112px !important;
  height: 40px !important;
  padding: 0.45rem 0.78rem !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  color: #fff !important;
}

body .table-actions details .btn[type="submit"],
body .admin-user-actions details .btn[type="submit"] {
  min-width: 150px !important;
  min-height: 42px !important;
  white-space: normal !important;
  color: #fff !important;
}

body .match-reason-chip,
body .driver-option-chip-purple,
body .badge-purple,
body .badge-primary,
body input:checked + .badge-cnh,
body input:checked + .badge-veiculo,
body input:checked + .badge-viagem,
body input:checked + .badge-vinculo {
  background: var(--primary-mid) !important;
  border-color: var(--primary-mid) !important;
  color: #fff !important;
}

body .auth-right-register .register-driver-status-pill,
body .auth-right-register .driver-status-pill,
body .auth-right-register .driver-onboarding-card,
body .auth-right-register .driver-upload-card,
body .auth-right-register .driver-upload-step,
body .auth-right-register .driver-upload-summary {
  display: none !important;
}

body .report-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(188px, 220px)) !important;
  justify-content: start !important;
  gap: 0.85rem !important;
}

body .report-kpi-card {
  min-height: 96px !important;
  padding: 1rem 1.05rem !important;
  align-items: center !important;
}

@media (max-width: 900px) {
  body .admin-system-ribbon {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  }

  body .admin-system-pill {
    min-height: 78px !important;
    padding: 0.85rem !important;
  }

  body .admin-vagas-table th:last-child,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
  }

  body .admin-job-actions,
  body .table-actions.admin-job-actions {
    max-width: 156px !important;
  }
}

/* Go-live stabilization: contrast, dense admin actions, and compact metric cards */
body .btn-dark,
body .btn-dark *,
body .btn-purple,
body .btn-purple *,
body .btn-danger,
body .btn-danger *,
body .btn-primary[style*="primary-dark"],
body .btn-primary[style*="primary-dark"] *,
body .btn-primary[style*="#dc3545"],
body .btn-primary[style*="#dc3545"] *,
body .bg-primary,
body .bg-primary *,
body .match-reason-chip,
body .match-reason-chip *,
body .driver-option-chip-purple,
body .driver-option-chip-purple *,
body .badge-purple,
body .badge-primary,
body input:checked + .badge-cnh,
body input:checked + .badge-cnh *,
body input:checked + .badge-veiculo,
body input:checked + .badge-veiculo *,
body input:checked + .badge-viagem,
body input:checked + .badge-viagem *,
body input:checked + .badge-vinculo,
body input:checked + .badge-vinculo * {
  color: #fff !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions {
  min-width: 0 !important;
  max-width: 210px !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0.5rem !important;
  white-space: normal !important;
}

body .admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 104px !important;
  max-width: 156px !important;
  white-space: nowrap !important;
}

body .admin-job-actions details {
  position: relative !important;
}

body .admin-job-actions details[open] {
  z-index: 50 !important;
}

body .admin-job-actions details .dropdown-menu,
body .admin-job-actions details .analysis-popover {
  min-width: 260px !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
}

body .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

body .admin-system-pill {
  min-height: 96px !important;
  overflow: visible !important;
}

body .admin-system-pill strong {
  font-size: 1rem !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body .pipeline-strip-7 {
  overflow: visible !important;
}

body .pipeline-metrics-grid,
body .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 0.9rem !important;
}

body .pipeline-metrics-grid > *,
body .marketplace-quality-grid > * {
  min-width: 0 !important;
  min-height: 118px !important;
}

@media (max-width: 900px) {
  body .admin-vagas-table th:last-child,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }

  body .admin-job-actions,
  body .table-actions.admin-job-actions {
    max-width: 190px !important;
  }
}

/* Production UX lock: admin action buttons and operational health cards */
body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 238px !important;
  min-width: 238px !important;
  max-width: 238px !important;
  overflow: visible !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 238px !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  white-space: nowrap !important;
}

body .admin-job-actions .btn-icon,
body .table-actions.admin-job-actions .btn-icon {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

body .admin-job-actions .btn-sm:not(.btn-icon),
body .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  width: auto !important;
  min-width: 112px !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  flex: 0 0 auto !important;
  padding: 0 0.8rem !important;
  border-radius: 8px !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  color: #fff !important;
}

body .admin-job-actions details .btn[type="submit"],
body .table-actions.admin-job-actions details .btn[type="submit"] {
  width: 100% !important;
  min-width: 160px !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 0.7rem 1rem !important;
  color: #fff !important;
  white-space: nowrap !important;
}

body .admin-rating-action-form {
  display: grid !important;
  gap: 0.45rem !important;
  min-width: 190px !important;
  max-width: 240px !important;
}

body .admin-rating-action-form .form-control {
  min-height: 38px !important;
  height: 38px !important;
  font-size: 0.82rem !important;
}

body .admin-rating-action-form .btn {
  min-height: 40px !important;
  width: 100% !important;
  justify-content: center !important;
  color: #fff !important;
  white-space: nowrap !important;
}

body .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 0.9rem !important;
}

body .admin-system-pill {
  min-height: 92px !important;
  padding: 1rem !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 0.9rem !important;
}

body .admin-system-pill > i,
body .admin-system-pill .fas,
body .admin-system-pill .fa {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: center !important;
}

body .admin-system-pill strong {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

body .admin-system-pill span {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

body .admin-funnel-grid,
body .pipeline-metrics-grid,
body .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 0.9rem !important;
  overflow: visible !important;
}

body .admin-funnel-grid > *,
body .pipeline-metrics-grid > *,
body .marketplace-quality-grid > * {
  min-width: 0 !important;
  min-height: 118px !important;
  padding: 1rem !important;
}

body .pipeline-strip-7 {
  overflow: visible !important;
}

@media (max-width: 900px) {
  body .admin-vagas-table th:last-child,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    width: 214px !important;
    min-width: 214px !important;
    max-width: 214px !important;
  }

  body .admin-job-actions,
  body .table-actions.admin-job-actions {
    max-width: 214px !important;
  }
}

/* Codex stabilization 2026-06-28: admin dashboard grids, action buttons and contrast */
body .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body .admin-system-pill {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 0.9rem !important;
  align-items: center !important;
  min-height: 96px !important;
  padding: 1rem 1.1rem !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

body .admin-system-pill > i,
body .admin-system-pill .fas,
body .admin-system-pill .fa {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
}

body .admin-system-pill span,
body .admin-system-pill strong {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .admin-system-pill span {
  grid-row: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}

body .admin-system-pill strong {
  grid-row: 2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.25 !important;
}

body .admin-funnel-grid,
body .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
  overflow: visible !important;
}

body .admin-funnel-grid > div,
body .marketplace-quality-grid > div {
  min-width: 0 !important;
  min-height: 132px !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #d8e2ef !important;
}

body .admin-funnel-grid strong,
body .marketplace-quality-grid strong,
body .admin-funnel-grid span,
body .marketplace-quality-grid span {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 126px !important;
  min-width: 126px !important;
  max-width: 126px !important;
  overflow: visible !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions {
  display: flex !important;
  width: 100% !important;
  max-width: 108px !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
  white-space: normal !important;
}

body .admin-job-actions form,
body .table-actions.admin-job-actions form {
  display: inline-flex !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body .admin-job-actions .btn-icon,
body .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 0 !important;
}

body .admin-job-actions .btn-icon i,
body .table-actions.admin-job-actions .btn-icon i {
  margin: 0 !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
}

body .admin-job-actions details .btn[type="submit"],
body .table-actions.admin-job-actions details .btn[type="submit"] {
  width: 100% !important;
  min-width: 160px !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 0.7rem 1rem !important;
  color: #fff !important;
  white-space: nowrap !important;
}

body .match-reason-chip,
body input:checked + .badge-veiculo,
body input:checked + .badge-disponibilidade,
body input:checked + .badge-vinculo,
body input:checked + .badge-carroceria {
  background: var(--primary-mid) !important;
  color: #fff !important;
}

body .report-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1rem !important;
}

body .tip-title,
body .article-card h3,
body .faq-question,
body .accordion-header {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body .single-tip-author-box {
  max-width: 720px !important;
}

body .auth-link-row {
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

@media (max-width: 900px) {
  body .admin-system-ribbon {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  }

  body .admin-funnel-grid,
  body .marketplace-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body .admin-funnel-grid,
  body .marketplace-quality-grid,
  body .report-metrics-grid {
    grid-template-columns: 1fr !important;
  }

  body .admin-system-ribbon {
    grid-template-columns: 1fr !important;
  }
}

/* Precision operational fixes: admin actions + compact cards + purple chip contrast */
body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .table-actions.admin-job-actions {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.45rem !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions .btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  flex: 0 0 42px !important;
  justify-content: center !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions .btn-icon i,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon i {
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 0.95rem !important;
}

body .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 112px !important;
  max-width: 112px !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

body .minhas-vagas-table-actions {
  display: inline-flex !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 0.38rem !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

body .minhas-vagas-table-actions .btn-sm {
  flex: 0 0 auto !important;
  min-width: 36px !important;
}

body .admin-priority-card span,
body .admin-priority-card small,
body .admin-system-pill span,
body .admin-system-pill strong,
body .admin-system-pill p,
body .admin-funnel-grid div,
body .marketplace-quality-grid div,
body .quality-grid div,
body .admin-priority-board .admin-priority-card span,
body .admin-priority-board .admin-priority-card strong,
body .admin-priority-board .admin-priority-card small {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .vaga-tag.badge-purple,
body .vaga-badge.badge-purple {
  background: var(--primary-mid) !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

body .vaga-tag.badge-purple *,
body .vaga-badge.badge-purple *,
body .driver-option-chip-purple * {
  color: #ffffff !important;
}

/* Final admin UI guardrails: prevent clipped action buttons and broken status text */
body .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1rem !important;
}

body .admin-system-pill {
  min-height: 96px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  overflow: visible !important;
}

body .admin-system-pill span,
body .admin-system-pill strong {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .admin-system-pill span {
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
}

body .admin-system-pill strong {
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

body .admin-funnel-grid,
body .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
  overflow: visible !important;
}

body .admin-funnel-grid > div,
body .marketplace-quality-grid > div {
  min-width: 0 !important;
  min-height: 118px !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.4rem !important;
}

body .admin-funnel-grid strong,
body .marketplace-quality-grid strong {
  font-size: 1.55rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body .admin-funnel-grid span,
body .marketplace-quality-grid span {
  font-size: 0.76rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 236px !important;
  min-width: 236px !important;
  max-width: 236px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .table-actions.admin-job-actions {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions .btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 40px !important;
  min-height: 40px !important;
  flex: 0 0 42px !important;
}

body .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 96px !important;
  max-width: none !important;
  width: auto !important;
  padding-inline: 0.75rem !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  body .admin-vagas-table th:last-child,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }

  body .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
  body .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
    min-width: 86px !important;
  }
}

/* ===== Release guardrails: dense actions without inner horizontal scroll ===== */
.auth-login-links {
  justify-content: space-between;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}

body .jobs-table td:last-child {
  width: 230px;
  min-width: 230px;
}

body .minhas-vagas-table-actions {
  display: flex !important;
  width: auto !important;
  max-width: 230px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.42rem !important;
  overflow: visible !important;
  white-space: normal !important;
}

body .minhas-vagas-table-actions form {
  display: inline-flex !important;
  margin: 0 !important;
}

body .minhas-vagas-table-actions .btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  flex: 0 0 38px !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

body .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .table-actions.admin-job-actions {
  justify-content: flex-start !important;
  gap: 0.42rem !important;
}

body .admin-vagas-table .admin-job-actions .btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
}

@media (max-width: 760px) {
  .auth-login-links {
    justify-content: center;
  }

  body .jobs-table td:last-child,
  body .admin-vagas-table th:last-child,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body .minhas-vagas-table-actions {
    max-width: none !important;
  }
}

/* Admin dashboard UX lock: status cards readable, compact action affordances, purple chip contrast */
.admin-command-hero .workspace-actions .btn {
  min-height: 36px;
  padding: 0.42rem 0.82rem;
  font-size: 0.82rem;
  line-height: 1.25;
  letter-spacing: 0;
}

.admin-command-hero .workspace-actions {
  gap: 0.55rem;
}

body .admin-system-ribbon .admin-system-pill span,
body .admin-system-ribbon .admin-system-pill strong,
body .health-card strong,
body .health-card p,
body .health-cron-row {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .admin-system-ribbon .admin-system-pill span,
body .admin-system-ribbon .admin-system-pill strong {
  white-space: normal !important;
}

body .admin-system-ribbon .admin-system-pill span {
  text-overflow: clip !important;
}

.health-code {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .badge-purple,
body .match-reason-chip,
body .driver-option-chip-purple {
  color: #fff !important;
  background: var(--primary-mid) !important;
}

body .badge-purple *,
body .match-reason-chip *,
body .driver-option-chip-purple * {
  color: #fff !important;
}
/* Screenshot fix pack (2026-06-28): enforce purple chip/CTA contrast + stable admin actions + health card wrapping */
body .badge-purple,
body .badge-purple *,
body .driver-option-chip-purple,
body .driver-option-chip-purple *,
body .match-reason-chip,
body .match-reason-chip *,
.status-chip.bg-purple,
.status-chip.primary,
.btn-purple,
.btn-purple *,
.btn-dark,
.btn-dark *,
body .btn[style*="var(--primary-mid)"],
body .btn[style*="var(--primary-dark)"],
body .btn[style*="var(--primary-light)"],
body .btn[style*="#6B2862"],
body .btn[style*="#55204E"],
body .btn[style*="#3D1737"] {
  color: #ffffff !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: auto !important;
  min-width: 220px !important;
  max-width: none !important;
  overflow: visible !important;
}

body .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .table-actions.admin-job-actions,
body .minhas-vagas-table-actions {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.42rem !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body .admin-vagas-table .admin-job-actions .btn,
body .admin-vagas-table .table-actions.admin-job-actions .btn,
body .admin-vagas-table .admin-job-actions form,
body .admin-vagas-table .table-actions.admin-job-actions form {
  flex: 0 0 auto !important;
}

body .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .admin-job-actions .btn-sm:not(.btn-icon),
body .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  width: auto !important;
  min-width: 104px !important;
  max-width: none !important;
  padding-inline: 0.72rem !important;
  white-space: nowrap !important;
}

body .admin-vagas-table .admin-job-actions .btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .admin-job-actions .btn-icon,
body .table-actions.admin-job-actions .btn-icon {
  flex: 0 0 auto !important;
}

body .health-card,
body .health-card *,
body .health-card strong,
body .health-card p,
body .health-card span,
body .health-code,
body .health-cron-row {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Precision stability patch (2026-06-28): contrast + dashboard/table action ergonomics */
body .btn-purple,
body .btn-dark,
body .bg-primary,
body .btn[style*="var(--primary-mid)"],
body .btn[style*="var(--primary-dark)"],
body .btn[style*="var(--primary-light)"],
body .btn[style*="#55204e"],
body .btn[style*="#55204E"],
body .btn[style*="#6b2862"],
body .btn[style*="#6B2862"],
body .btn[style*="#3d1737"],
body .btn[style*="#3D1737"],
body .btn[style*="#dc3545"],
body .badge-purple,
body .status-chip.bg-purple,
body .status-chip.primary,
body .match-reason-chip,
body .driver-option-chip-purple,
body input:checked + .badge-cnh,
body input:checked + .badge-veiculo,
body input:checked + .badge-viagem,
body input:checked + .badge-vinculo,
body input:checked + .badge-curso,
body input:checked + .badge-beneficio {
  color: #ffffff !important;
}

body .badge-purple,
body .status-chip.bg-purple,
body .status-chip.primary,
body .match-reason-chip,
body .driver-option-chip-purple,
body .badge-primary,
body .work-history-duration,
body .service-chip.urgent {
  background: var(--primary-mid) !important;
}

body .admin-vagas-table th:last-child,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell,
body .jobs-table td:last-child {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions,
body .admin-user-actions,
body .minhas-vagas-table-actions,
body .table-actions {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.42rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
}

body .admin-job-actions .btn-icon,
body .table-actions .btn-icon,
body .minhas-vagas-table-actions .btn-icon {
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
}

body .admin-job-actions .btn-sm:not(.btn-icon),
body .table-actions .btn-sm:not(.btn-icon),
body .admin-user-actions .btn-sm:not(.btn-icon),
body .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 90px !important;
  max-width: none !important;
  white-space: normal !important;
}

body .admin-system-ribbon,
body .admin-priority-board,
body .admin-priority-card,
body .admin-system-pill,
body .health-card,
body .stat-card {
  min-width: 0 !important;
}

body .admin-system-pill span,
body .admin-system-pill strong,
body .admin-system-pill p,
body .admin-priority-card span,
body .admin-priority-card strong,
body .admin-priority-card small,
body .health-card span,
body .health-card strong,
body .health-card p,
body .health-code,
body .health-cron-row,
body .stat-card * {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
  hyphens: none !important;
}

/* UI audit patch (2026-06-28): calmer panel header, roomier cards, stable actions, readable purple surfaces */
body .dashboard .dash-topbar {
  min-height: auto !important;
  margin-bottom: 1rem !important;
  padding: 0 0 0.9rem !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(203, 213, 225, 0.9) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body .dashboard .dash-current {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--text-body) !important;
}

body .dashboard .page-header {
  margin-bottom: 1.2rem !important;
  align-items: flex-start !important;
  gap: 0.85rem !important;
}

body .dashboard .page-title {
  font-size: clamp(1.55rem, 1.25rem + 0.9vw, 2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}

body .dashboard .page-subtitle {
  max-width: 72ch;
  line-height: 1.5;
}

body .dashboard .sidebar-logo {
  min-height: 92px !important;
  padding: 1.65rem 1.35rem !important;
  gap: 0.45rem !important;
  font-size: 2.16rem !important;
}

body .dashboard .sidebar-logo .logo-fretei,
body .dashboard .sidebar-logo .logo-vagas {
  font-size: inherit !important;
  line-height: 0.95 !important;
}

body .dashboard .table-card,
body .dashboard .stat-card,
body .dashboard .profile-panel,
body .dashboard .driver-onboarding-card,
body .dashboard .work-history-item,
body .dashboard .sidebar-card {
  border-radius: 14px !important;
}

body .dashboard .stat-card {
  min-height: 116px !important;
  padding: 1.25rem 1.35rem !important;
  gap: 1rem !important;
}

body .dashboard .table-card-header,
body .dashboard .profile-panel,
body .dashboard .driver-onboarding-card,
body .dashboard .sidebar-card {
  padding: 1.1rem 1.25rem !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell,
body .dashboard .jobs-table td:last-child {
  width: 1% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .minhas-vagas-table-actions,
body .dashboard .workspace-actions,
body .dashboard .page-header > div:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions .btn,
body .dashboard .table-actions.admin-job-actions .btn,
body .dashboard .minhas-vagas-table-actions .btn,
body .dashboard .workspace-actions .btn,
body .dashboard .page-header .btn,
body .dashboard .table-card-header .btn {
  min-height: 40px !important;
  padding: 0.62rem 0.9rem !important;
  border-radius: 10px !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  flex: 0 0 40px !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon),
body .dashboard .workspace-actions .btn-sm,
body .dashboard .page-header .btn-sm {
  width: auto !important;
  min-width: 96px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  justify-content: center !important;
}

body .dashboard .btn-dark,
body .dashboard .btn-dark *,
body .dashboard .btn-purple,
body .dashboard .btn-purple *,
body .dashboard .badge-purple,
body .dashboard .badge-purple *,
body .dashboard .badge-primary,
body .dashboard .badge-primary *,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.bg-purple *,
body .dashboard .status-chip.primary,
body .dashboard .status-chip.primary *,
body .dashboard .match-reason-chip,
body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple,
body .dashboard .driver-option-chip-purple *,
body .dashboard .work-history-duration,
body .dashboard .work-history-duration * {
  color: #ffffff !important;
}

body .dashboard .badge-primary,
body .dashboard .badge-purple,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.primary,
body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .work-history-duration {
  background: var(--primary-mid) !important;
  border-color: transparent !important;
}

@media (max-width: 900px) {
  body .dashboard .sidebar-logo {
    font-size: 1.9rem !important;
    min-height: 84px !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .dash-topbar {
    padding-bottom: 0.8rem !important;
  }

  body .dashboard .page-header > div:last-child,
  body .dashboard .workspace-actions {
    width: 100% !important;
  }

  body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
  body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
  body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon),
  body .dashboard .workspace-actions .btn-sm,
  body .dashboard .page-header .btn-sm {
    min-width: 0 !important;
  }
}

/* Final delivery guardrails: compact brand, readable ops cards and stable table actions */
body .dashboard .sidebar-logo {
  min-height: 78px !important;
  padding: 1.25rem 1.25rem !important;
  font-size: 1.82rem !important;
  line-height: 1 !important;
}

body .dashboard .sidebar-logo .logo-fretei,
body .dashboard .sidebar-logo .logo-vagas {
  font-size: inherit !important;
  line-height: 1 !important;
}

body .dashboard .dash-current {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

body .dashboard .admin-system-pill {
  min-height: 92px !important;
  padding: 1rem 1.1rem !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

body .dashboard .admin-funnel-grid.quality-grid,
body .dashboard .marketplace-quality-grid.quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)) !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
  overflow: visible !important;
}

body .dashboard .admin-funnel-grid.quality-grid > div,
body .dashboard .marketplace-quality-grid.quality-grid > div {
  min-width: 0 !important;
  min-height: 132px !important;
  padding: 1rem !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #d8e2ef !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  white-space: normal !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions {
  display: grid !important;
  grid-template-columns: 42px minmax(86px, 1fr) !important;
  gap: 0.45rem !important;
  align-items: center !important;
  justify-content: end !important;
  width: 100% !important;
  max-width: 150px !important;
  margin-left: auto !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 40px !important;
  min-height: 40px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 86px !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-inline: 0.7rem !important;
  white-space: nowrap !important;
}

body .dashboard .minhas-vagas-table-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(40px, max-content)) !important;
  justify-content: end !important;
  gap: 0.45rem !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Fretei polish: restrained controls, clear focus, no crowded ATS filters */
body .dashboard .card,
body .dashboard .table-card,
body .dashboard .workspace-hero,
body .dashboard .page-header {
  border-radius: 8px !important;
  border-color: #d8e2ef !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
}

body .dashboard input,
body .dashboard select,
body .dashboard textarea {
  border-radius: 8px !important;
  border-color: #cbd5e1 !important;
  min-height: 42px !important;
  box-shadow: none !important;
}

body .dashboard input:focus,
body .dashboard select:focus,
body .dashboard textarea:focus {
  border-color: var(--primary-mid) !important;
  outline: 3px solid rgba(85, 32, 78, 0.12) !important;
  outline-offset: 1px !important;
}

body .dashboard .candidate-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 1rem !important;
  align-items: start !important;
  margin-bottom: 1.25rem !important;
}

body .dashboard .candidate-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr)) !important;
  gap: 0.7rem !important;
  align-items: end !important;
  padding: 1rem !important;
  background: #ffffff !important;
  border: 1px solid #d8e2ef !important;
  border-radius: 8px !important;
}

body .dashboard .candidate-filter-grid > div {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.35rem !important;
  margin-left: 0 !important;
}

body .dashboard .candidate-filter-grid > div[style*="width:100%"] {
  grid-column: 1 / -1 !important;
  height: 1px !important;
  margin: 0.15rem 0 !important;
}

body .dashboard .candidate-filter-grid select,
body .dashboard .candidate-filter-grid #vagaFilter,
body .dashboard .candidate-filter-grid #orderFilter {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

body .dashboard .candidate-filter-grid .btn {
  min-height: 38px !important;
  padding: 0.55rem 0.75rem !important;
  white-space: nowrap !important;
  justify-content: center !important;
}

body .dashboard .candidate-view-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0.35rem !important;
  background: #ffffff !important;
  border: 1px solid #d8e2ef !important;
  border-radius: 8px !important;
}

body .dashboard .candidate-view-actions .btn {
  box-shadow: none !important;
  min-height: 38px !important;
}

@media (max-width: 980px) {
  body .dashboard .candidate-toolbar {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .candidate-view-actions {
    justify-content: stretch !important;
  }

  body .dashboard .candidate-view-actions .btn,
  body .dashboard .candidate-view-actions form {
    flex: 1 1 120px !important;
  }

  body .dashboard .candidate-view-actions form .btn {
    width: 100% !important;
  }
}

/* Fretei surface layer: same brand colors, cleaner density */
body .dashboard {
  --fretei-card-border: var(--divider);
  --fretei-card-bg: var(--surface);
  --fretei-muted-bg: var(--bg-lighter);
  --fretei-focus: rgba(85, 32, 78, 0.14);
}

body .dashboard .page-header,
body .dashboard .workspace-hero,
body .dashboard .table-card,
body .dashboard .card,
body .dashboard .stat-card,
body .dashboard .profile-panel,
body .dashboard .sidebar-card,
body .dashboard .driver-onboarding-card,
body .dashboard .work-history-item {
  background: var(--fretei-card-bg) !important;
  border: 1px solid var(--fretei-card-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 14px 34px rgba(61, 23, 55, 0.055) !important;
}

body .dashboard .table-card-header,
body .dashboard .section-header,
body .dashboard .modal-header {
  background: var(--fretei-card-bg) !important;
  border-bottom: 1px solid var(--divider) !important;
}

body .dashboard table th {
  background: var(--fretei-muted-bg) !important;
  color: #5c6f89 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

body .dashboard table td {
  border-color: var(--divider) !important;
  vertical-align: middle !important;
}

body .dashboard input,
body .dashboard select,
body .dashboard textarea {
  background: var(--surface) !important;
  color: var(--text-dark) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

body .dashboard input::placeholder,
body .dashboard textarea::placeholder {
  color: var(--text-muted) !important;
}

body .dashboard input:focus,
body .dashboard select:focus,
body .dashboard textarea:focus {
  border-color: var(--primary-mid) !important;
  box-shadow: 0 0 0 3px var(--fretei-focus) !important;
  outline: none !important;
}

body .dashboard .btn,
body .dashboard button,
body .dashboard .button {
  border-radius: var(--radius-sm) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body .dashboard .btn-primary,
body .dashboard .btn-dark,
body .dashboard .btn-purple,
body .dashboard .btn-outline-primary:hover,
body .dashboard .candidate-view-actions .btn-primary {
  background: var(--primary-dark) !important;
  border-color: var(--primary-dark) !important;
  color: #ffffff !important;
}

body .dashboard .btn-primary *,
body .dashboard .btn-dark *,
body .dashboard .btn-purple *,
body .dashboard .candidate-view-actions .btn-primary * {
  color: #ffffff !important;
}

body .dashboard .btn-warning,
body .dashboard .btn-accent,
body .dashboard .btn-yellow {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .btn-warning *,
body .dashboard .btn-accent *,
body .dashboard .btn-yellow * {
  color: var(--primary-dark) !important;
}

body .dashboard .btn-outline,
body .dashboard .btn-light,
body .dashboard .candidate-view-actions .btn-dark:not(.btn-primary) {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--primary-dark) !important;
  box-shadow: none !important;
}

body .dashboard .badge,
body .dashboard .status-chip,
body .dashboard .pill,
body .dashboard .match-reason-chip {
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.primary,
body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .work-history-duration {
  background: var(--primary-mid) !important;
  color: #ffffff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .status-chip.bg-purple *,
body .dashboard .status-chip.primary *,
body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple *,
body .dashboard .work-history-duration * {
  color: #ffffff !important;
}

body .dashboard .admin-system-ribbon {
  gap: 0.85rem !important;
}

body .dashboard .admin-system-pill {
  border-radius: var(--radius-sm) !important;
  background: var(--surface) !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

body .dashboard .admin-system-pill strong {
  color: var(--text-dark) !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-system-pill span {
  color: var(--text-muted) !important;
  line-height: 1.25 !important;
}

body .dashboard .candidate-filter-grid,
body .dashboard .candidate-view-actions {
  background: var(--surface) !important;
  border-color: var(--fretei-card-border) !important;
  box-shadow: var(--shadow-xs) !important;
}

/* Fretei UI lock: final overrides to prevent visual regressions from older hotfixes */
body .dashboard .sidebar-logo {
  font-size: 1.48rem !important;
  min-height: 68px !important;
  padding: 1rem 1.2rem !important;
}

body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

body .dashboard .admin-system-pill {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 104px !important;
  gap: 0.85rem !important;
}

body .dashboard .admin-system-pill > * {
  min-width: 0 !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 1rem !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0.45rem !important;
  overflow: visible !important;
  min-width: 0 !important;
  width: 100% !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.45rem !important;
  overflow: visible !important;
  min-width: 230px !important;
}

body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .work-history-duration {
  background: var(--primary-mid) !important;
  border-color: var(--primary-mid) !important;
  color: #ffffff !important;
}

body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple *,
body .dashboard .work-history-duration * {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  body .dashboard .sidebar-logo {
    font-size: 1.55rem !important;
    min-height: 68px !important;
  }

  body .dashboard .admin-system-ribbon {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .admin-vagas-table td.admin-actions-cell,
  body .dashboard .admin-actions-cell {
    width: auto !important;
    min-width: 120px !important;
    max-width: none !important;
  }

  body .dashboard .minhas-vagas-table-actions {
    min-width: 0 !important;
    justify-content: flex-start !important;
  }
}

/* Production UX lock: readable status/actions without horizontal clipping */
body .driver-upload-progress[hidden] {
  display: none !important;
}

body .driver-upload-progress:not([hidden]) {
  display: block !important;
}

body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  align-items: stretch !important;
}

body .dashboard .admin-system-pill,
body .admin-system-pill {
  min-height: 96px !important;
  overflow: visible !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .admin-system-pill span,
body .admin-system-pill strong {
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  width: 190px !important;
  min-width: 190px !important;
  max-width: 230px !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .admin-job-actions,
body .admin-job-actions,
body .table-actions {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.45rem !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .admin-job-actions .btn-icon,
body .table-actions .btn-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .admin-job-actions .btn-sm:not(.btn-icon),
body .table-actions .btn-sm:not(.btn-icon) {
  min-width: 88px !important;
  width: auto !important;
  max-width: none !important;
  padding: 0.65rem 0.8rem !important;
  white-space: nowrap !important;
}

body .driver-option-chip-purple,
body .driver-option-chip-purple *,
body .match-reason-chip,
body .match-reason-chip *,
body .work-history-duration,
body .work-history-duration *,
body .badge-purple,
body .badge-purple * {
  background-color: var(--primary-mid) !important;
  border-color: var(--primary-mid) !important;
  color: #ffffff !important;
}

body input[type="checkbox"]:checked + .driver-option-chip,
body input[type="radio"]:checked + .driver-option-chip {
  background-color: var(--primary-mid) !important;
  border-color: var(--primary-mid) !important;
  color: #ffffff !important;
}

body input[type="checkbox"]:checked + .driver-option-chip *,
body input[type="radio"]:checked + .driver-option-chip * {
  color: #ffffff !important;
}

/* Production finish pass: compact, readable panels without clipped text */
body .dashboard .workspace-hero.admin-command-hero,
body .dashboard .admin-command-hero {
  background:
    linear-gradient(135deg, rgba(61,23,55,0.98), rgba(85,32,78,0.96)),
    #3D1737 !important;
  color: #ffffff !important;
  min-height: auto !important;
  padding: 1.4rem 1.5rem !important;
  border-color: rgba(255,255,255,0.12) !important;
}

body .dashboard .admin-command-hero h1,
body .dashboard .admin-command-hero p {
  color: #ffffff !important;
}

body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 0.85rem !important;
}

body .dashboard .admin-system-pill {
  min-height: 82px !important;
  padding: 1rem !important;
}

body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill span {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell,
body .admin-vagas-table td.admin-actions-cell,
body .admin-actions-cell {
  min-width: 168px !important;
  width: 168px !important;
}

body .dashboard .table-actions,
body .dashboard .admin-job-actions,
body .dashboard .minhas-vagas-table-actions {
  display: inline-grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: max-content !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 0.5rem !important;
  flex-wrap: nowrap !important;
}

body .dashboard .table-actions .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
}

body .dashboard .table-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: 102px !important;
  height: 40px !important;
  padding: 0 0.8rem !important;
}

body .dashboard .stats-grid,
body .dashboard .marketplace-quality-grid,
body .dashboard .ats-health-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}

body .dashboard .mobile-nav-bar {
  overflow-x: auto !important;
  justify-content: flex-start !important;
  gap: 0.25rem !important;
  padding: 0.42rem 0.5rem !important;
}

body .dashboard .mobile-nav-bar a {
  flex: 0 0 74px !important;
  padding: 0.35rem 0.25rem !important;
  font-size: 0.62rem !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

.vf-filter-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.9rem !important;
}

.vf-filter-grid .vf-form-group label,
.vf-label {
  white-space: normal !important;
  min-height: 1.3em !important;
}

.vf-filter-card select {
  min-width: 0 !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 1100px) {
  .vf-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .vf-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .dashboard .admin-vagas-table td.admin-actions-cell,
  body .dashboard .admin-actions-cell,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    min-width: 148px !important;
    width: 148px !important;
  }

  body .dashboard .table-actions .btn-sm:not(.btn-icon),
  body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
  body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
    min-width: 92px !important;
  }

  .vf-filter-grid,
  .vf-filter-actions-row {
    grid-template-columns: 1fr !important;
  }
}

/* Delivery lock 2026-06-30: final panel QA fixes.
   Keep admin status, ATS cards and company action buttons readable. */
body .dashboard .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 14px !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill,
body .dashboard .admin-system-pill {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  align-items: center !important;
  min-height: 92px !important;
  padding: 16px !important;
}

body .dashboard .admin-system-pill > i {
  grid-row: 1 / span 2 !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-system-pill span {
  font-size: .76rem !important;
  letter-spacing: .05em !important;
}

body .dashboard .admin-system-pill strong {
  font-size: .98rem !important;
  font-weight: 800 !important;
}

body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(132px, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid > div,
body .dashboard .marketplace-quality-grid > div {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 18px !important;
  border: 1px solid var(--border, #d5deea) !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid strong,
body .dashboard .marketplace-quality-grid strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 1.42rem !important;
  line-height: 1.1 !important;
}

body .dashboard .quality-grid.admin-funnel-grid span,
body .dashboard .marketplace-quality-grid span {
  display: block !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .minhas-vagas-table th:last-child,
body .dashboard .minhas-vagas-table td.cliente-actions-cell {
  width: 230px !important;
  min-width: 230px !important;
  max-width: none !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions > *,
body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions form,
body .dashboard .minhas-vagas-table-actions form {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn,
body .dashboard .minhas-vagas-table-actions .btn,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

@media (max-width: 1280px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  body .dashboard .admin-vagas-table td.admin-actions-cell,
  body .dashboard .admin-actions-cell,
  body .admin-vagas-table td.admin-actions-cell,
  body .admin-actions-cell {
    min-width: 160px !important;
    max-width: none !important;
  }
}

/* Fretei UI foundation: compact production controls */
:root {
  --fretei-ui-surface: #ffffff;
  --fretei-ui-soft: #f8fafc;
  --fretei-ui-text: #18051e;
  --fretei-ui-muted: #64748b;
  --fretei-ui-border: #cdd8e6;
  --fretei-ui-border-strong: #b8c6d8;
  --fretei-ui-ring: rgba(85, 32, 78, 0.14);
  --fretei-ui-purple: var(--primary-mid, #55204e);
  --fretei-ui-yellow: var(--accent-yellow, #ffb72c);
}

body .dashboard .sidebar-logo {
  font-size: 1.48rem !important;
  min-height: 68px !important;
  padding: 1rem 1.2rem !important;
}

body .dashboard input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body .dashboard select,
body .dashboard textarea,
body .auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body .auth-form select,
body .auth-form textarea,
body .form-control {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--fretei-ui-border);
  border-radius: 10px;
  background: var(--fretei-ui-surface);
  color: var(--fretei-ui-text);
  font-size: 0.94rem;
  line-height: 1.35;
  padding: 0.68rem 0.85rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body .dashboard textarea,
body .auth-form textarea {
  min-height: 110px;
  resize: vertical;
}

body .dashboard input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body .dashboard select:focus,
body .dashboard textarea:focus,
body .auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body .auth-form select:focus,
body .auth-form textarea:focus,
body .form-control:focus {
  outline: none;
  border-color: var(--fretei-ui-purple);
  box-shadow: 0 0 0 3px var(--fretei-ui-ring);
}

body .dashboard input[type="date"],
body .dashboard input[type="month"],
body .auth-form input[type="date"],
body .auth-form input[type="month"] {
  appearance: none;
  -webkit-appearance: none;
  min-height: 46px;
  padding-right: 2.75rem;
  font-weight: 650;
}

body .dashboard input[type="date"]::-webkit-calendar-picker-indicator,
body .dashboard input[type="month"]::-webkit-calendar-picker-indicator,
body .auth-form input[type="date"]::-webkit-calendar-picker-indicator,
body .auth-form input[type="month"]::-webkit-calendar-picker-indicator {
  width: 1.15rem;
  height: 1.15rem;
  padding: 0.42rem;
  margin-right: -0.35rem;
  border-radius: 8px;
  background-color: var(--warning-light);
  cursor: pointer;
  opacity: 0.82;
}

body .dashboard input[type="date"]::-webkit-calendar-picker-indicator:hover,
body .dashboard input[type="month"]::-webkit-calendar-picker-indicator:hover,
body .auth-form input[type="date"]::-webkit-calendar-picker-indicator:hover,
body .auth-form input[type="month"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
  background-color: #ffe5a6;
}

body .fretei-file-control {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  max-width: 520px;
  min-height: 48px;
  padding: 0.38rem;
  border: 1px solid var(--fretei-ui-border);
  border-radius: 12px;
  background: var(--fretei-ui-surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease;
}

body .fretei-file-control:focus-within,
body .fretei-file-control:hover {
  border-color: var(--fretei-ui-purple);
  box-shadow: 0 0 0 3px var(--fretei-ui-ring);
}

body .fretei-file-control input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body .driver-profile-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .fretei-file-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 36px;
  padding: 0 0.85rem;
  border-radius: 10px;
  background: var(--fretei-ui-purple);
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

body .fretei-file-name {
  min-width: 0;
  overflow: hidden;
  color: var(--fretei-ui-muted);
  font-size: 0.9rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .dashboard .btn-primary,
body .dashboard .btn-dark,
body .dashboard .btn-purple,
body .dashboard .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions .btn-icon {
  color: #ffffff !important;
}

body .dashboard .btn-warning,
body .dashboard .btn-yellow,
body .dashboard .btn-cta {
  color: var(--fretei-ui-text) !important;
}

/* Go-live contrast guard: plan buttons can be white secondary CTAs. */
body .plans-page .plano-card .btn-primary,
body .plans-page .plans-status-side .btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .plans-page .plano-card .btn-primary *,
body .plans-page .plans-status-side .btn-primary * {
  color: var(--primary-dark) !important;
}

body .plans-page .plano-card .btn-dark,
body .plans-page .plans-status-side .btn-dark,
body .plans-page .plano-card .btn-outline,
body .plans-page .plans-status-side .btn-outline {
  background: #fff !important;
  border-color: var(--border) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important;
}

body .plans-page .plano-card .btn-dark *,
body .plans-page .plans-status-side .btn-dark *,
body .plans-page .plano-card .btn-outline *,
body .plans-page .plans-status-side .btn-outline * {
  color: var(--primary-dark) !important;
}

body .plans-page .plano-card .btn-dark:hover,
body .plans-page .plans-status-side .btn-dark:hover,
body .plans-page .plano-card .btn-outline:hover,
body .plans-page .plans-status-side .btn-outline:hover {
  background: #fff8e6 !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .admin-system-pill,
body .dashboard .stat-card,
body .dashboard .metric-card,
body .dashboard .kpi-card {
  border-radius: 12px;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  overflow-wrap: anywhere !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions .btn-sm:not(.btn-icon) {
  min-height: 38px !important;
  border-radius: 10px !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
}

/* Precision UI fixes requested: status cards read better, ATS cards parity, action buttons breathing room, purple CTA contrast */
body .dashboard .admin-system-ribbon .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-funnel-grid,
body .dashboard .marketplace-quality-grid,
body .dashboard .pipeline-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
}

body .dashboard .admin-funnel-grid > div,
body .dashboard .marketplace-quality-grid > div,
body .dashboard .pipeline-metrics-grid > div {
  min-height: 132px !important;
  padding: 1rem !important;
  border-radius: 8px !important;
}

body .dashboard .admin-funnel-grid strong,
body .dashboard .admin-funnel-grid span,
body .dashboard .marketplace-quality-grid strong,
body .dashboard .marketplace-quality-grid span {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: auto !important;
  min-width: 190px !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  width: auto !important;
  max-width: none !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.52rem !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
}

body .dashboard .admin-vagas-table .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form,
body .dashboard .minhas-vagas-table-actions form {
  display: inline-flex !important;
  margin: 0 !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: 112px !important;
  color: #ffffff !important;
}

body .dashboard .btn-purple,
body .dashboard .btn-dark,
body .dashboard .btn[style*="var(--primary-mid)"],
body .dashboard .btn[style*="var(--primary-dark)"],
body .dashboard .btn[style*="var(--primary-light)"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#55204E"],
body .dashboard .btn[style*="#6b2862"],
body .dashboard .btn[style*="#6B2862"],
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#3D1737"] {
  color: #ffffff !important;
}

@media (max-width: 760px) {
  body .fretei-file-control {
    grid-template-columns: 1fr;
  }

  body .fretei-file-button {
    width: 100%;
  }
}

/* Precision final harmonization (2026-06-28): dashboard visuals harden */
body .dashboard .btn-purple,
body .dashboard .btn-dark,
body .dashboard .btn[style*="var(--primary-mid)"],
body .dashboard .btn[style*="var(--primary-dark)"],
body .dashboard .btn[style*="var(--primary-light)"],
body .dashboard .btn[style*="background:var(--primary-mid)"],
body .dashboard .btn[style*="background-color:var(--primary-mid)"],
body .dashboard .btn[style*="background:var(--primary-dark)"],
body .dashboard .btn[style*="background-color:var(--primary-dark)"],
body .dashboard .btn[style*="background:var(--primary-light)"],
body .dashboard .btn[style*="background-color:var(--primary-light)"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#55204E"],
body .dashboard .btn[style*="#6b2862"],
body .dashboard .btn[style*="#6B2862"],
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#3D1737"] {
  color: #ffffff !important;
}

body .dashboard .btn-purple *,
body .dashboard .btn-dark *,
body .dashboard .btn[style*="var(--primary-mid)"] *,
body .dashboard .btn[style*="var(--primary-dark)"] *,
body .dashboard .btn[style*="var(--primary-light)"] *,
body .dashboard .btn[style*="background:var(--primary-mid)"] *,
body .dashboard .btn[style*="background-color:var(--primary-mid)"] *,
body .dashboard .btn[style*="background:var(--primary-dark)"] *,
body .dashboard .btn[style*="background-color:var(--primary-dark)"] *,
body .dashboard .btn[style*="background:var(--primary-light)"] *,
body .dashboard .btn[style*="background-color:var(--primary-light)"] *,
body .dashboard .btn[style*="#55204e"] *,
body .dashboard .btn[style*="#55204E"] *,
body .dashboard .btn[style*="#6b2862"] *,
body .dashboard .btn[style*="#6B2862"] *,
body .dashboard .btn[style*="#3d1737"] *,
body .dashboard .btn[style*="#3D1737"] * {
  color: #ffffff !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: 1% !important;
  min-width: 232px !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0.45rem !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 108px !important;
  width: auto !important;
  max-width: none !important;
  padding-inline: 0.8rem !important;
}

body .dashboard input[type="file"],
body .dashboard .form-control[type="file"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  width: 100% !important;
  padding: 0.55rem 0.85rem !important;
  border: 1px solid var(--fretei-ui-border) !important;
  border-radius: 10px !important;
  background: var(--fretei-ui-surface) !important;
  color: var(--fretei-ui-text) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .dashboard input[type="file"]::file-selector-button,
body .dashboard input[type="file"]::-webkit-file-upload-button,
body .dashboard .form-control[type="file"]::file-selector-button,
body .dashboard .form-control[type="file"]::-webkit-file-upload-button {
  margin-right: 0.85rem !important;
  padding: 0.35rem 0.72rem !important;
  border: 1px solid var(--fretei-ui-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--fretei-ui-text) !important;
  cursor: pointer !important;
}

body .dashboard input[type="date"],
body .dashboard input[type="month"],
body .dashboard .form-control[type="date"],
body .dashboard .form-control[type="month"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 46px !important;
  padding-right: 2.75rem !important;
  border-radius: 10px !important;
  border: 1px solid var(--fretei-ui-border) !important;
  background: var(--fretei-ui-surface) !important;
  color: var(--fretei-ui-text) !important;
}

body .dashboard input[type="date"]::-webkit-calendar-picker-indicator,
body .dashboard input[type="month"]::-webkit-calendar-picker-indicator {
  width: 1.15rem !important;
  height: 1.15rem !important;
  padding: 0.42rem !important;
  margin-right: -0.35rem !important;
  border-radius: 8px !important;
  background-color: var(--warning-light) !important;
  cursor: pointer !important;
  opacity: 0.82 !important;
}

body .dashboard .admin-system-ribbon {
  gap: 1rem !important;
}

body .dashboard .admin-system-pill,
body .dashboard .admin-priority-card {
  padding: 1rem !important;
  min-height: 92px !important;
  overflow: visible !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-priority-card span,
body .dashboard .admin-priority-card small,
body .dashboard .health-card p,
body .dashboard .health-card strong,
body .dashboard .health-card span,
body .dashboard .health-code,
body .dashboard .health-cron-row {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body .dashboard .admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.8rem !important;
  padding: 1rem !important;
}

body .dashboard .admin-funnel-grid > div,
body .dashboard .marketplace-quality-grid > div {
  min-height: 94px !important;
  padding: 1rem !important;
  gap: 0.4rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

@media (max-width: 1024px) {
  body .dashboard .admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .admin-system-ribbon {
    grid-template-columns: 1fr !important;
  }
}

/* Fretei UI component pass: compact form controls, custom calendar, file inputs */
body .dashboard input,
body .dashboard select,
body .dashboard textarea,
body .dashboard .form-control,
body .dashboard .form-select,
body .auth-form input,
body .auth-form select,
body .auth-form textarea {
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #16051a !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .dashboard input:focus,
body .dashboard select:focus,
body .dashboard textarea:focus,
body .dashboard .form-control:focus,
body .dashboard .form-select:focus,
body .auth-form input:focus,
body .auth-form select:focus,
body .auth-form textarea:focus {
  border-color: #6b2862 !important;
  box-shadow: 0 0 0 3px rgba(107, 40, 98, 0.14) !important;
  outline: none !important;
}

body .dashboard input[type="file"],
body .auth-form input[type="file"] {
  font-size: 0.92rem !important;
  line-height: 1.3 !important;
}

body .dashboard input[type="file"]::file-selector-button,
body .auth-form input[type="file"]::file-selector-button {
  margin-right: 0.85rem !important;
  padding: 0.48rem 0.78rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #3d1737 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

body .dashboard input[type="file"]::-webkit-file-upload-button,
body .auth-form input[type="file"]::-webkit-file-upload-button {
  margin-right: 0.85rem !important;
  padding: 0.48rem 0.78rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #3d1737 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.fretei-date-field {
  position: relative;
  width: 100%;
}

.fretei-date-trigger {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.72rem 0.75rem 0.72rem 0.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  color: #16051a;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.fretei-date-trigger:hover {
  border-color: #9aa8bb;
}

.fretei-date-field.is-open .fretei-date-trigger {
  border-color: #6b2862;
  box-shadow: 0 0 0 3px rgba(107, 40, 98, 0.14);
}

.fretei-date-field.is-disabled .fretei-date-trigger {
  opacity: 0.72;
  cursor: not-allowed;
}

.fretei-date-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fretei-date-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff3d6;
  color: #3d1737;
}

.fretei-date-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fretei-date-popover {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 80;
  width: min(292px, calc(100vw - 32px));
  padding: 0.82rem;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #ffffff;
  color: #16051a;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
  display: none;
}

.fretei-date-field.is-open .fretei-date-popover {
  display: block;
}

.fretei-date-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.fretei-date-head strong {
  font-size: 0.94rem;
  font-weight: 900;
  color: #16051a;
  text-transform: capitalize;
}

.fretei-date-nav {
  width: 30px;
  height: 30px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  color: #3d1737;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
}

.fretei-date-nav:hover {
  background: var(--warning-light);
  border-color: #f8b42d;
}

.fretei-month-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem;
}

.fretei-week-grid,
.fretei-day-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.25rem;
}

.fretei-week-grid {
  margin-bottom: 0.35rem;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.fretei-date-cell {
  min-width: 0;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #16051a;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 750;
  cursor: pointer;
}

.fretei-date-cell:hover {
  background: var(--warning-light);
  color: #3d1737;
}

.fretei-date-cell.is-selected {
  background: #3d1737;
  color: #ffffff;
}

.fretei-date-footer {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.7rem;
  border-top: 1px solid #e2e8f0;
}

.fretei-date-footer button {
  border: 0;
  background: transparent;
  color: #6b2862;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 850;
  cursor: pointer;
}

.fretei-date-footer button:hover {
  color: #3d1737;
  text-decoration: underline;
}

@media (max-width: 520px) {
  .fretei-date-popover {
    left: 50%;
    transform: translateX(-50%);
  }
}

/* Final guard: driver profile uploads must use the Fretei control, never the native file input. */
body .dashboard input.driver-profile-file-input[type="file"],
body .dashboard input.sr-only.driver-profile-file-input[type="file"],
body input.driver-profile-file-input[type="file"] {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

body .dashboard .fretei-file-control {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
}

body .dashboard .fretei-file-control .fretei-file-button {
  flex: 0 0 auto !important;
  min-width: 132px !important;
  background: #3d1737 !important;
  color: #ffffff !important;
}

body .dashboard .fretei-file-control .fretei-file-name {
  min-width: 0 !important;
  color: #52627a !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Sprint final 100%: estabilidade visual dos paineis e contraste Fretei */
body .dashboard {
  --fretei-action-size: 42px;
}

body .dashboard .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 0.85rem !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body .dashboard .admin-system-pill {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 108px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 0.75rem !important;
  row-gap: 0.25rem !important;
  align-content: center !important;
  padding: 1rem !important;
}

body .dashboard .admin-system-pill > i {
  grid-row: 1 / span 2 !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  line-break: auto !important;
}

body .dashboard .admin-system-pill span {
  font-size: 0.74rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 0.96rem !important;
  line-height: 1.25 !important;
}

body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
  gap: 0.9rem !important;
  padding: 1.1rem !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid > *,
body .dashboard .marketplace-quality-grid > * {
  min-width: 0 !important;
  min-height: 110px !important;
  padding: 1rem !important;
  border: 1px solid #d8e2ef !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.35rem !important;
}

body .dashboard .quality-grid.admin-funnel-grid strong,
body .dashboard .quality-grid.admin-funnel-grid span,
body .dashboard .marketplace-quality-grid strong,
body .dashboard .marketplace-quality-grid span {
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-actions-cell,
body .dashboard .cliente-actions-cell {
  width: 154px !important;
  min-width: 154px !important;
  max-width: 154px !important;
}

body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.48rem !important;
  min-width: max-content !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form,
body .dashboard .minhas-vagas-table-actions form {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body .dashboard .admin-job-actions .btn,
body .dashboard .table-actions.admin-job-actions .btn,
body .dashboard .minhas-vagas-table-actions .btn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: var(--fretei-action-size) !important;
  min-width: var(--fretei-action-size) !important;
  max-width: var(--fretei-action-size) !important;
  height: var(--fretei-action-size) !important;
  min-height: var(--fretei-action-size) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: #ffffff !important;
}

body .dashboard .admin-job-actions .btn-icon i,
body .dashboard .table-actions.admin-job-actions .btn-icon i,
body .dashboard .minhas-vagas-table-actions .btn-icon i {
  margin: 0 !important;
  font-size: 0.96rem !important;
  line-height: 1 !important;
}

body .dashboard .admin-job-actions .btn-icon span,
body .dashboard .table-actions.admin-job-actions .btn-icon span,
body .dashboard .minhas-vagas-table-actions .btn-icon span {
  display: none !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: auto !important;
  max-width: 112px !important;
  padding: 0.62rem 0.72rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body .dashboard .table-wrapper {
  max-width: 100% !important;
  overflow-x: auto !important;
}

body .dashboard .badge[style*="6b2862"],
body .dashboard .badge[style*="#6B2862"],
body .dashboard .badge[style*="#6b2862"],
body .dashboard .pill[style*="6b2862"],
body .dashboard label[style*="6b2862"],
body .dashboard .match-badge,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .job-match-reason,
body .dashboard .match-reason {
  color: #ffffff !important;
}

body .dashboard .fretei-date-trigger,
body .dashboard .fretei-date-popover,
body .dashboard input[type="date"],
body .dashboard input[type="month"] {
  font-family: inherit !important;
}

@media (max-width: 900px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 560px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .admin-actions-cell,
  body .dashboard .cliente-actions-cell {
    width: auto !important;
    min-width: 132px !important;
  }
}

/* Precision fixes (2026-06-29): date/file/action/card readability hardening. */
body .dashboard .admin-system-ribbon .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong,
body .dashboard .admin-system-ribbon .admin-system-pill p,
body .dashboard .admin-system-ribbon .admin-system-pill small,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .admin-job-actions .btn-sm.btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-sm.btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: var(--fretei-action-size, 42px) !important;
  min-width: var(--fretei-action-size, 42px) !important;
  max-width: var(--fretei-action-size, 42px) !important;
  height: var(--fretei-action-size, 42px) !important;
  min-height: var(--fretei-action-size, 42px) !important;
  max-height: var(--fretei-action-size, 42px) !important;
  flex: 0 0 var(--fretei-action-size, 42px) !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .dashboard input[type="file"]::file-selector-button,
body .dashboard input[type="file"]::-webkit-file-upload-button,
body .dashboard .form-control[type="file"]::file-selector-button,
body .dashboard .form-control[type="file"]::-webkit-file-upload-button {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}

body .dashboard .fretei-file-control,
body .auth-form .fretei-file-control {
  position: relative !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.primary,
body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-badge,
body .dashboard .job-match-reason,
body .dashboard .btn[style*="var(--primary-mid)"],
body .dashboard .btn[style*="var(--primary-dark)"],
body .dashboard .btn[style*="var(--primary-light)"],
body .dashboard .btn[style*="#6b2862"],
body .dashboard .btn[style*="#6B2862"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#55204E"],
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#3D1737"] {
  color: #ffffff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .status-chip.bg-purple *,
body .dashboard .status-chip.primary *,
body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-badge *,
body .dashboard .job-match-reason *,
body .dashboard .btn[style*="var(--primary-mid)"] *,
body .dashboard .btn[style*="var(--primary-dark)"] *,
body .dashboard .btn[style*="var(--primary-light)"] *,
body .dashboard .btn[style*="#6b2862"] *,
body .dashboard .btn[style*="#6B2862"] *,
body .dashboard .btn[style*="#55204e"] *,
body .dashboard .btn[style*="#55204E"] *,
body .dashboard .btn[style*="#3d1737"] *,
body .dashboard .btn[style*="#3D1737"] * {
  color: #ffffff !important;
}

/* Precision final hardening (2026-06-29): clamp file/date/action/card/focus edge states. */
body .dashboard .fretei-date-field,
body .auth-form .fretei-date-field {
  width: 100% !important;
  min-width: 0 !important;
}

body .dashboard .fretei-date-trigger,
body .auth-form .fretei-date-trigger {
  min-height: 2.5rem !important;
  padding: 0.62rem 0.82rem 0.62rem 0.9rem !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #16051a !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .dashboard .fretei-date-icon,
body .auth-form .fretei-date-icon {
  width: 2rem !important;
  height: 2rem !important;
  flex: 0 0 2rem !important;
  background: #fff3d6 !important;
}

body .dashboard .fretei-date-popover,
body .auth-form .fretei-date-popover {
  width: min(320px, calc(100vw - 32px)) !important;
  padding: 0.82rem !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18) !important;
}

body .dashboard .fretei-date-nav,
body .auth-form .fretei-date-nav {
  width: 2.25rem !important;
  height: 2.25rem !important;
  border: 1px solid #e2e8f0 !important;
}

body .dashboard .fretei-date-cell,
body .auth-form .fretei-date-cell {
  min-width: 0 !important;
  height: 2rem !important;
  border-radius: 10px !important;
}

body .dashboard .fretei-date-footer,
body .auth-form .fretei-date-footer {
  margin-top: 0.78rem !important;
  padding-top: 0.7rem !important;
  border-top: 1px solid #e2e8f0 !important;
}

body .dashboard input[type="file"],
body .dashboard .form-control[type="file"],
body .auth-form input[type="file"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  min-height: 2.75rem !important;
  line-height: 1.2 !important;
}

body .dashboard input[type="file"]::file-selector-button,
body .dashboard input[type="file"]::-webkit-file-upload-button,
body .dashboard .form-control[type="file"]::file-selector-button,
body .dashboard .form-control[type="file"]::-webkit-file-upload-button,
body .auth-form input[type="file"]::file-selector-button,
body .auth-form input[type="file"]::-webkit-file-upload-button {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions .btn-icon,
body .dashboard .admin-user-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon,
body .dashboard .admin-job-actions .btn-sm.btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill,
body .dashboard .admin-system-pill {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong,
body .dashboard .admin-system-ribbon .admin-system-pill p,
body .dashboard .admin-system-ribbon .admin-system-pill small,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.primary,
body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-badge,
body .dashboard .job-match-reason {
  color: #ffffff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .status-chip.bg-purple *,
body .dashboard .status-chip.primary *,
body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-badge *,
body .dashboard .job-match-reason * {
  color: #ffffff !important;
}

/* Final blocker pass (2026-06-29): stable dashboard wrap/readability, contrast, and control alignment. */
body .dashboard .admin-system-ribbon,
body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill,
body .dashboard .quality-grid.admin-funnel-grid > *,
body .dashboard .marketplace-quality-grid > * {
  min-width: 0 !important;
}

body .dashboard .sidebar-logo,
body .sidebar-logo {
  font-size: clamp(1.24rem, 1.4vw, 1.68rem) !important;
  min-height: 64px !important;
  padding-top: 0.9rem !important;
  padding-bottom: 0.9rem !important;
}

body .dashboard .sidebar-logo .logo-fretei,
body .sidebar-logo .logo-vagas {
  display: inline-block !important;
  line-height: 1 !important;
}

body .dashboard .badge[style*="#6b2862"],
body .dashboard .badge[style*="#6B2862"],
body .dashboard .badge[style*="#55204e"],
body .dashboard .badge[style*="#55204E"],
body .dashboard .badge[style*="#3d1737"],
body .dashboard .badge[style*="#3D1737"],
body .dashboard .pill[style*="6b2862"],
body .dashboard .pill[style*="#6B2862"],
body .dashboard .pill[style*="#55204e"],
body .dashboard .pill[style*="#55204E"],
body .dashboard .pill[style*="#3d1737"],
body .dashboard .pill[style*="#3D1737"],
body .dashboard .match-badge[style*="background"],
body .dashboard .job-match-reason[style*="background"],
body .dashboard .region-badge[style*="background"],
body .dashboard .vaga-region-badge[style*="background"],
body .dashboard .status-chip[style*="background"] {
  color: #ffffff !important;
}

body .dashboard .badge[style*="#6b2862"] *,
body .dashboard .badge[style*="#6B2862"] *,
body .dashboard .badge[style*="#55204e"] *,
body .dashboard .badge[style*="#55204E"] *,
body .dashboard .badge[style*="#3d1737"] *,
body .dashboard .badge[style*="#3D1737"] *,
body .dashboard .pill[style*="6b2862"] *,
body .dashboard .pill[style*="#6B2862"] *,
body .dashboard .pill[style*="#55204e"] *,
body .dashboard .pill[style*="#55204E"] *,
body .dashboard .pill[style*="#3d1737"] *,
body .dashboard .pill[style*="#3D1737"] *,
body .dashboard .match-badge[style*="background"] *,
body .dashboard .job-match-reason[style*="background"] *,
body .dashboard .region-badge[style*="background"] *,
body .dashboard .vaga-region-badge[style*="background"] *,
body .dashboard .status-chip[style*="background"] * {
  color: #ffffff !important;
}

body .dashboard input[type="date"],
body .dashboard input[type="month"] {
  min-height: 44px !important;
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  padding-left: 0.82rem !important;
  padding-right: 2.75rem !important;
  border-radius: 10px !important;
  font-family: inherit !important;
}

body .dashboard input[type="date"]::-webkit-calendar-picker-indicator,
body .dashboard input[type="month"]::-webkit-calendar-picker-indicator {
  width: 1.2rem !important;
  height: 1.2rem !important;
  padding: 0.25rem !important;
  margin-right: -0.35rem !important;
  border-radius: 8px !important;
  background-color: #fff3d6 !important;
  cursor: pointer !important;
  opacity: 0.88 !important;
}

body .dashboard .fretei-date-trigger,
body .dashboard .fretei-date-popover,
body .dashboard .table-wrapper,
body .dashboard .admin-user-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .minhas-vagas-table-actions {
  min-width: 0 !important;
}

body .dashboard .admin-actions-cell,
body .dashboard .cliente-actions-cell {
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
}

body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .admin-user-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
}

body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .admin-user-actions > *,
body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .admin-job-actions form,
body .dashboard .admin-user-actions form,
body .dashboard .minhas-vagas-table-actions form {
  flex: 0 0 auto !important;
}

body .dashboard .fretei-file-control {
  align-items: stretch !important;
}

body .dashboard .fretei-file-name {
  color: #52627a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Release stabilization pass: compact, readable controls without horizontal spill. */
body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 0.9rem !important;
}

body .dashboard .admin-system-pill {
  min-height: 94px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 1rem !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-system-pill span {
  font-size: 0.72rem !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
}

body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 0.9rem !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid > *,
body .dashboard .marketplace-quality-grid > * {
  min-height: 112px !important;
}

body .dashboard .admin-actions-cell,
body .dashboard .cliente-actions-cell,
body .dashboard td:last-child,
body .dashboard th:last-child {
  min-width: 174px !important;
  width: 174px !important;
}

body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .admin-user-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
  overflow: visible !important;
  min-width: 0 !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .admin-user-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-user-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: 92px !important;
  max-width: none !important;
  padding: 0.72rem 0.82rem !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

body .dashboard .btn-danger,
body .dashboard .btn-primary,
body .dashboard .btn-dark,
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#6b2862"] {
  color: #ffffff !important;
}

body .dashboard .btn-danger *,
body .dashboard .btn-primary *,
body .dashboard .btn-dark *,
body .dashboard .btn[style*="#3d1737"] *,
body .dashboard .btn[style*="#55204e"] *,
body .dashboard .btn[style*="#6b2862"] * {
  color: #ffffff !important;
}

body .dashboard .fretei-file-control {
  min-height: 3.15rem !important;
  grid-template-columns: minmax(136px, auto) minmax(0, 1fr) !important;
  gap: 0.8rem !important;
  padding: 0.42rem !important;
}

body .dashboard .fretei-file-button {
  min-width: 136px !important;
  max-width: 180px !important;
  justify-content: center !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

body .dashboard .fretei-file-button::before,
body .dashboard .fretei-file-button::after {
  content: none !important;
}

body .dashboard .fretei-file-button.is-bad-label,
body .dashboard .fretei-file-button:empty {
  font-size: 0 !important;
}

body .dashboard .fretei-file-button.is-bad-label::after,
body .dashboard .fretei-file-button:empty::after {
  content: "Escolher arquivo" !important;
  display: inline !important;
  font-size: 0.9rem !important;
}

body .dashboard .fretei-date-trigger {
  min-height: 3.15rem !important;
  border-radius: 12px !important;
}

body .dashboard .fretei-date-popover {
  width: min(300px, calc(100vw - 36px)) !important;
  border-radius: 12px !important;
  padding: 0.85rem !important;
}

body .dashboard .fretei-month-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
}

body .dashboard .fretei-date-cell {
  height: 2.15rem !important;
  border-radius: 8px !important;
}

/* Cliente: filtros e tabela de vagas cabendo em 100% sem barra horizontal. */
body .dashboard .candidate-filter-auto-rejected {
  font-size: 0.76rem !important;
  line-height: 1.1 !important;
  padding: 0.54rem 0.64rem !important;
  min-width: 0 !important;
  max-width: 190px !important;
  white-space: nowrap !important;
  gap: 0.32rem !important;
}

body .dashboard .minhas-vagas-table-desktop .table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .minhas-vagas-table-compact {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}

body .dashboard .minhas-vagas-table-compact th,
body .dashboard .minhas-vagas-table-compact td {
  padding: 0.76rem 0.72rem !important;
  font-size: 0.82rem !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .minhas-vagas-table-compact th:nth-child(1) { width: 28% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(2) { width: 10% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(3) { width: 11% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(4) { width: 12% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(5) { width: 15% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(6) { width: 10% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(7) { width: 14% !important; }

body .dashboard .minhas-vagas-table-compact .cliente-job-cell strong {
  display: block !important;
  max-width: 100% !important;
  font-size: 0.88rem !important;
  line-height: 1.22 !important;
  font-weight: 760 !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-location {
  margin-top: 0.18rem !important;
  color: #31506f !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-metric {
  text-align: center !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-metric strong,
body .dashboard .minhas-vagas-table-compact .cliente-job-metric span,
body .dashboard .minhas-vagas-table-compact .cliente-job-metric small {
  display: block !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-metric strong {
  font-size: 0.94rem !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-metric span,
body .dashboard .minhas-vagas-table-compact .cliente-job-metric small,
body .dashboard .minhas-vagas-table-compact .cliente-job-quality,
body .dashboard .minhas-vagas-table-compact .cliente-job-quality * {
  font-size: 0.74rem !important;
}

body .dashboard .minhas-vagas-table-compact th:last-child,
body .dashboard .minhas-vagas-table-compact td.cliente-actions-cell {
  width: 148px !important;
  min-width: 148px !important;
  max-width: 148px !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions {
  gap: 0.32rem !important;
  justify-content: flex-end !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions .btn-icon {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  flex-basis: 32px !important;
  border-radius: 8px !important;
  font-size: 0.78rem !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions .btn-icon i {
  font-size: 0.78rem !important;
}

@media (max-width: 760px) {
  body .dashboard .admin-actions-cell,
  body .dashboard .cliente-actions-cell,
  body .dashboard td:last-child,
  body .dashboard th:last-child {
    min-width: 160px !important;
    width: 160px !important;
  }

  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Fretei component pass: final visual stabilization from ui-fretei patterns. */
:root {
  --fretei-ui-primary: #4b123d;
  --fretei-ui-primary-strong: #3d0f33;
  --fretei-ui-primary-foreground: #ffffff;
  --fretei-ui-accent: #ffb52e;
  --fretei-ui-accent-foreground: #2a0b24;
  --fretei-ui-border: #cbd7e6;
  --fretei-ui-muted: #f6f8fb;
  --fretei-ui-text: #1b1020;
  --fretei-ui-subtle: #607089;
  --fretei-ui-ring: rgba(75, 18, 61, 0.22);
  --fretei-ui-radius: 10px;
}

body .dashboard .btn,
body .dashboard button,
body .auth-form .btn,
body .auth-form button {
  letter-spacing: 0 !important;
}

body .dashboard .btn-primary,
body .dashboard .btn-dark,
body .dashboard .btn-purple,
body .dashboard .btn-danger,
body .dashboard .btn-success,
body .dashboard .btn[style*="#4b123d"],
body .dashboard .btn[style*="#4B123D"],
body .dashboard .btn[style*="#3d0f33"],
body .dashboard .btn[style*="#3D0F33"],
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#3D1737"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#55204E"],
body .dashboard .btn[style*="#6b2862"],
body .dashboard .btn[style*="#6B2862"],
body .dashboard .btn[style*="var(--primary"],
body .dashboard .btn[style*="var(--danger"] {
  color: #ffffff !important;
}

body .dashboard .btn-primary *,
body .dashboard .btn-dark *,
body .dashboard .btn-purple *,
body .dashboard .btn-danger *,
body .dashboard .btn-success *,
body .dashboard .btn[style*="#4b123d"] *,
body .dashboard .btn[style*="#4B123D"] *,
body .dashboard .btn[style*="#3d0f33"] *,
body .dashboard .btn[style*="#3D0F33"] *,
body .dashboard .btn[style*="#3d1737"] *,
body .dashboard .btn[style*="#3D1737"] *,
body .dashboard .btn[style*="#55204e"] *,
body .dashboard .btn[style*="#55204E"] *,
body .dashboard .btn[style*="#6b2862"] *,
body .dashboard .btn[style*="#6B2862"] *,
body .dashboard .btn[style*="var(--primary"] *,
body .dashboard .btn[style*="var(--danger"] * {
  color: #ffffff !important;
}

body .dashboard .badge[style*="background"],
body .dashboard .pill[style*="background"],
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-badge,
body .dashboard .job-match-reason,
body .dashboard .match-reason,
body .dashboard .driver-option-chip-purple,
body .dashboard input:checked + .driver-option-chip,
body .dashboard input:checked + .driver-option-chip-purple {
  color: #ffffff !important;
}

body .dashboard .badge[style*="background"] *,
body .dashboard .pill[style*="background"] *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-badge *,
body .dashboard .job-match-reason *,
body .dashboard .match-reason *,
body .dashboard .driver-option-chip-purple *,
body .dashboard input:checked + .driver-option-chip *,
body .dashboard input:checked + .driver-option-chip-purple * {
  color: #ffffff !important;
}

/* Taxonomia operacional: veículos e carrocerias/reboques */
.vf-option-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

.vf-option-groups--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vf-option-groups--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vf-option-group {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.vf-option-group-title {
  margin: 0 0 0.45rem;
  color: var(--primary-dark, #3a0f32);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vf-option-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 38px;
  margin: 0 0 0.45rem;
  padding: 0.48rem 0.62rem;
  border: 1px solid var(--border, #cbd5e1);
  border-radius: 8px;
  background: #fff;
  color: var(--text-dark, #111827);
  cursor: pointer;
}

.vf-option-pill input {
  flex: 0 0 auto;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--primary-mid, #55204e);
}

.vf-option-pill span {
  min-width: 0;
  color: var(--text-dark, #111827);
  font-weight: 650;
  line-height: 1.2;
}

.vf-option-pill:has(input:checked) {
  border-color: var(--primary-mid, #55204e);
  background: var(--warning-light);
  box-shadow: 0 0 0 1px rgba(85, 32, 78, 0.08);
}

@media (max-width: 900px) {
  .vf-option-groups,
  .vf-option-groups--two,
  .vf-option-groups--three {
    grid-template-columns: 1fr;
  }
}

.vf-benefit-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, max-content));
  gap: 0.62rem 0.78rem;
  align-items: start;
}

.vf-benefit-option {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  cursor: pointer;
}

.vf-benefit-option input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--success, #10b981);
}

.vf-benefit-option .badge-beneficio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.38rem !important;
  max-width: 100%;
  white-space: normal;
}

.vf-benefit-option .badge-beneficio i {
  flex: 0 0 auto;
  margin: 0 !important;
}

body .dashboard .table-wrapper,
body .dashboard .responsive-table,
body .dashboard .table-card {
  max-width: 100% !important;
}

body .dashboard .admin-actions-cell,
body .dashboard .cliente-actions-cell,
body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td:last-child {
  min-width: 188px !important;
  width: 188px !important;
  max-width: 188px !important;
}

body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .admin-user-actions,
body .dashboard .minhas-vagas-table-actions,
body .dashboard .table-actions {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.55rem !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions form,
body .dashboard .table-actions form,
body .dashboard .minhas-vagas-table-actions form {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body .dashboard .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions .btn-icon,
body .dashboard .admin-user-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body .dashboard .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-user-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: 98px !important;
  max-width: none !important;
  min-height: 42px !important;
  padding: 0.65rem 0.9rem !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 0.85rem !important;
}

body .dashboard .admin-system-pill {
  min-height: 92px !important;
  padding: 1rem !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small,
body .dashboard .quality-grid span,
body .dashboard .quality-grid strong,
body .dashboard .marketplace-quality-grid span,
body .dashboard .marketplace-quality-grid strong {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 0.95rem !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-system-pill span {
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
}

body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 0.9rem !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid > *,
body .dashboard .marketplace-quality-grid > * {
  min-height: 112px !important;
  border-radius: 8px !important;
}

body .dashboard .fretei-date-field,
body .auth-form .fretei-date-field {
  width: 100% !important;
  min-width: 0 !important;
}

body .dashboard input[type="date"],
body .dashboard input[type="month"],
body .auth-form input[type="date"],
body .auth-form input[type="month"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .dashboard .fretei-date-trigger,
body .auth-form .fretei-date-trigger {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0.58rem 0.58rem 0.58rem 0.9rem !important;
  border: 1px solid var(--fretei-ui-border) !important;
  border-radius: var(--fretei-ui-radius) !important;
  background: #ffffff !important;
  color: var(--fretei-ui-text) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .dashboard .fretei-date-value,
body .auth-form .fretei-date-value {
  font-size: 0.94rem !important;
  font-weight: 600 !important;
  color: var(--fretei-ui-text) !important;
}

body .dashboard .fretei-date-icon,
body .auth-form .fretei-date-icon {
  width: 2.1rem !important;
  height: 2.1rem !important;
  flex: 0 0 2.1rem !important;
  border-radius: 10px !important;
  background: #fff4df !important;
  color: var(--fretei-ui-primary) !important;
}

body .dashboard .fretei-date-popover,
body .auth-form .fretei-date-popover {
  width: min(324px, calc(100vw - 32px)) !important;
  padding: 0.85rem !important;
  border: 1px solid var(--fretei-ui-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18) !important;
  z-index: 80 !important;
}

body .dashboard .fretei-date-head strong,
body .auth-form .fretei-date-head strong {
  font-size: 0.92rem !important;
  color: var(--fretei-ui-text) !important;
}

body .dashboard .fretei-date-cell,
body .auth-form .fretei-date-cell {
  height: 2.08rem !important;
  min-width: 0 !important;
  border-radius: 8px !important;
  font-size: 0.86rem !important;
  color: var(--fretei-ui-text) !important;
}

body .dashboard .fretei-date-cell.is-selected,
body .auth-form .fretei-date-cell.is-selected {
  background: var(--fretei-ui-primary) !important;
  color: #ffffff !important;
}

body .dashboard .fretei-date-footer button,
body .auth-form .fretei-date-footer button {
  color: var(--fretei-ui-primary) !important;
  font-weight: 700 !important;
}

body .dashboard .fretei-file-control,
body .auth-form .fretei-file-control {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0.36rem !important;
  display: grid !important;
  grid-template-columns: minmax(140px, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.75rem !important;
  border: 1px solid var(--fretei-ui-border) !important;
  border-radius: var(--fretei-ui-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .dashboard .fretei-file-button,
body .auth-form .fretei-file-button {
  min-width: 140px !important;
  max-width: 190px !important;
  min-height: 38px !important;
  padding: 0.56rem 0.8rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--fretei-ui-primary) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body .dashboard .fretei-file-button *,
body .auth-form .fretei-file-button * {
  color: #ffffff !important;
}

body .dashboard .fretei-file-button.is-bad-label,
body .auth-form .fretei-file-button.is-bad-label {
  font-size: 0 !important;
}

body .dashboard .fretei-file-button.is-bad-label::after,
body .auth-form .fretei-file-button.is-bad-label::after {
  content: "Selecionar arquivo" !important;
  font-size: 0.9rem !important;
}

body .dashboard .fretei-file-name,
body .auth-form .fretei-file-name {
  min-width: 0 !important;
  color: var(--fretei-ui-subtle) !important;
  font-size: 0.92rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body .dashboard input[type="file"].driver-profile-file-input,
body .dashboard input[type="file"].sr-only,
body .auth-form input[type="file"].sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body .dashboard .admin-actions-cell,
  body .dashboard .cliente-actions-cell,
  body .dashboard .admin-vagas-table th:last-child,
  body .dashboard .admin-vagas-table td:last-child {
    min-width: 172px !important;
    width: 172px !important;
    max-width: 172px !important;
  }

  body .dashboard .fretei-file-control,
  body .auth-form .fretei-file-control {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }

body .dashboard .fretei-file-button,
body .auth-form .fretei-file-button {
    max-width: none !important;
    width: 100% !important;
  }
}

/* Fretei entrega final: planos, calendarios e uploads em padrao premium */
body .plans-page .plans-cards-section {
  padding-top: 3rem !important;
}

body .plans-page .plans-grid-early {
  width: min(1180px, 100%) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body .plans-page .plano-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.7rem !important;
  padding: 1.35rem !important;
  border-radius: 16px !important;
  overflow: visible !important;
}

body .plans-page .plano-name {
  font-size: 1.02rem !important;
  line-height: 1.25 !important;
}

body .plans-page .plano-price {
  margin: 0.35rem 0 !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 0.18rem !important;
}

body .plans-page .plano-value {
  font-size: clamp(2.2rem, 4vw, 3.25rem) !important;
  line-height: 0.95 !important;
}

body .plans-page .plano-features {
  margin: 0.35rem 0 1rem !important;
  display: grid !important;
  gap: 0.55rem !important;
}

body .plans-page .plano-features li {
  min-height: 32px !important;
  padding-bottom: 0.45rem !important;
  font-size: 0.94rem !important;
  line-height: 1.35 !important;
}

body .plans-page .plano-card form,
body .plans-page .plano-card .btn-block,
body .plans-page .plano-card > .btn {
  margin-top: auto !important;
  width: 100% !important;
}

body .plans-page .plano-card .btn,
body .plans-page .plans-status-side .btn {
  min-height: 44px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: normal !important;
  text-align: center !important;
  color: #fff !important;
}

body .plans-page .plano-card .btn-outline {
  color: var(--primary-dark) !important;
}

body .plans-page .plans-status-banner {
  width: min(1180px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 16px !important;
}

body .plans-page .plans-status-side {
  min-width: 210px !important;
}

body .plans-page .plans-status-side .btn {
  width: 100% !important;
  white-space: nowrap !important;
}

body .dashboard .fretei-date-field,
body .auth-form .fretei-date-field {
  position: relative !important;
  width: 100% !important;
}

body .dashboard input[data-fretei-picker="ready"],
body .auth-form input[data-fretei-picker="ready"] {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .dashboard .fretei-date-trigger,
body .auth-form .fretei-date-trigger {
  min-height: 50px !important;
  border-radius: 14px !important;
  padding: 0.5rem 0.55rem 0.5rem 0.95rem !important;
  border-color: #cbd6e3 !important;
  background: #fff !important;
}

body .dashboard .fretei-date-value,
body .auth-form .fretei-date-value {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

body .dashboard .fretei-date-popover,
body .auth-form .fretei-date-popover {
  width: min(320px, calc(100vw - 32px)) !important;
  border-radius: 14px !important;
  padding: 0.8rem !important;
  border-color: #d7e0ea !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.2) !important;
}

body .dashboard .fretei-date-cell,
body .auth-form .fretei-date-cell {
  height: 2.18rem !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}

body .dashboard .fretei-date-cell.is-selected,
body .auth-form .fretei-date-cell.is-selected {
  background: var(--primary-dark) !important;
  color: #fff !important;
}

body .dashboard .fretei-file-control,
body .auth-form .fretei-file-control {
  min-height: 50px !important;
  border-radius: 14px !important;
  grid-template-columns: minmax(136px, auto) minmax(0, 1fr) !important;
  border-color: #cbd6e3 !important;
}

body .dashboard .fretei-file-button,
body .auth-form .fretei-file-button {
  min-height: 40px !important;
  border-radius: 10px !important;
  background: var(--primary-dark) !important;
  color: #fff !important;
  font-size: 0.88rem !important;
}

body .dashboard .fretei-file-button.is-bad-label::after,
body .dashboard .fretei-file-button:empty::after,
body .auth-form .fretei-file-button.is-bad-label::after,
body .auth-form .fretei-file-button:empty::after {
  content: "Escolher arquivo" !important;
  color: #fff !important;
  font-size: 0.88rem !important;
}

@media (max-width: 980px) {
  body .plans-page .plans-grid-early {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body .plans-page .plans-grid-early {
    grid-template-columns: 1fr !important;
  }

  body .plans-page .plans-status-banner {
    grid-template-columns: 1fr !important;
  }

  body .plans-page .plans-status-side {
    min-width: 0 !important;
    width: 100% !important;
    justify-items: stretch !important;
  }

  body .dashboard .fretei-file-control,
  body .auth-form .fretei-file-control {
    grid-template-columns: 1fr !important;
  }
}

/* Release guardrails 2026-06-29: final visual stabilization */
body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 14px !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill,
body .dashboard .admin-system-pill {
  min-height: 96px !important;
  grid-template-columns: 46px minmax(160px, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px !important;
}

body .dashboard .admin-system-pill > i,
body .dashboard .admin-system-pill .fas,
body .dashboard .admin-system-pill .fa {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
}

body .dashboard .admin-system-ribbon .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong,
body .dashboard .admin-system-ribbon .admin-system-pill p,
body .dashboard .admin-system-ribbon .admin-system-pill small,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 0.95rem !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  width: 92px !important;
  min-width: 92px !important;
  max-width: 92px !important;
  display: grid !important;
  grid-template-columns: 42px 42px !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: end !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  display: inline-flex !important;
  margin: 0 !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  font-size: 0 !important;
  color: transparent !important;
}

body .dashboard .admin-job-actions .btn-icon i,
body .dashboard .table-actions.admin-job-actions .btn-icon i {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

body .dashboard .admin-job-actions .btn-icon span,
body .dashboard .table-actions.admin-job-actions .btn-icon span,
body .dashboard .admin-job-actions .btn-icon::before,
body .dashboard .admin-job-actions .btn-icon::after,
body .dashboard .table-actions.admin-job-actions .btn-icon::before,
body .dashboard .table-actions.admin-job-actions .btn-icon::after {
  display: none !important;
  content: none !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon) i,
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) i {
  color: #fff !important;
  font-size: 1rem !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .match-reason-chip,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-badge,
body .dashboard .job-match-reason,
body .dashboard .match-reason,
body .dashboard .work-history-duration,
body .dashboard .vaga-tag.badge-purple,
body .dashboard .vaga-badge.badge-purple,
body .dashboard input:checked + .badge-cnh,
body .dashboard input:checked + .badge-veiculo,
body .dashboard input:checked + .badge-viagem,
body .dashboard input:checked + .badge-vinculo,
body .dashboard input:checked + .badge-curso,
body .dashboard input:checked + .badge-beneficio {
  background: var(--primary-mid, #55204e) !important;
  color: #fff !important;
  border-color: transparent !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .match-reason-chip *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-badge *,
body .dashboard .job-match-reason *,
body .dashboard .match-reason *,
body .dashboard .work-history-duration *,
body .dashboard .vaga-tag.badge-purple *,
body .dashboard .vaga-badge.badge-purple *,
body .dashboard input:checked + .badge-cnh *,
body .dashboard input:checked + .badge-veiculo *,
body .dashboard input:checked + .badge-viagem *,
body .dashboard input:checked + .badge-vinculo *,
body .dashboard input:checked + .badge-curso *,
body .dashboard input:checked + .badge-beneficio * {
  color: #fff !important;
}

body .dashboard .fretei-file-button,
body .auth-form .fretei-file-button {
  min-width: 136px !important;
  white-space: nowrap !important;
}

body .dashboard .fretei-file-button.is-bad-label,
body .auth-form .fretei-file-button.is-bad-label {
  font-size: 0 !important;
}

body .dashboard .fretei-file-button.is-bad-label::after,
body .auth-form .fretei-file-button.is-bad-label::after {
  content: attr(data-default-label) !important;
  color: #fff !important;
  font-size: 0.88rem !important;
}

body .dashboard .admin-job-actions details .analysis-popover,
body .dashboard .table-actions.admin-job-actions details .analysis-popover,
body .dashboard .admin-job-actions details .dropdown-menu,
body .dashboard .table-actions.admin-job-actions details .dropdown-menu {
  min-width: 280px !important;
  width: min(320px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions details .analysis-popover .btn,
body .dashboard .table-actions.admin-job-actions details .analysis-popover .btn,
body .dashboard .admin-job-actions details .dropdown-menu .btn,
body .dashboard .table-actions.admin-job-actions details .dropdown-menu .btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 0.7rem 0.9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  overflow: visible !important;
  font-size: 0.88rem !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  color: #fff !important;
}

/* Final dashboard patch (remaining overflow/stacking): action rows and readable status/metric cards */
body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table .admin-actions-cell,
body .dashboard .minhas-vagas-table td.cliente-actions-cell,
body .dashboard .minhas-vagas-table th:last-child,
body .dashboard .cliente-actions-cell {
  width: auto !important;
  min-width: 184px !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions,
body .dashboard .minhas-vagas-table-actions {
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 0.34rem !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

body .dashboard .admin-vagas-table .admin-job-actions form,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions form,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions form,
body .dashboard .minhas-vagas-table-actions form {
  display: inline-flex !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: auto !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
  white-space: nowrap !important;
}

body .dashboard .admin-priority-card span,
body .dashboard .admin-priority-card small,
body .dashboard .admin-priority-card strong,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small,
body .dashboard .stat-card .stat-label,
body .dashboard .stat-card .stat-num,
body .dashboard .admin-funnel-grid span,
body .dashboard .admin-funnel-grid strong,
body .dashboard .marketplace-quality-grid span,
body .dashboard .marketplace-quality-grid strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .match-reason-chip,
body .dashboard .driver-option-chip-purple,
body .dashboard .work-history-duration,
body .dashboard .vaga-tag.badge-purple,
body .dashboard .vaga-badge.badge-purple,
body .dashboard .status-chip.bg-purple,
body .dashboard .service-chip.urgent,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-badge,
body .dashboard .job-match-reason,
body .dashboard .match-reason,
body .dashboard .status-chip.primary {
  color: #fff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .match-reason-chip *,
body .dashboard .driver-option-chip-purple *,
body .dashboard .work-history-duration *,
body .dashboard .vaga-tag.badge-purple *,
body .dashboard .vaga-badge.badge-purple *,
body .dashboard .status-chip.bg-purple *,
body .dashboard .service-chip.urgent *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-badge *,
body .dashboard .job-match-reason *,
body .dashboard .match-reason *,
body .dashboard .status-chip.primary * {
  color: #fff !important;
}

/* Precision fix (2026-06-29): stable admin dashboard readability + action spacing + purple contrast edge states. */
body .dashboard .admin-system-ribbon .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong,
body .dashboard .admin-system-ribbon .admin-system-pill p,
body .dashboard .admin-system-ribbon .admin-system-pill small,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  width: max-content !important;
  max-width: none !important;
  flex-wrap: nowrap !important;
  gap: 0.42rem !important;
}

body .dashboard .admin-vagas-table .admin-job-actions > *,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > * {
  flex: 0 0 auto !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0.45rem !important;
  padding-right: 0.45rem !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .vaga-tag.badge-purple,
body .dashboard .vaga-badge.badge-purple,
body .dashboard .match-reason-chip,
body .dashboard .status-chip.bg-purple,
body .dashboard .status-chip.primary,
body .dashboard .service-chip.urgent,
body .dashboard .btn[style*="var(--primary-dark)"],
body .dashboard .btn[style*="var(--primary-mid)"],
body .dashboard .btn[style*="#6b2862"],
body .dashboard .btn[style*="#6B2862"],
body .dashboard .btn[style*="#55204e"],
body .dashboard .btn[style*="#55204E"],
body .dashboard .btn[style*="#3d1737"],
body .dashboard .btn[style*="#3D1737"] {
  color: #ffffff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .vaga-tag.badge-purple *,
body .dashboard .vaga-badge.badge-purple *,
body .dashboard .match-reason-chip *,
body .dashboard .status-chip.bg-purple *,
body .dashboard .status-chip.primary *,
body .dashboard .service-chip.urgent *,
body .dashboard .btn[style*="var(--primary-dark)"] *,
body .dashboard .btn[style*="var(--primary-mid)"] *,
body .dashboard .btn[style*="#6b2862"] *,
body .dashboard .btn[style*="#6B2862"] *,
body .dashboard .btn[style*="#55204e"] *,
body .dashboard .btn[style*="#55204E"] *,
body .dashboard .btn[style*="#3d1737"] *,
body .dashboard .btn[style*="#3D1737"] * {
  color: #ffffff !important;
}

body .fretei-file-button.is-bad-label {
  color: transparent !important;
  font-size: 0 !important;
}

body .fretei-file-button.is-bad-label::after {
  content: attr(data-default-label) !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
}

/* Final edge-lock for the exact reported regressions: stable status cards, non-overlapping job actions, white-on-purple, and guarded file-button fallback. */
body .admin-system-ribbon,
body .dashboard .admin-system-ribbon {
  overflow: visible !important;
}

body .admin-system-pill,
body .dashboard .admin-system-pill {
  min-width: 0 !important;
}

body .admin-system-pill span,
body .admin-system-pill strong,
body .admin-system-ribbon .admin-system-pill span,
body .admin-system-ribbon .admin-system-pill strong,
body .dashboard .admin-system-pill span,
body .dashboard .admin-system-ribbon .admin-system-pill strong {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

body .admin-job-actions,
body .table-actions.admin-job-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .admin-vagas-table .admin-job-actions,
body .admin-vagas-table .table-actions.admin-job-actions,
body .minhas-vagas-table-actions {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.42rem !important;
  width: max-content !important;
}

body .admin-job-actions > *,
body .table-actions.admin-job-actions > *,
body .admin-vagas-table .admin-job-actions > *,
body .admin-vagas-table .table-actions.admin-job-actions > *,
body .minhas-vagas-table-actions > * {
  flex: 0 0 auto !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
}

body .admin-job-actions .btn-icon,
body .table-actions.admin-job-actions .btn-icon,
body .admin-vagas-table .admin-job-actions .btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .admin-job-actions .btn-sm.btn-icon,
body .table-actions.admin-job-actions .btn-sm.btn-icon,
body .admin-vagas-table .admin-job-actions .btn-sm.btn-icon,
body .admin-vagas-table .table-actions.admin-job-actions .btn-sm.btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
}

body .btn[style*="var(--primary-dark)"],
body .btn[style*="var(--primary-mid)"],
body .btn[style*="#55204e"],
body .btn[style*="#55204E"],
body .btn[style*="#3d1737"],
body .btn[style*="#3D1737"],
body .btn[style*="#6b2862"],
body .btn[style*="#6B2862"] {
  color: #ffffff !important;
}

body .btn[style*="var(--primary-dark)"] *,
body .btn[style*="var(--primary-mid)"] *,
body .btn[style*="#55204e"] *,
body .btn[style*="#55204E"] *,
body .btn[style*="#3d1737"] *,
body .btn[style*="#3D1737"] *,
body .btn[style*="#6b2862"] *,
body .btn[style*="#6B2862"] * {
  color: #ffffff !important;
}

body .fretei-file-button,
body .auth-form .fretei-file-button,
body .dashboard .fretei-file-button {
  min-width: 136px !important;
  font-size: 0.88rem !important;
}

body .fretei-file-button:not(.is-bad-label):empty {
  color: transparent !important;
}

body .fretei-file-button:not(.is-bad-label):empty::after {
  content: attr(data-default-label) !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
}

/* Release lock 2026-06-29: no clipped admin actions, no broken system words, no NaN file buttons. */
body .dashboard .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)) !important;
  gap: 12px !important;
}

@media (min-width: 1280px) {
  body .dashboard .admin-system-ribbon {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

body .dashboard .admin-system-ribbon .admin-system-pill,
body .dashboard .admin-system-pill {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-height: 92px !important;
  gap: 12px !important;
  padding: 16px !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 0.92rem !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill small {
  font-size: 0.76rem !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-actions-cell {
  width: auto !important;
  min-width: 150px !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions > *,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions > *,
body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .admin-vagas-table .admin-job-actions form,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions form,
body .dashboard .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  font-size: 0 !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon i,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon i,
body .dashboard .admin-job-actions .btn-icon i,
body .dashboard .table-actions.admin-job-actions .btn-icon i {
  color: #fff !important;
  font-size: 1rem !important;
  margin: 0 !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  width: auto !important;
  min-width: 88px !important;
  max-width: none !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 0.8rem !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: #fff !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-sm:not(.btn-icon) *,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-sm:not(.btn-icon) *,
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon) *,
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) * {
  color: #fff !important;
}

body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-reason,
body .dashboard .match-reason-chip,
body .dashboard .job-match-reason,
body .dashboard .work-history-duration,
body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .status-chip.primary,
body .dashboard .status-chip.bg-purple {
  background: var(--primary-mid, #55204e) !important;
  color: #fff !important;
}

body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-reason *,
body .dashboard .match-reason-chip *,
body .dashboard .job-match-reason *,
body .dashboard .work-history-duration *,
body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .status-chip.primary *,
body .dashboard .status-chip.bg-purple * {
  color: #fff !important;
}

body .dashboard .admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body .dashboard .admin-funnel-grid > *,
body .dashboard .marketplace-quality-grid > * {
  min-width: 0 !important;
  width: 100% !important;
}

body .fretei-file-button,
body .auth-form .fretei-file-button,
body .dashboard .fretei-file-button {
  color: #fff !important;
  font-size: 0.88rem !important;
}

body .fretei-file-button::before,
body .fretei-file-button::after,
body .fretei-file-button.is-bad-label::before,
body .fretei-file-button.is-bad-label::after,
body .fretei-file-button:empty::before,
body .fretei-file-button:empty::after {
  content: none !important;
  display: none !important;
}

/* Release lock 2026-06-29: final QA overrides for clipped actions/files/chips */
body .dashboard .minhas-vagas-table th:last-child,
body .dashboard .minhas-vagas-table td.cliente-actions-cell {
  min-width: 260px !important;
  width: 260px !important;
  max-width: 280px !important;
  overflow: visible !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions > *,
body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .minhas-vagas-table .minhas-vagas-table-actions form,
body .dashboard .minhas-vagas-table-actions form {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-width: 88px !important;
  max-width: 100% !important;
  height: 40px !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
  color: #fff !important;
}

body .dashboard .fretei-file-name,
body .auth-form .fretei-file-name,
body .fretei-file-name {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
}

body .dashboard .badge-purple,
body .dashboard .badge-primary,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .match-reason,
body .dashboard .match-reason-chip,
body .dashboard .job-match-reason,
body .dashboard .work-history-duration,
body .dashboard .status-chip.primary,
body .dashboard .status-chip.bg-purple {
  background: var(--primary-mid, #55204e) !important;
  color: #fff !important;
}

body .dashboard .badge-purple *,
body .dashboard .badge-primary *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .match-reason *,
body .dashboard .match-reason-chip *,
body .dashboard .job-match-reason *,
body .dashboard .work-history-duration *,
body .dashboard .status-chip.primary *,
body .dashboard .status-chip.bg-purple * {
  color: #fff !important;
}

/* Release lock 2026-06-29 final: UI overflow and field polish */
body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  align-items: stretch !important;
}

body .dashboard .admin-system-pill {
  min-width: 0 !important;
  overflow: hidden !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
}

body .fretei-file-button.is-bad-label,
body .auth-form .fretei-file-button.is-bad-label,
body .dashboard .fretei-file-button.is-bad-label {
  font-size: 0 !important;
}

body .fretei-file-button.is-bad-label::after,
body .auth-form .fretei-file-button.is-bad-label::after,
body .dashboard .fretei-file-button.is-bad-label::after {
  content: attr(data-default-label) !important;
  display: inline !important;
  font-size: 0.88rem !important;
  color: #fff !important;
}

body .badge-purple,
body .badge-primary,
body .region-badge,
body .vaga-region-badge,
body .match-reason,
body .match-reason-chip,
body .job-match-reason,
body .work-history-duration,
body .status-chip.primary,
body .status-chip.bg-purple {
  background: var(--primary-mid, #55204e) !important;
  color: #fff !important;
}

body .badge-purple *,
body .badge-primary *,
body .region-badge *,
body .vaga-region-badge *,
body .match-reason *,
body .match-reason-chip *,
body .job-match-reason *,
body .work-history-duration *,
body .status-chip.primary *,
body .status-chip.bg-purple * {
  color: #fff !important;
}

body .fretei-date-field {
  border: 1px solid var(--border, #cbd5e1) !important;
  border-radius: 12px !important;
  background: #fff !important;
  min-height: 54px !important;
  padding: 0 14px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body .fretei-date-trigger {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background: var(--warning-light) !important;
  color: var(--primary-dark) !important;
}

/* Delivery lock 2026-06-29: stop dashboard/card text clipping and align ATS cards */
body .dashboard .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
  gap: 12px !important;
}

body .dashboard .admin-system-pill,
body .dashboard .admin-system-ribbon .admin-system-pill {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 92px !important;
  padding: 16px !important;
  overflow: visible !important;
}

body .dashboard .admin-system-pill > i,
body .dashboard .admin-system-ribbon .admin-system-pill > i {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.25 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

body .dashboard .admin-system-pill span {
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 1rem !important;
}

body .dashboard .quality-grid.admin-funnel-grid,
body .dashboard .marketplace-quality-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(128px, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid > div,
body .dashboard .marketplace-quality-grid > div,
body .dashboard .marketplace-quality-grid > * {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 18px !important;
  border: 1px solid var(--border, #d5deea) !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  overflow: visible !important;
}

body .dashboard .quality-grid.admin-funnel-grid strong,
body .dashboard .marketplace-quality-grid strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 1.4rem !important;
  line-height: 1.1 !important;
  color: var(--text-dark, #1f2937) !important;
}

body .dashboard .quality-grid.admin-funnel-grid span,
body .dashboard .marketplace-quality-grid span {
  display: block !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  color: #66758c !important;
}

body .dashboard table .btn,
body .dashboard table .btn-sm,
body .dashboard table .btn-icon {
  white-space: nowrap !important;
  min-width: max-content !important;
}

/* Final QA lock 2026-06-30: readable admin health cards and compact client jobs table. */
body .dashboard .admin-system-ribbon {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  align-items: stretch !important;
}

body .dashboard .admin-system-pill,
body .dashboard .admin-system-ribbon .admin-system-pill {
  min-width: 0 !important;
  min-height: 92px !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  white-space: normal !important;
}

body .dashboard .admin-system-pill strong {
  max-width: 100% !important;
}

body .dashboard .minhas-vagas-table {
  table-layout: auto !important;
}

body .dashboard .minhas-vagas-table th:first-child,
body .dashboard .minhas-vagas-table td:first-child {
  min-width: 220px !important;
  width: 24% !important;
}

body .dashboard .minhas-vagas-table .job-title-cell {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}

body .dashboard .minhas-vagas-table .job-metrics-cell {
  min-width: 150px !important;
  white-space: normal !important;
}

@media (max-width: 1280px) {
  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Delivery override: desfaz locks que estavam espremendo textos e acoes. */
body .dashboard .admin-system-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body .dashboard .admin-system-pill,
body .dashboard .admin-system-ribbon .admin-system-pill {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 96px !important;
  padding: 18px !important;
}

body .dashboard .admin-system-pill span,
body .dashboard .admin-system-pill strong,
body .dashboard .admin-system-pill p,
body .dashboard .admin-system-pill small {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
  line-height: 1.35 !important;
}

body .dashboard .admin-system-pill strong {
  font-size: 1rem !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td:last-child {
  width: 178px !important;
  min-width: 178px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 154px !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 38px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) {
  width: auto !important;
  min-width: 96px !important;
  max-width: none !important;
  height: 38px !important;
  padding: 0 12px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

body .dashboard .admin-job-actions .btn-sm:not(.btn-icon) span,
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon) span {
  display: inline !important;
}

body .dashboard .minhas-vagas-table {
  table-layout: auto !important;
}

body .dashboard .minhas-vagas-table th:last-child,
body .dashboard .minhas-vagas-table td.cliente-actions-cell {
  width: 236px !important;
  min-width: 236px !important;
  max-width: 236px !important;
}

body .dashboard .minhas-vagas-table .minhas-vagas-table-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 224px !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .minhas-vagas-table-actions form {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

body .dashboard .minhas-vagas-table-actions .btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
}

body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  width: auto !important;
  min-width: 94px !important;
  max-width: none !important;
  height: 38px !important;
  padding: 0 10px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

body .dashboard .minhas-vagas-table-actions .btn span {
  display: inline !important;
}

/* Impeccable consolidation: table actions stay responsive without shrinking below touch-safe targets. */
body .dashboard .table-actions,
body .dashboard .admin-job-actions,
body .dashboard .table-actions.admin-job-actions,
body .dashboard .minhas-vagas-table-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body .dashboard .table-actions > *,
body .dashboard .admin-job-actions > *,
body .dashboard .table-actions.admin-job-actions > *,
body .dashboard .minhas-vagas-table-actions > *,
body .dashboard .table-actions form,
body .dashboard .admin-job-actions form,
body .dashboard .table-actions.admin-job-actions form,
body .dashboard .minhas-vagas-table-actions form {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body .dashboard .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .table-actions .btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-icon,
body .dashboard .admin-job-actions .btn-sm.btn-icon,
body .dashboard .table-actions .btn-sm.btn-icon,
body .dashboard .table-actions.admin-job-actions .btn-sm.btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-sm.btn-icon {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body .dashboard .btn-sm:not(.btn-icon),
body .dashboard .admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions .btn-sm:not(.btn-icon),
body .dashboard .table-actions.admin-job-actions .btn-sm:not(.btn-icon),
body .dashboard .minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-height: 44px !important;
  height: auto !important;
  min-width: 96px !important;
  max-width: 100% !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-table th:last-child,
body .dashboard .admin-vagas-table td:last-child,
body .dashboard .minhas-vagas-table th:last-child,
body .dashboard .minhas-vagas-table td.cliente-actions-cell {
  width: auto !important;
  min-width: 188px !important;
  max-width: none !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-vagas-table th:last-child,
  body .dashboard .admin-vagas-table td:last-child,
  body .dashboard .minhas-vagas-table th:last-child,
  body .dashboard .minhas-vagas-table td.cliente-actions-cell {
    min-width: 0 !important;
  }

  body .dashboard .table-actions,
  body .dashboard .admin-job-actions,
  body .dashboard .table-actions.admin-job-actions,
  body .dashboard .minhas-vagas-table-actions {
    justify-content: flex-start !important;
  }
}

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

body .dashboard .match-reason,
body .dashboard .match-reason-chip,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .work-history-duration,
body .dashboard .profile-chip,
body .dashboard .option-chip,
body .dashboard .badge-purple {
  background: #FEF3C7 !important;
  color: #3D1737 !important;
  border: 1px solid rgba(242,165,13,.34) !important;
}

body .dashboard .match-reason *,
body .dashboard .match-reason-chip *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .work-history-duration *,
body .dashboard .profile-chip *,
body .dashboard .option-chip *,
body .dashboard .badge-purple * {
  color: #3D1737 !important;
}

.h1-dream-form select,
.h1-dream-form input[type="text"] {
  background-color: #fff !important;
  color: #2b1027 !important;
  border: 1px solid #e5d8e8 !important;
  border-radius: 12px !important;
  min-height: 48px !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
}

.h1-dream-form select option,
.h1-dream-form select optgroup {
  background: #fff !important;
  color: #2b1027 !important;
}

@media (max-width: 1180px) {
  body .dashboard .minhas-vagas-table-desktop {
    display: none !important;
  }

  body .dashboard .minhas-vagas-mobile {
    display: grid !important;
  }
}

@media (max-width: 720px) {
  body .dashboard .admin-command-hero.workspace-hero {
    min-height: 0 !important;
    padding: 24px 22px !important;
    gap: 18px !important;
    align-items: flex-start !important;
  }

  body .dashboard .admin-command-hero .workspace-actions {
    margin-top: 0 !important;
  }

  body .dashboard .admin-command-hero .workspace-actions .btn {
    min-height: 44px !important;
  }

  body .dashboard .admin-system-ribbon,
  body .dashboard .quality-grid.admin-funnel-grid,
  body .dashboard .marketplace-quality-grid {
    grid-template-columns: 1fr !important;
  }
}

body .dashboard .service-card-compact {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

body .dashboard .service-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .6rem;
  margin-bottom: .8rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
}

body .dashboard .service-chip-vaga {
  background: var(--warning-light);
  color: var(--primary-dark);
  border: 1px solid rgba(242,165,13,.34);
}

body .dashboard .service-chip-package {
  background: var(--warning-light);
  color: var(--primary-dark);
}

body .dashboard .service-plan-name {
  margin-bottom: .5rem;
  font-size: 1.2rem;
}

body .dashboard .service-plan-description {
  margin-bottom: 1rem;
  color: var(--text-body);
  font-size: .9rem;
}

body .dashboard .service-plan-price {
  margin-bottom: 1.5rem;
}

body .dashboard .service-plan-price-value {
  color: var(--primary-dark);
  font-size: 2rem;
  font-weight: 700;
}

body .dashboard .service-status-note {
  padding: .75rem;
  margin-bottom: 1rem;
  border-radius: var(--radius-md);
  background: var(--bg-lighter);
  color: var(--text-body);
  font-size: .85rem;
  line-height: 1.35;
}

body .dashboard .service-status-note-success {
  background: var(--success-light);
  color: var(--success-dark);
  text-align: center;
}

body .dashboard .job-quality-rating,
body .dashboard .job-quality-score {
  color: var(--warning);
  font-weight: 800;
}

body .dashboard .job-quality-score .fa-star,
body .dashboard .job-quality-rating .fa-star {
  color: var(--accent-yellow);
}

body .dashboard .job-performance-warning,
body .dashboard .conversion-warning {
  color: var(--danger);
  font-weight: 600;
}

body .dashboard .metric-muted,
body .dashboard .metric-success {
  text-align: center;
}

body .dashboard .metric-muted {
  color: var(--text-muted);
}

body .dashboard .metric-success {
  color: var(--success);
}

body .dashboard .conversion-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--bg-lighter);
  color: var(--text-dark);
  font-size: .8rem;
  font-weight: 700;
}

body .dashboard .conversion-warning {
  margin-top: 4px;
  font-size: .7rem;
}

/* Product typography pass: denser, quieter controls without hurting readability. */
.btn {
  min-height: 40px !important;
  padding: .5rem 1.05rem !important;
  border-width: 1px !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.btn-sm {
  min-height: 32px !important;
  padding: .32rem .68rem !important;
  border-radius: 8px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

.btn-lg {
  min-height: 42px !important;
  padding: .58rem 1.2rem !important;
  border-radius: 8px !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
}

.table-actions .btn-sm:not(.btn-icon),
.admin-job-actions .btn-sm:not(.btn-icon),
.admin-user-actions .btn-sm:not(.btn-icon),
.minhas-vagas-table-actions .btn-sm:not(.btn-icon) {
  min-height: 32px !important;
  padding: .32rem .62rem !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.page-title {
  font-size: 1.55rem;
  line-height: 1.2;
}

.page-subtitle {
  font-size: .92rem;
}

.table-card-title {
  font-size: .94rem;
}

.dashboard table {
  font-size: .86rem;
}

.dashboard th,
.dashboard td {
  line-height: 1.35;
}

.form-label {
  font-size: .82rem;
}

.form-control {
  font-size: .9rem;
}

/* Auth polish: compact conversion forms with consistent CTA hierarchy. */
.auth-page .auth-right {
  padding: 1.35rem 2.1rem !important;
}

.auth-page .auth-logo {
  margin-bottom: .75rem !important;
}

.auth-page .auth-title {
  font-size: 1.18rem !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
}

.auth-page .auth-subtitle {
  margin-bottom: .85rem !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
}

.auth-page .form-group {
  margin-bottom: .58rem !important;
}

.auth-page .form-label {
  margin-bottom: .24rem !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

.auth-page .form-control,
.auth-page .auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.auth-page .auth-form select,
.auth-page .auth-form textarea {
  min-height: 42px !important;
  padding: .56rem .78rem !important;
  border-radius: 8px !important;
  font-size: .86rem !important;
}

.auth-page .btn,
.auth-page button[type="submit"],
.auth-page .auth-register-submit {
  min-height: 40px !important;
  padding: .54rem 1rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.auth-page .btn-primary,
.auth-page button[type="submit"].btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 6px 14px rgba(255,187,51,.18) !important;
}

.auth-page .btn-primary:hover,
.auth-page button[type="submit"].btn-primary:hover {
  background: var(--accent-amber) !important;
  border-color: var(--accent-amber) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 8px 18px rgba(255,187,51,.24) !important;
}

.auth-page .auth-register-submit.driver-register-submit {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

.auth-page .auth-register-submit.driver-register-submit i,
.auth-page .auth-register-submit.driver-register-submit * {
  color: var(--primary-dark) !important;
}

.auth-page .auth-link,
.auth-page .auth-link-row {
  font-size: .82rem !important;
}

/* Public support polish: quieter help/contact surfaces. */
.contact-hero .section-tag,
.help-hero .section-tag,
.contact-layout .section-tag,
.faq-grid .section-tag,
.help-categories-grid .section-tag,
.accordion-group .section-tag,
.section .section-tag {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.contact-hero h1,
.help-hero h1 {
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  font-weight: 800 !important;
}

.contact-info h3,
.help-category-card h4,
.faq-question,
.accordion-header {
  font-weight: 750 !important;
}

.contact-layout {
  gap: 2rem !important;
}

.contact-info > p,
.contact-item p,
.faq-answer,
.accordion-content p {
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.contact-form .form-group {
  margin-bottom: .65rem !important;
}

.contact-form .form-label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  margin-bottom: .24rem !important;
}

.contact-form .form-control,
.help-search-bar input {
  min-height: 42px !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
}

.contact-form textarea.form-control {
  min-height: 118px !important;
}

.contact-form .btn,
.section .btn[href="/contato"] {
  min-height: 40px !important;
  padding: .54rem 1rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 6px 14px rgba(255,187,51,.18) !important;
}

.contact-form .btn:hover,
.section .btn[href="/contato"]:hover {
  background: var(--accent-amber) !important;
  border-color: var(--accent-amber) !important;
  color: var(--primary-dark) !important;
}

.contact-item,
.faq-item,
.help-category-card,
.accordion-item {
  border-radius: 8px !important;
}

.faq-item,
.help-category-card {
  box-shadow: 0 8px 18px rgba(15,23,42,.05) !important;
}

/* Institutional polish: about/company pages without oversized CTAs. */
.about-hero .section-tag,
.about-hero .about-stat-label,
.about-card h3,
.feature-item h4,
.team-role,
.testimonial-author,
.b2b-hero .section-tag {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.about-hero h1,
.section-header h2 {
  letter-spacing: 0 !important;
}

.about-hero h1 {
  font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: .98 !important;
  margin-bottom: 1rem !important;
}

.about-hero-text,
.about-card p,
.feature-item p,
.team-card p,
.testimonial-text {
  font-size: .92rem !important;
  line-height: 1.58 !important;
}

.about-card,
.feature-item,
.team-card,
.testimonial-card {
  border-radius: 12px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.05) !important;
}

.about-card h3,
.feature-item h4,
.team-card h4 {
  font-weight: 800 !important;
}

.about-stat-num {
  font-weight: 800 !important;
}

.about-stat-label {
  font-size: .78rem !important;
  font-weight: 750 !important;
}

.section .btn.btn-lg[href*="/cadastro?role=motorista"],
.section .btn.btn-lg[href*="/cadastro?role=cliente"] {
  min-height: 40px !important;
  padding: .54rem 1rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.section .btn.btn-primary[href*="/cadastro?role=motorista"],
.section .btn.btn-primary[href*="/cadastro?role=cliente"] {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

.section .btn.btn-dark[href*="/cadastro?role=cliente"] {
  background: #fff !important;
  border-color: var(--border) !important;
  color: var(--primary-dark) !important;
}

/* Public utility polish: error and legal pages. */
.error-hero {
  min-height: 68vh !important;
  background:
    linear-gradient(135deg, rgba(61,23,55,.98), rgba(85,32,78,.96)),
    var(--primary-dark) !important;
}

.error-hero::before {
  opacity: .35 !important;
}

.error-code {
  font-size: clamp(4.5rem, 12vw, 8rem) !important;
  color: rgba(255,255,255,.12) !important;
  margin-bottom: .5rem !important;
}

.error-icon {
  font-size: 2.4rem !important;
  margin-bottom: 1rem !important;
}

.error-content h1 {
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.error-text {
  max-width: 520px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1.5rem !important;
}

.error-actions .btn {
  min-height: 40px !important;
  padding: .54rem 1rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.error-actions .btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

.error-actions .btn-outline {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.42) !important;
  color: #fff !important;
}

.error-suggestion-card {
  border-radius: 8px !important;
  padding: 1.35rem 1rem !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.05) !important;
}

.error-suggestion-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--accent-yellow) !important;
}

.error-suggestion-icon {
  font-size: 1.65rem !important;
  margin-bottom: .65rem !important;
}

.error-suggestion-card h4 {
  font-size: .98rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.error-suggestion-card p {
  font-size: .85rem !important;
  line-height: 1.5 !important;
}

.legal-page {
  background: var(--bg-main);
  padding: 56px 0;
}

.legal-container {
  max-width: 860px;
}

.legal-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: clamp(1.4rem, 3vw, 2.4rem);
}

.legal-header {
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.4rem;
  padding-bottom: 1.2rem;
}

.legal-header .section-tag {
  color: var(--primary-mid);
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.legal-header h1 {
  color: var(--text-dark);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
  margin: .55rem 0 .65rem;
  text-wrap: balance;
}

.legal-header p {
  color: var(--text-body);
  font-size: .9rem;
  margin: 0;
}

.legal-content {
  color: var(--text-body);
  font-size: .95rem;
  line-height: 1.68;
}

.legal-content h2 {
  color: var(--text-dark);
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: 0;
  margin: 1.55rem 0 .55rem;
}

.legal-content ul {
  margin: .7rem 0 1rem 1.2rem;
  padding: 0;
}

.legal-content li {
  margin-bottom: .45rem;
}

.legal-actions {
  border-top: 1px solid var(--border);
  margin-top: 1.8rem;
  padding-top: 1rem;
}

.legal-actions .btn {
  min-height: 38px;
  padding: .5rem .9rem;
  border-radius: 8px;
  font-size: .84rem;
  font-weight: 750;
}

/* Client dashboard form polish: compact actions and quieter helper text. */
body .dashboard .form-actions,
body .dashboard .client-form-actions,
body .dashboard .driver-form-actions {
  gap: .65rem !important;
  border-top: 1px solid var(--border) !important;
}

body .dashboard .form-actions .btn,
body .dashboard .client-form-actions .btn,
body .dashboard .driver-form-actions .btn {
  min-height: 40px !important;
  padding: .54rem 1rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body .dashboard .form-actions .btn-primary,
body .dashboard .client-form-actions .btn-primary,
body .dashboard .driver-form-actions .btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .form-actions .btn-primary *,
body .dashboard .client-form-actions .btn-primary *,
body .dashboard .driver-form-actions .btn-primary * {
  color: var(--primary-dark) !important;
}

body .dashboard .form-actions .btn-dark,
body .dashboard .client-form-actions .btn-dark,
body .dashboard .driver-form-actions .btn-dark {
  background: #fff !important;
  border-color: var(--border) !important;
  color: var(--text-dark) !important;
}

body .dashboard .form-section-title {
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body .dashboard .form-group small {
  color: var(--text-body) !important;
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

/* Support polish: compact ticket actions and calm operational copy. */
body .dashboard .support-modal-actions,
body .dashboard .support-reply-actions {
  display: flex !important;
  gap: .65rem !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  margin-top: 1rem !important;
}

body .dashboard .support-modal-actions .btn,
body .dashboard .support-reply-actions .btn {
  min-height: 38px !important;
  padding: .5rem .9rem !important;
  border-radius: 8px !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body .dashboard .support-modal-actions .btn-primary,
body .dashboard .support-reply-actions .btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .support-modal-actions .btn-primary *,
body .dashboard .support-reply-actions .btn-primary * {
  color: var(--primary-dark) !important;
}

body .dashboard .support-modal-actions .btn-outline {
  background: #fff !important;
  border-color: var(--border) !important;
  color: var(--text-dark) !important;
}

/* Harmonized action palette: yellow primary, white secondary, purple structure. */
body .dashboard .btn-primary:not(.btn-danger),
body .dashboard .empty-state .btn-primary,
body .dashboard .job-row-side .btn-primary,
body .dashboard .workspace-actions .btn-primary {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 6px 14px rgba(255, 187, 51, .18) !important;
}

body .dashboard .btn-primary:not(.btn-danger):hover,
body .dashboard .empty-state .btn-primary:hover,
body .dashboard .job-row-side .btn-primary:hover,
body .dashboard .workspace-actions .btn-primary:hover {
  background: var(--accent-amber) !important;
  border-color: var(--accent-amber) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .btn-dark:not(.btn-icon):not(.btn-danger),
body .dashboard .table-card-header .btn-dark:not(.btn-icon),
body .dashboard .workspace-actions .btn-dark:not(.btn-icon),
body .dashboard .page-header .btn-dark:not(.btn-icon) {
  background: #fff !important;
  border-color: #dccddd !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 4px 10px rgba(61, 23, 55, .06) !important;
}

body .dashboard .btn-dark:not(.btn-icon):not(.btn-danger):hover,
body .dashboard .table-card-header .btn-dark:not(.btn-icon):hover,
body .dashboard .workspace-actions .btn-dark:not(.btn-icon):hover,
body .dashboard .page-header .btn-dark:not(.btn-icon):hover {
  background: #fff8e6 !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .match-reason,
body .dashboard .match-reason-chip,
body .dashboard .region-badge,
body .dashboard .vaga-region-badge,
body .dashboard .job-match-reason {
  background: #fff4cc !important;
  border: 1px solid rgba(255, 187, 51, .55) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .match-reason *,
body .dashboard .match-reason-chip *,
body .dashboard .region-badge *,
body .dashboard .vaga-region-badge *,
body .dashboard .job-match-reason * {
  color: var(--primary-dark) !important;
}

body .dashboard .service-chip.urgent,
body .dashboard .badge-yellow {
  background: #fff4cc !important;
  color: var(--primary-dark) !important;
}

/* Final guard: checkout plan CTAs must stay readable after all legacy button layers. */
body .plans-page .plan-cta {
  min-height: 44px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: .72rem 1rem !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .plans-page .plan-cta,
body .plans-page .plan-cta *,
body .plans-page .plan-cta:visited,
body .plans-page .plan-cta:focus {
  color: var(--primary-dark) !important;
}

body .plans-page .plan-cta-primary {
  background: var(--accent-yellow) !important;
  border: 2px solid var(--accent-yellow) !important;
  box-shadow: 0 2px 0 var(--primary-dark), 0 8px 18px rgba(255, 187, 51, .22) !important;
}

body .plans-page .plan-cta-primary:hover {
  background: var(--accent-amber) !important;
  border-color: var(--accent-amber) !important;
  color: var(--primary-dark) !important;
}

body .plans-page .plan-cta-secondary {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important;
}

body .plans-page .plan-cta-secondary:hover {
  background: #fff8e6 !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

/* Client operations visual lock: compact headings, readable buttons and resilient tables. */
body .dashboard .page-header {
  align-items: center !important;
  min-height: auto !important;
  padding: .95rem 1.05rem !important;
  margin-bottom: 1rem !important;
  gap: .75rem !important;
  overflow: visible !important;
}

body .dashboard .page-title,
body .dashboard .workspace-hero h1 {
  margin: 0 !important;
  color: var(--text-dark) !important;
  font-size: clamp(1.45rem, 1.08rem + .9vw, 1.9rem) !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  overflow-wrap: anywhere !important;
}

body .dashboard .page-subtitle,
body .dashboard .workspace-hero p {
  color: var(--text-body) !important;
  font-size: .92rem !important;
  line-height: 1.45 !important;
  margin: .25rem 0 0 !important;
  max-width: 72ch !important;
}

body .dashboard .workspace-hero {
  min-height: auto !important;
  padding: 1.2rem 1.3rem !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 1rem !important;
}

body .dashboard .workspace-kicker {
  margin-bottom: .45rem !important;
}

body .dashboard .workspace-actions,
body .dashboard .page-header > div:last-child,
body .dashboard .candidate-view-actions,
body .dashboard .table-card-header {
  gap: .55rem !important;
}

body .dashboard .btn,
body .dashboard button,
body .dashboard .button {
  min-height: 38px !important;
  padding: .52rem .85rem !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .42rem !important;
  white-space: nowrap !important;
}

body .dashboard .btn-primary:not(.btn-danger),
body .dashboard .table-card-header .btn-primary:not(.btn-danger),
body .dashboard .workspace-actions .btn-primary:not(.btn-danger),
body .dashboard .page-header .btn-primary:not(.btn-danger) {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .btn-primary:not(.btn-danger) *,
body .dashboard .table-card-header .btn-primary:not(.btn-danger) *,
body .dashboard .workspace-actions .btn-primary:not(.btn-danger) *,
body .dashboard .page-header .btn-primary:not(.btn-danger) * {
  color: var(--primary-dark) !important;
}

body .dashboard .btn-dark:not(.btn-icon):not(.btn-danger),
body .dashboard .btn-outline,
body .dashboard .btn-light,
body .dashboard .table-card-header .btn-dark:not(.btn-icon),
body .dashboard .workspace-actions .btn-dark:not(.btn-icon),
body .dashboard .page-header .btn-dark:not(.btn-icon),
body .dashboard .candidate-view-actions .btn-dark:not(.btn-icon) {
  background: #ffffff !important;
  border: 1px solid #dccddd !important;
  color: var(--primary-dark) !important;
}

body .dashboard .btn-dark:not(.btn-icon):not(.btn-danger) *,
body .dashboard .btn-outline *,
body .dashboard .btn-light *,
body .dashboard .table-card-header .btn-dark:not(.btn-icon) *,
body .dashboard .workspace-actions .btn-dark:not(.btn-icon) *,
body .dashboard .page-header .btn-dark:not(.btn-icon) *,
body .dashboard .candidate-view-actions .btn-dark:not(.btn-icon) * {
  color: var(--primary-dark) !important;
}

body .dashboard .btn-dark.btn-icon,
body .dashboard .btn-icon.btn-dark,
body .dashboard .table-actions .btn-dark.btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-dark.btn-icon,
body .dashboard td .btn-dark.btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid #dccddd !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 2px 8px rgba(61, 23, 55, .06) !important;
}

body .dashboard .btn-dark.btn-icon *,
body .dashboard .btn-icon.btn-dark *,
body .dashboard .table-actions .btn-dark.btn-icon *,
body .dashboard .minhas-vagas-table-actions .btn-dark.btn-icon *,
body .dashboard td .btn-dark.btn-icon * {
  color: var(--primary-dark) !important;
}

body .dashboard .btn-primary.btn-icon,
body .dashboard .table-actions .btn-primary.btn-icon,
body .dashboard .minhas-vagas-table-actions .btn-primary.btn-icon,
body .dashboard td .btn-primary.btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: var(--primary-dark) !important;
}

body .dashboard .btn-primary.btn-icon *,
body .dashboard .table-actions .btn-primary.btn-icon *,
body .dashboard .minhas-vagas-table-actions .btn-primary.btn-icon *,
body .dashboard td .btn-primary.btn-icon * {
  color: var(--primary-dark) !important;
}

body .dashboard .stats-grid,
body .dashboard .stats-grid-compact,
body .dashboard .report-metrics-grid {
  gap: .85rem !important;
  margin-bottom: 1rem !important;
}

body .dashboard .stat-card,
body .dashboard .report-kpi-card {
  min-height: 96px !important;
  padding: 1rem !important;
  gap: .85rem !important;
}

body .dashboard .stat-num,
body .dashboard .stat-value,
body .dashboard .report-kpi-card .stat-value {
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

body .dashboard .stat-label,
body .dashboard .report-kpi-card .stat-label,
body .dashboard table th {
  letter-spacing: .045em !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

body .dashboard .pipeline-strip {
  gap: .65rem !important;
  padding: 1rem !important;
}

body .dashboard .pipeline-item {
  min-width: 0 !important;
  padding: .85rem !important;
  border-radius: 8px !important;
}

body .dashboard .pipeline-item small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
}

body .dashboard .table-card {
  overflow: hidden !important;
}

body .dashboard .table-wrapper,
body .dashboard .table-responsive,
body .dashboard .report-panel,
body .dashboard .minhas-vagas-table-desktop .table-wrapper {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body .dashboard table {
  width: 100% !important;
  border-collapse: collapse !important;
}

body .dashboard table th,
body .dashboard table td {
  padding: .82rem .7rem !important;
  vertical-align: middle !important;
}

body .dashboard td:last-child,
body .dashboard th:last-child {
  min-width: 116px !important;
}

body .dashboard .report-panel h3,
body .dashboard .table-card-title,
body .dashboard .form-section-title {
  color: var(--text-dark) !important;
  font-size: .98rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  body .dashboard .workspace-hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body .dashboard .workspace-actions,
  body .dashboard .page-header > div:last-child {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  body .dashboard .page-header {
    display: block !important;
  }

  body .dashboard .page-header > div:last-child {
    margin-top: .75rem !important;
  }

  body .dashboard .btn,
  body .dashboard button,
  body .dashboard .button {
    min-height: 40px !important;
    white-space: normal !important;
  }
}

/* Client dashboard hero hard lock: text must stay readable on white cards. */
body .dashboard .client-dashboard-hero,
body .dashboard section.workspace-hero.client-dashboard-hero {
  background: #ffffff !important;
  color: var(--text-dark) !important;
}

body .dashboard .client-dashboard-hero .client-dashboard-hero-title,
body .dashboard section.workspace-hero.client-dashboard-hero h1 {
  color: var(--text-dark) !important;
  text-shadow: none !important;
}

body .dashboard .client-dashboard-hero .client-dashboard-hero-copy,
body .dashboard section.workspace-hero.client-dashboard-hero p {
  color: var(--text-body) !important;
}

/* Admin command hero: keep text readable on the dark purple banner. */
body .dashboard .workspace-hero.admin-command-hero,
body .dashboard section.workspace-hero.admin-command-hero {
  background:
    linear-gradient(135deg, rgba(61,23,55,0.98), rgba(85,32,78,0.96)),
    #3D1737 !important;
  color: #ffffff !important;
}

body .dashboard .workspace-hero.admin-command-hero h1,
body .dashboard section.workspace-hero.admin-command-hero h1 {
  color: #ffffff !important;
}

body .dashboard .workspace-hero.admin-command-hero p,
body .dashboard section.workspace-hero.admin-command-hero p {
  color: rgba(255,255,255,.78) !important;
}

body .dashboard .workspace-hero.admin-command-hero .workspace-kicker {
  color: var(--accent-yellow) !important;
  background: rgba(255,187,51,.18) !important;
}

/* Admin jobs table: keep the "Ver vaga" action visible even under table button overrides. */
body .dashboard .admin-vagas-table .admin-vaga-view-btn,
body .dashboard .admin-job-actions .admin-vaga-view-btn,
body .dashboard .table-actions.admin-job-actions .admin-vaga-view-btn,
body .dashboard .admin-vagas-table .admin-vaga-view-btn:link,
body .dashboard .admin-vagas-table .admin-vaga-view-btn:visited,
body .dashboard .admin-vagas-table .admin-vaga-view-btn:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 .55rem !important;
  background: var(--primary-dark) !important;
  border: 1px solid var(--primary-dark) !important;
  color: #ffffff !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(61, 23, 55, .06) !important;
}

body .dashboard .admin-vagas-table .admin-vaga-view-btn *,
body .dashboard .admin-job-actions .admin-vaga-view-btn *,
body .dashboard .table-actions.admin-job-actions .admin-vaga-view-btn *,
body .dashboard .admin-vagas-table .admin-vaga-view-btn span {
  color: #ffffff !important;
}

body .dashboard .admin-vagas-table .admin-vaga-view-btn:hover,
body .dashboard .admin-job-actions .admin-vaga-view-btn:hover,
body .dashboard .table-actions.admin-job-actions .admin-vaga-view-btn:hover {
  background: #2b0e27 !important;
  border-color: #2b0e27 !important;
  color: #ffffff !important;
}

body .dashboard .admin-vagas-table .admin-vaga-view-btn:hover *,
body .dashboard .admin-job-actions .admin-vaga-view-btn:hover *,
body .dashboard .table-actions.admin-job-actions .admin-vaga-view-btn:hover * {
  color: #ffffff !important;
}

/* Admin users table: action buttons must remain compact icon controls. */
body .dashboard .admin-user-actions {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 180px !important;
  max-width: none !important;
  overflow: visible !important;
}

body .dashboard .admin-users-table th:last-child,
body .dashboard .admin-users-table td:last-child {
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
}

body .dashboard .admin-user-actions > *,
body .dashboard .admin-user-actions form,
body .dashboard .admin-user-actions details {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

body .dashboard .admin-user-actions .btn-icon,
body .dashboard .admin-user-actions .btn-sm.btn-icon,
body .dashboard .admin-user-actions details > summary.btn-icon {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

body .dashboard .admin-user-actions .btn-dark.btn-icon,
body .dashboard .admin-user-actions .btn-outline.btn-icon {
  background: #ffffff !important;
  border: 1px solid #dccddd !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 2px 8px rgba(61, 23, 55, .06) !important;
}

body .dashboard .admin-user-actions .btn-danger.btn-icon,
body .dashboard .admin-user-actions .btn-success.btn-icon {
  color: #ffffff !important;
}

body .dashboard .admin-user-actions .btn-dark.btn-icon *,
body .dashboard .admin-user-actions .btn-outline.btn-icon * {
  color: var(--primary-dark) !important;
}

body .dashboard .admin-user-actions .btn-danger.btn-icon *,
body .dashboard .admin-user-actions .btn-success.btn-icon * {
  color: #ffffff !important;
}

body .dashboard .admin-user-actions details > div {
  right: 0 !important;
  left: auto !important;
}

body .dashboard .admin-user-actions details[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10010;
  background: rgba(15, 23, 42, .46);
}

body .dashboard .admin-user-actions details[open] > summary {
  position: relative;
  z-index: 10030;
}

body .dashboard .admin-user-actions details[open] > div.admin-user-popover,
body .dashboard .admin-user-actions details[open] > div {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10020 !important;
  width: min(760px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-height: min(86vh, 760px) !important;
  overflow: auto !important;
  margin: 0 !important;
}

body .dashboard .admin-user-actions details[open] > div.admin-user-view-panel {
  width: min(560px, calc(100vw - 32px)) !important;
}

body .dashboard .admin-user-actions details[open] > div.admin-user-edit-panel {
  width: min(820px, calc(100vw - 36px)) !important;
  max-height: min(88vh, 760px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 12px !important;
}

body .dashboard .admin-user-edit-form {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: .75rem !important;
  max-height: min(88vh, 760px);
  overflow: auto;
  padding: 1rem !important;
}

body .dashboard .admin-user-edit-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--border);
}

body .dashboard .admin-user-edit-title > div {
  min-width: 0;
}

body .dashboard .admin-user-edit-close {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--primary-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

body .dashboard .admin-user-edit-close:hover {
  background: var(--bg-soft);
}

body .dashboard .admin-user-edit-title strong {
  color: var(--text-dark);
  font-size: 1rem;
  line-height: 1.2;
}

body .dashboard .admin-user-edit-title span {
  max-width: 52ch;
  color: var(--text-body);
  font-size: .82rem;
  line-height: 1.3;
  text-align: right;
  overflow-wrap: anywhere;
}

body .dashboard .admin-user-edit-field {
  grid-column: span 6;
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  gap: .32rem;
  color: var(--text-dark);
  font-size: .75rem;
  font-weight: 850;
  line-height: 1.25;
}

body .dashboard .admin-user-edit-field--small {
  grid-column: span 3;
}

body .dashboard .admin-user-edit-field--wide {
  grid-column: 1 / -1;
}

body .dashboard .admin-user-edit-check {
  grid-column: span 3;
  display: flex !important;
  align-items: center;
  align-self: end;
  gap: .45rem;
  min-width: 0;
  min-height: 42px;
  padding: .55rem .65rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--text-dark);
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.2;
}

body .dashboard .admin-user-edit-check input {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto;
}

body .dashboard .admin-user-edit-form .form-control {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px;
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.35;
}

body .dashboard .admin-user-edit-form textarea.form-control {
  min-height: 88px;
  resize: vertical;
}

body .dashboard .admin-user-edit-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  padding-top: .75rem;
  border-top: 1px solid var(--border);
}

body .dashboard .admin-user-edit-footer span {
  max-width: 420px;
  margin-right: auto;
  color: var(--text-body);
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.35;
}

body .dashboard .admin-user-view-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem .9rem;
  margin: 0;
}

body .dashboard .admin-user-view-list > div {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: .6rem .7rem;
  background: #f8fafc;
}

body .dashboard .admin-user-view-list__wide {
  grid-column: 1 / -1;
}

body .dashboard .admin-user-view-list dt {
  margin: 0 0 .18rem;
  color: var(--text-muted);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

body .dashboard .admin-user-view-list dd {
  margin: 0;
  color: var(--text-dark);
  font-size: .9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

/* PWA install prompt: Android gets native install, iOS gets clear Safari instructions. */
.fretei-install-banner {
  position: fixed;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 10050;
  width: min(420px, calc(100vw - 28px));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem .9rem;
  border: 1px solid rgba(61, 23, 55, .18);
  border-radius: 12px;
  background: linear-gradient(135deg, #FFBB33 0%, #F6A91A 100%);
  color: #3D1737;
  box-shadow: 0 18px 44px rgba(61, 23, 55, .24);
}

.fretei-install-banner div {
  min-width: 0;
  flex: 1;
}

.fretei-install-banner strong,
.fretei-install-banner span {
  display: block;
}

.fretei-install-banner strong {
  color: #3D1737;
  font-size: .92rem;
  line-height: 1.2;
}

.fretei-install-banner span {
  margin-top: .15rem;
  color: rgba(61, 23, 55, .78);
  font-size: .78rem;
  line-height: 1.35;
}

.fretei-install-banner button {
  flex: 0 0 auto;
  min-height: 36px;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  font-weight: 900;
}

.fretei-install-banner [data-pwa-install] {
  padding: 0 .85rem;
  background: #3D1737;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(61, 23, 55, .22);
}

.fretei-install-banner [data-pwa-close] {
  width: 34px;
  background: rgba(61, 23, 55, .12);
  color: #3D1737;
  font-size: 1.2rem;
  line-height: 1;
}

@media (max-width: 420px) {
  .fretei-install-banner {
    align-items: flex-start;
  }
}

/* Admin users list: let the page grow vertically; only horizontal overflow belongs here. */
body .dashboard .admin-users-table-card,
body .dashboard .admin-users-table-wrapper {
  max-height: none !important;
  overflow-y: visible !important;
}

body .dashboard .admin-users-table-card {
  overflow-x: visible !important;
}

body .dashboard .admin-users-table-wrapper {
  overflow: visible !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 0.5rem !important;
}

body .dashboard .admin-users-table {
  min-width: 980px !important;
}

body .dashboard .admin-users-table td:last-child,
body .dashboard .admin-users-table th:last-child {
  position: relative !important;
  overflow: visible !important;
}

body .dashboard .admin-user-actions details[open] > div {
  max-height: min(86vh, 760px) !important;
  overflow: auto !important;
}

body .dashboard .admin-users-table-card .table-wrapper.admin-users-table-wrapper {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 980px) {
  body .dashboard .admin-users-table-card {
    overflow: visible !important;
  }

  body .dashboard .admin-users-table-card .table-wrapper.admin-users-table-wrapper {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .admin-user-edit-field,
  body .dashboard .admin-user-edit-field--small,
  body .dashboard .admin-user-edit-check {
    grid-column: 1 / -1;
  }

  body .dashboard .admin-user-edit-title,
  body .dashboard .admin-user-edit-footer {
    align-items: stretch;
    flex-direction: column;
  }

  body .dashboard .admin-user-edit-title span {
    max-width: none;
    text-align: left;
  }

  body .dashboard .admin-user-edit-footer span {
    max-width: none;
    margin-right: 0;
  }
}

/* Product maturity pass: dense, consistent backoffice and public polish. */
body .dashboard {
  --vf-row-border: #E2E8F0;
  --vf-soft-surface: #F8FAFC;
}

body .dashboard .main-content {
  padding-top: 1.15rem !important;
}

body .dashboard .dash-topbar {
  min-height: 58px !important;
  margin-bottom: 1.05rem !important;
  padding: .72rem .95rem !important;
  box-shadow: none !important;
  border-color: #D8E0EA !important;
}

body .dashboard .dash-eyebrow {
  letter-spacing: .08em !important;
  color: #52627A !important;
}

body .dashboard .dash-current {
  font-size: .96rem !important;
}

body .dashboard .page-header,
body .dashboard .table-card,
body .dashboard .report-panel,
body .dashboard .form-section {
  border-radius: 10px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.035) !important;
}

body .dashboard .page-title,
body .dashboard .workspace-hero h1 {
  font-size: clamp(1.35rem, 1.12rem + .55vw, 1.72rem) !important;
  font-weight: 820 !important;
  line-height: 1.12 !important;
}

body .dashboard .page-subtitle,
body .dashboard .workspace-hero p {
  font-size: .86rem !important;
}

body .dashboard .vf-admin-filterbar,
body .dashboard .admin-users-filter,
body .dashboard form[style*="flex"][style*="margin-bottom"] {
  display: flex !important;
  align-items: end !important;
  gap: .65rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 1rem !important;
  padding: .85rem !important;
  background: #fff !important;
  border: 1px solid #D8E0EA !important;
  border-radius: 10px !important;
}

body .dashboard .vf-admin-filterbar .form-control,
body .dashboard .admin-users-filter .form-control {
  width: min(100%, 260px) !important;
  max-width: 260px !important;
}

body .dashboard .vf-admin-filterbar input.form-control,
body .dashboard .admin-users-filter input.form-control {
  width: min(100%, 340px) !important;
  max-width: 340px !important;
}

body .dashboard .form-control,
body .dashboard input,
body .dashboard select,
body .dashboard textarea {
  border-radius: 8px !important;
  border-color: #CAD5E3 !important;
  color: var(--text-dark) !important;
  font-size: .88rem !important;
}

body .dashboard .form-control::placeholder,
body .dashboard input::placeholder,
body .dashboard textarea::placeholder {
  color: #64748B !important;
  opacity: 1 !important;
}

body .dashboard .table-card-header {
  min-height: 44px !important;
  padding: .8rem .95rem !important;
  background: #fff !important;
  border-bottom: 1px solid var(--vf-row-border) !important;
}

body .dashboard .table-card-title {
  font-size: .98rem !important;
  font-weight: 820 !important;
}

body .dashboard .table-wrapper {
  border-radius: 0 0 10px 10px !important;
}

body .dashboard table {
  table-layout: fixed !important;
  min-width: 0 !important;
}

body .dashboard table th {
  padding: .62rem .72rem !important;
  background: #F8FAFC !important;
  color: #52627A !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

body .dashboard table td {
  padding: .72rem .72rem !important;
  color: var(--text-dark) !important;
  font-size: .88rem !important;
  line-height: 1.32 !important;
  border-color: var(--vf-row-border) !important;
}

body .dashboard .vf-table-primary,
body .dashboard .admin-users-table td:first-child > div:first-child,
body .dashboard .admin-users-table td:first-child strong {
  max-width: 100% !important;
  color: var(--text-dark) !important;
  font-size: .9rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body .dashboard .table-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .45rem !important;
  flex-wrap: nowrap !important;
}

body .dashboard .table-actions .btn-icon,
body .dashboard td .btn-icon {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 8px !important;
}

body .dashboard .vaga-badge,
body .dashboard .badge-yellow,
body .dashboard .badge-active,
body .dashboard .badge-closed,
body .dashboard .badge-pending,
body .dashboard .badge-info,
body .dashboard .badge-warning,
body .dashboard .badge-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  padding: .26rem .55rem !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  text-align: center !important;
}

body .dashboard .ats-mini-score {
  width: 88px !important;
  min-height: 54px !important;
  padding: .42rem .5rem !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

body .dashboard .ats-mini-score strong {
  display: block !important;
  font-size: 1.02rem !important;
  line-height: 1 !important;
}

body .dashboard .ats-mini-score span {
  display: block !important;
  margin-top: .18rem !important;
  font-size: .65rem !important;
  letter-spacing: .04em !important;
}

body .dashboard .vf-ats-details {
  margin-top: .42rem !important;
  max-width: 180px !important;
  color: var(--text-body) !important;
  font-size: .72rem !important;
}

body .dashboard .vf-ats-details summary {
  cursor: pointer !important;
  color: var(--primary-mid) !important;
  font-weight: 850 !important;
}

body .dashboard .vf-ats-detail-line {
  margin-top: .28rem !important;
  padding: .35rem .45rem !important;
  border-radius: 7px !important;
  line-height: 1.3 !important;
}

body .dashboard .vf-ats-detail-line--danger {
  background: #FEE2E2 !important;
  color: #991B1B !important;
}

body .dashboard .vf-ats-detail-line--warn {
  background: #FEF3C7 !important;
  color: #7A3B00 !important;
}

body .dashboard .vf-ats-detail-line--success {
  background: #D1FAE5 !important;
  color: #047857 !important;
}

body .dashboard .vf-admin-candidaturas-table th:nth-child(1),
body .dashboard .vf-admin-candidaturas-table td:nth-child(1) { width: 20%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(2),
body .dashboard .vf-admin-candidaturas-table td:nth-child(2) { width: 18%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(3),
body .dashboard .vf-admin-candidaturas-table td:nth-child(3) { width: 22%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(4),
body .dashboard .vf-admin-candidaturas-table td:nth-child(4) { width: 15%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(5),
body .dashboard .vf-admin-candidaturas-table td:nth-child(5) { width: 12%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(6),
body .dashboard .vf-admin-candidaturas-table td:nth-child(6) { width: 7%; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(7),
body .dashboard .vf-admin-candidaturas-table td:nth-child(7) { width: 6%; }

body .dashboard .admin-users-table {
  min-width: 0 !important;
  table-layout: fixed !important;
}

body .dashboard .admin-users-table th:nth-child(1),
body .dashboard .admin-users-table td:nth-child(1) { width: 20%; }
body .dashboard .admin-users-table th:nth-child(2),
body .dashboard .admin-users-table td:nth-child(2) { width: 13%; }
body .dashboard .admin-users-table th:nth-child(3),
body .dashboard .admin-users-table td:nth-child(3) { width: 17%; }
body .dashboard .admin-users-table th:nth-child(4),
body .dashboard .admin-users-table td:nth-child(4) { width: 17%; }
body .dashboard .admin-users-table th:nth-child(5),
body .dashboard .admin-users-table td:nth-child(5) { width: 13%; }
body .dashboard .admin-users-table th:nth-child(6),
body .dashboard .admin-users-table td:nth-child(6) { width: 9%; }
body .dashboard .admin-users-table th:nth-child(7),
body .dashboard .admin-users-table td:nth-child(7) {
  width: 11% !important;
  min-width: 150px !important;
}

body .dashboard .admin-user-actions {
  min-width: 0 !important;
  gap: 6px !important;
}

body .dashboard .admin-user-actions .btn-icon,
body .dashboard .admin-user-actions .btn-sm.btn-icon,
body .dashboard .admin-user-actions details > summary.btn-icon {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  border-radius: 8px !important;
}

body .dashboard .empty-state {
  padding: 2rem 1rem !important;
  color: var(--text-body) !important;
}

body .dashboard .empty-state h3 {
  color: var(--text-dark) !important;
  font-size: 1rem !important;
  margin-bottom: .35rem !important;
}

body .dashboard .empty-state p {
  max-width: 56ch !important;
  margin: 0 auto !important;
  font-size: .88rem !important;
}

@media (max-width: 1180px) {
  body .dashboard .vf-admin-candidaturas-table,
  body .dashboard .admin-users-table {
    min-width: 920px !important;
  }

  body .dashboard .table-wrapper,
  body .dashboard .admin-users-table-card .table-wrapper.admin-users-table-wrapper {
    overflow-x: auto !important;
  }
}

@media (max-width: 640px) {
  body .dashboard .main-content {
    padding-top: .8rem !important;
  }

  body .dashboard .vf-admin-filterbar .form-control,
  body .dashboard .admin-users-filter .form-control,
  body .dashboard .vf-admin-filterbar input.form-control,
  body .dashboard .admin-users-filter input.form-control {
    width: 100% !important;
    max-width: none !important;
  }
}

body .h1-how-card h3,
body .h1-testimonial-card strong,
body .about-card h3,
body .feature-item h4,
body .team-card h4 {
  letter-spacing: 0 !important;
}

body .h1-faq-title,
body .about-hero h1,
body .plans-hero h1 {
  letter-spacing: -.025em !important;
  text-wrap: balance !important;
}

/* Final product polish: admin users and ATS backoffice density */
body .dashboard .admin-users-filter {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.4fr) minmax(210px, .9fr) auto auto;
  align-items: center !important;
  gap: .65rem !important;
  margin: .35rem 0 1.15rem !important;
  padding: .85rem !important;
  background: #fff !important;
  border: 1px solid #e6dce6 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(61, 23, 55, .05) !important;
}

body .dashboard .admin-users-filter .form-control {
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
}

body .dashboard .admin-users-filter .btn {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 .95rem !important;
  white-space: nowrap !important;
}

body .dashboard .admin-users-table,
body .dashboard .vf-admin-candidaturas-table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body .dashboard .admin-users-table th,
body .dashboard .admin-users-table td,
body .dashboard .vf-admin-candidaturas-table th,
body .dashboard .vf-admin-candidaturas-table td {
  padding: .72rem .78rem !important;
  vertical-align: middle !important;
  overflow-wrap: anywhere !important;
}

body .dashboard .admin-users-table th:nth-child(1),
body .dashboard .admin-users-table td:nth-child(1) { width: 22% !important; }
body .dashboard .admin-users-table th:nth-child(2),
body .dashboard .admin-users-table td:nth-child(2) { width: 13% !important; }
body .dashboard .admin-users-table th:nth-child(3),
body .dashboard .admin-users-table td:nth-child(3) { width: 16% !important; }
body .dashboard .admin-users-table th:nth-child(4),
body .dashboard .admin-users-table td:nth-child(4) { width: 16% !important; }
body .dashboard .admin-users-table th:nth-child(5),
body .dashboard .admin-users-table td:nth-child(5) { width: 13% !important; }
body .dashboard .admin-users-table th:nth-child(6),
body .dashboard .admin-users-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-users-table th:nth-child(7),
body .dashboard .admin-users-table td:nth-child(7) {
  width: 12% !important;
  min-width: 0 !important;
}

body .dashboard .admin-users-table td:first-child > div:first-child,
body .dashboard .vf-admin-candidaturas-table .vf-table-primary {
  font-size: .88rem !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body .dashboard .vf-admin-candidaturas-table .vf-candidate-person {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  min-width: 0 !important;
}

body .dashboard .vf-admin-candidaturas-table .vf-candidate-avatar,
body .dashboard .vf-admin-candidaturas-table .vf-company-avatar {
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  box-sizing: border-box !important;
}

body .dashboard .vf-admin-candidaturas-table .vf-candidate-avatar {
  background: #7a2a70 !important;
}

body .dashboard .vf-admin-candidaturas-table .vf-company-avatar {
  background: #10b981 !important;
}

body .dashboard .vf-admin-candidaturas-table .vf-candidate-person-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body .dashboard .admin-user-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}

body .dashboard .admin-user-actions .btn-icon,
body .dashboard .admin-user-actions .btn-sm.btn-icon,
body .dashboard .admin-user-actions details > summary.btn-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

body .dashboard .vf-admin-candidaturas-table th:nth-child(1),
body .dashboard .vf-admin-candidaturas-table td:nth-child(1) { width: 20% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(2),
body .dashboard .vf-admin-candidaturas-table td:nth-child(2) { width: 10% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(3),
body .dashboard .vf-admin-candidaturas-table td:nth-child(3) { width: 17% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(4),
body .dashboard .vf-admin-candidaturas-table td:nth-child(4) { width: 17% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(5),
body .dashboard .vf-admin-candidaturas-table td:nth-child(5) { width: 11% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(6),
body .dashboard .vf-admin-candidaturas-table td:nth-child(6) { width: 11% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(7),
body .dashboard .vf-admin-candidaturas-table td:nth-child(7) { width: 7% !important; }
body .dashboard .vf-admin-candidaturas-table th:nth-child(8),
body .dashboard .vf-admin-candidaturas-table td:nth-child(8) { width: 7% !important; }

body .dashboard .ats-mini-score {
  width: 78px !important;
  min-width: 78px !important;
  padding: .42rem .35rem !important;
  border-radius: 8px !important;
  font-size: .74rem !important;
}

body .dashboard .ats-mini-score strong {
  font-size: 1rem !important;
}

body .dashboard .vf-ats-details summary {
  font-size: .74rem !important;
  font-weight: 700 !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-users-table,
  body .dashboard .vf-admin-candidaturas-table {
    min-width: 920px !important;
  }

  body .dashboard .admin-users-table-wrapper,
  body .dashboard .vf-admin-candidaturas-table-wrapper,
  body .dashboard .table-wrapper {
    overflow-x: auto !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .admin-users-filter {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .admin-users-filter .btn {
    width: 100% !important;
  }
}

/* Admin vagas: compact executive table without horizontal scroll at 100% zoom */
body .dashboard .admin-vagas-filter {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.45fr) minmax(170px, .8fr) minmax(180px, .9fr) auto auto;
  align-items: center !important;
  gap: .6rem !important;
  margin: .35rem 0 1.05rem !important;
  padding: .85rem !important;
  background: #fff !important;
  border: 1px solid #e6dce6 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(61, 23, 55, .05) !important;
}

body .dashboard .admin-vagas-filter .form-control {
  width: 100% !important;
  max-width: none !important;
  min-height: 40px !important;
  height: 40px !important;
  font-size: .88rem !important;
}

body .dashboard .admin-vagas-filter .btn {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 .85rem !important;
  font-size: .82rem !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-table-card,
body .dashboard .admin-vagas-table-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body .dashboard .admin-vagas-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body .dashboard .admin-vagas-table th,
body .dashboard .admin-vagas-table td {
  padding: .68rem .72rem !important;
  vertical-align: middle !important;
  font-size: .84rem !important;
  line-height: 1.3 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
}

body .dashboard .admin-vagas-table th {
  font-size: .72rem !important;
  letter-spacing: .04em !important;
  color: #536983 !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 23% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 18% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 14% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 9% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) { width: 16% !important; }
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) {
  width: 12% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-primary {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-weight: 600 !important;
  font-size: .86rem !important;
  line-height: 1.25 !important;
  color: var(--text-dark) !important;
  text-transform: none !important;
}

body .dashboard .admin-vagas-meta {
  margin-top: .18rem !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
  color: #536983 !important;
  font-weight: 500 !important;
}

body .dashboard .admin-vagas-date {
  font-size: .8rem !important;
  color: #475569 !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-table .vaga-badge {
  max-width: 100% !important;
  min-height: 24px !important;
  padding: .25rem .52rem !important;
  font-size: .72rem !important;
  line-height: 1 !important;
}

body .dashboard .admin-vagas-table .admin-job-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 32px) !important;
  gap: .35rem !important;
  justify-content: start !important;
  align-items: center !important;
  min-width: 0 !important;
  width: max-content !important;
  max-width: 100% !important;
}

body .dashboard .admin-vagas-table .admin-job-actions form {
  display: contents !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .admin-job-actions .btn-sm.btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon i {
  margin: 0 !important;
  font-size: .82rem !important;
  line-height: 1 !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-vagas-table-card,
  body .dashboard .admin-vagas-table-wrapper {
    overflow-x: auto !important;
  }

  body .dashboard .admin-vagas-table {
    min-width: 860px !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .admin-vagas-filter {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .admin-vagas-filter .btn {
    width: 100% !important;
  }
}

/* Admin vagas quality column: compact state, more room for actions */
body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 24% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 18% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 14% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 9% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) {
  width: 10% !important;
  text-align: left !important;
}
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) {
  width: 17% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-quality-cell {
  color: #475569 !important;
}

body .dashboard .admin-vagas-quality-empty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  max-width: 100% !important;
  padding: .22rem .5rem !important;
  border-radius: 999px !important;
  background: #f3f6fa !important;
  color: #536983 !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-quality-cell > div:first-child {
  font-size: .78rem !important;
  line-height: 1.15 !important;
}

body .dashboard .admin-vagas-quality-cell > div:not(:first-child) {
  font-size: .68rem !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-vagas-table .admin-job-actions {
  display: inline-grid !important;
  grid-template-columns: repeat(2, 30px) !important;
  gap: .3rem !important;
  width: 64px !important;
  max-width: 64px !important;
  justify-content: start !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .admin-job-actions .btn-sm.btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  flex-basis: 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
}

/* Admin vagas final polish: stable 100% desktop layout */
body .dashboard .admin-vagas-table-card,
body .dashboard .admin-vagas-table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .admin-vagas-table {
  table-layout: fixed !important;
  min-width: 0 !important;
}

body .dashboard .admin-vagas-table th,
body .dashboard .admin-vagas-table td {
  padding: .56rem .6rem !important;
  font-size: .8rem !important;
  line-height: 1.24 !important;
}

body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 25% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 17% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 14% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) { width: 13% !important; }
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) {
  width: 15% !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-primary {
  font-size: .82rem !important;
  font-weight: 600 !important;
}

body .dashboard .admin-vagas-meta {
  font-size: .68rem !important;
}

body .dashboard .admin-vagas-quality-score {
  display: inline-flex !important;
  align-items: center !important;
  gap: .22rem !important;
  padding: .2rem .46rem !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  background: #ecfdf5 !important;
  color: #047857 !important;
}

body .dashboard .admin-vagas-quality-score .fa-star {
  color: #f59e0b !important;
  font-size: .68rem !important;
}

body .dashboard .admin-vagas-quality-score.warning {
  background: #fffbeb !important;
  color: #92400e !important;
}

body .dashboard .admin-vagas-quality-score.critical {
  background: #fee2e2 !important;
  color: #b91c1c !important;
}

body .dashboard .admin-vagas-quality-meta,
body .dashboard .admin-vagas-quality-detail,
body .dashboard .admin-vagas-quality-risk {
  margin-top: .16rem !important;
  font-size: .64rem !important;
  line-height: 1.15 !important;
  color: #64748b !important;
}

body .dashboard .admin-vagas-quality-detail {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body .dashboard .admin-vagas-quality-risk {
  font-weight: 800 !important;
}

body .dashboard .admin-vagas-quality-risk.warning {
  color: #92400e !important;
}

body .dashboard .admin-vagas-quality-risk.critical {
  color: #b91c1c !important;
}

body .dashboard .admin-vagas-quality-empty {
  max-width: 100% !important;
  padding: .2rem .44rem !important;
  font-size: .66rem !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 28px) !important;
  gap: .28rem !important;
  width: 92px !important;
  max-width: 92px !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions form,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions form {
  display: contents !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border-radius: 7px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon i,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon i {
  font-size: .78rem !important;
  margin: 0 !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-vagas-table-card,
  body .dashboard .admin-vagas-table-wrapper {
    overflow-x: auto !important;
  }

body .dashboard .admin-vagas-table {
    min-width: 820px !important;
  }
}

/* Cliente ATS: candidate table density and no crushed avatars at 100% zoom */
body .dashboard .cliente-candidatos-table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .cliente-candidatos-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body .dashboard .cliente-candidatos-table th,
body .dashboard .cliente-candidatos-table td {
  padding: .78rem .82rem !important;
  vertical-align: middle !important;
  overflow-wrap: anywhere !important;
}

body .dashboard .cliente-candidatos-table th:nth-child(1),
body .dashboard .cliente-candidatos-table td:nth-child(1) { width: 25% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(2),
body .dashboard .cliente-candidatos-table td:nth-child(2) { width: 15% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(3),
body .dashboard .cliente-candidatos-table td:nth-child(3) { width: 13% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(4),
body .dashboard .cliente-candidatos-table td:nth-child(4) { width: 20% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(5),
body .dashboard .cliente-candidatos-table td:nth-child(5) { width: 9% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(6),
body .dashboard .cliente-candidatos-table td:nth-child(6) { width: 8% !important; }
body .dashboard .cliente-candidatos-table th:nth-child(7),
body .dashboard .cliente-candidatos-table td:nth-child(7) { width: 10% !important; }

body .dashboard .cliente-candidatos-table tr.is-approved {
  background: rgba(46,196,114,.045) !important;
}

body .dashboard .cliente-candidatos-table tr.is-rejected {
  background: rgba(255,86,86,.045) !important;
}

body .dashboard .cliente-candidato-cell {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  min-width: 0 !important;
}

body .dashboard .cliente-candidato-avatar {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--primary-light) !important;
  color: var(--primary-dark) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body .dashboard .cliente-candidato-main {
  min-width: 0 !important;
}

body .dashboard .cliente-candidato-name {
  font-size: .9rem !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body .dashboard .cliente-candidato-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .25rem !important;
  max-width: 100% !important;
  margin-top: .22rem !important;
  color: var(--text-body) !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
}

body .dashboard .cliente-candidato-meta > span {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  padding: 1px 6px !important;
  background: #e2e8f0 !important;
  color: #334155 !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

body .dashboard .cliente-candidato-meta > span:last-child {
  background: #f1f5f9 !important;
  color: #64748b !important;
}

body .dashboard .cliente-candidato-job-link {
  color: var(--primary-dark) !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

body .dashboard .cliente-candidatos-table td[data-label="Localização"],
body .dashboard .cliente-candidatos-table td[data-label="Data"] {
  font-size: .82rem !important;
  line-height: 1.3 !important;
  color: var(--text-body) !important;
}

body .dashboard .cliente-candidatos-table td[data-label="Triagem"] details,
body .dashboard .cliente-candidatos-table td[data-label="Triagem"] [style*="Triagem básica"] {
  max-width: 100% !important;
}

body .dashboard .cliente-candidatos-table .table-actions,
body .dashboard .cliente-candidatos-table .candidate-actions-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}

body .dashboard .cliente-candidatos-table .candidate-action-resume {
  min-width: 0 !important;
  height: 34px !important;
  padding: 0 .55rem !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}

body .dashboard .cliente-candidatos-table .btn-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

@media (max-width: 980px) {
  body .dashboard .cliente-candidatos-table-wrapper {
    overflow-x: auto !important;
  }

  body .dashboard .cliente-candidatos-table {
    min-width: 920px !important;
  }
}

/* Backoffice final density pass: no chopped words at 100% zoom */
body .dashboard .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: .85rem !important;
}

body .dashboard .stat-card {
  min-width: 0 !important;
  min-height: 84px !important;
  padding: .82rem .86rem !important;
  gap: .68rem !important;
  align-items: center !important;
}

body .dashboard .stat-card > div:not(.stat-icon) {
  min-width: 0 !important;
}

body .dashboard .stat-icon {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 1rem !important;
}

body .dashboard .stat-num {
  font-size: 1.42rem !important;
  line-height: 1 !important;
}

body .dashboard .stat-label {
  font-size: .68rem !important;
  line-height: 1.15 !important;
  letter-spacing: .015em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

@media (min-width: 1280px) {
  body .dashboard .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

body .dashboard .admin-vagas-table-wrapper,
body .dashboard .admin-users-table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .admin-vagas-table,
body .dashboard .admin-users-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

body .dashboard .admin-vagas-table th,
body .dashboard .admin-vagas-table td,
body .dashboard .admin-users-table th,
body .dashboard .admin-users-table td {
  padding: .64rem .72rem !important;
  font-size: .82rem !important;
  line-height: 1.24 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 24% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 19% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 14% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 9% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) { width: 12% !important; }
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 9% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) { width: 13% !important; }

body .dashboard .admin-vagas-primary,
body .dashboard .admin-users-table td:first-child > div:first-child {
  font-size: .84rem !important;
  line-height: 1.24 !important;
  font-weight: 650 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body .dashboard .admin-vagas-meta,
body .dashboard .admin-vagas-date,
body .dashboard .admin-users-table small {
  font-size: .7rem !important;
  line-height: 1.18 !important;
}

body .dashboard .admin-vagas-quality-cell {
  white-space: normal !important;
}

body .dashboard .admin-vagas-quality-empty {
  display: inline-flex !important;
  max-width: 92px !important;
  white-space: normal !important;
  text-align: center !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: .32rem !important;
  width: 100% !important;
  max-width: 112px !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-vagas-table .table-actions.admin-job-actions .btn-icon,
body .dashboard .admin-users-table .admin-user-actions .btn-icon {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

body .dashboard .admin-users-table th:nth-child(1),
body .dashboard .admin-users-table td:nth-child(1) { width: 22% !important; }
body .dashboard .admin-users-table th:nth-child(2),
body .dashboard .admin-users-table td:nth-child(2) { width: 13% !important; }
body .dashboard .admin-users-table th:nth-child(3),
body .dashboard .admin-users-table td:nth-child(3) { width: 15% !important; }
body .dashboard .admin-users-table th:nth-child(4),
body .dashboard .admin-users-table td:nth-child(4) { width: 14% !important; }
body .dashboard .admin-users-table th:nth-child(5),
body .dashboard .admin-users-table td:nth-child(5) { width: 14% !important; }
body .dashboard .admin-users-table th:nth-child(6),
body .dashboard .admin-users-table td:nth-child(6) { width: 9% !important; }
body .dashboard .admin-users-table th:nth-child(7),
body .dashboard .admin-users-table td:nth-child(7) { width: 13% !important; }

body .dashboard .admin-plan-badge {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  padding: .2rem .5rem !important;
  font-size: .66rem !important;
  line-height: 1.1 !important;
}

body .dashboard .admin-plan-badge small {
  font-size: .61rem !important;
  line-height: 1 !important;
}

body .dashboard .admin-user-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .32rem !important;
  align-items: center !important;
}

body .dashboard .retention-table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .retention-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

body .dashboard .retention-table th,
body .dashboard .retention-table td {
  padding: .66rem .72rem !important;
  font-size: .8rem !important;
  line-height: 1.22 !important;
  vertical-align: top !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body .dashboard .retention-table th:nth-child(1),
body .dashboard .retention-table td:nth-child(1) { width: 15% !important; }
body .dashboard .retention-table th:nth-child(2),
body .dashboard .retention-table td:nth-child(2) { width: 15% !important; }
body .dashboard .retention-table th:nth-child(3),
body .dashboard .retention-table td:nth-child(3) { width: 14% !important; }
body .dashboard .retention-table th:nth-child(4),
body .dashboard .retention-table td:nth-child(4) { width: 14% !important; }
body .dashboard .retention-table th:nth-child(5),
body .dashboard .retention-table td:nth-child(5) { width: 8% !important; }
body .dashboard .retention-table th:nth-child(6),
body .dashboard .retention-table td:nth-child(6) { width: 10% !important; }
body .dashboard .retention-table th:nth-child(7),
body .dashboard .retention-table td:nth-child(7) { width: 24% !important; }

body .dashboard .retention-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .42rem !important;
  align-items: start !important;
}

body .dashboard .retention-actions form {
  min-width: 0 !important;
  display: grid !important;
  gap: .28rem !important;
}

body .dashboard .retention-actions .form-control {
  min-height: 36px !important;
  height: 36px !important;
  font-size: .72rem !important;
  padding: .35rem .55rem !important;
}

body .dashboard .retention-actions .btn {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 .45rem !important;
  font-size: .72rem !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-vagas-table-wrapper,
  body .dashboard .admin-users-table-wrapper,
  body .dashboard .retention-table-wrapper {
    overflow-x: auto !important;
  }

  body .dashboard .admin-vagas-table,
  body .dashboard .admin-users-table,
  body .dashboard .retention-table {
    min-width: 980px !important;
  }
}

/* Codex operational lock 2026-07-26: no letter-by-letter breaks, no desktop horizontal scroll. */
@media (min-width: 1181px) {
  body .dashboard .admin-vagas-table-wrapper,
  body .dashboard .admin-users-table-wrapper,
  body .dashboard .retention-table-wrapper,
  body .dashboard .cliente-candidatos-table-wrapper,
  body .dashboard .table-wrapper {
    overflow-x: hidden !important;
  }

  body .dashboard .admin-vagas-table,
  body .dashboard .admin-users-table,
  body .dashboard .retention-table,
  body .dashboard .cliente-candidatos-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }
}

body .dashboard table th,
body .dashboard table td,
body .dashboard .stat-card,
body .dashboard .stat-card *,
body .dashboard .vaga-badge,
body .dashboard .admin-plan-badge,
body .dashboard .admin-vagas-primary,
body .dashboard .admin-vagas-meta,
body .dashboard .admin-vagas-quality-cell,
body .dashboard .admin-users-table td,
body .dashboard .retention-table td,
body .dashboard .cliente-candidatos-table td {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .admin-users-table a,
body .dashboard .admin-users-table [href^="mailto:"],
body .dashboard .cliente-candidato-meta,
body .dashboard .cliente-candidato-meta *,
body .dashboard .admin-vagas-meta {
  overflow-wrap: anywhere !important;
}

body .dashboard .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  align-items: stretch !important;
}

body .dashboard .stat-card {
  min-height: 88px !important;
  padding: .82rem .9rem !important;
}

body .dashboard .stat-label {
  max-width: 12ch !important;
  font-size: .7rem !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 25% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 17% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 14% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) { width: 12% !important; }
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) { width: 16% !important; }

body .dashboard .admin-users-table th:nth-child(1),
body .dashboard .admin-users-table td:nth-child(1) { width: 23% !important; }
body .dashboard .admin-users-table th:nth-child(2),
body .dashboard .admin-users-table td:nth-child(2) { width: 12% !important; }
body .dashboard .admin-users-table th:nth-child(3),
body .dashboard .admin-users-table td:nth-child(3) { width: 16% !important; }
body .dashboard .admin-users-table th:nth-child(4),
body .dashboard .admin-users-table td:nth-child(4) { width: 15% !important; }
body .dashboard .admin-users-table th:nth-child(5),
body .dashboard .admin-users-table td:nth-child(5) { width: 13% !important; }
body .dashboard .admin-users-table th:nth-child(6),
body .dashboard .admin-users-table td:nth-child(6) { width: 8% !important; }
body .dashboard .admin-users-table th:nth-child(7),
body .dashboard .admin-users-table td:nth-child(7) { width: 13% !important; }

body .dashboard .admin-vagas-table th,
body .dashboard .admin-vagas-table td,
body .dashboard .admin-users-table th,
body .dashboard .admin-users-table td {
  padding: .58rem .62rem !important;
  font-size: .8rem !important;
  line-height: 1.24 !important;
  overflow: hidden !important;
}

body .dashboard .admin-vagas-table td.admin-actions-cell,
body .dashboard .admin-users-table td:last-child,
body .dashboard .admin-actions-cell {
  overflow: visible !important;
}

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-users-table .admin-user-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .28rem !important;
  width: 100% !important;
  max-width: 100% !important;
}

body .dashboard .admin-vagas-table .admin-job-actions .btn-icon,
body .dashboard .admin-users-table .admin-user-actions .btn-icon,
body .dashboard .admin-users-table .admin-user-actions details > summary.btn-icon,
body .dashboard .admin-users-table .admin-user-actions .btn-sm.btn-icon {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
}

body .dashboard .admin-plan-badge {
  display: inline-grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  max-width: 116px !important;
  white-space: normal !important;
  line-height: 1.08 !important;
}

body .dashboard .admin-plan-badge span,
body .dashboard .admin-plan-badge small {
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body .dashboard .admin-user-actions details[open] > div.admin-user-popover,
body .dashboard .admin-user-actions details[open] > div.admin-user-edit-panel {
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(860px, calc(100vw - 40px)) !important;
  max-height: min(86vh, 760px) !important;
  overflow: auto !important;
  padding: 0 !important;
  border-radius: 12px !important;
  z-index: 10020 !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-user-edit-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .7rem !important;
  padding: 1rem !important;
}

body .dashboard .admin-user-edit-title,
body .dashboard .admin-user-edit-field--wide,
body .dashboard .admin-user-edit-footer {
  grid-column: 1 / -1 !important;
}

body .dashboard .admin-user-edit-field,
body .dashboard .admin-user-edit-field--small,
body .dashboard .admin-user-edit-check {
  grid-column: auto !important;
  min-width: 0 !important;
}

body .dashboard .admin-user-edit-title span,
body .dashboard .admin-user-view-list dd {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

body .dashboard .admin-user-edit-title span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body .dashboard .retention-table th:nth-child(1),
body .dashboard .retention-table td:nth-child(1) { width: 15% !important; }
body .dashboard .retention-table th:nth-child(2),
body .dashboard .retention-table td:nth-child(2) { width: 15% !important; }
body .dashboard .retention-table th:nth-child(3),
body .dashboard .retention-table td:nth-child(3) { width: 13% !important; }
body .dashboard .retention-table th:nth-child(4),
body .dashboard .retention-table td:nth-child(4) { width: 13% !important; }
body .dashboard .retention-table th:nth-child(5),
body .dashboard .retention-table td:nth-child(5) { width: 8% !important; }
body .dashboard .retention-table th:nth-child(6),
body .dashboard .retention-table td:nth-child(6) { width: 10% !important; }
body .dashboard .retention-table th:nth-child(7),
body .dashboard .retention-table td:nth-child(7) { width: 26% !important; }

body .dashboard .retention-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .35rem !important;
}

body .dashboard .retention-actions form {
  min-width: 0 !important;
}

body .dashboard .retention-actions .form-control,
body .dashboard .retention-actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  font-size: .7rem !important;
}

@media (max-width: 1180px) {
  body .dashboard .admin-vagas-table-wrapper,
  body .dashboard .admin-users-table-wrapper,
  body .dashboard .retention-table-wrapper,
  body .dashboard .cliente-candidatos-table-wrapper,
  body .dashboard .table-wrapper {
    overflow-x: auto !important;
  }

  body .dashboard .admin-vagas-table,
  body .dashboard .admin-users-table,
  body .dashboard .retention-table,
  body .dashboard .cliente-candidatos-table {
    min-width: 900px !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .admin-user-edit-form,
  body .dashboard .retention-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Fretei professional visual lock: readable labels, no aggressive word splitting. */
body .dashboard .stat-card,
body .dashboard .stat-card *,
body .dashboard .admin-system-pill,
body .dashboard .admin-system-pill *,
body .dashboard .admin-funnel-grid *,
body .dashboard .marketplace-quality-grid *,
body .dashboard .pipeline-metrics-grid *,
body .dashboard .admin-users-table *,
body .dashboard .admin-vagas-table *,
body .dashboard .retention-table *,
body .dashboard .cliente-candidatos-table * {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .stat-label {
  max-width: none !important;
  font-size: .68rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

body .dashboard .admin-users-table [href^="mailto:"],
body .dashboard .admin-users-table .muted,
body .dashboard .admin-vagas-meta,
body .dashboard .cliente-candidato-meta,
body .dashboard .cliente-candidato-meta * {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .dashboard .retention-actions .form-control,
body .dashboard .retention-actions .btn {
  white-space: nowrap !important;
}

/* Product UX consolidation: mature dense backoffice, stable modals and no broken words at 100% zoom. */
body .dashboard {
  --ops-row-font: .78rem;
  --ops-row-line: 1.22;
  --ops-action-size: 32px;
}

body .dashboard .page-title {
  font-size: clamp(1.35rem, 1.4vw, 1.95rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body .dashboard .page-subtitle {
  font-size: .88rem !important;
  line-height: 1.35 !important;
}

body .dashboard .page-header,
body .dashboard .table-card,
body .dashboard .admin-command-hero {
  border-radius: 10px !important;
}

body .dashboard .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)) !important;
  gap: .8rem !important;
}

body .dashboard .stat-card {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: .82rem .95rem !important;
  gap: .85rem !important;
}

body .dashboard .stat-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 10px !important;
}

body .dashboard .stat-num {
  font-size: clamp(1.35rem, 1.6vw, 1.85rem) !important;
  line-height: 1 !important;
  margin: 0 0 .18rem !important;
}

body .dashboard .stat-label {
  font-size: .72rem !important;
  line-height: 1.12 !important;
  max-width: 100% !important;
  text-wrap: normal !important;
}

body .dashboard table {
  font-size: var(--ops-row-font) !important;
  line-height: var(--ops-row-line) !important;
}

body .dashboard table th,
body .dashboard table td {
  padding: .48rem .55rem !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard table th {
  font-size: .68rem !important;
  letter-spacing: .03em !important;
}

body .dashboard .vf-table-primary,
body .dashboard .admin-vagas-primary,
body .dashboard .admin-users-table td:first-child > div:first-child,
body .dashboard .cliente-candidato-name {
  font-size: .82rem !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body .dashboard .admin-vagas-meta,
body .dashboard .admin-vagas-date,
body .dashboard .cliente-candidato-meta,
body .dashboard .admin-users-table small {
  font-size: .7rem !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-users-table,
body .dashboard .admin-vagas-table,
body .dashboard .vf-admin-candidaturas-table,
body .dashboard .cliente-candidatos-table,
body .dashboard .retention-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

body .dashboard .admin-users-table-wrapper,
body .dashboard .admin-vagas-table-wrapper,
body .dashboard .vf-admin-candidaturas-table-wrapper,
body .dashboard .cliente-candidatos-table-wrapper,
body .dashboard .retention-table-wrapper,
body .dashboard .table-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

body .dashboard .table-actions,
body .dashboard .admin-job-actions,
body .dashboard .admin-user-actions,
body .dashboard .candidate-actions-wrap,
body .dashboard .retention-actions {
  gap: .3rem !important;
}

body .dashboard .table-actions .btn-icon,
body .dashboard .admin-job-actions .btn-icon,
body .dashboard .admin-user-actions .btn-icon,
body .dashboard .candidate-actions-wrap .btn-icon {
  width: var(--ops-action-size) !important;
  min-width: var(--ops-action-size) !important;
  max-width: var(--ops-action-size) !important;
  height: var(--ops-action-size) !important;
  min-height: var(--ops-action-size) !important;
  max-height: var(--ops-action-size) !important;
  padding: 0 !important;
  border-radius: 9px !important;
}

body .dashboard .table-actions .btn-icon i,
body .dashboard .admin-job-actions .btn-icon i,
body .dashboard .admin-user-actions .btn-icon i,
body .dashboard .candidate-actions-wrap .btn-icon i {
  font-size: .82rem !important;
}

body .dashboard .admin-vagas-table th:nth-child(1),
body .dashboard .admin-vagas-table td:nth-child(1) { width: 24% !important; }
body .dashboard .admin-vagas-table th:nth-child(2),
body .dashboard .admin-vagas-table td:nth-child(2) { width: 18% !important; }
body .dashboard .admin-vagas-table th:nth-child(3),
body .dashboard .admin-vagas-table td:nth-child(3) { width: 15% !important; }
body .dashboard .admin-vagas-table th:nth-child(4),
body .dashboard .admin-vagas-table td:nth-child(4) { width: 8% !important; }
body .dashboard .admin-vagas-table th:nth-child(5),
body .dashboard .admin-vagas-table td:nth-child(5) { width: 11% !important; }
body .dashboard .admin-vagas-table th:nth-child(6),
body .dashboard .admin-vagas-table td:nth-child(6) { width: 9% !important; }
body .dashboard .admin-vagas-table th:nth-child(7),
body .dashboard .admin-vagas-table td:nth-child(7) { width: 15% !important; }

body .dashboard .admin-vagas-table .admin-job-actions,
body .dashboard .admin-users-table .admin-user-actions {
  justify-content: flex-start !important;
  align-content: center !important;
  overflow: visible !important;
}

body .dashboard .admin-vagas-quality-empty {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: .16rem .48rem !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .dashboard .admin-vagas-quality-score,
body .dashboard .admin-vagas-quality-meta,
body .dashboard .admin-vagas-quality-detail,
body .dashboard .admin-vagas-quality-risk {
  font-size: .68rem !important;
  line-height: 1.15 !important;
}

body .dashboard .vf-candidate-avatar,
body .dashboard .vf-company-avatar,
body .dashboard .cliente-candidato-avatar {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  color: #fff !important;
  background: #6f2367 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

body .dashboard .vf-company-avatar {
  background: #10b981 !important;
}

body .dashboard .vf-candidate-person,
body .dashboard .cliente-candidato-cell {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  min-width: 0 !important;
}

body .dashboard .vf-candidate-person-main,
body .dashboard .cliente-candidato-main {
  min-width: 0 !important;
  max-width: 100% !important;
}

body .dashboard .ats-mini-score {
  min-width: 76px !important;
  max-width: 96px !important;
  padding: .35rem .45rem !important;
  font-size: .72rem !important;
  line-height: 1.08 !important;
}

body .dashboard .vf-ats-details {
  max-width: 170px !important;
  font-size: .7rem !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-user-actions details[open] > div.admin-user-edit-panel,
body .dashboard .admin-user-actions details[open] > div.admin-user-popover {
  width: min(920px, calc(100vw - 48px)) !important;
  max-height: min(84vh, 760px) !important;
  overflow: auto !important;
}

body .dashboard .admin-user-edit-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .75rem !important;
  align-items: start !important;
}

body .dashboard .admin-user-edit-field,
body .dashboard .admin-user-edit-field--small,
body .dashboard .admin-user-edit-check {
  display: flex !important;
  flex-direction: column !important;
  gap: .28rem !important;
  min-width: 0 !important;
  white-space: normal !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
}

body .dashboard .admin-user-edit-check {
  justify-content: end !important;
  min-height: 64px !important;
}

body .dashboard .admin-user-edit-field .form-control,
body .dashboard .admin-user-edit-field--small .form-control,
body .dashboard .admin-user-edit-form textarea.form-control,
body .dashboard .admin-user-edit-form select.form-control {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  font-size: .82rem !important;
}

body .dashboard .admin-user-edit-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
}

body .dashboard .admin-user-edit-footer span {
  max-width: 520px !important;
  font-size: .74rem !important;
  line-height: 1.3 !important;
  color: var(--text-body) !important;
}

body .dashboard .retention-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body .dashboard .retention-actions .form-control,
body .dashboard .retention-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  font-size: .68rem !important;
  padding: 0 .5rem !important;
}

@media (max-width: 1240px) {
  body .dashboard .admin-users-table,
  body .dashboard .admin-vagas-table,
  body .dashboard .vf-admin-candidaturas-table,
  body .dashboard .cliente-candidatos-table,
  body .dashboard .retention-table {
    min-width: 0 !important;
  }

  body .dashboard .retention-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 860px) {
  body .dashboard .admin-user-edit-form {
    grid-template-columns: 1fr !important;
  }
}

/* Retention queue: actions are form workflows, not icon buttons. Keep them readable at 100% zoom. */
body .dashboard .retention-table th:nth-child(1),
body .dashboard .retention-table td:nth-child(1) { width: 15% !important; }
body .dashboard .retention-table th:nth-child(2),
body .dashboard .retention-table td:nth-child(2) { width: 14% !important; }
body .dashboard .retention-table th:nth-child(3),
body .dashboard .retention-table td:nth-child(3) { width: 13% !important; }
body .dashboard .retention-table th:nth-child(4),
body .dashboard .retention-table td:nth-child(4) { width: 13% !important; }
body .dashboard .retention-table th:nth-child(5),
body .dashboard .retention-table td:nth-child(5) { width: 7% !important; }
body .dashboard .retention-table th:nth-child(6),
body .dashboard .retention-table td:nth-child(6) { width: 10% !important; }
body .dashboard .retention-table th:nth-child(7),
body .dashboard .retention-table td:nth-child(7) { width: 28% !important; }

body .dashboard .retention-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .38rem !important;
  align-items: stretch !important;
}

body .dashboard .retention-actions form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: .35rem !important;
  min-width: 0 !important;
  width: 100% !important;
  align-items: center !important;
}

body .dashboard .retention-actions .form-control,
body .dashboard .retention-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  min-width: 0 !important;
  width: 100% !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  padding: 0 .5rem !important;
  white-space: nowrap !important;
}

body .dashboard .retention-actions .btn {
  justify-content: center !important;
  gap: .25rem !important;
}

@media (max-width: 1180px) {
  body .dashboard .retention-actions form {
    grid-template-columns: minmax(0, 1fr) 104px !important;
  }
}

@media (max-width: 760px) {
  body .dashboard .retention-actions form {
    grid-template-columns: 1fr !important;
  }
}

/* Commercial premium trial form: compact, explicit and aligned. */
body .dashboard .commercial-trial-form {
  display: grid !important;
  grid-template-columns: minmax(320px, 1.8fr) minmax(130px, 170px) !important;
  gap: .9rem 1rem !important;
  align-items: start !important;
  max-width: 980px !important;
}

body .dashboard .commercial-trial-form .form-group {
  margin-bottom: 0 !important;
}

body .dashboard .commercial-trial-form .form-group.full-width,
body .dashboard .commercial-trial-actions {
  grid-column: 1 / -1 !important;
}

body .dashboard .commercial-trial-form .form-control {
  min-height: 42px !important;
  height: 42px !important;
  font-size: .86rem !important;
}

body .dashboard .commercial-trial-form small {
  display: block !important;
  max-width: 48ch !important;
  margin-top: .38rem !important;
  font-size: .74rem !important;
  line-height: 1.35 !important;
}

body .dashboard .commercial-trial-actions {
  display: flex !important;
  justify-content: flex-start !important;
  padding-top: .25rem !important;
}

body .dashboard .commercial-trial-actions .btn {
  width: auto !important;
  min-width: 230px !important;
  max-width: 100% !important;
  min-height: 40px !important;
  padding: 0 .95rem !important;
}

@media (max-width: 780px) {
  body .dashboard .commercial-trial-form {
    grid-template-columns: 1fr !important;
  }
}

body .dashboard .commercial-trial-history-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .commercial-trial-history-table {
  width: 100% !important;
  table-layout: fixed !important;
}

body .dashboard .commercial-trial-history-table th,
body .dashboard .commercial-trial-history-table td {
  padding: .55rem .7rem !important;
  vertical-align: middle !important;
  font-size: .78rem !important;
  line-height: 1.22 !important;
}

body .dashboard .commercial-trial-history-table th:nth-child(1),
body .dashboard .commercial-trial-history-table td:nth-child(1) { width: 22% !important; }
body .dashboard .commercial-trial-history-table th:nth-child(2),
body .dashboard .commercial-trial-history-table td:nth-child(2) { width: 17% !important; }
body .dashboard .commercial-trial-history-table th:nth-child(3),
body .dashboard .commercial-trial-history-table td:nth-child(3) { width: 9% !important; }
body .dashboard .commercial-trial-history-table th:nth-child(4),
body .dashboard .commercial-trial-history-table td:nth-child(4) { width: 17% !important; }
body .dashboard .commercial-trial-history-table th:nth-child(5),
body .dashboard .commercial-trial-history-table td:nth-child(5) { width: 13% !important; }
body .dashboard .commercial-trial-history-table th:nth-child(6),
body .dashboard .commercial-trial-history-table td:nth-child(6) { width: 22% !important; }

body .dashboard .commercial-trial-revoke-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 96px !important;
  gap: .4rem !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

body .dashboard .commercial-trial-revoke-form .form-control,
body .dashboard .commercial-trial-revoke-form .btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 .55rem !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .dashboard .commercial-trial-revoke-form .btn {
  justify-content: center !important;
}

@media (max-width: 1180px) {
  body .dashboard .commercial-trial-history-wrapper {
    overflow-x: auto !important;
  }

  body .dashboard .commercial-trial-history-table {
    min-width: 860px !important;
  }
}

/* Client ATS summary: the dashboard card is an executive preview, not the full premium workflow. */
body .dashboard .ats-panel-body {
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) !important;
  gap: .9rem !important;
  padding: .9rem !important;
}

body .dashboard .ats-score-summary {
  padding: .9rem !important;
  gap: .7rem !important;
  align-content: center !important;
}

body .dashboard .ats-score-circle {
  width: 124px !important;
  height: 124px !important;
  position: relative !important;
}

body .dashboard .ats-score-circle > strong {
  width: 88px !important;
  height: 88px !important;
  font-size: 1.42rem !important;
  line-height: 1 !important;
}

body .dashboard .ats-score-circle > span {
  display: none !important;
}

body .dashboard .ats-score-caption {
  display: block !important;
  text-align: center !important;
  color: #52657f !important;
  font-size: .66rem !important;
  font-weight: 850 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}

body .dashboard .ats-score-breakdown {
  gap: .45rem !important;
}

body .dashboard .ats-score-breakdown div {
  padding: .5rem .35rem !important;
  min-width: 0 !important;
}

body .dashboard .ats-score-breakdown strong {
  font-size: 1.05rem !important;
}

body .dashboard .ats-score-breakdown span {
  font-size: .62rem !important;
  letter-spacing: .04em !important;
}

body .dashboard .ats-ranking-list {
  gap: .55rem !important;
}

body .dashboard .ats-ranking-item {
  min-height: 68px !important;
  padding: .62rem .75rem !important;
  gap: .72rem !important;
}

body .dashboard .ats-candidate-score {
  width: 52px !important;
  min-width: 52px !important;
  height: 52px !important;
  border-radius: 10px !important;
  font-size: .92rem !important;
}

body .dashboard .ats-premium-strip {
  grid-column: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .65rem .75rem !important;
  border: 1px solid rgba(85,32,78,.18) !important;
  border-radius: 8px !important;
  background: #fff8e7 !important;
}

body .dashboard .ats-premium-strip strong,
body .dashboard .ats-premium-strip span {
  display: block !important;
}

body .dashboard .ats-premium-strip strong {
  color: var(--primary-dark) !important;
  font-size: .86rem !important;
  line-height: 1.15 !important;
}

body .dashboard .ats-premium-strip span {
  margin-top: .18rem !important;
  color: #52657f !important;
  font-size: .74rem !important;
  line-height: 1.35 !important;
}

body .dashboard .ats-premium-strip.is-active {
  background: rgba(16,185,129,.08) !important;
  border-color: rgba(16,185,129,.25) !important;
}

body .dashboard .ats-premium-strip .btn {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 .75rem !important;
  white-space: nowrap !important;
}

@media (max-width: 960px) {
  body .dashboard .ats-panel-body {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .ats-premium-strip {
    grid-column: 1 !important;
    grid-template-columns: 1fr !important;
  }
}

/* Final visual regression guard: candidate detail, client tables and about icons. */
body .candidate-detail-page {
  padding-top: calc(var(--header-height, 80px) + 1.5rem) !important;
}

body .candidate-detail-page .profile-header {
  margin-top: 0 !important;
}

body .candidate-detail-page .info-label {
  color: var(--text-dark) !important;
  font-weight: 800 !important;
}

body .candidate-detail-page .info-value {
  color: var(--text-dark) !important;
  font-weight: 400 !important;
}

body .candidate-detail-page .candidate-application-card {
  background: var(--primary-light) !important;
  color: #fff !important;
}

body .candidate-detail-page .candidate-application-card a,
body .candidate-detail-page .candidate-application-card div {
  color: #fff !important;
}

body .candidate-detail-page .candidate-application-card .vaga-badge {
  color: var(--primary-dark) !important;
}

body .about-card,
body .feature-item {
  overflow: visible !important;
}

body .about-icon,
body .feature-icon {
  width: 128px !important;
  height: 128px !important;
  min-width: 128px !important;
  min-height: 128px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body .about-icon-img,
body .feature-icon-img {
  width: 112px !important;
  height: 112px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  filter: drop-shadow(0 10px 16px rgba(48, 16, 52, .12)) !important;
}

/* Cliente: Minhas Vagas deve caber inteira no desktop 100%, sem barra horizontal. */
body .dashboard .minhas-vagas-table-desktop,
body .dashboard .minhas-vagas-table-desktop .table-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body .dashboard .minhas-vagas-table-desktop .table-wrapper::-webkit-scrollbar {
  display: none !important;
}

body .dashboard .minhas-vagas-table-compact {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  font-size: .78rem !important;
}

body .dashboard .minhas-vagas-table-compact th,
body .dashboard .minhas-vagas-table-compact td {
  padding: .52rem .46rem !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body .dashboard .minhas-vagas-table-compact th:nth-child(1),
body .dashboard .minhas-vagas-table-compact td:nth-child(1) { width: 32% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(2),
body .dashboard .minhas-vagas-table-compact td:nth-child(2) { width: 10% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(3),
body .dashboard .minhas-vagas-table-compact td:nth-child(3) { width: 12% !important; text-align: center !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(4),
body .dashboard .minhas-vagas-table-compact td:nth-child(4) { width: 13% !important; text-align: center !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(5),
body .dashboard .minhas-vagas-table-compact td:nth-child(5) { width: 14% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(6),
body .dashboard .minhas-vagas-table-compact td:nth-child(6),
body .dashboard .minhas-vagas-table-compact th:last-child,
body .dashboard .minhas-vagas-table-compact td.cliente-actions-cell {
  width: 19% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-cell strong {
  font-size: .82rem !important;
  line-height: 1.16 !important;
  font-weight: 760 !important;
}

body .dashboard .minhas-vagas-table-compact .cliente-job-location,
body .dashboard .minhas-vagas-table-compact .cliente-job-quality,
body .dashboard .minhas-vagas-table-compact .cliente-job-quality *,
body .dashboard .minhas-vagas-table-compact .cliente-job-metric span,
body .dashboard .minhas-vagas-table-compact .cliente-job-metric small {
  font-size: .7rem !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .26rem !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions form {
  display: inline-flex !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions .btn-icon {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  flex: 0 0 28px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  font-size: .72rem !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions .btn-icon i {
  font-size: .72rem !important;
}

body .candidate-filter-auto-rejected {
  font-size: .74rem !important;
  min-height: 34px !important;
  padding: 0 .62rem !important;
  white-space: nowrap !important;
}

/* Final guard: página Sobre com ícones padronizados, sem corte e sem tamanhos soltos. */
body .about-card,
body .feature-item {
  overflow: visible !important;
}

body .about-card .about-icon,
body .feature-item .feature-icon {
  width: 128px !important;
  height: 128px !important;
  min-width: 128px !important;
  min-height: 128px !important;
  max-width: 128px !important;
  max-height: 128px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 1rem !important;
  padding: 10px !important;
  overflow: visible !important;
  line-height: 0 !important;
}

body .about-card .about-icon-img,
body .feature-item .feature-icon-img {
  width: 112px !important;
  height: 112px !important;
  min-width: 112px !important;
  min-height: 112px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
}

/* Final guard: nova/editar vaga, opções e benefícios alinhados e individualizados. */
body .dashboard .vf-option-pill {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: .58rem !important;
  min-height: 42px !important;
  padding: .58rem .72rem !important;
}

body .dashboard .vf-option-pill input[type="radio"] {
  position: static !important;
  opacity: 1 !important;
  appearance: auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  transform: none !important;
}

body .dashboard .vf-option-pill span {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

body .dashboard .vf-benefit-options {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: .62rem .75rem !important;
  align-items: stretch !important;
}

body .dashboard .vf-benefit-option {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: .5rem !important;
  min-width: 0 !important;
}

body .dashboard .vf-benefit-option input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  appearance: auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

body .dashboard .vf-benefit-option .badge-beneficio {
  width: 100% !important;
  min-height: 34px !important;
  justify-content: flex-start !important;
  gap: .44rem !important;
  padding: .45rem .62rem !important;
}

/* Final guard: Minhas Vagas do cliente em desktop 100% sem barra horizontal. */
body .dashboard .minhas-vagas-table-desktop,
body .dashboard .minhas-vagas-table-desktop .table-wrapper {
  overflow-x: hidden !important;
}

body .dashboard .minhas-vagas-table-compact {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  font-size: .75rem !important;
}

body .dashboard .minhas-vagas-table-compact th,
body .dashboard .minhas-vagas-table-compact td {
  padding: .48rem .42rem !important;
  vertical-align: middle !important;
}

body .dashboard .minhas-vagas-table-compact th:nth-child(1),
body .dashboard .minhas-vagas-table-compact td:nth-child(1) { width: 31% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(2),
body .dashboard .minhas-vagas-table-compact td:nth-child(2) { width: 14% !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(3),
body .dashboard .minhas-vagas-table-compact td:nth-child(3) { width: 13% !important; text-align: center !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(4),
body .dashboard .minhas-vagas-table-compact td:nth-child(4) { width: 14% !important; text-align: center !important; }
body .dashboard .minhas-vagas-table-compact th:nth-child(5),
body .dashboard .minhas-vagas-table-compact td:nth-child(5) { width: 28% !important; }

body .dashboard .cliente-job-status {
  display: grid !important;
  justify-items: start !important;
  gap: .28rem !important;
}

body .dashboard .cliente-job-quality-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: .25rem !important;
  max-width: 100% !important;
  padding: .2rem .42rem !important;
  border-radius: 999px !important;
  background: #f3f6fa !important;
  color: var(--text-muted) !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions {
  display: grid !important;
  grid-template-columns: repeat(5, 27px) !important;
  justify-content: end !important;
  gap: .28rem !important;
}

body .dashboard .minhas-vagas-table-compact .minhas-vagas-table-actions .btn-icon {
  width: 27px !important;
  min-width: 27px !important;
  max-width: 27px !important;
  height: 27px !important;
  min-height: 27px !important;
  padding: 0 !important;
}

/* Final guard: histórico profissional no cadastro do motorista. */
body .dashboard .work-history-fields .fretei-date-field {
  display: flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .dashboard .work-history-fields .fretei-date-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: .7rem .85rem .7rem 1rem !important;
  border: 1px solid var(--border, #cbd5e1) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--text-dark, #16051a) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body .dashboard .work-history-fields .fretei-date-value {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
}

body .dashboard .work-history-fields .fretei-date-icon {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 10px !important;
  background: #fff3d6 !important;
}

body .dashboard .work-current-group {
  display: flex !important;
  align-items: flex-end !important;
  margin-bottom: 1.25rem !important;
}

body .dashboard .work-current-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
  min-height: 48px !important;
  margin: 1.52rem 0 0 !important;
  padding: 0 !important;
  color: var(--text-dark, #16051a) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

body .dashboard .work-current-toggle input[type="checkbox"],
body .dashboard .work-current-checkbox {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  position: static !important;
  display: inline-block !important;
  opacity: 1 !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #94a3b8 !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  flex: 0 0 18px !important;
}

body .dashboard .work-current-toggle::before,
body .dashboard .work-current-toggle::after,
body .dashboard .work-current-toggle span::before,
body .dashboard .work-current-toggle span::after {
  content: none !important;
  display: none !important;
}

/* Final guard: inputs de mês no histórico profissional do motorista. */
body .dashboard .work-history-fields > .form-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: end !important;
}

body .dashboard .work-history-fields > .form-grid .form-group {
  min-width: 0 !important;
  margin-bottom: 0 !important;
}

body .dashboard .work-history-fields > .form-grid .full-width {
  grid-column: 1 / -1 !important;
}

body .dashboard .work-history-fields input[type="month"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: .7rem .85rem !important;
  border: 1px solid var(--border, #cbd5e1) !important;
  border-radius: 12px !important;
  background-color: #fff !important;
  color: var(--text-dark, #16051a) !important;
  font-size: .95rem !important;
  line-height: 1.2 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body .dashboard .work-history-fields input[type="month"]::-webkit-calendar-picker-indicator {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: .35rem !important;
  border-radius: 9px !important;
  background-color: #fff3d6 !important;
  cursor: pointer !important;
}

body .dashboard .work-history-fields .work-current-group {
  min-width: 150px !important;
  align-self: end !important;
  margin: 0 !important;
}

body .dashboard .work-history-fields .work-current-toggle {
  min-height: 48px !important;
  margin: 0 !important;
}

@media (max-width: 920px) {
  body .dashboard .work-history-fields > .form-grid {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .work-history-fields .work-current-group {
    min-width: 0 !important;
  }
}

/* Global data typography: field titles stay bold; user-provided values and
   displayed answers stay regular across public pages and dashboards. */
body .form-label,
body .filter-label,
body .modal-title,
body dl dt {
  font-weight: 700 !important;
}

body .form-control,
body input.form-control,
body select.form-control,
body textarea.form-control,
body dl dd {
  font-weight: 400 !important;
}

body .form-control::placeholder,
body input.form-control::placeholder,
body textarea.form-control::placeholder {
  font-weight: 400 !important;
}

/* Page-scoped guards for the two dense backoffice workflows.
   These rules intentionally do not affect public pages or other dashboards. */
body .dashboard .retention-page .retention-table-wrapper {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

body .dashboard .retention-page .retention-table {
  width: 100% !important;
  min-width: 1080px !important;
  table-layout: fixed !important;
}

body .dashboard .retention-page .retention-table th:nth-child(1),
body .dashboard .retention-page .retention-table td:nth-child(1) { width: 14% !important; }
body .dashboard .retention-page .retention-table th:nth-child(2),
body .dashboard .retention-page .retention-table td:nth-child(2) { width: 14% !important; }
body .dashboard .retention-page .retention-table th:nth-child(3),
body .dashboard .retention-page .retention-table td:nth-child(3) { width: 12% !important; }
body .dashboard .retention-page .retention-table th:nth-child(4),
body .dashboard .retention-page .retention-table td:nth-child(4) { width: 12% !important; }
body .dashboard .retention-page .retention-table th:nth-child(5),
body .dashboard .retention-page .retention-table td:nth-child(5) { width: 7% !important; }
body .dashboard .retention-page .retention-table th:nth-child(6),
body .dashboard .retention-page .retention-table td:nth-child(6) { width: 9% !important; }
body .dashboard .retention-page .retention-table th:nth-child(7),
body .dashboard .retention-page .retention-table td:nth-child(7) { width: 32% !important; }

body .dashboard .retention-page .retention-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: .42rem !important;
  width: 100% !important;
  min-width: 0 !important;
}

body .dashboard .retention-page .retention-action-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(108px, 116px) !important;
  align-items: center !important;
  gap: .4rem !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body .dashboard .retention-page .retention-action-form .form-control,
body .dashboard .retention-page .retention-action-form .btn {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-size: .72rem !important;
  line-height: 1 !important;
}

body .dashboard .retention-page .retention-action-form .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .3rem !important;
  padding: 0 .55rem !important;
  white-space: nowrap !important;
}

body .dashboard .admin-users-page .admin-user-actions details[open] > .admin-user-edit-panel {
  position: fixed !important;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10020 !important;
  display: block !important;
  width: min(860px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: 860px !important;
  max-height: min(88vh, 760px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: var(--text-dark) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28) !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-users-page .admin-user-edit-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: .8rem 1rem !important;
  width: 100% !important;
  max-height: min(88vh, 760px) !important;
  margin: 0 !important;
  padding: 1.15rem !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-users-page .admin-user-edit-title,
body .dashboard .admin-users-page .admin-user-edit-field--wide,
body .dashboard .admin-users-page .admin-user-edit-footer {
  grid-column: 1 / -1 !important;
}

body .dashboard .admin-users-page .admin-user-edit-field,
body .dashboard .admin-users-page .admin-user-edit-field--small,
body .dashboard .admin-users-page .admin-user-edit-check {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-users-page .admin-user-edit-field--wide {
  grid-column: 1 / -1 !important;
}

body .dashboard .admin-users-page .admin-user-edit-field {
  display: flex !important;
  flex-direction: column !important;
  gap: .35rem !important;
  color: var(--text-dark) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

body .dashboard .admin-users-page .admin-user-edit-field .form-control,
body .dashboard .admin-users-page .admin-user-edit-form textarea.form-control,
body .dashboard .admin-users-page .admin-user-edit-form select.form-control {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  font-size: .88rem !important;
  font-weight: 400 !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-users-page .admin-user-actions details[open] > .admin-user-view-panel {
  position: fixed !important;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10020 !important;
  width: min(720px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: 720px !important;
  max-height: min(88vh, 720px) !important;
  margin: 0 !important;
  padding: 1.25rem !important;
  overflow: auto !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: var(--text-dark) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28) !important;
  box-sizing: border-box !important;
}

body .dashboard .admin-users-page .admin-user-view-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin: 0 0 1rem !important;
  padding: 0 0 .85rem !important;
  border-bottom: 1px solid var(--border) !important;
}

body .dashboard .admin-users-page .admin-user-view-title strong {
  color: var(--text-dark) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-users-page .admin-user-view-list {
  gap: .75rem !important;
}

body .dashboard .admin-users-page .admin-user-view-list > div {
  padding: .75rem .85rem !important;
}

body .dashboard .admin-users-page .admin-user-view-list dt {
  margin: 0 0 .3rem !important;
  color: var(--text-muted) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body .dashboard .admin-users-page .admin-user-view-list dd {
  color: var(--text-dark) !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

body .dashboard .admin-users-page .admin-user-edit-check {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: end !important;
  justify-content: flex-start !important;
  gap: .55rem !important;
  min-height: 42px !important;
  padding: .65rem .75rem !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
}

body .dashboard .admin-users-page .admin-user-edit-check input {
  appearance: auto !important;
  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  opacity: 1 !important;
}

body .dashboard .admin-users-page .admin-user-edit-footer {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding-top: .9rem !important;
}

@media (max-width: 760px) {
  body .dashboard .retention-page .retention-table {
    min-width: 980px !important;
  }

  body .dashboard .retention-page .retention-action-form {
    grid-template-columns: 1fr !important;
  }

  body .dashboard .admin-users-page .admin-user-edit-form {
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
  }

  body .dashboard .admin-users-page .admin-user-edit-title,
  body .dashboard .admin-users-page .admin-user-edit-field,
  body .dashboard .admin-users-page .admin-user-edit-field--small,
  body .dashboard .admin-users-page .admin-user-edit-field--wide,
  body .dashboard .admin-users-page .admin-user-edit-check,
  body .dashboard .admin-users-page .admin-user-edit-footer {
    grid-column: 1 / -1 !important;
  }

  body .dashboard .admin-users-page .admin-user-edit-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body .dashboard .admin-users-page .admin-user-view-list {
    grid-template-columns: 1fr !important;
  }
}
