/* The ticker-page blurred teaser, shared by the three saved-list tables. */
.fa-table-gate { position:relative; min-height:320px; overflow:hidden; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; }
.fa-table-gate-preview { position:absolute; inset:0; padding:20px; filter:blur(6px); opacity:.4; pointer-events:none; user-select:none; }
.fa-table-gate-preview table { width:100%; min-width:600px; border-collapse:collapse; color:#64748b; font-size:12px; }
.fa-table-gate-preview th { text-align:left; padding:12px; border-bottom:1px solid #cbd5e1; }
.fa-table-gate-preview td { padding:15px 12px; border-bottom:1px solid #e2e8f0; }
.fa-table-gate-cell { display:block; height:9px; background:#94a3b8; border-radius:3px; }
.fa-table-gate-preview td:nth-child(4) .fa-table-gate-cell { background:#34d399; }
.fa-table-gate-preview td:nth-child(5) .fa-table-gate-cell { background:#60a5fa; }
.fa-table-gate-overlay { position:relative; z-index:1; min-height:320px; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; text-align:center; background:rgba(248,250,252,.65); backdrop-filter:blur(2px); }
.fa-table-gate-lock { width:28px; height:28px; color:#64748b; margin-bottom:12px; }
.fa-table-gate-overlay h3 { margin:0 0 6px; font-size:14px; line-height:1.5; font-weight:700; color:#1e293b; }
.fa-table-gate-overlay p { max-width:420px; margin:0 0 16px; color:#64748b; font-size:12px; line-height:1.5; }
.fa-table-gate-cta { display:inline-block; padding:10px 20px; border-radius:8px; background:#2563eb; color:#fff!important; font-size:14px; line-height:1.5; font-weight:600; text-decoration:none!important; box-shadow:0 6px 18px #2563eb33; }
.fa-table-gate-cta:hover { background:#3b82f6; }
.fa-table-gate-signin { margin-top:12px; font-size:12px; line-height:1.5; color:#475569; text-decoration:underline; text-underline-offset:3px; }
.fa-table-gate a:focus-visible { outline:3px solid #60a5fa; outline-offset:4px; }
.dark .fa-table-gate { border-color:#334155; background:#0f172a; }
.dark .fa-table-gate-overlay { background:rgba(15,23,42,.65); }
.dark .fa-table-gate-preview th, .dark .fa-table-gate-preview td { border-color:#334155; }
.dark .fa-table-gate-overlay h3 { color:#e2e8f0; }
.dark .fa-table-gate-overlay p, .dark .fa-table-gate-lock, .dark .fa-table-gate-signin { color:#94a3b8; }

/* Loading state of the same three tables (Components/TableLoading.cshtml): the profile page's
   loading overlay, held inside the grid like the empty state above rather than over the page. */
.fa-table-loading { position:absolute; inset:0; z-index:20; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:rgba(255,255,255,.9); backdrop-filter:blur(8px); }
.fa-table-loading-spinner { width:40px; height:40px; box-sizing:border-box; border:4px solid #e4e4e7; border-top-color:#52525b; border-radius:9999px; animation:fa-table-loading-spin 1s linear infinite; }
.fa-table-loading-text { font-size:14px; line-height:20px; font-weight:500; color:#71717a; }
@keyframes fa-table-loading-spin { to { transform:rotate(360deg); } }
.dark .fa-table-loading { background:rgba(15,23,42,.9); }
.dark .fa-table-loading-spinner { border-color:#334155; border-top-color:#cbd5e1; }
.dark .fa-table-loading-text { color:#94a3b8; }

.fa-screener-upgrade { position:fixed; margin:auto; width:440px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; padding:32px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; color:#1e293b; text-align:center; box-shadow:0 24px 60px #0004; }
.fa-screener-upgrade::backdrop { background:rgba(15,23,42,.65); backdrop-filter:blur(3px); }
.fa-screener-upgrade .fa-table-gate-lock { margin:0 auto 16px; }
.fa-screener-upgrade h2 { font-size:20px; font-weight:700; margin:0 0 12px; line-height:1.3; }
.fa-screener-upgrade p { margin:0 0 24px; color:#64748b; font-size:14px; line-height:1.6; }
.fa-screener-upgrade-close { position:absolute; top:8px; right:12px; width:32px; height:32px; font-size:24px; cursor:pointer; color:#64748b; }
.fa-screener-upgrade-links { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:20px; font-size:13px; }
.fa-screener-upgrade-links a { text-decoration:underline; text-underline-offset:3px; }
.fa-screener-upgrade :focus-visible { outline:3px solid #60a5fa; outline-offset:4px; }
.dark .fa-screener-upgrade { background:#0f172a; color:#e2e8f0; border-color:#334155; }
.dark .fa-screener-upgrade p, .dark .fa-screener-upgrade-close { color:#94a3b8; }
