
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  background: #ffffff;
  color: #202124;
  display: flex;
  flex-direction: column;
}

header {
  height: 64px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 22px;
}

.login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  height: 42px;
  padding: 0 20px;
  border-radius: 24px;
  background: #0b57d0;
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

.login-button:hover {
  background: #0847ad;
}

main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 76px 20px 40px;
}

.logo {
  width: min(760px, 82vw);
  height: auto;
  display: block;
}

.actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 52px;
  flex-wrap: wrap;
}

.action-button {
  min-width: 210px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid #dadce0;
  border-radius: 6px;
  background: #f8f9fa;
  color: #202124;
  text-decoration: none;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.action-button:hover {
  border-color: #c6c6c6;
  box-shadow: 0 1px 2px rgba(60,64,67,.15);
  background: #f1f3f4;
}

.page-title {
  font-size: 34px;
  margin-bottom: 18px;
}

.page-note {
  font-size: 18px;
  color: #5f6368;
  margin-bottom: 34px;
  text-align: center;
}

.back-link {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
}

.back-link:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  header {
    padding: 0 14px;
  }

  main {
    padding-top: 90px;
  }

  .logo {
    width: 92vw;
  }

  .actions {
    width: 100%;
    flex-direction: column;
    align-items: center;
    margin-top: 42px;
  }

  .action-button {
    width: min(330px, 88vw);
  }
}


/* Login page */
.login-page {
  min-height: 100vh;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

.login-page header {
  justify-content: flex-start;
  height: 76px;
  padding: 20px 28px 0;
}

.login-mini-logo {
  width: 110px;
  height: auto;
}

.login-shell {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 70px;
  align-items: center;
  padding: 10px 7vw 70px;
}

.login-intro h1 {
  font-size: 42px;
  font-weight: 400;
  margin-bottom: 22px;
  color: #202124;
}

.login-intro p {
  font-size: 18px;
  color: #202124;
}

.login-form {
  width: 100%;
  max-width: 470px;
  justify-self: end;
}

.field-wrap {
  position: relative;
  margin-bottom: 12px;
}

.field-wrap input {
  width: 100%;
  height: 58px;
  border: 2px solid #0b57d0;
  border-radius: 4px;
  padding: 18px 14px 8px;
  font-size: 17px;
  outline: none;
}

.field-wrap label {
  position: absolute;
  top: -8px;
  left: 10px;
  background: #ffffff;
  padding: 0 5px;
  color: #0b57d0;
  font-size: 13px;
}

.login-link {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}

.login-link:hover {
  text-decoration: underline;
}

.login-help {
  margin-top: 48px;
  color: #5f6368;
  line-height: 1.6;
  font-size: 15px;
}

.login-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}

.next-button {
  border: 0;
  border-radius: 24px;
  background: #0b57d0;
  color: #ffffff;
  min-width: 88px;
  height: 44px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.next-button:hover {
  background: #0847ad;
}

@media (max-width: 760px) {
  .login-shell {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 35px 22px 60px;
  }

  .login-form {
    justify-self: stretch;
    max-width: none;
  }

  .login-intro h1 {
    font-size: 34px;
  }
}


/* Authentication pages */
.auth-page {
  min-height: 100vh;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

.auth-page header {
  justify-content: flex-start;
  height: 76px;
  padding: 20px 28px 0;
}

.auth-mini-logo {
  width: 110px;
  height: auto;
}

.auth-shell {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 70px;
  align-items: center;
  padding: 10px 7vw 70px;
}

.auth-intro h1 {
  font-size: 42px;
  font-weight: 400;
  margin-bottom: 22px;
  color: #202124;
}

.auth-intro p {
  font-size: 18px;
  color: #202124;
}

.auth-form {
  width: 100%;
  max-width: 470px;
  justify-self: end;
}

.auth-field {
  position: relative;
  margin-bottom: 18px;
}

.auth-field input {
  width: 100%;
  height: 58px;
  border: 1px solid #5f6368;
  border-radius: 4px;
  padding: 18px 14px 8px;
  font-size: 17px;
  outline: none;
}

.auth-field input:focus {
  border: 2px solid #0b57d0;
}

.auth-field label {
  position: absolute;
  top: -8px;
  left: 10px;
  background: #ffffff;
  padding: 0 5px;
  color: #0b57d0;
  font-size: 13px;
}

.auth-text-link {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}

.auth-text-link:hover {
  text-decoration: underline;
}

.auth-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 34px;
  gap: 18px;
}

.auth-actions-right {
  justify-content: flex-end;
}

.auth-primary-button {
  border: 0;
  border-radius: 24px;
  background: #0b57d0;
  color: #ffffff;
  min-width: 88px;
  height: 44px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.auth-primary-button:hover {
  background: #0847ad;
}

.auth-secondary-link {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}

.auth-secondary-link:hover {
  text-decoration: underline;
}

@media (max-width: 760px) {
  .auth-shell {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 35px 22px 60px;
  }

  .auth-form {
    justify-self: stretch;
    max-width: none;
  }

  .auth-intro h1 {
    font-size: 34px;
  }
}


/* Job request page */
.job-page {
  min-height: 100vh;
  background: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
  color: #202124;
}

.job-header {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 28px;
  border-bottom: 1px solid #e5e7eb;
}

.job-logo {
  width: 135px;
  height: auto;
}

.job-header-link {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
}

.job-container {
  width: min(980px, 94vw);
  margin: 42px auto 70px;
}

.job-title {
  font-size: 34px;
  font-weight: 400;
  margin-bottom: 8px;
}

.job-subtitle {
  color: #5f6368;
  margin-bottom: 34px;
}

.job-card {
  border: 1px solid #dadce0;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 1px 3px rgba(60,64,67,.12);
}

.job-section-title {
  font-size: 20px;
  font-weight: 600;
  margin: 8px 0 18px;
  color: #0b57d0;
}

.job-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.job-grid .full-width {
  grid-column: 1 / -1;
}

.job-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.job-field label {
  font-size: 14px;
  font-weight: 600;
  color: #3c4043;
}

.job-field input,
.job-field select,
.job-field textarea {
  width: 100%;
  border: 1px solid #9aa0a6;
  border-radius: 4px;
  padding: 12px 13px;
  font-size: 16px;
  background: #ffffff;
  color: #202124;
  outline: none;
}

.job-field input:focus,
.job-field select:focus,
.job-field textarea:focus {
  border: 2px solid #0b57d0;
  padding: 11px 12px;
}

.job-field textarea {
  min-height: 115px;
  resize: vertical;
}

.job-divider {
  border: 0;
  border-top: 1px solid #e5e7eb;
  margin: 30px 0 24px;
}

.job-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 28px;
}

.job-secondary-button,
.job-primary-button {
  height: 44px;
  padding: 0 24px;
  border-radius: 22px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.job-secondary-button {
  border: 1px solid #dadce0;
  background: #ffffff;
  color: #0b57d0;
}

.job-primary-button {
  border: 0;
  background: #0b57d0;
  color: #ffffff;
}

.job-primary-button:hover {
  background: #0847ad;
}

@media (max-width: 700px) {
  .job-header {
    padding: 10px 16px;
  }

  .job-container {
    margin-top: 26px;
  }

  .job-card {
    padding: 20px;
  }

  .job-grid {
    grid-template-columns: 1fr;
  }

  .job-grid .full-width {
    grid-column: auto;
  }
}


.quote-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 28px;
}

.quote-benefit {
  border: 1px solid #dfe3e8;
  border-radius: 10px;
  padding: 18px;
  background: #f8fbff;
}

.quote-benefit strong {
  display: block;
  color: #0b57d0;
  margin-bottom: 6px;
}

.file-upload {
  border: 2px dashed #9aa0a6;
  border-radius: 8px;
  padding: 28px 18px;
  text-align: center;
  background: #fafafa;
}

.file-upload input {
  border: 0;
  padding: 0;
}

@media (max-width: 700px) {
  .quote-intro {
    grid-template-columns: 1fr;
  }
}


/* Payment page */
.payment-page {
  min-height: 100vh;
  background: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
  color: #202124;
}

.payment-container {
  width: min(760px, 94vw);
  margin: 42px auto 70px;
}

.payment-card {
  border: 1px solid #dadce0;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 1px 3px rgba(60,64,67,.12);
}

.payment-title {
  font-size: 34px;
  font-weight: 400;
  margin-bottom: 8px;
}

.payment-subtitle {
  color: #5f6368;
  margin-bottom: 28px;
}

.payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.payment-grid .full-width {
  grid-column: 1 / -1;
}

.payment-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.payment-field label {
  font-size: 14px;
  font-weight: 600;
  color: #3c4043;
}

.payment-field input {
  width: 100%;
  border: 1px solid #9aa0a6;
  border-radius: 4px;
  padding: 12px 13px;
  font-size: 16px;
  outline: none;
}

.payment-field input:focus {
  border: 2px solid #0b57d0;
  padding: 11px 12px;
}

.payment-note {
  margin-top: 18px;
  font-size: 13px;
  color: #5f6368;
  line-height: 1.5;
}

.payment-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
  gap: 14px;
}

.payment-back {
  color: #0b57d0;
  text-decoration: none;
  font-weight: 600;
}

.payment-button {
  border: 0;
  border-radius: 24px;
  background: #0b57d0;
  color: #ffffff;
  min-width: 150px;
  height: 46px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.payment-button:hover {
  background: #0847ad;
}

@media (max-width: 650px) {
  .payment-grid {
    grid-template-columns: 1fr;
  }

  .payment-grid .full-width {
    grid-column: auto;
  }

  .payment-card {
    padding: 22px;
  }
}


/* Booking summary, pricing, and credit account */
.summary-box {
  border: 1px solid #dadce0;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 24px;
  background: #f8fbff;
}

.summary-box h2 {
  color: #0b57d0;
  font-size: 20px;
  margin-bottom: 14px;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}

.summary-row:last-child {
  border-bottom: 0;
}

.summary-label {
  color: #5f6368;
}

.summary-value {
  text-align: right;
  font-weight: 600;
}

.price-total {
  font-size: 22px;
  color: #0b57d0;
}

.payment-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.payment-choice-card {
  border: 1px solid #dadce0;
  border-radius: 10px;
  padding: 18px;
  text-decoration: none;
  color: #202124;
  background: #ffffff;
}

.payment-choice-card:hover {
  border-color: #0b57d0;
  box-shadow: 0 1px 3px rgba(60,64,67,.16);
}

.payment-choice-card strong {
  display: block;
  color: #0b57d0;
  margin-bottom: 6px;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 18px;
}

.admin-table th,
.admin-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 12px;
  text-align: left;
}

.admin-table th {
  background: #f8f9fa;
}

.admin-table input {
  width: 120px;
  padding: 9px 10px;
  border: 1px solid #9aa0a6;
  border-radius: 4px;
  font-size: 15px;
}

.notice {
  padding: 14px 16px;
  border-radius: 8px;
  background: #fff8e1;
  color: #5f4b00;
  margin-bottom: 20px;
  line-height: 1.5;
}

@media (max-width: 650px) {
  .payment-choice {
    grid-template-columns: 1fr;
  }

  .summary-row {
    flex-direction: column;
    gap: 4px;
  }

  .summary-value {
    text-align: left;
  }

  .admin-table {
    font-size: 14px;
  }
}


