/* Tickets list page — 2-column shell with a collapsible panel sidebar. */

.tklist-shell {
    display: flex;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.tklist-sidebar {
    width: 280px;
    flex-shrink: 0;
    background: var(--wt-bg-2);
    border-right: 1px solid var(--wt-border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tklist-sidebar-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid var(--wt-border);
}

.tklist-sidebar-title {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}

.tklist-sidebar-sub {
    margin: 2px 0 0;
    font-size: 11px;
    color: var(--wt-fg-4);
}

.tklist-sidebar-new {
    margin-left: auto;
    padding: 5px 10px;
    font-size: 11.5px;
}

.tklist-sidebar-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 10px 14px;
}

.tklist-sidebar-group {
    padding: 10px 8px 4px;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--wt-fg-4);
    letter-spacing: 0.04em;
}

.tklist-panel-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: transparent;
    border: 0;
    color: var(--wt-fg);
    text-align: left;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 12.5px;
    cursor: pointer;
    margin-bottom: 2px;
}

.tklist-panel-item:hover { background: var(--wt-bg-3); }
.tklist-panel-item.is-active { background: var(--wt-bg-3); color: var(--wt-fg); }
.tklist-panel-item.is-active::after {
    content: "";
    position: absolute;
}

.tklist-panel-icon { font-size: 13px; flex-shrink: 0; }
.tklist-panel-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.tklist-panel-default {
    font-size: 10px;
    color: var(--wt-fg-4);
    background: var(--wt-bg);
    padding: 1px 6px;
    border-radius: 4px;
    border: 1px solid var(--wt-border);
}
.tklist-panel-count {
    font-size: 10.5px;
    color: var(--wt-fg-3);
    background: var(--wt-bg);
    padding: 1px 8px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}

.tklist-empty-sidebar {
    padding: 18px;
    color: var(--wt-fg-4);
    font-size: 11.5px;
}

/* Main column */
.tklist-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tklist-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 24px 12px;
    border-bottom: 1px solid var(--wt-border);
}

.tklist-sidebar-toggle {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: transparent;
    border: 0;
    color: var(--wt-fg-3);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.tklist-sidebar-toggle:hover { background: var(--wt-bg-3); color: var(--wt-fg); }

.tklist-head-main {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.tklist-head-title {
    font-size: 19px;
    font-weight: 700;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.tklist-head-badge {
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
}

.tklist-head-badge-team {
    color: oklch(0.78 0.18 30);
    border-color: oklch(0.65 0.18 30 / 0.55);
    background: oklch(0.55 0.18 30 / 0.15);
}

.tklist-head-badge-personal {
    color: oklch(0.78 0.16 245);
    border-color: oklch(0.65 0.16 245 / 0.55);
    background: oklch(0.55 0.16 245 / 0.15);
}

.tklist-head-counter {
    color: var(--wt-fg-3);
    font-size: 12px;
}

.tklist-head-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.tklist-head-link {
    background: transparent;
    border: 0;
    color: var(--wt-fg-2);
    font-weight: 600;
    font-size: 12.5px;
    cursor: pointer;
    padding: 6px 4px;
}

.tklist-head-link:hover { color: var(--wt-fg); }
.tklist-head-link.is-danger { color: oklch(0.7 0.22 25); }
.tklist-head-link.is-danger:hover { color: oklch(0.78 0.22 25); }

/* Search bar */
.tklist-searchbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
}

.tklist-search {
    flex: 1;
    position: relative;
}

.tklist-search > svg {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--wt-fg-4);
    pointer-events: none;
}

.tklist-search input {
    width: 100%;
    background: var(--wt-bg-2);
    border: 1px solid var(--wt-border);
    color: var(--wt-fg);
    padding: 10px 12px 10px 34px;
    border-radius: 8px;
    font-size: 13px;
    outline: none;
}

.tklist-search input:focus { border-color: var(--wt-primary); }

.tklist-queue-select {
    background: var(--wt-bg-2);
    border: 1px solid var(--wt-border);
    color: var(--wt-fg);
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 12.5px;
    min-width: 160px;
    cursor: pointer;
}

.tklist-icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--wt-bg-2);
    border: 1px solid var(--wt-border);
    color: var(--wt-fg-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tklist-icon-btn:hover { color: var(--wt-fg); }
.tklist-icon-btn.is-active {
    color: var(--wt-primary);
    border-color: var(--wt-primary);
    background: oklch(0.55 0.20 245 / 0.18);
}

/* Table */
.tklist-tablewrap {
    flex: 1;
    overflow: auto;
    padding: 0 24px 24px;
}

.tklist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.tklist-table thead {
    position: sticky;
    top: 0;
    background: var(--wt-bg);
    z-index: 2;
}

.tklist-table thead th {
    text-align: left;
    padding: 10px 12px;
    color: var(--wt-fg-4);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--wt-border);
    white-space: nowrap;
}

.tklist-table thead th.is-sortable { cursor: pointer; user-select: none; }
.tklist-table thead th.is-sortable:hover { color: var(--wt-fg-2); }

.tklist-table tbody tr {
    border-bottom: 1px solid var(--wt-border);
    cursor: pointer;
    transition: background 0.08s ease;
}

.tklist-table tbody tr:hover { background: var(--wt-bg-2); }
.tklist-table tbody tr.is-selected { background: oklch(0.55 0.18 245 / 0.10); }

.tklist-table tbody td {
    padding: 10px 12px;
    color: var(--wt-fg-2);
    vertical-align: middle;
}

.tklist-number {
    font-weight: 600;
    color: var(--wt-fg);
    margin-right: 6px;
}

.tklist-type-badge {
    font-size: 9.5px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 4px;
}

.tklist-when {
    color: var(--wt-fg-3);
    font-variant-numeric: tabular-nums;
}

.tklist-subject {
    color: var(--wt-fg);
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
