:root {
  --bg: #0f172a;
  --panel: #111827;
  --panel-2: #1f2937;
  --text: #f8fafc;
  --muted: #cbd5e1;
  --border: rgba(255,255,255,.1);
  --accent: #f97316;
  --success: #22c55e;
  --danger: #ef4444;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #0b1220, #111827);
  color: var(--text);
}
.app-shell {
  max-width: 1240px;
  margin: 0 auto;
  padding: 24px;
}
.topbar, .panel {
  background: rgba(17,24,39,.92);
  border: 1px solid var(--border);
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.topbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  margin-bottom: 24px;
  align-items: center;
}
.eyebrow {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
h1, h2 { margin: 0 0 10px; }
.muted { margin: 0; color: var(--muted); line-height: 1.6; }
.small-text { font-size: 13px; }
.call-link, button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 0;
  border-radius: 16px;
  padding: 0 18px;
  background: linear-gradient(135deg, var(--accent), #fb923c);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
button.secondary { background: #374151; }
button.complete { background: linear-gradient(135deg, var(--success), #16a34a); }
button:disabled { opacity: .6; cursor: not-allowed; }
.page-grid { display: grid; gap: 24px; grid-template-columns: 380px 1fr; }
.page-grid.single-column { grid-template-columns: 1fr; }
.page-grid-faz2 { grid-template-columns: 420px 1fr; }
.panel { padding: 24px; }
.status-badge {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(249,115,22,.15);
  color: #fdba74;
  font-weight: 700;
  margin-bottom: 16px;
}
.timeline {
  list-style: none;
  padding: 0;
  margin: 22px 0;
  display: grid;
  gap: 12px;
}
.timeline li {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.05);
  color: var(--muted);
}
.timeline li.is-active {
  color: #fff;
  border-color: rgba(249,115,22,.5);
  background: rgba(249,115,22,.12);
}
.meta-box, .panel-mini {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: var(--muted);
}
.panel-mini-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.panel-mini-state {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 12px;
}
.kvkk {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
#map { width: 100%; height: 620px; border-radius: 18px; overflow: hidden; }
.hidden { display: none !important; }
.form-grid, .info-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.info-grid.compact div {
  display: grid;
  gap: 4px;
}
.info-grid span {
  color: var(--muted);
  font-size: 12px;
}
.info-grid strong {
  color: #fff;
}
label { display: grid; gap: 8px; color: var(--muted); font-weight: 600; }
input, select, textarea {
  width: 100%;
  background: rgba(255,255,255,.05);
  color: #fff;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 14px 16px;
  font: inherit;
}
.checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
}
.checkbox input { width: auto; }
.form-message {
  margin-top: 14px;
  font-weight: 600;
}
.form-message.error { color: #fca5a5; }
.form-message.success { color: #86efac; }
.driver-actions, .inline-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.text-link {
  color: #fdba74;
  text-decoration: none;
  font-weight: 700;
}
@media (max-width: 980px) {
  .page-grid, .page-grid-faz2 { grid-template-columns: 1fr; }
  #map { height: 380px; }
  .topbar { flex-direction: column; align-items: flex-start; }
  .form-grid, .info-grid { grid-template-columns: 1fr; }
}


/* UX Hotfix v2.0.7 - timeline improvements */
.timeline {
  list-style: none;
  padding: 0;
  margin: 22px 0;
  display: grid;
  gap: 12px;
}
.timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 18px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 16px 16px 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  color: var(--muted);
  overflow: hidden;
}
.timeline-item + .timeline-item::before {
  content: "";
  position: absolute;
  left: 26px;
  top: -14px;
  width: 2px;
  height: 18px;
  background: rgba(255,255,255,.08);
}
.timeline-marker {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  margin-top: 2px;
  background: rgba(255,255,255,.14);
  border: 2px solid rgba(255,255,255,.12);
}
.timeline-copy { display: grid; gap: 4px; }
.timeline-copy strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.3;
}
.timeline-copy small {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
}
.timeline-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,.06);
  color: #cbd5e1;
}
.timeline-item.is-upcoming {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.05);
}
.timeline-item.is-current {
  background: linear-gradient(180deg, rgba(249,115,22,.14), rgba(249,115,22,.08));
  border-color: rgba(249,115,22,.42);
  box-shadow: 0 12px 24px rgba(249,115,22,.12);
}
.timeline-item.is-current .timeline-marker {
  background: rgba(249,115,22,.24);
  border-color: rgba(249,115,22,.65);
  box-shadow: 0 0 0 6px rgba(249,115,22,.10);
}
.timeline-item.is-current .timeline-chip {
  background: rgba(249,115,22,.18);
  color: #fed7aa;
}
.timeline-item.is-done {
  background: linear-gradient(180deg, rgba(34,197,94,.16), rgba(34,197,94,.08));
  border-color: rgba(34,197,94,.34);
}
.timeline-item.is-done .timeline-marker {
  background: rgba(34,197,94,.22);
  border-color: rgba(34,197,94,.55);
}
.timeline-item.is-done .timeline-marker::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border-right: 2px solid #bbf7d0;
  border-bottom: 2px solid #bbf7d0;
  transform: rotate(40deg);
}
.timeline-item.is-done .timeline-chip {
  background: rgba(34,197,94,.18);
  color: #bbf7d0;
}
.status-panel .meta-box {
  gap: 10px;
}
@media (max-width: 720px) {
  .timeline-item {
    grid-template-columns: 18px 1fr;
  }
  .timeline-chip {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
  }
}


