.hec-card { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; }

.hec-label { font-size: .78rem; font-weight: 700; color: var(--txt-2); display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.hec-label i { color: var(--brand); }

.hec-textarea {
    width: 100%; box-sizing: border-box; height: 180px; resize: vertical;
    border: 1.5px solid var(--border); border-radius: 10px;
    padding: 12px 14px; font-family: 'SFMono-Regular', Consolas, monospace;
    font-size: .82rem; line-height: 1.6; color: var(--txt);
    background: var(--surface); transition: border-color .2s;
}
.hec-textarea:focus { outline: none; border-color: var(--brand); }

.hec-error {
    display: none; padding: 10px 14px; border-radius: 8px;
    background: #fff1f2; border: 1px solid #fca5a5;
    color: #b91c1c; font-size: .8rem;
}

.hec-result-header { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; }
.hec-summary { font-size: .78rem; font-weight: 700; color: var(--txt-2); }

.hec-table-wrap { overflow-x: auto; overflow-y: auto; max-height: 280px; border: 1.5px solid var(--border); border-radius: 10px; }
.hec-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.hec-table th {
    background: var(--brand); color: #fff;
    padding: 9px 14px; text-align: left;
    font-size: .74rem; font-weight: 700; white-space: nowrap;
    position: sticky; top: 0; z-index: 2;
}
.hec-table td { padding: 8px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; user-select: text; -webkit-user-select: text; cursor: text; }
.hec-table td * { user-select: text; -webkit-user-select: text; cursor: text; }
.hec-entity-code, .hec-decoded, .hec-lines { user-select: text; -webkit-user-select: text; cursor: text; }
.hec-table-wrap *::selection { background: rgba(255,220,0,.55); color: #1a1a1a; }
.hec-table tr:last-child td { border-bottom: none; }
.hec-table tbody tr.hec-row { cursor: pointer; }
.hec-table tbody tr.hec-row:hover td { background: rgba(99,102,241,.08); }
.hec-table tbody tr.hec-row-copied td { background: rgba(16,185,129,.15) !important; transition: background .1s; }
.hec-table tbody tr:nth-child(even) td { background: var(--page-bg); }

.hec-entity-code {
    font-family: 'SFMono-Regular', Consolas, monospace;
    background: rgba(99,102,241,.1); color: #6366f1;
    padding: 2px 7px; border-radius: 5px; font-size: .8rem; white-space: nowrap;
}
.hec-decoded {
    font-size: .85rem; font-weight: 700; color: var(--txt);
}
.hec-type-badge {
    display: inline-flex; align-items: center;
    font-size: .65rem; font-weight: 700; letter-spacing: .04em;
    padding: 2px 8px; border-radius: 99px; text-transform: uppercase;
}
.hec-type-named   { background: rgba(99,102,241,.12); color: #6366f1; }
.hec-type-numeric { background: rgba(245,158,11,.12); color: #b45309; }
.hec-type-hex     { background: rgba(16,185,129,.12); color: #065f46; }
.hec-count-badge {
    display: inline-flex; align-items: center;
    background: #dcfce7; color: #166534; border: 1px solid #86efac;
    border-radius: 99px; font-size: .7rem; font-weight: 800;
    padding: 2px 8px;
}
.hec-lines { font-size: .72rem; color: var(--txt-3); font-family: monospace; }

.hec-card .controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }
