.bg-gradient-accent {
  background: linear-gradient(135deg, #00a8bf 0%, rgb(0, 190.4293193717, 216.5) 25%, rgb(0, 145.5706806283, 165.5) 100%);
}

.bg-gradient-surface {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.18) 100%);
}

.bg-gradient-surface-deep {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.12) 100%);
}

.bg-gradient-surface-shallow {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.08) 100%);
}

.badge-role-admin {
  background-color: #d41111;
}

.badge-role-curator {
  background-color: #d29922;
  color: #000;
}

.badge-role-maintainer {
  background-color: #58a6ff;
}

.badge-role-user {
  background-color: #8b949e;
}

:root {
  --surface-bg: #161b22;
  --accent: #00a8bf;
  --text: #c9d1d9;
  --text-muted: #8b949e;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
  --gradient-overlay: linear-gradient(transparent 20%, rgba(0, 0, 0, 0.92) 100%);
  --gradient-banner-empty: linear-gradient(135deg, #00a8bf 0%, rgb(0, 55.8534031414, 63.5) 60%, #161b22 100%);
  --selection-outline: rgba(255, 255, 255, 0.15);
  --status-queued: #8b949e;
  --status-running: #00a8bf;
  --status-waiting: #58a6ff;
  --status-completed: #3fb950;
  --status-completed-with-errors: #d29922;
  --status-failed: #d41111;
  --status-canceled: #8b949e;
  --strength-weak: #d41111;
  --strength-fair: #d29922;
  --strength-good: #e3b341;
  --strength-strong: #3fb950;
  --strength-track: #484f58;
  --job-scan: #58a6ff;
  --job-scan-hover: rgb(11.5, 125.2305389222, 255);
  --job-scan-active: rgb(0, 100.6526946108, 215.5);
  --job-meta: #8b949e;
  --job-meta-hover: rgb(100.4154929577, 109.7323943662, 120.0845070423);
  --job-meta-active: rgb(77.1901408451, 84.3521126761, 92.3098591549);
  --job-thumb: #00a8bf;
  --job-thumb-hover: rgb(0, 100.7120418848, 114.5);
  --job-thumb-active: rgb(0, 55.8534031414, 63.5);
  --job-preview: #00a8bf;
  --job-preview-hover: rgb(0, 100.7120418848, 114.5);
  --job-preview-active: rgb(0, 55.8534031414, 63.5);
  --job-phash: #9c27b0;
  --job-phash-hover: rgb(100.4930232558, 25.123255814, 113.376744186);
  --job-phash-active: rgb(63.488372093, 15.8720930233, 71.6279069767);
  --job-persons: #d29922;
  --job-persons-hover: rgb(144.1598360656, 105.0307377049, 23.3401639344);
  --job-persons-active: rgb(100.2663934426, 73.0512295082, 16.2336065574);
  --job-create-albums: #26a69a;
  --job-create-albums-hover: rgb(23.75, 103.75, 96.25);
  --job-create-albums-active: rgb(14.25, 62.25, 57.75);
  --job-integrity: #c9d1d9;
  --job-integrity-hover: rgb(156.097826087, 170.75, 185.402173913);
  --job-integrity-active: rgb(126.1630434783, 145.25, 164.3369565217);
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #0d1117;
}

::-webkit-scrollbar-thumb {
  background: #484f58;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #6e7681;
}

.valid.modified:not([type=checkbox]) {
  outline: 1px solid #3fb950;
}

.invalid {
  outline: 1px solid #f85149;
}

.validation-message {
  color: #f85149;
}

#blazor-error-ui {
  background: lightyellow;
  bottom: 0;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

#blazor-error-ui .dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

.blazor-error-boundary {
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #f85149;
  padding: 1rem 1rem 1rem 3.7rem;
  color: white;
}

.blazor-error-boundary::after {
  content: "An error has occurred.";
}

.darker-border-checkbox.form-check-input {
  border-color: #6e7681;
}

.sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.sortable:hover {
  text-decoration: underline;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-content {
  background: var(--bs-body-bg, #222);
  color: var(--bs-body-color, #eee);
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.modal-content-lg {
  max-width: 800px;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--accent);
  border-radius: 8px 8px 0 0;
}

.modal-header h5 {
  margin: 0;
}

.modal-body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid var(--bs-border-color, #444);
}

.btn-close {
  background: none;
  border: none;
  color: var(--bs-body-color, #eee);
  font-size: 1.5rem;
  cursor: pointer;
  opacity: 0.7;
}

.btn-close:hover {
  opacity: 1;
}

.cropper-viewport {
  position: relative;
  width: 100%;
  max-width: 500px;
  aspect-ratio: 1;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 8px;
  background: var(--bs-dark, #000);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  cursor: default;
  user-select: none;
  -webkit-user-drag: none;
}

.cropper-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.cropper-square {
  position: absolute;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 2px;
  pointer-events: none;
  box-sizing: border-box;
}

.cropper-circle {
  position: absolute;
  inset: 0;
  cursor: grab;
  z-index: 2;
}

.cropper-circle:active {
  cursor: grabbing;
}

.cropper-handle {
  position: absolute;
  width: 18px;
  height: 18px;
  background: var(--accent);
  border: 2px solid rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  z-index: 4;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
  pointer-events: auto;
}

.cropper-handle[data-corner=tl] {
  cursor: nw-resize;
}

.cropper-handle[data-corner=tr] {
  cursor: ne-resize;
}

.cropper-handle[data-corner=bl] {
  cursor: sw-resize;
}

.cropper-handle[data-corner=br] {
  cursor: se-resize;
}

.btn-primary {
  background: linear-gradient(135deg, #00a8bf 0%, rgb(0, 190.4293193717, 216.5) 25%, rgb(0, 145.5706806283, 165.5) 100%);
  border-color: rgb(0, 123.1413612565, 140);
}
.btn-primary:hover {
  background: linear-gradient(135deg, rgb(0, 203.8869109948, 231.8) 0%, #00a8bf 25%, rgb(12.5, 225.7984293194, 255) 100%);
  border-color: rgb(0, 100.7120418848, 114.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-primary:active {
  background: linear-gradient(135deg, rgb(12.5, 225.7984293194, 255) 0%, rgb(12.5, 225.7984293194, 255) 100%);
  border-color: rgb(0, 78.2827225131, 89);
  transform: translateY(0);
}
.btn-primary {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-secondary {
  background: linear-gradient(135deg, #8b949e 0%, rgb(152.8873239437, 160.8098591549, 169.6126760563) 25%, rgb(125.1126760563, 135.1901408451, 146.3873239437) 100%);
  border-color: rgb(112.0281690141, 122.4225352113, 133.9718309859);
}
.btn-secondary:hover {
  background: linear-gradient(135deg, rgb(161.2197183099, 168.4957746479, 176.5802816901) 0%, #8b949e 25%, rgb(180.661971831, 186.4295774648, 192.838028169) 100%);
  border-color: rgb(100.4154929577, 109.7323943662, 120.0845070423);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-secondary:active {
  background: linear-gradient(135deg, rgb(180.661971831, 186.4295774648, 192.838028169) 0%, rgb(180.661971831, 186.4295774648, 192.838028169) 100%);
  border-color: rgb(88.8028169014, 97.0422535211, 106.1971830986);
  transform: translateY(0);
}
.btn-secondary {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-success {
  background: linear-gradient(135deg, #00a8bf 0%, rgb(0, 190.4293193717, 216.5) 25%, rgb(0, 145.5706806283, 165.5) 100%);
  border-color: rgb(0, 123.1413612565, 140);
}
.btn-success:hover {
  background: linear-gradient(135deg, rgb(0, 203.8869109948, 231.8) 0%, #00a8bf 25%, rgb(12.5, 225.7984293194, 255) 100%);
  border-color: rgb(0, 100.7120418848, 114.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-success:active {
  background: linear-gradient(135deg, rgb(12.5, 225.7984293194, 255) 0%, rgb(12.5, 225.7984293194, 255) 100%);
  border-color: rgb(0, 78.2827225131, 89);
  transform: translateY(0);
}
.btn-success {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-danger {
  background: linear-gradient(135deg, #d41111 0%, rgb(235.6069868996, 18.8930131004, 18.8930131004) 25%, rgb(188.3930131004, 15.1069868996, 15.1069868996) 100%);
  border-color: rgb(164.7860262009, 13.2139737991, 13.2139737991);
}
.btn-danger:hover {
  background: linear-gradient(135deg, rgb(237.168558952, 32.631441048, 32.631441048) 0%, #d41111 25%, rgb(239.8187772926, 65.6812227074, 65.6812227074) 100%);
  border-color: rgb(141.1790393013, 11.3209606987, 11.3209606987);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-danger:active {
  background: linear-gradient(135deg, rgb(239.8187772926, 65.6812227074, 65.6812227074) 0%, rgb(239.8187772926, 65.6812227074, 65.6812227074) 100%);
  border-color: rgb(117.5720524017, 9.4279475983, 9.4279475983);
  transform: translateY(0);
}
.btn-danger {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-warning {
  background: linear-gradient(135deg, #d29922 0%, rgb(221.487704918, 165.3053278689, 48.012295082) 25%, rgb(188.0532786885, 137.0102459016, 30.4467213115) 100%);
  border-color: rgb(166.106557377, 121.0204918033, 26.893442623);
}
.btn-warning:hover {
  background: linear-gradient(135deg, rgb(223.6196721311, 171.0114754098, 61.1803278689) 0%, #d29922 25%, rgb(228.5942622951, 184.3258196721, 91.9057377049) 100%);
  border-color: rgb(144.1598360656, 105.0307377049, 23.3401639344);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-warning:active {
  background: linear-gradient(135deg, rgb(228.5942622951, 184.3258196721, 91.9057377049) 0%, rgb(228.5942622951, 184.3258196721, 91.9057377049) 100%);
  border-color: rgb(122.2131147541, 89.0409836066, 19.7868852459);
  transform: translateY(0);
}
.btn-warning {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-info {
  background: linear-gradient(135deg, #58a6ff 0%, rgb(113.5, 179.5898203593, 255) 25%, rgb(62.5, 152.4101796407, 255) 100%);
  border-color: rgb(37, 138.8203592814, 255);
}
.btn-info:hover {
  background: linear-gradient(135deg, rgb(128.8, 187.7437125749, 255) 0%, #58a6ff 25%, rgb(164.5, 206.7694610778, 255) 100%);
  border-color: rgb(11.5, 125.2305389222, 255);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-info:active {
  background: linear-gradient(135deg, rgb(164.5, 206.7694610778, 255) 0%, rgb(164.5, 206.7694610778, 255) 100%);
  border-color: rgb(0, 112.5628742515, 241);
  transform: translateY(0);
}
.btn-info {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-light {
  background: linear-gradient(135deg, #c9d1d9 0%, rgb(215.9673913043, 221.75, 227.5326086957) 25%, rgb(186.0326086957, 196.25, 206.4673913043) 100%);
  border-color: rgb(171.0652173913, 183.5, 195.9347826087);
}
.btn-light:hover {
  background: linear-gradient(135deg, rgb(224.947826087, 229.4, 233.852173913) 0%, #c9d1d9 25%, rgb(245.902173913, 247.25, 248.597826087) 100%);
  border-color: rgb(156.097826087, 170.75, 185.402173913);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-light:active {
  background: linear-gradient(135deg, rgb(245.902173913, 247.25, 248.597826087) 0%, rgb(245.902173913, 247.25, 248.597826087) 100%);
  border-color: rgb(141.1304347826, 158, 174.8695652174);
  transform: translateY(0);
}
.btn-light {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-dark {
  background: linear-gradient(135deg, #161b22 0%, rgb(32.0178571429, 39.2946428571, 49.4821428571) 25%, rgb(11.9821428571, 14.7053571429, 18.5178571429) 100%);
  border-color: rgb(1.9642857143, 2.4107142857, 3.0357142857);
}
.btn-dark:hover {
  background: linear-gradient(135deg, rgb(38.0285714286, 46.6714285714, 58.7714285714) 0%, #161b22 25%, rgb(52.0535714286, 63.8839285714, 80.4464285714) 100%);
  border-color: black;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.btn-dark:active {
  background: linear-gradient(135deg, rgb(52.0535714286, 63.8839285714, 80.4464285714) 0%, rgb(52.0535714286, 63.8839285714, 80.4464285714) 100%);
  border-color: black;
  transform: translateY(0);
}
.btn-dark {
  transition: transform 0.15s, box-shadow 0.15s;
}

.btn-group .btn:hover,
.navbar .btn:hover,
.btn-group-vertical .btn:hover {
  transform: none !important;
  box-shadow: none !important;
}

.card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.12) 100%);
  border-color: #30363d;
}

.card-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.08) 100%);
  border-bottom: 1px solid rgba(0, 168, 191, 0.25);
}

.modal-content {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.12) 100%);
}

.dropdown-menu {
  background-color: #0d1117;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.14) 100%);
  border-color: #30363d;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: rgb(11.44, 35.12, 43.16);
  background-image: linear-gradient(135deg, rgba(0, 168, 191, 0.18) 0%, rgba(0, 168, 191, 0.08) 100%);
}

.list-group-item {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.08) 100%);
  border-color: #30363d;
}

.list-group-item.active {
  background: linear-gradient(135deg, #00a8bf 0%, rgb(0, 190.4293193717, 216.5) 25%, rgb(0, 145.5706806283, 165.5) 100%);
  border-color: rgb(0, 123.1413612565, 140);
}

html, body {
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  min-height: 100dvh;
}

body {
  display: flex;
  flex-direction: column;
  background: radial-gradient(ellipse at 50% 0%, rgba(0, 168, 191, 0.12) 0%, rgba(0, 168, 191, 0.04) 40%, transparent 70%), #0d1117;
  background-attachment: fixed;
}

/*# sourceMappingURL=app.css.map */
