/* =====================================================
   SA FIRE WATCH
   COMPLIANCE AUDIT CHECKLIST
   Version 1.0.0
===================================================== */

:root {
  --safw-checklist-red: var(--sfw-red, #d51d28);
  --safw-checklist-green: var(--sfw-green, #087514);
  --safw-checklist-bright-green: var(--sfw-green-bright, #04fc3a);
  --safw-checklist-dark: var(--sfw-dark, #061406);
  --safw-checklist-blue: #0b2d6b;
  --safw-checklist-yellow: #ffc107;
  --safw-checklist-white: #ffffff;
  --safw-checklist-text: #111827;
  --safw-checklist-muted: #64748b;
  --safw-checklist-border: #d8dee6;

  /*
   * These values must match the actual public header height.
   * The progress panel remains fixed directly beneath it.
   */
  --safw-public-header-height: 94px;
  --safw-public-header-height-mobile: 94px;

  --safw-progress-height: 128px;
  --safw-progress-height-mobile: 96px;
}

/* =====================================================
   PAGE
===================================================== */

.safw-checklist-page {
  position: relative;
  width: 100%;
  min-height: 100vh;

  margin: 0;

  /*
   * Space is reserved for the fixed progress strip.
   * The public header sits outside this section.
   */
  padding:

    calc(
var(--safw-public-header-height)
var(--safw-progress-height) + 24px)
    0
    var(--sfw-section-lg, 90px);

  background: var(--safw-checklist-red);
  color: var(--safw-checklist-text);

  overflow: visible;
}

.safw-checklist-page > .container {
  position: relative;
  z-index: 1;
}

/* =====================================================
   FIXED PUBLIC HEADER + PROGRESS PANEL
===================================================== */

/*
 * Keep the public navigation above the progress panel.
 * This rule only reinforces the existing header behaviour.
 */
.sfw-header {
  position: fixed !important;
  top: 0;
  left: 0;

  width: 100%;

  z-index: 10000 !important;
}

/*
 * The progress panel stays visible throughout the long form.
 * It sits immediately below the fixed public navigation.
 */
.safw-progress-panel {
  position: fixed !important;

  top: var(--safw-public-header-height) !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 9990 !important;

  width: 100%;
  min-height: var(--safw-progress-height);

  display: grid;
  grid-template-columns:
    minmax(150px, 190px)
    minmax(260px, 1fr)
    minmax(150px, 190px);

  align-items: center;
  gap: clamp(24px, 4vw, 60px);

  padding:
    24px
    clamp(32px, 5vw, 70px);

  background: var(--safw-checklist-dark);
  color: var(--safw-checklist-white);

  border-bottom: 6px solid var(--safw-checklist-red);

  box-shadow:
    0 12px 32px rgba(0, 0, 0, .38);

  isolation: isolate;
}

.safw-progress-score {
  margin: 0;

  color: var(--safw-checklist-bright-green);

  font-size: clamp(42px, 4vw, 58px);
  font-weight: 900;
  line-height: .9;
}

.safw-progress-text {
  margin-top: 12px;

  color: rgba(255, 255, 255, .78);

  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;

  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.safw-progress-bar {
  position: relative;

  width: 100%;
  height: 18px;

  overflow: hidden;

  background: rgba(255, 255, 255, .18);
  border-radius: 999px;

  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, .28);
}

.safw-progress-fill {
  width: 0;
  height: 100%;

  background: linear-gradient(
    90deg,
    var(--safw-checklist-bright-green) 0%,
    #9ce800 55%,
    var(--safw-checklist-yellow) 100%
  );

  border-radius: inherit;

  transition:
    width .35s ease,
    background .3s ease;

  box-shadow:
    0 0 16px rgba(4, 252, 58, .42);
}

.safw-progress-status {
  color: var(--safw-checklist-yellow);

  font-size: clamp(17px, 1.8vw, 24px);
  font-weight: 900;
  line-height: 1.15;

  text-align: right;
  text-transform: uppercase;
}

/*
 * When the browser focuses a field or jumps to a validation error,
 * leave enough space above it for both fixed bars.
 */
.safw-section-card,
.safw-checklist-body input,
.safw-checklist-body select,
.safw-checklist-body textarea {
  scroll-margin-top:
    calc(
      var(--safw-public-header-height)
      + var(--safw-progress-height)
      + 20px
    );
}

/* =====================================================
   MAIN CHECKLIST CARD
===================================================== */

.safw-checklist-card {
  position: relative;

  width: 100%;

  overflow: visible;

  background: var(--safw-checklist-white);

  border: 0;
  border-radius: var(--sfw-radius-xl, 26px);

  box-shadow:
    0 30px 80px rgba(0, 0, 0, .34);
}

/* =====================================================
   CHECKLIST HEADER
===================================================== */

.safw-checklist-header {
  position: relative;

  overflow: hidden;

  padding:
    clamp(42px, 5vw, 70px)
    clamp(24px, 5vw, 54px)
    clamp(38px, 4vw, 58px);

  background:
    linear-gradient(
      135deg,
      var(--safw-checklist-dark) 0%,
      var(--safw-checklist-blue) 100%
    );

  color: var(--safw-checklist-white);

  text-align: center;

  border-radius:
    var(--sfw-radius-xl, 26px)
    var(--sfw-radius-xl, 26px)
    0
    0;
}

.safw-checklist-header::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at top right,
      rgba(255, 255, 255, .08),
      transparent 42%
    );

  pointer-events: none;
}

.safw-checklist-header > * {
  position: relative;
  z-index: 1;
}

.safw-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;

  padding: 0 26px;

  background: var(--safw-checklist-bright-green);
  color: var(--safw-checklist-dark);

  border-radius: 999px;

  font-size: 14px;
  font-weight: 900;
  line-height: 1;

  letter-spacing: 2px;
  text-transform: uppercase;
}

.safw-checklist-header h1 {
  max-width: 900px;

  margin:
    clamp(22px, 3vw, 34px)
    auto
    18px;

  color: var(--safw-checklist-white) !important;

  font-size: clamp(42px, 5vw, 70px);
  font-weight: 900;
  line-height: 1.02;

  letter-spacing: -1px;
  text-transform: uppercase;
}

.safw-checklist-header p {
  max-width: 880px;

  margin: 0 auto;

  color: rgba(255, 255, 255, .90);

  font-size: clamp(16px, 1.6vw, 21px);
  line-height: 1.55;
}

/* =====================================================
   CHECKLIST BODY
===================================================== */

.safw-checklist-body {
  position: relative;

  padding:
    clamp(28px, 4vw, 48px);

  overflow: visible;

  background: var(--safw-checklist-white);

  border-radius:
    0
    0
    var(--sfw-radius-xl, 26px)
    var(--sfw-radius-xl, 26px);
}

.safw-checklist-body .form-label {
  display: block;

  margin-bottom: 9px;

  color: var(--safw-checklist-text);

  font-size: 15px;
  font-weight: 800;
}

/* =====================================================
   FORM INPUTS
===================================================== */

.safw-checklist-page input,
.safw-checklist-page select,
.safw-checklist-page textarea {
  color: var(--safw-checklist-text) !important;
  background: var(--safw-checklist-white) !important;
}

.safw-input,
.safw-note {
  width: 100%;

  border: 1px solid var(--safw-checklist-border);
  border-radius: 14px;

  color: var(--safw-checklist-text) !important;
  background: var(--safw-checklist-white) !important;

  font-size: 15px;
  line-height: 1.45;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.safw-input {
  min-height: 56px;
  padding: 12px 16px;
}

select.safw-input {
  padding-right: 38px;

  cursor: pointer;
}

.safw-note {
  min-height: 92px;
  padding: 13px 15px;

  resize: vertical;
}

.safw-input::placeholder,
.safw-note::placeholder {
  color: #758195 !important;
  opacity: 1;
}

.safw-input:hover,
.safw-note:hover {
  border-color: #aab4c2;
}

.safw-input:focus,
.safw-note:focus {
  border-color: var(--safw-checklist-bright-green);

  outline: 0;

  box-shadow:
    0 0 0 4px rgba(4, 252, 58, .15);
}

/* Browser validation */

.safw-checklist-page input:invalid:not(:placeholder-shown),
.safw-checklist-page select:invalid:not(:focus) {
  border-color: #dc3545;
}

/* =====================================================
   VALIDATION MESSAGES
===================================================== */

.safw-checklist-body .alert {
  margin-bottom: 24px;

  border: 0;
  border-radius: 14px;

  font-weight: 700;
}

.safw-checklist-body .alert-danger {
  color: #842029;
  background: #f8d7da;

  border-left: 6px solid #dc3545;
}

/* =====================================================
   STATUS SUMMARY BOX
===================================================== */

.safw-summary-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 12px;

  padding: 20px 22px;

  background: #edf5ff;
  color: var(--safw-checklist-blue) !important;

  border: 1px solid #d6e4ff;
  border-left: 7px solid var(--safw-checklist-blue);
  border-radius: 16px;

  font-size: 15px;
  line-height: 1.5;
}

.safw-summary-box strong {
  font-weight: 900;
}

/* =====================================================
   SECTION CARDS
===================================================== */

.safw-section-card {
  position: relative;

  width: 100%;

  margin-bottom: 36px;

  overflow: hidden;

  background: var(--safw-checklist-white);

  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;

  box-shadow:
    0 15px 38px rgba(0, 0, 0, .13);
}

.safw-section-card:last-of-type {
  margin-bottom: 34px;
}

.safw-section-head {
  position: relative;

  padding:
    clamp(22px, 3vw, 30px)
    clamp(20px, 3vw, 30px);

  background: var(--safw-checklist-dark);
  color: var(--safw-checklist-white);
}

.safw-section-head::after {
  content: "";

  position: absolute;
  left: 0;
  bottom: 0;

  width: 100%;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      var(--safw-checklist-bright-green),
      transparent 70%
    );
}

