/* 1.0.0: opt-in classes, no global input/button/table overrides. */
.et-ui *, .et-ui *::before,.et-ui *::after {box-sizing:border-box;}
.et-ui [hidden] {display:none!important;}
.et-ui :focus-visible {outline:3px solid var(--et-focus);outline-offset:3px;}
.et-ui .et-title {font-size:28px;font-weight:720;letter-spacing:-.6px;line-height:1.25;margin:0;}
.et-ui .et-heading {font-size:20px;line-height:1.35;font-weight:700;margin:0 0 8px;}
.et-ui .et-muted,.et-ui .et-hint {color:var(--et-muted);}
.et-ui .et-hint {font-size:13px;margin:6px 0 0;}
.et-ui .et-overline {font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--et-accent);margin:0 0 8px;}
.et-ui .et-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px;}
.et-ui .et-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.et-ui .et-button {display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 16px;border:1px solid var(--et-control);border-radius:var(--et-radius);background:transparent;color:var(--et-text);line-height:1.5;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;box-shadow:none;transition:background-color .18s,border-color .18s;}
.et-ui .et-button:hover:not(:disabled) {background:var(--et-soft);border-color:var(--et-accent);color:var(--et-text);}
.et-ui .et-button--primary {background:var(--et-action);color:var(--et-on-action);border-color:transparent;}
.et-ui .et-button--primary:hover:not(:disabled) {background:var(--et-action-hover);color:var(--et-on-action);border-color:transparent;}
.et-ui .et-button--danger {color:var(--et-danger);}
.et-ui .et-button:disabled {opacity:.65;cursor:not-allowed;}
.et-ui .et-button[aria-busy=true] {cursor:wait;}
.et-ui .et-link {color:var(--et-accent);display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px;overflow-wrap:anywhere;}
.et-ui .et-field {display:block;margin-bottom:16px;min-width:0;}
.et-ui .et-label {display:block;font-size:13px;font-weight:600;margin:0 0 8px;color:var(--et-text);}
.et-ui .et-input {display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--et-control);border-radius:var(--et-radius);background:var(--et-soft);color:var(--et-text);font:inherit;line-height:1.5;box-shadow:none;margin:0;}
.et-ui .et-input::placeholder {color:var(--et-muted);opacity:1;}
.et-ui .et-input[aria-invalid=true] {border-color:var(--et-danger);}
.et-ui .et-input:disabled {opacity:.65;cursor:not-allowed;}
.et-ui .et-error {font-size:13px;color:var(--et-danger);margin:6px 0 0;}
.et-ui .et-check {display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;cursor:pointer;}
.et-ui .et-check input {width:20px;height:20px;flex:none;accent-color:var(--et-accent);}
.et-ui .et-card {background:var(--et-surface);border:1px solid var(--et-line);border-radius:var(--et-panel-radius);padding:24px;min-width:0;}
.et-ui .et-status {display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border:1px solid currentColor;border-radius:6px;color:var(--et-positive);white-space:nowrap;}
.et-ui .et-status--warning {color:var(--et-warning);}
.et-ui .et-notice {padding:16px;border:1px solid var(--et-control);border-left:3px solid var(--et-accent);border-radius:var(--et-radius);background:var(--et-soft);margin-bottom:16px;overflow-wrap:anywhere;}
.et-ui .et-notice[data-state=error],.et-ui .et-notice[data-state=denied] {border-left-color:var(--et-danger);}
.et-ui .et-notice[data-state=partial],.et-ui .et-notice[data-state=offline] {border-left-color:var(--et-warning);}
.et-ui .et-state {padding:24px;border:1px solid var(--et-line);border-radius:var(--et-panel-radius);background:var(--et-surface);}
.et-ui .et-state p {margin:8px 0;color:var(--et-muted);}
.et-ui .et-loading-line {height:4px;background:var(--et-line);overflow:hidden;border-radius:4px;margin-bottom:16px;}
.et-ui .et-loading-line::before {content:"";display:block;width:35%;height:100%;background:var(--et-accent);animation:et-flow 1.8s ease-in-out infinite;}
@keyframes et-flow {from {transform:translateX(-110%);}to {transform:translateX(390%);}}
.et-ui .et-table-wrap {padding:0;overflow:hidden;}
.et-ui .et-table {width:100%;border-collapse:collapse;font-size:14px;}
.et-ui .et-table th {font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--et-muted);padding:16px;text-align:left;font-weight:650;}
.et-ui .et-table td {padding:16px;border-top:1px solid var(--et-line);vertical-align:middle;overflow-wrap:anywhere;}
.et-ui .et-table .et-name {font-weight:650;font-size:15px;color:var(--et-text);}
.et-ui .et-table small {display:block;font-size:12px;color:var(--et-muted);line-height:1.6;}
.et-ui .et-table code {color:var(--et-accent);font-size:12px;overflow-wrap:anywhere;}
.et-ui .et-table a {color:var(--et-accent);}
.et-ui .et-icon {width:40px;height:40px;object-fit:contain;}
.et-ui .et-sr {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.et-ui .et-dialog {border:1px solid var(--et-control);border-radius:var(--et-panel-radius);padding:24px;background:var(--et-surface);color:var(--et-text);width:min(520px,calc(100vw - 32px));max-height:calc(100% - 32px);overflow:auto;box-shadow:0 24px 80px #0005;margin:auto;}
.et-ui .et-dialog::backdrop {background:#07121caa;}
.et-ui .et-dialog .et-actions {margin-top:24px;}
.et-ui .et-dialog-head {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;}
.et-ui .et-dialog-head h2 {margin:0;}
.et-ui .et-dialog .et-field:last-of-type {margin-bottom:8px;}
@media(max-width:767px) {
 .et-ui .et-card {padding:16px;}
 .et-ui .et-table-wrap {padding:0;}
 .et-ui .et-table thead {display:none;}
 .et-ui .et-table,.et-ui .et-table tbody,.et-ui .et-table tr,.et-ui .et-table td {display:block;width:100%;}
 .et-ui .et-table tr {padding:16px;border-top:1px solid var(--et-line);}
 .et-ui .et-table tr:first-child {border-top:0;}
 .et-ui .et-table td {border:0;padding:4px 0;}
 .et-ui .et-table td[data-column]::before {content:attr(data-column) ": ";font-size:12px;color:var(--et-muted);}
 .et-ui .et-table .et-row-actions {padding-top:12px;}
 .et-ui .et-dialog {padding:20px;}
}
@media(prefers-reduced-motion:reduce) {.et-ui * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}.et-ui .et-loading-line::before {animation:none!important;transform:none;}}
