* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333;
    background: #f8f9fa;
}

/* Header */
.header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(0,0,0,0.1);
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    color: white;
	display:flex;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
}

.nav-link {
    color: white;
    text-decoration: none;
    transition: opacity 0.3s;
    font-weight: 500;
}

.nav-link:hover {
    opacity: 0.8;
}

.auth-btn {
    background: rgba(255,255,255,0.2);
    border: 2px solid rgba(255,255,255,0.3);
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.3s;
    font-weight: 500;
}

.auth-btn:hover {
    background: rgba(255,255,255,0.3);
    transform: translateY(-2px);
}

/* Mobile menu */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 6rem 2rem;
    text-align: center;
}

.hero-container {
    max-width: 800px;
    margin: 0 auto;
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.hero p {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
    opacity: 0.9;
}

.cta-button {
    background: #ff6b6b;
    color: white;
    padding: 1rem 2.5rem;
    border: none;
    border-radius: 50px;
    font-size: 1.2rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s;
    font-weight: 600;
}

.cta-button:hover {
    background: #ff5252;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255,107,107,0.4);
}

/* Main Content */
.main-content {
    /*max-width: 1200px;*/
    margin: 0 auto;
    padding: 0 2rem;
	width:100%;
}

.section {
    padding: 4rem 0;
}

.section h2 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    color: #333;
}

/* Features */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.feature-card {
    background: white;
    padding: 2.5rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    text-align: center;
    transition: transform 0.3s;
}

.feature-card:hover {
    transform: translateY(-5px);
}

.feature-icon {
    font-size: 3rem;
    color: #667eea;
    margin-bottom: 1.5rem;
}

.feature-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #333;
}

/* Examples */
.examples-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.example-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}

.example-card:hover {
    transform: translateY(-5px);
}

.example-image {
    width: 100%;
    height: 400px;
    background: linear-gradient(45deg, #f0f2f5, #e9ecef);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 4rem;
}

.example-content {
    padding: 1.5rem;
}

.example-title {
    font-weight: bold;
    margin-bottom: 0.5rem;
    color: #333;
}

.example-keywords {
    background: #f8f9fa;
    padding: 0.8rem;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #666;
}

.keyword-tag {
    background: #e3f2fd;
    color: #1976d2;
    padding: 0.2rem 0.5rem;
    border-radius: 15px;
    margin: 0.2rem;
    display: inline-block;
    font-size: 0.8rem;
}

/* Page Container */
.page-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.page-content {
    flex: 1;
    padding: 4rem 0;
}

/* Upload Page */
.upload-container {
    max-width: 600px;
    margin: 0 auto;
    background: white;
    padding: 3rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    text-align: center;
}

.upload-area {
    border: 3px dashed #667eea;
    border-radius: 15px;
    padding: 4rem 2rem;
    margin: 2rem 0;
    transition: all 0.3s;
    cursor: pointer;
}

.upload-area:hover {
    background: #f8f9ff;
    border-color: #5a67d8;
}

.upload-area.dragover {
    background: #f0f4ff;
    border-color: #4299e1;
}

.upload-icon {
    font-size: 4rem;
    color: #667eea;
    margin-bottom: 1rem;
}

.file-input {
    display: none;
}

.upload-btn {
    background: #667eea;
    color: white;
    padding: 0.8rem 2rem;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    font-size: 1rem;
    margin-top: 1rem;
    transition: all 0.3s;
}

.upload-btn:hover {
    background: #5a67d8;
    transform: translateY(-2px);
}

/* Processing Page */
.processing-list {
margin: 0 auto;
  width: 100%;
  padding: 2rem;
}

.processing-item {
    background: white;
    padding: 1.5rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.processing-thumbnail {
    width: 80px;
    height: 80px;
    background: #f0f2f5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.processing-info {
    flex: 1;
}

.processing-status {
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: bold;
}

.status-processing {
    background: #fff3cd;
    color: #856404;
}

.status-completed {
    background: #d1ecf1;
    color: #0c5460;
}

/* Auth Modal */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.auth-modal, .confirm-modal, .delete-modal, .downloadJPG-modal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: white;
    border-radius: 20px;
    width: 90%;
    max-width: 450px;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease;
}

.modal-overlay.active .auth-modal {
    transform: translate(-50%, -50%) scale(1);
}

.modal-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-title {
    font-size: 1.5rem;
    font-weight: bold;
}

.modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}

.modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.modal-content {
    padding: 2rem;
}

.auth-tabs {
    display: flex;
    margin-bottom: 2rem;
    border-bottom: 2px solid #f0f2f5;
}

.auth-tab {
    flex: 1;
    padding: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: #666;
    border-bottom: 3px solid transparent;
    transition: all 0.3s;
}

.auth-tab.active {
    color: #667eea;
    border-bottom-color: #667eea;
}

.auth-form {
    display: none;
}

.auth-form.active {
    display: block;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #333;
}

.form-input {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 1rem;
    transition: border-color 0.3s;
    background: #f8f9fa;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    background: white;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.form-submit {
    width: 100%;
    padding: 1rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}

.form-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
}

.form-submit:active {
    transform: translateY(0);
}

.form-error {
    color: #e53e3e;
    font-size: 0.9rem;
    margin-top: 0.5rem;
    display: none;
}

.form-error.show {
    display: block;
}

.password-toggle {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    font-size: 0.9rem;
}

.password-field {
    position: relative;
}

/* Footer */
.footer {
    background: #2d3748;
    color: white;
    text-align: center;
    padding: 2rem;
    margin-top: 4rem;
}

/* Responsive */
@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }

#userMenu {
  flex-direction:column;
  width:100%;
}

    .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(102,126,234,0.95);
        flex-direction: column;
        padding: 1rem;
        gap: 1rem;
    }

    .nav-menu.active {
        display: flex;
    }

    .hero h1 {
        font-size: 2.5rem;
    }

    .hero p {
        font-size: 1.1rem;
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .examples-grid {
        grid-template-columns: 1fr;
    }

    .upload-container {
        margin: 0 1rem;
        padding: 2rem;
    }

    .processing-item {
        flex-direction: column;
        text-align: center;
    }
}




.toast-close{
	position: absolute;
  top: 0;
  right: 0;
}

#userMenu{
	display:flex; gap:20px;
}


/* Стили для индикатора загрузки */
#upload-progress {
  margin: 20px 0;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background-color: #f9f9f9;
}

.progress-bar {
  width: 100%;
  height: 20px;
  background-color: #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}

.progress-fill {
  height: 100%;
  width: 0%;
  background-color: #4CAF50;
  transition: width 0.3s ease;
}

.progress-text {
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

.file-info {
  margin-bottom: 5px;
  font-size: 14px;
}

.upload-status {
  font-size: 14px;
  color: #666;
}

/* Анимация для процесса загрузки */
@keyframes pulse {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}

.uploading {
  animation: pulse 1.5s infinite;
}

/* Общие стили прогресса */
#upload-progress {
  margin: 20px 0;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}

#upload-progress h3 {
  margin-top: 0;
  color: #333;
}

.upload-status {
  margin-bottom: 15px;
  font-weight: bold;
  padding: 8px;
  border-radius: 4px;
}

.uploading {
  animation: pulse 1.5s infinite;
  background-color: #e3f2fd;
}

@keyframes pulse {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

/* Общий прогресс */
.overall-progress {
  margin-bottom: 20px;
}

.overall-progress .progress-text {
  margin-bottom: 5px;
  font-size: 14px;
}

.overall-progress .progress-text span {
  font-weight: bold;
}

/* Стили для списка файлов */
.files-list {
  margin-top: 15px;
}

.file-item {
  margin-bottom: 15px;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 5px;
  background-color: white;
}

.file-name {
  font-weight: bold;
  margin-bottom: 5px;
  word-break: break-all;
}

.file-progress-bar {
  height: 10px;
  background-color: #e0e0e0;
  border-radius: 5px;
  overflow: hidden;
  margin: 5px 0;
}

.file-progress-fill {
  height: 100%;
  width: 0%;
  background-color: #2196F3;
  transition: width 0.3s ease;
}

.file-progress-text {
  font-size: 12px;
  color: #666;
}

.file-speed {
  font-size: 12px;
  color: #666;
  font-style: italic;
}

.file-status {
  font-size: 13px;
  margin-top: 3px;
}

/* Кнопка отмены */
#cancel-upload {
  margin-top: 15px;
  padding: 8px 15px;
  background-color: #ff5722;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#cancel-upload:hover {
  background-color: #e64a19;
}






