.tickets__table-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;overflow:hidden}.tickets__table{border-collapse:separate;border-spacing:0;width:100%;color:var(--text);font-size:13px}.tickets__table thead th{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 14px;font-size:11px;font-weight:600}.tickets__table thead th.is-num{text-align:right}.tickets__table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.tickets__table tbody tr{cursor:pointer;transition:background 80ms}.tickets__table tbody tr:hover{background:var(--surface-2)}.tickets__table tbody tr:last-child td{border-bottom:0}.tickets__table td.is-num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-jetbrains-mono), ui-monospace, monospace;font-size:12.5px}.tickets__table td.is-mono{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;font-size:12.5px}.tickets__cell-muted{color:var(--text-subtle);font-style:italic}.tickets__cell-stack{flex-direction:column;gap:2px;display:flex}.tickets__cell-secondary{color:var(--text-muted);font-size:11.5px}.tickets__cell-unlinked{letter-spacing:.06em;text-transform:uppercase;color:var(--warning);font-size:11px;font-weight:600;font-family:var(--font-jetbrains-mono), ui-monospace, monospace}.tickets__customer-link{color:var(--brand);font-weight:500}.tickets__customer-link:hover{color:var(--brand-hover);text-decoration:underline}.customers__row-link{color:var(--text);font-weight:600}.customers__row-link:hover{color:var(--brand)}.tickets__status{letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:600;font-family:var(--font-jetbrains-mono), ui-monospace, monospace;background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.tickets__status--PENDING{background:var(--info-bg);color:var(--info)}.tickets__status--REVIEWED{background:var(--success-bg);color:var(--success)}.tickets__status--INVOICED{background:var(--brand-subtle);color:var(--brand)}.tickets__status--ARCHIVED{background:var(--surface-2);color:var(--text-subtle)}.tickets__conf{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.tickets__conf--high{background:var(--success-bg);color:var(--success)}.tickets__conf--med{background:var(--warning-bg);color:var(--warning)}.tickets__conf--low{background:var(--danger-bg);color:var(--danger)}.tickets__empty{text-align:center;background:var(--surface);border:1px dashed var(--border);color:var(--text-muted);border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:64px 24px;display:flex}.tickets__empty-icon{background:var(--surface-2);width:48px;height:48px;color:var(--text-subtle);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tickets__empty-title{color:var(--text);font-size:16px;font-weight:600}.tickets__empty-body{max-width:460px;font-size:13px;line-height:1.55}.tickets__empty-cta{margin-top:14px}.tickets__error{background:var(--danger-bg);border:1px solid color-mix(in oklab, var(--danger) 30%, var(--border));color:var(--danger);border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.55}.tickets__error strong{font-weight:600}.tickets__modal-bd{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f12178c;justify-content:center;align-items:center;padding:32px;animation:.14s tickets-fade;display:flex;position:fixed;inset:0}@keyframes tickets-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tickets__modal-bd{animation:none}}.tickets__modal{background:var(--surface);box-shadow:var(--shadow-modal);border-radius:12px;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 64px);display:flex;overflow:hidden}.tickets__modal-hd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.tickets__modal-hd-l{flex-direction:column;gap:4px;min-width:0;display:flex}.tickets__modal-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:16px;font-weight:600}.tickets__modal-sub{color:var(--text-muted);font-size:12px;font-family:var(--font-jetbrains-mono), ui-monospace, monospace;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tickets__modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;display:inline-flex}.tickets__modal-close:hover{background:var(--surface-2);color:var(--text)}.tickets__modal-bd-inner{flex-direction:column;flex:1;gap:12px;padding:18px 20px;display:flex;overflow:auto}.tickets__modal-ft{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.tickets__source-preview{aspect-ratio:16/9;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:0;font-family:inherit;transition:border-color .12s;display:flex;position:relative;overflow:hidden}.tickets__source-preview:hover{border-color:var(--brand)}.tickets__source-preview-img{object-fit:contain;width:100%;height:100%}.tickets__source-preview-pdf{color:var(--text-muted);flex-direction:column;align-items:center;gap:6px;display:flex}.tickets__source-preview-pdf .mono{letter-spacing:.06em;color:var(--text-subtle);font-size:11px;font-weight:600}.tickets__source-preview-overlay{color:#fff;opacity:0;background:#0f1217bf;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px}.tickets__source-preview:hover .tickets__source-preview-overlay{opacity:1}.tickets__lightbox-bd{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1217c7;justify-content:center;align-items:center;padding:24px;animation:.14s tickets-fade;display:flex;position:fixed;inset:0}.tickets__lightbox{background:var(--surface);box-shadow:var(--shadow-modal);border-radius:12px;flex-direction:column;width:min(1200px,100%);height:min(900px,100%);display:flex;overflow:hidden}.tickets__lightbox-hd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.tickets__lightbox-filename{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tickets__lightbox-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;display:inline-flex}.tickets__lightbox-close:hover{background:var(--surface-2);color:var(--text)}.tickets__lightbox-body{background:var(--surface-2);flex:1;justify-content:center;align-items:center;display:flex;overflow:auto}.tickets__lightbox-pdf{width:100%;height:100%}.tickets__lightbox-img{object-fit:contain;max-width:100%;max-height:100%}.tickets__field{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.tickets__field:last-child{border-bottom:0}.tickets__field-k{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.tickets__field-v{color:var(--text);text-align:right;font-size:13px;font-weight:500}.tickets__field-v--muted{color:var(--text-subtle);font-style:italic;font-weight:400}.tickets__action-bar{background:var(--surface);border:1px solid var(--brand);box-shadow:var(--shadow-card);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.tickets__action-bar-l{color:var(--text)}.tickets__action-bar-l strong{color:var(--brand);font-variant-numeric:tabular-nums}.tickets__action-bar-r{gap:8px;display:flex}
