/* RSKO Document Manager — frontend table. Theming driven by --rsko-accent / --rsko-accent-rgb. */
.rsko-documents{
  --rsko-accent:#176b87;
  --rsko-accent-rgb:23,107,135;
  --rsko-ink:#1f2a30;
  --rsko-muted:#66757d;
  --rsko-line:#e4ebee;
  --rsko-soft:rgba(var(--rsko-accent-rgb),.08);
  --rsko-soft-2:rgba(var(--rsko-accent-rgb),.04);
  --rsko-radius:16px;
  box-sizing:border-box;
  max-width:1120px;
  margin:2rem auto;
  padding:1.4rem;
  border:1px solid var(--rsko-line);
  border-radius:var(--rsko-radius);
  background:#fff;
  box-shadow:0 14px 34px rgba(15,40,52,.08);
  color:var(--rsko-ink);
  font-size:15px;
  line-height:1.5;
}
.rsko-documents *{box-sizing:border-box}

/* Toolbar: search + filters */
.rsko-dm-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
  padding:.9rem;
  margin-bottom:.5rem;
  border-radius:12px;
  background:var(--rsko-accent);
  border:1px solid var(--rsko-accent);
}
.rsko-dm-search{
  flex:1 1 240px;
  display:flex;align-items:center;gap:.55rem;min-width:0;
  padding:.55rem .8rem;
  border:1px solid var(--rsko-line);
  border-radius:9px;
  background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.rsko-dm-search:focus-within{outline:0;border-color:var(--rsko-accent);box-shadow:0 0 0 3px rgba(var(--rsko-accent-rgb),.18)}
.rsko-dm-search-ic{flex:none;color:var(--rsko-muted);pointer-events:none}
/* Input sits inside the flex box; reset hard so no theme padding/border collides with the icon. */
.rsko-dm-q{
  flex:1 1 auto;width:100%;min-width:0;
  margin:0 !important;padding:0 !important;
  border:0 !important;background:transparent !important;box-shadow:none !important;
  color:inherit;font:inherit;line-height:1.4;outline:0;
}
/* Hardened against theme/global `select{...}` rules and CSS optimizers: every visual
   property is !important and the selector includes the element type for extra specificity,
   so nothing from the surrounding site can leave the native OS pill/transparent look showing. */
.rsko-documents select.rsko-dm-f{
  appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  flex:0 1 170px;min-width:0;
  padding:.62rem 2.1rem .62rem .8rem !important;
  margin:0 !important;
  border:1px solid var(--rsko-line) !important;
  border-radius:9px !important;
  background-color:#ffffff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2366757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right .7rem center !important;
  background-size:14px !important;
  box-shadow:none !important;
  color:#1f2a30 !important;
  font:inherit !important;
  line-height:1.4 !important;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s;
}
.rsko-documents select.rsko-dm-f::-ms-expand{display:none}
.rsko-documents select.rsko-dm-f option{color:#1f2a30;background:#fff}
.rsko-dm-go{
  flex:0 0 auto;
  border:0;border-radius:9px;
  background:#fff;color:var(--rsko-accent);
  padding:.62rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;
  transition:filter .15s;
}
.rsko-dm-go:hover{filter:brightness(.94)}
.rsko-documents select.rsko-dm-f:focus{
  outline:0 !important;
  border-color:var(--rsko-accent) !important;
  box-shadow:0 0 0 3px rgba(var(--rsko-accent-rgb),.18) !important;
}
.rsko-dm-reset{
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.7);
  background:transparent;color:#fff;
  border-radius:9px;padding:.62rem .9rem;
  cursor:pointer;font:inherit;white-space:nowrap;
  transition:background .15s;
}
.rsko-dm-reset:hover{background:rgba(255,255,255,.16)}

.rsko-dm-meta{display:flex;align-items:center;gap:.6rem;min-height:1.4rem;margin:.4rem .2rem .7rem}
.rsko-dm-count{font-size:.82rem;color:var(--rsko-muted)}
.rsko-dm-loading{font-size:.82rem;color:var(--rsko-accent);font-weight:600}
.rsko-dm-loading::before{content:"";display:inline-block;width:12px;height:12px;margin-right:.4rem;vertical-align:-1px;border:2px solid rgba(var(--rsko-accent-rgb),.3);border-top-color:var(--rsko-accent);border-radius:50%;animation:rsko-spin .6s linear infinite}
@keyframes rsko-spin{to{transform:rotate(360deg)}}
.rsko-documents.is-loading .rsko-dm-table-wrap{opacity:.55;transition:opacity .15s;pointer-events:none}

/* Table */
.rsko-dm-table-wrap{overflow-x:auto;border:1px solid var(--rsko-line);border-radius:12px}
.rsko-dm-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}
.rsko-dm-table thead th{
  padding:.8rem .85rem;
  background:var(--rsko-accent);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:left;
  white-space:nowrap;
}
.rsko-dm-table thead th:first-child{border-top-left-radius:11px}
.rsko-dm-table thead th:last-child{border-top-right-radius:11px}
.rsko-dm-table td{
  padding:.85rem;
  border-top:1px solid var(--rsko-line);
  vertical-align:middle;
}
.rsko-dm-table tbody tr:nth-child(2n) td{background:var(--rsko-soft-2)}
.rsko-dm-table tbody tr:hover td{background:var(--rsko-soft)}
.rsko-dm-col-no{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;color:var(--rsko-muted);width:1%}
.rsko-dm-col-num{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--rsko-muted)}
.rsko-dm-col-year{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;width:1%}
.rsko-dm-col-act{white-space:nowrap;width:1%}
.rsko-dm-title{font-weight:600;color:var(--rsko-ink)}
/* Mobile card-view label: a real text node (see templates/row.php) rather than CSS
   `content: attr()`, so translation widgets (Google Translate/GTranslate) can read and
   translate it. Hidden on desktop where the real <th> header already shows the label. */