.safw-section-head h3 {
  margin: 0 0 9px;

  color: var(--safw-checklist-white) !important;

  font-size: clamp(20px, 2vw, 27px);
  font-weight: 900;
  line-height: 1.2;
}

.safw-section-head p {
  max-width: 900px;

  margin: 0;

  color: rgba(255, 255, 255, .84);

  font-size: 14px;
  line-height: 1.55;
}

.safw-weight-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px;

  margin-top: 15px;
  padding: 0 14px;

  background: var(--safw-checklist-bright-green);
  color: var(--safw-checklist-dark) !important;

  border-radius: 999px;

  font-size: 12px;
  font-weight: 900;
}

/* =====================================================
   CHECKLIST TABLE
===================================================== */

.safw-section-card .table-responsive {
  width: 100%;

  overflow-x: auto;
  overflow-y: visible;

  -webkit-overflow-scrolling: touch;
}

.safw-table {
  width: 100%;
  min-width: 760px;

  margin: 0;

  border-collapse: separate;
  border-spacing: 0;

  table-layout: fixed;
}

.safw-table thead th {
  padding: 17px 16px;

  background: var(--safw-checklist-blue);
  color: var(--safw-checklist-white);

  border: 0;

  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;

  letter-spacing: .4px;
  text-transform: uppercase;
}