/* IntPort v4/v3 spec update additions */
.site-page { background:#ffffff; color:#202124; }
.site-header { height:auto; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 28px; border-bottom:1px solid #e5e7eb; }
.site-logo { width:140px; height:auto; }
.site-nav { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.site-nav a, .site-footer a { color:#0b57d0; text-decoration:none; font-weight:600; font-size:14px; }
.landing-shell { width:min(1180px,94vw); margin:0 auto; padding:44px 0 70px; display:block; }
.hero-grid { display:grid; grid-template-columns:1.1fr 430px; gap:42px; align-items:center; }
.hero-logo { width:min(520px, 88vw); height:auto; margin-bottom:20px; }
.hero-copy h1 { font-size:46px; line-height:1.05; font-weight:500; margin-bottom:16px; }
.hero-copy p { font-size:18px; line-height:1.55; color:#3c4043; max-width:650px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.big-button { min-width:190px; justify-content:center; align-items:center; text-decoration:none; display:inline-flex; }
.hero-booking-card { border:1px solid #dadce0; border-radius:16px; box-shadow:0 2px 8px rgba(60,64,67,.15); padding:24px; display:flex; flex-direction:column; gap:14px; }
.hero-booking-card h2 { color:#0b57d0; margin-bottom:4px; }
.hero-booking-card label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:600; color:#3c4043; }
.hero-booking-card select { border:1px solid #9aa0a6; border-radius:4px; padding:12px 13px; font-size:16px; background:#fff; }
.fine-print { font-size:13px; color:#5f6368; line-height:1.45; }
.section-grid.three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:38px 0; }
.section-grid.three div, .section-card { border:1px solid #dadce0; border-radius:12px; padding:22px; background:#f8fbff; }
.section-grid strong { display:block; color:#0b57d0; margin-bottom:8px; }
.section-card { margin-bottom:24px; }
.section-card h2 { color:#0b57d0; margin-bottom:10px; }
.interpreter-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:16px 0; }
.interpreter-grid div { border:1px solid #e5e7eb; border-radius:10px; padding:14px; background:#fff; }
.interpreter-grid b, .interpreter-grid span { display:block; }
.interpreter-grid span { color:#5f6368; margin-top:5px; font-size:14px; }
.site-footer { display:flex; justify-content:center; gap:22px; flex-wrap:wrap; border-top:1px solid #e5e7eb; padding:22px; }
.check-label { display:flex!important; flex-direction:row!important; align-items:flex-start; gap:10px; line-height:1.45; font-weight:500!important; }
.check-label input { width:auto!important; margin-top:2px; }
.notice-inline { padding:13px 15px; border-radius:8px; background:#e8f0fe; color:#174ea6; line-height:1.5; }
.consent-box { display:flex; flex-direction:column; gap:16px; margin-bottom:18px; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.section-grid.three,.interpreter-grid,.dashboard-grid{grid-template-columns:1fr}.hero-copy h1{font-size:36px}.site-header{align-items:flex-start;flex-direction:column}.site-nav{gap:12px}.landing-shell{padding-top:26px}}


/* AI + Excel migration update */
.mini-nav { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.mini-nav a { color:#0b57d0; text-decoration:none; font-weight:600; }
.ai-hero-panel { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0 28px; }
.ai-hero-panel div { border:1px solid #dadce0; border-radius:14px; padding:20px; background:#f8fbff; }
.ai-hero-panel strong { color:#0b57d0; font-size:18px; display:block; margin-bottom:8px; }
.spec-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.spec-card { border:1px solid #e5e7eb; border-radius:12px; background:#fff; padding:18px; }
.spec-card h3 { color:#0b57d0; margin-bottom:8px; }
.feature-list { margin:10px 0 0 20px; line-height:1.65; color:#3c4043; }
.feature-list li { margin-bottom:7px; }
@media (max-width:900px){.ai-hero-panel,.spec-grid{grid-template-columns:1fr}.mini-nav{justify-content:flex-start}}

/* Version 5: Admin job calendar inspired by Legacy Calendar */
.admin-calendar-page { background:#f3f6fb; }
.calendar-container { width:min(1480px,96vw); margin:28px auto 70px; padding:0; align-items:stretch; }
.calendar-title-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:20px; }
.calendar-actions { display:flex; gap:10px; flex-wrap:wrap; }
.calendar-kpi-row { display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); gap:10px; margin:18px 0; }
.calendar-kpi { border-radius:12px; padding:13px 14px; background:#fff; border-left:7px solid #9aa0a6; box-shadow:0 1px 3px rgba(60,64,67,.10); }
.calendar-kpi span { display:block; font-size:12px; color:#5f6368; margin-bottom:5px; }
.calendar-kpi strong { font-size:24px; }
.kpi-red{border-color:#d93025}.kpi-orange{border-color:#f29900}.kpi-blue{border-color:#0b57d0}.kpi-purple{border-color:#7e57c2}.kpi-brown{border-color:#795548}.kpi-teal{border-color:#0097a7}.kpi-green{border-color:#188038}
.calendar-filter-card, .calendar-board, .job-list-panel { border:1px solid #dfe3e8; border-radius:14px; background:#fff; box-shadow:0 1px 3px rgba(60,64,67,.10); margin-bottom:18px; }
.calendar-filter-card { padding:18px; }
.filter-title { font-weight:700; color:#0b57d0; margin-bottom:12px; }
.filter-buttons { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:14px; }
.filter-chip { border:1px solid #d6dbe1; background:#fff; border-radius:999px; padding:8px 12px; cursor:pointer; font-weight:600; }
.filter-chip.active { background:#0b57d0; color:#fff; border-color:#0b57d0; }
.calendar-sort-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:#3c4043; }
.calendar-sort-row label { display:flex; align-items:center; gap:8px; font-weight:600; }
.calendar-sort-row select, .calendar-sort-row input { border:1px solid #9aa0a6; border-radius:8px; padding:9px 11px; font-size:15px; background:#fff; }
.sort-icon { width:38px; height:38px; border-radius:50%; border:1px solid #dadce0; background:#fff; cursor:pointer; font-size:20px; color:#0b57d0; }
.calendar-board { overflow:hidden; }
.calendar-board-header { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:14px 18px; background:#07111f; color:#fff; }
.calendar-board-header span { color:#cbd5e1; font-size:14px; }
.calendar-week-labels, .calendar-month-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.calendar-week-labels span { background:#c4bd8f; color:#111827; font-weight:700; text-align:center; padding:8px; border-right:1px solid #fff; }
.calendar-day { min-height:122px; border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; padding:8px; background:#fff; }
.calendar-day b { display:block; margin-bottom:7px; color:#0f172a; }
.calendar-day.weekend { background:#f8fafc; }
.calendar-day.muted { background:#f1f5f9; color:#94a3b8; }
.job-pill { border-radius:7px; padding:8px 9px; color:#fff; font-size:12px; line-height:1.35; margin-bottom:6px; box-shadow:0 1px 2px rgba(15,23,42,.18); }
.job-pill em { font-style:normal; opacity:.9; }
.status-needs { background:#d93025!important; color:#fff!important; }
.status-partial { background:#f29900!important; color:#111827!important; }
.status-covered { background:#0b57d0!important; color:#fff!important; }
.status-progress { background:#7e57c2!important; color:#fff!important; }
.status-credit { background:#795548!important; color:#fff!important; }
.status-billed { background:#0097a7!important; color:#fff!important; }
.status-paid { background:#188038!important; color:#fff!important; }
.status-cancelled { background:#5f6368!important; color:#fff!important; }
.job-list-panel { padding-bottom:12px; }
.table-scroll { overflow-x:auto; }
.calendar-job-table { min-width:1050px; margin-top:0; }
.calendar-job-table th { background:#07111f; color:#fff; white-space:nowrap; }
.calendar-job-table td { vertical-align:middle; }
.status-badge { display:inline-flex; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:700; white-space:nowrap; }
.calendar-job-table button { border:1px solid #dadce0; border-radius:18px; background:#fff; color:#0b57d0; font-weight:700; padding:7px 10px; cursor:pointer; }
.calendar-job-table button:hover { border-color:#0b57d0; }
@media(max-width:1100px){.calendar-kpi-row{grid-template-columns:repeat(2,1fr)}.calendar-month-grid,.calendar-week-labels{min-width:900px}.calendar-board{overflow-x:auto}.calendar-title-row{flex-direction:column}.calendar-board-header{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.calendar-kpi-row{grid-template-columns:1fr}.calendar-sort-row label{width:100%;align-items:flex-start;flex-direction:column}.calendar-sort-row select,.calendar-sort-row input{width:100%}}

/* Version 6: calendar supports multiple jobs per day and links each job to a full admin detail page */
.calendar-day { min-height:190px; display:flex; flex-direction:column; gap:6px; }
.day-header { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:2px; }
.day-header b { margin-bottom:0!important; }
.day-header span { font-size:12px; font-weight:700; color:#64748b; background:#eef2f7; border-radius:999px; padding:3px 7px; white-space:nowrap; }
a.job-pill { display:block; text-decoration:none; cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; }
a.job-pill:hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(15,23,42,.22); }
.job-pill strong { display:block; font-size:12px; line-height:1.25; }
.job-pill em { display:block; margin-top:2px; }
.table-action { display:inline-block; border:1px solid #dadce0; border-radius:18px; background:#fff; color:#0b57d0; font-weight:700; padding:7px 10px; text-decoration:none; }
.table-action:hover { border-color:#0b57d0; background:#eef4ff; }
.admin-job-detail-page { background:#f3f6fb; }
.job-detail-hero { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; }
.back-link { display:inline-block; margin-bottom:10px; color:#0b57d0; font-weight:700; text-decoration:none; }
.detail-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.detail-status-strip { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:10px; margin:18px 0; }
.detail-status-strip div { background:#fff; border:1px solid #dfe3e8; border-radius:12px; padding:12px 14px; box-shadow:0 1px 3px rgba(60,64,67,.10); }
.detail-status-strip span { display:block; color:#5f6368; font-size:12px; margin-bottom:5px; }
.detail-status-strip strong { font-size:18px; color:#0f172a; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.detail-card { background:#fff; border:1px solid #dfe3e8; border-radius:14px; padding:18px; box-shadow:0 1px 3px rgba(60,64,67,.10); }
.detail-card-wide { grid-column:1 / -1; }
.detail-card h2 { margin:0 0 14px; color:#07111f; font-size:20px; }
.detail-list { display:grid; grid-template-columns:190px 1fr; gap:8px 14px; margin:0; }
.detail-list dt { color:#64748b; font-weight:700; }
.detail-list dd { margin:0; color:#0f172a; }
.detail-table { min-width:850px; }
.admin-checklist { margin:0; padding-left:0; list-style:none; display:grid; gap:9px; }
.admin-checklist input { margin-right:8px; }
.message-preview { background:#f8fafc; border:1px solid #e5e7eb; border-radius:12px; padding:12px; }
.message-preview p { margin:0 0 8px; }
.message-preview p:last-child { margin-bottom:0; }
@media(max-width:1100px){.detail-status-strip{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.job-detail-hero{flex-direction:column}.detail-actions{justify-content:flex-start}.detail-list{grid-template-columns:1fr}}


/* Version 8: C14 next-step prompt for manually covered jobs */
.c14-workflow-card { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:#fff8e1; border:1px solid #f6d365; border-left:8px solid #f29900; border-radius:14px; padding:18px; margin:18px 0; box-shadow:0 1px 3px rgba(60,64,67,.10); }
.c14-workflow-card h2 { margin:4px 0 8px; color:#7a4b00; }
.c14-workflow-card p { margin:0; color:#3c4043; line-height:1.5; }
.c14-label { display:inline-flex; border-radius:999px; background:#7a4b00; color:#fff; font-weight:700; font-size:12px; padding:5px 9px; }
.c14-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; min-width:320px; }
@media(max-width:900px){.c14-workflow-card{flex-direction:column}.c14-actions{justify-content:flex-start;min-width:0}}

/* Version 9: connected internal link hub */
.site-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}.link-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #dbe4f0;border-radius:16px;background:#fff;text-decoration:none;color:#12233d;box-shadow:0 8px 22px rgba(17,35,61,.06)}.link-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(17,35,61,.12)}.link-card span{color:#516070;font-size:.92rem}.inline-link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.nav-connected-note{font-size:.9rem;color:#516070;margin-top:8px}

/* Version 10: one-month calendars, completed archive, activated import/export controls */
.kpi-gray{border-color:#5f6368}.active-kpis{grid-template-columns:repeat(7,minmax(120px,1fr))}.completed-kpis{grid-template-columns:minmax(180px,320px)}
.calendar-month-controls .small-button{padding:8px 12px;min-height:38px;display:inline-flex;align-items:center;text-decoration:none}.calendar-month-controls input[type="month"]{min-width:160px}.calendar-actions a.job-primary-button,.calendar-actions a.job-secondary-button,.inline-link-row a.job-secondary-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.form-card input[type="file"]{padding:10px;background:#fff}.calendar-board-header strong{white-space:nowrap}


/* Version 11 staff access */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin:14px 0 20px}.permission-grid label{display:flex;align-items:center;gap:9px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px;font-weight:600;color:#334155}.permission-grid input{width:auto}.staff-category-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f0fe;color:#174ea6;font-weight:700;font-size:12px}.staff-admin-page .form-card h2{margin-top:0}@media(max-width:800px){.permission-grid{grid-template-columns:1fr}}

/* Version 12: clean ports, admin monthly reports, interpreter assigned-job time entry */
.portal-actions{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;max-width:720px;margin:30px auto 0}.portal-box{background:#fff;border:1px solid #dbe4f0;border-radius:20px;padding:20px;text-decoration:none;color:#12233d;box-shadow:0 10px 28px rgba(17,35,61,.08);display:flex;flex-direction:column;gap:8px}.portal-box:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(17,35,61,.14)}.portal-box strong{font-size:22px}.portal-box span{color:#516070;font-size:14px;line-height:1.45}.assigned-job-list{display:grid;gap:12px;margin-top:14px}.assigned-job-card{text-align:left;border:1px solid #dbe4f0;background:#fff;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:5px;cursor:pointer;box-shadow:0 5px 16px rgba(17,35,61,.05)}.assigned-job-card:hover{border-color:#0b57d0;background:#f8fbff}.assigned-job-card strong{color:#07111f}.assigned-job-card span{color:#516070}.assigned-job-card em{color:#0b57d0;font-style:normal;font-weight:700}.checkbox-line{display:flex;align-items:center;gap:10px;font-weight:700;color:#334155}.checkbox-line input{width:auto}.report-kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin:18px 0}.report-table th{background:#07111f;color:#fff}.report-table td,.report-table th{white-space:nowrap}.status-vendor-bill{background:#b45309!important;color:#fff!important}.kpi-teal{border-color:#0097a7}.kpi-purple{border-color:#7e57c2}.kpi-orange{border-color:#f29900}@media(max-width:1100px){.report-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.portal-actions{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:1fr}}
/* Version 13 homepage and portal refinements */
.home-header{display:flex;justify-content:flex-end;align-items:center;padding:22px 32px;min-height:76px;background:transparent;box-shadow:none;}
.home-port-nav{display:flex;gap:14px;align-items:center;}
.home-port-box{background:#0b57d0;color:#fff;text-decoration:none;font-weight:800;border-radius:16px;padding:18px 28px;min-width:190px;text-align:center;box-shadow:0 10px 24px rgba(11,87,208,.22);font-size:17px;}
.home-port-box:hover{background:#0847ad;transform:translateY(-1px);}
.client-port-shell{max-width:920px;}
.client-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:20px;align-self:stretch;}
.client-choice-card{background:#fff;border:1px solid #dbe4f0;border-radius:20px;padding:28px;text-decoration:none;color:#12233d;box-shadow:0 12px 30px rgba(17,35,61,.08);display:flex;flex-direction:column;gap:10px;}
.client-choice-card:hover{border-color:#0b57d0;box-shadow:0 16px 38px rgba(17,35,61,.14);transform:translateY(-1px);}
.client-choice-card strong{font-size:24px;color:#0b57d0;}
.client-choice-card span{font-size:15px;color:#516070;line-height:1.45;}
@media(max-width:760px){.home-header{justify-content:center;padding:18px}.home-port-nav{width:100%;justify-content:center}.home-port-box{min-width:0;flex:1;padding:15px 12px}.client-choice-grid{grid-template-columns:1fr}}

/* Version 14: client port simplified to two choices only */
.client-port-choice-only{justify-content:center;min-height:55vh;}
.client-choice-grid-simple{max-width:680px;margin:0 auto;width:100%;}
.client-choice-card-simple{min-height:120px;align-items:center;justify-content:center;text-align:center;background:#0b57d0;color:#fff;border-color:#0b57d0;}
.client-choice-card-simple strong{color:#fff;font-size:24px;}
.client-choice-card-simple:hover{background:#0847ad;border-color:#0847ad;}

/* Version 15: Google-style simple client and vendor walk-through pages */
.simple-choice-page{min-height:100vh;background:#fff;font-family:Arial,Helvetica,sans-serif;color:#202124;display:flex;flex-direction:column;}
.simple-top-nav{height:64px;display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:0 28px;background:transparent;border:0;box-shadow:none;}
.simple-top-nav a{color:#0b57d0;text-decoration:none;font-weight:700;font-size:14px;}
.simple-top-nav a:hover{text-decoration:underline;}
.simple-google-shell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px 90px;}
.simple-logo{width:min(360px,78vw);height:auto;margin-bottom:34px;}
.simple-choice-row{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;}
.simple-blue-choice{background:#0b57d0;color:#fff;text-decoration:none;font-weight:800;border-radius:12px;padding:18px 34px;min-width:210px;text-align:center;box-shadow:0 8px 20px rgba(11,87,208,.18);font-size:18px;}
.simple-blue-choice:hover{background:#0847ad;transform:translateY(-1px);}
.simple-form-shell{justify-content:flex-start;padding-top:34px;}
.simple-form-shell .simple-logo{width:min(250px,66vw);margin-bottom:18px;}
.simple-page-title{font-size:28px;font-weight:400;margin:0 0 22px;color:#202124;}
.simple-center-form{width:min(440px,92vw);display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:left;margin:0 auto;}
.wide-simple-form{width:min(680px,94vw);}
.simple-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.simple-main-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:24px;background:#0b57d0;color:#fff;min-height:46px;padding:0 28px;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;margin-top:6px;}
.simple-main-button:hover{background:#0847ad;}
.simple-small-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:14px;margin-top:4px;}
.simple-small-links a{color:#0b57d0;text-decoration:none;font-weight:600;}
.simple-small-links a:hover{text-decoration:underline;}
.simple-check{font-size:14px;line-height:1.45;}
.interpreter-simple-shell{justify-content:flex-start;align-items:center;}
.simple-work-card{width:min(900px,94vw);border:1px solid #dadce0;border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(60,64,67,.12);text-align:left;margin-top:22px;background:#fff;}
.simple-work-card .job-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){.simple-top-nav{justify-content:center;padding:0 16px}.simple-blue-choice{width:min(310px,88vw)}.simple-two-col,.simple-work-card .job-grid{grid-template-columns:1fr}.simple-work-card{padding:18px}.simple-google-shell{padding-bottom:55px}}

/* Version 16: New to IntPort account form aligned with the simple Home / IntPort Clients flow */
.intport-account-form .job-field label{font-size:13px;color:#3c4043;font-weight:700;margin-bottom:6px;}
.intport-account-form .job-field input{min-height:46px;border:1px solid #dadce0;border-radius:10px;padding:10px 12px;font-size:15px;background:#fff;}
.intport-account-form .job-field input:focus{outline:none;border-color:#0b57d0;box-shadow:0 0 0 3px rgba(11,87,208,.12);}


/* Version 17: strict simple Google-style flow for clients and vendors */
.google-home-page,
.simple-choice-page {
  background: #fff;
}
.google-home-main,
.simple-google-shell {
  width: 100%;
  min-height: calc(100vh - 72px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 92px;
}
.google-home-main .logo,
.simple-logo {
  width: min(520px, 76vw);
  height: auto;
  display: block;
}
.home-header {
  height: 68px;
  padding: 16px 26px 0;
  justify-content: flex-end;
}
.home-port-nav {
  display: flex;
  gap: 12px;
  align-items: center;
}
.home-port-box,
.simple-blue-choice,
.simple-main-button {
  background: #0b57d0;
  color: #fff;
  border: 0;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  box-shadow: none;
}
.home-port-box {
  min-width: 150px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  font-size: 15px;
}
.simple-choice-row,
.google-action-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 46px;
  flex-wrap: wrap;
}
.simple-two-button-only {
  gap: 18px;
}
.simple-blue-choice {
  min-width: 210px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  font-size: 17px;
}
.simple-top-nav {
  height: 56px;
  padding: 14px 24px 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
}
.simple-top-nav a {
  color: #0b57d0;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}
.simple-form-shell {
  padding-top: 58px;
}
.simple-page-title {
  margin: 30px 0 18px;
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}
.simple-center-form {
  width: min(440px, 92vw);
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: stretch;
  margin: 0 auto;
}
.wide-simple-form {
  width: min(760px, 94vw);
}
.simple-two-col,
.account-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.job-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.job-field label {
  font-size: 13px;
  font-weight: 700;
  color: #3c4043;
}
.job-field input,
.job-field select,
.job-field textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dadce0;
  border-radius: 7px;
  padding: 10px 12px;
  font-size: 15px;
  background: #fff;
}
.job-field textarea {
  min-height: 86px;
  resize: vertical;
}
.simple-main-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 4px;
}
.simple-small-links {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}
.simple-small-links a {
  color: #0b57d0;
  text-decoration: none;
}
.interpreter-simple-shell {
  max-width: none;
}
.simple-work-card {
  width: min(980px, 94vw);
  margin: 24px auto 0;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  background: #fff;
}
.assigned-job-list {
  display: grid;
  gap: 10px;
}
.assigned-job-card {
  text-align: left;
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid #dadce0;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
@media (max-width: 720px) {
  .home-header,
  .simple-top-nav {
    justify-content: center;
    padding-left: 12px;
    padding-right: 12px;
  }
  .home-port-nav,
  .simple-choice-row,
  .google-action-row {
    width: 100%;
    justify-content: center;
  }
  .home-port-box,
  .simple-blue-choice,
  .action-button {
    min-width: 0;
    flex: 1 1 160px;
  }
  .simple-two-col,
  .account-two-col {
    grid-template-columns: 1fr;
  }
  .google-home-main,
  .simple-google-shell {
    padding-top: 58px;
  }
}


/* Version 18: tighten Google-style spacing and remove button boldness on client flows */
.google-action-row {
  margin-top: 22px !important;
}
.simple-choice-row.simple-two-button-only {
  margin-top: 20px !important;
}
.client-port-page .simple-logo {
  margin-bottom: 0 !important;
}
.client-port-page .simple-blue-choice,
.google-action-row .action-button {
  font-weight: 400 !important;
}
.simple-top-nav span {
  color: #0b57d0;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}
.signup-create-page .simple-google-shell.simple-form-shell {
  padding-top: 52px !important;
}
.signup-create-page .simple-logo {
  margin-bottom: 18px !important;
}

/* Version 19: Google-like proportions for logo, buttons, and spacing */
.google-home-main,
.simple-google-shell {
  padding-top: 38px !important;
  justify-content: flex-start !important;
}
.google-home-main .logo,
.simple-logo {
  width: min(500px, 76vw) !important;
  margin-bottom: 0 !important;
}
.google-action-row,
.simple-choice-row.simple-two-button-only {
  margin-top: 28px !important;
  gap: 14px !important;
}
.google-action-row .action-button,
.client-port-page .simple-blue-choice {
  min-width: 155px !important;
  width: auto !important;
  height: 38px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}
.google-action-row .action-button {
  background: #f8f9fa !important;
  color: #202124 !important;
  border: 1px solid #dadce0 !important;
}
.client-port-page .simple-blue-choice {
  background: #0b57d0 !important;
  color: #fff !important;
  border: 1px solid #0b57d0 !important;
}
.signup-create-page .simple-google-shell.simple-form-shell {
  padding-top: 38px !important;
}
.signup-create-page .simple-logo {
  width: min(360px, 72vw) !important;
  margin-bottom: 22px !important;
}
.signup-create-page .simple-top-nav a,
.signup-create-page .simple-top-nav span {
  color: #0b57d0 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
.signup-create-page .simple-top-nav a:hover,
.signup-create-page .simple-top-nav span:hover {
  text-decoration: underline !important;
}
@media (max-width: 720px) {
  .google-home-main,
  .simple-google-shell {
    padding-top: 42px !important;
  }
  .google-action-row .action-button,
  .client-port-page .simple-blue-choice {
    flex: 0 1 auto !important;
    min-width: 155px !important;
  }
}


/* Version 20: homepage buttons replace old service buttons and match Google-style placement */
.home-header-empty {
  height: 40px !important;
  padding: 0 !important;
}
.home-main-version-20 {
  min-height: calc(100vh - 40px) !important;
  padding-top: 68px !important;
}
.home-main-version-20 .logo {
  width: min(500px, 76vw) !important;
}
.home-action-row-version-20 {
  margin-top: 14px !important;
  gap: 14px !important;
}
.home-action-row-version-20 .action-button {
  min-width: 155px !important;
  height: 38px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  background: #f8f9fa !important;
  color: #202124 !important;
  border: 1px solid #dadce0 !important;
  box-shadow: none !important;
}
.home-action-row-version-20 .action-button:hover {
  border-color: #c6c6c6 !important;
  background: #f1f3f4 !important;
  box-shadow: 0 1px 2px rgba(60,64,67,.15) !important;
}
@media (max-width: 720px) {
  .home-main-version-20 { padding-top: 50px !important; }
  .home-action-row-version-20 .action-button { flex: 0 1 auto !important; min-width: 150px !important; }
}

/* Version 21: simple Google-style Client Dashboard based on approved screenshot */
.client-dashboard-simple-page {
  min-height: 100vh;
  margin: 0;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  color: #202124;
}
.client-dashboard-simple-header {
  height: 76px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 30px;
  padding: 0 88px 10px 24px;
  box-sizing: border-box;
}
.client-dashboard-simple-header a {
  color: #3645c4;
  font-size: 22px;
  font-weight: 700;
  text-decoration: none;
}
.client-dashboard-simple-header a:hover,
.client-dashboard-simple-actions a:hover {
  text-decoration: underline;
}
.client-dashboard-simple-main {
  min-height: calc(100vh - 76px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 95px;
  box-sizing: border-box;
}
.client-dashboard-simple-logo {
  width: min(300px, 58vw);
  height: auto;
  display: block;
}
.client-dashboard-simple-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.client-dashboard-simple-actions a {
  color: #3645c4;
  font-size: 23px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
}
@media (max-width: 760px) {
  .client-dashboard-simple-header {
    justify-content: center;
    padding: 18px 16px 0;
    height: 64px;
    gap: 20px;
  }
  .client-dashboard-simple-header a {
    font-size: 17px;
  }
  .client-dashboard-simple-main {
    padding-top: 70px;
  }
  .client-dashboard-simple-actions {
    gap: 18px;
  }
  .client-dashboard-simple-actions a {
    font-size: 18px;
  }
}


/* Version 22: signup validation, client business dashboard, client logo partnership, compact create button, logout */
.signup-create-page .simple-top-nav a:last-child {
  color: #0b57d0;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.account-two-col .full-row {
  grid-column: 1 / -1;
}
.intport-account-form small {
  color: #5f6368;
  font-size: 12px;
  line-height: 1.35;
}
.intport-account-form .field-warning {
  color: #b3261e;
  font-weight: 600;
}
.intport-account-form .field-ok {
  color: #188038;
  font-weight: 600;
}
.compact-create-button {
  width: auto !important;
  min-width: 0 !important;
  align-self: center !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  border-radius: 19px !important;
  margin-top: 8px !important;
}
.client-dashboard-simple-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 28px;
  padding: 42px 90px 0 24px;
  font-family: Arial, Helvetica, sans-serif;
}
.client-dashboard-simple-header a {
  color: #3f51c8;
  text-decoration: none;
  font-weight: 700;
  font-size: 22px;
}
.client-dashboard-simple-header a:hover { text-decoration: underline; }
.partner-logo-lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 14px;
}
.client-logo-card {
  width: 150px;
  min-height: 86px;
  border: 1px solid #dadce0;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 1px 3px rgba(60,64,67,.10);
  overflow: hidden;
}
.client-logo-card img {
  max-width: 126px;
  max-height: 58px;
  object-fit: contain;
}
.client-logo-card span {
  color: #3f51c8;
  font-size: 24px;
  font-weight: 700;
}
.partner-plus {
  color: #5f6368;
  font-size: 26px;
  font-weight: 400;
}
.first-order-message {
  margin: 8px 0 16px;
  color: #3c4043;
  font-size: 20px;
}
.empty-dashboard-main .client-dashboard-simple-actions { margin-top: 8px; }
@media (max-width: 720px) {
  .client-dashboard-simple-header {
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 26px 14px 0;
  }
  .client-dashboard-simple-header a { font-size: 18px; }
  .partner-logo-lockup { flex-direction: column; gap: 10px; }
  .partner-plus { font-size: 20px; }
  .account-two-col .full-row { grid-column: auto; }
}


/* Version 23: tighter client login and generic compact account creation form */
.signin-title-tight {
  margin-top: 6px !important;
  margin-bottom: 12px !important;
}
.login.html-placeholder { display: none; }
body.simple-choice-page .simple-form-shell .signin-title-tight + .simple-center-form {
  margin-top: 0 !important;
}
.sign-in-button-compact {
  align-self: center !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 15px !important;
  border-radius: 17px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
}
.signup-create-page .simple-google-shell.simple-form-shell {
  padding-top: 24px !important;
}
.signup-create-page .simple-logo {
  width: min(300px, 66vw) !important;
  margin-bottom: 10px !important;
}
.generic-account-form {
  width: min(660px, 94vw) !important;
  gap: 9px !important;
}
.generic-account-form .account-two-col {
  gap: 9px 12px !important;
}
.generic-account-form .job-field {
  gap: 4px !important;
}
.generic-account-form .job-field label {
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #3c4043 !important;
}
.generic-account-form .job-field input,
.generic-account-form .job-field select {
  min-height: 35px !important;
  height: 35px !important;
  padding: 7px 9px !important;
  border-radius: 4px !important;
  border: 1px solid #dadce0 !important;
  font-size: 14px !important;
}
.generic-account-form .job-field input:focus,
.generic-account-form .job-field select:focus {
  border-color: #0b57d0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.generic-account-form small {
  font-size: 12px !important;
  line-height: 1.2 !important;
}
.signup-create-page .compact-create-button {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
}
@media (max-width: 720px) {
  .generic-account-form .account-two-col { grid-template-columns: 1fr !important; }
  .signup-create-page .simple-google-shell.simple-form-shell { padding-top: 18px !important; }
}

/* Version 24: signup layout and secure client authentication flow */
.signup-create-page .simple-top-nav a {
  font-weight: 400 !important;
}
.compact-signup-flow {
  padding-top: 24px !important;
}
.compact-signup-flow .simple-logo {
  width: min(330px, 68vw) !important;
  margin-bottom: 14px !important;
}
.secure-client-signup {
  width: min(700px, 94vw) !important;
  gap: 10px !important;
}
.secure-client-signup .job-field input,
.secure-client-signup .job-field select {
  min-height: 38px !important;
  border-radius: 5px !important;
  padding: 7px 10px !important;
  font-size: 14px !important;
}
.secure-client-signup .job-field label {
  font-weight: 400 !important;
  font-size: 12px !important;
}
.signup-account-grid {
  gap: 9px 12px !important;
}
.signup-location-row {
  display: grid;
  grid-template-columns: 118px minmax(190px, 1fr) 86px;
  gap: 9px 12px;
  align-items: end;
}
.signup-location-row .state-field select {
  width: 86px !important;
}
.signup-location-row .zip-field input {
  width: 118px !important;
}
.password-row {
  gap: 9px 12px !important;
}
.password-row small,
.signup-secure-note,
.quiet-helper {
  font-size: 12px !important;
  color: #5f6368;
}
.compact-create-button {
  align-self: center !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  margin-top: 4px !important;
}
.secure-auth-panel {
  width: min(620px, 92vw);
  margin: 0 auto;
  text-align: center;
  border: 1px solid #dadce0;
  border-radius: 12px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(60,64,67,.12);
}
.secure-auth-panel h1 {
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 8px;
}
.secure-auth-panel p {
  color: #5f6368;
  margin: 0 0 14px;
}
.verification-list {
  list-style: none;
  padding: 0;
  margin: 12px auto;
  text-align: left;
  display: grid;
  gap: 6px;
  max-width: 430px;
}
.verification-list li {
  padding: 8px 10px;
  border-radius: 6px;
  background: #f8f9fa;
  color: #3c4043;
}
.verification-list .check-pass {
  color: #137333;
  background: #e6f4ea;
}
.verification-list .check-fail {
  color: #b3261e;
  background: #fce8e6;
}
.auth-status-box {
  margin: 14px auto 12px;
  padding: 12px;
  border-radius: 8px;
  background: #f8f9fa;
  color: #3c4043;
  max-width: 480px;
  line-height: 1.45;
}
.auth-status-ok {
  background: #e6f4ea;
  color: #137333;
}
.auth-status-warning {
  background: #fef7e0;
  color: #8a4b00;
}
.secure-auth-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.secondary-auth-button {
  background: #f8f9fa !important;
  color: #202124 !important;
  border: 1px solid #dadce0 !important;
  text-decoration: none;
}
button[disabled] {
  opacity: .55;
  cursor: not-allowed;
}
@media (max-width: 720px) {
  .signup-location-row {
    grid-template-columns: 1fr;
  }
  .signup-location-row .state-field select,
  .signup-location-row .zip-field input {
    width: 100% !important;
  }
}


/* Version 25: revised signup field order, compact contact/address rows, simple verification prompt */
.signup-contact-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(170px, 1fr) 158px;
  gap: 9px 12px;
  align-items: end;
}
.signup-contact-row .phone-field input {
  max-width: 158px !important;
}
.signup-address-row {
  display: grid;
  grid-template-columns: minmax(260px, 2fr) minmax(150px, 1fr) 72px 96px;
  gap: 9px 12px;
  align-items: end;
}
.signup-address-row .state-field select {
  width: 72px !important;
}
.signup-address-row .zip-field input {
  width: 96px !important;
}
.verification-email-panel {
  width: min(520px, 90vw);
  margin: 10px auto 0;
  text-align: center;
  border: 1px solid #dadce0;
  border-radius: 10px;
  padding: 18px 20px;
  background: #fff;
  color: #202124;
  font-size: 18px;
  line-height: 1.45;
  box-shadow: 0 1px 3px rgba(60,64,67,.12);
}
.verification-email-panel p { margin: 0; }
.secure-client-signup .phone-field label,
.secure-client-signup .address-field label,
.secure-client-signup .city-field label,
.secure-client-signup .state-field label,
.secure-client-signup .zip-field label {
  white-space: nowrap;
}
@media (max-width: 720px) {
  .signup-contact-row,
  .signup-address-row {
    grid-template-columns: 1fr !important;
  }
  .signup-contact-row .phone-field input,
  .signup-address-row .state-field select,
  .signup-address-row .zip-field input {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Version 27: verification email sending flow */
.verification-small-note {
  margin-top: 10px !important;
  font-size: 13px !important;
  color: #5f6368;
}
.verification-small-note a {
  color: #0b57d0;
  text-decoration: none;
}
.verification-small-note a:hover { text-decoration: underline; }

/* Version 28 job terms modal */
.terms-acceptance-block{gap:8px}.terms-link{color:#0b57d0;font-weight:700;text-decoration:none}.terms-link:hover{text-decoration:underline}.terms-check input:disabled{opacity:.55}.terms-note{font-size:12px;color:#6b7280}.terms-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:24px;z-index:1000}.terms-modal.open{display:flex}.terms-modal-card{width:min(720px,96vw);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.30);overflow:hidden}.terms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.terms-modal-header h2{margin:0;font-size:22px}.terms-modal-header button{border:0;background:#fff;font-size:28px;line-height:1;cursor:pointer;color:#334155}.terms-scroll{max-height:420px;overflow:auto;padding:18px 22px;color:#334155;line-height:1.6}.terms-scroll h3{margin-top:0;color:#111827}.terms-modal-footer{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e5e7eb}.terms-modal-footer .job-primary-button:disabled{opacity:.55;cursor:not-allowed}.terms-page-card{line-height:1.7;color:#334155}


/* Version 29: subtle Israel-flag-inspired sign-in icon */
.israel-signin-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.israel-hint-icon {
  position: relative;
  display: inline-flex;
  width: 20px;
  height: 16px;
  border-radius: 4px;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: inset 0 0 0 1px rgba(11,87,208,.14);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.israel-hint-icon::before,
.israel-hint-icon::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  height: 2px;
  background: #1d5ed6;
  border-radius: 999px;
  opacity: .95;
}

.israel-hint-icon::before { top: 3px; }
.israel-hint-icon::after { bottom: 3px; }

.israel-hint-icon .star {
  position: relative;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 6px solid #1d5ed6;
  transform: translateY(-1px);
}

.israel-hint-icon .star::after {
  content: "";
  position: absolute;
  left: -4px;
  top: 2px;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #1d5ed6;
}


/* Version 30: two-blue-line Sign In button */
.stripe-signin-button,
.stripe-signin-button:visited {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 230px !important;
  height: 74px !important;
  min-height: 74px !important;
  padding: 0 !important;
  margin-top: 8px !important;
  border-radius: 14px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: .2px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(60,64,67,.12) !important;
  overflow: hidden !important;
}

.stripe-signin-button::before,
.stripe-signin-button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 9px;
  background: #0057d9;
}

.stripe-signin-button::before {
  top: 0;
}

.stripe-signin-button::after {
  bottom: 0;
}

.stripe-signin-button:hover {
  background: #ffffff !important;
  border-color: #c8d1df !important;
  box-shadow: 0 3px 10px rgba(60,64,67,.16) !important;
}

.stripe-signin-button .israel-hint-icon {
  display: none !important;
}


/* Version 31: site-wide blue-line icon/button language
   Inspired by the approved Sign In template: white center, blue top and bottom lines,
   blue text, simple clean shape. Applied to primary website action buttons/icons. */

.flag-stripe-button,
.action-button,
.simple-blue-choice,
.simple-main-button,
.job-primary-button,
.job-secondary-button,
.payment-button,
.next-button,
.login-button,
.quote-button,
.admin-action-button,
.calendar-action,
.dashboard-action,
.staff-action,
button[type="submit"],
input[type="submit"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 26px !important;
  border-radius: 10px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
}

.flag-stripe-button::before,
.flag-stripe-button::after,
.action-button::before,
.action-button::after,
.simple-blue-choice::before,
.simple-blue-choice::after,
.simple-main-button::before,
.simple-main-button::after,
.job-primary-button::before,
.job-primary-button::after,
.job-secondary-button::before,
.job-secondary-button::after,
.payment-button::before,
.payment-button::after,
.next-button::before,
.next-button::after,
.login-button::before,
.login-button::after,
.quote-button::before,
.quote-button::after,
.admin-action-button::before,
.admin-action-button::after,
.calendar-action::before,
.calendar-action::after,
.dashboard-action::before,
.dashboard-action::after,
.staff-action::before,
.staff-action::after,
button[type="submit"]::before,
button[type="submit"]::after,
input[type="submit"]::before,
input[type="submit"]::after {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  height: 5px;
  background: linear-gradient(90deg, rgba(0,83,209,0), #0057d9 14%, #0057d9 86%, rgba(0,83,209,0));
  border-radius: 999px;
  pointer-events: none;
}

.flag-stripe-button::before,
.action-button::before,
.simple-blue-choice::before,
.simple-main-button::before,
.job-primary-button::before,
.job-secondary-button::before,
.payment-button::before,
.next-button::before,
.login-button::before,
.quote-button::before,
.admin-action-button::before,
.calendar-action::before,
.dashboard-action::before,
.staff-action::before,
button[type="submit"]::before,
input[type="submit"]::before {
  top: 7px;
}

.flag-stripe-button::after,
.action-button::after,
.simple-blue-choice::after,
.simple-main-button::after,
.job-primary-button::after,
.job-secondary-button::after,
.payment-button::after,
.next-button::after,
.login-button::after,
.quote-button::after,
.admin-action-button::after,
.calendar-action::after,
.dashboard-action::after,
.staff-action::after,
button[type="submit"]::after,
input[type="submit"]::after {
  bottom: 7px;
}

.flag-stripe-button:hover,
.action-button:hover,
.simple-blue-choice:hover,
.simple-main-button:hover,
.job-primary-button:hover,
.job-secondary-button:hover,
.payment-button:hover,
.next-button:hover,
.login-button:hover,
.quote-button:hover,
.admin-action-button:hover,
.calendar-action:hover,
.dashboard-action:hover,
.staff-action:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #ffffff !important;
  border-color: #b9c7dc !important;
  box-shadow: 0 3px 9px rgba(60,64,67,.15) !important;
}

/* Keep the Sign In version as the strongest/clearest example of the new visual language. */
.stripe-signin-button,
.stripe-signin-button:visited {
  width: 245px !important;
  height: 86px !important;
  min-height: 86px !important;
  border-radius: 12px !important;
  font-size: 36px !important;
  color: #0647b8 !important;
  background: #ffffff !important;
}

.stripe-signin-button::before,
.stripe-signin-button::after {
  left: 0 !important;
  right: 0 !important;
  height: 8px !important;
  background: #0057d9 !important;
  border-radius: 0 !important;
}

.stripe-signin-button::before { top: 0 !important; }
.stripe-signin-button::after { bottom: 0 !important; }

/* Smaller action buttons still keep the same hint without becoming too heavy. */
.simple-small-links a,
.simple-top-nav a,
.client-dashboard-simple-header a {
  color: #0647b8 !important;
}


/* Version 32: match client/dashboard action icons to Interpreters Port style */
.client-dashboard-logo-only {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 auto 16px !important;
}

.client-dashboard-logo-only .client-dashboard-simple-logo {
  display: block !important;
  margin: 0 auto !important;
}

.client-dashboard-simple-main {
  align-items: center !important;
  text-align: center !important;
}

.client-dashboard-simple-header {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 28px !important;
}

.client-dashboard-simple-header a,
.client-dashboard-simple-actions a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
}

.client-dashboard-simple-header a::before,
.client-dashboard-simple-header a::after,
.client-dashboard-simple-actions a::before,
.client-dashboard-simple-actions a::after {
  content: "" !important;
  position: absolute !important;
  left: 7% !important;
  right: 7% !important;
  height: 5px !important;
  background: linear-gradient(90deg, rgba(0,83,209,0), #0057d9 14%, #0057d9 86%, rgba(0,83,209,0)) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

.client-dashboard-simple-header a::before,
.client-dashboard-simple-actions a::before {
  top: 7px !important;
}

.client-dashboard-simple-header a::after,
.client-dashboard-simple-actions a::after {
  bottom: 7px !important;
}

.client-dashboard-simple-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}

@media (max-width: 720px) {
  .client-dashboard-simple-header {
    justify-content: center !important;
    flex-wrap: wrap !important;
    padding: 14px 10px !important;
    gap: 8px !important;
  }

  .client-dashboard-simple-header a {
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
  }

  .client-dashboard-simple-actions a {
    width: min(310px, 88vw) !important;
  }
}

/* Use the same blue-line button/icon language consistently on the main site. */
.action-button,
.simple-blue-choice,
.simple-main-button,
.job-primary-button,
.job-secondary-button,
.payment-button,
.next-button,
.login-button,
.quote-button,
.admin-action-button,
.calendar-action,
.dashboard-action,
.staff-action,
button[type="submit"],
input[type="submit"] {
  color: #0647b8 !important;
  background: #ffffff !important;
  border-color: #d7dce4 !important;
  font-weight: 500 !important;
}


/* Version 33: Client Port choices match approved blue-line template exactly */
.client-port-page .simple-choice-actions {
  gap: 18px !important;
  margin-top: 18px !important;
}

.client-port-page .client-port-flag-button {
  position: relative !important;
  width: 280px !important;
  height: 88px !important;
  min-height: 88px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: .1px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(60,64,67,.12) !important;
  overflow: hidden !important;
}

.client-port-page .client-port-flag-button::before,
.client-port-page .client-port-flag-button::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 8px !important;
  background: #0057d9 !important;
  border-radius: 0 !important;
  pointer-events: none !important;
}

.client-port-page .client-port-flag-button::before {
  top: 0 !important;
}

.client-port-page .client-port-flag-button::after {
  bottom: 0 !important;
}

.client-port-page .client-port-flag-button:hover {
  background: #ffffff !important;
  border-color: #c8d1df !important;
  box-shadow: 0 3px 10px rgba(60,64,67,.16) !important;
}

@media (max-width: 720px) {
  .client-port-page .simple-choice-actions {
    flex-direction: column !important;
  }

  .client-port-page .client-port-flag-button {
    width: min(330px, 88vw) !important;
    height: 82px !important;
    min-height: 82px !important;
    font-size: 25px !important;
  }
}


/* Version 34: index.html buttons use half-thickness blue lines */
.google-home-page .action-button::before,
.google-home-page .action-button::after {
  height: 2.5px !important;
}

.google-home-page .action-button {
  overflow: hidden !important;
}


/* Version 35: Saved "Icon Format"
   Icon Format = white center, blue text, thin blue top and bottom lines,
   rounded light-gray border, clean Google-style button proportions.
   Applied to all visible text links across the website.
*/

:root {
  --intport-icon-blue: #0057d9;
  --intport-icon-text: #0647b8;
  --intport-icon-border: #d7dce4;
  --intport-icon-bg: #ffffff;
  --intport-icon-line-height: 2.5px;
}

/* Apply Icon Format to all text links, but not logo/image links. */
a[href]:not(:has(img)),
button.link-like,
.icon-format {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 9px !important;
  border: 1px solid var(--intport-icon-border) !important;
  background: var(--intport-icon-bg) !important;
  color: var(--intport-icon-text) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
  vertical-align: middle !important;
}

a[href]:not(:has(img))::before,
a[href]:not(:has(img))::after,
button.link-like::before,
button.link-like::after,
.icon-format::before,
.icon-format::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  height: var(--intport-icon-line-height) !important;
  background: linear-gradient(
    90deg,
    rgba(0,87,217,0),
    var(--intport-icon-blue) 16%,
    var(--intport-icon-blue) 84%,
    rgba(0,87,217,0)
  ) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

a[href]:not(:has(img))::before,
button.link-like::before,
.icon-format::before {
  top: 7px !important;
}

a[href]:not(:has(img))::after,
button.link-like::after,
.icon-format::after {
  bottom: 7px !important;
}

a[href]:not(:has(img)):hover,
button.link-like:hover,
.icon-format:hover {
  background: #ffffff !important;
  border-color: #b9c7dc !important;
  box-shadow: 0 3px 9px rgba(60,64,67,.15) !important;
}

/* Keep true image/logo links plain so logos are not boxed. */
a[href]:has(img) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: auto !important;
}

a[href]:has(img)::before,
a[href]:has(img)::after {
  display: none !important;
}

/* Compact Icon Format for tight navigation rows. */
.simple-top-nav a[href]:not(:has(img)),
.client-dashboard-simple-header a[href]:not(:has(img)),
.job-header a[href]:not(:has(img)),
.admin-header a[href]:not(:has(img)) {
  min-height: 38px !important;
  padding: 0 16px !important;
  font-size: 14px !important;
}

/* Main home buttons and client-port buttons keep stronger proportions. */
.google-home-page .action-button,
.client-port-page .client-port-flag-button {
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 28px !important;
  font-size: 16px !important;
}

.google-home-page .action-button::before,
.google-home-page .action-button::after,
.client-port-page .client-port-flag-button::before,
.client-port-page .client-port-flag-button::after {
  height: var(--intport-icon-line-height) !important;
}


/* Version 36: one consistent Icon Format size across the entire website
   Standard Icon Format size:
   - min-height: 44px
   - padding: 0 22px
   - font-size: 16px
   - line thickness: 2.5px
   - same proportions everywhere
*/
:root {
  --intport-icon-line-height: 2.5px;
}

a[href]:not(:has(img)),
button.link-like,
.icon-format,
.action-button,
.simple-blue-choice,
.simple-main-button,
.client-port-flag-button,
.job-primary-button,
.job-secondary-button,
.payment-button,
.next-button,
.login-button,
.quote-button,
.admin-action-button,
.calendar-action,
.dashboard-action,
.staff-action,
button[type="submit"],
input[type="submit"],
.client-dashboard-simple-header a,
.client-dashboard-simple-actions a,
.simple-top-nav a {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 22px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  border-radius: 9px !important;
  line-height: 1 !important;
}

a[href]:not(:has(img))::before,
a[href]:not(:has(img))::after,
button.link-like::before,
button.link-like::after,
.icon-format::before,
.icon-format::after,
.action-button::before,
.action-button::after,
.simple-blue-choice::before,
.simple-blue-choice::after,
.simple-main-button::before,
.simple-main-button::after,
.client-port-flag-button::before,
.client-port-flag-button::after,
.job-primary-button::before,
.job-primary-button::after,
.job-secondary-button::before,
.job-secondary-button::after,
.payment-button::before,
.payment-button::after,
.next-button::before,
.next-button::after,
.login-button::before,
.login-button::after,
.quote-button::before,
.quote-button::after,
.admin-action-button::before,
.admin-action-button::after,
.calendar-action::before,
.calendar-action::after,
.dashboard-action::before,
.dashboard-action::after,
.staff-action::before,
.staff-action::after,
button[type="submit"]::before,
button[type="submit"]::after,
input[type="submit"]::before,
input[type="submit"]::after,
.client-dashboard-simple-header a::before,
.client-dashboard-simple-header a::after,
.client-dashboard-simple-actions a::before,
.client-dashboard-simple-actions a::after,
.simple-top-nav a::before,
.simple-top-nav a::after {
  height: 2.5px !important;
  top: auto;
  bottom: auto;
}

a[href]:not(:has(img))::before,
button.link-like::before,
.icon-format::before,
.action-button::before,
.simple-blue-choice::before,
.simple-main-button::before,
.client-port-flag-button::before,
.job-primary-button::before,
.job-secondary-button::before,
.payment-button::before,
.next-button::before,
.login-button::before,
.quote-button::before,
.admin-action-button::before,
.calendar-action::before,
.dashboard-action::before,
.staff-action::before,
button[type="submit"]::before,
input[type="submit"]::before,
.client-dashboard-simple-header a::before,
.client-dashboard-simple-actions a::before,
.simple-top-nav a::before {
  top: 7px !important;
}

a[href]:not(:has(img))::after,
button.link-like::after,
.icon-format::after,
.action-button::after,
.simple-blue-choice::after,
.simple-main-button::after,
.client-port-flag-button::after,
.job-primary-button::after,
.job-secondary-button::after,
.payment-button::after,
.next-button::after,
.login-button::after,
.quote-button::after,
.admin-action-button::after,
.calendar-action::after,
.dashboard-action::after,
.staff-action::after,
button[type="submit"]::after,
input[type="submit"]::after,
.client-dashboard-simple-header a::after,
.client-dashboard-simple-actions a::after,
.simple-top-nav a::after {
  bottom: 7px !important;
}

/* Logo/image links stay plain and are not treated as icons. */
a[href]:has(img) {
  height: auto !important;
  min-height: auto !important;
  padding: 0 !important;
}


/* Version 37: make index and client-port Icon Format buttons exactly the same size */
.google-home-page .action-button,
.client-port-page .client-port-flag-button,
.client-port-page .simple-blue-choice {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

.google-home-page .action-button::before,
.google-home-page .action-button::after,
.client-port-page .client-port-flag-button::before,
.client-port-page .client-port-flag-button::after,
.client-port-page .simple-blue-choice::before,
.client-port-page .simple-blue-choice::after {
  height: 2.5px !important;
  left: 8% !important;
  right: 8% !important;
}

.google-home-page .action-button::before,
.client-port-page .client-port-flag-button::before,
.client-port-page .simple-blue-choice::before {
  top: 8px !important;
}

.google-home-page .action-button::after,
.client-port-page .client-port-flag-button::after,
.client-port-page .simple-blue-choice::after {
  bottom: 8px !important;
}

.google-home-page .actions,
.client-port-page .simple-choice-actions,
.client-port-page .simple-choice-row {
  gap: 14px !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 720px) {
  .google-home-page .action-button,
  .client-port-page .client-port-flag-button,
  .client-port-page .simple-blue-choice {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    height: 58px !important;
    min-height: 58px !important;
    font-size: 16px !important;
  }
}


/* Version 38: match fading blue lines on index and client-port buttons */
.google-home-page .action-button::before,
.google-home-page .action-button::after,
.client-port-page .client-port-flag-button::before,
.client-port-page .client-port-flag-button::after,
.client-port-page .simple-blue-choice::before,
.client-port-page .simple-blue-choice::after {
  background: linear-gradient(
    90deg,
    rgba(0,87,217,0),
    #0057d9 18%,
    #0057d9 82%,
    rgba(0,87,217,0)
  ) !important;
  border-radius: 999px !important;
}


/* Version 39: requested index and client-port refinements */

/* index.html: correct Clients Port spacing/logo relationship */
.google-home-page .google-home-main.home-main-version-20 {
  padding-top: 18vh !important;
}

.google-home-page .logo {
  margin-bottom: 17px !important; /* half of earlier simple-logo spacing */
}

.google-home-page .home-action-row-version-20,
.google-home-page .actions {
  margin-top: 0 !important;
}

/* client-port.html: small top-left logo */
.client-port-page {
  position: relative !important;
}

.client-port-page .simple-shell,
.client-port-page .google-home-main,
.client-port-page main {
  align-items: center !important;
}

.client-port-page .client-port-top-logo,
.client-port-page .simple-logo {
  position: fixed !important;
  top: 18px !important;
  left: 22px !important;
  width: 132px !important;
  max-width: 132px !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 20 !important;
}

/* client-port.html: Home should be simply blue text on white background */
.client-port-page a[href="index.html"] {
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow: visible !important;
}

.client-port-page a[href="index.html"]::before,
.client-port-page a[href="index.html"]::after {
  display: none !important;
  content: none !important;
}

.client-port-page a[href="index.html"]:hover {
  text-decoration: underline !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Keep the two client-port action buttons in the retained Icon Format */
.client-port-page .client-port-flag-button,
.client-port-page .simple-blue-choice {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
}






/* Version 43: signup.html State box restored and page content moved 2 inches higher */

/* Restore visible State box after earlier hide rules */
body.signup-create-page .signup-address-row .state-field,
body.signup-create-page .signup-address-row .state-field label,
body.signup-create-page .signup-address-row .state-field select,
body.signup-create-page select#state,
body.signup-create-page select[name="state"],
body.signup-create-page label[for="state"] {
  display: block !important;
}

body.signup-create-page .signup-address-row .state-field {
  min-width: 92px !important;
}

body.signup-create-page select#state {
  width: 100% !important;
  height: 44px !important;
  padding: 0 12px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #202124 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

/* Make the address row fit Business Address / City / State / ZIP */
body.signup-create-page .signup-address-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.7fr) minmax(140px, 1fr) 92px 110px !important;
  gap: 12px !important;
  align-items: end !important;
}

/* Move signup content exactly 2 inches higher */
body.signup-create-page main.simple-google-shell.simple-form-shell {
  transform: translateY(-2in) !important;
}

body.signup-create-page .verification-email-panel {
  transform: translateY(-2in) !important;
}

@media (max-width: 760px) {
  body.signup-create-page .signup-address-row {
    grid-template-columns: 1fr !important;
  }
}


/* Version 44: signup.html alignment and logo correction */

/* Small logo inserted/top-left outside the moved form area */
body.signup-create-page > .signup-logo-link {
  position: fixed !important;
  top: 18px !important;
  left: 22px !important;
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  z-index: 60 !important;
}

body.signup-create-page > .signup-logo-link::before,
body.signup-create-page > .signup-logo-link::after {
  display: none !important;
  content: none !important;
}

body.signup-create-page > .signup-logo-link img.signup-top-logo {
  display: block !important;
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  margin: 0 !important;
  position: static !important;
}

/* Home / Already a Client: simple blue text, same readable size as form labels */
body.signup-create-page .simple-top-nav {
  top: 22px !important;
  right: 28px !important;
  gap: 18px !important;
}

body.signup-create-page .simple-top-nav a[href] {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #0647b8 !important;
  background: #ffffff !important;
  line-height: 1.2 !important;
}

/* Move all signup content higher, but keep logo independent */
body.signup-create-page main.simple-google-shell.simple-form-shell {
  transform: translateY(-2in) !important;
}

/* Full-justified form boxes: every row starts and ends on the same edges */
body.signup-create-page form.simple-center-form.wide-simple-form {
  width: min(760px, calc(100vw - 80px)) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

body.signup-create-page .signup-account-grid,
body.signup-create-page .signup-contact-row,
body.signup-create-page .signup-address-row,
body.signup-create-page .password-row {
  width: 100% !important;
  display: grid !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body.signup-create-page .signup-account-grid,
body.signup-create-page .password-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.signup-create-page .signup-contact-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.signup-create-page .signup-address-row {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 92px 110px !important;
}

/* Make every input/select box fill its grid cell */
body.signup-create-page .job-field {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.signup-create-page .job-field label {
  display: block !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
  color: #202124 !important;
}

body.signup-create-page .job-field input,
body.signup-create-page .job-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  box-sizing: border-box !important;
}

/* State box must remain visible */
body.signup-create-page .signup-address-row .state-field,
body.signup-create-page .signup-address-row .state-field label,
body.signup-create-page .signup-address-row .state-field select,
body.signup-create-page select#state,
body.signup-create-page select[name="state"] {
  display: block !important;
}

/* Create Account stays centered and in Icon Format */
body.signup-create-page button.create-account-icon-format,
body.signup-create-page button[type="submit"] {
  align-self: center !important;
  margin-top: 6px !important;
}

@media (max-width: 760px) {
  body.signup-create-page form.simple-center-form.wide-simple-form {
    width: min(94vw, 520px) !important;
  }

  body.signup-create-page .signup-account-grid,
  body.signup-create-page .signup-contact-row,
  body.signup-create-page .signup-address-row,
  body.signup-create-page .password-row {
    grid-template-columns: 1fr !important;
  }
}


/* Version 45: signup.html final alignment corrections */

/* Everything one line lower than Version 44 */
body.signup-create-page main.simple-google-shell.simple-form-shell {
  transform: translateY(calc(-2in + 28px)) !important;
}

body.signup-create-page .verification-email-panel {
  transform: translateY(calc(-2in + 28px)) !important;
}

/* Main signup form: fixed shared width so every row uses the same left/right edges */
body.signup-create-page form.simple-center-form.wide-simple-form {
  width: 760px !important;
  max-width: calc(100vw - 80px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

/* Upper row and lower password row: two equal boxes */
body.signup-create-page .signup-account-grid,
body.signup-create-page .password-row {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
}

/* Email / Website / Phone row:
   same full width as upper/lower rows, same height, same edges, evenly justified */
body.signup-create-page .signup-contact-row {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Address row also stays full-justified to same form width */
body.signup-create-page .signup-address-row {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 92px 110px !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* All signup field boxes match in height and alignment */
body.signup-create-page .signup-account-grid .job-field,
body.signup-create-page .signup-contact-row .job-field,
body.signup-create-page .signup-address-row .job-field,
body.signup-create-page .password-row .job-field {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body.signup-create-page .signup-account-grid input,
body.signup-create-page .signup-contact-row input,
body.signup-create-page .signup-address-row input,
body.signup-create-page .signup-address-row select,
body.signup-create-page .password-row input {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Confirm Password box aligned with Password box */
body.signup-create-page .password-row .job-field:last-child {
  align-self: end !important;
}

body.signup-create-page .password-row .job-field:last-child input {
  width: 100% !important;
}

/* Keep Home / Already a Client simple blue text */
body.signup-create-page .simple-top-nav a[href] {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #0647b8 !important;
  background: #ffffff !important;
}

/* Keep small logo top-left */
body.signup-create-page > .signup-logo-link {
  position: fixed !important;
  top: 18px !important;
  left: 22px !important;
  width: 118px !important;
  max-width: 118px !important;
  z-index: 60 !important;
}

@media (max-width: 760px) {
  body.signup-create-page form.simple-center-form.wide-simple-form {
    width: min(94vw, 520px) !important;
    max-width: 94vw !important;
  }

  body.signup-create-page .signup-account-grid,
  body.signup-create-page .signup-contact-row,
  body.signup-create-page .signup-address-row,
  body.signup-create-page .password-row {
    grid-template-columns: 1fr !important;
  }
}


/* Version 46: Icon Position Standard
   Master reference: index.html Clients Port / Interpreters Port row.
   Rule: when fairly possible, other action-icon rows should use the same
   centered horizontal position and same vertical placement as index.html.
*/
:root {
  --intport-icon-standard-top: 224px;
  --intport-icon-standard-gap: 14px;
  --intport-icon-standard-width: 180px;
  --intport-icon-standard-height: 58px;
}

/* Keep the home page icon row as the master reference */
body.google-home-page .home-action-row-version-20 {
  position: relative !important;
  top: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--intport-icon-standard-gap) !important;
}

/* Pages with two or more main action icons should align to the master position */
body.client-port-page main.simple-google-shell,
body.client-dashboard-page main,
body.interpreter-dashboard-page main,
body.vendor-signup-page main,
body.verify-email-page main {
  position: relative !important;
}

/* Client Port: action icons use the exact master position when possible */
body.client-port-page .simple-choice-row.simple-two-button-only,
body.client-port-page .simple-choice-row,
body.client-port-page .simple-choice-actions {
  position: fixed !important;
  top: var(--intport-icon-standard-top) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--intport-icon-standard-gap) !important;
  margin: 0 !important;
  width: auto !important;
  z-index: 10 !important;
}

/* Client Dashboard action icons also follow the master position */
body.client-dashboard-page .client-dashboard-simple-actions {
  position: fixed !important;
  top: var(--intport-icon-standard-top) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--intport-icon-standard-gap) !important;
  margin: 0 !important;
  width: auto !important;
  z-index: 10 !important;
}

/* Standard size for aligned icon rows */
body.client-port-page .simple-choice-row a,
body.client-port-page .simple-choice-actions a,
body.client-dashboard-page .client-dashboard-simple-actions a,
body.google-home-page .home-action-row-version-20 a {
  width: var(--intport-icon-standard-width) !important;
  min-width: var(--intport-icon-standard-width) !important;
  max-width: var(--intport-icon-standard-width) !important;
  height: var(--intport-icon-standard-height) !important;
  min-height: var(--intport-icon-standard-height) !important;
}

/* On form pages, only the main submit/action icon follows the size, not the top text links */
body.signup-create-page button[type="submit"],
body.signup-create-page button.create-account-icon-format {
  width: var(--intport-icon-standard-width) !important;
  min-width: var(--intport-icon-standard-width) !important;
  max-width: var(--intport-icon-standard-width) !important;
  height: var(--intport-icon-standard-height) !important;
  min-height: var(--intport-icon-standard-height) !important;
}

/* Mobile: do not force fixed desktop position */
@media (max-width: 760px) {
  body.client-port-page .simple-choice-row.simple-two-button-only,
  body.client-port-page .simple-choice-row,
  body.client-port-page .simple-choice-actions,
  body.client-dashboard-page .client-dashboard-simple-actions {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    flex-direction: column !important;
    margin: 0 auto !important;
  }
}


/* Version 47: client-port icons corrected to the exact index.html icon position
   Standard source: index.html .home-action-row-version-20
   Client Port must not use the middle-of-page rule anymore.
*/

/* Neutralize older "middle of page" rules on client-port.html */
body.client-port-page main.simple-google-shell {
  min-height: 100vh !important;
  height: auto !important;
  padding: 92px 20px 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* Hide the client-port main logo space from affecting icon placement,
   because client-port has its small logo fixed at top-left. */
body.client-port-page main.simple-google-shell > a[aria-label="IntPort Home"] {
  position: fixed !important;
  top: 18px !important;
  left: 22px !important;
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  z-index: 60 !important;
}

body.client-port-page main.simple-google-shell > a[aria-label="IntPort Home"]::before,
body.client-port-page main.simple-google-shell > a[aria-label="IntPort Home"]::after {
  display: none !important;
  content: none !important;
}

body.client-port-page main.simple-google-shell > a[aria-label="IntPort Home"] img {
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  position: static !important;
  margin: 0 !important;
}

/* Exact icon row position copied from index page behavior:
   centered row, directly after the standard 92px top placement. */
body.client-port-page .simple-choice-row.simple-two-button-only,
body.client-port-page .simple-choice-row,
body.client-port-page .simple-choice-actions {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  width: auto !important;
  z-index: 10 !important;
}

/* Same icon size and line style as index.html */
body.client-port-page .simple-choice-row a,
body.client-port-page .simple-choice-actions a,
body.client-port-page .client-port-flag-button,
body.client-port-page .simple-blue-choice {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

/* Keep Home simple blue text at top-right */
body.client-port-page .simple-top-nav {
  position: fixed !important;
  top: 20px !important;
  right: 28px !important;
  z-index: 70 !important;
  background: #ffffff !important;
}

body.client-port-page .simple-top-nav a[href="index.html"] {
  min-height: auto !important;
  height: auto !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow: visible !important;
}

body.client-port-page .simple-top-nav a[href="index.html"]::before,
body.client-port-page .simple-top-nav a[href="index.html"]::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 760px) {
  body.client-port-page main.simple-google-shell {
    padding: 92px 20px 0 !important;
  }

  body.client-port-page .simple-choice-row.simple-two-button-only,
  body.client-port-page .simple-choice-row,
  body.client-port-page .simple-choice-actions {
    position: relative !important;
    transform: none !important;
    flex-direction: column !important;
  }
}


/* Version 48: user layout editor */
#layoutEditorPanel {
  position: fixed !important;
  left: 14px !important;
  bottom: 14px !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid #d7dce4 !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 3px 12px rgba(60,64,67,.18) !important;
  font-family: Arial, sans-serif !important;
}

#layoutEditorPanel button {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid #d7dce4 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#layoutEditorPanel button::before,
#layoutEditorPanel button::after {
  display: none !important;
  content: none !important;
}

#layoutEditorStatus {
  color: #5f6368 !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

#layoutEditorOutput {
  display: none;
  position: absolute;
  left: 0;
  bottom: 48px;
  width: min(520px, calc(100vw - 28px));
  height: 160px;
  padding: 10px;
  border: 1px solid #d7dce4;
  border-radius: 8px;
  background: #fff;
  color: #202124;
  font-size: 12px;
  line-height: 1.35;
  box-shadow: 0 3px 12px rgba(60,64,67,.18);
}

.layout-editor-active .layout-editable-item {
  outline: 1.5px dashed #0057d9 !important;
  outline-offset: 3px !important;
}

.layout-editor-active .layout-dragging {
  outline: 2px solid #0057d9 !important;
  opacity: .88 !important;
}


/* Version 49: permanent exported client-port.html layout changes */
body.client-port-page [data-layout-key="IntPort-Clients-2"] {
  transform: translate(1px, 276px) !important;
  position: relative !important;
  z-index: 90 !important;
}

body.client-port-page [data-layout-key="New-Clients-3"] {
  transform: translate(7px, 278px) !important;
  position: relative !important;
  z-index: 90 !important;
}


/* Version 50: permanent exported signup.html layout changes */
body.signup-create-page [data-layout-key="IntPort-0"] {
  transform: translate(-1px, 12px) !important;
  position: relative !important;
  z-index: 90 !important;
}

body.signup-create-page [data-layout-key="Home-1"] {
  transform: translate(-4px, 22px) !important;
  position: relative !important;
  z-index: 90 !important;
}

body.signup-create-page [data-layout-key="Already-a-Client-2"] {
  transform: translate(-5px, 21px) !important;
  position: relative !important;
  z-index: 90 !important;
}

body.signup-create-page [data-layout-key="Create-Account-3"] {
  transform: translate(-20px, 32px) !important;
  position: relative !important;
  z-index: 90 !important;
}


/* Version 51: all icon text is black */
:root {
  --intport-icon-text: #000000;
}

.icon-format,
.action-button,
.simple-blue-choice,
.client-port-flag-button,
.create-account-icon-format,
.client-dashboard-simple-actions a,
.dashboard-action,
.admin-action-button,
.calendar-action,
.staff-action,
.payment-button,
.next-button,
.login-button,
.quote-button,
.job-primary-button,
.job-secondary-button,
button[type="submit"],
input[type="submit"] {
  color: #000000 !important;
}

/* Icon-format links only: black text, but do not change logo/image links */
a[href]:not(:has(img)).icon-format,
a[href]:not(:has(img)).action-button,
a[href]:not(:has(img)).simple-blue-choice,
a[href]:not(:has(img)).client-port-flag-button,
a[href]:not(:has(img)).dashboard-action,
a[href]:not(:has(img)).admin-action-button,
a[href]:not(:has(img)).calendar-action,
a[href]:not(:has(img)).staff-action {
  color: #000000 !important;
}


/* Version 52: signup.html field alignment and black Create Account text */

/* One exact form grid width for every row */
body.signup-create-page form.simple-center-form.wide-simple-form {
  width: 780px !important;
  max-width: calc(100vw - 80px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

/* Every row uses the exact same outside edges */
body.signup-create-page .signup-account-grid,
body.signup-create-page .signup-contact-row,
body.signup-create-page .signup-address-row,
body.signup-create-page .password-row {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: grid !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
}

/* Upper and lower rows: two equal aligned boxes */
body.signup-create-page .signup-account-grid,
body.signup-create-page .password-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

/* Email / Website / Phone row expanded to the same full row width */
body.signup-create-page .signup-contact-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
}

/* Address row also uses the same full row width */
body.signup-create-page .signup-address-row {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 92px 110px !important;
}

/* All field wrappers and boxes fill their grid cells exactly */
body.signup-create-page .signup-account-grid .job-field,
body.signup-create-page .signup-contact-row .job-field,
body.signup-create-page .signup-address-row .job-field,
body.signup-create-page .password-row .job-field {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  align-self: end !important;
}

body.signup-create-page .signup-account-grid input,
body.signup-create-page .signup-contact-row input,
body.signup-create-page .signup-address-row input,
body.signup-create-page .signup-address-row select,
body.signup-create-page .password-row input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}

/* Confirm Password label and box align exactly with Password */
body.signup-create-page .password-row .job-field:first-child,
body.signup-create-page .password-row .job-field:last-child {
  align-self: end !important;
}

body.signup-create-page .password-row .job-field:last-child label {
  text-align: left !important;
}

body.signup-create-page .password-row .job-field:last-child input {
  width: 100% !important;
  height: 44px !important;
  box-sizing: border-box !important;
}

/* Create Account must be black text, overriding earlier blue button rules */
body.signup-create-page button.create-account-icon-format,
body.signup-create-page button[type="submit"],
body.signup-create-page [data-layout-key="Create-Account-3"] {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Keep Create Account icon lines blue with faded ends */
body.signup-create-page button.create-account-icon-format::before,
body.signup-create-page button.create-account-icon-format::after,
body.signup-create-page button[type="submit"]::before,
body.signup-create-page button[type="submit"]::after {
  background: linear-gradient(90deg, rgba(0,87,217,0), #0057d9 18%, #0057d9 82%, rgba(0,87,217,0)) !important;
}

@media (max-width: 760px) {
  body.signup-create-page form.simple-center-form.wide-simple-form {
    width: min(94vw, 520px) !important;
    max-width: 94vw !important;
  }

  body.signup-create-page .signup-account-grid,
  body.signup-create-page .signup-contact-row,
  body.signup-create-page .signup-address-row,
  body.signup-create-page .password-row {
    grid-template-columns: 1fr !important;
  }
}


/* Version 53: exact Confirm Password alignment */

/* Make Password and Confirm Password use identical internal rows:
   label row, input row, helper-message row. This keeps the input boxes aligned
   even though Password has helper text and Confirm Password has a dynamic message. */
body.signup-create-page .password-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  width: 100% !important;
}

body.signup-create-page .password-row .password-field,
body.signup-create-page .password-row .confirm-password-field,
body.signup-create-page .password-row .job-field:first-child,
body.signup-create-page .password-row .job-field:last-child {
  display: grid !important;
  grid-template-rows: 18px 44px 18px !important;
  align-items: start !important;
  align-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.signup-create-page .password-row label {
  grid-row: 1 !important;
  height: 18px !important;
  line-height: 18px !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body.signup-create-page .password-row input {
  grid-row: 2 !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.signup-create-page .password-row small {
  grid-row: 3 !important;
  display: block !important;
  min-height: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Explicitly keep Confirm Password input level with Password input */
body.signup-create-page .password-row .confirm-password-field input,
body.signup-create-page #confirmPassword {
  align-self: start !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.signup-create-page .password-row {
    grid-template-columns: 1fr !important;
  }
}


/* Version 54: login.html corrections */
body.login-page .simple-top-nav a[href],
body.login-page a[href="index.html"],
body.login-page a[href="client-port.html"],
body.login-page a[href="signup.html"],
body.login-page a[href="forgot-password.html"],
body.login-page .login-links a[href] {
  min-height: auto !important;
  height: auto !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow: visible !important;
}

body.login-page .simple-top-nav a[href]::before,
body.login-page .simple-top-nav a[href]::after,
body.login-page a[href="index.html"]::before,
body.login-page a[href="index.html"]::after,
body.login-page a[href="client-port.html"]::before,
body.login-page a[href="client-port.html"]::after,
body.login-page a[href="signup.html"]::before,
body.login-page a[href="signup.html"]::after,
body.login-page a[href="forgot-password.html"]::before,
body.login-page a[href="forgot-password.html"]::after,
body.login-page .login-links a[href]::before,
body.login-page .login-links a[href]::after {
  display: none !important;
  content: none !important;
}

body.login-page a[href="index.html"]:hover,
body.login-page a[href="client-port.html"]:hover,
body.login-page a[href="signup.html"]:hover,
body.login-page a[href="forgot-password.html"]:hover {
  text-decoration: underline !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Email and Password on the same line */
body.login-page .login-email-password-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  width: min(680px, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.login-page .login-email-password-row > * {
  width: 100% !important;
  margin: 0 !important;
}

body.login-page .login-email-password-row input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Extra fallback for existing login forms that use simple field rows */
body.login-page form .login-email-password-row + * {
  margin-top: 14px !important;
}

@media (max-width: 720px) {
  body.login-page .login-email-password-row {
    grid-template-columns: 1fr !important;
    width: min(440px, 92vw) !important;
  }
}




/* Version 57: repair signup layout after broken Version 56
   - restore password/confirm password on one row
   - lower whole form so logo does not overlap
   - place Create Account on same level as password note
*/
body.signup-create-page.signup-page.simple-choice-page {
  display: block !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  background: #ffffff !important;
}

body.signup-create-page .signup-logo-link {
  position: fixed !important;
  top: 22px !important;
  left: 12px !important;
  z-index: 50 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.signup-create-page .signup-top-logo,
body.signup-create-page img.simple-logo.signup-top-logo,
body.signup-create-page img.simple-logo {
  position: static !important;
  display: block !important;
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  margin: 0 !important;
}

body.signup-create-page .simple-top-nav {
  position: fixed !important;
  top: 36px !important;
  right: 28px !important;
  height: auto !important;
  padding: 0 !important;
  z-index: 50 !important;
  display: flex !important;
  gap: 18px !important;
  background: #ffffff !important;
}

body.signup-create-page .simple-top-nav a[href] {
  display: inline !important;
  min-height: auto !important;
  height: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow: visible !important;
}

body.signup-create-page .simple-top-nav a[href]::before,
body.signup-create-page .simple-top-nav a[href]::after {
  display: none !important;
  content: none !important;
}

body.signup-create-page .simple-top-nav a[href]:hover {
  text-decoration: underline !important;
}

/* Lower everything below the fixed logo/header */
body.signup-create-page main.simple-google-shell.simple-form-shell.compact-signup-flow,
body.signup-create-page main.simple-google-shell.simple-form-shell,
body.signup-create-page main {
  min-height: 100vh !important;
  box-sizing: border-box !important;
  padding: 96px 80px 40px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: left !important;
}

body.signup-create-page form.simple-center-form.wide-simple-form,
body.signup-create-page form#intportSignupForm {
  width: min(780px, calc(100vw - 160px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: stretch !important;
  text-align: left !important;
}

body.signup-create-page .account-two-col,
body.signup-create-page .signup-account-grid,
body.signup-create-page .password-row.signup-password-row-clean,
body.signup-create-page .password-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: end !important;
}

body.signup-create-page .signup-contact-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 252px !important;
  gap: 12px !important;
  align-items: end !important;
}

body.signup-create-page .signup-address-row {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 92px 110px !important;
  gap: 12px !important;
  align-items: end !important;
}

body.signup-create-page .job-field {
  margin: 0 !important;
}

body.signup-create-page .job-field label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #111827 !important;
  line-height: 1.1 !important;
}

body.signup-create-page .job-field input,
body.signup-create-page .job-field select {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  border: 1px solid #d5dbe5 !important;
  border-radius: 5px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #111827 !important;
}

body.signup-create-page .phone-field input,
body.signup-create-page .zip-field input,
body.signup-create-page .state-field select {
  max-width: none !important;
}

/* No word "State" inside the dropdown box until a state is chosen */
body.signup-create-page select#state option[value=""] {
  color: transparent !important;
}

/* Note and Create Account are on the same level */
body.signup-create-page .signup-create-account-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  margin: -2px 0 0 !important;
}

body.signup-create-page .signup-password-note {
  grid-column: 1 / 2 !important;
  display: block !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #374151 !important;
  text-align: left !important;
}

body.signup-create-page .signup-create-row-spacer {
  grid-column: 3 / 4 !important;
}

body.signup-create-page .signup-create-account-row button.create-account-icon-format,
body.signup-create-page .signup-create-account-row button[type="submit"] {
  grid-column: 2 / 3 !important;
  justify-self: center !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

body.signup-create-page .signup-create-account-row button::before,
body.signup-create-page .signup-create-account-row button::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, rgba(0,87,217,0), #0057d9 18%, #0057d9 82%, rgba(0,87,217,0)) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

body.signup-create-page .signup-create-account-row button::before { top: 8px !important; }
body.signup-create-page .signup-create-account-row button::after { bottom: 8px !important; }

body.signup-create-page .signup-verification-prompt {
  margin: 12px auto 0 !important;
  text-align: center !important;
  max-width: 760px !important;
}

@media (max-width: 760px) {
  body.signup-create-page main.simple-google-shell.simple-form-shell.compact-signup-flow,
  body.signup-create-page main.simple-google-shell.simple-form-shell,
  body.signup-create-page main {
    padding: 108px 20px 36px !important;
  }

  body.signup-create-page form.simple-center-form.wide-simple-form,
  body.signup-create-page form#intportSignupForm {
    width: min(440px, 92vw) !important;
  }

  body.signup-create-page .account-two-col,
  body.signup-create-page .signup-account-grid,
  body.signup-create-page .signup-contact-row,
  body.signup-create-page .signup-address-row,
  body.signup-create-page .password-row.signup-password-row-clean,
  body.signup-create-page .password-row,
  body.signup-create-page .signup-create-account-row {
    grid-template-columns: 1fr !important;
  }

  body.signup-create-page .signup-create-account-row button.create-account-icon-format,
  body.signup-create-page .signup-create-account-row button[type="submit"],
  body.signup-create-page .signup-password-note,
  body.signup-create-page .signup-create-row-spacer {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    text-align: center !important;
  }
}


/* Version 58: login page exact cleanup */

/* Login logo small, top-left */
body.login-page img.simple-logo {
  position: fixed !important;
  top: 20px !important;
  left: 22px !important;
  width: 132px !important;
  max-width: 132px !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 30 !important;
}

/* Home and New to IntPort: blue text only on white background */
body.login-page .simple-top-nav {
  position: fixed !important;
  top: 22px !important;
  right: 28px !important;
  z-index: 30 !important;
  display: flex !important;
  gap: 18px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: #ffffff !important;
  padding: 0 !important;
  height: auto !important;
}

body.login-page .simple-top-nav a[href],
body.login-page .login-forgot-password-link {
  display: inline !important;
  min-height: auto !important;
  height: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow: visible !important;
}

body.login-page .simple-top-nav a[href]::before,
body.login-page .simple-top-nav a[href]::after,
body.login-page .login-forgot-password-link::before,
body.login-page .login-forgot-password-link::after {
  display: none !important;
  content: none !important;
}

body.login-page .simple-top-nav a[href]:hover,
body.login-page .login-forgot-password-link:hover {
  text-decoration: underline !important;
}

/* Page/form placement after moving logo away from center */
body.login-page main.simple-google-shell.simple-form-shell {
  min-height: 100vh !important;
  padding: 126px 20px 40px !important;
  align-items: center !important;
  justify-content: center !important;
}

body.login-page .login-clean-form {
  width: min(720px, 94vw) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 18px !important;
}

/* Email and Password on the same line */
body.login-page .login-email-password-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 auto !important;
  align-items: start !important;
}

body.login-page .login-email-password-row .job-field {
  width: 100% !important;
  margin: 0 !important;
}

body.login-page .login-email-password-row input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Forgot Password under Password box */
body.login-page .login-password-field .login-forgot-password-link {
  display: block !important;
  margin-top: 8px !important;
  text-align: left !important;
}

/* Sign In standard icon size */
body.login-page .login-standard-signin,
body.login-page .stripe-signin-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
}

body.login-page .login-standard-signin::before,
body.login-page .login-standard-signin::after,
body.login-page .stripe-signin-button::before,
body.login-page .stripe-signin-button::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, rgba(0,87,217,0), #0057d9 18%, #0057d9 82%, rgba(0,87,217,0)) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  display: block !important;
}

body.login-page .login-standard-signin::before,
body.login-page .stripe-signin-button::before {
  top: 8px !important;
}

body.login-page .login-standard-signin::after,
body.login-page .stripe-signin-button::after {
  bottom: 8px !important;
}

@media (max-width: 720px) {
  body.login-page .login-email-password-row {
    grid-template-columns: 1fr !important;
  }

  body.login-page main.simple-google-shell.simple-form-shell {
    padding-top: 124px !important;
  }
}






/* Version 61: clean rebuilt signup page, no old layout dependency */
body.signup-rebuild-page {
  margin: 0 !important;
  min-height: 100vh !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  overflow-x: hidden !important;
}

/* Logo: small top-left */
body.signup-rebuild-page .signup-rebuild-logo-link {
  position: fixed !important;
  top: 24px !important;
  left: 16px !important;
  width: 104px !important;
  height: auto !important;
  display: block !important;
  z-index: 20 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.signup-rebuild-page .signup-rebuild-logo-link::before,
body.signup-rebuild-page .signup-rebuild-logo-link::after {
  display: none !important;
  content: none !important;
}

body.signup-rebuild-page .signup-rebuild-logo {
  display: block !important;
  width: 104px !important;
  height: auto !important;
  max-width: 104px !important;
  margin: 0 !important;
}

/* Home / Already a Client: simple blue text */
body.signup-rebuild-page .signup-rebuild-nav {
  position: fixed !important;
  top: 25px !important;
  right: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  z-index: 20 !important;
  background: #ffffff !important;
}

body.signup-rebuild-page .signup-rebuild-nav a {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #0647b8 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.signup-rebuild-page .signup-rebuild-nav a::before,
body.signup-rebuild-page .signup-rebuild-nav a::after {
  display: none !important;
  content: none !important;
}

body.signup-rebuild-page .signup-rebuild-nav a:hover {
  text-decoration: underline !important;
}

/* Form positioning */
body.signup-rebuild-page .signup-rebuild-main {
  padding: 80px 20px 40px !important;
  margin: 0 !important;
  min-height: auto !important;
  display: block !important;
}

body.signup-rebuild-page .signup-rebuild-form {
  width: 720px !important;
  max-width: calc(100vw - 170px) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Rows */
body.signup-rebuild-page .signup-rebuild-row {
  display: grid !important;
  gap: 13px !important;
  align-items: end !important;
  width: 100% !important;
}

body.signup-rebuild-page .signup-rebuild-two {
  grid-template-columns: 1fr 1fr !important;
}

body.signup-rebuild-page .signup-rebuild-three {
  grid-template-columns: 1fr 1fr 252px !important;
}

body.signup-rebuild-page .signup-rebuild-address {
  grid-template-columns: 2fr 1fr 91px 110px !important;
}

/* Labels and fields */
body.signup-rebuild-page label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
}

body.signup-rebuild-page label span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.signup-rebuild-page input,
body.signup-rebuild-page select {
  width: 100% !important;
  height: 35px !important;
  min-height: 35px !important;
  box-sizing: border-box !important;
  border: 1px solid #d5dbe5 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: #111827 !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  outline: none !important;
  box-shadow: none !important;
}

body.signup-rebuild-page input:focus,
body.signup-rebuild-page select:focus {
  border-color: #0b57d0 !important;
}

/* Bottom row: note left, button centered */
body.signup-rebuild-page .signup-rebuild-bottom-row {
  display: grid !important;
  grid-template-columns: 1fr 180px 1fr !important;
  column-gap: 13px !important;
  align-items: start !important;
  width: 100% !important;
  margin-top: -1px !important;
}

body.signup-rebuild-page .signup-rebuild-note {
  grid-column: 1 / 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #374151 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

body.signup-rebuild-page .signup-rebuild-create {
  grid-column: 2 / 3 !important;
  justify-self: center !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1px solid #d7dce4 !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60,64,67,.10) !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

body.signup-rebuild-page .signup-rebuild-create::before,
body.signup-rebuild-page .signup-rebuild-create::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, rgba(0,87,217,0), #0057d9 18%, #0057d9 82%, rgba(0,87,217,0)) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

body.signup-rebuild-page .signup-rebuild-create::before {
  top: 8px !important;
}

body.signup-rebuild-page .signup-rebuild-create::after {
  bottom: 8px !important;
}

/* Inline verification prompt */
body.signup-rebuild-page .signup-rebuild-prompt[hidden] {
  display: none !important;
}

body.signup-rebuild-page .signup-rebuild-prompt {
  display: block !important;
  margin: 12px auto 0 !important;
  text-align: center !important;
  max-width: 720px !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

body.signup-rebuild-page .signup-rebuild-prompt p {
  margin: 4px 0 !important;
}

body.signup-rebuild-page .signup-rebuild-prompt a {
  color: #0647b8 !important;
  background: #ffffff !important;
  text-decoration: none !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.signup-rebuild-page .signup-rebuild-prompt a::before,
body.signup-rebuild-page .signup-rebuild-prompt a::after {
  display: none !important;
  content: none !important;
}

body.signup-rebuild-page .signup-rebuild-prompt a:hover {
  text-decoration: underline !important;
}

/* Small screens */
@media (max-width: 760px) {
  body.signup-rebuild-page .signup-rebuild-main {
    padding-top: 120px !important;
  }

  body.signup-rebuild-page .signup-rebuild-form {
    width: min(440px, 92vw) !important;
    max-width: 92vw !important;
  }

  body.signup-rebuild-page .signup-rebuild-two,
  body.signup-rebuild-page .signup-rebuild-three,
  body.signup-rebuild-page .signup-rebuild-address {
    grid-template-columns: 1fr !important;
  }

  body.signup-rebuild-page .signup-rebuild-bottom-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.signup-rebuild-page .signup-rebuild-note,
  body.signup-rebuild-page .signup-rebuild-create {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    text-align: center !important;
  }
}


/* Version 62: custom bouquet image for signup greeting */
body.signup-rebuild-page .signup-rebuild-prompt .welcome-bouquet-icon {
  display: inline-block !important;
  width: 34px !important;
  height: 34px !important;
  object-fit: cover !important;
  vertical-align: middle !important;
  margin-left: 8px !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 4px rgba(60,64,67,.18) !important;
  background: #ffffff !important;
}


/* Version 63: implement selected floral welcome symbol */
body.signup-rebuild-page .signup-rebuild-prompt .welcome-floral-symbol-icon {
  display: inline-block !important;
  width: 46px !important;
  height: 46px !important;
  object-fit: cover !important;
  vertical-align: middle !important;
  margin-left: 8px !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 5px rgba(60,64,67,.18) !important;
  background: #ffffff !important;
}


/* New to IntPort link under Password box */
body.login-page .login-password-field .login-new-to-intport-link {
  display: block !important;
  margin-top: 8px !important;
  text-align: left !important;
}


/* Version 64: floral background and visible testing bypass on signup */
body.signup-rebuild-page {
  background-image:
    linear-gradient(rgba(255,255,255,.86), rgba(255,255,255,.86)),
    url("assets/welcome-floral-symbol.PNG") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

body.signup-rebuild-page .signup-rebuild-prompt {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(66, 133, 244, .18) !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  box-shadow: 0 6px 18px rgba(60,64,67,.10) !important;
}

body.signup-rebuild-page .signup-rebuild-prompt .signup-rebuild-welcome-message {
  margin-top: 8px !important;
  font-weight: 600 !important;
}

body.signup-rebuild-page .signup-rebuild-prompt .welcome-floral-symbol-icon {
  display: none !important;
}

body.signup-rebuild-page .signup-rebuild-prompt .signup-testing-skip-button {
  display: inline-block !important;
  margin-top: 12px !important;
  padding: 10px 16px !important;
  border: 1px solid #1a73e8 !important;
  border-radius: 8px !important;
  background: #1a73e8 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body.signup-rebuild-page .signup-rebuild-prompt .signup-testing-skip-button:hover {
  filter: brightness(0.96) !important;
}


/* Version 66: centered index login and remove layout editor controls */
body.login-page {
  min-height: 100vh !important;
  background: #ffffff !important;
}

body.login-page main.simple-google-shell.simple-form-shell {
  min-height: 100vh !important;
  padding: 42px 20px 48px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
}

body.login-page main.simple-google-shell.simple-form-shell > a[aria-label="IntPort Home"] {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.login-page main.simple-google-shell.simple-form-shell > a[aria-label="IntPort Home"]::before,
body.login-page main.simple-google-shell.simple-form-shell > a[aria-label="IntPort Home"]::after {
  display: none !important;
  content: none !important;
}

body.login-page img.simple-logo {
  position: static !important;
  display: block !important;
  width: min(430px, 78vw) !important;
  max-width: 430px !important;
  height: auto !important;
  margin: 0 auto !important;
  transform: none !important;
}

body.login-page .login-clean-form {
  width: min(720px, 94vw) !important;
  margin: 0 auto !important;
  gap: 18px !important;
}

body.login-page .login-new-to-intport-top {
  position: fixed !important;
  top: 24px !important;
  right: 28px !important;
  z-index: 100 !important;
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #0647b8 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.login-page .login-new-to-intport-top::before,
body.login-page .login-new-to-intport-top::after {
  display: none !important;
  content: none !important;
}

body.login-page .login-new-to-intport-top:hover {
  text-decoration: underline !important;
}

body.login-page .login-password-field .login-forgot-password-link {
  display: block !important;
  margin-top: 4px !important;
  padding: 0 !important;
  text-align: right !important;
  color: #0647b8 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.login-page .login-password-field .login-forgot-password-link:hover {
  text-decoration: underline !important;
}

/* Keep the editor panel hidden even if an old cached script tries to inject it. */
#layoutEditorPanel {
  display: none !important;
}

@media (max-width: 720px) {
  body.login-page main.simple-google-shell.simple-form-shell {
    padding-top: 72px !important;
    justify-content: flex-start !important;
  }

  body.login-page img.simple-logo {
    width: min(330px, 82vw) !important;
  }

  body.login-page .login-new-to-intport-top {
    top: 18px !important;
    right: 18px !important;
  }
}


/* Global minimum readable text size */
html, body { font-size: 12px; }
input, select, textarea, button { font-size: 12px; }