.rsko-dm-td-label{display:none}
.rsko-dm-td-value{display:contents}
.rsko-dm-col-desc{color:var(--rsko-muted);max-width:420px}
.rsko-dm-nofile{color:#b7c0c5}

.rsko-dm-view{
  display:inline-flex;align-items:center;gap:.4rem;
  border:0;border-radius:8px;
  background:var(--rsko-accent);color:#fff!important;
  padding:.5rem .8rem;font-size:.85rem;font-weight:600;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:filter .15s,transform .05s;
}
.rsko-dm-view:hover{filter:brightness(1.08)}
.rsko-dm-view:active{transform:translateY(1px)}
.rsko-dm-view svg{flex:none}

/* Empty state */
.rsko-dm-empty{padding:2.4rem 1rem;text-align:center;color:var(--rsko-muted)}

/* Pagination */
.rsko-dm-pagination{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:1.2rem}
.rsko-dm-pagination:empty{display:none}
.rsko-dm-page{
  display:inline-block;min-width:38px;text-align:center;
  border:1px solid var(--rsko-line);
  background:#fff;color:var(--rsko-accent);
  border-radius:8px;padding:.42rem .7rem;
  font:inherit;font-weight:600;cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s,border-color .15s;
}
.rsko-dm-page:hover:not(.is-disabled):not(.is-current){background:var(--rsko-soft);border-color:var(--rsko-accent);color:var(--rsko-accent)}
.rsko-dm-page.is-current{background:var(--rsko-accent);color:#fff;border-color:var(--rsko-accent)}
.rsko-dm-page.is-disabled{opacity:.4;cursor:default;pointer-events:none}
.rsko-dm-ellipsis{padding:.42rem .3rem;color:var(--rsko-muted)}

/* PDF modal */
.rsko-dm-modal{width:min(1000px,94vw);height:min(85vh,900px);padding:0;border:0;border-radius:12px;overflow:hidden}
.rsko-dm-modal::backdrop{background:rgba(10,25,32,.72)}
.rsko-dm-modal .rsko-dm-modal-close{position:absolute;right:.6rem;top:.6rem;z-index:1;border:0;border-radius:50%;width:36px;height:36px;background:#fff;font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.rsko-dm-modal iframe{width:100%;height:100%;border:0}

/* Responsive: card layout on small screens */
@media(max-width:760px){
  .rsko-documents{padding:1rem;border-radius:12px}
  .rsko-dm-toolbar{grid-template-columns:1fr 1fr;padding:.75rem}
  .rsko-dm-search{grid-column:1 / -1}
  .rsko-dm-reset{grid-column:1 / -1}
}
@media(max-width:560px){
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table-wrap{overflow:visible;border:0;border-radius:0}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table{min-width:0}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table,
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tbody,
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tr,
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table td{display:block;width:100%}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tr{
    margin-bottom:.8rem;border:1px solid var(--rsko-line);border-radius:12px;overflow:hidden;
    box-shadow:0 3px 10px rgba(15,40,52,.05);
  }
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table td{
    border:0;border-top:1px solid var(--rsko-line);
    display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
    padding:.65rem .9rem;text-align:right;
  }
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tr td:first-child{border-top:0}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table .rsko-dm-td-label{
    display:block;
    font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
    color:var(--rsko-accent);text-align:left;flex:none;padding-top:.15rem;
  }
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table .rsko-dm-td-value{display:block;text-align:right}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tbody tr:nth-child(2n) td,
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-table tbody tr:hover td{background:#fff}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-col-desc{max-width:none}
  .rsko-documents:not(.rsko-dm--flat) .rsko-dm-actions{justify-content:flex-end}
}

/* Optional dark-friendliness for themes using a dark content area */
@media (prefers-color-scheme:dark){
  .rsko-documents.rsko-dm--auto-dark{--rsko-ink:#e8eef1;--rsko-muted:#9fb0b8;--rsko-line:#2b3a42;background:#16232a;border-color:#2b3a42}
  .rsko-documents.rsko-dm--auto-dark .rsko-dm-q,
  .rsko-documents.rsko-dm--auto-dark .rsko-dm-f,
  .rsko-documents.rsko-dm--auto-dark .rsko-dm-table{background:#1b2a32}
}