.safw-table thead th:first-child {
  width: 52%;
}

.safw-table thead th:nth-child(2) {
  width: 18%;
}

.safw-table thead th:nth-child(3) {
  width: 30%;
}

.safw-table tbody tr {
  background: var(--safw-checklist-white);

  transition: background .2s ease;
}

.safw-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.safw-table tbody tr:hover {
  background: #f0f7ff;
}

.safw-table tbody td {
  padding: 16px;

  color: var(--safw-checklist-text);

  border: 0;
  border-top: 1px solid #e6ebf1;

  font-size: 14px;
  line-height: 1.55;

  vertical-align: top;
  overflow-wrap: anywhere;
}

.safw-table tbody td:first-child {
  font-weight: 700;
}

/* =====================================================
   MANAGEMENT NOTES
===================================================== */

.safw-checklist-body > form > .mb-4 .safw-note {
  min-height: 150px;
}

/* =====================================================
   WARNING AND CONTACT BOXES
===================================================== */

.safw-warning-box {
  padding: 20px 22px;

  background: #fff3cd;
  color: #5f4400;

  border: 1px solid #ffe08a;
  border-left: 7px solid var(--safw-checklist-red);
  border-radius: 16px;

  font-size: 14px;
  line-height: 1.6;
}

.safw-warning-box strong {
  color: #5f1800;
}

.safw-contact-strip {
  padding: 20px 22px;

  background: var(--safw-checklist-dark);
  color: var(--safw-checklist-white) !important;

  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;

  font-size: 15px;
  line-height: 1.5;
}

.safw-contact-strip strong {
  color: var(--safw-checklist-bright-green);
}

/* =====================================================
   ACTION BUTTONS
===================================================== */

.safw-btn-primary,
.safw-btn-secondary,
.safw-btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 54px;

  padding: 0 30px;

  border-radius: 999px;

  font-size: 14px;
  font-weight: 900;
  line-height: 1;

  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    transform .25s ease,
    background .25s ease,
    color .25s ease,
    box-shadow .25s ease;
}

