/*=============================================
ENQUIRY MODAL AND PHOTOS
=============================================*/
.modal-xxl-custom {
  width: 75%;
  max-width: 75%;
}

.enquiry-image-panel {
  max-height: 75vh;
  overflow-y: auto;
  text-align: center;
  padding: 15px;
}

.enquiry-photo {
  width: 350px;
  max-width: 95%;
  height: auto;
  margin: 0 auto 20px auto;
  display: block;
  border: 1px solid #ddd;
  border-radius: 6px;
}

#aiQuoteResult.saving::after {
  content: "Saving...";
  position: absolute;
  bottom: 8px;
  right: 10px;
  font-size: 12px;
  color: #888;
}

/*=============================================
BEFORE AND AFTER REPAIR VIEWER
=============================================*/
.carousel-inner:only-child + .carousel-control {
  display: none;
}

/* Full-screen repair viewer */
.repair-photo-zoom {
  display: none;
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 25px 15px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.8);
  color: #333;
  text-align: left;
}

.repair-editor {
  max-width: 1400px;
  margin: 0 auto;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.repair-editor-header {
  padding: 18px 20px;
  border-bottom: 1px solid #ddd;
}

.repair-editor-header h4 {
  margin: 0;
  line-height: 26px;
  font-weight: 600;
}

.closeRepairZoom {
  float: right;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 28px;
  line-height: 26px;
  cursor: pointer;
}

/* Before and after photos */
.repair-editor-photos {
  padding: 20px 20px 0;
  background: #f5f5f5;
}

.repair-photo-card {
  margin-bottom: 20px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
}

.repair-photo-card h5 {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
}

.repair-photo-stage {
  position: relative;
  height: 55vh;
  min-height: 350px;
  margin-bottom: 12px;
  background: #f7f7f7;
}

.repair-photo-stage img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
  border: 3px solid transparent;
  border-radius: 3px;
  transition: border-color 0.15s ease;
}

.repair-photo-stage img.selected-repair-photo {
  border-color: #00a65a;
}

/*=============================================
REPAIR PHOTO EDITOR — SCOPED CROP PREVIEW AND CONTROLS
=============================================*/
.repair-photo-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.repair-photo-heading h5 {
  margin: 0;
}

.repair-image-editor {
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
}

.repair-image-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 8px;
}

.repair-image-toolbar strong {
  align-self: center;
}

.repair-image-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-size: 12px;
}

.repair-image-toolbar .form-control {
  width: auto;
  height: 30px;
  padding: 4px 8px;
  font-size: 12px;
}

.repair-image-toolbar-buttons,
.repair-image-toolbar-actions,
.repair-photo-actions {
  display: flex;
  gap: 5px;
}

.repair-image-toolbar-actions {
  margin-left: auto;
}

.repair-image-zoom {
  flex: 1;
  min-width: 120px;
}

.repair-image-zoom input[type="range"] {
  width: 100%;
  height: 30px;
  margin: 0;
}

#repairImageDimensions {
  margin: 0 0 4px;
  font-size: 12px;
}

#repairImageMessage {
  margin: 8px 0 0;
}

#repairImageMessage:empty {
  display: none;
}

.repair-image-viewport {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f7f7f7;
  pointer-events: none;
}

.repair-photo-card.has-image-preview .repair-photo-stage > img,
.repair-photo-card.has-image-preview .repair-photo-arrow {
  visibility: hidden;
}

.repair-photo-card.is-editing .repair-image-viewport {
  pointer-events: auto;
}

.has-image-editor .selectBeforePhoto,
.has-image-editor .selectAfterPhoto {
  display: none;
}

.repair-image-frame {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  line-height: 0;
}

.repair-photo-card.is-editing .repair-image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: linear-gradient(to right, transparent 33.1%, rgba(255,255,255,.5) 33.3%, transparent 33.5%, transparent 66.4%, rgba(255,255,255,.5) 66.6%, transparent 66.8%),
  linear-gradient(to bottom, transparent 33.1%, rgba(255,255,255,.5) 33.3%, transparent 33.5%, transparent 66.4%, rgba(255,255,255,.5) 66.6%, transparent 66.8%);
}

.repair-image-canvas {
  display: block;
  max-width: 100%;
  touch-action: none;
  cursor: grab;
}

.repair-image-canvas:active {
  cursor: grabbing;
}

/* Photo navigation */
.repair-photo-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 34px;
  height: 42px;
  margin-top: -21px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 28px;
  line-height: 38px;
  cursor: pointer;
}

.repair-photo-arrow:hover {
  background: rgba(0, 0, 0, 0.75);
}

.repair-photo-arrow-left {
  left: 8px;
}

.repair-photo-arrow-right {
  right: 8px;
}

/* Previous and next item */
.repair-editor-navigation {
  padding: 12px 20px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #fafafa;
}

#zoomItemPosition {
  display: inline-block;
  padding-top: 7px;
  color: #777;
}

/* Input fields */
.repair-editor-

/*=============================================
SHARED TYPOGRAPHY
=============================================*/
body {
  padding: 20px;
}

.repair-section-title {
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
  font-size: 15px;
  font-weight: 600;
}

.repair-section-title-spaced {
  margin-top: 10px;
}

.repair-editor .form-group {
  margin-bottom: 16px;
}

.repair-editor .control-label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
}

.repair-editor .form-control {
  height: 36px;
  border-radius: 4px;
  font-size: 14px;
}

.repair-editor textarea.form-control {
  height: auto;
  min-height: 90px;
  resize: vertical;
}

#repairServiceTagSearch {
  position: relative;
}

.repair-tag-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 8px 0;
}

.repair-tag-filters .btn.active {
  background: #6b1f32;
  border-color: #6b1f32;
  color: #fff;
  box-shadow: none;
}

#repairServiceTagSearch .ui-autocomplete {
  max-height: 180px;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 100002;
}

#repairServiceTagSearch .ui-autocomplete > .repair-tag-category {
  padding: 6px 12px;
  background: #f5f1f2;
  color: #6b1f32;
  font-size: 12px;
  font-weight: 600;
}

.repair-editor #repairServiceTagSearch .input-group-btn button {
  height: 36px;
  font-size: 14px;
  line-height: 1.42857143;
}

.repair-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0;
  padding: 0;
  list-style: none;
}

.repair-service-tags button {
  padding: 5px 10px;
  border: 0;
  border-radius: 20px;
  background: #6b1f32;
  color: #fff;
}

.repair-service-tags button:focus {
  outline: 2px solid #333;
  outline-offset: 2px;
}

.repair-service-tags button:disabled {
  opacity: 0.6;
}

/* Save footer */
.repair-editor-footer {
  padding: 15px 20px;
  border-top: 1px solid #ddd;
  background: #fafafa;
}

.repair-editor-footer .checkbox {
  margin: 7px 0;
}

/* Table image zoom cursor */
.zoom-repair-photo {
  cursor: zoom-in;
}

/* Other existing zoom controls */
.zoomNav {
  position: absolute;
  top: 50%;
  z-index: 100000;
  width: 65px;
  height: 90px;
  border: 0;
  color: white;
  background: rgba(255, 255, 255, 0.2);
  font-size: 70px;
  cursor: pointer;
  transform: translateY(-50%);
}

.zoomPrev {
  left: 20px;
}

.zoomNext {
  right: 20px;
}

.zoomNav:hover {
  background: rgba(255, 255, 255, 0.35);
}

/*=============================================
REPAIR EXAMPLES TABLE
=============================================*/
.repairExamplesTable tbody tr {
  height: auto !important;
  min-height: 520px !important;
}

.repairExamplesTable tbody td {
  height: auto !important;
  padding: 35px !important;
  vertical-align: middle !important;
}

.repairExamplesTable img.repair-example-img {
  display: block;
  width: 480px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto;
  object-fit: contain !important;
}

.repairExamplesTable td:nth-child(2),
.repairExamplesTable td:nth-child(3),
.repairExamplesTable td:nth-child(4) {
  color: #555;
}

.repairExamplesTable .repair-example-carousel {
  width: 480px !important;
  max-width: 480px !important;
  margin: 0 auto;
}

.repairExamplesTable .repair-example-carousel .carousel-inner,
.repairExamplesTable .repair-example-carousel .item {
  width: 480px !important;
  max-width: 100% !important;
}

.repairExamplesTable .repair-example-carousel img.repair-example-img {
  display: block;
  width: 480px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  object-fit: contain !important;
}

/*=============================================
ENQUIRY ASSESSMENT
=============================================*/
.assessment-panel {
  max-height: 75vh;
  overflow-y: auto;
  padding: 15px;
  font-size: 15px;
  line-height: normal;
}

#modalShowEnquiry .modal-dialog {
  width: calc(100% - 48px);
  max-width: 1640px;
  margin: 24px auto;
}

#modalShowEnquiry .enquiry-assessment-layout {
  display: flex;
  align-items: flex-start;
}

#modalShowEnquiry .enquiry-photos-column {
  width: 42%;
  min-width: 0;
}

#modalShowEnquiry .assessment-panel {
  width: 58%;
  min-width: 0;
  overflow-wrap: anywhere;
}

#modalShowEnquiry .enquiry-action-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  margin-bottom: 12px;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
}

#modalShowEnquiry .enquiry-action-row > .btn {
  flex: 0 0 auto;
  min-height: 36px;
  white-space: nowrap;
}

#modalShowEnquiry .enquiry-service-row {
  gap: 4px;
}

#modalShowEnquiry .enquiry-service-row > strong {
  flex: 0 0 55px;
}

#modalShowEnquiry #aiQuoteResult {
  max-width: 100%;
  overflow-x: auto;
}

@media (min-width: 1200px) {
  #modalShowEnquiry .enquiry-photo {
    width: 100%;
    max-width: 100%;
  }

}

@media (max-width: 1199px) {
  #modalShowEnquiry .enquiry-assessment-layout {
    display: block;
  }

  #modalShowEnquiry .enquiry-photos-column,
  #modalShowEnquiry .assessment-panel {
    width: 100%;
  }

  #modalShowEnquiry .assessment-panel {
    max-height: none;
    overflow-y: visible;
  }

  #modalShowEnquiry .enquiry-image-panel {
    display: flex;
    gap: 12px;
    max-height: 30vh;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 0;
  }

  #modalShowEnquiry .enquiry-photo {
    flex: 0 0 auto;
    width: auto;
    max-height: calc(30vh - 16px);
    object-fit: contain;
    margin: 0;
  }

}

@media (max-width: 767px) {
  #modalShowEnquiry .modal-dialog {
    width: calc(100% - 16px);
    margin: 8px auto;
  }

  #modalShowEnquiry .modal-body {
    padding: 10px;
  }

  #modalShowEnquiry .assessment-panel {
    padding: 12px 15px;
  }

}

/*=============================================
ITEM PHOTO GALLERY
=============================================*/
.gallery-block h5 {
  margin: 25px 0;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.gallery-grid img,
.gallery-grid img.gallery-img {
  width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: transform 0.2s ease;
}

.gallery-grid img:hover {
  transform: scale(1.05);
}

.gallery-grid img.gallery-img:hover {
  transform: scale(1.08);
}

.upload-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 220px;
  border: 2px dashed #ccc;
  border-radius: 10px;
  color: #999;
  font-size: 40px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.upload-tile:hover {
  color: #333;
  background: #f8f8f8;
}

.upload-tile input {
  display: none;
}

/*=============================================
PHOTO LIGHTBOX
=============================================*/
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.8);
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
}

.lightbox:target {
  display: flex;
}

/*=============================================
REPAIR VIEWER ON SMALL SCREENS
=============================================*/
@media (max-width: 767px) {
  .repair-photo-zoom {
    padding: 10px;
  }

  .repair-photo-stage {
    height: 45vh;
    min-height: 230px;
  }

  .repair-editor-footer .btn {
    width: 100%;
    margin-top: 12px;
  }

}

/*=============================================
SCAN RESULTS
=============================================*/
#qr-reader-results {
  margin: 50px 0;
  padding: 25px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background-color: #f9f9f9;
  font-size: 16px;
  line-height: 1.5;
  display: none;

  /* Initially hide the div */
}

#qr-reader-results .result-title {
  font-weight: bold;
  margin-bottom: 10px;
}

/*=============================================
BEFORE AND AFTER TABLE CELLS
=============================================*/
.beforeafterpageTable td {
  text-align: center;

  /* Center-aligns the text within the cells */
  vertical-align: middle;

  /* Vertically centers the content */
  padding: 50px !important;
}

/*=============================================
PAYMENT CONTROLS
=============================================*/
#launchSquareTerminalButton,
#confirmTransactionButton,
#createTicketButton {
  display: none;
}

#launchSquareTerminalButton {
  display: block;
}

.nav-stacked > li.active > a, .nav-stacked > li.active > a:hover {
  background: #367FB1 !important;
  border-radius: 10px;
  color: white;
}

#paymentTabs .nav-item.active a {
  background-color: #5bc0de;

  /* Set your desired background color here */
  color: #fff;

  /* Set the text color for better visibility */
}

.btnfullpay:focus, .btnhalfpay:focus {
  outline: none;

  /* Remove focus border */
}

.btnfullpay:active, .btnhalfpay:active, .btnfullpay.active, .btnhalfpay.active {
  border-color: #46b8da !important;
  background-color: #5bc0de !important;
  color: #fff;

  /* Set text color to white */
  outline: none !important;

  /* Remove outline */
}

/*=============================================
SHARED MODALS AND ITEM CONTROLS
=============================================*/
.modal-content {
  border-radius: 10px !important;
}

.itemelemnt {
  cursor: pointer;
  border-color: #d2d6de;
}

#DataTables_Table_9 > tbody tr {
  height: 100px !important;
}

#DataTables_Table_7 > tbody tr {
  height: 100px !important;
}

#DataTables_Table_8 > tbody tr {
  height: 100px !important;
}

/*=============================================
WORKFLOW TABS
=============================================*/
.task-tabs-ul {
  list-style: none;
  display: flex;
  justify-content: left;
  align-items: center;
  padding: 1em 0 .5em 0;

  /* top: 1em, others: 0 */
  gap: 1em;
}

.task-tabs-ul li {
  position: relative;
}

.task-tabs-a {
  display: block;
  padding: 6px 15px;
  background-color: #e6e6e6;
  color: #333;
  text-decoration: none;
  font-weight: 600;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  border-radius: 25px;
}

.task-tabs-a:hover {
  background-color: #dcdcdc;
}

.task-tabs-a.active,
.task-tabs-ul .ui-tabs-active > .task-tabs-a {
  background-color: #367FB1;
  color: white;
  border-color: #367FB1;
}

