:root { color-scheme: dark; font-family: Inter, system-ui, Arial, sans-serif; }
body { margin: 0; background: #090812; color: #f7f2ff; }
header { display:flex; justify-content:space-between; align-items:center; padding: 28px; background: linear-gradient(135deg,#181027,#29103b); border-bottom:1px solid #47305f; }
h1 { margin:0; font-size: 34px; }
p { color:#cbbbe1; }
button { cursor:pointer; border:0; border-radius:12px; padding:11px 14px; background:#ff3bbd; color:white; font-weight:700; }
button.secondary { background:#2b2440; }
button.good { background:#27a56b; }
button.warn { background:#a6782a; }
.composer { margin: 22px; padding: 20px; background:#141020; border:1px solid #34244a; border-radius:18px; }
.grid { display:grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap:10px; }
input, textarea, select { background:#0d0a17; border:1px solid #3b2a55; color:#fff; border-radius:10px; padding:10px; }
textarea { width: calc(100% - 22px); min-height: 70px; margin: 10px 0; }
#queue { display:grid; gap:16px; margin:22px; }
.card { background:#120e1d; border:1px solid #35274f; border-radius:18px; padding:18px; box-shadow: 0 10px 28px rgba(0,0,0,.22); }
.card h3 { margin:0 0 4px; }
.meta { color:#bba7d6; font-size:14px; margin-bottom:12px; }
.message { background:#090812; border:1px solid #2d2341; border-radius:12px; padding:12px; margin:10px 0; white-space:pre-wrap; }
.actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.status { display:inline-block; padding:4px 8px; border-radius:999px; background:#261d39; color:#e6d7ff; font-size:12px; }
@media (max-width: 850px) { .grid { grid-template-columns: 1fr; } header { flex-direction:column; align-items:flex-start; gap:12px; } }
.importer p { margin-top: 0; }
.importer input { width: calc(100% - 22px); }
.import-status { margin-top: 10px; min-height: 20px; color: #cbbbe1; white-space: pre-wrap; }
.import-status.good-text { color: #7de3af; }
.import-status.error { color: #ff9c9c; }
.message-editor { width: calc(100% - 22px); min-height: 74px; margin: 10px 0 2px; resize: vertical; }
.message-tools { display:flex; justify-content:space-between; gap:12px; min-height:20px; margin-bottom:10px; color:#bba7d6; font-size:13px; }
.char-counter.near-limit { color:#ffd38a; font-weight:700; }
.save-state { color:#7de3af; }
.inline-actions { display:flex; flex-wrap:wrap; gap:8px; margin: 0 0 12px; }