.safw-btn-primary {
  border: 2px solid var(--safw-checklist-dark);

  background: var(--safw-checklist-dark);
  color: var(--safw-checklist-white);
}

.safw-btn-primary:hover {
  background: var(--safw-checklist-bright-green);
  color: var(--safw-checklist-dark);

  border-color: var(--safw-checklist-bright-green);

  transform: translateY(-3px);

  box-shadow:
    0 12px 24px rgba(4, 252, 58, .22);
}

.safw-btn-secondary {
  border: 2px solid var(--safw-checklist-dark);

  background: var(--safw-checklist-white);
  color: var(--safw-checklist-dark);
}

.safw-btn-secondary:hover {
  background: var(--safw-checklist-dark);
  color: var(--safw-checklist-white);

  transform: translateY(-3px);
}

.safw-btn-success {
  border: 2px solid var(--safw-checklist-green);

  background: var(--safw-checklist-green);
  color: var(--safw-checklist-white);
}

.safw-btn-success:hover {
  background: var(--safw-checklist-bright-green);
  color: var(--safw-checklist-dark);

  border-color: var(--safw-checklist-bright-green);

  transform: translateY(-3px);
}

.safw-btn-primary:focus-visible,
.safw-btn-secondary:focus-visible,
.safw-btn-success:focus-visible {
  outline: 4px solid rgba(4, 252, 58, .30);
  outline-offset: 3px;
}

/* =====================================================
   DESKTOP HD
===================================================== */

@media (min-width: 1600px) {
  .safw-checklist-page .container {
    max-width: 1380px;
  }

  .safw-checklist-body {
    padding: 54px;
  }

  .safw-table tbody td {
    padding: 18px;
    font-size: 15px;
  }
}

/* =====================================================
   LAPTOP
===================================================== */

@media (max-width: 1366px) {
  :root {
    --safw-progress-height: 124px;
  }

  .safw-progress-panel {
    grid-template-columns:
      minmax(130px, 170px)
      minmax(240px, 1fr)
      minmax(130px, 170px);

    gap: 30px;
    padding-inline: 46px;
  }

  .safw-progress-score {
    font-size: 50px;
  }
}

/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {
  :root {
    --safw-progress-height: 118px;
  }

  .safw-checklist-page {
    padding-top:
      calc(
var(--safw-public-header-height)
var(--safw-progress-height) + 20px);
  }

  .safw-progress-panel {
    grid-template-columns:
      112px
      minmax(0, 1fr)
      120px;

    gap: 20px;
    padding: 20px 26px;
  }

  .safw-progress-score {
    font-size: 42px;
  }

  .safw-progress-text {
    margin-top: 9px;
    font-size: 11px;
  }

  .safw-progress-status {
    font-size: 16px;
  }

  .safw-progress-bar {
    height: 14px;
  }

  .safw-checklist-header h1 {
    font-size: clamp(38px, 7vw, 54px);
  }

  .safw-checklist-body {
    padding: 34px 28px;
  }
}

/* =====================================================
   SMALL TABLET
===================================================== */

@media (max-width: 768px) {
  :root {
    --safw-progress-height-mobile: 96px;
  }

  .safw-checklist-page {
    padding:
      calc(

 var(--safw-public-header-height-mobile)
var(--safw-progress-height-mobile) + 14px)
      0
      56px;
  }

  .safw-checklist-page > .container {
    max-width: 100%;
    padding-inline: 18px;
  }

  .safw-progress-panel {
    top: var(--safw-public-header-height-mobile) !important;

    min-height: var(--safw-progress-height-mobile);

    grid-template-columns:
      64px
      minmax(0, 1fr)
      76px;

    gap: 10px;

    padding: 13px 12px;

    border-bottom-width: 4px;
  }

  .safw-progress-score {
    font-size: 30px;
  }

  .safw-progress-text {
    margin-top: 6px;

    font-size: 8px;
    line-height: 1.25;
    letter-spacing: .7px;
  }

  .safw-progress-bar {
    height: 10px;
  }

  .safw-progress-status {
    font-size: 9px;
    line-height: 1.2;
  }

  .safw-section-card,
  .safw-checklist-body input,
  .safw-checklist-body select,
  .safw-checklist-body textarea {
    scroll-margin-top:
      calc(
        var(--safw-public-header-height-mobile)
        + var(--safw-progress-height-mobile)
        + 14px
      );
  }

  .safw-checklist-card {
    border-radius: 20px;
  }

  .safw-checklist-header {
    padding: 42px 22px 34px;

    border-radius: 20px 20px 0 0;
  }

  .safw-badge {
    min-height: 42px;
    padding-inline: 20px;
    font-size: 12px;
  }

  .safw-checklist-header h1 {
    margin-top: 22px;

    font-size: clamp(34px, 8vw, 46px);
  }

  .safw-checklist-header p {
    font-size: 15px;
  }

  .safw-checklist-body {
    padding: 28px 22px;
  }

  .safw-section-card {
    margin-bottom: 28px;
    border-radius: 16px;
  }

  .safw-section-head {
    padding: 22px 20px;
  }

  .safw-section-head h3 {
    font-size: 21px;
  }

  .safw-table {
    min-width: 700px;
  }

  .safw-table thead th,
  .safw-table tbody td {
    padding: 13px;
  }

  .safw-btn-primary,
  .safw-btn-secondary,
  .safw-btn-success {
    min-height: 50px;
    padding-inline: 23px;
    font-size: 12px;
  }
}

