.icon { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.support-widget { position: fixed; right: 24px; bottom: 24px; z-index: 80; font-size: 14px; }
.support-launch { display: flex; align-items: center; gap: 10px; box-shadow: 0 5px 24px #0003; }
.support-panel { position: absolute; bottom: 72px; right: 0; width: min(390px, calc(100vw - 32px)); max-height: min(720px, calc(100dvh - 140px)); overflow-y: auto; padding: 22px; border: 1px solid #c9d5d7; border-radius: 12px; background: #fff; color: #193a42; box-shadow: 0 8px 40px #0003; }
.support-panel[hidden], .support-panel [hidden] { display: none; }
.support-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.support-heading h2 { font-size: 22px; margin: 0; }
.support-heading button { background: transparent; border: 0; padding: 8px; cursor: pointer; }
.support-panel p { margin: 12px 0; line-height: 1.5; }
.support-advice { padding: 12px; background: #eef4f3; border-radius: 6px; }
.support-panel fieldset { border: 0; padding: 0; margin: 0; }
.support-panel legend { font-weight: 700; margin: 8px 0; }
.support-panel label { display: block; margin: 10px 0 4px; font-weight: 600; }
.support-panel input, .support-panel select, .support-panel textarea { display: block; width: 100%; box-sizing: border-box; font: inherit; padding: 10px; border: 1px solid #82999f; border-radius: 4px; }
.support-messages article { border-left: 3px solid #c5dc4a; padding: 10px 12px; margin: 12px 0; background: #f5f8f8; overflow-wrap: anywhere; }
.support-messages p, .ticket-message p { white-space: pre-wrap; }
.support-messages time { font-size: 12px; }
#support-status { font-weight: 600; }
.ticket-list { display: grid; gap: 16px; }
.ticket-message { padding: 18px; border: 1px solid #cfdbde; border-radius: 6px; margin: 16px 0; overflow-wrap: anywhere; }
.ticket-message.internal { background: #fff9df; }
.ticket-reply textarea { width: 100%; box-sizing: border-box; min-height: 140px; padding: 12px; font: inherit; }
.ticket-reply label { display: block; margin: 12px 0; }
.ticket-reply select { padding: 8px; font: inherit; }
@media (max-width: 600px) { .support-widget { right: 16px; bottom: 16px; } .support-launch { padding: 12px 16px; } }

.support-panel .form-trap { display: none; }
.footer-top { flex-wrap: wrap; }