/*КНОПКА РЕГИСТРАЦИИ */
.sandclock-active::after {
    content: '⏳';
    margin-left: 8px;
    animation: flip 1s infinite;
}

@keyframes flip {
    0% { content: '⏳'; }
    50% { content: '⏳'; }
    51% { content: '⌛'; }
    100% { content: '⌛'; }
}

button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}




/* UPLOAD PAGE */
/* Общие стили для страницы */
.page-container {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Стили для заголовка загрузки */
.upload-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    color: #333;
}

/* Стили для элемента баланса */
#balance {
    font-weight: bold;
}

/* Стили для контейнера загрузки */
#upload-progress {
    display: none;
}

/* Стили для блока с советами */
.upload-tips {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #e2e8f0;
}

.upload-tips h4 {
    margin-bottom: 1rem;
    color: #333;
}

.upload-tips ul {
    color: #666;
    line-height: 1.8;
    text-align: left;
    list-style-type: disc;
    padding-left: 1.5rem;
}

/* Стили для футера */
.footer-link {
    color: #8a8d93;
}

/* Стили для кнопки отмены загрузки */
#cancel-upload {
    display: none;
}

.files-list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    align-content: center;
    justify-content: center;
}



/*   PROCESSING    */
.status-panel {
  background: #ffffff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  margin-bottom: 24px;
	width: 100%;
  margin: 0 auto;
}

.status-filter {
  display: flex;
  gap: 8px;
  background: #f8f9fa;
  padding: 4px;
  border-radius: 10px;
}

.status-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #6c757d;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
}

.status-btn:hover {
  background: rgba(116, 140, 163, 0.1);
  color: #495057;
}

.status-btn.active {
  background: #ffffff;
  color: #2c3e50;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.status-btn.active .status-icon {
  color: #758ca3;
}

.status-icon {
  color: #adb5bd;
  transition: color 0.3s ease;
  flex-shrink: 0;
}

.status-count {
  font-size: 12px;
  font-weight: 600;
  color: #adb5bd;
  margin-left: auto;
  padding-left: 8px;
}

.status-btn.active .status-count {
  color: #758ca3;
}

/* Анимация активного состояния */
.status-btn {
  position: relative;
  overflow: hidden;
}

.status-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #758ca3;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.status-btn.active::after {
  width: 80%;
}

/* Адаптивность */
@media (max-width: 768px) {
  .status-filter {
    flex-direction: column;
  }
  
  .status-btn {
    justify-content: center;
    text-align: center;
  }
  
  .status-count {
    margin-left: 4px;
  }
}

@media (max-width: 480px) {
  .status-btn {
    padding: 10px 12px;
    font-size: 13px;
  }
  
  .status-icon {
    width: 18px;
    height: 18px;
  }
}


/* Анимация для иконки обработки */
.processing-arrow {
  transform-origin: center;
  animation: processingSpin 1.5s linear infinite;
}

@keyframes processingSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Для лучшей видимости анимации */
.status-btn[data-status="processing"] .status-icon {
  color: #ffa500; /* Оранжевый для статуса обработки */
}

.status-btn.active[data-status="processing"] .status-icon {
  color: #ff8c00; /* Более темный оранжевый для активного состояния */
}


#saveInfo {
	display: inline-block;	
	box-sizing: border-box;
	padding: 0 15px;
	margin: 0 15px 15px 0;
	outline: none;
	border: 1px solid #7952b3;  
	border-radius: 5px;
	height: 38px;
	line-height: 38px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	color: #fff;
	background-color: #7952b3;
	cursor: pointer;
	user-select: none;
	appearance: none;
	touch-action: manipulation;
	width: 100%;
}

#saveInfo:focus {
	box-shadow: 0 0 0 3px rgb(121 82 179 / 25%);
}

#saveInfo:hover {
	background-color: #61428f;
	border-color: #61428f;
}

#saveInfo:active {
	background-color: #61428f !important;
	border-color: #61428f !important;
}



.onePhoto{width: 250px;
  padding: 10px;
  height: fit-content;
  border: 1px solid #ddd;
  border-radius: 10px;position: relative;cursor:pointer
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  background-color: #fff;
  
  }
  