/* =====================================================
   LARGE MOBILE
===================================================== */

@media (max-width: 430px) {
  :root {
    --safw-progress-height-mobile: 92px;
  }

  .safw-checklist-page {
    padding:
      calc(

var(--safw-public-header-height-mobile)
var(--safw-progress-height-mobile) + 12px)
      0
      44px;
  }

  .safw-checklist-page > .container {
    padding-inline: 10px;
  }

  .safw-progress-panel {
    grid-template-columns:
      62px
      minmax(0, 1fr)
      74px;

    gap: 9px;

    padding: 12px 10px;
  }

  .safw-progress-score {
    font-size: 29px;
  }

  .safw-progress-text {
    margin-top: 5px;

    font-size: 7.5px;
    line-height: 1.25;
    letter-spacing: .6px;
  }

  .safw-progress-status {
    font-size: 8.5px;
    line-height: 1.2;
  }

  .safw-progress-bar {
    height: 9px;
  }

  .safw-checklist-card {
    border-radius: 16px;

    box-shadow:
      0 18px 42px rgba(0, 0, 0, .26);
  }

  .safw-checklist-header {
    padding: 34px 16px 28px;

    border-radius: 16px 16px 0 0;
  }

  .safw-badge {
    min-height: 36px;
    padding-inline: 16px;

    font-size: 10px;
    letter-spacing: 1.3px;
  }

  .safw-checklist-header h1 {
    margin: 18px 0 14px;

    font-size: 30px;
    line-height: 1.04;
    letter-spacing: -.5px;
  }

  .safw-checklist-header p {
    font-size: 13px;
    line-height: 1.5;
  }

  .safw-checklist-body {
    padding: 22px 14px;
  }

  .safw-checklist-body .form-label {
    font-size: 13px;
  }

  .safw-input {
    min-height: 50px;
    padding: 10px 13px;

    font-size: 13px;
  }

  .safw-note {
    min-height: 86px;

    padding: 11px 12px;

    font-size: 13px;
  }

  .safw-summary-box {
    padding: 15px;

    font-size: 12px;
  }

  .safw-section-card {
    margin-bottom: 24px;
    border-radius: 14px;
  }

  .safw-section-head {
    padding: 18px 15px;
  }

  .safw-section-head h3 {
    font-size: 18px;
  }

  .safw-section-head p {
    font-size: 12px;
  }

  .safw-weight-badge {
    min-height: 30px;
    margin-top: 12px;

    font-size: 10px;
  }

  .safw-section-card .table-responsive {
    border-radius: 0 0 14px 14px;
  }

  .safw-table {
    min-width: 650px;
  }

  .safw-table thead th {
    padding: 11px 10px;
    font-size: 10px;
  }

  .safw-table tbody td {
    padding: 11px 10px;
    font-size: 11px;
  }

  .safw-table .safw-input {
    min-height: 44px;
    font-size: 11px;
  }

  .safw-table .safw-note {
    min-height: 74px;
    font-size: 11px;
  }

  .safw-warning-box,
  .safw-contact-strip {
    padding: 15px;

    font-size: 12px;
  }

  .safw-checklist-body .d-flex.gap-3 {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px !important;
  }

  .safw-btn-primary,
  .safw-btn-secondary,
  .safw-btn-success {
    width: 100%;
    min-height: 48px;

    padding: 0 15px;

    font-size: 11px;
  }
}