/* Arrow between steps */
.step-arrow {
  position: relative;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #bbb;
  border-right: 2px solid #bbb;
  transform: rotate(45deg);
  display: inline-block;
}

.task-tabs-a.expired-tab {
  background-color: #f8d7da;

  /* Light red background */
  color: #721c24;

  /* Dark red text */
  border: 1px solid #f5c6cb;
}

.task-tabs-a.expired-tab:hover {
  background-color: #f1b0b7;
}

/*=============================================
ORDER LINE COLOURS
=============================================*/

/* Services / Labour */
.newProductDescription {
  background: #EEF6FF !important;
}

/* Parts */
.newProductDescription[producttype="part"] {
  background: #EDF9F1 !important;
}

/* Products */
.newProductDescription[producttype="product"] {
  background: #FFF4E8 !important;
}

/*=============================================
READONLY FIELDS AND SEARCH ICONS
=============================================*/
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  background: #f2f2f2;
}

.fa-search {
  margin-right: 5px;
}

/*=============================================
NAVIGATION BADGES
=============================================*/
.task-link {
  position: relative;
  display: inline-block;
  padding-right: 28px;

  /* Give space for badge */
}

.quote-badge {
  position: absolute;
  top: 5px;
  right: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  font-size: 10px;
  background-color: #d73925;
  color: #fff;
  border-radius: 50%;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  padding: 0;
}

.postal-badge {
  position: absolute;
  top: 5px;
  right: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  font-size: 10px;
  background-color: #f39c12;
  color: #fff;
  border-radius: 50%;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  padding: 0;
}

/*=============================================
UPDATE TIMESTAMPS AND NOTICES
=============================================*/
.last-updated {
  font-size: 14px;
  margin-left: 5px;
  color: #999;
  margin-right: 5px;
}

.notice-banner {
  background-color: #f7f7f7;
  color: #333;
  font-size: 14px;
  padding: 15px 40px;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

/*=============================================
MESSAGE EDITORS
=============================================*/
.editablediv {
  width: 100%;
  height: 400px;
  border: 1px solid #d2d6de;
  padding: 5px;
  margin-bottom: 5px;
  overflow: auto;
}

.editsmstablediv {
  width: 100%;
  height: 70px;
  border: 1px solid #d2d6de;
  padding: 5px;
  margin-bottom: 5px;
}

body {
  font-family: proxima-nova, sans-serif !important;
}

/*=============================================
SHARED NAVIGATION
=============================================*/
.main-header .navbar-nav > li > a.nav-tracking {
  margin: 8px 0 8px 12px;
  padding: 7px 16px;
  border-radius: 4px;
  background: #008d4c !important;
  color: #fff !important;
  font-weight: normal;
}

.main-header .navbar-nav > li > a.nav-tracking:hover,
.main-header .navbar-nav > li > a.nav-tracking:focus {
  background: #00733e !important;
}

.main-header .enquiry-badge {
  background-color: #00a65a;
}

.main-header .ready-to-post-badge {
  background-color: #00a65a;
  width: auto;
  min-width: 16px;
  padding: 0 4px;
}

.main-header .due-tomorrow-badge {
  width: auto;
  min-width: 16px;
  padding: 0 4px;
}

.main-header .missed-calls-badge {
  background-color: #00a65a;
  width: auto;
  min-width: 16px;
  padding: 0 4px;
}

@media (max-width: 767px) {
  .main-header .navbar-nav > li > a.nav-tracking {
    margin: 8px 15px;
  }

}

/* Navbar styling */
.main-header .navbar {
  background: #367FB1 !important;
}

.modal-header {
  background: #367FB1 !important;
  color: #fff !important;
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
}

.modal-header .modal-title,
.modal-header .close {
  color: #fff !important;
}

.modal-header .close {
  opacity: 1;
  text-shadow: none;
}

.navbar-nav>li>a {
  color: #fcfcfc !important;
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
  background: #367FB1 !important;
}

.nav-tabs>li>a {
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
  color: #3a506b;
}

.navbar-nav>li>a:hover {
  background: rgba(0, 0, 0, .08) !important;
  transition: all .2s ease;
  -webkit-transition: all .2s ease;
}

.input-group-addon {
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
  color: #3a506b;
}

.box {
  border-top: 3px solid transparent;
  margin-bottom: 10px;
}

.content-wrapper {
  background: #f9f9f9;
}

.box.box-success {
  border-top-color: #367FB1;
}

/*=============================================
SWEETALERT DIALOGS
=============================================*/
.swal2-title {
  font-size: 1.9em !important;
  font-family: proxima-nova, sans-serif !important;
  font-weight: 600 !important;
}

.swal2-confirm {
  background-color: #367FB1 !important;
  border: 1px solid #326f8e !important;
  font-family: proxima-nova, sans-serif !important;
  font-size: 1em !important;
  padding-top: 12px !important
  padding-bottom: 12px !important
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.swal2-cancel {
  background-color: #dd4b39 !important;
  border: 1px solid #d73925 !important;
  font-family: proxima-nova, sans-serif !important;
  font-size: 1em !important;
  padding-top: 12px !important
  padding-bottom: 12px !important
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.swal2-popup .swal2-content {
  font-family: proxima-nova, sans-serif !important;
  font-size: 1.3em !important;
  font-weight: 500 !important;
  margin-top: 15px !important;
}

/* Order reasons use the same header, controls and footer as the editor modals. */
.swal2-popup.order-reasons-modal {
  width: 600px;
  max-width: calc(100vw - 30px);
  padding: 0 !important;
  border-radius: 10px;
  font-size: 14px;
}

.swal2-popup.order-reasons-modal .swal2-title {
  width: 100%;
  margin: 0;
  padding: 16px 20px;
  border-radius: 10px 10px 0 0;
  background: #367FB1;
  color: #fff;
  text-align: left;
  font-size: 18px !important;
}

.swal2-popup.order-reasons-modal .swal2-content {
  width: 100%;
  margin-top: 0 !important;
  padding: 20px;
  font-size: 14px !important;
  line-height: 1.4;
}

.order-reason-fields {
  text-align: left;
}

.order-reason-row {
  margin-bottom: 16px;
}

.order-reason-row:last-child {
  margin-bottom: 0;
}

.order-reason-row strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

.order-reason-row p {
  margin-bottom: 8px;
}

.order-reason-choice {
  height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 20px;
}

.order-reason-other {
  margin-top: 8px;
}

.swal2-popup.order-reasons-modal .swal2-buttonswrapper {
  width: 100%;
  margin: 0;
  padding: 15px 20px;
  border-top: 1px solid #f4f4f4;
  justify-content: flex-end;
  gap: 8px;
}

.swal2-popup.order-reasons-modal .swal2-confirm,
.swal2-popup.order-reasons-modal .swal2-cancel {
  margin: 0;
  padding: 8px 20px !important;
  font-size: 14px !important;
}

.swal2-popup.order-reasons-modal .swal2-cancel {
  background-color: #f4f4f4 !important;
  border-color: #ddd !important;
  color: #444 !important;
}

/*=============================================
CUSTOM ACTION BUTTONS
=============================================*/
.btn-primary-custom {
  background-color: #367FB1;
  border: 1px solid #326f8e;
  color: white !important;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  opacity: .9;
  font-size: .88em;
}

.btn-go-go {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  font-size: .88em;
  color: white !important;
  background-color: #00a65a;
  border-color: #038949;
}

.btn-danger-custom {
  background-color: #dd4b39;
  border: 1px solid #d73925;
  color: white !important;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  opacity: .9;
  font-size: .88em;
}

.btn-info-custom {
  background-color: #00c0ef;
  border: 1px solid #00acd6;
  color: white !important;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  opacity: .9;
  font-size: .88em;
}

.btn-default-custom {
  color: #444;
  background-color: #f4f4f4;
  border: 1px solid #ddd;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  opacity: .9;
  font-size: .88em;
}

/*=============================================
SHARED ORDER EDITOR
=============================================*/
#editSaleModal .edit-sale-frame {
  width: 100%;
  height: 80vh;
}

/* Modal action buttons */
.btn-modal-action {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #367FB1;
  border: 1px solid #326f8e;
  opacity: .95;
  font-size: .88em;
}

.btn-modal-action-grey {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  font-size: .90em;
  color: #444;
  background-color: #f4f4f4;
  border: 1px solid #ddd;
  font-size: .88em;
}

/*=============================================
QUOTE AND URGENCY BUTTONS
=============================================*/

/* Quote Toggle Button */
.btn-btn-quote {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #f39c12;
  border-color: 1px solid #e08e0b !important;
}

/* Urgent Toggle button */
.btn-btn-urgent {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #dd4b39 !important;
  border-color: 1px solid #d73925 !important;
}

.btn-grey {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: #444;
  background-color: #f4f4f4;
  border: 1px solid #ddd;
}

.btn-yellow {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #f39c12;
  border-color: 1px solid #e08e0b !important;
}

.btn-lblue {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  background-color: #00c0ef;
  border: 1px solid #00acd6;
  color: white !important;
}

.btn-red {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  background-color: #dd4b39;
  border: 1px solid #d73925;
  color: white !important;
}

.btn-pink {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  background-color: #ea3ff7;
  border: 1px solid #ea3ff7;
  color: white !important;
}

.btn-purple {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  background-color: #cea8bc;
  border: 1px solid #cea8bc;
  color: white !important;
}

.btn-green {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #00a65a;
  border-color: #038949;
}

.btn-bolt {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: #367FB1;
  border-color: 1px solid #326f8e;
  opacity: .95;
  font-size: .88em;
}

.btn-pink-sticky {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 0;
  font-size: .90em;
  color: white !important;
  background-color: pink;

  /* Less bright green color */
  border: 1px solid pink;
  opacity: .95;
  font-size: .88em;
  border-radius: 5px;
}

/*=============================================
CHECKBOX BUTTONS
=============================================*/

/* Checkbox styling */
.btn-warning-check {
  background: #f39c12 !important;
  color: white !important;
  border: #e08e0b !important;
}

.btn-sucess-check {
  background: #00a65a !important;
  color: white !important;
  border: #038949 !important;
}

/*=============================================
STANDARD BUTTONS AND LABELS
=============================================*/
.btn-primary {
  font-size: .95em;
}

.btn-default {
  font-size: .95em;
}

.btn-success {
  font-size: .95em;
}

.btn-light {
  font-size: .95em;
}

.btn-danger {
  background-color: #dd4b39;
}

label {
  font-size: .95em;
}

.labels {
  font-size: .95em;
}

/*=============================================
TABLES, TABS AND FORM TYPOGRAPHY
=============================================*/
table {
  font-size: .95em;
}

tbody tr {
  height: 60px
}

div.calendar-table > table > tbody > tr {
  height: 0px !important;
}

table.dataTable tbody td {
  vertical-align: middle;
}

.nav-tabs {
  border-bottom: none;
  position: relative;
  display: inline-block;
}

.badge {
  position: absolute;
  top: 2px;
  font-size: 5px;
  right: -1px;
  padding: 5px 8px;
  border-radius: 50%;
  background: #d73925;
  color: white;
}

.input-group-addon {
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
}

.form-control {
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
}

h1 {
  font-family: proxima-nova, sans-serif;
  font-size: 1.55em !important;
}

/* Modal Headings */
h4 {
  font-family: proxima-nova, sans-serif;
  font-size: 1.2em !important;
}

p {
  font-family: proxima-nova, sans-serif;
  font-size: .95em;
}

.navbar-nav>li>a:hover {
  background: transparent;
  color: white;
}

/*=============================================
NAVIGATION AND PAGE HEADING ADJUSTMENTS
=============================================*/
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
  background: transparent;
  color: white;
}

@media (max-width: 991px) {
  .content-header > .breadcrumb {
    margin-top: 20px;
  }

}

.content-header > h1 {
  margin-left: 10px;
  margin-top: 15px;
}

.skin-blue .sidebar-menu>li.active>a {
  border-left-color: transparent !important;
}

.btn {
  border-radius: 3px !important;
}

body {
  color: #555 !important;
}

/*=============================================
DDSLICK DROPDOWNS
=============================================*/
.dd-selected {
  padding: 2px !important;
}

.modal {
  overflow: auto !important;
}

.dd-image-right {
  margin-right: 20px !important;
}

.dd-selected-image, .dd-option-image {
  max-width: 40px !important;
}

.input-group-addon {
  min-width: 40px;
  // if you want width please write here //
  text-align: left;
}

/*=============================================
ITEM AUTOCOMPLETE
=============================================*/
.ui-autocomplete {
  position: absolute;
  width: 100% !important;
  z-index: 1000;
  cursor: default;
  padding: 0;
  margin-top: 2px;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #ccc;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.ui-autocomplete > li {
  padding: 3px 20px;
}

.ui-autocomplete > li.ui-state-focus {
  background-color: #DDD;
}

.ui-helper-hidden-accessible {
  display: none;
}

/*=============================================
ORDER COMMENT BUBBLES
=============================================*/
.commentsbubble {
  padding: 20px;
  background: #eeee;
  border-radius: 10px;
  margin-bottom: 10px;
}

/*=============================================
TRACKING - CENTRED LAYOUT AND BOOTSTRAP 3 WORKFLOW TABS
=============================================*/
#trackingpage .tracking-box {
  max-width: 1000px;
  margin: 20px auto;
  border-radius: 6px;
}

#trackingpage .tracking-workspace {
  max-width: 675px;
  margin: 0 auto;
}

#trackingpage .tracking-results {
  margin-top: 20px;
}

#trackingpage .tracking-main-tabs {
  display: flex;
  gap: 6px;
  max-width: 675px;
  margin: 0 auto;
  padding: 6px;
  border: 1px solid #e2e7ed;
  border-radius: 16px;
  background: #edf1f5;
}

#trackingpage .tracking-main-tabs-compact {
  max-width: 450px;
}

/* Bootstrap's clearfix spacers must not occupy flex/grid tab positions. */
#trackingpage .tracking-main-tabs::before,
#trackingpage .tracking-main-tabs::after,
#trackingpage .tracking-mode-tabs::before,
#trackingpage .tracking-mode-tabs::after {
  display: none;
}

#trackingpage .tracking-main-tabs > li {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  float: none;
  margin: 0;
}

#trackingpage .tracking-main-tabs > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 68px;
  padding: 16px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #526174;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

#trackingpage .tracking-mode-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 4px;
  max-width: 675px;
  margin: 0 auto 24px;
  padding: 5px;
  border: 1px solid #e7ecf1;
  border-radius: 12px;
  background: #f3f5f8;
}

#trackingpage .tracking-mode-tabs > li {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  float: none;
  margin: 0;
}

