Something went wrong. Try again.
find unattached blobs for removal
Something went wrong. Try again.
4.0 kB · 245 lines
CSS
at deploy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246/* ScanReport styles: tabs, sticky action bar, grids */
/* Tabs — the headline numbers doubled as filters */.report-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 4px; position: sticky; top: 0; z-index: 5; background: var(--background); padding: 8px 0;}
.report-tab { background: var(--navbar-bg); color: var(--text); border: 2px solid var(--card-border); border-radius: 8px; padding: 10px 18px; min-height: 44px; font-weight: 700; cursor: pointer;}
.report-tab-active { border-color: var(--button-bg); color: var(--button-bg);}
.tab-count { font-variant-numeric: tabular-nums;}
.tab-note { margin: 0 0 8px; font-size: 0.85rem;}
/* Sticky action bar */.action-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; margin: 8px 0 16px; border: 2px solid var(--card-border); border-radius: 8px; background: var(--navbar-bg); position: sticky; top: 52px; z-index: 4;}
.action-button { background: var(--button-bg); color: var(--button-text); border: none; border-radius: 6px; min-height: 44px; padding: 10px 16px; font-weight: 700; cursor: pointer;}
.action-button:disabled { opacity: 0.45; cursor: not-allowed;}
.delete-action { background: var(--error-text);}
.select-all { display: flex; align-items: center; gap: 8px; min-height: 44px; margin-right: auto; cursor: pointer;}
.select-all input { width: 20px; height: 20px; accent-color: var(--button-bg);}
.export-done { color: var(--button-bg); font-weight: 700;}
.delete-warning { margin-top: 4px;}
/* Blob grid */.blob-grid-wrap { margin: 8px 0 24px;}
.blob-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px;}
.blob-card { border: 2px solid var(--card-border); border-radius: 8px; padding: 10px; display: flex; flex-direction: column; gap: 8px; background: var(--navbar-bg);}
.blob-check { display: flex; align-items: center; min-height: 32px;}
.blob-check input { width: 20px; height: 20px; accent-color: var(--button-bg);}
.blob-thumb { width: 100%; aspect-ratio: 1; border-radius: 6px; object-fit: cover; background: var(--card-border);}
.blob-thumb-loading,.blob-thumb-generic { display: flex; align-items: center; justify-content: center;}
.blob-thumb-generic::after { content: '📄'; font-size: 2rem;}
.cid-button { background: none; border: 1px solid var(--card-border); color: var(--text); font-family: monospace; font-size: 0.8rem; padding: 6px 10px; min-height: 36px; border-radius: 4px; cursor: pointer; text-align: left;}
.download-one { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; background: var(--button-bg); color: var(--button-text); border: none; border-radius: 6px; min-height: 44px; padding: 8px 12px; font-size: 0.9rem; font-weight: 700; font-family: inherit; cursor: pointer;}
.download-one:hover { opacity: 0.9;}
.blob-grid-empty { padding: 24px 0;}
/* Report tables + misc (informational, below the grid) */.report-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.9rem;}
.report-table th,.report-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--card-border);}
.report-table th { color: var(--text-muted); font-weight: 700;}
.missing-zone { margin: 24px 0;}
.missing-list { max-height: 300px; overflow-y: auto; padding-left: 20px;}
.missing-list li { padding: 4px 0; overflow-wrap: anywhere; font-size: 0.85rem;}
.verify-link { margin-top: 24px;}
@media (max-width: 600px) { .action-bar { top: 46px; } .blob-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; } .action-button { flex: 1 1 auto; padding: 10px 10px; font-size: 0.85rem; }}