.arrival-guarantee {margin:-.5rem 0 1.5rem;padding:14px 16px;border-left:3px solid #d4af37;background:#17150e;color:#000;font:700 15px/1.5 Arial,sans-serif}
.arrival-guarantee p {margin:5px 0 0;font-size:12px;font-weight:400;color:#aaa}
.customer-messages {position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 24px));z-index:60;pointer-events:none;font-family:Arial,sans-serif}
.customer-message {position:relative;background:#fff !important;color:#000;border:1px solid #d4af37;border-radius:20px;box-shadow:0 16px 50px #0008;pointer-events:auto;animation:message-arrive .45s cubic-bezier(.2,.8,.2,1)}
.message-content {display:block;text-align:left;width:100%;padding:20px 42px 20px 20px;border:0;border-radius:20px;background:#fff;color:inherit;font:inherit;font-weight:500}
button.message-content {cursor:pointer}
.message-sender {display:block;font-size:11px;color:#000;margin-bottom:9px}
.message-content strong {display:block;color:#000;font-size:27px;line-height:1.2;margin-bottom:8px}
.message-text {display:block;font-size:13px;line-height:1.6;color:#000}
.message-hint {display:block;color:#000;font-size:11px;margin-top:12px}
.message-close {position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;background:#fff;color:#000;font-size:25px;cursor:pointer}
.message-links {display:flex;gap:16px;margin-top:14px;color:#000;font-size:14px}
.message-links a {padding:6px 0;text-decoration:underline}
.customer-message :focus-visible {outline:2px solid #d4af37;outline-offset:2px}
@keyframes message-arrive {from{transform:translateY(-130%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.customer-message{animation:none}}

/* Bílé zprávy včetně tlačítek mají přednost před společným stylem ovládání. */
body .customer-messages .customer-message,
body .customer-messages .customer-message :is(button.message-content,button.message-close),
body .customer-messages .customer-message :is(button.message-content,button.message-close):hover,
body .customer-messages .customer-message :is(button.message-content,button.message-close):focus-visible {
    background: #fff !important;
    color: #000 !important;
    background-image: none !important;
}

.message-enable-sound {margin:0 20px 16px;padding:8px 12px;border:1px solid #d4af37;border-radius:8px;background:#fff;color:#000;font:inherit;cursor:pointer}
.message-sender {display:flex;align-items:center;gap:10px;min-height:42px;font-weight:700}
.message-avatar {width:42px;height:42px;flex-shrink:0;border-radius:50%;object-fit:contain;border:1px solid #d4af37;background:#0a0a0a}
.trip-dialog {position:fixed;inset:0;margin:auto;width:min(650px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:22px;background:var(--brand-surface,#fff);color:var(--brand-ink,#000);border:1px solid var(--brand-border,#a59476);border-radius:22px;box-shadow:0 16px 50px #49331530;color-scheme:light;font:14px/1.5 Arial,sans-serif}
.trip-dialog::backdrop {background:#30271980}
.trip-dialog header {display:flex;align-items:center;gap:12px;margin-bottom:18px}
.trip-dialog header img {border-radius:50%;border:1px solid #d4af37}
.trip-dialog h2 {font:bold 22px/1.2 Arial;margin:3px 0}
.trip-dialog small {color:var(--brand-gold,#514431);letter-spacing:1px}
.trip-close {margin-left:auto;font-size:28px;background:none;border:0;color:var(--brand-ink,#000);min-width:44px;min-height:44px}
.trip-car {display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;margin-bottom:18px}
.trip-car img {width:130px;height:105px;object-fit:cover;border-radius:12px}
.trip-car p {margin:6px 0;font-size:13px;color:var(--brand-ink,#000)}
.trip-map {height:320px;border-radius:12px;background:var(--brand-field,#faf8f3)}
.trip-status {margin:14px 0;min-height:42px}
.trip-actions {display:flex;flex-wrap:wrap;gap:10px}
.trip-actions button,.trip-launch,.trip-list button {padding:12px 16px;border:1px solid #d4af37;border-radius:10px;background:#ead8a4;color:var(--brand-ink,#000);font:700 13px Arial;cursor:pointer}
.trip-actions button:disabled {opacity:.5;cursor:default}
.trip-note {color:var(--brand-ink,#000);font-size:11px;margin-top:15px}
.trip-launch {margin:15px 0}
.trip-launch[hidden] {display:none}
.trip-list {display:grid;gap:8px;margin-bottom:20px}
.trip-dialog :focus-visible {outline:2px solid var(--brand-gold-deep,#403628);outline-offset:3px}
@media(max-width:480px){.trip-dialog{padding:16px}.trip-car{grid-template-columns:95px 1fr}.trip-car img{width:95px;height:95px}.trip-map{height:280px}}


/* Zpráva zůstává kompaktní, dlouhý obsah se posouvá uvnitř karty. */
.customer-messages {box-sizing:border-box;max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}
.customer-message {overflow:hidden}
.message-content {box-sizing:border-box;overflow-wrap:anywhere}
.message-sender > span {min-width:0;line-height:1.5}
.customer-message .message-avatar {display:block;width:42px;min-width:42px;max-width:42px;height:42px;max-height:42px;flex:0 0 42px;object-fit:contain}
.message-content strong {font-size:clamp(20px,5vw,27px)}
.message-text {white-space:pre-line}
.message-close {border-radius:50%;z-index:1}
.message-links {flex-wrap:wrap}
.message-links a {min-height:44px;display:inline-flex;align-items:center}
@media(max-width:380px){.message-content{padding:16px 42px 16px 16px}.message-sender{gap:8px}}

/* Portrét řidiče vyplní medailonek, firemní logo zůstává celé. */
.customer-message[data-remote="true"] .message-avatar {object-fit:cover}