#trackingpage .tracking-mode-tabs > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 10px 8px;
  border-radius: 8px;
  background: transparent;
  color: #526174;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

#trackingpage .tracking-main-tabs > li > a[aria-pressed="false"]:hover,
#trackingpage .tracking-mode-tabs > li > a[aria-pressed="false"]:hover {
  background: #fff;
  color: #26374b;
  box-shadow: 0 1px 4px rgba(30,50,75,.08);
}

#trackingpage .tracking-main-tabs > li > a[aria-pressed="true"] {
  box-shadow: 0 3px 8px rgba(30,50,75,.16);
}

#trackingpage .tracking-mode-tabs > li > a[aria-pressed="true"] {
  box-shadow: 0 2px 5px rgba(30,50,75,.13);
}

#trackingpage .tracking-main-tabs > li > a:focus-visible,
#trackingpage .tracking-mode-tabs > li > a:focus-visible {
  outline: 2px solid #367fb1;
  outline-offset: 2px;
}

#trackingpage .tracking-main-tabs > li > a[aria-disabled="true"],
#trackingpage .tracking-mode-tabs > li > a[aria-disabled="true"] {
  opacity: .55;
  cursor: default;
}

#trackingpage #trackingJobMode[aria-pressed="true"] {
  background: #b37b16;
  color: #fff;
}

#trackingpage #trackingPostalMode[aria-pressed="true"] {
  background: #008b8b;
  color: #fff;
}

@media (max-width: 991px) {
  #trackingpage .tracking-mode-tabs {
    flex-wrap: nowrap;
    gap: 3px;
  }

  #trackingpage .tracking-mode-tabs > li > a {
    min-height: 60px;
    padding: 8px 3px;
    font-size: 12px;
    line-height: 16px;
  }

}

@media (max-width: 767px) {
  #trackingpage .tracking-main-tabs > li > a {
    min-height: 64px;
    padding: 12px 6px;
    font-size: 18px;
  }

}

/*=============================================
TRACKING - WORKER DESTINATION BUTTONS
=============================================*/
#trackingpage[data-worker-only="1"] .tracking-worker-panel {
  border: 1px solid #d2e2ee;
  border-radius: 8px;
  box-shadow: none;
}

#trackingpage[data-worker-only="1"] .tracking-worker-panel > .panel-heading {
  padding: 12px 16px;
  border-bottom: 1px solid #d2e2ee;
  border-radius: 8px 8px 0 0;
  background: #e8f0f7;
  color: #315a79;
}

#trackingpage[data-worker-only="1"] .tracking-worker-panel .panel-title {
  font-size: 18px;
  font-weight: 600;
}

#trackingpage[data-worker-only="1"] .tracking-worker-panel > .panel-body {
  padding: 16px;
}

#trackingpage[data-worker-only="1"] .tracking-worker-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#trackingpage #trackingWorkerFinished {
  min-height: 44px;
  padding: 10px 16px;
  font-size: 16px;
  touch-action: manipulation;
}

#trackingpage[data-worker-only="1"] .tracking-worker-buttons {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

#trackingpage[data-worker-only="1"] .tracking-worker-button {
  min-width: 0;
  gap: 8px;
  padding: 14px 12px;
}

#trackingpage[data-worker-only="1"] .tracking-worker-button .fa-check {
  flex-shrink: 0;
}

#trackingpage .tracking-destination-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

#trackingpage .tracking-destination-button,
#modaltrackingguide .tracking-guide-department-buttons > .tracking-destination-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

#trackingpage .tracking-destination-mode {
  justify-content: flex-start;
  min-height: 80px;
}

#trackingpage .tracking-destination-button .fa {
  flex-shrink: 0;
}

#trackingpage .tracking-destination-choice .fa-check {
  visibility: hidden;
}

#trackingpage .tracking-destination-button[aria-pressed="true"] {
  background: #2f7d43;
  border-color: #256635;
  color: #fff;
}

#trackingpage .tracking-destination-choice[aria-pressed="true"] .fa-check {
  visibility: visible;
}

#trackingpage .tracking-destination-choice[data-department="Shoe Repairs"],
#modaltrackingguide .tracking-guide-department-buttons > [data-department="Shoe Repairs"] {
  border-color: #e6a9c2;
  background: #fce4ec;
  color: #7a264b;
}

#trackingpage .tracking-destination-choice[data-department="Shoe Repairs"][aria-pressed="true"] {
  border-color: #9f245c;
  background: #c02e70;
  color: #fff;
}

#trackingpage .tracking-destination-choice[data-department="Alterations"],
#modaltrackingguide .tracking-guide-department-buttons > [data-department="Alterations"] {
  border-color: #edbd7b;
  background: #fff0dd;
  color: #80460b;
}

#trackingpage .tracking-destination-choice[data-department="Alterations"][aria-pressed="true"] {
  border-color: #984906;
  background: #b85b0a;
  color: #fff;
}

#trackingpage .tracking-destination-choice[data-department="Dyeing"],
#modaltrackingguide .tracking-guide-department-buttons > [data-department="Dyeing"] {
  border-color: #a1cbae;
  background: #e5f3e9;
  color: #27643c;
}

#trackingpage .tracking-destination-choice[data-department="Dyeing"][aria-pressed="true"] {
  border-color: #256635;
  background: #2f7d43;
  color: #fff;
}

#trackingpage .tracking-destination-button:focus-visible,
#modaltrackingguide .tracking-guide-department-buttons > .tracking-destination-button:focus-visible {
  outline: 2px solid #367fb1;
  outline-offset: 2px;
}

#trackingpage .tracking-destination-options {
  display: none;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #d2e2ee;
  border-radius: 8px;
  background: #f5f9fc;
}

#trackingpage .tracking-destination-options > p {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
}

#trackingpage .tracking-destination-options .tracking-destination-buttons {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

#trackingpage .tracking-destination-mode[data-destination-mode="shelf"][aria-pressed="true"],
#trackingpage .tracking-destination-shelves .tracking-destination-choice[data-department="ReadyShelf"][aria-pressed="true"] {
  border-color: #1d6042;
  background: #24734f;
  color: #fff;
}

#trackingpage .tracking-destination-mode[data-destination-mode="department"][aria-pressed="true"] {
  border-color: #d5b353;
  background: #f3cf67;
  color: #614600;
}

#trackingpage .tracking-destination-shelves .tracking-destination-choice[data-department="Waiting area"][aria-pressed="true"] {
  border-color: #d5b353;
  background: #f3cf67;
  color: #614600;
}

#trackingpage .tracking-destination-shelves .tracking-destination-choice[data-department="ReadyShelf"][aria-pressed="false"] {
  border-color: #9bcbb3;
  background: #e7f5ee;
  color: #1f6b47;
}

#trackingpage .tracking-destination-shelves .tracking-destination-choice[data-department="Waiting area"][aria-pressed="false"] {
  border-color: #e5c779;
  background: #fff4dc;
  color: #805b15;
}

.swal2-container.swal2-shown.tracking-worker-backdrop {
  background: rgba(0, 0, 0, .22);
}

.swal2-popup.tracking-worker-confirmation {
  min-width: min(540px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  border: 1px solid #e1e7ec;
  border-radius: 10px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .2);
  overflow-y: auto;
}

.swal2-popup.tracking-worker-confirmation .swal2-title {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding-right: 24px;
  font-size: 26px !important;
  line-height: 1.3;
  text-align: left;
}

.tracking-worker-confirmation-tick {
  width: 26px;
  height: 26px;
  margin-left: 8px;
  vertical-align: middle;
  overflow: visible;
  transform-origin: center;
  animation: tracking-worker-tick-pop .6s ease-out both;
}

.tracking-worker-confirmation-tick circle {
  fill: #2f7d43;
}

.tracking-worker-confirmation-tick path {
  fill: none;
  stroke: #fff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  animation: tracking-worker-tick-draw .35s ease-out .18s both;
}

@keyframes tracking-worker-tick-pop {
  0% { opacity: 0; transform: scale(.4); }
  60% { opacity: 1; transform: scale(1.18); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes tracking-worker-tick-draw {
  from { stroke-dashoffset: 24; }
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .tracking-worker-confirmation-tick,
  .tracking-worker-confirmation-tick path {
    animation: none;
  }

  .tracking-worker-confirmation-tick path {
    stroke-dashoffset: 0;
  }
}

.swal2-popup.tracking-worker-confirmation .swal2-content {
  width: 100%;
  max-width: 440px;
  margin: 18px auto 0 !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.45;
  text-align: left;
}

.tracking-worker-confirmation-details {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px 24px;
  margin: 0;
  overflow-wrap: anywhere;
}

.tracking-worker-confirmation-details > dt,
.tracking-worker-confirmation-details > dd {
  margin: 0;
  font-weight: 400;
}

.tracking-worker-confirmation-details b {
  font-weight: 700;
}

@media (max-width: 480px) {
  .swal2-popup.tracking-worker-confirmation .swal2-title {
    font-size: 22px !important;
  }

  .swal2-popup.tracking-worker-confirmation .swal2-content {
    font-size: 18px !important;
  }

  .tracking-worker-confirmation-details {
    gap: 8px 16px;
  }
}

@media (min-width: 768px) {
  #trackingpage[data-worker-only="1"] .tracking-box {
    max-width: 1120px;
    margin: 0 auto;
  }

  #trackingpage[data-worker-only="1"] .tracking-workspace {
    max-width: none;
  }

  #trackingpage[data-worker-only="1"] .tracking-worker-button,
  #trackingpage[data-worker-only="1"] .tracking-destination-button {
    min-height: 72px;
    font-size: 20px;
  }

  #trackingpage[data-worker-only="1"] .tracking-destination-mode {
    min-height: 84px;
  }

  #trackingpage[data-worker-only="1"] #trackingForm #trackingInput {
    height: 64px;
    font-size: 18px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #trackingpage[data-worker-only="1"] .tracking-destination-options .tracking-destination-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*=============================================
TRACKING - SHARED STAFF SCANNER SECTIONS AND ACTION SCREENS
Bootstrap panels keep item facts separate from the suggested action.
=============================================*/
#trackingpage #trackingSmartMode[aria-pressed="true"] {
  background: #367fb1;
  color: #fff;
}

#trackingpage[data-worker-only="0"] .tracking-scan-panel,
#trackingpage[data-worker-only="0"] #rapidPhotoPanel {
  box-shadow: none;
}

#trackingpage[data-worker-only="0"] .tracking-scan-panel {
  border: 0;
}

#trackingpage[data-worker-only="0"] #rapidPhotoPanel > .panel-heading {
  padding: 16px 18px;
  border-color: #e5e9ed;
  background: #eef3f7;
  color: #315a79;
}

#trackingpage[data-worker-only="0"] .panel-title {
  font-size: 16px;
  font-weight: 600;
}

#trackingpage[data-worker-only="0"] .tracking-scan-panel > .panel-body {
  padding: 18px;
}

#trackingpage[data-worker-only="0"] .tracking-scan {
  padding: 16px;
  border: 1px solid #d2e2ee;
  border-radius: 4px;
  background: #eef6fb;
}

#trackingpage #trackingOrderLookup {
  margin: 16px 0 0;
}

#trackingpage[data-worker-only="0"] .rapid-photo-type {
  min-width: 0;
  white-space: normal;
}

#trackingpage[data-worker-only="0"] #rapidPhotoTitle {
  margin: 0 0 10px;
  color: #263b4b;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.35;
}

#trackingpage[data-worker-only="0"] .tracking-result {
  padding: 18px;
  color: #304455;
  line-height: 1.6;
}

#trackingpage[data-worker-only="0"] .tracking-result .result-title {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d7e5d7;
  font-weight: 600;
}

/* Smart Track stays full screen through stages, photo review and completion. */
#modaltrackingguide {
  padding: 0 !important;
}

#modaltrackingguide .modal-dialog {
  width: 100%;
  height: 100%;
  margin: 0;
}

#modaltrackingguide .modal-content {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  border-radius: 0;
}

#modaltrackingguide #trackingGuide {
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}

#modaltrackingguide .modal-content,
.tracking-staff-action .modal-content {
  border-top: 3px solid #367fb1;
}

#modaltrackingguide .modal-header,
#modaltrackingguide .modal-body,
#modaltrackingorder.tracking-staff-action .modal-header,
#modaltrackingorder.tracking-staff-action .modal-body {
  padding: 20px 24px;
}

#modaltrackingguide .modal-header {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #3c8dbc;
  color: #fff;
}

#modaltrackingguide .modal-header::before,
#modaltrackingguide .modal-header::after {
  display: none;
}

#modaltrackingguide .modal-header .modal-title {
  flex-shrink: 0;
}

#modaltrackingguide .tracking-guide-header-user {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-left: auto;
}

#modaltrackingguide .tracking-guide-header-user .fa {
  flex-shrink: 0;
}

#modaltrackingguide #trackingGuideUser {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modaltrackingguide .modal-title,
.tracking-staff-action .modal-title {
  font-size: 20px;
  font-weight: 600;
}

#modaltrackingguide .close {
  order: 3;
  flex-shrink: 0;
  min-width: 36px;
  min-height: 36px;
  margin: -8px -8px -8px 0;
  color: #fff;
  opacity: 1;
}

#modaltrackingguide .modal-body,
#modaltrackingorder.tracking-staff-action .modal-body {
  background: #f7f9fb;
  color: #304455;
}

#modaltrackingguide .panel {
  margin-bottom: 16px;
  border-radius: 4px;
  box-shadow: none;
}

#modaltrackingguide .panel-heading,
#modaltrackingguide .panel-body {
  padding: 16px 18px;
}

#modaltrackingguide .tracking-guide-summary > .panel-heading {
  background: #fff;
}

#modaltrackingguide .tracking-guide-item {
  margin: 0 0 12px;
  color: #263b4b;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.35;
}

#modaltrackingguide .tracking-guide-order {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: #5d6c79;
  font-size: 15px;
}

#modaltrackingguide .tracking-guide-order-status {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 10px;
  border: 1px solid #e2e7ec;
  border-radius: 4px;
  background: #f4f6f8;
  color: #536472;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

#modaltrackingguide .label {
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.3;
  white-space: normal;
}

#modaltrackingguide .tracking-guide-section-title {
  display: block;
  margin: 0 0 10px;
  color: #617380;
  font-size: 13px;
  font-weight: 600;
}

#modaltrackingguide .tracking-guide-jobs {
  margin: 16px 0 0;
}

#modaltrackingguide .tracking-guide-jobs li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid #edf0f3;
  font-size: 16px;
}

#modaltrackingguide .tracking-guide-jobs li:first-child {
  padding-top: 0;
}