.photoTitle{
	margin: 10px 0 0 0;
  padding: 0;
}

.addToProcessing{display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  width: 20px;
  height: 20px;z-index:999;cursor:pointer}
  



.onePhoto img {
  width: 100%;
  transition: all 0.3s ease;
}

.onePhoto:hover img {
  transform: scale(0.9);
}

.photoElementSelected{
	border: 3px solid #6e63c4;
}

  .photo-card {
    display: flex;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    overflow: hidden;
  }
  
  .photo-container {
    position: relative;
    flex: 0 0 300px;
  }
  
  .photo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .photo-status {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 6px 10px;
    color: white;
    font-size: 13px;
    text-align: center;
  }
  
  .status-uploaded { background: #4a90e2; }
  .status-processing { background: #f5a623; }
  .status-ready { background: #7ed321; }
  
  .photo-info {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .info-group {
    margin-bottom: 10px;
  }
  
  .info-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #555;
    font-size: 14px;
  }
  
  .editable-title, .editable-description {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
  }
  
  
  .tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
  }
  
  .tag {
    display: inline-flex;
    align-items: center;
    background: #f0f0f0;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 13px;
  }
  
  .tag-remove {
    margin-left: 6px;
    cursor: pointer;
    color: #888;
    font-size: 14px;
    line-height: 1;
  }
  
  .tag-remove:hover {
    color: #ff0000;
  }
  
  .tag-input {
    display: flex;
    margin-top: 5px;
  }
  
  .tag-input-field {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
  }
  
  .tag-add-btn {
    padding: 0 15px;
    background: #4a90e2;
    color: white;
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    font-size: 16px;
  }
  
  .tag-add-btn:hover {
    background: #3a7bc8;
  }
  
  .num_cost_tasks{font-size:1.2rem}
.hidden{display:none}
.show{display:flex}

.photo-image{height:150px; overflow:hidden}


/* Добавляем псевдо-элемент для иконки */
.onePhoto[data-status]::after {
    content: '';
    position: absolute;
top: -15px;
  right: -15px;
  width: 25px;
  height: 25px;
    background: white;
    border-radius: 50%;
    padding: 3px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* SVG маски для каждого статуса */
.onePhoto[data-status="uploaded"]::after {
    background-color: #ffc107;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.42,8.22A7,7,0,0,0,5.06,10.11,4,4,0,0,0,6,18a1,1,0,0,0,0-2,2,2,0,0,1,0-4,1,1,0,0,0,1-1,5,5,0,0,1,9.73-1.61,1,1,0,0,0,.78.67,3,3,0,0,1,.24,5.84,1,1,0,0,0,.5,1.94,5,5,0,0,0,.17-9.62Zm-5.71,2.07a1,1,0,0,0-.33-.21,1,1,0,0,0-.76,0,1,1,0,0,0-.33.21l-3,3a1,1,0,0,0,1.42,1.42L11,13.41V19a1,1,0,0,0,2,0V13.41l1.29,1.3a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.42,8.22A7,7,0,0,0,5.06,10.11,4,4,0,0,0,6,18a1,1,0,0,0,0-2,2,2,0,0,1,0-4,1,1,0,0,0,1-1,5,5,0,0,1,9.73-1.61,1,1,0,0,0,.78.67,3,3,0,0,1,.24,5.84,1,1,0,0,0,.5,1.94,5,5,0,0,0,.17-9.62Zm-5.71,2.07a1,1,0,0,0-.33-.21,1,1,0,0,0-.76,0,1,1,0,0,0-.33.21l-3,3a1,1,0,0,0,1.42,1.42L11,13.41V19a1,1,0,0,0,2,0V13.41l1.29,1.3a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42Z'/%3E%3C/svg%3E");
}

.onePhoto[data-status="processing"]::after {
    background-color: #08b92c;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 19H7V12C7 12.4421 6.8539 12.8842 6.5617 13.2494L3.21913 17.4276C3.07728 17.605 3 17.8253 3 18.0523V19zM3.00137 6H12.9986C12.9995 5.9826 13 5.96515 13 5.94766V2H3V5.94766C3 5.96515 3.00046 5.9826 3.00137 6H3.00137zM9 12V19H13V18.0523C13 17.8253 12.9227 17.605 12.7809 17.4276L9.4383 13.2494C9.1461 12.8842 9 12.4421 9 12zM15 22C15.5523 22 16 22.4477 16 23C16 23.5523 15.5523 24 15 24H1C0.44772 24 0 23.5523 0 23C0 22.4477 0.44772 22 1 22V18.0523C1 17.3711 1.23184 16.7102 1.65739 16.1783L5 12L1.65739 7.82174C1.23184 7.2898 1 6.62887 1 5.94766V2C0.44772 2 0 1.55228 0 1C0 0.447715 0.44772 0 1 0H15C15.5523 0 16 0.447715 16 1C16 1.55228 15.5523 2 15 2V5.94766C15 6.62887 14.7682 7.2898 14.3426 7.82174L11 12L14.3426 16.1783C14.7682 16.7102 15 17.3711 15 18.0523V22z' fill='%23000'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 19H7V12C7 12.4421 6.8539 12.8842 6.5617 13.2494L3.21913 17.4276C3.07728 17.605 3 17.8253 3 18.0523V19zM3.00137 6H12.9986C12.9995 5.9826 13 5.96515 13 5.94766V2H3V5.94766C3 5.96515 3.00046 5.9826 3.00137 6H3.00137zM9 12V19H13V18.0523C13 17.8253 12.9227 17.605 12.7809 17.4276L9.4383 13.2494C9.1461 12.8842 9 12.4421 9 12zM15 22C15.5523 22 16 22.4477 16 23C16 23.5523 15.5523 24 15 24H1C0.44772 24 0 23.5523 0 23C0 22.4477 0.44772 22 1 22V18.0523C1 17.3711 1.23184 16.7102 1.65739 16.1783L5 12L1.65739 7.82174C1.23184 7.2898 1 6.62887 1 5.94766V2C0.44772 2 0 1.55228 0 1C0 0.447715 0.44772 0 1 0H15C15.5523 0 16 0.447715 16 1C16 1.55228 15.5523 2 15 2V5.94766C15 6.62887 14.7682 7.2898 14.3426 7.82174L11 12L14.3426 16.1783C14.7682 16.7102 15 17.3711 15 18.0523V22z' fill='%23000'/%3E%3C/svg%3E");
	animation: spin 1.5s linear infinite;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  width: 30px;
  height: 30px;
  top: -19px;
  right: -19px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


.onePhoto[data-status="ready"]::after {
    background-color: #28a745;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath d='M500 83q-113 0-210 57-95 55-150 150-57 97-57 210t57 210q55 95 150 150 97 57 210 57t210-57q95-55 150-150 57-97 57-210t-57-210q-55-95-150-150-97-57-210-57zm265 356L481 693q-12 8-30 8t-30-8L219 517q-8-9-5.5-23.5T225 470l53-54q12-11 26.5-13.5T330 410l5 4 94 112q2 4 6 6 8 5 17.5 4t16.5-8l186-203q14-13 27.5-11.5T709 329l53 59q10 10 11.5 26t-8.5 25z' fill='%23000'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath d='M500 83q-113 0-210 57-95 55-150 150-57 97-57 210t57 210q55 95 150 150 97 57 210 57t210-57q95-55 150-150 57-97 57-210t-57-210q-55-95-150-150-97-57-210-57zm265 356L481 693q-12 8-30 8t-30-8L219 517q-8-9-5.5-23.5T225 470l53-54q12-11 26.5-13.5T330 410l5 4 94 112q2 4 6 6 8 5 17.5 4t16.5-8l186-203q14-13 27.5-11.5T709 329l53 59q10 10 11.5 26t-8.5 25z' fill='%23000'/%3E%3C/svg%3E");
}

/* Стили для кнопок переключения */
.toggle-buttons {
    display: flex;
    gap: 12px;
	color:#fff;
}

.toggle-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: transparent;
    font-size: 14px;
    font-weight: 500;
	color:#fff;
}

.toggle-btn:hover {
    background: rgba(0, 123, 255, 0.1);
    transform: translateY(-1px);
}



.toggle-btn.active {
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
}

.toggle-btn.active.select-all {
    background: linear-gradient(135deg, #28a745, #1e7e34);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.toggle-btn.active.clear-all {
    background: linear-gradient(135deg, #dc3545, #c82333);
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.icon {
    font-size: 16px;
    font-weight: bold;
}