.glossary-panel { padding: 20px; border: 1px solid var(--border-color, #3f3f46); border-radius: 14px; background: var(--card-bg, #18181b); color: var(--text-primary, #f4f4f5); }
.glossary-panel h2 { font-size: 22px; font-weight: 700; }
.glossary-panel h3 { font-size: 16px; font-weight: 650; margin-bottom: 12px; }
.glossary-panel p { font-size: 13px; color: var(--text-secondary, #a1a1aa); margin: 8px 0 14px; }
.glossary-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.glossary-panel label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.glossary-toolbar label:has(input[type=checkbox]), .glossary-grid label:has(input[type=checkbox]) { flex-direction: row; align-items: center; }
.glossary-panel input:not([type=checkbox]), .glossary-panel textarea, .glossary-panel select { padding: 9px 11px; border: 1px solid #52525b; border-radius: 8px; background: var(--input-bg, #27272a); color: inherit; font-size: 13px; min-width: 0; }
.glossary-panel textarea { width: 100%; resize: vertical; }
.glossary-panel button { padding: 9px 13px; border: 1px solid #52525b; border-radius: 8px; font-size: 12px; background: var(--input-bg, #27272a); color: inherit; cursor: pointer; }
.glossary-panel button:hover { border-color: #34d399; }
.glossary-panel button:disabled { opacity: .45; cursor: default; }
.glossary-panel button[type=submit], #glossary-activate { background: #047857; color: white; border-color: #059669; }
.glossary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.glossary-wide { grid-column: 1 / -1; }
#glossary-translations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#glossary-translations[hidden] { display: none; }
.glossary-table-wrap { overflow-x: auto; }
.glossary-table { width: 100%; text-align: left; font-size: 13px; }
.glossary-table th, .glossary-table td { padding: 12px 8px; border-bottom: 1px solid #3f3f46; vertical-align: top; }
.glossary-table th { color: #a1a1aa; font-weight: 500; }
.glossary-table td:first-child { font-weight: 600; }
.glossary-table .glossary-meta { display: block; color: #a1a1aa; font-size: 12px; font-weight: 400; margin-top: 5px; white-space: pre-wrap; }
.glossary-error { color: #fb7185 !important; }
.glossary-panel pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; margin-top: 12px; }
#glossary-test-result { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; margin-top: 16px; }
.glossary-preview-block { padding: 12px; border-left: 3px solid #34d399; margin: 12px 0; }
.glossary-panel summary { cursor: pointer; font-weight: 600; }
@media (max-width: 640px) { .glossary-grid, #glossary-translations { grid-template-columns: 1fr; } .glossary-panel { padding: 14px; } .glossary-toolbar > input, .glossary-toolbar > label { width: 100%; } }
html[data-theme=light] .glossary-panel { background: #fff; color: #18181b; border-color: #d4d4d8; }
html[data-theme=light] .glossary-panel input, html[data-theme=light] .glossary-panel textarea, html[data-theme=light] .glossary-panel select, html[data-theme=light] .glossary-panel button:not([type=submit]):not(#glossary-activate) { background: #fafafa; color: #18181b; border-color: #d4d4d8; }
.glossary-quick-dialog { width: min(700px, calc(100vw - 24px)); max-height: calc(100vh - 32px); overflow-y: auto; border: 0; border-radius: 14px; padding: 0; background: transparent; }
.glossary-quick-dialog::backdrop { background: rgb(0 0 0 / .65); }
.feed-glossary-add { margin: 8px 0 0; padding: 6px 10px; border: 1px solid #52525b; border-radius: 8px; color: #a1a1aa; font-size: 12px; }
.glossary-extra-languages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
html[data-theme=light] .glossary-panel p:not(.glossary-error), html[data-theme=light] .glossary-table th, html[data-theme=light] .glossary-table .glossary-meta { color: #52525b; }
html[data-theme=light] .glossary-table td, html[data-theme=light] .glossary-table th { border-color: #d4d4d8; }
@media (max-width: 640px) { .glossary-extra-languages { grid-template-columns: 1fr; } }