#modaltrackingguide .tracking-guide-jobs li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

#modaltrackingguide .tracking-guide-service {
  min-width: 0;
}

#modaltrackingguide .tracking-guide-service small {
  display: block;
  margin-top: 5px;
  font-size: 13px;
}

#modaltrackingguide .tracking-guide-jobs .label {
  flex-shrink: 0;
  max-width: 105px;
  text-align: center;
}

#modaltrackingguide .tracking-guide-location {
  border-left: 4px solid #3c8dbc;
  background: #eef6fb;
}

/* Keep location with the order summary, ahead of its services. */
#modaltrackingguide .tracking-guide-summary .tracking-guide-location {
  margin: 12px 0 0;
}

#modaltrackingguide .tracking-guide-location .panel-body {
  padding: 10px 12px;
  text-align: left;
}

#modaltrackingguide .tracking-guide-location-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

#modaltrackingguide .tracking-guide-location .fa {
  color: #367fb1;
  font-size: 14px;
}

#modaltrackingguide .tracking-guide-location .tracking-guide-section-title {
  margin: 0;
  font-size: 12px;
}

#modaltrackingguide #trackingGuideDepartmentNote {
  margin: 6px 0 0;
  font-size: 12px;
}

#modaltrackingguide #trackingGuideLocation {
  display: block;
  color: #245474;
  font-size: 18px;
  line-height: 1.35;
}

#modaltrackingguide .tracking-guide-item-location {
  margin: 0;
}

#modaltrackingguide .tracking-guide-item-location .tracking-guide-actions {
  margin-top: 10px;
}

#modaltrackingguide .tracking-guide-step {
  border-color: #d2e2ee;
  background: #fff;
}

#modaltrackingguide .tracking-guide-step > .panel-heading {
  padding-top: 10px;
  padding-bottom: 10px;
  border-color: #d2e2ee;
  background: #e8f0f7;
  color: #315a79;
  font-weight: 600;
}

#modaltrackingguide .tracking-guide-step h3 {
  margin: 0 0 10px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

#modaltrackingguide .tracking-guide-step h3 > .fa {
  margin-right: 6px;
  color: #367fb1;
}

#modaltrackingguide #trackingGuideMessage {
  margin: 0;
  color: #5d6c79;
  font-size: 15px;
  line-height: 1.6;
}

#modaltrackingguide #trackingGuideLocationChoice {
  margin: 18px 0 0;
}

#modaltrackingguide #trackingGuideStorageChoice {
  margin: 18px 0 0;
}

#modaltrackingguide .tracking-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

#modaltrackingguide .tracking-guide-actions .btn {
  flex: 1 1 180px;
}

#modaltrackingguide #trackingGuideRepairReadyShelfAction {
  margin-top: 28px;
  flex-direction: column;
}

#modaltrackingguide #trackingGuideRepairReadyShelfAction > .btn {
  flex: none;
}

/* SMART TRACK — PRIMARY PROGRESS ACTION AND SEPARATE ALTERNATIVES */
#modaltrackingguide .tracking-guide-alternatives > .panel-heading {
  background: #f5f7f9;
  color: #617380;
}

#modaltrackingguide .tracking-guide-alternatives .panel-title {
  font-size: 14px;
  font-weight: 600;
}

#modaltrackingguide .tracking-guide-alternatives .tracking-guide-actions {
  margin-top: 10px;
}

#modaltrackingguide .panel-body > .tracking-guide-actions:first-child,
#modaltrackingguide .tracking-guide-alternatives .tracking-guide-actions:first-child {
  margin-top: 0;
}

#modaltrackingguide .tracking-guide-decline {
  margin: 18px 0 0;
  border-color: #e5c6c6;
}

#modaltrackingguide #trackingGuideBeforePhotos {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 20px;
}

#modaltrackingguide #trackingGuideDeclineItem {
  flex: 0 1 auto;
  border-color: #e5c6c6;
  color: #b94a48;
}

#modaltrackingguide .tracking-guide-decline-actions {
  flex-direction: column;
  gap: 12px;
}

#modaltrackingguide .tracking-guide-decline-actions .btn {
  flex: none;
}

#modaltrackingguide #trackingGuideReturnNotice {
  margin-top: 16px;
}

#modaltrackingguide .tracking-guide-decline textarea.form-control {
  height: auto;
  min-height: 90px;
}

#modaltrackingguide #trackingGuideDeclineMessage:empty {
  display: none;
}

#modaltrackingguide .tracking-guide-message-preview {
  padding: 12px;
  border: 1px solid #e2e7ec;
  border-radius: 4px;
  background: #f7f9fb;
  color: #304455;
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

#modaltrackingguide #trackingGuideDeclineSmsNote:empty,
#modaltrackingguide #trackingGuideDeclineEmailNote:empty,
#modaltrackingguide #trackingGuideReturnSmsNote:empty,
#modaltrackingguide #trackingGuideReturnEmailNote:empty {
  display: none;
}

#modaltrackingguide .btn,
#modaltrackingorder.tracking-staff-action .modal-footer .btn {
  min-height: 44px;
  padding: 10px 16px;
  white-space: normal;
}

#modaltrackingguide .tracking-guide-related {
  border-color: #e2e7ec;
  background: #fbfcfd;
}

#modaltrackingguide .tracking-guide-related > .panel-heading {
  padding: 10px 14px;
  border-color: #e2e7ec;
  background: #f0f3f6;
  color: #617380;
}

#modaltrackingguide .tracking-guide-related .panel-title {
  font-size: 14px;
  font-weight: 600;
}

#modaltrackingguide .tracking-guide-related .badge {
  position: static;
  margin-left: 6px;
  background: #dce4eb;
  color: #526575;
  font-size: 11px;
}

#modaltrackingguide .tracking-guide-related .list-group {
  margin-bottom: 0;
}

#modaltrackingguide .tracking-guide-related-item {
  width: 100%;
  min-height: 44px;
  padding: 12px 14px;
  border-right: 0;
  border-left: 0;
  border-color: #e8edf1;
  background: transparent;
  color: #506373;
  text-align: left;
}

#modaltrackingguide .tracking-guide-related-item:first-child {
  border-top: 0;
}

#modaltrackingguide .tracking-guide-related-item:last-child {
  border-bottom: 0;
}

#modaltrackingguide .tracking-guide-related-item:hover,
#modaltrackingguide .tracking-guide-related-item:focus {
  background: #eef4f8;
}

#modaltrackingguide .tracking-guide-related-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

#modaltrackingguide .tracking-guide-related-name {
  min-width: 0;
  font-size: 15px;
  font-weight: 500;
}

#modaltrackingguide .tracking-guide-related-item .label {
  flex-shrink: 0;
  max-width: 110px;
  padding: 3px 6px;
  font-size: 11px;
}

#modaltrackingguide .tracking-guide-related-location,
#modaltrackingguide .tracking-guide-related-service,
#modaltrackingguide .tracking-guide-related-detail {
  display: block;
  margin-top: 5px;
  color: #748390;
  font-size: 13px;
  font-weight: 400;
  overflow-wrap: anywhere;
}

#modaltrackingguide .tracking-guide-related-location,
#modaltrackingguide .tracking-guide-related-detail {
  font-size: 12px;
}

#modaltrackingguide .tracking-guide-related-service {
  color: #617380;
}

#modaltrackingguide .tracking-guide-blocked.tracking-section-panel {
  border-color: #efd49d;
  border-top-color: #f39c12;
}

#modaltrackingguide .tracking-guide-blocked.tracking-section-panel > .panel-heading {
  border-color: #efd49d;
  background: #fff4df;
  color: #8a641b;
}

#modaltrackingguide .tracking-guide-blocked h3 > .fa {
  color: #b98216;
}

#modaltrackingguide .modal-body,
#modaltrackingguide .list-group-item {
  overflow-wrap: anywhere;
}

#modaltrackingguide .modal-footer,
#modaltrackingorder.tracking-staff-action .modal-footer {
  padding: 16px 24px;
  border-top: 1px solid #e2e7ec;
  background: #fff;
  color: #304455;
}

#modaltrackingorder.tracking-staff-action .table-responsive,
#modaltrackingguide #trackingOrderFields .table-responsive {
  border: 1px solid #d2d6de;
  border-radius: 4px;
  background: #fff;
}

#modaltrackingorder.tracking-staff-action .table,
#modaltrackingguide #trackingOrderFields .table {
  margin-bottom: 0;
}

#modaltrackingorder #trackingordermessage:empty {
  display: none;
}

#modaltrackingorder .tracking-order-choice,
#modaltrackingguide .tracking-order-choice {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  text-align: left;
}

#modaltrackingguide .tracking-return-methods,
#modaltrackingorder .tracking-return-methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#modaltrackingguide .tracking-return-methods > .btn,
#modaltrackingorder .tracking-return-methods > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 64px;
  padding: 12px;
  font-size: 16px;
  white-space: normal;
}

#modaltrackingguide .tracking-return-methods .tracking-button-icon,
#modaltrackingorder .tracking-return-methods .tracking-button-icon {
  flex-shrink: 0;
  margin: 0 0 0 10px;
}

.tracking-dispatch-email .tracking-email-preview-toggle {
  margin-bottom: 16px;
}

/* Match the guide's form spacing without adding two margins between actions. */
#modaltrackingguide .tracking-order-choice {
  margin: 18px 0 0;
}

#modaltrackingorder .tracking-order-choice .fa,
#modaltrackingguide .tracking-order-choice .fa {
  flex-shrink: 0;
}

#modaltrackingorder.tracking-staff-action .table > thead,
#modaltrackingguide #trackingOrderFields .table > thead {
  background: #eef3f7;
}

#trackingorderitems .tracking-scanned-service {
  border-left: 3px solid #367fb1;
}

/* Shared item cells stay neutral while individual repair rows show their readiness. */
#trackingorderitems .tracking-review-item {
  background: #fff;
}

#trackingOrderFields .tracking-order-item {
  width: 16%;
  min-width: 110px;
  max-width: 160px;
  white-space: normal;
  overflow-wrap: break-word;
}

#trackingorderitems > tr.success .trackingoverviewworker {
  border-color: #3c763d;
  background: #f2faf3;
}

#modaltrackingorder.tracking-staff-action .form-group,
#trackingpage[data-worker-only="0"] #rapidPhotoPanel > .panel-body {
  padding: 18px;
}

#modaltrackingorder.tracking-staff-action .form-group {
  border: 1px solid #d2d6de;
  border-radius: 4px;
  background: #fff;
}

@media (max-width: 767px) {
  #trackingpage .tracking-main-tabs > li > a {
    padding: 12px 4px;
    font-size: 16px;
  }

  #modaltrackingguide .modal-header,
  #modaltrackingguide .modal-body,
  #modaltrackingorder.tracking-staff-action .modal-header,
  #modaltrackingorder.tracking-staff-action .modal-body {
    padding: 16px;
  }

  #modaltrackingguide .panel-heading,
  #modaltrackingguide .panel-body {
    padding: 14px;
  }

  #trackingpage[data-worker-only="0"] .tracking-scan-panel > .panel-body,
  #trackingpage[data-worker-only="0"] #rapidPhotoPanel > .panel-heading,
  #trackingpage[data-worker-only="0"] #rapidPhotoPanel > .panel-body,
  #trackingpage[data-worker-only="0"] .tracking-scan {
    padding: 14px;
  }

  #modaltrackingguide .modal-body {
    max-height: calc(100vh - 200px);
    max-height: calc(100dvh - 200px);
    overflow-y: auto;
  }

  #modaltrackingguide .modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  #modaltrackingguide .modal-footer,
  #modaltrackingorder.tracking-staff-action .modal-footer {
    padding: 12px 16px;
  }

  #modaltrackingorder.tracking-staff-action .modal-footer {
    flex-wrap: wrap;
  }

  #modaltrackingorder.tracking-staff-action #trackingordercomplete {
    flex: 1 1 180px;
  }

  #modaltrackingguide .modal-footer .btn {
    margin: 0;
  }

  #modaltrackingguide .tracking-guide-item {
    font-size: 21px;
  }

  #modaltrackingguide #trackingGuideLocation {
    font-size: 18px;
  }

  #modaltrackingguide .tracking-guide-step h3 {
    font-size: 19px;
  }
}

/*=============================================
SMART TRACK - PHOTO REVIEW AND RECEIVED PREVIEWS
Capture keeps its original translucent camera controls in tracking.css.
=============================================*/
#modaltrackingphotos .modal-header,
#modaltrackingphotos .modal-body {
  padding: 20px 24px;
}

#modaltrackingphotos .modal-header {
  background: #3c8dbc;
  color: #fff;
}

#modaltrackingphotos .modal-title {
  font-size: 15px;
  line-height: 1.5;
}

#modaltrackingphotos #trackingPhotoReviewItem {
  margin: 8px 0 0;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.35;
}

#modaltrackingphotos #trackingPhotoReviewItem:empty {
  display: none;
}

#modaltrackingphotos .close {
  min-width: 36px;
  min-height: 36px;
  margin: -8px -8px -8px 0;
  color: #fff;
  opacity: 1;
}

#modaltrackingphotos .modal-body {
  background: #f7f9fb;
  color: #304455;
  overflow-wrap: anywhere;
}

#modaltrackingphotos .modal-footer {
  padding: 16px 24px;
  background: #fff;
}

#modaltrackingphotos .btn {
  min-height: 44px;
  white-space: normal;
}

#modaltrackingphotos #rapidPhotoPanel {
  margin-bottom: 0;
  box-shadow: none;
}

#modaltrackingphotos .panel-heading,
#modaltrackingphotos .panel-body {
  padding: 16px 18px;
}

#modaltrackingphotos .panel-heading {
  background: #eef3f7;
  color: #315a79;
}

#modaltrackingphotos .panel-title {
  font-size: 16px;
  font-weight: 600;
}

#modaltrackingphotos #rapidPhotoTitle {
  display: none !important;
}

#modaltrackingphotos #rapidPhotoMessage:empty {
  display: none;
}

#modaltrackingphotos .rapid-photo-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

#modaltrackingphotos .rapid-photo-actions > .btn {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 12px 8px;
}

#modaltrackingphotos #rapidPhotoClear {
  display: none;
}

#modaltrackingphotos #rapidPhotoSave {
  width: 100%;
  margin: 0;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 600;
}

#modaltrackingphotos .rapid-photo-save-label {
  margin-right: 12px;
}

#modaltrackingphotos .rapid-photo-gallery,
#modaltrackingguide .tracking-guide-photo-gallery,
.tracking-email-attachments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 20px;
}

