body { font-family: system-ui, sans-serif; background: #111; color: #eee; margin: 0; }
header { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px solid #fff; }
h1 { font-size: 20px; margin: 0; }
#session { display: flex; gap: 8px; align-items: center; }
main { padding: 20px; }
button, select, input, .file { background: #000; color: #fff; border: 1px solid #fff; padding: 6px 10px; border-radius: 3px; font: inherit; cursor: pointer; }
button:hover, .file:hover { background: #333; }
#login { display: flex; flex-direction: column; gap: 10px; max-width: 320px; margin: 60px auto; }
.error { color: #f66; min-height: 1em; }
.bar { display: flex; gap: 16px; align-items: center; margin-bottom: 12px; }
#status { margin-left: auto; opacity: .7; }
table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th, td { border: 1px solid #444; padding: 6px; vertical-align: top; text-align: left; }
th:nth-child(3), td:nth-child(3) { width: 160px; font-size: 12px; opacity: .8; }
td.en { white-space: pre-wrap; word-break: break-word; }
textarea { width: 100%; min-height: 36px; box-sizing: border-box; background: #000; color: #fff; border: 1px solid #666; font: inherit; resize: vertical; }
textarea.saving { border-color: #fc0; }
textarea.saved { border-color: #4c4; }
textarea.bad { border-color: #f44; }
.msg { color: #f88; font-size: 12px; }
