.rate-entry { --re-line: #d7e2db; --re-muted: #586a5e; display: grid; gap: 16px; width: 100%; min-width: 0; }
.rate-entry *, .rate-entry *::before, .rate-entry *::after { box-sizing: border-box; }
.rate-entry .re-intro { background: #eef6f0; border: 1px solid var(--re-line); border-radius: 10px; padding: 12px 14px; line-height: 1.5; }
.rate-entry .re-section { display: grid; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--re-line); border-radius: 12px; background: #fff; }
.rate-entry .re-section-head, .rate-entry .re-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; min-width: 0; }
.rate-entry h3, .rate-entry h4, .rate-entry p { margin: 0; }
.rate-entry h3 { font-size: 1rem; line-height: 1.4; }
.rate-entry h3 > span { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 7px; border-radius: 50%; background: #17664c; color: #fff; font-size: .82rem; }
.rate-entry h4 { font-size: .94rem; }
.rate-entry .re-count { color: var(--re-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.rate-entry .re-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.rate-entry .re-field { display: grid; align-content: start; gap: 5px; min-width: 0; font-size: .82rem; font-weight: 600; }
.rate-entry .re-field > span { overflow-wrap: anywhere; }
.rate-entry .re-field input, .rate-entry .re-field select, .rate-entry .re-field textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 43px; font: inherit; font-size: .95rem; font-weight: 400; color: #24392d; border: 1px solid #bccdc2; border-radius: 7px; padding: 9px 10px; background: #fff; }
.rate-entry .re-field input[type="date"] { min-width: 0; appearance: none; }
.rate-entry .re-field textarea { min-height: 85px; resize: vertical; }
.rate-entry .re-field input:focus, .rate-entry .re-field select:focus, .rate-entry .re-field textarea:focus { outline: 2px solid #17664c; outline-offset: 1px; }
.rate-entry .re-field input[readonly], .rate-entry .re-field input:disabled { background: #f2f5f3; color: #56645b; }
.rate-entry .re-field input[aria-invalid="true"] { border-color: #b13632; }
.rate-entry .re-full { grid-column: 1 / -1; }
.rate-entry .re-help, .rate-entry .re-suggestion-status { color: var(--re-muted); line-height: 1.5; font-size: .8rem; overflow-wrap: anywhere; }
.rate-entry .re-suggestion-status:empty { display: none; }
.rate-entry .re-entry-cards, .rate-entry .re-surcharge-cards { display: grid; gap: 12px; min-width: 0; }
.rate-entry .re-card { display: grid; gap: 12px; border: 1px solid var(--re-line); border-radius: 9px; padding: 14px; background: #f8faf8; min-width: 0; }
.rate-entry .re-surcharge { background: #fffaf0; }
.rate-entry .re-card-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.rate-entry button { white-space: normal; overflow-wrap: anywhere; }
.rate-entry button:disabled { cursor: default; opacity: .55; }
.rate-entry .re-add { justify-self: start; min-height: 43px; }
.rate-entry .re-package { display: grid; gap: 12px; border-top: 1px solid var(--re-line); padding-top: 12px; min-width: 0; }
.rate-entry .re-package > button { justify-self: start; }
.rate-entry .re-stops { display: grid; gap: 10px; }
.rate-entry .re-stop { display: grid; grid-template-columns: minmax(0, 1fr) 90px 36px; gap: 8px; align-items: end; min-width: 0; }
.rate-entry .re-stop > button { min-height: 43px; padding: 7px; }
.rate-entry .re-optional { border-top: 1px solid var(--re-line); padding-top: 10px; min-width: 0; }
.rate-entry .re-optional > summary { cursor: pointer; font-size: .86rem; font-weight: 600; line-height: 1.5; }
.rate-entry .re-optional[open] > .re-grid { margin: 12px 0; }
.rate-entry .re-confirm { display: flex; align-items: flex-start; gap: 10px; font-size: .86rem; line-height: 1.5; font-weight: 400; }
.rate-entry .re-confirm input { flex: 0 0 auto; width: 19px; height: 19px; margin: 2px 0 0; accent-color: #17664c; }
.rate-entry .re-review { background: #eef6f0; }
.rate-entry .re-review > div { display: grid; gap: 8px; }
.rate-entry .re-review ul { list-style: none; padding: 0; margin: 2px 0; }
.rate-entry .re-review li { display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--re-line); font-size: .86rem; }
.rate-entry .re-review li > span { overflow-wrap: anywhere; min-width: 0; }
.rate-entry .re-review li > strong { font-variant-numeric: tabular-nums; }
.rate-entry .re-review li small { display: block; margin-top: 3px; color: var(--re-muted); font-weight: 400; font-size: .78rem; }
.rate-entry.re-inline-surcharges { margin-top: 14px; }
.rate-entry .re-errors { color: #7b2422; border: 1px solid #d7a7a5; background: #fff1f0; border-radius: 8px; padding: 12px; font-size: .88rem; line-height: 1.5; }
.rate-entry .re-errors ul { margin: 8px 0 0; padding-left: 20px; }
.rate-entry [hidden] { display: none !important; }
@media (max-width: 620px) {
  .rate-entry { gap: 12px; }
  .rate-entry .re-section { padding: 12px; gap: 10px; }
  .rate-entry .re-card { padding: 11px; }
  .rate-entry .re-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rate-entry .re-field input, .rate-entry .re-field select, .rate-entry .re-field textarea { font-size: 16px; }
  .rate-entry .re-card-actions { margin-left: auto; }
  .rate-entry .re-card-actions button { min-height: 38px; }
  .rate-entry .re-add { width: 100%; }
  .rate-entry .re-stop { grid-template-columns: minmax(0, 1fr) 72px 34px; gap: 6px; }
}
@media (max-width: 360px) {
  .rate-entry .re-card-head { align-items: flex-start; gap: 8px; }
  .rate-entry .re-card-actions { width: 100%; margin-left: 0; }
  .rate-entry .re-stop { grid-template-columns: minmax(0, 1fr) 66px 30px; }
  .rate-entry .re-stop > button { min-width: 0; }
}