#modaltrackingphotos .rapid-photo-gallery img,
#modaltrackingguide .tracking-guide-photo-gallery img,
.tracking-email-attachments img {
  width: 100%;
  height: 160px;
  object-fit: contain;
  border: 1px solid #e2e7ec;
  border-radius: 4px;
  background: #f7f9fb;
}

#modaltrackingphotos .rapid-photo-choice {
  position: relative;
  min-width: 0;
}

#modaltrackingphotos .rapid-photo-choice img {
  height: 220px;
  background: #fff;
}

#modaltrackingphotos .rapid-photo-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 44px;
  border-color: #d2d6de;
  background: rgba(255, 255, 255, .94);
  color: #b94a48;
  font-size: 18px;
}

#modaltrackingphotos #rapidPhotoPendingTitle,
#modaltrackingphotos #rapidPhotoBeforeTitle,
#modaltrackingphotos #rapidPhotoAfterTitle {
  margin: 0;
  color: #526575;
  font-size: 14px;
  font-weight: 600;
}

#modaltrackingphotos #rapidPhotoPendingTitle .badge,
#modaltrackingguide #rapidPhotoPendingTitle .badge,
#trackingpage #rapidPhotoPendingTitle .badge {
  position: static;
  min-width: 22px;
  margin-left: 4px;
  padding: 3px 6px;
  background: #e8f0f7;
  color: #315a79;
  font-size: 12px;
}

#modaltrackingguide #trackingGuidePhotoGallery h4 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
}

#modaltrackingguide #trackingGuidePhotoGallery section + section {
  padding-top: 16px;
  border-top: 1px solid #e2e7ec;
}

#modaltrackingphotos #photoUploadQueue {
  margin-top: 18px;
}

#modaltrackingphotos #photoUploadProgress {
  max-height: 45vh;
  overflow-y: auto;
}

#modaltrackingphotos .tracking-result {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #e5c9a7;
  border-radius: 4px;
  background: #fff8f0;
}

/* Match the guide's section bars and action hierarchy in both photo review layouts. */
#trackingpage[data-worker-only="0"] .tracking-section-panel,
#modaltrackingphotos .tracking-section-panel,
#modaltrackingguide .tracking-section-panel {
  margin-bottom: 16px;
  border-color: #d2e2ee;
  border-top: 3px solid #3c8dbc;
  border-radius: 4px;
  box-shadow: none;
}

#trackingpage[data-worker-only="0"] .tracking-section-panel > .panel-heading,
#modaltrackingphotos .tracking-section-panel > .panel-heading,
#modaltrackingguide .tracking-section-panel > .panel-heading {
  padding: 12px 18px;
  border-color: #d2e2ee;
  background: #e8f0f7;
  color: #315a79;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

#trackingpage #rapidPhotoControls > .panel-body {
  padding: 18px;
}

#trackingpage #rapidPhotoControls .rapid-photo-actions,
#modaltrackingphotos #rapidPhotoControls .rapid-photo-actions {
  margin: 0 0 12px;
}

#trackingpage #rapidPhotoControls .btn,
#modaltrackingphotos #rapidPhotoControls .btn,
#modaltrackingguide .tracking-guide-actions .btn {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 4px;
  font-size: 15px;
}

#trackingpage #rapidPhotoControls .rapid-photo-actions > .btn,
#modaltrackingphotos #rapidPhotoControls .rapid-photo-actions > .btn {
  gap: 8px;
}

#trackingpage #rapidPhotoControls #rapidPhotoClear {
  width: 100%;
  margin: 0;
}

#trackingpage[data-worker-only="0"] #rapidPhotoSave {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 4px;
  font-size: 15px;
}

#trackingpage[data-worker-only="0"] #rapidPhotoSave .fa-check {
  font-size: 18px;
}

#modaltrackingphotos #rapidPhotoSave .fa-check {
  display: none;
}

#modaltrackingphotos .rapid-photo-save-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#modaltrackingphotos .rapid-photo-actions > label.disabled {
  opacity: .65;
  cursor: not-allowed;
}

@media (max-width: 767px) {
  #modaltrackingphotos .modal-dialog {
    margin: 12px;
  }

  #modaltrackingphotos .modal-header,
  #modaltrackingphotos .modal-body,
  #modaltrackingphotos .modal-footer {
    padding: 16px;
  }

  #modaltrackingphotos .modal-body {
    max-height: calc(100vh - 220px);
    max-height: calc(100dvh - 220px);
    overflow-y: auto;
  }

  #modaltrackingphotos .panel-heading,
  #modaltrackingphotos .panel-body {
    padding: 14px;
  }

  #trackingpage[data-worker-only="0"] .tracking-section-panel > .panel-heading,
  #modaltrackingphotos .tracking-section-panel > .panel-heading,
  #modaltrackingguide .tracking-section-panel > .panel-heading {
    padding: 12px 14px;
  }

  #trackingpage #rapidPhotoControls > .panel-body {
    padding: 14px;
  }

  #modaltrackingphotos .rapid-photo-gallery img,
  #modaltrackingguide .tracking-guide-photo-gallery img,
  .tracking-email-attachments img {
    height: 125px;
  }

  #modaltrackingphotos .rapid-photo-choice img {
    height: 170px;
  }
}

/*=============================================
TRACKING - CONSISTENT STAFF FORM CONTROLS AND ACTION BUTTONS
=============================================*/
#trackingpage[data-worker-only="0"] .btn,
#trackingpage[data-worker-only="0"] #rapidPhotoControls .btn,
#trackingpage[data-worker-only="0"] #rapidPhotoSave,
#modaltrackingguide .btn,
#modaltrackingphotos .btn,
#modaltrackingphotos #rapidPhotoSave,
#modaltrackingorder.tracking-staff-action .btn,
#modaltrackingorder.tracking-staff-action .modal-footer .btn {
  min-height: 52px;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 22px;
  white-space: normal;
  touch-action: manipulation;
}

/* Keep bottom actions compact while retaining a comfortable touch target. */
#modaltrackingguide .tracking-guide-actions .btn,
#modaltrackingguide .modal-footer .btn,
#modaltrackingphotos .modal-footer .btn,
#modaltrackingorder.tracking-staff-action .modal-footer .btn {
  min-height: 46px;
  padding: 8px 12px;
  font-size: 15px;
  line-height: 22px;
}

/* Secondary choices stay smaller than the green next-step action. */
#modaltrackingguide .tracking-order-choice,
#modaltrackingguide .tracking-guide-primary-actions > .tracking-order-choice,
#modaltrackingguide .tracking-guide-alternatives .btn,
#modaltrackingguide #trackingGuideDeclineCancel,
#modaltrackingguide .modal-footer .btn-default,
#modaltrackingorder.tracking-staff-action .tracking-order-choice,
#modaltrackingorder.tracking-staff-action .modal-footer .btn-default {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 20px;
}

#modaltrackingguide .tracking-order-choice,
#modaltrackingorder.tracking-staff-action .tracking-order-choice {
  width: auto;
  max-width: 100%;
}

.tracking-button-icon {
  margin-right: 8px;
}

#modaltrackingguide .tracking-centered-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
}

#modaltrackingguide .tracking-centered-action .tracking-button-icon {
  margin-right: 0;
}

/* SMART TRACK — THREE STAFF JOURNEY STAGES */
#modaltrackingguide .tracking-stage-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 0;
  border-bottom: 0;
}

#modaltrackingguide .tracking-stage-tabs::before,
#modaltrackingguide .tracking-stage-tabs::after {
  display: none;
}

#modaltrackingguide .tracking-stage-tabs > li {
  float: none;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}

#modaltrackingguide .tracking-stage-tabs button {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 52px;
  padding: 10px 8px;
  border: 1px solid #d6e1e9;
  border-radius: 4px 4px 0 0;
  background: #edf2f6;
  color: #53697c;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  text-align: left;
}

#modaltrackingguide .tracking-stage-tabs > li.active button {
  border-bottom-color: #fff;
  background: #fff;
  color: #287cac;
  box-shadow: inset 0 3px #3c8dbc;
}

#modaltrackingguide .tracking-stage-tabs > li.tracking-stage-current button {
  border-color: #93bdd7;
  background: #e3f1fb;
  color: #21648d;
  box-shadow: inset 0 3px #3c8dbc;
}

#modaltrackingguide .tracking-stage-tabs > li.disabled button {
  background: #edf0f2;
  color: #7b8994;
  cursor: not-allowed;
}

#modaltrackingguide .tracking-stage-tabs .fa-lock {
  margin-left: 6px;
  flex-shrink: 0;
  color: #b18428;
}

#modaltrackingguide .tracking-stage-tabs .fa-check {
  margin-left: 6px;
  flex-shrink: 0;
  color: #2f7d43;
}

#modaltrackingguide #trackingGuideItems {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

#modaltrackingguide .tracking-other-items .btn,
#modaltrackingguide #trackingGuideWorkBack {
  min-height: 40px;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 20px;
}

#modaltrackingguide .tracking-other-items {
  margin: 16px 0;
  color: #687d8b;
  font-size: 13px;
}

#modaltrackingguide #trackingGuideLocationChoice {
  padding: 12px;
  border: 1px solid #dce6ed;
  border-radius: 4px;
  background: #f6f9fb;
}

#modaltrackingguide .tracking-guide-department-buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

@media (max-width: 767px) {
  #modaltrackingguide .tracking-guide-department-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#modaltrackingguide #trackingGuideWorkBack {
  margin-top: 12px;
}

#modaltrackingguide #trackingOrderFields {
  padding: 0;
  margin-top: 12px;
}

#modaltrackingguide .tracking-inline-actions {
  margin-top: 24px;
}

#trackingOrderFields .form-group {
  margin-bottom: 20px;
}

#trackingOrderFields .form-group > label {
  margin-bottom: 8px;
}

#trackingOrderFields > .form-group,
#trackingOrderFields > .table-responsive,
#trackingOrderFields > .panel,
#trackingOrderFields > .alert {
  margin-bottom: 24px;
}

#trackingOrderFields #trackingordermessage:empty {
  display: none;
}

#trackingOrderFields .tracking-order-storage {
  border-color: #d2e2ee;
}

#trackingOrderFields .tracking-order-storage > .panel-heading {
  padding: 16px 18px;
  border-color: #d2e2ee;
  background: #eef3f7;
  color: #315a79;
}

#trackingOrderFields .tracking-order-storage .panel-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
}

#trackingOrderFields .tracking-order-storage > .panel-body {
  padding: 18px;
}

#trackingordervalidation h4 {
  margin: 0 0 12px;
  line-height: 1.4;
}

#trackingordervalidation p {
  margin: 0 0 10px;
}

#trackingordervalidation p:last-child {
  margin-bottom: 0;
}

#modaltrackingguide #trackingordercomplete,
#modaltrackingguide #rapidPhotoSave {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin: 12px 0 0;
  background: #00a65a;
  border-color: #008d4c;
  color: #fff;
}

#trackingOrderFields .checkbox {
  margin: 0 0 16px;
  padding: 8px 0;
}

#modaltrackingguide .tracking-inline-photos .panel {
  border: 0;
  margin: 0;
  background: transparent;
}

#modaltrackingguide .tracking-inline-photos .panel-heading,
#modaltrackingguide .tracking-inline-photos .panel-body {
  padding: 10px 0;
  background: transparent;
}

#modaltrackingguide .tracking-inline-photos .panel-heading,
#modaltrackingguide .tracking-inline-photos #rapidPhotoTitle {
  display: none;
}

#modaltrackingguide .rapid-photo-actions,
#modaltrackingguide .rapid-photo-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#modaltrackingguide .rapid-photo-actions > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
  font-size: 14px;
}

#modaltrackingguide .rapid-photo-choice {
  position: relative;
}

#modaltrackingguide .rapid-photo-gallery img {
  width: 100%;
  height: 160px;
  border-radius: 4px;
  background: #eef2f5;
  object-fit: contain;
}

#modaltrackingguide .rapid-photo-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  min-height: 36px;
  padding: 6px 8px;
}

#modaltrackingguide .rapid-photo-save-label {
  flex: 1;
}

#modaltrackingguide #trackingGuideCamera {
  overflow: hidden;
  border-radius: 4px;
  background: #080b0e;
  color: #fff;
}

#modaltrackingguide .tracking-capture-body {
  padding: 0;
}

#modaltrackingguide .photo-capture-view {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #222;
  overflow: hidden;
}

#modaltrackingguide .photo-capture-view video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#modaltrackingguide .photo-capture-reference {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding: 12px;
  background: #080b0e;
}

#modaltrackingguide #photoCaptureReferenceImage {
  flex: 1;
  min-height: 0;
  text-align: center;
}

#modaltrackingguide #photoCaptureReferenceImage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#modaltrackingguide .photo-capture-flash {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: #fff;
  pointer-events: none;
}

#modaltrackingguide .photo-capture-flash.captured {
  animation: photo-capture-flash .2s ease-out;
}

#modaltrackingguide .tracking-capture-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
}

#modaltrackingguide #photoCaptureThumbnail {
  width: 42px;
  height: 42px;
  object-fit: cover;
}

#modaltrackingguide #photoCaptureShutter {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 3px #080b0e;
}

#modaltrackingguide #photoCaptureMessage {
  padding: 8px;
  text-align: center;
}

/* Smart Track camera fills the screen; photo review keeps the normal modal. */
#modaltrackingguide.tracking-camera-fullscreen {
  padding: 0 !important;
  overflow: hidden;
}

#modaltrackingguide.tracking-camera-fullscreen .modal-dialog {
  width: 100%;
  height: 100%;
  margin: 0;
  transform: none;
}

#modaltrackingguide.tracking-camera-fullscreen .modal-content {
  height: 100vh;
  height: 100dvh;
  border: 0;
  border-radius: 0;
  background: #080b0e;
}

#modaltrackingguide.tracking-camera-fullscreen #trackingGuide {
  max-height: none;
  overflow: hidden;
}

#modaltrackingguide.tracking-camera-fullscreen .modal-header,
#modaltrackingguide.tracking-camera-fullscreen #trackingGuide > :not(#trackingGuideStep),
#modaltrackingguide.tracking-camera-fullscreen #trackingGuideStep > .panel-body > :not(h3):not(#trackingGuideCamera):not(#trackingGuideWorkBack) {
  display: none !important;
}

#modaltrackingguide.tracking-camera-fullscreen #trackingGuideCamera {
  position: fixed;
  inset: 0;
  z-index: 2;
  border-radius: 0;
}

#modaltrackingguide.tracking-camera-fullscreen #trackingCaptureContent,
#modaltrackingguide.tracking-camera-fullscreen .tracking-capture-body {
  position: absolute;
  inset: 0;
}

