.service-message-layer { width: min(520px, calc(100vw - 36px)); max-height: calc(100dvh - 40px); padding: 28px; color: var(--rpen-text, #eee); background: var(--rpen-surface, #303030); border: 1px solid var(--rpen-border, #666); border-radius: var(--rpen-radius-panel, 4px); }
.service-message-layer::backdrop { background: #000b; backdrop-filter: blur(4px); }
.service-message-layer h2 { margin: 0 0 20px; font-size: 23px; }
.service-message-body { overflow-wrap: anywhere; line-height: 1.85; }
.service-message-body p { white-space: pre-wrap; }
.service-message-body label { display: flex; align-items: center; gap: 8px; margin-top: 24px; }
.service-message-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; }
.service-message-actions button { min-width: 88px; }
.service-admin-entry { color: inherit; padding: 7px 12px; border: 1px solid var(--rpen-border, #666); text-decoration: none; }
.service-admin-entry[hidden] { display: none; }
.world-mute-controls { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 16px; }
.world-mute-controls input[type="number"] { width: 100px; }
body.service-admin { margin: 0 auto; max-width: 1300px; min-height: 100dvh; padding: 28px; background: #202020; color: #eee; overflow: auto; }
.service-admin header { display: flex; align-items: center; gap: 24px; margin-bottom: 24px; }
.service-admin h1 { margin: 0; font-size: 24px; }
.service-admin a { color: inherit; }
.service-admin nav, .control-toolbar, .control-pages { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0; }
.control-toolbar input { min-width: 180px; }
.control-list { display: flex; flex-direction: column; gap: 0; }
.control-row { display: flex; align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px solid #ffffff20; }
.control-row-main { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.control-row-main strong { display: block; font-size: 16px; }
.control-row-main span { color: #bbb; font-size: 13px; white-space: pre-wrap; }
.control-form { display: grid; gap: 16px; max-width: 800px; margin: 24px 0; }
.control-form label { display: grid; gap: 6px; }
.control-form label.control-check { display: flex; align-items: center; gap: 8px; }
.control-form input:not([type="checkbox"]), .control-form select, .control-form textarea { width: 100%; }
.control-form textarea { min-height: 160px; resize: vertical; }
.control-form fieldset { display: flex; flex-wrap: wrap; gap: 18px; padding: 16px; border: 1px solid #ffffff30; }
.control-form .control-actions { display: flex; gap: 12px; }
.control-form [hidden] { display: none; }
.control-failed { animation: control-shake .25s linear; }
@keyframes control-shake { 25%, 75% { transform: translateX(-5px); } 50% { transform: translateX(5px); } }
@media (max-width: 640px) { body.service-admin { padding: 18px; } .control-row { gap: 12px; flex-wrap: wrap; } .control-row-main { flex-basis: 100%; } .service-message-layer { padding: 22px; } }