/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 375px) {
  .safw-progress-panel {
    grid-template-columns:
      58px
      minmax(0, 1fr)
      68px;

    gap: 7px;

    padding-inline: 9px;
  }

  .safw-progress-score {
    font-size: 27px;
  }

  .safw-progress-status {
    font-size: 8px;
  }

  .safw-checklist-header h1 {
    font-size: 27px;
  }

  .safw-checklist-header p {
    font-size: 12px;
  }

  .safw-checklist-body {
    padding-inline: 12px;
  }
}

/* =====================================================
   VERY SMALL DEVICES
===================================================== */

@media (max-width: 320px) {
  :root {
    --safw-progress-height-mobile: 88px;
  }

  .safw-progress-panel {
    grid-template-columns:
      54px
      minmax(0, 1fr)
      60px;

    gap: 6px;

    padding-inline: 7px;
  }

  .safw-progress-score {
    font-size: 25px;
  }

  .safw-progress-text,
  .safw-progress-status {
    font-size: 7px;
  }

  .safw-checklist-header h1 {
    font-size: 24px;
  }

  .safw-checklist-body {
    padding-inline: 10px;
  }
}

/* =====================================================
   PRINT / SAVE AS PDF
===================================================== */

@media print {
  @page {
    size: A4 portrait;
    margin: 14mm;
  }

  html,
  body {
    overflow: visible !important;

    background: #ffffff !important;
    color: #000000 !important;
  }

  .sfw-header,
  .sfw-nav,
  .safw-progress-panel,
  .safw-contact-strip,
  .safw-warning-box,
  .safw-checklist-body .d-flex.gap-3,
  .sfw-print-watermark {
    display: none !important;
  }

  .safw-checklist-page {
    min-height: auto;

    padding: 0 !important;
    margin: 0 !important;

    background: #ffffff !important;
  }

  .safw-checklist-page > .container,
  .safw-checklist-page .row,
  .safw-checklist-page [class*="col-"] {
    width: 100% !important;
    max-width: none !important;

    padding: 0 !important;
    margin: 0 !important;
  }

  .safw-checklist-card {
    width: 100%;

    border: 0;
    border-radius: 0;

    box-shadow: none;
  }

  .safw-checklist-header {
    padding: 18px;

    background: #ffffff !important;
    color: #000000 !important;

    border: 2px solid #0b2d6b;
    border-radius: 0;
  }

  .safw-badge {
    min-height: auto;

    padding: 5px 10px;

    background: #ffffff !important;
    color: #000000 !important;

    border: 1px solid #000000;
  }

  .safw-checklist-header h1 {
    margin: 10px 0;

    color: #0b2d6b !important;

    font-size: 25px;
  }

  .safw-checklist-header p {
    color: #333333 !important;

    font-size: 11px;
  }

  .safw-checklist-body {
    padding: 12px 0 0;

    background: #ffffff !important;
  }

  .safw-summary-box {
    padding: 10px;

    background: #ffffff !important;
    color: #000000 !important;

    border: 1px solid #777777;
    border-radius: 0;
  }

  .safw-section-card {
    margin: 0 0 14px;

    overflow: visible;

    border: 1px solid #555555;
    border-radius: 0;

    box-shadow: none;

    break-inside: auto;
    page-break-inside: auto;
  }

  .safw-section-head {
    padding: 10px 12px;

    background: #0b2d6b !important;
    color: #ffffff !important;

    break-after: avoid;
    page-break-after: avoid;
  }

  .safw-section-head h3 {
    font-size: 15px;
  }

  .safw-section-head p {
    font-size: 9px;
  }

  .safw-weight-badge {
    min-height: auto;

    padding: 3px 7px;

    background: #ffffff !important;
    color: #000000 !important;

    border-radius: 0;

    font-size: 8px;
  }

  .safw-section-card .table-responsive {
    overflow: visible !important;
  }

  .safw-table {
    min-width: 0 !important;

    table-layout: fixed;

    font-size: 8px;
  }

  .safw-table thead {
    display: table-header-group;
  }

  .safw-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .safw-table thead th,
  .safw-table tbody td {
    padding: 5px;

    border: 1px solid #999999 !important;

    color: #000000 !important;

    font-size: 8px;
  }

  .safw-table thead th {
    background: #e7edf7 !important;
  }

  .safw-input,
  .safw-note {
    min-height: auto !important;

    padding: 3px !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    font-size: 8px !important;
  }

  select.safw-input {
    appearance: none;
    -webkit-appearance: none;
  }

  .safw-checklist-body > form > .mb-4 {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}