#modaltrackingguide.tracking-camera-fullscreen .photo-capture-view {
  height: 100%;
  aspect-ratio: auto;
}

#modaltrackingguide.tracking-camera-fullscreen #trackingGuideStep h3 {
  position: fixed;
  z-index: 3;
  top: calc(16px + env(safe-area-inset-top, 0px));
  right: calc(16px + env(safe-area-inset-right, 0px));
  max-width: calc(100% - 180px);
  margin: 0;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(0,0,0,.65);
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

#modaltrackingguide.tracking-camera-fullscreen #trackingGuideWorkBack {
  position: fixed;
  z-index: 4;
  top: calc(16px + env(safe-area-inset-top, 0px));
  left: calc(16px + env(safe-area-inset-left, 0px));
  width: auto;
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border-color: rgba(255,255,255,.4);
  background: rgba(0,0,0,.65);
  color: #fff;
}

#modaltrackingguide.tracking-camera-fullscreen .photo-capture-reference {
  padding: calc(84px + env(safe-area-inset-top, 0px)) 16px calc(120px + env(safe-area-inset-bottom, 0px));
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureReferenceTitle {
  margin: 0 0 12px;
  text-align: center;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureReferenceImage a {
  display: block;
  height: 100%;
}

#modaltrackingguide.tracking-camera-fullscreen .tracking-capture-controls {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  padding: 16px 20px calc(18px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(transparent, rgba(0,0,0,.85));
}

#modaltrackingguide.tracking-camera-fullscreen .photo-capture-summary {
  width: 90px;
  font-size: 13px;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureShutter {
  width: 68px;
  height: 68px;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureShutter:disabled {
  opacity: .4;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureAfter {
  flex: 1;
  min-width: 0;
  max-width: 220px;
  white-space: normal;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureReview {
  min-width: 90px;
  border-color: rgba(255,255,255,.4);
  background: rgba(255,255,255,.15);
  color: #fff;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureMessage {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: calc(120px + env(safe-area-inset-bottom, 0px));
  left: 16px;
  margin: 0;
  border-radius: 6px;
  background: rgba(0,0,0,.65);
  color: #fff;
}

#modaltrackingguide.tracking-camera-fullscreen #photoCaptureMessage:empty {
  display: none;
}

/* Match the existing tablet camera's translucent controls on the right. */
@media (min-width: 700px) and (min-height: 600px) and (pointer: coarse) {
  #modaltrackingguide.tracking-camera-fullscreen {
    --photo-capture-controls-width: calc(128px + env(safe-area-inset-right, 0px));
  }

  #modaltrackingguide.tracking-camera-fullscreen #trackingGuideStep h3 {
    right: calc(16px + var(--photo-capture-controls-width));
  }

  #modaltrackingguide.tracking-camera-fullscreen .photo-capture-reference {
    padding-right: calc(16px + var(--photo-capture-controls-width));
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureMessage {
    right: calc(16px + var(--photo-capture-controls-width));
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  }

  #modaltrackingguide.tracking-camera-fullscreen .tracking-capture-controls {
    inset: 0 0 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) 96px minmax(0, 1fr);
    justify-items: center;
    gap: 20px;
    width: var(--photo-capture-controls-width);
    padding: calc(20px + env(safe-area-inset-top, 0px)) calc(12px + env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px)) 12px;
    background: rgba(0,0,0,.35);
  }

  #modaltrackingguide.tracking-camera-fullscreen .photo-capture-summary {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: auto;
    text-align: center;
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureThumbnail {
    display: block;
    margin: 0 auto 6px;
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureShutter,
  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureAfter {
    grid-column: 1;
    grid-row: 2;
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureShutter {
    width: 80px;
    height: 80px;
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureAfter {
    width: 100%;
    min-height: 80px;
    margin: 0;
    padding: 8px;
    font-size: 14px;
  }

  #modaltrackingguide.tracking-camera-fullscreen #photoCaptureReview {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
}

@media (max-width: 479px) {
  #modaltrackingguide .tracking-stage-tabs button {
    display: block;
    padding: 8px 5px;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
  }

  #modaltrackingguide .tracking-stage-tabs > li.disabled button,
  #modaltrackingguide .tracking-stage-tabs > li.tracking-stage-complete button {
    position: relative;
    padding-right: 22px;
  }

  #modaltrackingguide .tracking-stage-tabs .fa-lock,
  #modaltrackingguide .tracking-stage-tabs .fa-check {
    position: absolute;
    top: 50%;
    right: 6px;
    margin-left: 0;
    transform: translateY(-50%);
  }
}

#modaltrackingguide #trackingGuidePrimary {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}

#modaltrackingguide #trackingGuidePrimary > .btn {
  flex: none;
}

/* Keep task actions the same width across Smart Track panels. */
#modaltrackingguide .tracking-guide-actions > .btn,
#modaltrackingguide #trackingGuidePlaceWaiting,
#modaltrackingguide #trackingGuideWorkBack,
#modaltrackingguide #trackingGuideItems > .btn {
  flex: none;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

#trackingpage[data-worker-only="0"] #trackingForm .form-control,
#trackingpage[data-worker-only="0"] #trackingForm #trackingInput,
#modaltrackingguide .form-control,
#modaltrackingorder.tracking-staff-action .form-control {
  height: 52px;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 22px;
}

#trackingpage[data-worker-only="0"] #trackingCameraButton {
  height: 52px;
  min-width: 52px;
  padding: 10px 14px;
  font-size: 20px;
}

#trackingpage .tracking-main-tabs > li > a,
#trackingpage .tracking-mode-tabs > li > a {
  min-height: 52px;
  padding: 10px 8px;
  font-size: 16px;
  line-height: 22px;
}

#trackingpage .rapid-photo-actions > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 12px 8px;
  white-space: normal;
}

#trackingpage .rapid-photo-actions > label:focus-within {
  outline: 2px solid #3c8dbc;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  #trackingpage .tracking-mode-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 4px;
  }

  #trackingpage .tracking-mode-tabs > li > a {
    height: 100%;
    padding: 8px 3px;
    font-size: 12px;
    line-height: 16px;
    white-space: normal;
  }

  #modaltrackingorder.tracking-staff-action .modal-footer > .btn,
  #modaltrackingphotos .modal-footer > .btn,
  #modaltrackingguide .modal-footer > .btn {
    flex: 1 1 120px;
    margin: 0;
  }
}

/*=============================================
EDIT SALE - INFO SUMMARY
=============================================*/
#tabs-2 .order-info-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid #edf0f2;
}

#tabs-2 .order-info-heading h4 {
  margin: 0;
  color: #273746;
  font-size: 18px;
  font-weight: 600;
}

#tabs-2 .order-info-status {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

#tabs-2 .order-info-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 30px;
  margin: 0;
  padding: 22px;
}

#tabs-2 .order-info-detail {
  min-width: 0;
}

#tabs-2 .order-info-detail dt {
  margin-bottom: 4px;
  color: #7b8994;
  font-size: 12px;
  font-weight: 400;
}

#tabs-2 .order-info-detail dd {
  margin: 0;
  color: #34495e;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  #tabs-2 .order-info-heading {
    padding: 16px;
  }

  #tabs-2 .order-info-details {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }

}

/*=============================================
EDIT SALE - STAFF COMMENTS
=============================================*/
#tabs-4 .staff-comments {
  max-width: 960px;
  padding: 26px 30px;
}

#tabs-4 .staff-comments-heading h3 {
  margin: 0 0 5px;
  color: #273746;
  font-size: 22px;
  font-weight: 600;
}

#tabs-4 .staff-comments-heading p {
  margin: 0 0 22px;
  color: #7b8994;
  font-size: 14px;
}

#tabs-4 .staff-comment-composer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  padding-bottom: 24px;
  border-bottom: 1px solid #edf0f2;
}

#tabs-4 .staff-comment-composer textarea {
  width: 100%;
  min-height: 100px;
  padding: 12px 14px;
  border: 1px solid #dce3e8;
  border-radius: 6px;
  resize: vertical;
  font-size: 14px;
  line-height: 1.6;
}

#tabs-4 .staff-comment-composer textarea:focus {
  border-color: #3c8dbc;
  box-shadow: 0 0 0 3px rgba(60,141,188,.1);
}

#tabs-4 #addcomment {
  padding: 10px 18px;
  border-radius: 5px;
}

#tabs-4 #addcomment .fa {
  margin-right: 6px;
}

#tabs-4 .staff-comment {
  padding: 22px 0;
  border-bottom: 1px solid #edf0f2;
}

#tabs-4 .staff-comment-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: #34495e;
}

#tabs-4 .staff-comment-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e5f3ed;
  color: #21815b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

#tabs-4 .staff-comment-meta strong {
  overflow-wrap: anywhere;
  font-size: 14px;
}

#tabs-4 .staff-comment-meta time {
  margin-left: auto;
  color: #7b8994;
  font-size: 12px;
  text-align: right;
}

#tabs-4 .commentsbubble {
  margin: 0 0 0 46px;
  padding: 14px 16px;
  border: 1px solid #edf0f2;
  border-radius: 0 8px 8px;
  background: #f6f8fa;
  color: #34495e;
  font-size: 14px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#tabs-4 .staff-comments-empty {
  margin: 22px 0 0;
  color: #7b8994;
  font-size: 14px;
}

#orderActivity .activity-quote-copy {
  margin-top: 10px;
}

#orderActivity .activity-quote-copy summary {
  cursor: pointer;
  color: #47677f;
}

#orderActivity .activity-quote-copy .quote-copy-text, #orderQuoteBanner .quote-copy-text {
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid #e5e9ed;
  border-radius: 6px;
  background: #f6f8fa;
  white-space: pre-line;
  overflow-wrap: anywhere;
  color: #34495e;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
}

#orderQuoteBanner {
  margin: 16px 15px 8px;
  border: 0;
  border-radius: 8px;
  background-color: #fff;
  color: #66521c;
  box-shadow: 0 3px 14px rgba(38, 50, 64, .06);
}

#orderQuoteBanner summary {
  padding: 18px 22px;
  border-radius: 8px;
  background-color: rgb(254, 243, 192);
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

#orderQuoteBanner[open] summary {
  border-radius: 8px 8px 0 0;
}

#orderQuoteBanner summary:focus-visible {
  outline: 2px solid #367fb1;
  outline-offset: 2px;
}

#orderQuoteBanner summary .fa-pencil {
  margin-right: 8px;
}

#orderQuoteBanner .quote-banner-action {
  display: inline-block;
  margin-left: 12px;
  font-size: 13px;
  font-weight: 400;
}

#orderQuoteBanner .quote-copy-text {
  max-width: 88ch;
  margin: 0;
  padding: 24px 26px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #263240;
  font-size: 16px;
  line-height: 1.7;
}

@media (max-width: 767px) {
  #tabs-4 .staff-comments {
    padding: 18px 14px;
  }

  #tabs-4 .staff-comment-meta {
    flex-wrap: wrap;
  }

  #tabs-4 .staff-comment-meta time {
    width: calc(100% - 46px);
    margin: -8px 0 0 46px;
    text-align: left;
  }

  #tabs-4 .commentsbubble {
    margin-left: 0;
  }

  #tabs-4 #addcomment {
    width: 100%;
  }

  #orderQuoteBanner summary {
    padding: 16px;
  }

  #orderQuoteBanner .quote-copy-text {
    padding: 18px 16px;
  }

}

/*=============================================
EDIT SALE - ACTIVITY TIMELINE
=============================================*/

/* Tab row — keep Activity after Edit Client, including wrapped mobile rows. */
#tabs > .edit-sale-tabbar {
  justify-content: flex-start !important;
}

#tabs > .edit-sale-tabbar > .nav-tabs {
  display: contents;
}

#tabs > .edit-sale-tabbar .activity-tab {
  order: 1;
}

#tabs > .edit-sale-tabbar > a {
  margin-right: 0 !important;
}

/* Activity tab — green emphasis with the existing history icon. */
#tabs > .edit-sale-tabbar .activity-tab > a {
  margin-left: 8px;
  border: 1px solid #008d4c;
  border-radius: 4px 4px 0 0;
  color: #fff;
  background: #00a65a;
}

#tabs > .edit-sale-tabbar .activity-tab > a:hover, #tabs > .edit-sale-tabbar .activity-tab.ui-tabs-active > a {
  color: #fff;
  background: #008d4c;
  border-color: #00733e;
}

#tabs > .edit-sale-tabbar .activity-tab > a:focus-visible {
  outline: 2px solid #367fb1;
  outline-offset: 2px;
}

#orderActivity {
  max-width: 960px;
  padding: 26px 30px;
}

#orderActivity .activity-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

#orderActivity h3 {
  margin: 0 0 5px;
  color: #273746;
  font-size: 22px;
  font-weight: 600;
}

#orderActivity .activity-caption {
  margin: 0;
  color: #73808c;
  font-size: 14px;
}

#orderActivity .activity-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

#orderActivity .activity-controls label {
  margin: 0;
  white-space: nowrap;
}

#orderActivity .activity-controls select {
  width: auto;
  max-width: 100%;
  min-width: 220px;
  height: 40px;
  border-radius: 4px;
  font-size: 14px;
}

#orderActivity .activity-refresh {
  min-height: 40px;
  border-radius: 4px;
}

#orderActivity .activity-message {
  padding: 14px 16px;
  margin-bottom: 16px;
  border-radius: 5px;
  color: #677583;
  background: #f5f7f9;
}

#orderActivity .activity-message.is-error {
  color: #a33b30;
  background: #fff0ed;
}

#orderActivity .activity-date {
  display: table;
  margin: 22px 0 20px 37px;
  padding: 5px 11px;
  border-radius: 5px;
  color: #526373;
  background: #eef2f6;
  font-size: 12px;
  font-weight: 600;
}

#orderActivity .activity-entry {
  position: relative;
  margin-left: 16px;
  padding: 0 0 26px 34px;
  border-left: 2px solid #e8edf1;
}

#orderActivity .activity-dot {
  position: absolute;
  top: 0;
  left: -16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 4px solid #fff;
  border-radius: 50%;
  color: #367fb1;
  background: #eaf3fa;
  font-size: 12px;
}

#orderActivity .activity-dot.is-complete {
  color: #008d4c;
  background: #e5f5ed;
}

#orderActivity .activity-dot.is-photo {
  color: #7858a6;
  background: #f0eaf7;
}

#orderActivity .activity-dot.is-worker {
  color: #a47816;
  background: #fff5dc;
}

#orderActivity .activity-dot.is-status {
  color: #c75b39;
  background: #fff0e9;
}

