.msst-form-wrapper { max-width: 640px; }
.msst-field { margin-bottom: 1em; }
.msst-field label { display: block; font-weight: 600; margin-bottom: .25em; }
.msst-field input[type="text"],
.msst-field input[type="email"],
.msst-field select,
.msst-field textarea { width: 100%; padding: .5em; box-sizing: border-box; }
.msst-row { display: flex; gap: 1em; }
.msst-row > span { flex: 1; }
.msst-radio { display: inline-block; font-weight: 400; margin-right: 1em; }
.msst-hp { position: absolute !important; left: -9999px !important; }
.msst-submit-btn { background: #2271b1; color: #fff; border: 0; padding: .7em 1.4em; border-radius: 4px; cursor: pointer; font-weight: 600; }
.msst-submit-btn:hover { background: #135e96; }
.msst-errors { background: #fcf0f1; border-left: 4px solid #d63638; padding: .75em 1em; margin-bottom: 1em; }
.msst-errors ul { margin: 0; padding-left: 1.2em; }
.msst-success { text-align: center; padding: 2em 1em; }
.msst-attention-number { font-size: 1.8em; font-weight: 700; letter-spacing: .1em; background: #f0f6fc; border: 1px dashed #2271b1; padding: .3em .6em; display: inline-block; }

.msst-status-badge { display: inline-block; padding: .2em .7em; border-radius: 999px; font-size: .85em; font-weight: 600; }

.msst-ticket-meta { display: flex; align-items: center; gap: .8em; flex-wrap: wrap; }
.msst-ticket-number { font-family: monospace; color: #666; }

.msst-thread { margin: 1.2em 0; display: flex; flex-direction: column; gap: .8em; }
.msst-msg { border-radius: 8px; padding: .8em 1em; max-width: 85%; }
.msst-msg-customer { background: #f0f0f1; align-self: flex-start; }
.msst-msg-agent { background: #e5f1fb; align-self: flex-end; }
.msst-msg-system { background: transparent; color: #888; font-style: italic; font-size: .9em; align-self: center; max-width: 100%; text-align: center; }
.msst-msg-author { font-weight: 600; font-size: .85em; margin-bottom: .3em; display: flex; justify-content: space-between; gap: 1em; }
.msst-msg-date { font-weight: 400; color: #888; }
.msst-msg-body p:last-child { margin-bottom: 0; }

.msst-notice { padding: .6em 1em; border-radius: 4px; }
.msst-notice-ok { background: #edfaef; color: #00a32a; }
.msst-notice-warning { background: #fcf9e8; color: #996800; }
.msst-notice-muted { background: #f6f7f7; color: #666; }
