/* Guided Painter Pro review: clear enough for first-time software users. */

.painting-shared-estimate-page .estimate-review-guided {
  display: grid;
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
}

.review-guided-header,
.review-guided-actions,
.review-checklist-group,
.review-ready {
  border: 1px solid #304a5d;
  border-radius: 13px;
  background: #07141e;
}

.estimate-review-guided > .proposal-estimator-record-strip {
  position: relative;
  z-index: 5;
  margin: 0 !important;
  background: transparent !important;
}

.estimate-review-guided > .proposal-estimator-record-strip :is(
  .proposal-estimator-note-trigger,
  .proposal-estimator-work-order,
  .proposal-mobile-notes-toggle
) {
  border-color: #304354 !important;
  background: #050b10 !important;
  color: #f4f7fa !important;
}

.review-guided-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 14px 18px;
}

.review-guided-title {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.review-guided-title > div,
.review-checklist-group > header > div,
.review-ready-title { min-width: 0; }

.review-guided-title .estimate-review-service-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 13px;
}

.review-guided-title small,
.review-guided-title p,
.review-guided-summary small,
.review-guided-help small,
.review-checklist-group header p,
.review-row-service small,
.review-ready p,
.review-ready div small {
  color: #adc0cf;
  font-size: 14px;
  line-height: 1.42;
}

.review-guided-title h2 {
  margin: 2px 0 3px;
  color: #fff;
  font-size: clamp(25px, 2.2vw, 34px);
  line-height: 1.08;
  letter-spacing: -.55px;
}

.review-guided-title p,
.review-checklist-group header p,
.review-ready p { margin: 0; }

.review-guided-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(126px, auto));
  border: 1px solid #365369;
  border-radius: 11px;
  background: #0a1924;
}

.review-guided-summary > span {
  display: grid;
  grid-template-columns: 32px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 10px;
  min-height: 72px;
  padding: 10px 16px;
}