#orderActivity .activity-entry-heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-top: 3px;
}

#orderActivity .activity-time {
  flex: 0 0 42px;
  color: #7b8792;
  font-size: 13px;
}

#orderActivity .activity-title {
  margin: 0;
  color: #2b3c4d;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

#orderActivity .activity-details {
  margin: 6px 0 0 54px;
  color: #637383;
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

#orderActivity .activity-worker {
  color: #324b5e;
}

#orderActivity .activity-actor {
  margin-top: 3px;
  color: #8b969f;
  font-size: 12px;
}

/* Status communications stay compact; document emails keep their own timeline entries. */
#orderActivity .activity-communications {
  margin-top: 8px;
  font-size: 13px;
}

#orderActivity .activity-communications summary {
  display: list-item;
  cursor: pointer;
  color: #526b7d;
}

#orderActivity .activity-communication {
  margin: 8px 0;
  padding-left: 12px;
  border-left: 2px solid #e8edf1;
}

#orderActivity .activity-communications .has-failure {
  color: #a33b30;
  font-weight: 600;
}

#orderActivity .activity-attachment-note {
  font-size: 12px;
  color: #73808c;
}

#orderActivity .activity-more {
  margin: 0 0 0 50px;
  min-width: 140px;
  min-height: 40px;
  border-radius: 4px;
}

@media (max-width: 767px) {
  #tabs > .edit-sale-tabbar {
    flex-wrap: wrap;
    gap: 8px;
  }

  #tabs > .edit-sale-tabbar > a {
    padding: 6px 0 !important;
  }

  #orderActivity {
    padding: 20px 14px;
  }

  #orderActivity .activity-heading {
    align-items: flex-start;
    gap: 8px;
  }

  #orderActivity .activity-refresh {
    padding: 8px 10px;
  }

  #orderActivity .activity-controls {
    display: block;
  }

  #orderActivity .activity-controls label {
    display: block;
    margin-bottom: 8px;
  }

  #orderActivity .activity-controls select {
    width: 100%;
    min-width: 0;
  }

  #orderActivity .activity-entry {
    padding-left: 24px;
  }

  #orderActivity .activity-entry-heading {
    display: block;
  }

  #orderActivity .activity-time {
    display: block;
    margin-bottom: 3px;
  }

  #orderActivity .activity-details {
    margin-left: 0;
  }

  #orderActivity .activity-date, #orderActivity .activity-more {
    margin-left: 40px;
  }

}

#orderActivity #activityMessage, #orderActivity #activityLoadMore {
  display: none;
}

/*=============================================
SHARED SALE LAYOUT, CONTROLS AND ACTIONS
=============================================*/

.sale-action {
  font-size: 13px;
  height: 50px;
  padding: 0 45px;
}

.sale-action-primary {
  background-color: #367FB1;
  border-color: #367FB1;
  color: white;
}

.sale-action-success {
  background-color: #00a65a;
  border-color: #038949;
  color: white;
}

.sale-action-warning {
  background-color: #f39c12;
  border-color: #e08e0b;
  color: #f9f9f9;
}

.sale-action-danger {
  background-color: #dd4b39;
  border-color: #c23321;
  color: white;
}

.sale-action-default {
  background-color: #f4f4f4;
  border-color: #d2d6de;
  color: black;
}

.nav-tabs > li > a.sale-toolbar-primary {
  background: #367FB1;
  border: #367FB1;
  color: #f9f9f9;
}

.nav-tabs > li > a.sale-toolbar-danger {
  background: #dd4b39;
  color: #f9f9f9;
  border: #c23321;
}

.nav-tabs > li > a.sale-toolbar-warning {
  background: #f39c12;
  color: #f9f9f9;
  border: #e08e0b;
}

.sale-actions-toolbar {
  padding-bottom: .75em;
  padding-top: .75em;
}

.sale-actions-list {
  padding-left: 20px;
}

.sale-tabbar-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 20px;
  padding-right: 20px;
}

.sale-client-link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: auto;
  color: #3a506b;
  font-size: .95em;
  text-decoration: none;
  padding: 10px 25px;
}

.input-group .input-group-addon.sale-order-type-icon {
  border-right: 1px solid #d2d6de;
  padding-left: 15px;
  padding-right: 15px;
}

.sale-status-action {
  background-color: #367FB1;
  border-color: #367FB1;
  height: 36px;
  padding: 0 15px;
  color: white;
}

.sale-item-controls {
  margin-bottom: 10px;
  margin-top: 30px;
}

.sale-worker-field {
  width: 220px;
  margin-top: 5px;
}

.sale-order-footer {
  border: 0 !important;
  padding-top: 0;
  padding-bottom: 25px;
}

.sale-photo-card {
  margin-bottom: 30px;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sale-photo-title {
  margin: 25px 0;
  font-size: 22px;
  color: #1e1e1e;
  font-weight: bold;
}

.sale-photo-condition {
  margin-top: -15px;
  font-size: 18px;
  color: #444;
  font-weight: 500;
}

.sale-payment-panel {
  background-color: #f9f9f9;
  border-radius: 8px;
  overflow: hidden;
}

.sale-payment-entry {
  padding-top: 30px;
  padding-bottom: 10px;
}

.sale-payment-fractions {
  padding-bottom: 30px;
  margin: 0 auto !important;
}

.sale-payment-fraction {
  padding: 8px 20px;
  font-size: 13px;
  border-color: #8c8c8c;
}

.sale-payment-row {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.sale-payment-summary {
  border: 0;
  border-collapse: collapse;
  margin-bottom: 0 !important;
}

.sale-payment-summary-row {
  border: none;
  height: 5px !important;
}

.sale-payment-summary .sale-summary-first-cell {
  padding-top: 15px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
  border: none !important;
}

.sale-payment-summary .sale-summary-cell {
  padding: 8px 20px;
  border: none !important;
}

.sale-payment-summary .sale-summary-separator-cell {
  border: none !important;
}

.sale-summary-separator {
  border-top: 1px solid #ddd;
  width: 90%;
  margin: 0 auto;
}

.sale-payment-summary .sale-summary-balance-label {
  font-size: 14px;
  color: red;
  padding-top: 8px;
  padding-bottom: 18px;
  padding-left: 20px;
  padding-right: 20px;
  border: none !important;
}

.sale-payment-summary .sale-summary-balance {
  font-size: 14px;
  font-weight: 600;
  padding-top: 8px;
  padding-bottom: 18px;
  padding-left: 20px;
  padding-right: 20px;
  border: none !important;
  text-align: right;
}

.sale-payment-action-row {
  text-align: center;
  padding-top: 20px;
}

.sale-payment-action {
  font-size: 13px;
  background-color: #00a65a;
  border-color: #038949;
  height: 50px;
  width: 100%;
  max-width: 200px;
  color: white;
  margin: 0 auto;
}

.sale-recipient-panel {
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.sale-recipient-action {
  margin-left: 10px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 20px;
  padding-right: 20px;
}

.modal-header .sale-large-close {
  color: #fff;
  opacity: 1;
  font-size: 32px;
  font-weight: 700;
  text-shadow: none;
  margin-top: -4px;
}

.sale-control-tall {
  height: 50px;
}

.sale-control-standard {
  height: 40px;
}

.sale-worker-control {
  height: 38px;
}

.sale-full-width {
  width: 100%;
}

/* Keep DataTables' calculated pixel widths from shrinking the sale pickers. */
#modalshowproducts .salesTable,
#modalshowservices .salesTableservice {
  width: 100% !important;
}

.sale-no-right-padding {
  padding-right: 0;
}

.sale-photo-preview {
  padding: 10px;
}

.sale-panel-body {
  padding: 20px;
}

.sale-no-bottom-margin {
  margin-bottom: 0;
}

.sale-gap-right-small {
  margin-right: 5px;
}

.sale-gap-right {
  margin-right: 8px;
}

.sale-gap-right-wide {
  margin-right: 10px;
}

.sale-gap-top {
  margin-top: 15px;
}

.sale-after-photos {
  margin-top: 50px;
}

.sale-photo-caption {
  padding-bottom: 10px;
}

.sale-item-heading {
  padding-bottom: 12px;
}

.sale-item-history-heading {
  padding-top: 30px;
}

.sale-gallery-left {
  justify-content: left;
}

.sale-secondary-text {
  color: #3a506b;
}

.sale-help-text {
  color: #888;
}

.sale-text-left {
  text-align: left;
}

.sale-payment-summary .sale-text-right, .sale-text-right {
  text-align: right;
}

.form-control.sale-readonly-white {
  background: white;
}

.sale-change-white {
  background: white !important;
}

.sale-initially-hidden {
  display: none;
}

/*=============================================
ORDER ITEM AND PRODUCT ROWS
=============================================*/

.sale-item-row-list {
  margin-bottom: 5px !important;
}

.sale-item-group-gap {
  margin-bottom: 15px;
  margin-top: 8px;
}

.sale-near-full-width {
  width: 99%;
}

.sale-icon-width {
  min-width: 40px;
}

.sale-item-title {
  letter-spacing: .5px;
  font-weight: 600;
  height: 50px;
  padding: 20px 12px;
}

.sale-item-caption {
  margin-bottom: 10px;
  padding: 5px 15px;
}

.sale-neutral-field {
  background: #f2f2f2;
}

.sale-item-placeholder {
  color: #999;
  height: 42px;
  font-size: 14px;
}

.sale-no-padding {
  padding: 0;
}

.sale-no-left-padding {
  padding-left: 0;
}

.sale-item-state-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
}

.sale-item-chip {
  height: 40px;
  border-radius: 25px;
  border: 1px solid #038949;
}

.sale-gap-top-small {
  margin-top: 10px;
}

.sale-item-services {
  padding: 0 15px;
  margin-bottom: 10px;
}

.sale-quarter-width {
  width: 25%;
}

.sale-product-width {
  width: 30%;
}

/*=============================================
SALE PHOTO PREVIEWS AND QUOTE HIGHLIGHT
=============================================*/
.gallery-grid img.sale-item-upload-preview {
  max-width: 120px;
  margin: 5px;
}

#orderstatus.sale-quote-sent {
  background-color: #fef3c0;
  border-color: #fcd44b;
}

/*=============================================
DASHBOARD RETURN ORDERS
=============================================*/
.homesales tbody tr.order-return-row > td,
.homeduethisweek tbody tr.order-return-row > td {
  background-color: #f8d7da !important;
  color: #842029;
}

.homesales tbody tr.order-return-row > td:first-child,
.homeduethisweek tbody tr.order-return-row > td:first-child {
  border-left: 4px solid #c9302c;
}

.homesales .order-status-buttons,
.homeduethisweek .order-status-buttons {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.homesales .order-return-badge,
.homeduethisweek .order-return-badge {
  display: inline-block;
  margin: 0;
  vertical-align: middle;
}

/*=============================================
INTERNAL STICKY NOTES
=============================================*/
.internal-note-icon {
  display: inline-block;
  width: 23px;
  height: 23px;
  vertical-align: middle;
  background: linear-gradient(135deg, #ffe480 80%, #d3a82d 80%);
  clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
  transform: rotate(-5deg);
}

.internal-notes-nav {
  position: relative;
  padding: 13px 15px;
  margin: 0;
  border: 0;
  background: transparent;
}

.internal-notes-nav:hover,
.internal-notes-nav:focus {
  background: rgba(0, 0, 0, 0.1);
}

.internal-notes-count {
  position: absolute;
  top: 5px;
  right: 3px;
  min-width: 17px;
  padding: 1px 4px;
  border-radius: 8px;
  background: #a52d25;
  color: #fff;
  font-size: 11px;
  line-height: 15px;
}

.internal-notes-modal {
  z-index: 1070;
}

.internal-notes-backdrop {
  z-index: 1060;
}

.internal-notes-actions,
.internal-note-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

#internalNotesMessage:not(:empty) {
  margin: 12px 0;
  white-space: pre-wrap;
}

.internal-notes-filters {
  margin-top: 15px;
}

#internalNoteAssignee,
#internalNoteLinkType,
#internalNoteLinkValue {
  max-width: 280px;
}

.internal-note-card {
  margin-bottom: 15px;
  padding: 15px;
  border-left: 4px solid #e2be4c;
  background: #fff9df;
  color: #333;
}

.internal-note-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.internal-note-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
  margin: 10px 0;
  color: #666;
  font-size: 12px;
}

.internal-note-card .internal-note-actions {
  margin-bottom: 5px;
}

.internal-notes-enquiry-trigger {
  margin-top: 10px;
}

/*=============================================
DAILY TASKS — STAFF SCREEN OVERLAY
=============================================*/
.daily-brief-nav {
  margin: 9px 5px;
  padding: 5px 11px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.daily-brief-nav .fa-sun-o {
  margin-right: 4px;
  color: #fff;
}

.daily-brief-nav:hover,
.daily-brief-nav[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.24);
}

.daily-brief-overlay {
  z-index: 1090;
  background: rgba(233, 237, 242, 0.98);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #202b3a;
}

.daily-brief-backdrop {
  z-index: 1080;
}

.daily-brief-overlay.fade {
  transition: opacity 0.3s ease;
}

.daily-brief-overlay.fade .modal-dialog {
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .daily-brief-overlay.fade {
    transition: none;
  }
}

.daily-brief-overlay .modal-dialog {
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 24px auto;
}

.daily-brief-overlay .modal-content {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.daily-brief-overlay .modal-body {
  padding: 12px 0;
}

.daily-brief-footer,
.daily-brief-footer-actions,
.daily-brief-card-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.daily-brief-footer {
  justify-content: space-between;
}

.daily-brief-close {
  border: 0;
  padding: 7px 0;
  background: transparent;
  color: #526174;
}

.daily-brief-close {
  position: absolute;
  z-index: 1;
  top: -6px;
  right: 0;
  width: 44px;
  font-size: 30px;
}

.daily-brief-heading {
  position: relative;
  margin: 12px 0 22px;
}

.daily-brief-heading h1 {
  position: relative;
  margin: 0 0 9px;
  padding-right: 54px;
  font-size: 28px !important;
  line-height: 1.25;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: #202b3a;
}

.daily-brief-greeting-sun {
  position: absolute;
  top: 9px;
  left: -34px;
  width: 24px;
  color: #60758f;
  font-size: 0.8em;
  text-align: center;
}

.daily-brief-heading p {
  margin: 0 0 8px;
  color: #526174;
  font-size: 16px;
  line-height: 1.5;
}

.daily-brief-date,
.daily-brief-footer,
.daily-brief-description,
.daily-brief-entry-detail,
.daily-brief-remaining {
  color: #526174;
  font-size: 14px;
}

.daily-brief-date {
  color: #526174;
  font-size: 13px;
  letter-spacing: 0.03em;
}

.daily-brief-message:not(:empty) {
  margin: 20px 0;
}

.daily-brief-overlay .text-danger {
  color: #a52d25;
}

.daily-brief-overlay button:focus-visible,
.daily-brief-completed summary:focus-visible {
  outline: 2px solid #337ab7;
  outline-offset: 4px;
}

#dailyBriefSectionCard {
  margin: 20px 0;
}