/* Review UI Hotfix v2.1.1 - theme v3.1.4 stars */
.review-panel {
  margin-top: 24px;
  padding-top: 28px;
}
.review-panel-head {
  margin-bottom: 18px;
}
.review-panel-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.review-grid {
  align-items: start;
}
.review-rating-block {
  display: grid;
  gap: 10px;
}
.field-label {
  color: var(--muted);
  font-weight: 600;
}
.yr-rating-field{margin-top:8px}
.yr-rating-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.yr-rating-value{font-weight:700;color:#f7931e;white-space:nowrap}
.yr-picker{position:relative;height:34px;display:inline-block;user-select:none}
.yr-picker-bg,.yr-picker-fill{font-size:34px;line-height:1;letter-spacing:2px;white-space:nowrap}
.yr-picker-bg{color:rgba(255,255,255,.16)}
.yr-picker-fill{position:absolute;left:0;top:0;color:#f7931e;overflow:hidden;pointer-events:none}
.yr-picker-hitboxes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr)}
.yr-picker-hit{all:unset !important;display:block !important;width:100% !important;height:100% !important;cursor:pointer !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;appearance:none !important;-webkit-appearance:none !important}
.yr-picker-hit:focus-visible{outline:2px solid rgba(247,147,30,.55);outline-offset:2px}
.rating-caption {
  min-height: 20px;
  color: #fde68a;
  font-size: 13px;
  font-weight: 700;
}
.consent-toggle {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}
.consent-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.consent-toggle-ui {
  position: relative;
  width: 54px;
  height: 32px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  transition: background .2s ease;
}
.consent-toggle-ui::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.24);
  transition: transform .2s ease;
}
.consent-copy {
  display: grid;
  gap: 4px;
}
.consent-copy strong {
  color: #fff;
}
.consent-copy small {
  color: var(--muted);
  line-height: 1.5;
}
.consent-toggle input:checked + .consent-toggle-ui {
  background: rgba(34,197,94,.36);
}
.consent-toggle input:checked + .consent-toggle-ui::before {
  transform: translateX(22px);
}
.consent-toggle:hover {
  border-color: rgba(34,197,94,.22);
}
.timeline-item.is-done {
  background: linear-gradient(180deg, rgba(34,197,94,.18), rgba(34,197,94,.10));
  border-color: rgba(34,197,94,.42);
  box-shadow: 0 10px 24px rgba(34,197,94,.10);
}
.timeline-item.is-done .timeline-copy strong,
.timeline-item.is-done .timeline-copy small {
  color: #dcfce7;
}
.timeline-item.is-done .timeline-chip {
  background: rgba(34,197,94,.22);
  color: #dcfce7;
}
.timeline-item.is-done .timeline-marker {
  background: linear-gradient(180deg, rgba(34,197,94,.65), rgba(22,163,74,.75));
  border-color: rgba(187,247,208,.72);
  box-shadow: 0 0 0 6px rgba(34,197,94,.10);
}
.timeline-item.is-done .timeline-marker::before {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}
.timeline-item.is-done + .timeline-item::before {
  background: rgba(34,197,94,.28);
}
@media (max-width: 720px) {
  .yr-picker-bg,.yr-picker-fill{font-size:30px}
  .consent-toggle {
    grid-template-columns: 1fr;
  }
}


