.portal-inbox { display: block; width: 100%; min-width: 0; }
.portal-filters { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; margin: 16px 0; }
.portal-filters label { display: grid; gap: 6px; min-width: 160px; flex: 1; }
.portal-ticket { border: 1px solid #dbe3ed; border-left: 4px solid #168bc7; border-radius: 12px; padding: 20px; margin: 16px 0; background: #fff; }
.portal-ticket details { padding-top: 10px; }
.portal-inbox summary { cursor: pointer; font-weight: 650; padding: 12px 0; }
.portal-message-text { white-space: pre-wrap; overflow-wrap: anywhere; }
#portalRules { border-top: 1px solid #dbe3ed; margin-top: 24px; }
#portalConversation { display: grid; gap: 12px; grid-column: 1 / -1; border: 1px solid #dbe3ed; border-radius: 12px; padding: 20px; background: #f6f9fc; }
.portal-messages { max-height: 400px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 8px; }
.portal-message { align-self: flex-end; max-width: 88%; padding: 14px; border-radius: 12px; background: #e0efff; }
.portal-message-client { align-self: flex-start; background: #fff; border: 1px solid #dbe3ed; }
.portal-message small { color: #52647b; }
#portalReply { width: 100%; }
.portal-inbox button, #portalConversation button { padding: 9px 14px; border: 1px solid #c9d6e4; border-radius: 8px; background: white; color: #10213d; font: inherit; font-weight: 600; cursor: pointer; }
.portal-inbox button:hover, #portalConversation button:hover { background: #eaf4ff; }
.portal-inbox button:disabled, #portalConversation button:disabled { opacity: .45; cursor: default; }
.portal-inbox [data-portal-save], #portalConversation [data-portal-action="reply"], .portal-inbox [data-portal-action="save-rules"] { background: #126ed1; color: white; border-color: #126ed1; }
.portal-filters input, .portal-filters select, #portalReply { border: 1px solid #c9d6e4; border-radius: 8px; padding: 10px; font: inherit; background: white; color: #10213d; }
body.theme-dark .portal-ticket, body.theme-dark #portalConversation { background: #15283e; color: #eff6ff; border-color: #39516c; }
body.theme-dark .portal-message { background: #214668; color: #eff6ff; }
body.theme-dark .portal-message-client { background: #203246; border-color: #39516c; }
body.theme-dark .portal-message small { color: #bfcede; }