.daily-brief-turnaround {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 25px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #d3dae3;
  color: #526174;
  font-size: 14px;
}

.daily-brief-turnaround.sale-initially-hidden {
  display: none;
}

.daily-brief-grid {
  column-count: 3;
  column-gap: 18px;
  orphans: 1;
  widows: 1;
  margin-bottom: 4px;
}

/* Flow in DOM priority order down each column; keep every card together. */
.daily-brief-grid > .daily-brief-card,
.daily-brief-notes-list > .daily-brief-card {
  display: inline-block;
  width: 100%;
  margin-bottom: 18px;
  break-inside: avoid;
  vertical-align: top;
}

#dailyBriefNotesPanel {
  margin-bottom: 0;
}

.daily-brief-notes-list {
  display: contents;
}

#dailyBriefNotesMessage:not(:empty) {
  margin-bottom: 12px;
}

.daily-brief-card.daily-brief-sticky-note {
  --daily-note-paper: #fff3ad;
  --daily-note-fold: #e1c968;
  display: inline-flex;
  flex-direction: column;
  position: relative;
  padding: 20px;
  border: 0;
  border-radius: 2px;
  background: linear-gradient(225deg, transparent 18px, var(--daily-note-paper) 18px);
  color: #303b47;
  box-shadow: 0 4px 7px rgba(70, 61, 23, 0.12);
}

.daily-brief-sticky-note.daily-brief-sticky-pink {
  --daily-note-paper: #fce1e7;
  --daily-note-fold: #e7b6c4;
}

.daily-brief-sticky-note.daily-brief-sticky-mint {
  --daily-note-paper: #def1dd;
  --daily-note-fold: #afcfab;
}

.daily-brief-sticky-note.daily-brief-sticky-blue {
  --daily-note-paper: #deecfc;
  --daily-note-fold: #b5cdea;
}

.daily-brief-sticky-note::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 26px;
  height: 26px;
  background: linear-gradient(45deg, var(--daily-note-fold) 50%, transparent 50%);
  pointer-events: none;
}

.daily-brief-sticky-note .internal-note-text {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.6;
}

.daily-brief-sticky-note .internal-note-assignment {
  margin: 0 14px 10px 0;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.daily-brief-sticky-note .internal-note-meta {
  display: grid;
  gap: 4px;
  margin: 0 0 12px;
  color: #526174;
}

.daily-brief-sticky-note .internal-note-author {
  color: #526174;
  font-size: 12px;
  font-style: italic;
  font-weight: 400;
}

.daily-brief-sticky-note .internal-note-actions {
  margin: 0;
}

#dailyBriefNotesMore {
  margin-top: 14px;
}

.daily-brief-sticky-note .internal-note-meta {
  padding-right: 14px;
}

.daily-brief-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid #d3dae3;
  border-radius: 10px;
  background: #fff;
  color: #202b3a;
  box-shadow: 0 2px 8px rgba(24, 39, 58, 0.04);
}

.daily-brief-card .daily-brief-description,
.daily-brief-card .daily-brief-entry-detail,
.daily-brief-card .daily-brief-remaining {
  color: #526174;
  font-size: 13px;
  line-height: 1.5;
}

.daily-brief-card .text-danger {
  color: #a52d25;
}

.daily-brief-card-heading {
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.daily-brief-card-heading > .fa {
  margin-top: 4px;
  color: #60758f;
}

.daily-brief-card-heading h2 {
  flex: 1;
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  color: #202b3a;
}

.daily-brief-count {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 6px 10px;
  border: 1px solid #c4d5e8;
  border-radius: 8px;
  background: #edf3fa;
  color: #254e77;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.daily-brief-count strong {
  font-size: 19px;
  line-height: 1.2;
}

.daily-brief-action {
  max-width: 100%;
  white-space: normal;
  text-align: left;
}

.daily-brief-entries {
  padding: 0;
  margin: 0 0 15px;
  list-style: none;
}

.daily-brief-entries li + li {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #edf0f4;
}

.daily-brief-entry-title,
.daily-brief-entry-detail {
  display: block;
  overflow-wrap: anywhere;
}

.daily-brief-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: #28669a;
  text-align: left;
  font-weight: 600;
  line-height: 1.5;
}

.daily-brief-link:hover {
  color: #19456b;
  text-decoration: underline;
}

.daily-brief-entry-title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.daily-brief-entry-detail {
  margin-top: 3px;
  white-space: pre-line;
}

.daily-brief-card:not(.daily-brief-card-expanded) .daily-brief-entry-detail {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.daily-brief-card-urgent {
  border-color: #dfa2a2;
}

.daily-brief-escalation {
  color: #9e3636;
  font-size: 13px;
  line-height: 1.5;
  padding: 8px 10px;
  border-left: 2px solid #c95757;
  border-radius: 3px;
  background: #fff3f3;
}

.daily-brief-card-done {
  border-color: #c5ddce;
  background: #f5fbf7;
}

.daily-brief-card-done .fa-check-circle {
  color: #28703b;
}

.daily-brief-card-done .daily-brief-count {
  border-color: #b8d8c4;
  background: #e4f4ea;
  color: #205c37;
}

.daily-brief-completed {
  margin-top: 25px;
}

.daily-brief-completed summary {
  margin-bottom: 15px;
  color: #36465b;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

#dailyBriefCompletedCount {
  color: #28703b;
}

.daily-brief-footer {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #d3dae3;
  font-size: 13px;
  line-height: 1.6;
}

.daily-brief-footer p {
  margin-bottom: 4px;
}

#dailyBriefUpdated {
  color: #526174;
  font-size: 12px;
}

@media (max-width: 991px) {
  .daily-brief-grid {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  .daily-brief-overlay .modal-dialog {
    width: calc(100% - 56px);
    margin: 12px auto;
  }

  .daily-brief-grid {
    column-count: 1;
  }

  .daily-brief-heading h1 {
    font-size: 24px !important;
  }

  .daily-brief-greeting-sun {
    top: 7px;
    left: -26px;
    width: 20px;
  }

  .daily-brief-heading p {
    font-size: 15px;
  }

}

/*=============================================
TRACKING DISPATCH EMAIL AND POSTAL APPROVAL
=============================================*/

.tracking-dispatch-email {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #ddd;
}

#modaltrackingguide textarea.form-control.tracking-email-message,
#modaltrackingorder.tracking-staff-action textarea.form-control.tracking-email-message {
  height: auto;
  overflow-y: hidden;
  resize: none;
  font-size: 16px;
  line-height: 1.5;
}

.tracking-dispatch-email [hidden] {
  display: none;
}

#modaltrackingguide .tracking-address-warning:not([hidden]),
#modaltrackingorder.tracking-staff-action .tracking-address-warning:not([hidden]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid #ead49d;
  border-left: 3px solid #d8a344;
  background-color: #fff8e7;
  color: #765b23;
  font-size: 14px;
  line-height: 20px;
}

.tracking-address-warning-message {
  flex: 1 1 240px;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

#modaltrackingguide .tracking-address-warning .tracking-address-update,
#modaltrackingorder.tracking-staff-action .tracking-address-warning .tracking-address-update {
  flex: 0 0 auto;
  width: auto;
  min-height: 34px;
  margin: 0;
  padding: 6px 10px;
  border-color: #d8c28d;
  background-color: #fff;
  color: #765b23;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}

#modaltrackingguide .tracking-address-warning .tracking-address-update:hover,
#modaltrackingguide .tracking-address-warning .tracking-address-update:focus,
#modaltrackingorder.tracking-staff-action .tracking-address-warning .tracking-address-update:hover,
#modaltrackingorder.tracking-staff-action .tracking-address-warning .tracking-address-update:focus {
  border-color: #cba65c;
  background-color: #fff3d4;
  color: #765b23;
}

.tracking-email-attachment-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 15px;
}

.tracking-email-attachment .btn {
  margin-top: 8px;
}

#modaltrackingguide .tracking-email-attachments .tracking-email-remove-photo,
#modaltrackingorder.tracking-staff-action .tracking-email-attachments .tracking-email-remove-photo {
  min-height: 0;
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}

.postal-confirmation-panel {
  display: none;
}

.postal-order-item + .postal-order-item {
  margin-top: 16px;
}

.postal-order-item-department {
  margin-top: 10px;
}

.postal-order-requirement {
  display: table;
  white-space: nowrap;
  text-align: left;
  cursor: default;
}

.postal-order-requirement + .postal-order-requirement {
  margin-top: 6px;
}

/* Keep the required approval method compact and visibly selectable. */
.postal-approval-method {
  max-width: 360px;
  height: 42px;
  border: 2px solid #888;
  border-radius: 4px;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: auto;
}

.postal-approval-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.postal-approval-photos img {
  width: 140px;
  height: 140px;
  object-fit: contain;
  border: 1px solid #ddd;
}

/* Customer confirmation links: public review. */
.customer-confirmation-page {
  background: #f3f3f3;
  color: #261015;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 16px;
  padding: 32px 16px;
}

.customer-confirmation-card {
  max-width: 680px;
  margin: 0 auto;
  padding: 36px 40px;
  background: #fff;
  border: 1px solid #e4dfda;
  border-top: 3px solid #c49d71;
  border-radius: 6px;
}

.customer-confirmation-header { text-align: center; }
.customer-confirmation-brand {
  display: block;
  width: 180px;
  height: auto;
  margin: 0 auto 28px;
}

.customer-confirmation-eyebrow { color: #6b605c; font-size: 14px; margin-bottom: 8px; }
.customer-confirmation-card h1 { margin: 0 0 12px; font-size: 28px; font-weight: 600; line-height: 1.3; }
.customer-confirmation-card h2 { margin: 0 0 16px; font-size: 20px; line-height: 1.4; font-weight: 600; }
.customer-confirmation-card p { line-height: 1.6; }
.customer-confirmation-step { border-top: 1px solid #e4dfda; margin-top: 26px; padding-top: 24px; }
.customer-confirmation-step-number {
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 7px;
  border: 1px solid #c49d71;
  border-radius: 50%;
  font-size: 15px;
  line-height: 26px;
  text-align: center;
  vertical-align: middle;
}

.customer-confirmation-hint { color: #6b605c; font-size: 14px; }
.customer-confirmation-address { white-space: pre-wrap; overflow-wrap: anywhere; }
.customer-confirmation-address-summary { padding: 16px 18px; margin-bottom: 12px; background: #f8f6f3; border-radius: 4px; }
.customer-confirmation-address-summary p { margin: 0; }
.customer-confirmation-photos { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.customer-confirmation-photo {
  width: calc(50% - 6px);
  padding: 0;
  border: 1px solid #e4dfda;
  border-radius: 4px;
  background: #f3f3f3;
  cursor: zoom-in;
}

.customer-confirmation-photos img { display: block; width: 100%; height: 220px; object-fit: contain; border-radius: 4px; }
.customer-confirmation-photo-expanded { width: 100%; cursor: zoom-out; }
.customer-confirmation-photos .customer-confirmation-photo-expanded img { height: auto; }
.customer-confirmation-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 18px 0 0;
  padding: 14px;
  border: 1px solid #e4dfda;
  border-radius: 4px;
  font-weight: normal;
  line-height: 1.5;
  cursor: pointer;
}

.customer-confirmation-consent input { flex: 0 0 22px; width: 22px; height: 22px; margin: 1px 0 0; accent-color: #261015; }
.customer-confirmation-card .btn { min-height: 48px; padding: 12px 18px; border-radius: 4px; font-size: 16px; white-space: normal; }
.customer-confirmation-card .btn-default { border-color: #9b8b7a; color: #261015; background: #fff; }
.customer-confirmation-page .customer-confirmation-button { color: #fff; background: #261015; border-color: #261015; font-weight: 600; }
.customer-confirmation-page .customer-confirmation-button:hover,
.customer-confirmation-page .customer-confirmation-button:focus { color: #fff; background: #452a30; border-color: #452a30; }
.customer-confirmation-page .customer-confirmation-button:disabled { opacity: 1; color: #665f59; background: #e7e2dc; border-color: #e7e2dc; }
.customer-confirmation-submit { width: 100%; margin-top: 26px; }
.customer-confirmation-card .form-control { height: 48px; border-color: #9b8b7a; border-radius: 4px; font-size: 16px; color: #261015; box-shadow: none; }
.customer-confirmation-card .form-group label { font-size: 14px; }
.customer-confirmation-help { border-top: 1px solid #e4dfda; margin-top: 28px; padding-top: 20px; color: #6b605c; text-align: center; font-size: 14px; }
.customer-confirmation-help p { margin-bottom: 4px; }
.customer-confirmation-help a { display: inline-block; min-height: 44px; padding: 12px; color: #261015; text-decoration: underline; }
.customer-confirmation-page a:focus,
.customer-confirmation-page button:focus,
.customer-confirmation-page input:focus { outline: 3px solid #835f36; outline-offset: 3px; }
.customer-confirmation-page [hidden] { display: none !important; }
#customerConfirmationTitle:focus, #customerConfirmationMessage:focus { outline: none; }
#customerConfirmationMessage.text-danger { padding: 14px; margin-top: 20px; color: #942b22; background: #fff2f1; border: 1px solid #ecb4ac; border-radius: 4px; }
.customer-confirmation-balance {
  margin: 12px 0;
  color: #261015;
  font-size: 28px;
  font-weight: 600;
}

.customer-confirmation-receipt { margin-top: 28px; padding: 24px 18px; background: #f8f6f3; border-radius: 4px; text-align: center; }
.customer-confirmation-receipt h2 { margin-top: 16px; }
.customer-confirmation-receipt p { margin: 0; }
.customer-confirmation-success { display: inline-block; width: 48px; height: 48px; border: 1px solid #c49d71; border-radius: 50%; font-size: 27px; line-height: 46px; }

@media (max-width: 540px) {
  .customer-confirmation-page { padding: 12px 8px; }
  .customer-confirmation-card { padding: 26px 18px; }
  .customer-confirmation-card h1 { font-size: 24px; }
  .customer-confirmation-card h2 { font-size: 19px; }
  .customer-confirmation-step { margin-top: 22px; padding-top: 22px; }
  .customer-confirmation-photos img { height: 160px; }
}
