/* H100 attachment gallery and customer full-cell ticket links */
.h100-attachment-modal[hidden]{display:none!important}
.h100-attachment-modal{
  position:fixed;
  inset:0;
  z-index:5200;
  display:grid;
  place-items:center;
  padding:18px;
}
.h100-attachment-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,7,18,.78);
  backdrop-filter:blur(8px);
}
.h100-attachment-modal__dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(1480px,calc(100vw - 36px));
  height:min(920px,calc(100dvh - 36px));
  overflow:hidden;
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  background:#17191d;
  box-shadow:0 28px 90px rgba(0,0,0,.56);
}
.h100-attachment-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:64px;
  padding:11px 14px 11px 18px;
  border-bottom:1px solid rgba(148,163,184,.20);
  background:linear-gradient(180deg,#24262b 0%,#1f2125 100%);
  color:#f3f4f6;
}
.h100-attachment-modal__title-wrap{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.h100-attachment-modal__title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.h100-attachment-modal__counter{
  flex:0 0 auto;
  color:#9ca3af;
  font-size:12px;
  font-weight:700;
}
.h100-attachment-modal__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.h100-attachment-modal__download{
  min-height:38px;
  text-decoration:none!important;
}
.h100-attachment-modal__close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(148,163,184,.24);
  border-radius:11px;
  background:#292c32;
  color:#f9fafb;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.h100-attachment-modal__close:hover,
.h100-attachment-modal__close:focus-visible{
  border-color:rgba(45,212,191,.65);
  outline:none;
}
.h100-attachment-modal__stage{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#0e1014;
}
.h100-attachment-modal__content{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  padding:18px 74px;
  overflow:auto;
}
.h100-attachment-modal__image{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 10px 40px rgba(0,0,0,.32);
}
.h100-attachment-modal__pdf{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  border:0;
  border-radius:10px;
  background:#fff;
}
.h100-attachment-modal__loading{
  position:absolute;
  inset:auto;
  z-index:2;
  padding:10px 14px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:10px;
  background:rgba(31,33,37,.90);
  color:#e5e7eb;
  font-weight:700;
}
.h100-attachment-modal__loading.is-error{
  max-width:520px;
  color:#fecaca;
  text-align:center;
}
.h100-attachment-modal__nav{
  position:absolute;
  z-index:4;
  top:50%;
  display:grid;
  place-items:center;
  width:48px;
  height:64px;
  margin-top:-32px;
  padding:0;
  border:1px solid rgba(148,163,184,.25);
  border-radius:14px;
  background:rgba(31,33,37,.88);
  color:#f9fafb;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.h100-attachment-modal__nav.is-prev{left:14px}
.h100-attachment-modal__nav.is-next{right:14px}
.h100-attachment-modal__nav:hover:not(:disabled),
.h100-attachment-modal__nav:focus-visible{
  border-color:rgba(45,212,191,.65);
  background:rgba(41,44,50,.96);
  outline:none;
}
.h100-attachment-modal__nav:disabled{
  opacity:.25;
  cursor:default;
}
a[data-h100-attachment-preview]{cursor:zoom-in}

/* HVSZ_H101B_CUSTOMER_TABLE_LAYOUT
   A H100 abszolút pozicionált linkjei nem vettek részt a táblázat
   szélességszámításában, ezért a Hibajegy és Tárgy oszlop összeomlott.
   A link most ismét normál flow-ban ad szélességet, a ::after kattintási
   réteg pedig továbbra is lefedi a teljes cellamagasságot. */
.customer-ticket-table-wrap{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
.customer-ticket-table{
  width:100%!important;
  table-layout:fixed!important;
}
.customer-ticket-table--own{
  min-width:1280px!important;
}
.customer-ticket-table--organization{
  min-width:1460px!important;
}

/* Saját hibajegyeim: 100% */
.customer-ticket-table--own .customer-ticket-col--number{width:11%}
.customer-ticket-table--own .customer-ticket-col--department{width:8%}
.customer-ticket-table--own .customer-ticket-col--subject{width:22%}
.customer-ticket-table--own .customer-ticket-col--status{width:10%}
.customer-ticket-table--own .customer-ticket-col--topic{width:11%}
.customer-ticket-table--own .customer-ticket-col--location{width:16%}
.customer-ticket-table--own .customer-ticket-col--created{width:11%}
.customer-ticket-table--own .customer-ticket-col--closed{width:11%}

/* Szervezetem hibajegyei: 100% */
.customer-ticket-table--organization .customer-ticket-col--number{width:10%}
.customer-ticket-table--organization .customer-ticket-col--department{width:7%}
.customer-ticket-table--organization .customer-ticket-col--reporter{width:12%}
.customer-ticket-table--organization .customer-ticket-col--subject{width:20%}
.customer-ticket-table--organization .customer-ticket-col--status{width:9%}
.customer-ticket-table--organization .customer-ticket-col--topic{width:10%}
.customer-ticket-table--organization .customer-ticket-col--location{width:14%}
.customer-ticket-table--organization .customer-ticket-col--created{width:9%}
.customer-ticket-table--organization .customer-ticket-col--closed{width:9%}

.customer-ticket-table th,
.customer-ticket-table td{
  min-width:0;
}
.customer-ticket-table td.customer-ticket-click-cell{
  position:relative;
  padding:0!important;
}
.customer-ticket-table td.customer-ticket-click-cell > .customer-ticket-full-cell-link{
  position:static;
  display:flex!important;
  align-items:center;
  width:100%;
  min-width:0;
  min-height:46px;
  padding:12px 16px!important;
  margin:0!important;
  color:inherit!important;
  text-decoration:none!important;
  overflow:hidden;
}
.customer-ticket-table td.customer-ticket-click-cell > .customer-ticket-full-cell-link::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  cursor:pointer;
}
.customer-ticket-table td.customer-ticket-id-cell > .customer-ticket-full-cell-link{
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.customer-ticket-table td.customer-ticket-subject-cell > .customer-ticket-full-cell-link{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.35;
}
.customer-ticket-table td.customer-ticket-click-cell:hover{
  background:rgba(45,212,191,.055);
}
.customer-ticket-table td.customer-ticket-click-cell > .customer-ticket-full-cell-link:hover{
  text-decoration:none!important;
}
.customer-ticket-table td.customer-ticket-click-cell > .customer-ticket-full-cell-link:focus-visible{
  outline:none;
}
.customer-ticket-table td.customer-ticket-click-cell > .customer-ticket-full-cell-link:focus-visible::after{
  outline:2px solid rgba(45,212,191,.70);
  outline-offset:-3px;
  border-radius:7px;
}
.customer-ticket-table td:nth-last-child(-n+2){
  white-space:nowrap;
}
.customer-ticket-table .customer-status-badge{
  white-space:nowrap;
}

html[data-theme="light"] .h100-attachment-modal__dialog{
  background:#f8fafc;
}
html[data-theme="light"] .h100-attachment-modal__header{
  background:linear-gradient(180deg,#ffffff 0%,#f3f4f6 100%);
  color:#111827;
}
html[data-theme="light"] .h100-attachment-modal__stage{
  background:#e5e7eb;
}

@media(max-width:720px){
  .h100-attachment-modal{padding:0}
  .h100-attachment-modal__dialog{
    width:100vw;
    height:100dvh;
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .h100-attachment-modal__header{
    min-height:58px;
    padding:8px 9px 8px 13px;
  }
  .h100-attachment-modal__actions{gap:5px}
  .h100-attachment-modal__download{
    min-height:36px;
    padding:7px 9px!important;
  }
  .h100-attachment-modal__close{
    width:36px;
    height:36px;
  }
  .h100-attachment-modal__content{
    padding:12px 48px;
  }
  .h100-attachment-modal__nav{
    width:38px;
    height:56px;
    margin-top:-28px;
    border-radius:10px;
    font-size:31px;
  }
  .h100-attachment-modal__nav.is-prev{left:5px}
  .h100-attachment-modal__nav.is-next{right:5px}
  .h100-attachment-modal__pdf{min-height:300px}
}