.review-guided-summary > span + span { border-left: 1px solid #344d5f; }
.review-guided-summary svg { grid-row: 1 / 3; width: 27px; height: 27px; color: #58e296; }
.review-guided-summary .optional svg { color: #ef61d8; }
.review-guided-summary .total svg,
.review-guided-summary .total strong { color: #ff8a1e; }
.review-guided-summary strong { align-self: end; color: #fff; font-size: 24px; line-height: 1; }
.review-guided-summary small { align-self: start; white-space: nowrap; }

.review-guided-actions {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  align-items: stretch;
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.review-guided-help {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 12px 16px;
  border: 1px solid #1679bd;
  border-radius: 11px;
  background: rgba(10, 85, 136, .14);
}

.review-guided-help > svg { flex: 0 0 25px; color: #3fc2ff; }
.review-guided-help span { display: grid; gap: 2px; }
.review-guided-help strong { color: #dff4ff; font-size: 15px; }

.review-guided-actions > div:last-child {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.review-guided-actions button,
.review-checklist-group header button,
.review-ready > button {
  min-height: 50px;
  padding-inline: 17px;
  white-space: nowrap;
}

.estimate-review-guided :is(.review-guided-actions,.review-checklist-group,.review-ready) .btn,
.estimate-review-guided .review-row-edit {
  border-color: #41596c !important;
  background: #101d28 !important;
  color: #eef5fa !important;
  box-shadow: none !important;
}

.estimate-review-guided :is(.review-guided-actions,.review-ready) .primary {
  border-color: #f07a12 !important;
  background: linear-gradient(135deg,#ef7310,#ff9f1f) !important;
  color: #130b03 !important;
  box-shadow: 0 10px 24px rgba(239,115,16,.15) !important;
}

.review-guided-actions .btn.optional,
.review-checklist-group.optional header .btn { border-color: #b83aa8; color: #f2b3e8; }

.review-checklist-group { overflow: visible; }
.review-checklist-group.optional { border-color: #b13a9f; background: #0d1320; }

.review-checklist-group > header {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 70px;
  padding: 10px 16px;
}

.review-checklist-group.optional > header { background: rgba(177, 58, 159, .09); }
.review-checklist-group header h3,
.review-ready h3 { margin: 0 0 3px; color: #fff; font-size: 21px; }

.review-step-number {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #55e893;
  color: #03130b;
  font-size: 21px;
  font-weight: 850;
}

.review-checklist-group.optional .review-step-number { background: #ef59d4; color: #1b0617; }

.review-checklist-columns,
.review-checklist-row {
  display: grid;
  grid-template-columns: 145px minmax(175px, .85fr) minmax(290px, 1.65fr) 82px 128px 44px;
  align-items: center;
  column-gap: 14px;
}

.review-checklist-columns {
  min-height: 39px;
  padding: 0 16px;
  border-top: 1px solid #294254;
  border-bottom: 1px solid #294254;
  color: #90a8b9;
  font-size: 12px;
}

.review-checklist-row {
  position: relative;
  min-height: 68px;
  padding: 8px 16px;
  background: #081720;
}

.review-checklist-row + .review-checklist-row { border-top: 1px solid #243a49; }
.review-checklist-group.optional .review-checklist-row { background: rgba(177, 58, 159, .035); }

.review-row-status {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 7px;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid #176b43;
  border-radius: 8px;
  background: rgba(23, 107, 67, .25);
  color: #72e6a5;
  font-size: 13px;
}

.review-checklist-row.optional .review-row-status {
  border-color: #7b276f;
  background: rgba(123, 39, 111, .26);
  color: #f078dd;
}

.review-row-status svg { width: 19px; height: 19px; }
.review-row-service { display: grid; gap: 4px; min-width: 0; }
.review-row-service strong { color: #fff; font-size: 15px; }
.review-row-service small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.review-row-description {
  min-width: 0;
  color: #c9d6df;
  font-size: 13px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-row-description details { display: inline; }
.review-row-description details > summary {
  display: inline;
  margin-left: 5px;
  color: #42c8ff;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.review-row-description details > summary::-webkit-details-marker { display: none; }
.review-row-description details[open] { display: block; white-space: normal; }
.review-row-description details[open] > summary { display: block; margin: 6px 0 0; }
.review-row-description details p { margin: 6px 0 0; color: #dce6ed; }

.review-row-price { color: #ff8a1e; font-size: 18px; text-align: right; }
.review-row-edit { min-height: 44px; justify-content: center; font-size: 14px; }
.review-row-edit svg { width: 18px; height: 18px; }

.review-row-menu { position: relative; }
.review-row-menu > summary {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #405668;
  border-radius: 8px;
  color: #d8e4ec;
  cursor: pointer;
  list-style: none;
}
.review-row-menu > summary::-webkit-details-marker { display: none; }
.review-row-menu > div {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  min-width: 185px;
  padding: 8px;
  border: 1px solid #4c3340;
  border-radius: 9px;
  background: #101820;
  box-shadow: 0 18px 38px rgba(0,0,0,.45);
}
.review-row-menu .danger { width: 100%; color: #ff9ea8; }

.review-empty-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 72px;
  padding: 12px 16px;
  color: #b7c6d1;
}

.review-ready {
  display: grid;
  grid-template-columns: 52px minmax(220px, 1.1fr) repeat(3, minmax(170px, .9fr)) auto;
  align-items: center;
  gap: 14px;
  padding: 11px 16px;
  border-color: #1481b8;
}

.review-ready .review-step-number { background: #59caff; color: #052033; }
.review-ready-title { min-width: 0; }
.review-ready > div:not(.review-ready-title) {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-left: 14px;
  border-left: 1px solid #345064;
}
.review-ready > div > svg { flex: 0 0 24px; color: #35c8ff; }
.review-ready > div > span { display: grid; gap: 2px; min-width: 0; }
.review-ready > div strong { color: #fff; font-size: 14px; line-height: 1.3; }
.review-ready > button { min-width: 250px; }

@media (prefers-reduced-motion: no-preference) {
  .review-checklist-row { transition: background-color .16s ease, box-shadow .16s ease; }
  .review-checklist-row:hover { background: #0b1d28; box-shadow: inset 3px 0 #27c2ff; }
  .review-checklist-group.optional .review-checklist-row:hover { box-shadow: inset 3px 0 #ef59d4; }
  .review-row-edit,
  .review-guided-actions button,
  .review-ready > button { transition: transform .15s ease, border-color .15s ease, background-color .15s ease; }
  .review-row-edit:hover,
  .review-guided-actions button:hover,
  .review-ready > button:hover { transform: translateY(-1px); }
}

@media (max-width: 1220px) {
  .review-guided-header { grid-template-columns: 1fr; }
  .review-guided-summary { width: 100%; grid-template-columns: repeat(3, 1fr); }
  .review-guided-actions { grid-template-columns: 1fr; }
  .review-guided-actions > div:last-child { justify-content: flex-end; }
  .review-checklist-columns { display: none; }
  .review-checklist-row { grid-template-columns: 125px minmax(180px, 1fr) 78px 116px 42px; }
  .review-row-description { grid-column: 2 / 6; padding-top: 2px; white-space: normal; }
  .review-ready { grid-template-columns: 48px minmax(220px, 1fr) repeat(2, minmax(170px, 1fr)); }
  .review-ready > div:nth-of-type(4) { grid-column: 2 / 3; }
  .review-ready > button { grid-column: 3 / 5; }
}

@media (max-width: 760px) {
  .painting-shared-estimate-page .estimate-review-guided { gap: 11px; }
  .review-guided-header,
  .review-guided-actions,
  .review-checklist-group,
  .review-ready { width: 100%; min-width: 0; border-radius: 10px; }
  .review-guided-header { padding: 14px; gap: 14px; }
  .review-guided-title { align-items: flex-start; }
  .review-guided-title h2,
  .review-guided-title p,
  .review-checklist-group header :is(h3,p),
  .review-ready-title :is(h3,p) { overflow-wrap: anywhere; }
  .review-guided-title .estimate-review-service-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .review-guided-title h2 { font-size: 25px; }
  .review-guided-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .review-guided-summary > span { grid-template-columns: 1fr; grid-template-rows: auto auto auto; justify-items: center; min-height: 88px; padding: 9px 5px; text-align: center; }
  .review-guided-summary svg { grid-row: auto; width: 22px; height: 22px; }
  .review-guided-summary strong { font-size: 20px; }
  .review-guided-summary small { white-space: normal; font-size: 11px; }
  .review-guided-help { align-items: flex-start; }
  .review-guided-actions > div:last-child { display: grid; grid-template-columns: 1fr; }
  .review-guided-actions button { width: 100%; }
  .review-checklist-group > header { grid-template-columns: 44px minmax(0,1fr); padding: 12px; }
  .review-checklist-group > header > button { grid-column: 1 / 3; width: 100%; }
  .review-step-number { width: 40px; height: 40px; }
  .review-checklist-row { grid-template-columns: 1fr auto; gap: 10px; padding: 14px 12px; }
  .review-row-status { grid-column: 1; grid-row: 1; }
  .review-row-price { grid-column: 2; grid-row: 1; }
  .review-row-service { grid-column: 1 / 3; grid-row: 2; }
  .review-row-service strong { font-size: 17px; }
  .review-row-service small { white-space: normal; }
  .review-row-description { grid-column: 1 / 3; grid-row: 3; padding: 0; }
  .review-row-edit { grid-column: 1; grid-row: 4; width: 100%; }
  .review-row-menu,
  .review-row-menu-spacer { grid-column: 2; grid-row: 4; }
  .review-ready { grid-template-columns: 42px 1fr; padding: 14px 12px; }
  .review-ready-title { grid-column: 2; }
  .review-ready > div:not(.review-ready-title) { grid-column: 1 / 3 !important; padding: 11px 0 0; border-top: 1px solid #345064; border-left: 0; }
  .review-ready > button { grid-column: 1 / 3; width: 100%; min-width: 0; }
}