/* Review / CTA polish v2.0.9 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.theme-star-rating {
  --okm-star-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.538 1.118l-2.8-2.034a1 1 0 00-1.176 0l-2.8 2.034c-.783.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.479 8.7c-.783-.57-.38-1.81.588-1.81h3.463a1 1 0 00.95-.69l1.07-3.292z'/%3E%3C/svg%3E");
  gap: 0;
  padding: 14px 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.theme-star-rating label::before {
  content: none !important;
}
.theme-star-rating label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin: 0;
}
.theme-star-rating label.full {
  width: 30px;
}
.theme-star-rating label.half {
  width: 15px;
  margin-right: -15px;
  overflow: hidden;
  z-index: 2;
}
.theme-star-rating .star-shape {
  width: 30px;
  height: 30px;
  display: block;
  -webkit-mask-image: var(--okm-star-mask);
  mask-image: var(--okm-star-mask);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 26px 26px;
  mask-size: 26px 26px;
  background: rgba(255,255,255,.12);
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.06));
  transition: transform .18s ease, background .18s ease, filter .18s ease;
}
.theme-star-rating label.half .star-shape {
  transform-origin: left center;
}
.theme-star-rating label:hover .star-shape,
.theme-star-rating label:hover ~ label .star-shape,
.theme-star-rating input:checked ~ label .star-shape {
  background: linear-gradient(180deg, #fb923c, #f97316);
  filter: drop-shadow(0 6px 14px rgba(249,115,22,.22));
}
.theme-star-rating label:hover .star-shape,
.theme-star-rating input:checked + label .star-shape {
  transform: translateY(-1px) scale(1.04);
}
.theme-star-rating input:focus-visible + label {
  outline: 2px solid rgba(249,115,22,.4);
  outline-offset: 2px;
  border-radius: 8px;
}
.rating-caption {
  color: #fdba74;
  font-size: 13px;
  font-weight: 700;
}
.review-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.review-submit-btn {
  min-width: 220px;
  padding: 0 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--accent), #fb923c);
  color: #fff;
  font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid rgba(251,146,60,.32);
  box-shadow: 0 14px 28px rgba(249,115,22,.22), inset 0 1px 0 rgba(255,255,255,.14);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.review-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(249,115,22,.28), inset 0 1px 0 rgba(255,255,255,.18);
  filter: saturate(1.05);
}
.review-submit-btn:active {
  transform: translateY(0);
}
.review-submit-btn::after {
  content: '›';
  font-size: 20px;
  margin-left: 10px;
  line-height: 1;
}
.driver-call-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 14px;
  padding: 0 16px;
  border-radius: 14px;
  text-decoration: none;
  color: #ffedd5;
  font-weight: 800;
  border: 1px solid rgba(249,115,22,.28);
  background: linear-gradient(180deg, rgba(249,115,22,.16), rgba(249,115,22,.09));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.driver-call-btn::before {
  content: '✆';
  font-size: 16px;
  line-height: 1;
}
.driver-call-btn:hover {
  transform: translateY(-1px);
  color: #fff;
  background: linear-gradient(135deg, var(--accent), #fb923c);
  box-shadow: 0 14px 26px rgba(249,115,22,.22), inset 0 1px 0 rgba(255,255,255,.12);
}
.driver-call-btn:active {
  transform: translateY(0);
}
@media (max-width: 720px) {
  .theme-star-rating {
    padding: 12px 14px;
  }
  .theme-star-rating label,
  .theme-star-rating label.full {
    width: 28px;
    height: 28px;
  }
  .theme-star-rating label.half {
    width: 14px;
    margin-right: -14px;
  }
  .theme-star-rating .star-shape {
    width: 28px;
    height: 28px;
    -webkit-mask-size: 24px 24px;
    mask-size: 24px 24px;
  }
  .review-actions {
    justify-content: stretch;
  }
  .review-submit-btn {
    width: 100%;
  }
  .driver-call-btn {
    width: 100%;
  }
}


/* Homepage star parity hotfix v2.1.0 */
.okm-theme-rating {
  margin-top: 2px;
}
.okm-theme-rating .yr-rating-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.okm-theme-rating .yr-rating-value {
  font-weight: 700;
  color: #f7931e;
}
.okm-theme-rating .yr-picker {
  position: relative;
  height: 34px;
  display: inline-block;
  user-select: none;
}
.okm-theme-rating .yr-picker-bg,
.okm-theme-rating .yr-picker-fill {
  font-size: 34px;
  line-height: 1;
  letter-spacing: 2px;
  white-space: nowrap;
}
.okm-theme-rating .yr-picker-bg {
  color: rgba(255,255,255,.16);
}
.okm-theme-rating .yr-picker-fill {
  position: absolute;
  left: 0;
  top: 0;
  color: #f7931e;
  overflow: hidden;
  pointer-events: none;
}
.okm-theme-rating .yr-picker-hitboxes {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
}
.okm-theme-rating .yr-picker-hit {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  cursor: pointer !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.okm-theme-rating .yr-picker-hit:focus-visible {
  outline: 2px solid rgba(247,147,30,.55);
  outline-offset: 2px;
}
.okm-theme-rating .yr-picker.is-live .yr-picker-fill {
  filter: drop-shadow(0 0 10px rgba(247,147,30,.18));
}
.okm-theme-rating .yr-picker.is-live {
  animation: yrFloat 3s ease-in-out infinite;
}
.okm-theme-rating .yr-picker.is-live .yr-picker-fill {
  animation: yrGlow 2.8s ease-in-out infinite;
}
.okm-theme-rating .rating-caption {
  color: #fdba74;
}
@media (max-width: 720px) {
  .okm-theme-rating .yr-rating-top {
    align-items: flex-start;
  }
  .okm-theme-rating .yr-picker-bg,
  .okm-theme-rating .yr-picker-fill {
    font-size: 30px;
  }
  .okm-theme-rating .yr-picker {
    height: 30px;
  }
}

.case-mini{margin-bottom:18px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-complete-wrap{margin-top:8px;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(15,23,42,.78));border:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.driver-complete-wrap small{color:#cbd5e1}.driver-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 18px 35px rgba(249,115,22,.22)}.driver-call-btn.hidden{display:none!important}.timeline-item.is-done .timeline-marker{background:#22c55e;border-color:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.timeline-item.is-done .timeline-marker:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800}.timeline-item.is-done .timeline-chip{background:rgba(34,197,94,.16);color:#86efac}.timeline-item.is-done .timeline-copy strong{color:#dcfce7}.timeline-item.is-current .timeline-chip{background:rgba(249,115,22,.15)}.review-panel{margin-top:22px}.call-link#customer-call-link{min-width:170px;text-align:center}.okm-map-icon{background:none;border:0}.panel-mini.case-mini .panel-mini-state{background:rgba(14,165,233,.14);color:#bae6fd}@media (max-width:700px){.two-col{grid-template-columns:1fr}.call-link#customer-call-link{min-width:0}}


/* v2.2.1 review completion UX */
.review-prompt-banner{
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  border:1px solid rgba(249,115,22,.26);
  background:linear-gradient(180deg,rgba(249,115,22,.10),rgba(15,23,42,.88));
  box-shadow:0 18px 40px rgba(15,23,42,.20);
}
.review-prompt-banner.is-success{
  border-color:rgba(34,197,94,.28);
  background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(15,23,42,.88));
}
.review-prompt-copy{display:grid;gap:6px}
.review-prompt-copy h2{margin:0;font-size:clamp(1.25rem,2.2vw,1.7rem)}
.review-prompt-copy p{margin:0;color:#cbd5e1}
.review-prompt-actions{display:flex;justify-content:flex-end;align-items:center}
.review-cta-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 18px;border-radius:14px;border:1px solid rgba(249,115,22,.28);
  background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-weight:800;
  box-shadow:0 18px 35px rgba(249,115,22,.22);cursor:pointer;
}
.review-cta-btn:hover{transform:translateY(-1px)}
.review-panel .yr-picker{position:relative;isolation:isolate;cursor:pointer}
.review-panel .yr-picker-hitboxes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);z-index:4}
.review-panel .yr-picker-hit{position:relative;z-index:5}
.review-panel .review-panel-head{margin-bottom:8px}
.review-panel .review-grid{grid-template-columns:1fr}
.review-panel .review-rating-block{max-width:420px}
@media (max-width:700px){
  .review-prompt-banner{grid-template-columns:1fr}
  .review-prompt-actions{justify-content:stretch}
  .review-cta-btn{width:100%}
}
