.aic-widget {
  max-width: 480px;
  margin: 20px auto;
  font-family: inherit;
  text-align: center;
}

.aic-hint {
  font-size: 13px;
  color: #666;
  margin: 8px 0 0;
}

.aic-file-label {
  display: inline-block;
  padding: 10px 20px;
  background: #eeeeee;
  border-radius: 25px;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.aic-file-label:hover {
  background: #e6ce00;
}

.aic-widget input[type="file"] {
  display: none;
}

.aic-cropper-wrapper {
  width: 100%;
  height: 360px;
  background: #222;
  overflow: hidden;
  border-radius: 10px;
}

.aic-cropper-wrapper img {
  max-width: 100%;
  display: block;
}

.aic-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 15px;
  flex-wrap: wrap;
}

.aic-btn {
  padding: 9px 20px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
}

.aic-btn-validate {
  background: #4caf50;
  color: white;
}

.aic-btn-validate:hover:not(:disabled) {
  background: #43a047;
}

.aic-btn-download {
  background: #2196f3;
  color: white;
}

.aic-btn-download:hover {
  background: #1976d2;
}

.aic-btn-cancel,
.aic-btn-restart {
  background: #eeeeee;
  color: black;
}

.aic-btn-cancel:hover,
.aic-btn-restart:hover {
  background: #e6ce00;
}

.aic-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.aic-step-loading {
  padding: 30px 0;
  color: #666;
}

.aic-step-result {
  margin-top: 10px;
}

.aic-preview {
  width: 160px;
  height: 160px;
  border-radius: 12px;
  object-fit: cover;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  filter: drop-shadow(3px 3px 10px #999);
}

.aic-message {
  font-weight: bold;
  margin: 10px 0;
}

.aic-message-ok {
  color: #1b5e20;
}

.aic-message-error {
  color: #7f0000;
}
