.es-page, .es-dialog { color: #242a33; font-size: 14px; letter-spacing: 0; }
.es-page { max-width: 1440px; margin: 0 auto; background: #fff; padding: 20px; border: 1px solid #e3e6eb; border-radius: 4px; }
.es-page h2, .es-dialog h2 { margin: 0; font-size: 20px; line-height: 1.5; }
.es-page p, .es-dialog p { line-height: 1.8; overflow-wrap: anywhere; }
.es-page-heading, .es-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.es-page-heading > div:first-child { min-width: 0; }
.es-muted, .es-meta { color: #697586; font-size: 13px; }
.es-advisory { padding: 10px 12px; background: #fff9e8; color: #725727; border-left: 3px solid #d6a448; margin: 12px 0; font-size: 13px; }
.es-error { color: #b42318; background: #fff1f0; padding: 10px 12px; margin: 10px 0; border: 1px solid #efc3be; border-radius: 3px; }
.es-error[hidden] { display: none; }
.es-page .btn, .es-dialog .btn { min-height: 32px; padding: 5px 12px; font-size: 14px; white-space: nowrap; border-radius: 3px; }
.es-page .btn.primary, .es-dialog .btn.primary { background: #1677ff; border-color: #1677ff; color: #fff; }
.es-page .btn:disabled, .es-dialog .btn:disabled { opacity: .5; cursor: not-allowed; }
.es-page svg, .es-dialog svg, .es-classification svg { width: 16px; height: 16px; flex-shrink: 0; vertical-align: middle; }
.es-page label, .es-dialog label { font-size: 14px; font-weight: 500; }
.es-page input:not([type=radio]):not([type=checkbox]), .es-page select, .es-page textarea,
.es-dialog input:not([type=radio]):not([type=checkbox]), .es-dialog select, .es-dialog textarea { color: #242a33; background: #fff; font: inherit; border: 1px solid #cdd3dc; border-radius: 3px; padding: 7px 10px; min-height: 34px; width: 100%; box-sizing: border-box; }
.es-page textarea, .es-dialog textarea { resize: vertical; min-height: 90px; line-height: 1.7; }
.es-page input:focus, .es-page textarea:focus, .es-page select:focus,
.es-dialog input:focus, .es-dialog textarea:focus, .es-dialog select:focus { outline: 2px solid #d8e9ff; border-color: #1677ff; outline-offset: 0; }
.es-page input[type=radio], .es-page input[type=checkbox], .es-dialog input[type=radio], .es-dialog input[type=checkbox] { width: 16px; height: 16px; margin: 0; padding: 0; min-height: 0; flex-shrink: 0; accent-color: #1677ff; }
.es-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.es-page-heading .es-toolbar { margin: 0; }
.es-inline-label, .es-target { display: flex; align-items: center; gap: 10px; min-width: 0; }
.es-inline-label select { max-width: 160px; }
.es-inline-label { white-space: nowrap; }
.es-inline-label select { width: 140px; flex-shrink: 0; }
.es-target select { max-width: 440px; min-width: 180px; }
.es-link { color: #1677ff; font-size: 14px; text-decoration: none; display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.es-link:hover { text-decoration: underline; }
.es-separator { border-top: 1px solid #e3e6eb; padding-top: 14px; justify-content: space-between; }
.es-modes { display: flex; gap: 24px; }
.es-modes label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.es-result-heading { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; margin: 16px 0 10px; }
.es-result-heading small { color: #697586; }
.es-results { display: grid; gap: 10px; }
.es-result { padding: 14px 16px; border: 1px solid #e1e5eb; border-radius: 4px; transition: border-color .15s ease, background-color .15s ease; }
.es-result.selected { border-color: #1677ff; background: #f5f9ff; }
.es-result-title { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.es-result-title label { display: flex; gap: 10px; line-height: 1.7; font-weight: 600; cursor: pointer; align-items: baseline; }
.es-result-title label span { overflow-wrap: anywhere; }
.es-code { white-space: nowrap; color: #455468; font: 12px/1.8 Consolas, monospace; }
.es-meta { margin: 7px 0; }
.es-result p { margin: 8px 0; font-size: 14px; }
.es-result details { margin: 10px 0; }
.es-result summary { color: #1677ff; cursor: pointer; font-size: 13px; }
.es-empty { text-align: center; color: #778292; padding: 32px 16px; background: #fafbfc; }
.es-manual, .es-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.es-manual > label, .es-entry-grid > label { display: grid; gap: 7px; }
.es-wide { grid-column: 1 / -1; }
.es-confirm-bar { display: flex; gap: 14px; justify-content: space-between; align-items: center; background: #fff; border-top: 1px solid #e1e5eb; padding: 14px 0; margin-top: 16px; position: sticky; bottom: 0; z-index: 2; flex-wrap: wrap; }
.es-confirmed { color: #26734c; background: #f0faf4; padding: 10px; }
.es-classification { margin: 14px 0 4px; padding: 14px 0; border-top: 1px solid #e3e6eb; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.es-classification p { font-size: 14px; margin: 7px 0; overflow-wrap: anywhere; }
.es-classification small { color: #697586; }
.es-library-toolbar { border-bottom: 1px solid #e1e5eb; padding-bottom: 14px; }
.es-state { padding: 2px 8px; font-size: 12px; border-radius: 3px; background: #f1f3f6; color: #697586; }
.es-state.active { background: #eaf7ee; color: #26734c; }
.es-state.draft { background: #fff5df; color: #94651b; }
.es-tabs { display: flex; gap: 24px; border-bottom: 1px solid #e1e5eb; }
.es-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; border-radius: 0; padding: 12px 2px; color: #556174; font-size: 14px; cursor: pointer; }
.es-tabs button[aria-selected=true] { color: #1677ff; border-bottom-color: #1677ff; }
.es-toolbar > input { max-width: 360px; }
.es-table-wrap { width: 100%; overflow-x: auto; }
.es-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.es-table th, .es-table td { text-align: left; padding: 12px 10px; border: 0; border-bottom: 1px solid #e3e6eb; vertical-align: top; overflow-wrap: anywhere; }
.es-table th { color: #4b5768; background: #f5f7fa; font-weight: 500; white-space: nowrap; }
.es-table td:first-child { min-width: 140px; }
.es-table td:nth-child(2) { min-width: 160px; }
.es-table td:nth-child(3) { min-width: 210px; max-width: 650px; }
.es-table tr:hover td { background: #fafcff; }
.es-table td small { display: block; color: #7b8695; margin-top: 5px; }
.es-row-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.es-row-actions .btn { border: 0; padding: 0; color: #1677ff; background: transparent; min-height: 24px; }
.es-pagination { display: flex; justify-content: flex-end; gap: 10px; align-items: center; margin-top: 16px; }
.es-pagination span { color: #697586; margin-right: auto; }
.es-dialog { width: min(940px, calc(100vw - 48px)); max-height: calc(100vh - 48px); padding: 0; border: 1px solid #dce1e8; border-radius: 6px; box-shadow: 0 12px 48px #15243826; overflow: auto; }
.es-dialog::backdrop { background: #19263866; }
.es-dialog-heading { position: sticky; top: 0; background: #fff; z-index: 3; margin: 0; padding: 16px 24px; border-bottom: 1px solid #e1e5eb; align-items: center; }
.es-dialog-heading .btn { width: 32px; padding: 4px; min-width: 32px; justify-content: center; }
.es-dialog [data-es-dialog-body] { padding: 20px 24px; }
.es-dialog form > label { display: grid; gap: 8px; margin: 14px 0; }
.es-dialog .es-check { display: flex; align-items: center; gap: 8px; }
.es-dialog-footer { display: flex; justify-content: flex-end; gap: 10px; align-items: center; padding-top: 18px; margin-top: 12px; border-top: 1px solid #e3e6eb; }
@media (prefers-reduced-motion: reduce) { .es-result { transition: none; } }
