.sftp-table-wrap{margin:1.5rem 0;--sftp-border:#e5e7eb;--sftp-head:#f8fafc;--sftp-text:#0f172a;--sftp-muted:#334155}
.sftp-table-description{margin-bottom:.85rem;color:#334155}
.sftp-scroll{overflow-x:auto;overflow-y:visible;border-radius:18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;position:relative}
.sftp-scroll:focus{outline:2px solid #93c5fd;outline-offset:3px}
.sftp-scroll::-webkit-scrollbar{height:9px}.sftp-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}.sftp-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.sftp-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.sftp-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:15px;line-height:1.55;color:#0f172a}
.sftp-table caption{text-align:left;font-weight:800;font-size:1.14rem;margin-bottom:.7rem;color:#111827}
.sftp-table th,.sftp-table td{padding:14px 16px;border-bottom:1px solid var(--sftp-border);text-align:left;vertical-align:top;background-clip:padding-box}
.sftp-table thead th{background:var(--sftp-head);color:#0f172a;font-weight:800;border-top:1px solid var(--sftp-border);white-space:normal}
.sftp-style-premium .sftp-scroll{box-shadow:0 12px 35px rgba(15,23,42,.08);border:1px solid #e5e7eb;background:#fff}
.sftp-style-premium .sftp-table thead th{background:linear-gradient(180deg,#f8fafc,#eef2ff)}
.sftp-style-clean .sftp-scroll{border:1px solid #e5e7eb;background:#fff}.sftp-style-clean .sftp-table th,.sftp-style-clean .sftp-table td{padding:13px 15px}
.sftp-style-bordered .sftp-scroll{border:1px solid #cbd5e1;background:#fff}.sftp-style-bordered .sftp-table th,.sftp-style-bordered .sftp-table td{border-right:1px solid #e5e7eb}
.sftp-style-glass .sftp-scroll{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,242,255,.96));border:1px solid rgba(148,163,184,.35);box-shadow:0 18px 48px rgba(79,70,229,.12);backdrop-filter:blur(12px)}
.sftp-style-glass .sftp-table{background:transparent}.sftp-style-glass .sftp-table thead th{background:linear-gradient(180deg,rgba(224,231,255,.95),rgba(238,242,255,.95))}
.sftp-style-dark{--sftp-border:#334155;--sftp-head:#1e293b;--sftp-text:#e2e8f0;--sftp-muted:#cbd5e1}.sftp-style-dark .sftp-scroll{background:#0f172a;border:1px solid #1e293b;box-shadow:0 18px 45px rgba(2,6,23,.35)}.sftp-style-dark .sftp-table{background:#0f172a;color:#e2e8f0}.sftp-style-dark .sftp-table caption{color:#fff}.sftp-style-dark .sftp-table thead th{color:#fff;border-top-color:#334155}.sftp-style-dark .sftp-table th,.sftp-style-dark .sftp-table td{border-bottom-color:#334155}
.sftp-striped .sftp-table tbody tr:nth-child(even){background:#f8fafc}.sftp-striped .sftp-table tbody tr:nth-child(even)>*{background:#f8fafc}.sftp-style-dark.sftp-striped .sftp-table tbody tr:nth-child(even),.sftp-style-dark.sftp-striped .sftp-table tbody tr:nth-child(even)>*{background:#13203a}
.sftp-hover .sftp-table tbody tr:hover,.sftp-hover .sftp-table tbody tr:hover>*{background:#eef2ff}.sftp-style-dark.sftp-hover .sftp-table tbody tr:hover,.sftp-style-dark.sftp-hover .sftp-table tbody tr:hover>*{background:#1d2b47}
.sftp-compact .sftp-table th,.sftp-compact .sftp-table td{padding:9px 11px}
.sftp-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.sftp-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px}.sftp-search{border:1px solid #cbd5e1;border-radius:999px;padding:8px 14px;min-width:240px;background:#fff;color:#0f172a}
.sftp-table th[data-sftp-sort]{cursor:pointer;user-select:none}.sftp-table th[data-sftp-sort]::after{content:' ↕';opacity:.55;font-size:.8em}.sftp-sticky .sftp-table thead th{position:sticky;top:0;z-index:3}
.sftp-mobile-hint{display:none;margin:0 0 8px;color:#64748b;font-size:13px}
@media(max-width:700px){
  .sftp-toolbar{display:block}.sftp-toolbar label{display:block}.sftp-toolbar span{display:block;margin-bottom:6px}.sftp-search{min-width:0;width:100%;box-sizing:border-box}
  .sftp-responsive-scroll .sftp-mobile-hint,.sftp-responsive-sticky .sftp-mobile-hint{display:block}
  .sftp-responsive-scroll .sftp-scroll,.sftp-responsive-sticky .sftp-scroll{overflow-x:auto;overflow-y:visible;border-radius:14px;box-shadow:0 8px 22px rgba(15,23,42,.08)}
  .sftp-responsive-scroll .sftp-table,.sftp-responsive-sticky .sftp-table{width:max-content;min-width:100%;table-layout:auto}
  .sftp-responsive-scroll .sftp-table th,.sftp-responsive-scroll .sftp-table td,.sftp-responsive-sticky .sftp-table th,.sftp-responsive-sticky .sftp-table td{white-space:normal;min-width:140px;max-width:260px;padding:12px 13px}
  .sftp-responsive-sticky .sftp-table th:first-child,.sftp-responsive-sticky .sftp-table td:first-child,.sftp-responsive-sticky .sftp-table tbody th:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:8px 0 12px rgba(15,23,42,.08)}
  .sftp-responsive-sticky .sftp-table thead th:first-child{z-index:4}.sftp-style-dark.sftp-responsive-sticky .sftp-table th:first-child,.sftp-style-dark.sftp-responsive-sticky .sftp-table td:first-child,.sftp-style-dark.sftp-responsive-sticky .sftp-table tbody th:first-child{background:#0f172a}
  .sftp-responsive-cards .sftp-scroll,.sftp-responsive-stack .sftp-scroll{overflow:visible;box-shadow:none!important;border:0!important;background:transparent!important}
  .sftp-responsive-cards .sftp-table,.sftp-responsive-cards .sftp-table thead,.sftp-responsive-cards .sftp-table tbody,.sftp-responsive-cards .sftp-table th,.sftp-responsive-cards .sftp-table td,.sftp-responsive-cards .sftp-table tr,.sftp-responsive-stack .sftp-table,.sftp-responsive-stack .sftp-table thead,.sftp-responsive-stack .sftp-table tbody,.sftp-responsive-stack .sftp-table th,.sftp-responsive-stack .sftp-table td,.sftp-responsive-stack .sftp-table tr{display:block;min-width:0!important;width:100%!important;max-width:none!important}
  .sftp-responsive-cards .sftp-table thead,.sftp-responsive-stack .sftp-table thead{display:none}
  .sftp-responsive-cards .sftp-table tr{border:1px solid var(--sftp-border);border-radius:16px;margin:0 0 14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.06);overflow:hidden}
  .sftp-style-dark.sftp-responsive-cards .sftp-table tr{background:#0f172a;border-color:#1e293b;box-shadow:none}
  .sftp-responsive-cards .sftp-table td,.sftp-responsive-cards .sftp-table tbody th{display:grid;grid-template-columns:38% 1fr;gap:12px;border-bottom:1px solid #eef2f7;padding:12px 14px;background:transparent}
  .sftp-responsive-cards .sftp-table td:before,.sftp-responsive-cards .sftp-table tbody th:before{content:attr(data-label);font-weight:800;color:#334155}.sftp-style-dark.sftp-responsive-cards .sftp-table td:before,.sftp-style-dark.sftp-responsive-cards .sftp-table tbody th:before{color:#cbd5e1}.sftp-style-dark.sftp-responsive-cards .sftp-table td,.sftp-style-dark.sftp-responsive-cards .sftp-table tbody th{border-bottom-color:#334155}
  .sftp-responsive-stack .sftp-table tr{border-bottom:2px solid var(--sftp-border);padding:10px 0}.sftp-responsive-stack .sftp-table td,.sftp-responsive-stack .sftp-table tbody th{border-bottom:1px solid #eef2f7;padding:11px 0}.sftp-responsive-stack .sftp-table td:before,.sftp-responsive-stack .sftp-table tbody th:before{content:attr(data-label);display:block;font-weight:800;color:#334155;margin-bottom:3px}.sftp-style-dark.sftp-responsive-stack .sftp-table td:before,.sftp-style-dark.sftp-responsive-stack .sftp-table tbody th:before{color:#cbd5e1}
}


/* v1.3.0 Premium custom color controls */
.sftp-custom-colors .sftp-scroll{border-color:var(--sftp-border-color)!important;border-radius:var(--sftp-radius)!important}
.sftp-custom-colors .sftp-table{background:var(--sftp-body-bg)!important;color:var(--sftp-body-text)!important;font-size:var(--sftp-font-size)!important}
.sftp-custom-colors .sftp-table caption{color:var(--sftp-caption-color)!important}
.sftp-custom-colors .sftp-table thead th{background:var(--sftp-header-bg)!important;color:var(--sftp-header-text)!important;border-color:var(--sftp-border-color)!important}
.sftp-custom-colors .sftp-table th,.sftp-custom-colors .sftp-table td{border-color:var(--sftp-border-color)!important;color:var(--sftp-body-text)}
.sftp-custom-colors.sftp-striped .sftp-table tbody tr:nth-child(even){background:var(--sftp-stripe-bg)!important}
.sftp-custom-colors.sftp-hover .sftp-table tbody tr:hover{background:var(--sftp-hover-bg)!important}
.sftp-custom-colors .sftp-search:focus{border-color:var(--sftp-accent-color)!important;box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.sftp-shadow-none .sftp-scroll{box-shadow:none!important}
.sftp-shadow-soft .sftp-scroll{box-shadow:0 12px 35px rgba(15,23,42,.08)}
.sftp-shadow-deep .sftp-scroll{box-shadow:0 24px 70px rgba(15,23,42,.18)}
.sftp-custom-colors.sftp-responsive-cards .sftp-table tbody tr,
.sftp-custom-colors.sftp-responsive-stack .sftp-table tbody tr{border-color:var(--sftp-border-color)!important;background:var(--sftp-body-bg)!important}
